|
@@ -1,18 +1,23 @@
|
|
|
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.common.FileUploadUtil;
|
|
|
import com.huaxu.model.AjaxMessage;
|
|
|
import com.huaxu.model.LoginUser;
|
|
|
+import com.huaxu.model.Pagination;
|
|
|
import com.huaxu.model.ResultStatus;
|
|
|
import com.huaxu.order.dto.WorkOrderManageDto;
|
|
|
import com.huaxu.order.entity.WorkFlowDetail;
|
|
|
import com.huaxu.order.entity.WorkFlowLog;
|
|
|
+import com.huaxu.order.entity.WorkOrderInfo;
|
|
|
import com.huaxu.order.entity.WorkOrderManage;
|
|
|
import com.huaxu.order.service.WorkFlowDetailService;
|
|
|
import com.huaxu.order.service.WorkFlowLogService;
|
|
|
import com.huaxu.order.service.WorkOrderManageService;
|
|
|
import com.huaxu.process.dto.TaskPorcessResult;
|
|
|
+import com.huaxu.process.entity.ProcessDefinition;
|
|
|
import com.huaxu.process.service.WorkFlowService;
|
|
|
import com.huaxu.process.utils.Action;
|
|
|
import com.huaxu.task.entity.PlanManage;
|
|
@@ -22,9 +27,10 @@ import com.huaxu.util.UserUtil;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
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.Value;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
@@ -287,4 +293,116 @@ public class WorkOrderManageController {
|
|
|
}
|
|
|
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);
|
|
|
+ }
|
|
|
}
|