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