From 18972bdf9899089cf04b2ba299c16c0dfe43a232 Mon Sep 17 00:00:00 2001 From: songhuangfeng123 <shf18767906695@163.com> Date: 星期一, 15 八月 2022 18:06:52 +0800 Subject: [PATCH] fix --- goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDutyWorkApproveServiceImpl.java | 62 +++++++++++++++++++++++++++++++ 1 files changed, 62 insertions(+), 0 deletions(-) diff --git a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDutyWorkApproveServiceImpl.java b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDutyWorkApproveServiceImpl.java index f6594b6..14f41c7 100644 --- a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDutyWorkApproveServiceImpl.java +++ b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDutyWorkApproveServiceImpl.java @@ -1,13 +1,19 @@ package com.gkhy.safePlatform.targetDuty.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.safePlatform.commons.co.ContextCacheUser; +import com.gkhy.safePlatform.targetDuty.entity.ExamineItem; +import com.gkhy.safePlatform.targetDuty.entity.TargetDivideDetail; import com.gkhy.safePlatform.targetDuty.enums.TargetDutyResultCodes; import com.gkhy.safePlatform.targetDuty.excepiton.TargetDutyException; import com.gkhy.safePlatform.targetDuty.model.dto.resp.ListCheckDataDto; +import com.gkhy.safePlatform.targetDuty.model.dto.resp.TargetApproveDivideDetailDto; +import com.gkhy.safePlatform.targetDuty.model.dto.resp.WorkApproveRelateDesc; +import com.gkhy.safePlatform.targetDuty.repository.TargetDivideDetailRepository; import com.gkhy.safePlatform.targetDuty.repository.TargetDutyWorkApproveRepository; import com.gkhy.safePlatform.targetDuty.entity.TargetDutyWorkApprove; import com.gkhy.safePlatform.targetDuty.service.CommonService; @@ -23,10 +29,14 @@ import com.gkhy.safePlatform.targetDuty.model.dto.resp.TargetDutyWorkApproveDto; import com.gkhy.safePlatform.targetDuty.utils.QueryHelpPlus; import com.gkhy.safePlatform.commons.utils.BeanCopyUtils; +import org.springframework.util.StringUtils; import javax.annotation.Resource; +import java.io.Serializable; import java.sql.Timestamp; import java.util.*; +import java.util.function.Function; +import java.util.stream.Collectors; /** * 目标责任管理工作流审批表(TargetDutyWorkApprove)表服务实现类 @@ -42,6 +52,9 @@ @Resource private CommonService commonService; + + @Autowired + private TargetDivideDetailRepository targetDivideDetailRepository; @Override @@ -117,6 +130,10 @@ if (targetDutyWorkApprove.getRelateId()==null){ throw new TargetDutyException(TargetDutyResultCodes.APPROVE_RELATE_TYPE_NULL); } + // 关联业务json + if (!StringUtils.hasText(targetDutyWorkApprove.getRelateDesc())){ + throw new TargetDutyException("参数错误"); + } // 审批人 if (targetDutyWorkApprove.getApprovePersonId()==null){ throw new TargetDutyException(TargetDutyResultCodes.APPROVE_PERSON_NULL); @@ -174,4 +191,49 @@ ResultCodes.OK ); } + + @Override + public TargetDutyWorkApproveDto selectOne(Serializable id) { + TargetDutyWorkApprove targetDutyWorkApprove = this.getById(id); + if(targetDutyWorkApprove == null){ + return new TargetDutyWorkApproveDto(); + } + + TargetDutyWorkApproveDto dto = BeanCopyUtils.copyBean(targetDutyWorkApprove, TargetDutyWorkApproveDto.class); + + List<WorkApproveRelateDesc> relateDescList = JSONObject.parseArray(targetDutyWorkApprove.getRelateDesc(),WorkApproveRelateDesc.class); + Map<Long,WorkApproveRelateDesc> relateDescMap = relateDescList.stream() + .collect(Collectors.toMap(WorkApproveRelateDesc::getId, Function.identity(),(k1, k2)->k1)); + + // + List<TargetDivideDetail> dList = targetDivideDetailRepository.selectBatchIds(relateDescMap.keySet()); + List<TargetApproveDivideDetailDto> divideDetailList = BeanCopyUtils.copyBeanList(dList, TargetApproveDivideDetailDto.class); + + divideDetailList.forEach(f->{ + WorkApproveRelateDesc relateDesc = relateDescMap.get(f.getId()); + if(relateDesc != null){ + f.setPersonId(relateDesc.getPersonId()); + f.setPersonName(relateDesc.getPersonName()); + f.setCommitValue(relateDesc.getValue()); + } + }); + + // --------------------------- 获取部门信息----------------------- + //收集所用到的部门ID + Set<Long> collectDepIdSet = new HashSet(); + divideDetailList.forEach(f->{ + collectDepIdSet.add(f.getDutyDepartmentId()); + collectDepIdSet.add(f.getMakerDepartmentId()); + }); + //获取部门名集合 + Map<Long,String> depNameMap = commonService.getDepName(collectDepIdSet); + + divideDetailList.forEach(f->{ + f.setDutyDepartmentName(depNameMap.get(f.getDutyDepartmentId())); + f.setMakerDepartmentName(depNameMap.get(f.getMakerDepartmentId())); + }); + + dto.setTargetDivideDetailList(divideDetailList); + return dto; + } } \ No newline at end of file -- Gitblit v1.9.2