From 0414ddb0b2b3a7199ae6181a770f97ac140dbd73 Mon Sep 17 00:00:00 2001 From: zhangf <1603559716@qq.com> Date: 星期三, 08 五月 2024 16:46:22 +0800 Subject: [PATCH] spi统计 --- goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDivideDetailServiceImpl.java | 53 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 37 insertions(+), 16 deletions(-) diff --git a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDivideDetailServiceImpl.java b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDivideDetailServiceImpl.java index ffb5228..8aa7c7d 100644 --- a/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDivideDetailServiceImpl.java +++ b/goal-manage/goal-manage-service/src/main/java/com/gkhy/safePlatform/targetDuty/service/impl/TargetDivideDetailServiceImpl.java @@ -5,6 +5,7 @@ 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.targetDuty.entity.ExamineItem; import com.gkhy.safePlatform.targetDuty.entity.TargetMng; import com.gkhy.safePlatform.targetDuty.enums.TargetDutyResultCodes; import com.gkhy.safePlatform.targetDuty.excepiton.TargetDutyException; @@ -13,6 +14,8 @@ import com.gkhy.safePlatform.targetDuty.entity.TargetDivideDetail; import com.gkhy.safePlatform.targetDuty.repository.TargetMngRepository; import com.gkhy.safePlatform.targetDuty.service.TargetDivideDetailService; +import com.gkhy.safePlatform.targetDuty.service.baseService.TargetDivideDetailBaseService; +import com.gkhy.safePlatform.targetDuty.service.baseService.TargetMngBaseService; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import com.gkhy.safePlatform.commons.enums.ResultCodes; @@ -26,6 +29,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -37,23 +41,23 @@ * @since 2022-07-20 13:32:39 */ @Service("targetDivideDetailService") -public class TargetDivideDetailServiceImpl extends ServiceImpl<TargetDivideDetailRepository, TargetDivideDetail> implements TargetDivideDetailService { +public class TargetDivideDetailServiceImpl implements TargetDivideDetailService { @Autowired - private TargetDivideDetailRepository targetDivideDetailRepository; + private TargetDivideDetailBaseService targetDivideDetailBaseService; @Autowired - private TargetMngRepository targetMngRepository; - - - + private TargetMngBaseService targetMngBaseService; + + + @Override public ResultVO queryAll(PageQuery<TargetDivideDetailQueryCriteria> pageQuery) { Long pageIndex = pageQuery.getPageIndex(); Long pageSize = pageQuery.getPageSize(); IPage<TargetDivideDetail> page = new Page<>(pageIndex, pageSize); - page = baseMapper.selectPage(page, + page = targetDivideDetailBaseService.selectPage(page, QueryHelpPlus.getPredicate(TargetDivideDetail.class, pageQuery.getSearchParams())); List<TargetDivideDetailDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), TargetDivideDetailDto.class); @@ -70,12 +74,15 @@ @Override public List<TargetDivideDetail> queryAll(TargetDivideDetailQueryCriteria criteria) { - return baseMapper.selectList(QueryHelpPlus.getPredicate(TargetDivideDetail.class, criteria)); + return targetDivideDetailBaseService.queryAll(criteria); } @Override public void addOrUpdate(TargetDivideDetailSaveOrUpdate infoDto) { - TargetMng targetMng = targetMngRepository.selectOne(new QueryWrapper<TargetMng>().eq("id",infoDto.getTargetId())); + if(infoDto.getTargetId() == null){ + throw new TargetDutyException("缺少targetId"); + } + TargetMng targetMng = targetMngBaseService.getOne(new QueryWrapper<TargetMng>().eq("id",infoDto.getTargetId())); if(targetMng == null){ throw new TargetDutyException(TargetDutyResultCodes.E1); } @@ -83,23 +90,37 @@ if(StringUtils.hasText(infoDto.getDelTargetDivideDetails())){ List<Long> idList = Arrays.stream(infoDto.getDelTargetDivideDetails().split(",")).map(s-> Long.parseLong(s.trim())) .collect(Collectors.toList()); - this.removeByIds(idList); + List<TargetDivideDetail> delList = new ArrayList<>(); + idList.forEach(f->{ + TargetDivideDetail info = new TargetDivideDetail(); + info.setDelFlag(1); + info.setId(f); + delList.add(info); + }); + targetDivideDetailBaseService.updateBatchById(delList); } //保存主数据 //如果目标指标已经被分解,那么就不能再次增加 - if(targetMng.getDivideStatus() == 1){ + if(targetMng.getDivideStatus() == 1 && infoDto.getTargetId() == null){ throw new TargetDutyException(TargetDutyResultCodes.E2); } List<TargetDivideDetail> list = infoDto.getTargetDivideDetailList(); list.forEach(f->{f.setTargetId(infoDto.getTargetId());}); - this.saveOrUpdateBatch(list); + targetDivideDetailBaseService.saveOrUpdateBatch(list); - //设置状态为 《已分解》 - targetMng.setDivideStatus(1); - targetMngRepository.update(targetMng,new UpdateWrapper<TargetMng>().eq("id",targetMng.getId())); + //查询最新的分解数量,如果>0,设置状态为 《已分解》,否则设置为未分解 + int divideStatus = 2; + if(infoDto.getTargetId() != null){ + long number = targetDivideDetailBaseService.count(new QueryWrapper<TargetDivideDetail>().eq("target_id",infoDto.getTargetId())); + if(number > 0){ + divideStatus = 1; + } + } + targetMng.setDivideStatus(divideStatus); + targetMngBaseService.update(targetMng,new UpdateWrapper<TargetMng>().eq("id",targetMng.getId())); } -} +} \ No newline at end of file -- Gitblit v1.9.2