skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/controller/PatrolTaskController.java
@@ -208,6 +208,18 @@ } /** * 汛期、白蚁、大坝 责任人完成任务 */ @PostMapping("person-complete-task") @ApiOperation(value = "完成任务", notes = "传入流程信息") public R personCompleteTask(@RequestBody PatrolTaskVO patrolTaskVO) { return R.status(patrolTaskService.personCompleteTask(patrolTaskVO, patrolTaskVO.getCurrentUserId(), patrolTaskVO.getTaskUser())); } /** * 查询待办 * * @param patrolTask 任务 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/entity/PatrolTask.java
@@ -154,6 +154,9 @@ */ private String processInstanceId; //处理状态,1、巡查;2、处理中;3已处理 private String handleStatus; /** * 工作流标识 是否上报 */ skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolRecordMapper.xml
@@ -35,6 +35,8 @@ <result column="city_name" property="cityName"/> <result column="county_name" property="countyName"/> <result column="town_name" property="townName"/> <result property="handleUser" column="handleUser"/> <result property="handleUserName" column="handleUserName"/> </resultMap> @@ -207,6 +209,7 @@ <result property="content" column="content"/> <result property="state" column="state"/> <result property="recordType" column="recordType"/> <result property="handleUserName" column="handleUserName"/> </collection> </resultMap> @@ -225,10 +228,13 @@ R.solution, R.CONTENT, R.STATE, R.record_type as recordType R.record_type as recordType, R.UPDATE_USER as handleUser, BU.real_name as handleUserName FROM SM_PATROL_GROUP G LEFT JOIN SM_PATROL_GROUP_ITEM I ON I.GROUP_ID = G.ID LEFT JOIN SM_PATROL_RECORD R ON R.ITEM_ID = I.ID LEFT JOIN BLADE_USER BU ON BU.ID = R.UPDATE_USER WHERE G.IS_DELETED = 0 <if test="vo.flowTaskId != null and vo.flowTaskId !='' "> AND R.FLOW_TASK_ID = #{vo.flowTaskId} @@ -323,8 +329,9 @@ </select> <select id="getHandleRecord" resultMap="selectPatrolRecordList"> SELECT * FROM SM_PATROL_RECORD WHERE IS_DELETED = 0 SELECT SPR.*,SPR.update_user as handleUser,BU.real_name as handleUserName FROM SM_PATROL_RECORD SPR LEFT JOIN BLADE_USER BU ON BU.ID = SPR.UPDATE_USER WHERE SPR.IS_DELETED = 0 <if test="record.taskId != null and record.taskId != ''"> AND task_id = #{record.taskId} </if> skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/mapper/PatrolTaskMapper.xml
@@ -61,11 +61,17 @@ <if test="patrolTask.title !=null and patrolTask.title!=''"> AND spt.title LIKE CONCAT('%',#{patrolTask.title},'%') </if> <!-- <if test="patrolTask.startTime !=null and patrolTask.startTime !=''">--> <!-- AND spt.start_time >= #{patrolTask.startTime}--> <!-- </if>--> <!-- <if test="patrolTask.endTime !=null and patrolTask.endTime !=''">--> <!-- AND spt.end_time <= #{patrolTask.endTime}--> <!-- </if>--> <if test="patrolTask.startTime !=null and patrolTask.startTime !=''"> AND spt.start_time >= #{patrolTask.startTime} AND spt.create_time >= #{patrolTask.startTime} </if> <if test="patrolTask.endTime !=null and patrolTask.endTime !=''"> AND spt.end_time <= #{patrolTask.endTime} AND spt.create_time <= #{patrolTask.endTime} </if> <if test="patrolTask.projectId !=null and patrolTask.projectId !='' "> AND spt.project_id = #{patrolTask.projectId} skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/IPatrolTaskService.java
@@ -82,4 +82,13 @@ List<TaskStatusCount> getTaskStatusCountOptimize(PatrolTaskVO patrolTaskVO); TaskStatus getTaskStatus(PatrolTaskVO patrolTaskVO); /** * 汛期、白蚁、大坝 责任人完成任务 * @param patrolTaskVO * @param currentUserId * @param taskUser * @return */ boolean personCompleteTask(PatrolTaskVO patrolTaskVO, String currentUserId, String taskUser); } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/service/impl/PatrolTaskServiceImpl.java
@@ -145,7 +145,8 @@ //设置创建人 .set(ProcessConstant.TASK_VARIABLE_CREATE_USER, AuthUtil.getUserId()) //指定巡查责任人 .set(PATROL_USER, TaskUtil.getTaskUser(patrolTask.getToUserId())); .set(PATROL_USER, TaskUtil.getTaskUser(patrolTask.getToUserId())) .set("taskUser", TaskUtil.getTaskUser(patrolTask.getToUserId())); R<BladeFlow> result = flowClient.startProcessInstanceById(patrolTask.getProcessDefinitionId(), FlowUtil.getBusinessKey(businessTable, String.valueOf(patrolTask.getId())), variables); if (result.isSuccess()) { @@ -161,6 +162,50 @@ } return patrolTask; } @Override public boolean personCompleteTask(PatrolTaskVO patrolTaskVO, String currentUserId, String taskUser) { String taskId = patrolTaskVO.getFlowTaskId(); String processInstanceId = patrolTaskVO.getProcessInstanceId(); String comment = patrolTaskVO.getComment(); //保存巡查记录 if (patrolTaskVO.getPatrolRecordList() != null && patrolTaskVO.getPatrolRecordList().size()>0){ patrolRecordService.saveBatch(patrolTaskVO.getPatrolRecordList()); } // 创建变量 Map<String, Object> variables = new HashMap<>(); if (variables == null) { variables = Kv.create(); } //指定了人就是上报,没指定就表示已经处理了 if (StringUtil.isNotBlank(taskUser)){ variables.put("taskUser",TaskUtil.getTaskUser(taskUser)); variables.put(ProcessConstant.REPORT_KEY,true); }else{ variables.put(ProcessConstant.REPORT_KEY,false); //查监测预警表,看是否有这个任务,有的话修改任务状态 Boolean finishDamTask = nkyClient.finishTask(patrolTaskVO.getId().toString()); if (!finishDamTask){ //查白蚁表,看是否有这个任务,有的话修改任务状态 Boolean finishTermitesTask = waterDataTermitesService.finishTask(patrolTaskVO.getId().toString()); } } flowClient.completeTask(taskId, processInstanceId, comment, variables); return updateById(patrolTaskVO); } @Override @Transactional(rollbackFor = Exception.class) @@ -188,12 +233,7 @@ patrolRecordService.saveBatch(patrolTask.getPatrolRecordList()); } // //查监测预警表,看是否有这个任务,有的话修改任务状态 // Boolean finishDamTask = nkyClient.finishTask(patrolTask.getId().toString()); // if (!finishDamTask){ // //查白蚁表,看是否有这个任务,有的话修改任务状态 // Boolean finishTermitesTask = waterDataTermitesService.finishTask(patrolTask.getId().toString()); // } return baseMapper.updateById(patrolTask) > 0; } else { @@ -388,6 +428,7 @@ return taskStatus; } @Override public List<TaskStatusCount> getTaskTypeCount(PatrolTaskVO patrolTaskVO) { return baseMapper.getTaskTypeCount(patrolTaskVO); skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolRecordVO.java
@@ -79,4 +79,7 @@ private String endTime; private String adCode; private String handleUser; private String handleUserName; } skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/patrol/vo/PatrolTaskVO.java
@@ -72,4 +72,7 @@ private String lat; private String comment; //工作流taskId private String flowTaskId; }