From d46beba25ccb64a1047a98d642b6ce45e82f0bee Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期一, 17 十月 2022 18:07:28 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master --- ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java | 142 +++++++++++++++++++++++++++++++++-------------- 1 files changed, 100 insertions(+), 42 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java index 5e32871..8510dd5 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java @@ -3,17 +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; @@ -95,6 +99,10 @@ WorkflowConfigMapper workflowConfigMapper; @Resource ImageResourcesMapper imageResourcesMapper; + @Resource + DispatchInfoMapper dispatchInfoMapper; + @Resource + PartyInfoMapper partyInfoMapper; @Override @@ -165,6 +173,7 @@ } casePoolViolationVO.setCategory(dataDictionaryMapper.selectById(item.getCategoryId()).getName()); casePoolViolationVO.setType(dataDictionaryMapper.selectById(item.getTypeId()).getName()); + casePoolViolationVO.setStreet(dataDictionaryMapper.selectById(item.getStreetId()).getName()); return casePoolViolationVO; }).collect(Collectors.toList()); Page<CasePoolViolationVO> casePoolViolationVOPage = new Page<>(); @@ -185,6 +194,7 @@ CasePoolIllegalBuildingVO casePoolIllegalBuildingVO = new CasePoolIllegalBuildingVO(); BeanUtils.copyProperties(item, casePoolIllegalBuildingVO); casePoolIllegalBuildingVO.setCategory(dataDictionaryMapper.selectById(item.getCategoryId()).getName()); + casePoolIllegalBuildingVO.setCommunity(dataDictionaryMapper.selectById(item.getCommunityId()).getName()); return casePoolIllegalBuildingVO; } ).collect(Collectors.toList()); @@ -195,20 +205,42 @@ } @Override - public Boolean saveViolationCase(ViolationParam violationParam, Integer id) { + public Boolean saveViolationCase(ViolationParam violationParam, Long id) { Violations violations = new Violations(); BeanUtils.copyProperties(violationParam, violations); - violations.setId(id); Integer value = 1; + violations.setId(id); + setDisposeRecord(id); return violationsMapper.insert(violations) == value ? true : false; } + private void setDisposeRecord(Long id) { + 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()); + AdminUserDetails userDetails = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); + disposeRecord.setCreateUser(userDetails.getUserId()); + disposeRecord.setStartTime(LocalDateTime.now()); + disposeRecord.setStepName(stepName); + disposeRecordMapper.insert(disposeRecord); + } + @Override - public Boolean saveIllegalBuildingCase(IllegalBuildingParam illegalBuildingParam, Integer id) { + public Boolean saveIllegalBuildingCase(IllegalBuildingParam illegalBuildingParam, Long id) { IllegalBuilding illegalBuilding = new IllegalBuilding(); - BeanUtils.copyProperties(illegalBuilding, illegalBuildingParam); - illegalBuilding.setBaseCaseId(id); + BeanUtils.copyProperties(illegalBuildingParam, illegalBuilding); + setDisposeRecord(id); Integer value = 1; + illegalBuilding.setBaseCaseId(id); return illegalBuildingMapper.insert(illegalBuilding) == value ? true : false; } @@ -216,32 +248,40 @@ public BaseCaseDetail baseCaseDetail(String code) { BaseCaseDetail bcd = new BaseCaseDetail(); //1.鏌ヨ妗堜欢鍩烘湰淇℃伅 - QueryWrapper<BaseCase> wrapper = new QueryWrapper<>(); - wrapper.lambda().eq(BaseCase::getCode, code); - BaseCase baseCase = baseCaseMapper.selectOne(wrapper); + Map map = new HashMap(); + map.put("code", code); + BaseCase baseCase = baseCaseMapper.selectCondMap(map); if (baseCase == null) { return null; } + //鏌ヨ妗堜欢杩濊淇℃伅 + if (baseCase.getCategory() == 1) { + Map mapV = new HashMap(); + mapV.put("id", baseCase.getId()); + Violations violations = violationsMapper.selectCondMap(mapV); + baseCase.setViolations(violations); + } else { + IllegalBuilding illegalBuilding = illegalBuildingMapper.selectById(baseCase.getId()); + baseCase.setIllegalBuilding(illegalBuilding); + } + //鑾峰彇璋冨害淇℃伅 + Map mapD = new HashMap(); + mapD.put("baseCaseId",baseCase.getId()); + DispatchInfo dispatchInfo = dispatchInfoMapper.selectCondMap(mapD); + baseCase.setDispatchInfo(dispatchInfo); bcd.setBaseCase(baseCase); + //妗堜欢鐩稿叧淇℃伅 //2.鏌ヨ鍔炵悊缁忚繃淇℃伅 //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("baseCaseId", ddlcId); + mapWcs.put("workflowConfigId", wcs.get(0).getId()); + mapWcs.put("baseCaseId", baseCase.getId()); List<WorkflowConfigStep> listWcs = workflowConfigStepMapper.selectRecordByWorkflowConfigStepId(mapWcs); //澶勭悊鐢ㄧ幆鑺傛椂闂� for (WorkflowConfigStep step : listWcs) { @@ -250,10 +290,12 @@ continue; } for (DisposeRecord record : records) { - record.setLinkTime( - DateUtil.getDistanceDateTime( - DateUtil.fromLocalDateTime(baseCase.getAlarmTime()), - DateUtil.fromLocalDateTime(record.getCreateTime()))); + if (record != null && record.getEndTime() != null) { + record.setLinkTime( + DateUtil.getDistanceDateTime( + DateUtil.fromLocalDateTime(baseCase.getAlarmTime()), + DateUtil.fromLocalDateTime(record.getEndTime()))); + } } step.setDisposeRecords(records); } @@ -268,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<>(); @@ -286,6 +328,14 @@ QueryWrapper<Investigation> wrapperI = new QueryWrapper<>(); wrapperI.lambda().eq(Investigation::getBaseCaseId, baseCase.getId()); Investigation investigation = investigationMapper.selectOne(wrapperI); + if (investigation != null && investigation.getPartyId() != null) { + //鑾峰彇褰撲簨浜轰俊鎭� + Map mapP = new HashMap(); + mapP.put("id", investigation.getPartyId()); + PartyInfo partyInfo = partyInfoMapper.selectCondMap(mapP); + //濉厖褰撲簨浜� + investigation.setPartyInfo(partyInfo); + } currentSitVo.setInvestigation(investigation); //璁剧疆鍛婄煡杩濇硶 QueryWrapper<Writ> wrapperW = new QueryWrapper<>(); @@ -317,24 +367,32 @@ } @Override - public void endCase(Integer caseId, String result) { + public void endCase(Long caseId, String result,String opinion) { + //鑾峰彇褰撳墠鐧婚檰鐢ㄦ埛淇℃伅 AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); - Integer endCaseState = 6; - Integer state = 2; - String endCaseName = "缁撴"; + String endCaseName = StepName.CLOSING_REGISTER.getName(); BaseCase baseCase = new BaseCase(); - baseCase.setState(endCaseState); + 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().intValue()); - disposeRecord.setResult(result); - disposeRecord.setState(state); - disposeRecord.setCreateTime(LocalDateTime.now()); - disposeRecordMapper.insert(disposeRecord); + disposeRecord.setHandlerId(user.getUserId()); + //缁撴宸茬粨鏉� + disposeRecord.setState(1); + disposeRecord.setEndTime(LocalDateTime.now()); + disposeRecord.setHandlerId(user.getUserId()); + disposeRecordMapper.update(disposeRecord, updateWrapper); } } \ No newline at end of file -- Gitblit v1.8.0