ソースを参照

bugFix 解决备料卷数重复扣的问题

xiahan 11 ヶ月 前
コミット
69211c7f3d

+ 3 - 5
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ReportCheckServiceImpl.java

@@ -536,10 +536,10 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                 }
                 int cancellation;
                 if (toBeAllocated > 0) {
-                    log.info("开始更新备料相关数据!卷数:{},输出物料id:{}", toBeAllocated, key);
                     // 该作业明细的计划加工卷数*该作业的输出物料的计划备料卷数/该作业的计划加工卷数
                     int  planeProcessedRolls=(int) Math.floor((double)
                             (currentProcessOperationEqu.getPlanprocessrall() * apsProcessOperationOutMaterDo.getPlanstockrollnum()) / currentProcessOperationMainDo.getPlanprocessrall());
+                    log.info("开始更新备料相关数据!待分配卷数:{},计划备料卷数:{},输出物料id:{}", toBeAllocated, planeProcessedRolls, key);
                     // 如果该作业明细输出物料的计划备料卷数≥待分配取消卷,则本次备料取消卷数=待分配取消卷 否则 本次备料取消卷数=该作业明细输出物料的计划备料卷数;
                     cancellation = Math.min(planeProcessedRolls, toBeAllocated);
                     /**
@@ -551,15 +551,13 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                             ApsProcessOperationOutMaterDo::setStockcancelroll, cancellation, 1);
                     calculateAboutRollNum(apsProcessOperationOutMaterDo, ApsProcessOperationOutMaterDo::getStockleaveoutroll,
                             ApsProcessOperationOutMaterDo::setStockleaveoutroll, cancellation, -1);
-                    calculateAboutRollNum(apsProcessOperationOutMaterDo, ApsProcessOperationOutMaterDo::getStockleaveoutroll,
-                            ApsProcessOperationOutMaterDo::setStockleaveoutroll, cancellation, -1);
                     toBeAllocated = toBeAllocated - cancellation;
                 }
                 // 流转卷数相关
                 if (toBeAllocated > 0) {
-                    log.info("开始更新流转卷数相关数据!卷数:{},输出物料id:{}", toBeAllocated, key);
                     int planCirculationRolls=(int) Math.floor((double) (currentProcessOperationEqu.getPlanprocessrall() *
                             apsProcessOperationOutMaterDo.getPlanmoverollnum()) / currentProcessOperationMainDo.getPlanprocessrall());
+                    log.info("开始更新流转卷数相关数据!待分配卷数:{},计划流转卷数:{},输出物料id:{}", toBeAllocated, planCirculationRolls,key);
                     // 如果该作业明细输出物料的计划流转卷数≥待分配取消卷,则本次流转取消卷数=待分配取消卷; 则本次成品取消卷数=该作业明细输出物料的计划流转卷数;
                     cancellation = Math.min(planCirculationRolls, toBeAllocated);
                     /**
@@ -583,7 +581,7 @@ public class ReportCheckServiceImpl implements ReportCheckService {
                 if (toBeAllocated > 0) {
                     int finishedProductRolls=(int) Math.floor((double) (currentProcessOperationEqu.getPlanprocessrall() *
                             apsProcessOperationOutMaterDo.getPlanprodrollnum()) / currentProcessOperationMainDo.getPlanprocessrall());
-                    log.info("开始更新成品输出卷数相关数据!卷数:{},输出物料id:{}", toBeAllocated, key);
+                    log.info("开始更新成品输出卷数相关数据!待分配卷数:{},计划成品卷数:{},输出物料id:{}", toBeAllocated, finishedProductRolls,key);
                     // 如果该作业明细输出物料的计划成品卷数≥待分配取消卷,则本次流转取消卷数=待分配取消卷; 则本次成品取消卷数=该作业明细输出物料的计划成品卷数;
                     cancellation = Math.min(finishedProductRolls, toBeAllocated);
                     /**