ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java
@@ -69,68 +69,7 @@ public CommonResult searchDisposeList(@RequestParam Long caseId, @RequestParam Integer type, @RequestBody UploadDisposingResultParam uploadDisposingResultParam) { AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); //当事人 PartyInfo partyInfo = new PartyInfo(); BeanUtils.copyProperties(uploadDisposingResultParam, partyInfo); partyInfo.setCreateUser(user.getUserId().intValue()); partyInfo.setCreateTime(LocalDateTime.now()); iPartyInfoService.save(partyInfo); //调查取证 Investigation investigation = new Investigation(); BeanUtils.copyProperties(uploadDisposingResultParam, investigation); investigation.setBaseCaseId(caseId); investigation.setCreateTime(LocalDateTime.now()); investigation.setCreateUser(user.getUserId()); investigation.setPartyId(partyInfo.getId()); iInvestigationService.save(investigation); //到达 ArrivalSituation arrivalSituation = new ArrivalSituation(); BeanUtils.copyProperties(uploadDisposingResultParam, arrivalSituation); arrivalSituation.setBaseCaseId(caseId); arrivalSituation.setCreateTime(LocalDateTime.now()); arrivalSituation.setCreateUser(user.getUserId()); iArrivalSituationService.save(arrivalSituation); //文书 Integer illegalBuildingType = 2; Integer violation = 1; String handType = "02"; ImageResources imageResources = new ImageResources(); imageResources.setType(handType); imageResources.setBelongToId(caseId); imageResources.setCreateTime(LocalDateTime.now()); imageResources.setCreateUser(user.getUserId()); if (type == violation) { imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic(), uploadDisposingResultParam.getSituationPic())); iImageResourcesService.save(imageResources); } if (type==illegalBuildingType) { Writ writ = new Writ(); BeanUtils.copyProperties(uploadDisposingResultParam, writ); writ.setBaseCaseId(caseId); writ.setIllegalBuildingId(caseId); writ.setCreateTime(LocalDateTime.now()); writ.setCreateUser(user.getUserId()); iWritService.save(writ); imageResources.setUrl(StringUtils .joinWith(",", uploadDisposingResultParam.getPic() , uploadDisposingResultParam.getSituationPic() , uploadDisposingResultParam.getOriginalPic() , uploadDisposingResultParam.getOtherPic() , uploadDisposingResultParam.getRectifiedPic() , uploadDisposingResultParam.getWritPic())); iImageResourcesService.save(imageResources); } baseCaseService.update(new LambdaUpdateWrapper<BaseCase>().eq(BaseCase::getId, caseId).set(BaseCase::getState, BaseCaseStatus.DISPOSE)); String stepName = StepName.CHECK.getName(); DisposeRecord disposeRecord = new DisposeRecord(); disposeRecord.setBaseCaseId(caseId); disposeRecord.setState(0); disposeRecord.setCreateTime(LocalDateTime.now()); disposeRecord.setCreateUser(user.getUserId()); disposeRecord.setStepName(stepName); disposeRecord.setStartTime(LocalDateTime.now()); iDisposeRecordService.addRecord(disposeRecord); iDisposeRecordService.saveUpload(caseId,type,uploadDisposingResultParam); return CommonResult.success("add success"); } } ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java
@@ -1,6 +1,7 @@ package com.ycl.service.caseHandler; import com.baomidou.mybatisplus.extension.service.IService; import com.ycl.dto.dispatch.UploadDisposingResultParam; import com.ycl.entity.caseHandler.DisposeRecord; import com.ycl.vo.MyBacklogVO; @@ -18,5 +19,5 @@ List<MyBacklogVO> listMyTask(String num, Long userId); Boolean addRecord(DisposeRecord disposeRecord); Boolean saveUpload(Long caseId, Integer type, UploadDisposingResultParam uploadDisposingResultParam); } ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
@@ -1,30 +1,30 @@ package com.ycl.service.caseHandler.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.bo.AdminUserDetails; import com.ycl.common.constant.BaseCaseStatus; import com.ycl.common.constant.StepName; import com.ycl.entity.caseHandler.BaseCase; import com.ycl.entity.caseHandler.DisposeRecord; import com.ycl.entity.caseHandler.WorkflowConfigStep; import com.ycl.entity.user.UmsAdminRoleRelation; import com.ycl.dto.dispatch.UploadDisposingResultParam; import com.ycl.entity.caseHandler.*; import com.ycl.exception.ApiException; import com.ycl.mapper.caseHandler.BaseCaseMapper; import com.ycl.mapper.caseHandler.DisposeRecordMapper; import com.ycl.mapper.caseHandler.WorkflowConfigStepMapper; import com.ycl.mapper.user.UmsAdminRoleRelationMapper; import com.ycl.service.caseHandler.IDisposeRecordService; import com.ycl.service.caseHandler.*; import com.ycl.vo.MyBacklogVO; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** * <p> @@ -45,21 +45,94 @@ @Resource WorkflowConfigStepMapper workflowConfigStepMapper; @Resource UmsAdminRoleRelationMapper umsAdminRoleRelationMapper; @Autowired IInvestigationService iInvestigationService; @Autowired IArrivalSituationService iArrivalSituationService; @Autowired IPartyInfoService iPartyInfoService; @Autowired IWritService iWritService; @Autowired IBaseCaseService baseCaseService; @Autowired IDisposeRecordService iDisposeRecordService; @Autowired IImageResourcesService iImageResourcesService; @Override public List<MyBacklogVO> listMyTask(String num, Long userId) { return disposeRecordMapper.selectMyBackList(userId,num); return disposeRecordMapper.selectMyBackList(userId, num); } @Override public Boolean addRecord(DisposeRecord disposeRecord) { @Transactional(rollbackFor = Exception.class) public Boolean saveUpload(Long caseId, Integer type, UploadDisposingResultParam uploadDisposingResultParam) { AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); //当事人 PartyInfo partyInfo = new PartyInfo(); BeanUtils.copyProperties(uploadDisposingResultParam, partyInfo); partyInfo.setCreateUser(user.getUserId().intValue()); partyInfo.setCreateTime(LocalDateTime.now()); iPartyInfoService.save(partyInfo); //调查取证 Investigation investigation = new Investigation(); BeanUtils.copyProperties(uploadDisposingResultParam, investigation); investigation.setBaseCaseId(caseId); investigation.setCreateTime(LocalDateTime.now()); investigation.setCreateUser(user.getUserId()); investigation.setPartyId(partyInfo.getId()); iInvestigationService.save(investigation); //到达 ArrivalSituation arrivalSituation = new ArrivalSituation(); BeanUtils.copyProperties(uploadDisposingResultParam, arrivalSituation); arrivalSituation.setBaseCaseId(caseId); arrivalSituation.setCreateTime(LocalDateTime.now()); arrivalSituation.setCreateUser(user.getUserId()); iArrivalSituationService.save(arrivalSituation); //文书 Integer illegalBuildingType = 2; Integer violation = 1; String handType = "02"; ImageResources imageResources = new ImageResources(); imageResources.setType(handType); imageResources.setBelongToId(caseId); imageResources.setCreateTime(LocalDateTime.now()); imageResources.setCreateUser(user.getUserId()); if (type == violation) { imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic(), uploadDisposingResultParam.getSituationPic())); iImageResourcesService.save(imageResources); } if (type == illegalBuildingType) { Writ writ = new Writ(); BeanUtils.copyProperties(uploadDisposingResultParam, writ); writ.setBaseCaseId(caseId); writ.setIllegalBuildingId(caseId); writ.setCreateTime(LocalDateTime.now()); writ.setCreateUser(user.getUserId()); iWritService.save(writ); imageResources.setUrl(StringUtils .joinWith(",", uploadDisposingResultParam.getPic() , uploadDisposingResultParam.getSituationPic() , uploadDisposingResultParam.getOriginalPic() , uploadDisposingResultParam.getOtherPic() , uploadDisposingResultParam.getRectifiedPic() , uploadDisposingResultParam.getWritPic())); iImageResourcesService.save(imageResources); } baseCaseService.update(new LambdaUpdateWrapper<BaseCase>().eq(BaseCase::getId, caseId).set(BaseCase::getState, BaseCaseStatus.DISPOSE)); String stepName = StepName.CHECK.getName(); DisposeRecord disposeRecord = new DisposeRecord(); disposeRecord.setBaseCaseId(caseId); disposeRecord.setState(0); disposeRecord.setCreateTime(LocalDateTime.now()); disposeRecord.setCreateUser(user.getUserId()); disposeRecord.setStepName(stepName); disposeRecord.setStartTime(LocalDateTime.now()); //结束上传处置流程 String stepName = StepName.DISPOSE.getName(); QueryWrapper<WorkflowConfigStep> qureyDispatch = new QueryWrapper<>(); qureyDispatch.eq("name", stepName); qureyDispatch.eq("name", StepName.DISPOSE.getName()); WorkflowConfigStep dispatchStep = workflowConfigStepMapper.selectOne(qureyDispatch); UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>(); @@ -80,7 +153,6 @@ //设置流程环节数据 disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId()); disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId()); baseMapper.insert(disposeRecord); return true; return baseMapper.insert(disposeRecord) == 1 ? true : false; } } ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
@@ -86,8 +86,8 @@ stepNextRecord.setBaseCaseId(baseCase.getId()); stepNextRecord.setWorkflowConfigStepId(stepNext.getId()); stepNextRecord.setStepName(stepNext.getName()); stepNextRecord.setHandlerRoleId(stepNext.getRoleId()); stepNextRecord.setLimitTime(dispatchInfoParam.getDisposeDate()); stepNextRecord.setHandlerId(dispatchInfoParam.getLawEnforcer()); //上传处置未结束 stepNextRecord.setState(0); stepNextRecord.setStartTime(LocalDateTime.now()); ycl-platform/src/main/resources/mapper/caseHandler/DisposeRecordMapper.xml
@@ -4,41 +4,63 @@ <!-- 通用查询映射结果 --> <resultMap id="BaseResultMap" type="com.ycl.entity.caseHandler.DisposeRecord"> <id column="id" property="id" /> <result column="base_case_id" property="baseCaseId" /> <result column="workflow_config_step_id" property="workflowConfigStepId" /> <result column="step_name" property="stepName" /> <result column="start_time" property="startTime" /> <result column="handler_role_id" property="handlerRoleId" /> <result column="end_time" property="endTime" /> <result column="state" property="state" /> <result column="handler_id" property="handlerId" /> <result column="create_user" property="createUser" /> <result column="create_time" property="createTime" /> <id column="id" property="id"/> <result column="base_case_id" property="baseCaseId"/> <result column="workflow_config_step_id" property="workflowConfigStepId"/> <result column="step_name" property="stepName"/> <result column="start_time" property="startTime"/> <result column="handler_role_id" property="handlerRoleId"/> <result column="end_time" property="endTime"/> <result column="state" property="state"/> <result column="handler_id" property="handlerId"/> <result column="create_user" property="createUser"/> <result column="create_time" property="createTime"/> </resultMap> <!-- 通用查询结果列 --> <sql id="Base_Column_List"> id, base_case_id, step_name, start_time, handler_role_id, end_time, state, handler_id, create_user, create_time id , base_case_id, step_name, start_time, handler_role_id, end_time, state, handler_id, create_user, create_time </sql> <select id="selectMyBackList" resultType="com.ycl.vo.MyBacklogVO"> SELECT t3.event_source, t3.category, t2.step_name, t3.`code`, t2.create_time t3.event_source, t3.category, t2.step_name, t3.`code`, t2.create_time, t2.limit_time FROM ums_admin_role_relation t1 JOIN ums_dispose_record t2 ON t1.role_id = t2.handler_role_id JOIN ums_base_case t3 ON t2.base_case_id=t3.id ums_admin_role_relation t1 JOIN ums_dispose_record t2 ON t1.role_id = t2.handler_role_id JOIN ums_base_case t3 ON t2.base_case_id=t3.id <where> t1.admin_id = #{id} AND ISNULL( t2.end_time ) <if test="code!='' and code!=null"> and t3.`code` LIKE CONCAT('%',#{code},'%') </if> <if test="code!='' and code!=null"> and t3.`code` LIKE CONCAT('%',#{code},'%') </if> </where> union all SELECT t3.event_source, t3.category, t2.step_name, t3.`code`, t2.create_time, t2.limit_time FROM ums_dispose_record t2 LEFT JOIN ums_base_case t3 ON t2.base_case_id = t3.id <where> t2.handler_id = #{id} AND ISNULL( t2.end_time ) <if test="code!='' and code!=null"> and t3.`code` LIKE CONCAT('%',#{code},'%') </if> </where> </select> </mapper>