From 35f6bd0e69018621c2293b96ddcde55b2bc58d36 Mon Sep 17 00:00:00 2001 From: wl <173@qq.com> Date: 星期五, 30 九月 2022 16:31:23 +0800 Subject: [PATCH] 结案 暂不处理 我的待办 功能实现 --- ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java | 78 ++++++++++++++++++++++++++------------- 1 files changed, 52 insertions(+), 26 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 147accf..62abac5 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 @@ -5,29 +5,32 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.ycl.bo.casePool.*; +import com.ycl.bo.AdminUserDetails; +import com.ycl.bo.casePool.CasePoolIllegalBuildingDO; +import com.ycl.bo.casePool.CasePoolViolationDO; 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.mapper.caseHandler.*; +import com.ycl.mapper.common.ImageResourcesMapper; import com.ycl.mapper.dict.DataDictionaryMapper; -import com.ycl.remote.dto.EventAddParamDto; -import com.ycl.remote.dto.EventProcessParamDto; +import com.ycl.remote.dto.*; +import com.ycl.remote.service.CityPlatformService; import com.ycl.service.caseHandler.IBaseCaseService; import com.ycl.service.caseHandler.IViolationsService; import com.ycl.service.video.IVideoAlarmReportService; -import com.ycl.vo.casePool.CasePoolIllegalBuildingVO; -import com.ycl.vo.casePool.CasePoolViolationVO; +import com.ycl.vo.casePool.*; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; +import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.time.Instant; +import java.time.Duration; import java.time.LocalDateTime; -import java.time.ZoneOffset; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -80,11 +83,15 @@ InvestigationMapper investigationMapper; @Resource WritMapper writMapper; + @Resource + DisposeRecordMapper disposeRecordMapper; @Resource WorkflowConfigStepMapper workflowConfigStepMapper; @Resource WorkflowConfigMapper workflowConfigMapper; + @Resource + ImageResourcesMapper imageResourcesMapper; @Override @@ -134,21 +141,20 @@ @Override public Page listViolationsPage(Page page, Integer state, Integer resource) { Integer type = 01; + Integer hours = 60; Page<CasePoolViolationDO> violationsPage = baseCaseMapper.listViolationsPage(page, state, type, resource); List<CasePoolViolationVO> violationVOList = violationsPage.getRecords().stream().map(item -> { CasePoolViolationVO casePoolViolationVO = new CasePoolViolationVO(); BeanUtils.copyProperties(item, casePoolViolationVO); if (item.getCloseTime() == null) { - long nowTime = System.currentTimeMillis(); - long alarmTime = item.getAlarmTime().toEpochSecond(ZoneOffset.ofHours(8)); - LocalDateTime continueTimes = Instant.ofEpochMilli(nowTime - alarmTime).atZone(ZoneOffset.ofHours(8)).toLocalDateTime(); - String continueTime = continueTimes.getHour() + "鏃�" + continueTimes.getSecond() + "鍒嗛挓"; + Duration duration = Duration.between(item.getAlarmTime(), LocalDateTime.now()); + long minutes = duration.toMinutes() - (duration.toHours() * hours); + String continueTime = duration.toHours() + "鏃�" + minutes + "鍒嗛挓"; casePoolViolationVO.setContinueTime(continueTime); } else { - long closeTime = item.getCloseTime().toEpochSecond(ZoneOffset.ofHours(8)); - long alarmTime = item.getAlarmTime().toEpochSecond(ZoneOffset.ofHours(8)); - LocalDateTime continueTimes = Instant.ofEpochMilli(closeTime - alarmTime).atZone(ZoneOffset.ofHours(8)).toLocalDateTime(); - String continueTime = continueTimes.getHour() + "鏃�" + continueTimes.getSecond() + "鍒嗛挓"; + Duration duration = Duration.between(item.getAlarmTime(), item.getCloseTime()); + long minutes = duration.toMinutes() - (duration.toHours() * hours); + String continueTime = duration.toHours() + "鏃�" + minutes + "鍒嗛挓"; casePoolViolationVO.setContinueTime(continueTime); } casePoolViolationVO.setCategory(dataDictionaryMapper.selectById(item.getCategoryId()).getName()); @@ -184,9 +190,7 @@ @Override public Boolean saveViolationCase(ViolationParam violationParam, Integer id) { - BaseCase baseCase = new BaseCase(); Violations violations = new Violations(); - BeanUtils.copyProperties(violationParam, baseCase); BeanUtils.copyProperties(violationParam, violations); violations.setId(id); Integer value = 1; @@ -195,9 +199,7 @@ @Override public Boolean saveIllegalBuildingCase(IllegalBuildingParam illegalBuildingParam, Integer id) { - BaseCase baseCase = new BaseCase(); IllegalBuilding illegalBuilding = new IllegalBuilding(); - BeanUtils.copyProperties(illegalBuilding, baseCase); BeanUtils.copyProperties(illegalBuilding, illegalBuildingParam); illegalBuilding.setBaseCaseId(id); Integer value = 1; @@ -218,7 +220,7 @@ QueryWrapper<WorkflowConfig> wrapperWc = new QueryWrapper<>(); wrapperWc.lambda().eq(WorkflowConfig::getCode, "ddlc").or().eq(WorkflowConfig::getCode, "wtcllc"); List<WorkflowConfig> wcs = workflowConfigMapper.selectList(wrapperWc); - Integer ddlcId=0,wtcllcId=0; + Integer ddlcId = 0, wtcllcId = 0; for (WorkflowConfig wc : wcs) { if ("ddlc".equals(wc.getCode())) { ddlcId = wc.getId(); @@ -228,19 +230,21 @@ } } //2.2鏌ヨ澶勭疆娴佺▼鐜妭閰嶇疆 - QueryWrapper<WorkflowConfigStep> wrapperWcs = new QueryWrapper<>(); - wrapperWcs.lambda().eq(WorkflowConfigStep::getWorkflowConfigId, ddlcId); - List<WorkflowConfigStep> listWcs = workflowConfigStepMapper.selectList(wrapperWcs); + List<WorkflowConfigStep> listWcs = workflowConfigStepMapper.selectRecordByWorkflowConfigStepId(ddlcId); //2.3璁剧疆璋冨害娴佺▼ handlePassVo.setWorkflowConfigSteps(listWcs); bcd.setHandlePassVo(handlePassVo); //3.鏌ヨ妗堝嵎鍥剧墖淇℃伅 + FilesPictureVo filesPictureVo = new FilesPictureVo(); + QueryWrapper<ImageResources> wrapperIr = new QueryWrapper<>(); + wrapperIr.lambda().eq(ImageResources::getType, "01").or().eq(ImageResources::getType, "02"); + List<ImageResources> irs = imageResourcesMapper.selectList(wrapperIr); + filesPictureVo.setImageResources(irs); + bcd.setFilesPictureVo(filesPictureVo); //4.鏌ヨ闂澶勭悊淇℃伅 ProblemProVo problemProVo = new ProblemProVo(); //4.2鏌ヨ澶勭疆娴佺▼鐜妭閰嶇疆 - QueryWrapper<WorkflowConfigStep> wrapperWcsPp = new QueryWrapper<>(); - wrapperWcsPp.lambda().eq(WorkflowConfigStep::getWorkflowConfigId, wtcllcId); - List<WorkflowConfigStep> listWcsPp = workflowConfigStepMapper.selectList(wrapperWcsPp); + List<WorkflowConfigStep> listWcsPp = workflowConfigStepMapper.selectRecordByWorkflowConfigStepId(wtcllcId); //4.3璁剧疆璋冨害娴佺▼ problemProVo.setWorkflowConfigSteps(listWcsPp); bcd.setProblemProVo(problemProVo); @@ -283,4 +287,26 @@ } return caseImages; } + + @Override + public void endCase(Integer caseId, String result) { + AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); + Integer endCaseState = 6; + Integer state = 2; + String endCaseName = "缁撴"; + BaseCase baseCase = new BaseCase(); + baseCase.setState(endCaseState); + baseCase.setId(caseId); + baseCaseMapper.updateById(baseCase); + 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); + } } \ No newline at end of file -- Gitblit v1.8.0