From a13c11ad715c82debac45c38a92d0e0b9f4f09ef Mon Sep 17 00:00:00 2001 From: 邱宇豪 <qyh123230312> Date: 星期一, 06 十一月 2023 14:35:56 +0800 Subject: [PATCH] 20231106_qiuyh_发运计划 --- hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/service/impl/PipeOutPlanServiceImpl.java | 28 +++++++++++++++++++++------- 1 files changed, 21 insertions(+), 7 deletions(-) diff --git a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/service/impl/PipeOutPlanServiceImpl.java b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/service/impl/PipeOutPlanServiceImpl.java index 1348787..5b466ae 100644 --- a/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/service/impl/PipeOutPlanServiceImpl.java +++ b/hd/pipe/materialsManage/src/main/java/com/thhy/materials/modules/biz/pipeoutplan/service/impl/PipeOutPlanServiceImpl.java @@ -16,6 +16,7 @@ import java.util.List; import java.util.Map; +import java.util.stream.Stream; /** * @Author QiuYuHao @@ -28,22 +29,24 @@ @Autowired private PipeOutPlanMapper pipeOutPlanMapper; + public static final Object LOCK = new Object(); + @Override @Transactional(rollbackFor = Exception.class) public BasicResult insert(PipeOutPlanEntity pipeOutPlanEntity) { PipeOutPlanEntity isExit = pipeOutPlanMapper.selectInfoByProIdAndYear(pipeOutPlanEntity.getProId(), pipeOutPlanEntity.getPlanYear()); - if (isExit == null){ + if (isExit != null){ return BasicResult.faild("500","同一项目、年份有且只有一个计划",null); } String planOutId = UUIDUtils.create(); pipeOutPlanEntity.setPlanOutId(planOutId); pipeOutPlanMapper.insert(pipeOutPlanEntity); List<PipeOutPlanMothEntity> monthList = pipeOutPlanEntity.getMonthList(); - monthList.forEach(vo->{ + for (PipeOutPlanMothEntity vo : monthList) { vo.setPipeOutPlanId(planOutId); vo.setId(UUIDUtils.create()); pipeOutPlanMapper.insertMoth(vo); - }); + } return BasicResult.success(); } @@ -59,18 +62,19 @@ @Transactional(rollbackFor = Exception.class) public BasicResult update(PipeOutPlanEntity pipeOutPlanEntity) { PipeOutPlanEntity isExit = pipeOutPlanMapper.selectInfoByProIdAndYear(pipeOutPlanEntity.getProId(), pipeOutPlanEntity.getPlanYear()); - if (isExit == null){ + if (isExit != null && !pipeOutPlanEntity.getPlanOutId().equals(isExit.getPlanOutId()) ){ return BasicResult.faild("500","同一项目、年份有且只有一个计划",null); } pipeOutPlanMapper.update(pipeOutPlanEntity); String planOutId = pipeOutPlanEntity.getPlanOutId(); pipeOutPlanMapper.deleteMoth(planOutId); List<PipeOutPlanMothEntity> monthList = pipeOutPlanEntity.getMonthList(); - monthList.forEach(vo->{ + for (PipeOutPlanMothEntity vo : monthList) { vo.setPipeOutPlanId(planOutId); vo.setId(UUIDUtils.create()); pipeOutPlanMapper.insertMoth(vo); - }); return BasicResult.success(); + } + return BasicResult.success(); } @Override @@ -92,7 +96,17 @@ all.forEach(obj->{ String proId = obj.getProId(); Integer planYear = obj.getPlanYear(); - obj.setMonthList(pipeOutPlanMapper.findMothListByProIdAndYear(proId,planYear.toString())); + String planOutId = obj.getPlanOutId(); + List<PipeOutPlanMothEntity> mothListByProIdAndYear = pipeOutPlanMapper.findMothListByProIdAndYear(proId, planYear.toString(), planOutId); + Integer completePlanProductNum = 0; + synchronized (this.LOCK){ + for (PipeOutPlanMothEntity pipeOutPlanMothEntity : mothListByProIdAndYear) { + Integer completePlanProduct = pipeOutPlanMothEntity.getCompletePlanProduct(); + completePlanProductNum+=completePlanProduct; + } + } + obj.setMonthList(mothListByProIdAndYear); + obj.setCompletePipeNum(completePlanProductNum); }); return BasicResult.success(new PageInfo<>(all)); } -- Gitblit v1.9.3