浏览代码

Merge remote-tracking branch 'origin/master'

hym 4 年之前
父节点
当前提交
fc4bb5decf

+ 64 - 9
operation_manager/src/main/java/com/huaxu/order/controller/WorkOrderManageController.java

@@ -148,7 +148,7 @@ public class WorkOrderManageController {
             @ApiParam(value = "1任务、2工单", required = true) @RequestParam Integer flowType,
             @ApiParam(value = "任务、工单id", required = true) @RequestParam Integer flowId,
             @ApiParam(value = "处理结果", required = true) @RequestParam String flowResult,
-            @ApiParam(value = "1通过、2同意(暂时不用)、3驳回、4漏点定位、5停水、6提交", required = true) @RequestParam Integer actionId) {
+            @ApiParam(value = "1通过、2同意(暂时不用)、3驳回、4漏点定位、5停水、6提交、7拒单", required = true) @RequestParam Integer actionId) {
         LoginUser currentUser = UserUtil.getCurrentUser();
 
         WorkFlowLog workFlowLog=new WorkFlowLog();
@@ -166,7 +166,7 @@ public class WorkOrderManageController {
             action=Action.ACTION_AUDIT;
         }else if(actionId==2){
             action=Action.ACTION_RECEIVE;
-        }else if(actionId==3){
+        }else if(actionId==3||actionId==7){
             action=Action.ACTION_REJECT;
         }
         Map<String,Object> args=new HashMap<>();
@@ -176,7 +176,6 @@ public class WorkOrderManageController {
             PlanManage plan= planManageService.selectByPrimaryKey(flowId);
             workFlowLog.setProcessInstanceId(plan.getProcessInstanceId());
             workFlowLog.setTaskId(plan.getCurrentTaskId());
-
             if(action!=null){
                 List<TaskPorcessResult> handleResult = workFlowService.handleTask(action,plan.getCurrentTaskId(), args, null);
                 plan.setCurrentTaskId(handleResult.size()>0?handleResult.get(0).getCurrentTaskId():null);
@@ -223,7 +222,6 @@ public class WorkOrderManageController {
                     return new AjaxMessage<>(ResultStatus.PARENT_ORDER_ING);
                 }
             }
-
             if(action!=null){
                 List<TaskPorcessResult> handleResult = workFlowService.handleTask(action,order.getCurrentTaskId(), args, null);
                 order.setCurrentTaskId(handleResult.size()>0?handleResult.get(0).getCurrentTaskId():null);
@@ -234,6 +232,10 @@ public class WorkOrderManageController {
                 if(handleResult.size()==0||handleResult==null) {
                     order.setOrderStatus(2);
                     order.setFinishDate(new Date());
+                }else if(actionId==7){
+                    order.setOrderStatus(4);
+                }else{
+                    order.setOrderStatus(1);
                 }
                 workOrderManageService.updateByPrimaryKey(order);
             }
@@ -372,9 +374,62 @@ public class WorkOrderManageController {
         return new AjaxMessage<>(ResultStatus.OK, pages);
     }
 
+    @GetMapping("/resubmit")
+    @ApiOperation(value = "重新派单")
+    public AjaxMessage reSubmitOrder(
+            @ApiParam(value = "工单ID", required = true) @RequestParam(required = false) Integer id,
+            @ApiParam(value = "工单类型编号", required = true) @RequestParam(required = false) Integer orderTypeId,
+            @ApiParam(value = "紧急程度", required = true) @RequestParam(required = true) String urgency,
+            @ApiParam(value = "时限", required = true) @RequestParam(required = true) String dateLimit,
+            @ApiParam(value = "接单人编号", required = true) @RequestParam(required = true) String orderUserId){
+        LoginUser loginUser = UserUtil.getCurrentUser();
+        WorkOrderManage workOrderManage = workOrderManageService.selectByPrimaryKey(id);
+        if(workOrderManage == null){
+            new AjaxMessage(ResultStatus.ERROR,"工单ID错误!");
+        }
+        if(StringUtils.isEmpty(workOrderManage.getCurrentTaskId())){
+            new AjaxMessage(ResultStatus.ERROR,"流程配置错误!");
+        }
+        Map<String,Object> args=new HashMap<>();
+        List<TaskPorcessResult> handleResult = workFlowService.handleTask(Action.ACTION_SUBMIT,workOrderManage.getCurrentTaskId(), args, null);
+        workOrderManage.setCurrentTaskId(handleResult.size()>0?handleResult.get(0).getCurrentTaskId():null);
+        workOrderManage.setCurrentUsers(handleResult.size()>0?handleResult.get(0).getCurrentTaskUsers():null);
+        workOrderManage.setCurrentTaskName(handleResult.size()>0?handleResult.get(0).getCurrentTaskName():null);
+        workOrderManage.setUpdateBy(loginUser.getId().toString());
+        workOrderManage.setDateUpdate(new Date());
+        workOrderManage.setOrderStatus(1);//已执行
+        workOrderManage.setOrderTypeId(orderTypeId);//工单类型ID
+        workOrderManage.setUrgency(urgency);//紧急程度
+        workOrderManage.setOrderUserId(orderUserId);//接单人ID
+        workOrderManage.setDateLimit(dateLimit);
+        if(loginUser.getId() != null) {
+            workOrderManage.setUpdateBy(String.valueOf(loginUser.getId()));
+            workOrderManage.setSendBy(String.valueOf(loginUser.getId()));//派单人
+        }
+        workOrderManage.setSendTime(new Date());// 派单时间
+        workOrderManage.setDateUpdate(new Date());// 更新时间
+        int rows = workOrderManageService.updateByPrimaryKey(workOrderManage);
+        if(rows > 0){
+            //记录日志
+            WorkFlowLog workFlowLog=new WorkFlowLog();
+            workFlowLog.setFlowId(id);
+            workFlowLog.setFlowType(2);
+            workFlowLog.setFlowResult("重新派单");
+            workFlowLog.setCreateBy(loginUser.getId().toString());
+            workFlowLog.setDateCreate(new Date());
+            workFlowLog.setHandleUserId(loginUser.getId()!=null?loginUser.getId().toString():null);
+            workFlowLog.setHandleUserName(loginUser.getUsername());
+            workFlowLog.setProcessInstanceId(workOrderManage.getProcessInstanceId());
+            workFlowLog.setTaskId(workOrderManage.getCurrentTaskId());
+            workFlowLogService.insert(workFlowLog);
+            return new AjaxMessage<>(ResultStatus.OK);
+        }
+        return new AjaxMessage<>(ResultStatus.ERROR);
+    }
+
     @GetMapping("/submit")
-    @ApiOperation(value = "工单派单")
-    public AjaxMessage submitPlan(
+    @ApiOperation(value = "派单")
+    public AjaxMessage submitOrder(
             @ApiParam(value = "工单ID", required = true) @RequestParam(required = false) Integer id,
             @ApiParam(value = "工单类型编号", required = true) @RequestParam(required = false) Integer orderTypeId,
             @ApiParam(value = "工单类型名称", required = true) @RequestParam(required = true) String orderType,
@@ -390,8 +445,8 @@ public class WorkOrderManageController {
         //流程查询, 测试参数:(test1 1 1)
         ProcessDefinition processDefinition = workFlowService.findProcessDefinition(
                 "test1",
-                8,
-                8);
+                1,
+                1);
         if(processDefinition == null){
             new AjaxMessage(ResultStatus.ERROR,"没有创建流程,不能派单!");
         }
@@ -409,7 +464,7 @@ public class WorkOrderManageController {
         for (String str : taskParticipator) {
             currentUsers += String.format("%s,",str);
         }
-        currentUsers+="235,209,";
+        //currentUsers+="235,209,";
         //更新计划表的流程相关字段值。
         workOrderManage.setOrderStatus(1);//已执行
         workOrderManage.setOrderTypeId(orderTypeId);//工单类型ID

+ 12 - 0
operation_manager/src/main/java/com/huaxu/order/entity/WorkOrderManage.java

@@ -120,4 +120,16 @@ public class WorkOrderManage implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
     @ApiModelProperty(value = "修改时间")
     private Date dateUpdate;
+
+    @ApiModelProperty(value = "设备ID")
+    private Integer deviceId;
+
+    @ApiModelProperty(value = "场景ID")
+    private Integer scenesId;
+
+    @ApiModelProperty(value = "设备名称")
+    private String deviceName;
+
+    @ApiModelProperty(value = "场景名称")
+    private String scenesName;
 }

+ 1 - 1
operation_manager/src/main/java/com/huaxu/process/utils/Action.java

@@ -4,7 +4,7 @@ public enum Action {
     ACTION_SUBMIT("submit", "提交"),
     ACTION_AUDIT("audit", "审批"), // 审批
     ACTION_REJECT("reject", "驳回"), // 驳回
-    ACTION_RECEIVE("receive", "接单"), // 驳回
+    ACTION_RECEIVE("receive", "接单"), // 接单
     ACTION_HANDLE("handle", "处理"),
     ACTION_TRANSFER("transfer", "指派");  // 处理
     public final String name;

+ 2 - 2
operation_manager/src/main/java/com/huaxu/task/controller/PlanManageController.java

@@ -209,7 +209,7 @@ public class PlanManageController {
         ProcessDefinition processDefinition = workFlowService.findProcessDefinition(
                 "test1",
                 1,
-                1);
+                2);
         if(processDefinition == null){
             new AjaxMessage(ResultStatus.ERROR,"没有创建流程,不能提交!");
         }
@@ -227,7 +227,7 @@ public class PlanManageController {
         for (String str : taskParticipator) {
             currentUsers += String.format("%s,",str);
         }
-        currentUsers+="235,209,";
+        //currentUsers+="235,209,";
         //更新计划表的流程相关字段值。
         planManage.setPlanStatus(1);//已执行
         if(loginUser.getId() != null) {

+ 14 - 12
operation_manager/src/main/resources/mapper/order/WorkOrderManageMapper.xml

@@ -37,6 +37,10 @@
     <result column="videos" property="videos" jdbcType="VARCHAR" />
     <result column="pictures" property="pictures" jdbcType="VARCHAR" />
     <result column="flow_detail" property="flowDetail" jdbcType="VARCHAR" />
+    <result column="device_id" property="deviceId" jdbcType="INTEGER" />
+    <result column="scenes_id" property="scenesId" jdbcType="INTEGER" />
+    <result column="device_name" property="deviceName" jdbcType="VARCHAR" />
+    <result column="scenes_name" property="scenesName" jdbcType="VARCHAR" />
   </resultMap>
 
   <resultMap id="workFlowLogResultMap" type="com.huaxu.order.entity.WorkFlowLog">
@@ -86,7 +90,8 @@
     date_limit, urgency, address, contact_user, contact_phone, order_time, company_org_id, 
     department_org_id, order_status, event_type, order_type_id, order_pid, tenant_id, 
     process_instance_id, process_def_id, current_task_id, current_users, current_task_name, 
-    create_by, date_create, update_by, date_update, geo,videos,pictures
+    create_by, date_create, update_by, date_update, geo,videos, pictures, device_id, scenes_id,
+    device_name, scenes_name
   </sql>
   <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
     select
@@ -472,16 +477,15 @@
       pictures = #{pictures,jdbcType=VARCHAR}
     where id = #{id,jdbcType=INTEGER}
   </update>
-
   <select id="selectAppTodo" resultMap="BaseResultMap">
-    select id,task_no,send_time,address,order_type_id,create_by,update_by,task_desc,order_status
+    select id,task_no,send_time,address,order_type_id,create_by,update_by,task_desc,order_status,current_task_name
     from sc_work_order_manage
     where find_in_set(#{userId},current_users) and tenant_id = #{tenantId}
     union
-    select id,plan_id,plan_date,task_area_name,task_type,create_by,update_by,task_content,plan_status
+    select id,plan_id,plan_date,task_area_name,task_type,create_by,update_by,task_content,plan_status,current_task_name
     from sc_plan_manage
     where find_in_set(#{userId},current_users) and tenant_id = #{tenantId}
-    order by send_time
+    order by send_time desc
   </select>
   <select id="selectAppAll" resultMap="BaseResultMap">
     select id,task_no,send_time,address,order_type_id,current_task_name,create_by,update_by,task_desc,order_status
@@ -495,7 +499,7 @@
     where (find_in_set(#{userId},current_users)
      or id in(select flow_id from sc_work_flow_log where flow_type=1 and find_in_set(#{userId},handle_user_id)))
      and tenant_id = #{tenantId}
-    order by send_time
+    order by send_time desc
   </select>
   <select id="selectOrderDetail" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
     select t1.*,t2.flow_detail
@@ -504,7 +508,6 @@
     where t1.id = #{id,jdbcType=INTEGER} or t1.order_pid = #{orderPid,jdbcType=INTEGER}
     order by t1.order_pid
   </select>
-
   <insert id="batchInsertByAlarms" >
     insert into sc_work_order_manage( task_no, task_desc, address, order_time, company_org_id, department_org_id, order_status, event_type, order_pid, tenant_id, current_task_name,  date_create, date_update, geo,scenes_id,scenes_name,device_id,device_name)
     values
@@ -512,7 +515,6 @@
       (#{item.taskNo} , #{item.taskDesc}, #{item.address}, #{item.orderTime}, #{item.companyOrgId}, #{item.departmentOrgId}, 0, 3, 0, #{item.tenantId}, '设备报警工单',  now(),  now(), #{item.geo}, #{item.parentSceneId}, #{item.parentSceneName}, #{item.deviceId}, #{item.deviceName})
     </foreach>
   </insert>
-
   <delete id="batchDeleteByAlarms" >
     delete from sc_work_order_manage
     where  order_status = 0 and  device_id in
@@ -520,7 +522,6 @@
       #{item}
     </foreach>
   </delete>
-
   <select id="findWorkOrderByDeviceIds" resultType="com.huaxu.order.dto.WorkOrderManageByAlarmDto">
     select
     id
@@ -546,6 +547,7 @@
     t1.order_type_id, t1.order_pid, t1.tenant_id,
     t1.process_instance_id, t1.process_def_id, t1.current_task_id, t1.current_users, t1.current_task_name,
     t1.create_by, t1.date_create, t1.update_by, t1.date_update, t1.geo,t1.videos,t1.pictures,
+    t1.device_id, t1.scenes_id, t1.device_name, t1.scenes_name,
     t2.flow_detail,t2.create_by detail_create_by,t2.date_create detail_date_create,t2.update_by detail_update_by,t2.date_update detail_date_update
     from sc_work_order_manage t1 left  join sc_work_flow_detail t2
     on t1.id = t2.flow_id and t2.flow_type=2
@@ -558,7 +560,7 @@
       </if>
       <if test="order.userType!=null and order.userType!=-999 and order.userType!=-9999 and  order.programItems != null and order.programItems.size() > 0">
         <if test="order.permissonType == 5 or order.permissonType == 2">
-          and ( t1.DEPT_ORG_ID in
+          and ( t1.department_org_id in
           <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
             #{item.orgId}
           </foreach>
@@ -570,7 +572,7 @@
           )
         </if>
         <if test="order.permissonType == 4 or order.permissonType == 3">
-          and t1.DEPT_ORG_ID in
+          and t1.department_org_id in
           <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
             #{item.orgId}
           </foreach>
@@ -580,7 +582,7 @@
           <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
             #{item.orgId}
           </foreach>
-          and (t1.DEPT_ORG_ID is null or t1.DEPT_ORG_ID =0)
+          and (t1.department_org_id is null or t1.department_org_id =0)
         </if>
       </if>
       <if test="order.orderStatus != null">

+ 3 - 3
operation_manager/src/main/resources/mapper/task/PlanManageMapper.xml

@@ -403,7 +403,7 @@
       </if>
       <if test="plan.userType!=null and plan.userType!=-999 and plan.userType!=-9999 and  plan.programItems != null and plan.programItems.size() > 0">
         <if test="plan.permissonType == 5 or plan.permissonType == 2">
-          and ( t1.DEPT_ORG_ID in
+          and ( t1.department_org_id in
           <foreach collection="plan.programItems" item="item" open="(" close=")" separator=",">
             #{item.orgId}
           </foreach>
@@ -415,7 +415,7 @@
           )
         </if>
         <if test="plan.permissonType == 4 or plan.permissonType == 3">
-          and t1.DEPT_ORG_ID in
+          and t1.department_org_id in
           <foreach collection="plan.programItems" item="item" open="(" close=")" separator=",">
             #{item.orgId}
           </foreach>
@@ -425,7 +425,7 @@
           <foreach collection="plan.programItems" item="item" open="(" close=")" separator=",">
             #{item.orgId}
           </foreach>
-          and (t1.DEPT_ORG_ID is null or t1.DEPT_ORG_ID =0)
+          and (t1.department_org_id is null or t1.department_org_id =0)
         </if>
       </if>
       <if test="plan.planStatus != null">