From e5bf0d08d05f5c58224fe28cdf743a1bae88e3f0 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 30 十一月 2023 16:48:55 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java | 225 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 205 insertions(+), 20 deletions(-) diff --git a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java index 627cebf..6d44fa3 100644 --- a/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java +++ b/ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java @@ -1,30 +1,39 @@ package com.ycl.service.caseHandler.impl; +import cn.hutool.core.util.PageUtil; +import com.alibaba.druid.sql.PagerUtils; 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.plugins.pagination.Page; 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.entity.resources.ImageResources; 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.service.resources.IImageResourcesService; import com.ycl.vo.MyBacklogVO; +import lombok.extern.slf4j.Slf4j; +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.time.format.DateTimeFormatter; import java.util.List; -import java.util.stream.Collectors; +import java.util.Objects; /** * <p> @@ -35,31 +44,206 @@ * @since 2022-09-24 */ @Service +@Slf4j public class DisposeRecordServiceImpl extends ServiceImpl<DisposeRecordMapper, DisposeRecord> implements IDisposeRecordService { @Resource BaseCaseMapper baseCaseMapper; - @Resource DisposeRecordMapper disposeRecordMapper; @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; + public final static Short LAST_WEEK = 0; + public final static Short LAST_MONTH = 1; + public final static Short LAST_THREEMONTH = 2; @Override - public List<MyBacklogVO> listMyTask(String num, Long userId) { - return disposeRecordMapper.selectMyBackList(userId,num); + public Page<MyBacklogVO> listMyTask(String num, Long userId, Short type, Short source, Short time, Integer current, Integer pageSize) { + LocalDateTime alarmTimeStart = null; + LocalDateTime alarmTimeEnd = null; + if (Objects.equals(time, LAST_WEEK)) { + alarmTimeStart = LocalDateTime.now().minusDays(7); + alarmTimeEnd = LocalDateTime.now(); + } else if (Objects.equals(time, LAST_MONTH)) { + alarmTimeStart = LocalDateTime.now().minusMonths(1); + alarmTimeEnd = LocalDateTime.now(); + } else if (Objects.equals(time, LAST_THREEMONTH)) { + alarmTimeStart = LocalDateTime.now().minusMonths(3); + alarmTimeEnd = LocalDateTime.now(); + } + Integer pageIndex = PageUtil.getStart(current - 1, pageSize); + List<MyBacklogVO> list = disposeRecordMapper.selectMyBackList(userId, num, alarmTimeStart, alarmTimeEnd, source, type, pageIndex, pageSize); + Long total = disposeRecordMapper.selectMyBackListTotal(userId, num, alarmTimeStart, alarmTimeEnd, source, type); + + list.forEach(o -> { + if (o.getPictureList() != null && o.getPictureList().size() > 0) { + o.setPicture(o.getPictureList().get(0).getUrl()); + } + }); + Page<MyBacklogVO> page = new Page<>(); + page.setRecords(list); + page.setTotal(total); + return page; } @Override - public Boolean addRecord(DisposeRecord disposeRecord) { + @Transactional(rollbackFor = Exception.class) + public Boolean saveOrUpdateUpload(UploadDisposingResultParam uploadDisposingResultParam) { + log.info("鍙傛暟------------------>{}",uploadDisposingResultParam); + if (uploadDisposingResultParam.getArrivalTime() != null) { + uploadDisposingResultParam.setArrivalTime(uploadDisposingResultParam.getArrivalTime().replace("/", "-")); + } + if (uploadDisposingResultParam.getInvestigationTime() != null) { + uploadDisposingResultParam.setInvestigationTime(uploadDisposingResultParam.getInvestigationTime().replace("/", "-")); + } + AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal(); + List<ArrivalSituation> list = iArrivalSituationService.list(new LambdaQueryWrapper<ArrivalSituation>().eq(ArrivalSituation::getBaseCaseId, uploadDisposingResultParam.getCaseId())); + if (!list.isEmpty()) { + //TODO:杩濊娌℃湁褰撲簨浜篒D,杩濆缓鎵嶆湁 + if (uploadDisposingResultParam.getPartyInfoId() != null) { + //褰撲簨浜� + PartyInfo partyInfo = new PartyInfo(); + BeanUtils.copyProperties(uploadDisposingResultParam, partyInfo); + //TODO:鍓嶇鍥炴樉鍙湁褰撲簨浜哄鍚嶉渶瑕佸湪璇︽儏杩斿洖 + //TODO:鍚庡彴涓婃姤褰撲簨浜轰俊鎭~涓嶈繘鍘� + partyInfo.setId(uploadDisposingResultParam.getPartyInfoId()); + iPartyInfoService.updateById(partyInfo); + //璋冩煡鍙栬瘉 + Investigation investigation = new Investigation(); + BeanUtils.copyProperties(uploadDisposingResultParam, investigation); + investigation.setBaseCaseId(uploadDisposingResultParam.getCaseId()); + investigation.setPartyId(partyInfo.getId()); + //TODO:鏀逛负闆嗗悎鐨勫瓧绗︿覆褰㈠紡 + investigation.setPic(uploadDisposingResultParam.getPic().toString()); + //TODO:灏忕▼搴忓墠绔〉闈㈡病鏈夎皟鏌ユ椂闂达紝鏆傛椂涓嶅~ + //investigation.setInvestigationTime(LocalDateTime.parse(uploadDisposingResultParam.getInvestigationTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + investigation.setId(uploadDisposingResultParam.getInvestigationId()); + iInvestigationService.updateById(investigation); + } + //鍒拌揪 + ArrivalSituation arrivalSituation = new ArrivalSituation(); + BeanUtils.copyProperties(uploadDisposingResultParam, arrivalSituation); + arrivalSituation.setBaseCaseId(uploadDisposingResultParam.getCaseId()); + arrivalSituation.setArrivalTime(LocalDateTime.parse(uploadDisposingResultParam.getArrivalTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + arrivalSituation.setId(uploadDisposingResultParam.getArrivalSituationId()); + //TODO:鏀逛负闆嗗悎鐨勫瓧绗︿覆褰㈠紡 + arrivalSituation.setSituationPic(uploadDisposingResultParam.getSituationPic().toString()); + iArrivalSituationService.updateById(arrivalSituation); + //鏂囦功 + String handType = "02"; + ImageResources imageResources = new ImageResources(); + imageResources.setType(handType); + imageResources.setBelongToId(uploadDisposingResultParam.getCaseId()); + imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic().toString(), uploadDisposingResultParam.getSituationPic().toString())); + imageResources.setId(uploadDisposingResultParam.getImageResourcesId()); + iImageResourcesService.updateById(imageResources); + if (uploadDisposingResultParam.getWritCode() != null && uploadDisposingResultParam.getWritType() != null) { + Writ writ = new Writ(); + BeanUtils.copyProperties(uploadDisposingResultParam, writ); + writ.setBaseCaseId(uploadDisposingResultParam.getCaseId()); + writ.setIllegalBuildingId(uploadDisposingResultParam.getCaseId()); + writ.setLimitTime(LocalDateTime.parse(uploadDisposingResultParam.getLimitTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + writ.setRectifyTime(LocalDateTime.parse(uploadDisposingResultParam.getRectifyTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + writ.setSendTime(LocalDateTime.parse(uploadDisposingResultParam.getSendTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + iWritService.updateById(writ); + imageResources.setUrl(StringUtils + .joinWith(",", uploadDisposingResultParam.getPic() + , uploadDisposingResultParam.getSituationPic() + , uploadDisposingResultParam.getOriginalPic() + , uploadDisposingResultParam.getOtherPic() + , uploadDisposingResultParam.getRectifiedPic() + , uploadDisposingResultParam.getWritPic())); + iImageResourcesService.updateById(imageResources); + } + baseCaseService.update(new LambdaUpdateWrapper<BaseCase>().eq(BaseCase::getId, uploadDisposingResultParam.getCaseId()).set(BaseCase::getState, BaseCaseStatus.DISPOSE)); + } else { + //褰撲簨浜� + 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(uploadDisposingResultParam.getCaseId()); + investigation.setCreateTime(LocalDateTime.now()); + //TODO:鏀逛负闆嗗悎鐨勫瓧绗︿覆褰㈠紡 + investigation.setPic(uploadDisposingResultParam.getPic().toString()); + investigation.setCreateUser(user.getUserId()); + investigation.setPartyId(partyInfo.getId()); + + //TODO:鍓嶇椤甸潰娌℃湁璋冩煡鏃堕棿锛屾殏鏃朵笉濉� +// investigation.setInvestigationTime(LocalDateTime.parse(uploadDisposingResultParam.getInvestigationTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + iInvestigationService.save(investigation); + //鍒拌揪 + ArrivalSituation arrivalSituation = new ArrivalSituation(); + BeanUtils.copyProperties(uploadDisposingResultParam, arrivalSituation); + arrivalSituation.setBaseCaseId(uploadDisposingResultParam.getCaseId()); + arrivalSituation.setCreateTime(LocalDateTime.now()); + arrivalSituation.setCreateUser(user.getUserId()); + //TODO:鏀逛负闆嗗悎鐨勫瓧绗︿覆褰㈠紡 + arrivalSituation.setSituationPic(uploadDisposingResultParam.getSituationPic().toString()); + arrivalSituation.setArrivalTime(LocalDateTime.parse(uploadDisposingResultParam.getArrivalTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + iArrivalSituationService.save(arrivalSituation); + //鏂囦功 + String handType = "02"; + ImageResources imageResources = new ImageResources(); + imageResources.setType(handType); + imageResources.setBelongToId(uploadDisposingResultParam.getCaseId()); + imageResources.setCreateTime(LocalDateTime.now()); + imageResources.setCreateUser(user.getUserId()); + imageResources.setUrl(StringUtils.joinWith(",", uploadDisposingResultParam.getPic().toString(), uploadDisposingResultParam.getSituationPic().toString())); + iImageResourcesService.save(imageResources); + if (uploadDisposingResultParam.getWritCode() != null && uploadDisposingResultParam.getWritType() != null) { + Writ writ = new Writ(); + BeanUtils.copyProperties(uploadDisposingResultParam, writ); + writ.setBaseCaseId(uploadDisposingResultParam.getCaseId()); + writ.setIllegalBuildingId(uploadDisposingResultParam.getCaseId()); + writ.setCreateTime(LocalDateTime.now()); + writ.setCreateUser(user.getUserId()); + writ.setLimitTime(LocalDateTime.parse(uploadDisposingResultParam.getLimitTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + writ.setRectifyTime(LocalDateTime.parse(uploadDisposingResultParam.getRectifyTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + writ.setSendTime(LocalDateTime.parse(uploadDisposingResultParam.getSendTime(), DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + iWritService.save(writ); + imageResources.setUrl(StringUtils + .joinWith(",", uploadDisposingResultParam.getPic().toString() + , uploadDisposingResultParam.getSituationPic().toString() + , uploadDisposingResultParam.getOriginalPic() + , uploadDisposingResultParam.getOtherPic() + , uploadDisposingResultParam.getRectifiedPic() + , uploadDisposingResultParam.getWritPic())); + iImageResourcesService.updateById(imageResources); + } + + baseCaseService.update(new LambdaUpdateWrapper<BaseCase>().eq(BaseCase::getId, uploadDisposingResultParam.getCaseId()).set(BaseCase::getState, BaseCaseStatus.DISPOSE)); + } + String stepName = StepName.CHECK.getName(); + DisposeRecord disposeRecord = new DisposeRecord(); + disposeRecord.setBaseCaseId(uploadDisposingResultParam.getCaseId()); + 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<>(); @@ -69,6 +253,7 @@ updateRecord.setState(1); updateRecord.setEndTime(LocalDateTime.now()); updateRecord.setHandlerId(disposeRecord.getCreateUser()); + updateRecord.setResult(uploadDisposingResultParam.getDescription()); baseMapper.update(updateRecord, updateWrapper); QueryWrapper<WorkflowConfigStep> stepQurey = new QueryWrapper<>(); @@ -80,7 +265,7 @@ //璁剧疆娴佺▼鐜妭鏁版嵁 disposeRecord.setWorkflowConfigStepId(workflowConfigStep.getId()); disposeRecord.setHandlerRoleId(workflowConfigStep.getRoleId()); - baseMapper.insert(disposeRecord); - return true; + + return baseMapper.insert(disposeRecord) == 1 ? true : false; } } -- Gitblit v1.8.0