ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java
@@ -102,6 +102,7 @@ String username = principal.getName(); UmsAdmin umsAdmin = adminService.getAdminByUsername(username); Map<String, Object> data = new HashMap<>(); data.put("userId", umsAdmin.getId()); data.put("username", umsAdmin.getUsername()); data.put("menus", roleService.getMenuList(umsAdmin.getId())); data.put("icon", umsAdmin.getIcon()); ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
@@ -260,8 +260,8 @@ @ApiOperation(value = "结案") @PutMapping("/end_case") @LogSave(operationType = "事项处置管理",contain = "案件结案") public CommonResult endCase(@RequestParam Long caseId, @RequestParam String result) { baseCaseService.endCase(caseId, result); public CommonResult endCase(@RequestParam Long caseId, @RequestParam String result,@RequestParam String opinion) { baseCaseService.endCase(caseId, result,opinion); return CommonResult.success("end case success~!"); } ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java
@@ -6,6 +6,7 @@ import com.ycl.api.CommonResult; import com.ycl.bo.AdminUserDetails; import com.ycl.common.constant.BaseCaseStatus; import com.ycl.common.constant.StepName; import com.ycl.dto.caseHandler.DispatchInfoParam; import com.ycl.dto.dispatch.UploadDisposingResultParam; import com.ycl.entity.caseHandler.*; @@ -99,14 +100,15 @@ iWritService.save(writ); } 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().longValue()); disposeRecord.setStepName("核查"); disposeRecord.setStepName(stepName); disposeRecord.setStartTime(LocalDateTime.now()); iDisposeRecordService.save(disposeRecord); iDisposeRecordService.addRecord(disposeRecord); return CommonResult.success("add success"); } } ycl-platform/src/main/java/com/ycl/controller/message/MessageSmsTemplateController.java
New file @@ -0,0 +1,19 @@ package com.ycl.controller.message; import io.swagger.annotations.Api; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** * <p> * 短信模板管理 前端控制器 * </p> * * @author mg * @since 2022-10-14 */ @RestController @RequestMapping("/message_sms_template") @Api(tags = "用户消息栏目设置") public class MessageSmsTemplateController { } ycl-platform/src/main/java/com/ycl/entity/caseHandler/BaseCaseDetail.java
@@ -3,7 +3,6 @@ import com.ycl.vo.casePool.CurrentSitVo; import com.ycl.vo.casePool.FilesPictureVo; import com.ycl.vo.casePool.HandlePassVo; import com.ycl.vo.casePool.ProblemProVo; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -41,8 +40,8 @@ /** * 问题处理 */ @ApiModelProperty(value = "问题处理") private ProblemProVo problemProVo; //@ApiModelProperty(value = "问题处理") //private ProblemProVo problemProVo; /** * 现场处理 */ ycl-platform/src/main/java/com/ycl/entity/caseHandler/DisposeRecord.java
@@ -122,4 +122,10 @@ @TableField(value = "linkTime",exist = false) @ApiModelProperty(value = "环节用时") private String linkTime; /** * 处理人 */ @TableField(value = "handler_text",exist = false) @ApiModelProperty(value = "处理人") private String handlerText; } ycl-platform/src/main/java/com/ycl/entity/message/SmsTemplate.java
New file @@ -0,0 +1,12 @@ package com.ycl.entity.message; /** * <p> * 类说明 * </p> * * @author mg * @since 2022-10-14 */ public class SmsTemplate { } ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java
@@ -49,5 +49,5 @@ ArrayList<String> listCaseImages(Integer id, Integer type); void endCase(Long caseId, String result); void endCase(Long caseId, String result,String opinion); } ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java
@@ -17,4 +17,6 @@ public interface IDisposeRecordService extends IService<DisposeRecord> { List<MyBacklogVO> listMyTask(String num, Long userId); Boolean addRecord(DisposeRecord disposeRecord); } ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -3,18 +3,21 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.bo.AdminUserDetails; import com.ycl.bo.casePool.CasePoolIllegalBuildingDO; import com.ycl.bo.casePool.CasePoolViolationDO; import com.ycl.common.constant.BaseCaseStatus; import com.ycl.common.constant.StepName; import com.ycl.common.util.DateUtil; import com.ycl.dto.casePool.IllegalBuildingParam; import com.ycl.dto.casePool.ViolationParam; import com.ycl.entity.caseHandler.*; import com.ycl.entity.common.ImageResources; import com.ycl.entity.video.VideoAlarmReport; import com.ycl.exception.ApiException; import com.ycl.mapper.caseHandler.*; import com.ycl.mapper.common.ImageResourcesMapper; import com.ycl.mapper.dict.DataDictionaryMapper; @@ -212,9 +215,15 @@ } private void setDisposeRecord(Long id) { String stepName = "调度"; String stepName = StepName.DISPATCH.getName(); QueryWrapper<WorkflowConfigStep> stepqurey = new QueryWrapper<>(); stepqurey.eq("name", stepName); WorkflowConfigStep workflowConfigStep = workflowConfigStepMapper.selectOne(stepqurey); Integer state = 0; DisposeRecord disposeRecord = new DisposeRecord(); disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId()); disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId()); disposeRecord.setBaseCaseId(id); disposeRecord.setState(state); disposeRecord.setCreateTime(LocalDateTime.now()); @@ -266,20 +275,12 @@ //2.1查询处置流程配置 HandlePassVo handlePassVo = new HandlePassVo(); QueryWrapper<WorkflowConfig> wrapperWc = new QueryWrapper<>(); wrapperWc.lambda().eq(WorkflowConfig::getCode, "ddlc").or().eq(WorkflowConfig::getCode, "wtcllc"); wrapperWc.lambda().eq(WorkflowConfig::getCode, "ddlc"); List<WorkflowConfig> wcs = workflowConfigMapper.selectList(wrapperWc); Integer ddlcId = 0, wtcllcId = 0; for (WorkflowConfig wc : wcs) { if ("ddlc".equals(wc.getCode())) { ddlcId = wc.getId(); } if ("wtcllc".equals(wc.getCode())) { wtcllcId = wc.getId(); } } //2.2查询处置流程环节配置 Map mapWcs = new HashMap(); mapWcs.put("workflowConfigId", ddlcId); mapWcs.put("workflowConfigId", wcs.get(0).getId()); mapWcs.put("baseCaseId", baseCase.getId()); List<WorkflowConfigStep> listWcs = workflowConfigStepMapper.selectRecordByWorkflowConfigStepId(mapWcs); //处理用环节时间 @@ -289,11 +290,11 @@ continue; } for (DisposeRecord record : records) { if (record != null && record.getCreateTime() != null) { if (record != null && record.getEndTime() != null) { record.setLinkTime( DateUtil.getDistanceDateTime( DateUtil.fromLocalDateTime(baseCase.getAlarmTime()), DateUtil.fromLocalDateTime(record.getCreateTime()))); DateUtil.fromLocalDateTime(record.getEndTime()))); } } step.setDisposeRecords(records); @@ -309,13 +310,13 @@ filesPictureVo.setImageResources(irs); bcd.setFilesPictureVo(filesPictureVo); //4.查询问题处理信息 ProblemProVo problemProVo = new ProblemProVo(); /*ProblemProVo problemProVo = new ProblemProVo(); //4.2查询处置流程环节配置 mapWcs.put("workflowConfigId", wtcllcId); List<WorkflowConfigStep> listWcsPp = workflowConfigStepMapper.selectRecordByWorkflowConfigStepId(mapWcs); List<WorkflowConfigStep> listWcsPp = new ArrayList<>(); //4.3设置调度流程 problemProVo.setWorkflowConfigSteps(listWcsPp); bcd.setProblemProVo(problemProVo); bcd.setProblemProVo(problemProVo);*/ //5.查询现场情况信息 CurrentSitVo currentSitVo = new CurrentSitVo(); QueryWrapper<ArrivalSituation> wrapperAs = new QueryWrapper<>(); @@ -366,23 +367,31 @@ } @Override public void endCase(Long caseId, String result) { public void endCase(Long caseId, String result,String opinion) { //获取当前登陆用户信息 AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); Integer state = 1; String endCaseName = "结案"; String endCaseName = StepName.CLOSING_REGISTER.getName(); BaseCase baseCase = new BaseCase(); baseCase.setState(BaseCaseStatus.CLOSING_REGISTER); baseCase.setId(caseId); baseCase.setFinalOpinion(opinion); baseCaseMapper.updateById(baseCase); QueryWrapper<WorkflowConfigStep> stepQurey = new QueryWrapper<>(); stepQurey.eq("name", endCaseName); WorkflowConfigStep workflowConfigStep = workflowConfigStepMapper.selectOne(stepQurey); if (workflowConfigStep == null) { throw new ApiException("未查询到该流程环节"); } UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("base_case_id", baseCase.getId()).eq("workflow_config_step_id",workflowConfigStep.getId()); //修改结案记录 DisposeRecord disposeRecord = new DisposeRecord(); disposeRecord.setBaseCaseId(caseId); disposeRecord.setWorkflowConfigStepId(workflowConfigStepMapper .selectOne(new LambdaQueryWrapper<WorkflowConfigStep>().eq(WorkflowConfigStep::getName, endCaseName)) .getWorkflowConfigId()); disposeRecord.setCreateUser(user.getUserId().longValue()); disposeRecord.setResult(result); disposeRecord.setState(state); disposeRecord.setCreateTime(LocalDateTime.now()); disposeRecordMapper.insert(disposeRecord); disposeRecord.setHandlerId(user.getUserId().longValue()); //结案已结束 disposeRecord.setState(1); disposeRecord.setEndTime(LocalDateTime.now()); disposeRecordMapper.update(disposeRecord, updateWrapper); } } ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java
@@ -1,6 +1,7 @@ package com.ycl.service.caseHandler.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.common.constant.BaseCaseStatus; import com.ycl.common.constant.StepName; @@ -49,28 +50,25 @@ baseCaseMapper.updateById(baseCase); QueryWrapper<WorkflowConfigStep> stepqurey = new QueryWrapper<>(); stepqurey.eq("name", StepName.CHECK.getName()); WorkflowConfigStep workflowConfigStep = workflowConfigStepMapper.selectOne(stepqurey); QueryWrapper<WorkflowConfigStep> stepQurey = new QueryWrapper<>(); stepQurey.eq("name", StepName.CHECK.getName()); WorkflowConfigStep workflowConfigStep = workflowConfigStepMapper.selectOne(stepQurey); if (workflowConfigStep == null) { throw new ApiException("未查询到该流程环节"); } //添加调度记录 DisposeRecord disposeRecord = new DisposeRecord(); disposeRecord.setBaseCaseId(baseCase.getId()); disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId()); disposeRecord.setStepName(workflowConfigStep.getName()); disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId()); disposeRecord.setHandlerId(chechParam.getCurrentUser()); disposeRecord.setState(1); disposeRecord.setStartTime(LocalDateTime.now()); disposeRecord.setEndTime(LocalDateTime.now()); disposeRecord.setResult(chechParam.getResult()); disposeRecord.setCreateUser(chechParam.getCurrentUser()); disposeRecord.setCreateTime(LocalDateTime.now()); disposeRecordMapper.insert(disposeRecord); UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("base_case_id", baseCase.getId()).eq("workflow_config_step_id",workflowConfigStep.getId()); //修改核查记录 DisposeRecord disposeRecord = new DisposeRecord(); disposeRecord.setHandlerId(chechParam.getCurrentUser()); //核查已结束 disposeRecord.setState(1); disposeRecord.setEndTime(LocalDateTime.now()); disposeRecordMapper.update(disposeRecord, updateWrapper); QueryWrapper<WorkflowConfigStep> stepNextqurey = new QueryWrapper<>(); stepNextqurey.eq("workflow_config_id", workflowConfigStep.getWorkflowConfigId()); stepNextqurey.eq("seq", workflowConfigStep.getSeq() + 1); @@ -82,7 +80,6 @@ stepNextRecord.setWorkflowConfigStepId(stepNext.getId()); stepNextRecord.setStepName(stepNext.getName()); stepNextRecord.setHandlerRoleId(stepNext.getRoleId()); stepNextRecord.setHandlerId(chechParam.getCurrentUser()); //上传处置未结束 stepNextRecord.setState(0); stepNextRecord.setStartTime(LocalDateTime.now()); ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
@@ -1,18 +1,25 @@ 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.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.exception.ApiException; import com.ycl.mapper.caseHandler.BaseCaseMapper; import com.ycl.mapper.caseHandler.DisposeRecordMapper; import com.ycl.mapper.caseHandler.WorkflowConfigStepMapper; import com.ycl.service.caseHandler.IDisposeRecordService; import com.ycl.vo.MyBacklogVO; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; @@ -32,6 +39,8 @@ @Resource DisposeRecordMapper disposeRecordMapper; @Resource WorkflowConfigStepMapper workflowConfigStepMapper; @Override public List<MyBacklogVO> listMyTask(String num, Long userId) { @@ -62,4 +71,35 @@ return myBacklogVO; }).collect(Collectors.toList()); } @Override public Boolean addRecord(DisposeRecord disposeRecord) { //结束上传处置流程 String stepName = StepName.DISPOSE.getName(); QueryWrapper<WorkflowConfigStep> qureyDispatch = new QueryWrapper<>(); qureyDispatch.eq("name", stepName); WorkflowConfigStep dispatchStep = workflowConfigStepMapper.selectOne(qureyDispatch); UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("base_case_id", disposeRecord.getBaseCaseId()).eq("workflow_config_step_id",dispatchStep.getId()); DisposeRecord updateRecord = new DisposeRecord(); updateRecord.setState(1); updateRecord.setEndTime(LocalDateTime.now()); updateRecord.setHandlerId(disposeRecord.getCreateUser()); baseMapper.update(updateRecord, updateWrapper); QueryWrapper<WorkflowConfigStep> stepQurey = new QueryWrapper<>(); stepQurey.eq("name", disposeRecord.getStepName()); WorkflowConfigStep workflowConfigStep = workflowConfigStepMapper.selectOne(stepQurey); if (workflowConfigStep == null) { throw new ApiException("未查询到该流程环节"); } //设置流程环节数据 disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId()); disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId()); baseMapper.insert(disposeRecord); return true; } } ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
@@ -1,6 +1,7 @@ package com.ycl.service.caseHandler.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ycl.common.constant.BaseCaseStatus; import com.ycl.common.constant.StepName; @@ -62,21 +63,16 @@ throw new ApiException("未查询到该流程环节"); } //添加调度记录 UpdateWrapper<DisposeRecord> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("base_case_id", baseCase.getId()).eq("workflow_config_step_id",workflowConfigStep.getId()); //修改调度记录 DisposeRecord disposeRecord = new DisposeRecord(); disposeRecord.setBaseCaseId(baseCase.getId()); disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId()); disposeRecord.setStepName(workflowConfigStep.getName()); disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId()); disposeRecord.setHandlerId(dispatchInfo.getCreateUser()); //调度已结束 disposeRecord.setState(1); disposeRecord.setStartTime(LocalDateTime.now()); disposeRecord.setEndTime(LocalDateTime.now()); disposeRecord.setCreateUser(dispatchInfo.getCreateUser()); disposeRecord.setCreateTime(LocalDateTime.now()); disposeRecordMapper.insert(disposeRecord); disposeRecordMapper.update(disposeRecord, updateWrapper); QueryWrapper<WorkflowConfigStep> stepNextqurey = new QueryWrapper<>(); stepNextqurey.eq("workflow_config_id", workflowConfigStep.getWorkflowConfigId()); @@ -89,7 +85,6 @@ stepNextRecord.setWorkflowConfigStepId(stepNext.getId()); stepNextRecord.setStepName(stepNext.getName()); stepNextRecord.setHandlerRoleId(stepNext.getRoleId()); stepNextRecord.setHandlerId(dispatchInfo.getCreateUser()); //上传处置未结束 stepNextRecord.setState(0); stepNextRecord.setStartTime(LocalDateTime.now()); ycl-platform/src/main/resources/mapper/caseHandler/WorkflowConfigStepMapper.xml
@@ -28,15 +28,17 @@ <result column="handler_id" property="handlerId" /> <result column="create_user" property="createUser" /> <result column="create_time" property="createTime" /> <result column="handler_text" property="handlerText" /> </collection> </resultMap> <select id="selectRecordByWorkflowConfigStepId" parameterType="map" resultMap="RecordResultMap"> SELECT uwcs.*,udr.*,udr.id record_id uwcs.*,udr.*,udr.id record_id,ua.nick_name handler_text FROM ums_workflow_config_step uwcs LEFT JOIN ums_dispose_record udr ON uwcs.id = udr.workflow_config_step_id AND udr.base_case_id = #{baseCaseId} LEFT JOIN ums_admin ua ON udr.handler_id = ua.id WHERE uwcs.workflow_config_id = #{workflowConfigId} </select>