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 | 12 ++++++++---- 1 files changed, 8 insertions(+), 4 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 0f80f09..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 @@ -29,6 +29,8 @@ @Autowired private PipeOutPlanMapper pipeOutPlanMapper; + public static final Object LOCK = new Object(); + @Override @Transactional(rollbackFor = Exception.class) public BasicResult insert(PipeOutPlanEntity pipeOutPlanEntity) { @@ -60,7 +62,7 @@ @Transactional(rollbackFor = Exception.class) public BasicResult update(PipeOutPlanEntity pipeOutPlanEntity) { PipeOutPlanEntity isExit = pipeOutPlanMapper.selectInfoByProIdAndYear(pipeOutPlanEntity.getProId(), pipeOutPlanEntity.getPlanYear()); - if (!pipeOutPlanEntity.getPlanOutId().equals(isExit.getPlanOutId()) && isExit != null){ + if (isExit != null && !pipeOutPlanEntity.getPlanOutId().equals(isExit.getPlanOutId()) ){ return BasicResult.faild("500","同一项目、年份有且只有一个计划",null); } pipeOutPlanMapper.update(pipeOutPlanEntity); @@ -97,9 +99,11 @@ String planOutId = obj.getPlanOutId(); List<PipeOutPlanMothEntity> mothListByProIdAndYear = pipeOutPlanMapper.findMothListByProIdAndYear(proId, planYear.toString(), planOutId); Integer completePlanProductNum = 0; - for (PipeOutPlanMothEntity pipeOutPlanMothEntity : mothListByProIdAndYear) { - Integer completePlanProduct = pipeOutPlanMothEntity.getCompletePlanProduct(); - completePlanProductNum+=completePlanProduct; + synchronized (this.LOCK){ + for (PipeOutPlanMothEntity pipeOutPlanMothEntity : mothListByProIdAndYear) { + Integer completePlanProduct = pipeOutPlanMothEntity.getCompletePlanProduct(); + completePlanProductNum+=completePlanProduct; + } } obj.setMonthList(mothListByProIdAndYear); obj.setCompletePipeNum(completePlanProductNum); -- Gitblit v1.9.3