邱宇豪
2023-11-06 a13c11ad715c82debac45c38a92d0e0b9f4f09ef
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);