Browse Source

Merge remote-tracking branch 'origin/master'

wangyangyang 4 years ago
parent
commit
78e8bc952c

+ 119 - 1
operation_manager/src/main/java/com/huaxu/order/controller/WorkOrderManageController.java

@@ -1,18 +1,23 @@
 package com.huaxu.order.controller;
 package com.huaxu.order.controller;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huaxu.client.UserCenterClient;
 import com.huaxu.client.UserCenterClient;
 import com.huaxu.common.FileUploadUtil;
 import com.huaxu.common.FileUploadUtil;
 import com.huaxu.model.AjaxMessage;
 import com.huaxu.model.AjaxMessage;
 import com.huaxu.model.LoginUser;
 import com.huaxu.model.LoginUser;
+import com.huaxu.model.Pagination;
 import com.huaxu.model.ResultStatus;
 import com.huaxu.model.ResultStatus;
 import com.huaxu.order.dto.WorkOrderManageDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
 import com.huaxu.order.entity.WorkFlowDetail;
 import com.huaxu.order.entity.WorkFlowDetail;
 import com.huaxu.order.entity.WorkFlowLog;
 import com.huaxu.order.entity.WorkFlowLog;
+import com.huaxu.order.entity.WorkOrderInfo;
 import com.huaxu.order.entity.WorkOrderManage;
 import com.huaxu.order.entity.WorkOrderManage;
 import com.huaxu.order.service.WorkFlowDetailService;
 import com.huaxu.order.service.WorkFlowDetailService;
 import com.huaxu.order.service.WorkFlowLogService;
 import com.huaxu.order.service.WorkFlowLogService;
 import com.huaxu.order.service.WorkOrderManageService;
 import com.huaxu.order.service.WorkOrderManageService;
 import com.huaxu.process.dto.TaskPorcessResult;
 import com.huaxu.process.dto.TaskPorcessResult;
+import com.huaxu.process.entity.ProcessDefinition;
 import com.huaxu.process.service.WorkFlowService;
 import com.huaxu.process.service.WorkFlowService;
 import com.huaxu.process.utils.Action;
 import com.huaxu.process.utils.Action;
 import com.huaxu.task.entity.PlanManage;
 import com.huaxu.task.entity.PlanManage;
@@ -22,9 +27,10 @@ import com.huaxu.util.UserUtil;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import io.swagger.annotations.ApiParam;
-import org.apache.commons.lang3.StringUtils;
+import org.activiti.engine.task.Task;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
 
 
@@ -287,4 +293,116 @@ public class WorkOrderManageController {
         }
         }
         return new AjaxMessage<>(ResultStatus.OK, avatar);
         return new AjaxMessage<>(ResultStatus.OK, avatar);
     }
     }
+
+    @GetMapping("/event/select")
+    @ApiOperation(value = "查询事件隐患/所有工单")
+    public AjaxMessage<Pagination<WorkOrderInfo>> selectEvent(
+            @ApiParam(value = "页数", required = true)@RequestParam Integer pageNum,
+            @ApiParam(value = "条数", required = true)@RequestParam Integer pageSize,
+            @ApiParam(value = "状态(0:事件隐患;null:所有工单;1:执行中;2:完成)", required = false) @RequestParam(required = false) Integer orderStatus,
+            @ApiParam(value = "事件类型(1:运维上报,2:用户上报,3:设备告警)", required = false) @RequestParam(required = false) Integer eventType,
+            @ApiParam(value = "事件隐患ID", required = false) @RequestParam(required = false) String taskNo,
+            @ApiParam(value = "计划起始日期(yyyy-MM-dd)", required = false) @RequestParam(required = false) String startDate,
+            @ApiParam(value = "计划截至日期(yyyy-MM-dd)", required = false) @RequestParam(required = false) String endDate){
+        WorkOrderManageDto workOrderManageDto = new WorkOrderManageDto();
+        //根据用户编号,获取用户的权限
+        LoginUser loginUser = UserUtil.getCurrentUser();
+        workOrderManageDto.setTaskNo(taskNo);
+        if(!org.springframework.util.StringUtils.isEmpty(startDate)&& !StringUtils.isEmpty(endDate)) {
+            workOrderManageDto.setStartDate(startDate);
+            workOrderManageDto.setEndDate(endDate);
+        }
+        workOrderManageDto.setOrderStatus(orderStatus);
+        workOrderManageDto.setEventType(eventType);
+        workOrderManageDto.setTenantId(loginUser.getTenantId());
+        workOrderManageDto.setProgramItems(loginUser.getProgramItemList());
+        workOrderManageDto.setUserType(loginUser.getType());
+        //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
+        workOrderManageDto.setPermissonType(loginUser.getPermissonType());
+        IPage<WorkOrderInfo> iPage = new Page<>(pageNum, pageSize);
+        iPage = workOrderManageService.selectPage(iPage, workOrderManageDto);
+        Pagination<WorkOrderInfo> pages = new Pagination<>(iPage);
+        //setUserName(pages);
+        return new AjaxMessage<>(ResultStatus.OK, pages);
+    }
+
+    @GetMapping("/pending")
+    @ApiOperation(value = "查询待处理工单")
+    public AjaxMessage<Pagination<WorkOrderInfo>> selectPendingOrder(
+            @ApiParam(value = "页数", required = true)@RequestParam Integer pageNum,
+            @ApiParam(value = "条数", required = true)@RequestParam Integer pageSize,
+            @ApiParam(value = "工单类型(1表务、2停通水、3抢修、4漏点定位、5测漏、6违章跑水)", required = false) @RequestParam(required = false) Integer orderTypeId,
+            @ApiParam(value = "工单ID", required = false) @RequestParam(required = false) String taskNo,
+            @ApiParam(value = "计划起始日期(yyyy-MM-dd)", required = false) @RequestParam(required = false) String startDate,
+            @ApiParam(value = "计划截至日期(yyyy-MM-dd)", required = false) @RequestParam(required = false) String endDate){
+        WorkOrderManageDto workOrderManageDto = new WorkOrderManageDto();
+        //根据用户编号,获取用户的权限
+        LoginUser loginUser = UserUtil.getCurrentUser();
+        if(!StringUtils.isEmpty(startDate)&& !StringUtils.isEmpty(endDate)) {
+            workOrderManageDto.setStartDate(startDate);
+            workOrderManageDto.setEndDate(endDate);
+        }
+        workOrderManageDto.setOrderTypeId(orderTypeId);
+        if(loginUser.getId() != null) {
+            workOrderManageDto.setCurrentUsers(String.format("%s,", loginUser.getId()));
+        }
+        IPage<WorkOrderInfo> iPage = new Page<>(pageNum, pageSize);
+        iPage = workOrderManageService.selectPage(iPage, workOrderManageDto);
+        Pagination<WorkOrderInfo> pages = new Pagination<>(iPage);
+        //setUserName(pages);
+        return new AjaxMessage<>(ResultStatus.OK, pages);
+    }
+
+    @GetMapping("/submit")
+    @ApiOperation(value = "工单派单")
+    public AjaxMessage submitPlan(
+            @ApiParam(value = "工单ID", required = true) @RequestParam(required = false) Integer id,
+            @ApiParam(value = "工单类型", required = true) @RequestParam(required = true) String orderType){
+        LoginUser loginUser = UserUtil.getCurrentUser();
+        WorkOrderManage workOrderManage = workOrderManageService.selectByPrimaryKey(id);
+//        ProcessDefinition processDefinition = workFlowService.findProcessDefinition(
+//                loginUser.getTenantId(),
+//                loginUser.getCompanyId(),
+//                planManage.getTaskType());
+        //流程查询, 测试参数:(test1 1 1)
+        ProcessDefinition processDefinition = workFlowService.findProcessDefinition(
+                "test1",
+                1,
+                1);
+        if(processDefinition == null){
+            new AjaxMessage(ResultStatus.ERROR,"没有创建流程,不能提交!");
+        }
+        Map<String,Object> vars = new HashMap<>();
+        vars.put("assineeFormUserId",loginUser.getId());
+        //巡检发送系统消息所需参数
+        vars.put("任务类型",orderType);
+        vars.put("任务编号",workOrderManage.getId());
+        vars.put("templateId",7);
+        vars.put("msgType",7);
+        String startProcess = workFlowService.startProcess(processDefinition,vars);
+        Task task = workFlowService.getProcessRuntimeTask(startProcess).get(0);
+        Set<String> taskParticipator = workFlowService.getTaskParticipator(task.getId(),false,null);
+        String currentUsers = "";
+        for (String str : taskParticipator) {
+            currentUsers += String.format("%s,",str);
+        }
+        //更新计划表的流程相关字段值。
+        workOrderManage.setOrderStatus(1);//已执行
+        if(loginUser.getId() != null) {
+            workOrderManage.setUpdateBy(String.valueOf(loginUser.getId()));
+            workOrderManage.setSendBy(String.valueOf(loginUser.getId()));//派单人
+        }
+        workOrderManage.setSendTime(new Date());// 派单时间
+        workOrderManage.setDateUpdate(new Date());// 更新时间
+        workOrderManage.setProcessInstanceId(task.getProcessInstanceId());
+        workOrderManage.setProcessDefId(task.getProcessDefinitionId());
+        workOrderManage.setCurrentTaskId(task.getId());
+        workOrderManage.setCurrentUsers(currentUsers);
+        workOrderManage.setCurrentTaskName(task.getName());
+        int rows = workOrderManageService.updateByPrimaryKeySelective(workOrderManage);
+        if(rows > 0) {
+            return new AjaxMessage<>(ResultStatus.OK);
+        }
+        return new AjaxMessage<>(ResultStatus.ERROR);
+    }
 }
 }

+ 6 - 0
operation_manager/src/main/java/com/huaxu/order/dao/WorkOrderManageMapper.java

@@ -1,8 +1,12 @@
 package com.huaxu.order.dao;
 package com.huaxu.order.dao;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huaxu.order.dto.WorkOrderManageByAlarmDto;
 import com.huaxu.order.dto.WorkOrderManageByAlarmDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
+import com.huaxu.order.entity.WorkOrderInfo;
 import com.huaxu.order.entity.WorkOrderManage;
 import com.huaxu.order.entity.WorkOrderManage;
+import com.huaxu.task.dto.PlanManageDto;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
@@ -29,4 +33,6 @@ public interface WorkOrderManageMapper {
     List<WorkOrderManageDto> selectOrderDetail(Integer id);
     List<WorkOrderManageDto> selectOrderDetail(Integer id);
 
 
     int batchInsertByAlarms(@Param("workOrderManages")List<WorkOrderManageByAlarmDto> workOrderManages);
     int batchInsertByAlarms(@Param("workOrderManages")List<WorkOrderManageByAlarmDto> workOrderManages);
+
+    Page<WorkOrderInfo> findPage(IPage<WorkOrderInfo> page, @Param("order") WorkOrderManageDto workOrderManageDto);
 }
 }

+ 45 - 0
operation_manager/src/main/java/com/huaxu/order/dto/WorkOrderManageDto.java

@@ -2,6 +2,8 @@ package com.huaxu.order.dto;
 
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.huaxu.model.ProgramItem;
+import com.huaxu.order.entity.WorkFlowDetail;
 import com.huaxu.order.entity.WorkOrderManage;
 import com.huaxu.order.entity.WorkOrderManage;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
@@ -9,6 +11,7 @@ import lombok.Data;
 
 
 import java.io.Serializable;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.Date;
+import java.util.List;
 
 
 @ApiModel(value = "工单管理表")
 @ApiModel(value = "工单管理表")
 @Data
 @Data
@@ -19,4 +22,46 @@ public class WorkOrderManageDto extends WorkOrderManage {
 
 
     @ApiModelProperty(value = "任务工单类型")
     @ApiModelProperty(value = "任务工单类型")
     private String typeName;
     private String typeName;
+
+    /**
+     * 所属公司名称
+     */
+    @ApiModelProperty(value = "所属公司名称")
+    private String companyOrgName;
+    /**
+     * 所属部门名称
+     */
+    @ApiModelProperty(value = "所属部门名称")
+    private String deptOrgName;
+    /**
+     * 权限
+     */
+    @ApiModelProperty(value ="权限",hidden = true)
+    @JsonIgnore
+    private List<ProgramItem> programItems;
+    /**
+     * 属性名称
+     */
+    @ApiModelProperty(value="用户权限类型",hidden = true)
+    @JsonIgnore
+    private Integer permissonType;
+
+    /**
+     * 用户类型
+     */
+    @ApiModelProperty(value = "用户类型(-9999 超管 -999普通用户 2普通用户)",hidden = true)
+    @JsonIgnore
+    private String userType;
+
+    /**
+     * 查询起始日期
+     */
+    @ApiModelProperty(value="起始日期")
+    private String startDate;
+
+    /**
+     * 查询截至日期
+     */
+    @ApiModelProperty(value="截至日期")
+    private String endDate;
 }
 }

+ 19 - 0
operation_manager/src/main/java/com/huaxu/order/entity/WorkOrderInfo.java

@@ -0,0 +1,19 @@
+package com.huaxu.order.entity;
+
+import com.huaxu.order.dto.WorkOrderManageDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.List;
+@ApiModel(value = "工单详情信息")
+@Data
+public class WorkOrderInfo extends WorkOrderManageDto implements Serializable {
+
+    @ApiModelProperty(value = "工作流详情")
+    WorkFlowDetail workFlowDetail;
+
+    @ApiModelProperty(value = "工作流日志集合")
+    List<WorkFlowDetail> workFlowLogList;
+}

+ 12 - 0
operation_manager/src/main/java/com/huaxu/order/service/WorkOrderManageService.java

@@ -1,10 +1,14 @@
 package com.huaxu.order.service;
 package com.huaxu.order.service;
 
 
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huaxu.order.dto.WorkOrderManageByAlarmDto;
 import com.huaxu.order.dto.WorkOrderManageByAlarmDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
+import com.huaxu.order.entity.WorkOrderInfo;
 import com.huaxu.order.entity.WorkOrderManage;
 import com.huaxu.order.entity.WorkOrderManage;
 import com.huaxu.task.entity.PlanManage;
 import com.huaxu.task.entity.PlanManage;
+import org.apache.ibatis.annotations.Param;
 
 
 import java.util.List;
 import java.util.List;
 
 
@@ -42,4 +46,12 @@ public interface WorkOrderManageService {
      * 批量插入工单信息(报警生成的)
      * 批量插入工单信息(报警生成的)
      */
      */
     Integer batchInsertByAlarms(List<WorkOrderManageByAlarmDto> workOrderManages);
     Integer batchInsertByAlarms(List<WorkOrderManageByAlarmDto> workOrderManages);
+
+
+    int updateByPrimaryKeySelective(WorkOrderManage record);
+
+    /**
+     * 分页查询
+     */
+    Page<WorkOrderInfo> selectPage(IPage<WorkOrderInfo> page, @Param("order") WorkOrderManageDto workOrderManageDto);
 }
 }

+ 13 - 0
operation_manager/src/main/java/com/huaxu/order/service/impl/WorkOrderManageServiceImpl.java

@@ -1,9 +1,12 @@
 package com.huaxu.order.service.impl;
 package com.huaxu.order.service.impl;
 
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huaxu.model.LoginUser;
 import com.huaxu.model.LoginUser;
 import com.huaxu.order.dao.WorkOrderManageMapper;
 import com.huaxu.order.dao.WorkOrderManageMapper;
 import com.huaxu.order.dto.WorkOrderManageByAlarmDto;
 import com.huaxu.order.dto.WorkOrderManageByAlarmDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
+import com.huaxu.order.entity.WorkOrderInfo;
 import com.huaxu.order.entity.WorkOrderManage;
 import com.huaxu.order.entity.WorkOrderManage;
 import com.huaxu.order.service.WorkOrderManageService;
 import com.huaxu.order.service.WorkOrderManageService;
 import com.huaxu.task.entity.PlanManage;
 import com.huaxu.task.entity.PlanManage;
@@ -82,4 +85,14 @@ public class WorkOrderManageServiceImpl implements WorkOrderManageService {
     public Integer batchInsertByAlarms(List<WorkOrderManageByAlarmDto> workOrderManages) {
     public Integer batchInsertByAlarms(List<WorkOrderManageByAlarmDto> workOrderManages) {
         return workOrderManageMapper.batchInsertByAlarms(workOrderManages);
         return workOrderManageMapper.batchInsertByAlarms(workOrderManages);
     }
     }
+
+    @Override
+    public Page<WorkOrderInfo> selectPage(IPage<WorkOrderInfo> page, WorkOrderManageDto workOrderManageDto) {
+        return workOrderManageMapper.findPage(page,workOrderManageDto);
+    }
+
+    @Override
+    public int updateByPrimaryKeySelective(WorkOrderManage record) {
+        return workOrderManageMapper.updateByPrimaryKeySelective(record);
+    }
 }
 }

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

@@ -13,6 +13,7 @@ import com.huaxu.process.entity.ProcessDefinition;
 import com.huaxu.process.service.WorkFlowService;
 import com.huaxu.process.service.WorkFlowService;
 import com.huaxu.task.dto.PlanManageDto;
 import com.huaxu.task.dto.PlanManageDto;
 import com.huaxu.task.entity.PlanManage;
 import com.huaxu.task.entity.PlanManage;
+import com.huaxu.task.entity.TaskManage;
 import com.huaxu.task.entity.UserEntity;
 import com.huaxu.task.entity.UserEntity;
 import com.huaxu.task.service.PlanManageService;
 import com.huaxu.task.service.PlanManageService;
 import com.huaxu.util.DatesUtil;
 import com.huaxu.util.DatesUtil;
@@ -98,7 +99,7 @@ public class PlanManageController {
 
 
     @GetMapping("/plan/select")
     @GetMapping("/plan/select")
     @ApiOperation(value = "查询巡检计划")
     @ApiOperation(value = "查询巡检计划")
-    public AjaxMessage<Pagination<PlanManageDto>> selectPlan(
+    public AjaxMessage<Pagination<TaskManage>> selectPlan(
             @ApiParam(value = "页数", required = true)@RequestParam Integer pageNum,
             @ApiParam(value = "页数", required = true)@RequestParam Integer pageNum,
             @ApiParam(value = "条数", required = true)@RequestParam Integer pageSize,
             @ApiParam(value = "条数", required = true)@RequestParam Integer pageSize,
             @ApiParam(value = "任务类型(巡检:7,侧漏:8,养护:9)", required = false) @RequestParam(required = false) Integer taskType,
             @ApiParam(value = "任务类型(巡检:7,侧漏:8,养护:9)", required = false) @RequestParam(required = false) Integer taskType,
@@ -121,16 +122,16 @@ public class PlanManageController {
         planManageDto.setUserType(loginUser.getType());
         planManageDto.setUserType(loginUser.getType());
         //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
         //1是公司,2是公司及以下,3部门,4部门及以下,5自定义
         planManageDto.setPermissonType(loginUser.getPermissonType());
         planManageDto.setPermissonType(loginUser.getPermissonType());
-        IPage<PlanManageDto> iPage = new Page<>(pageNum, pageSize);
+        IPage<TaskManage> iPage = new Page<>(pageNum, pageSize);
         iPage = planManageService.selectPage(iPage, planManageDto);
         iPage = planManageService.selectPage(iPage, planManageDto);
-        Pagination<PlanManageDto> pages = new Pagination<>(iPage);
+        Pagination<TaskManage> pages = new Pagination<>(iPage);
         //setUserName(pages);
         //setUserName(pages);
         return new AjaxMessage<>(ResultStatus.OK, pages);
         return new AjaxMessage<>(ResultStatus.OK, pages);
     }
     }
 
 
     @GetMapping("/plan/pending")
     @GetMapping("/plan/pending")
     @ApiOperation(value = "查询待处理任务")
     @ApiOperation(value = "查询待处理任务")
-    public AjaxMessage<Pagination<PlanManageDto>> selectPendingTask(
+    public AjaxMessage<Pagination<TaskManage>> selectPendingTask(
             @ApiParam(value = "页数", required = true)@RequestParam Integer pageNum,
             @ApiParam(value = "页数", required = true)@RequestParam Integer pageNum,
             @ApiParam(value = "条数", required = true)@RequestParam Integer pageSize,
             @ApiParam(value = "条数", required = true)@RequestParam Integer pageSize,
             @ApiParam(value = "任务类型(巡检:7,侧漏:8,养护:9)", required = false) @RequestParam(required = false) Integer taskType,
             @ApiParam(value = "任务类型(巡检:7,侧漏:8,养护:9)", required = false) @RequestParam(required = false) Integer taskType,
@@ -149,9 +150,9 @@ public class PlanManageController {
         if(loginUser.getId() != null) {
         if(loginUser.getId() != null) {
             planManageDto.setCurrentUsers(String.format("%s,", loginUser.getId()));
             planManageDto.setCurrentUsers(String.format("%s,", loginUser.getId()));
         }
         }
-        IPage<PlanManageDto> iPage = new Page<>(pageNum, pageSize);
+        IPage<TaskManage> iPage = new Page<>(pageNum, pageSize);
         iPage = planManageService.selectPage(iPage, planManageDto);
         iPage = planManageService.selectPage(iPage, planManageDto);
-        Pagination<PlanManageDto> pages = new Pagination<>(iPage);
+        Pagination<TaskManage> pages = new Pagination<>(iPage);
         //setUserName(pages);
         //setUserName(pages);
         return new AjaxMessage<>(ResultStatus.OK, pages);
         return new AjaxMessage<>(ResultStatus.OK, pages);
     }
     }
@@ -185,10 +186,13 @@ public class PlanManageController {
             @ApiParam(value = "任务id", required = true) @RequestParam Integer flowId) {
             @ApiParam(value = "任务id", required = true) @RequestParam Integer flowId) {
         return new AjaxMessage<>(ResultStatus.OK,  planManageService.selectPlanDetail(flowId));
         return new AjaxMessage<>(ResultStatus.OK,  planManageService.selectPlanDetail(flowId));
     }
     }
+
+
     @GetMapping("/plan/submit")
     @GetMapping("/plan/submit")
     @ApiOperation(value = "提交巡检计划")
     @ApiOperation(value = "提交巡检计划")
     public AjaxMessage submitPlan(
     public AjaxMessage submitPlan(
-            @ApiParam(value = "计划ID", required = true) @RequestParam(required = false) Integer id){
+            @ApiParam(value = "任务ID", required = true) @RequestParam(required = false) Integer id,
+            @ApiParam(value = "任务类型", required = true) @RequestParam(required = true) String taskType){
         LoginUser loginUser = UserUtil.getCurrentUser();
         LoginUser loginUser = UserUtil.getCurrentUser();
         PlanManage planManage = planManageService.selectByPrimaryKey(id);
         PlanManage planManage = planManageService.selectByPrimaryKey(id);
 //        ProcessDefinition processDefinition = workFlowService.findProcessDefinition(
 //        ProcessDefinition processDefinition = workFlowService.findProcessDefinition(
@@ -206,8 +210,8 @@ public class PlanManageController {
         Map<String,Object> vars = new HashMap<>();
         Map<String,Object> vars = new HashMap<>();
         vars.put("assineeFormUserId",loginUser.getId());
         vars.put("assineeFormUserId",loginUser.getId());
         //巡检发送系统消息所需参数
         //巡检发送系统消息所需参数
-        vars.put("任务类型",planManage.getTaskType());
-        vars.put("任务编号",planManage.getId() );
+        vars.put("任务类型",taskType);
+        vars.put("任务编号",planManage.getId());
         vars.put("templateId",4);
         vars.put("templateId",4);
         vars.put("msgType",4);
         vars.put("msgType",4);
         String startProcess = workFlowService.startProcess(processDefinition,vars);
         String startProcess = workFlowService.startProcess(processDefinition,vars);
@@ -219,7 +223,7 @@ public class PlanManageController {
         }
         }
         //更新计划表的流程相关字段值。
         //更新计划表的流程相关字段值。
         planManage.setPlanStatus(1);//已执行
         planManage.setPlanStatus(1);//已执行
-        if(planManage.getId() != null) {
+        if(loginUser.getId() != null) {
             planManage.setUpdateBy(String.valueOf(loginUser.getId()));
             planManage.setUpdateBy(String.valueOf(loginUser.getId()));
         }
         }
         planManage.setPlanDate(new Date());// 提交时间
         planManage.setPlanDate(new Date());// 提交时间
@@ -278,7 +282,7 @@ public class PlanManageController {
         if(delFlow ==true) {
         if(delFlow ==true) {
             PlanManage planManage = new PlanManage();
             PlanManage planManage = new PlanManage();
             planManage.setId(id);
             planManage.setId(id);
-            planManage.setPlanStatus(2);//结束状态
+            planManage.setPlanStatus(3);//任务终止状态
             planManage.setCurrentUsers("");
             planManage.setCurrentUsers("");
             planManageService.updateByPrimaryKeySelective(planManage);
             planManageService.updateByPrimaryKeySelective(planManage);
             LoginUser currentUser = UserUtil.getCurrentUser();
             LoginUser currentUser = UserUtil.getCurrentUser();

+ 2 - 1
operation_manager/src/main/java/com/huaxu/task/dao/PlanManageMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huaxu.task.dto.PlanManageDto;
 import com.huaxu.task.dto.PlanManageDto;
 import com.huaxu.task.entity.PlanManage;
 import com.huaxu.task.entity.PlanManage;
+import com.huaxu.task.entity.TaskManage;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
@@ -27,7 +28,7 @@ public interface PlanManageMapper {
 
 
     Integer batchDelete(@Param("ids") List<Integer> ids);
     Integer batchDelete(@Param("ids") List<Integer> ids);
 
 
-    Page<PlanManageDto> findPage(IPage<PlanManageDto> page, @Param("plan") PlanManageDto planManageDto);
+    Page<TaskManage> findPage(IPage<TaskManage> page, @Param("plan") PlanManageDto planManageDto);
 
 
     PlanManageDto selectPlanDetail(Integer id);
     PlanManageDto selectPlanDetail(Integer id);
 
 

+ 6 - 5
operation_manager/src/main/java/com/huaxu/task/dto/PlanManageDto.java

@@ -1,6 +1,5 @@
 package com.huaxu.task.dto;
 package com.huaxu.task.dto;
 
 
-import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.huaxu.model.ProgramItem;
 import com.huaxu.model.ProgramItem;
 import com.huaxu.task.entity.PlanManage;
 import com.huaxu.task.entity.PlanManage;
@@ -8,12 +7,17 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.Data;
 
 
-import java.util.Date;
 import java.util.List;
 import java.util.List;
 
 
 @Data
 @Data
 @ApiModel("计划管理")
 @ApiModel("计划管理")
 public class PlanManageDto extends PlanManage {
 public class PlanManageDto extends PlanManage {
+
+    @ApiModelProperty(value = "json格式存储对应任务详情")
+    private String flowDetail;
+
+    @ApiModelProperty(value = "任务工单类型")
+    private String typeName;
     /**
     /**
      * 所属公司名称
      * 所属公司名称
      */
      */
@@ -59,7 +63,4 @@ public class PlanManageDto extends PlanManage {
     @ApiModelProperty(value = "用户类型(-9999 超管 -999普通用户 2普通用户)",hidden = true)
     @ApiModelProperty(value = "用户类型(-9999 超管 -999普通用户 2普通用户)",hidden = true)
     @JsonIgnore
     @JsonIgnore
     private String userType;
     private String userType;
-
-    @ApiModelProperty(value = "json格式存储对应任务详情")
-    private String flowDetail;
 }
 }

+ 2 - 1
operation_manager/src/main/java/com/huaxu/task/service/PlanManageService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.huaxu.order.dto.WorkOrderManageDto;
 import com.huaxu.order.dto.WorkOrderManageDto;
 import com.huaxu.task.dto.PlanManageDto;
 import com.huaxu.task.dto.PlanManageDto;
 import com.huaxu.task.entity.PlanManage;
 import com.huaxu.task.entity.PlanManage;
+import com.huaxu.task.entity.TaskManage;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Param;
 
 
 import java.util.List;
 import java.util.List;
@@ -23,7 +24,7 @@ public interface PlanManageService {
     /**
     /**
      *分页查询巡检计划单
      *分页查询巡检计划单
      */
      */
-    IPage<PlanManageDto> selectPage(IPage<PlanManageDto> page, PlanManageDto planManageDto);
+    IPage<TaskManage> selectPage(IPage<TaskManage> page, PlanManageDto planManageDto);
 
 
 
 
     /**
     /**

+ 2 - 1
operation_manager/src/main/java/com/huaxu/task/service/impl/PlanManageServiceImpl.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.huaxu.task.dao.PlanManageMapper;
 import com.huaxu.task.dao.PlanManageMapper;
 import com.huaxu.task.dto.PlanManageDto;
 import com.huaxu.task.dto.PlanManageDto;
 import com.huaxu.task.entity.PlanManage;
 import com.huaxu.task.entity.PlanManage;
+import com.huaxu.task.entity.TaskManage;
 import com.huaxu.task.service.PlanManageService;
 import com.huaxu.task.service.PlanManageService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
@@ -28,7 +29,7 @@ public class PlanManageServiceImpl implements PlanManageService {
     }
     }
 
 
     @Override
     @Override
-    public IPage<PlanManageDto> selectPage(IPage<PlanManageDto> page, PlanManageDto planManageDto){
+    public IPage<TaskManage> selectPage(IPage<TaskManage> page, PlanManageDto planManageDto){
         return planManageMapper.findPage(page,planManageDto);
         return planManageMapper.findPage(page,planManageDto);
     }
     }
 
 

+ 121 - 1
operation_manager/src/main/resources/mapper/order/WorkOrderManageMapper.xml

@@ -37,6 +37,50 @@
     <result column="pictures" property="pictures" jdbcType="VARCHAR" />
     <result column="pictures" property="pictures" jdbcType="VARCHAR" />
     <result column="flow_detail" property="flowDetail" jdbcType="VARCHAR" />
     <result column="flow_detail" property="flowDetail" jdbcType="VARCHAR" />
   </resultMap>
   </resultMap>
+
+  <resultMap id="workFlowLogResultMap" type="com.huaxu.order.entity.WorkFlowLog">
+    <id column="id" property="id" jdbcType="INTEGER" />
+    <result column="flow_id" property="flowId" jdbcType="INTEGER" />
+    <result column="log_process_instance_id" property="processInstanceId" jdbcType="VARCHAR" />
+    <result column="task_id" property="taskId" jdbcType="VARCHAR" />
+    <result column="handle_user_id" property="handleUserId" jdbcType="VARCHAR" />
+    <result column="handle_user_name" property="handleUserName" jdbcType="VARCHAR" />
+    <result column="flow_type" property="flowType" jdbcType="INTEGER" />
+    <result column="flow_result" property="flowResult" jdbcType="VARCHAR" />
+    <result column="log_create_by" property="createBy" jdbcType="VARCHAR" />
+    <result column="log_date_create" property="dateCreate" jdbcType="TIMESTAMP" />
+    <result column="log_update_by" property="updateBy" jdbcType="VARCHAR" />
+    <result column="log_date_update" property="dateUpdate" jdbcType="TIMESTAMP" />
+  </resultMap>
+
+  <resultMap id="OrderResultMap" type="com.huaxu.order.entity.WorkOrderInfo" extends="BaseResultMap">
+    <association property="workFlowDetail" javaType="com.huaxu.order.entity.WorkFlowDetail">
+      <id column="id" property="id" jdbcType="INTEGER" />
+      <result column="flow_id" property="flowId" jdbcType="INTEGER" />
+      <result column="flow_type" property="flowType" jdbcType="INTEGER" />
+      <result column="flow_detail" property="flowDetail" jdbcType="VARCHAR" />
+      <result column="detail_create_by" property="createBy" jdbcType="VARCHAR" />
+      <result column="detail_date_create" property="dateCreate" jdbcType="TIMESTAMP" />
+      <result column="detail_update_by" property="updateBy" jdbcType="VARCHAR" />
+      <result column="detail_date_update" property="dateUpdate" jdbcType="TIMESTAMP" />
+    </association>
+    <collection property="workFlowLogList" ofType="com.huaxu.order.entity.WorkFlowLog" javaType="java.util.List" select="getWorkFlowLog" column="{flowId=id}">
+      <id column="id" property="id" jdbcType="INTEGER" />
+      <result column="flow_id" property="flowId" jdbcType="INTEGER" />
+      <result column="log_process_instance_id" property="processInstanceId" jdbcType="VARCHAR" />
+      <result column="task_id" property="taskId" jdbcType="VARCHAR" />
+      <result column="handle_user_id" property="handleUserId" jdbcType="VARCHAR" />
+      <result column="handle_user_name" property="handleUserName" jdbcType="VARCHAR" />
+      <result column="flow_type" property="flowType" jdbcType="INTEGER" />
+      <result column="flow_result" property="flowResult" jdbcType="VARCHAR" />
+      <result column="log_create_by" property="createBy" jdbcType="VARCHAR" />
+      <result column="log_date_create" property="dateCreate" jdbcType="TIMESTAMP" />
+      <result column="log_update_by" property="updateBy" jdbcType="VARCHAR" />
+      <result column="log_date_update" property="dateUpdate" jdbcType="TIMESTAMP" />
+    </collection>
+  </resultMap>
+
+
   <sql id="Base_Column_List" >
   <sql id="Base_Column_List" >
     id, task_no, task_desc, order_user_id, send_time, send_by, plan_finish_date, finish_date, 
     id, task_no, task_desc, order_user_id, send_time, send_by, plan_finish_date, finish_date, 
     date_limit, urgency, address, contact_user, contact_phone, order_time, company_org_id, 
     date_limit, urgency, address, contact_user, contact_phone, order_time, company_org_id, 
@@ -50,6 +94,13 @@
     from sc_work_order_manage
     from sc_work_order_manage
     where id = #{id,jdbcType=INTEGER}
     where id = #{id,jdbcType=INTEGER}
   </select>
   </select>
+
+  <select id="getWorkFlowLog" resultMap="workFlowLogResultMap" parameterType="map">
+        select t3.process_instance_id log_process_instance_id,t3.task_id,t3.handle_user_id,t3.handle_user_name,t3.flow_result,t3.create_by log_create_by,
+        t3.date_create log_date_create,t3.update_by log_update_by,t3.date_update log_date_update
+        from sc_work_flow_log t3
+        where t3.flow_id= #{flowId,jdbcType=INTEGER} and t3.flow_type=2
+  </select>
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
     delete from sc_work_order_manage
     delete from sc_work_order_manage
     where id = #{id,jdbcType=INTEGER}
     where id = #{id,jdbcType=INTEGER}
@@ -432,7 +483,6 @@
     where find_in_set(#{userId},current_users) and tenant_id = #{tenantId}
     where find_in_set(#{userId},current_users) and tenant_id = #{tenantId}
     order by send_time
     order by send_time
   </select>
   </select>
-
   <select id="selectAppAll" resultMap="BaseResultMap">
   <select id="selectAppAll" resultMap="BaseResultMap">
     select id,task_no,send_time,address,order_type_id,current_task_name
     select id,task_no,send_time,address,order_type_id,current_task_name
     from sc_work_order_manage
     from sc_work_order_manage
@@ -462,4 +512,74 @@
     (CONCAT(DATE_FORMAT(now(), '%Y%m%d%H%i%s'),FLOOR(RAND()*8999)+1000) , #{item.taskDesc}, #{item.address}, #{item.orderTime}, #{item.companyOrgId}, #{item.departmentOrgId}, 0, 3, 0, #{item.tenantId}, '设备报警工单', 'system',  now(), 'system', now(), #{item.geo})
     (CONCAT(DATE_FORMAT(now(), '%Y%m%d%H%i%s'),FLOOR(RAND()*8999)+1000) , #{item.taskDesc}, #{item.address}, #{item.orderTime}, #{item.companyOrgId}, #{item.departmentOrgId}, 0, 3, 0, #{item.tenantId}, '设备报警工单', 'system',  now(), 'system', now(), #{item.geo})
   </foreach>
   </foreach>
   </insert>
   </insert>
+
+
+
+  <!--分页查询-->
+  <select id="findPage" resultMap="OrderResultMap">
+    select
+    t1.id, t1.task_no, t1.task_desc, t1.order_user_id, t1.send_time, t1.send_by, t1.plan_finish_date, t1.finish_date,
+    t1.date_limit, t1.urgency, t1.address, t1.contact_user, t1.contact_phone, t1.order_time, t1.company_org_id,
+    t1.department_org_id, t1.order_status, t1.event_type, 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,
+    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
+    <where>
+      <if test="order.tenantId != null and order.tenantId != ''">
+        and t1.tenant_id = #{order.tenantId}
+      </if>
+      <if test="order.taskNo != null and order.taskNo != ''">
+        and t1.task_no like CONCAT('%',#{order.taskNo},'%')
+      </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
+          <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
+            #{item.orgId}
+          </foreach>
+          or
+          t1.COMPANY_ORG_ID in
+          <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
+            #{item.orgId}
+          </foreach>
+          )
+        </if>
+        <if test="order.permissonType == 4 or order.permissonType == 3">
+          and t1.DEPT_ORG_ID in
+          <foreach collection="order.programItems" item="item" open="(" close=")" separator=",">
+            #{item.orgId}
+          </foreach>
+        </if>
+        <if test="plan.permissonType == 1">
+          and t1.COMPANY_ORG_ID in
+          <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)
+        </if>
+      </if>
+      <if test="order.orderStatus != null">
+        and t1.order_status =  #{order.orderStatus,jdbcType=INTEGER}
+      </if>
+      <if test="order.orderStatus == null">
+        and t1.order_status != 0
+      </if>
+      <if test="order.orderTypeId != null">
+        and t1.order_type_id = #{plan.orderTypeId,jdbcType=INTEGER}
+      </if>
+      <if test="order.eventType != null">
+        and t1.event_type = #{order.eventType,jdbcType=INTEGER}
+      </if>
+      <if test="order.currentUsers != null">
+        and  INSTR(t1.current_users,#{plan.currentUsers})
+      </if>
+      <if test="order.startDate != null and order.endDate != null">
+        and t1.date_create &gt;= date_format(#{order.startDate,jdbcType=VARCHAR},'%Y-%c-%d')
+        and t1.date_create &lt;= DATE_ADD(date_format(#{order.endDate,jdbcType=VARCHAR},'%Y-%c-%d'),INTERVAL 1 DAY)
+      </if>
+    </where>
+    order by t1.date_create
+  </select>
 </mapper>
 </mapper>

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

@@ -87,7 +87,7 @@
         t3.date_create log_date_create,t3.update_by log_update_by,t3.date_update log_date_update
         t3.date_create log_date_create,t3.update_by log_update_by,t3.date_update log_date_update
         from sc_work_flow_log t3
         from sc_work_flow_log t3
         where t3.flow_id= #{flowId,jdbcType=INTEGER} and t3.flow_type=1
         where t3.flow_id= #{flowId,jdbcType=INTEGER} and t3.flow_type=1
-    </select>
+  </select>
 
 
   <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
   <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
     select 
     select 
@@ -402,7 +402,7 @@
         and (t1.plan_id like CONCAT('%',#{plan.key},'%') or t1.plan_name like CONCAT('%',#{plan.key},'%'))
         and (t1.plan_id like CONCAT('%',#{plan.key},'%') or t1.plan_name like CONCAT('%',#{plan.key},'%'))
       </if>
       </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.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 alarm.plan == 2">
+        <if test="plan.permissonType == 5 or plan.permissonType == 2">
           and ( t1.DEPT_ORG_ID in
           and ( t1.DEPT_ORG_ID in
           <foreach collection="plan.programItems" item="item" open="(" close=")" separator=",">
           <foreach collection="plan.programItems" item="item" open="(" close=")" separator=",">
             #{item.orgId}
             #{item.orgId}