wangzhuo 2 gadi atpakaļ
vecāks
revīzija
7ccb0731e9

+ 12 - 8
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/annualBudget/service/impl/AnnualBudgetServiceImpl.java

@@ -105,22 +105,26 @@ public class AnnualBudgetServiceImpl extends ServiceImpl<AnnualBudgetMapper, Ann
 				LambdaQueryWrapper<AnnualBudgetItem> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 				lambdaQueryWrapper.eq(AnnualBudgetItem::getTenantId, AuthUtil.getTenantId()).eq(AnnualBudgetItem::getIsDeleted, 0)
 					.eq(AnnualBudgetItem::getCorpId, item.getCorpId()).eq(AnnualBudgetItem::getYear, item.getYear()).eq(AnnualBudgetItem::getMonth, item.getMonth());
+				AnnualBudgetItem selectItem = itemMapper.selectOne(lambdaQueryWrapper);
 
-				List<AnnualBudgetItem> selectItem = itemMapper.selectList(lambdaQueryWrapper);
-				if (selectItem.size() >= 1){
-					throw new SecurityException("明细已存在");
-				}
 				if (item.getId() == null) {
+					if (ObjectUtil.isNotEmpty(selectItem)){
+						throw new SecurityException("明细已存在");
+					}
 					item.setCreateUser(AuthUtil.getUserId());
 					item.setCreateTime(new Date());
 					item.setTenantId(AuthUtil.getTenantId());
 					item.setPid(annualBudget.getId());
 					itemMapper.insert(item);
 				} else {
-					item.setUpdateUser(AuthUtil.getUserId());
-					item.setUpdateTime(new Date());
-					item.setPid(annualBudget.getId());
-					itemMapper.updateById(item);
+					if (ObjectUtil.isEmpty(selectItem) || (ObjectUtil.isNotEmpty(selectItem) && selectItem.getId().equals(item.getId()))){
+						item.setUpdateUser(AuthUtil.getUserId());
+						item.setUpdateTime(new Date());
+						item.setPid(annualBudget.getId());
+						itemMapper.updateById(item);
+					}else {
+						throw new SecurityException("明细已存在");
+					}
 				}
 			}
 			annualBudget.setItemList(itemList);