Prechádzať zdrojové kódy

Merge branch 'mode-min-unit' into mode-min-unit-交期偏差

sucheng 2 mesiacov pred
rodič
commit
33896d2e9a

+ 10 - 4
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsReportRecordsServiceImpl.java

@@ -1078,7 +1078,7 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
             ApsProductionOrderDo apsProductionOrderDo = apsProductionOrderService.getById(apsBlankOrderDo.getProductionorderid());
             //合并加工作业开工之后进行报工,同步更新一起开工的其他作业的加工参数//需求变更:前面条件成立的前提下增加查找与当前工序作业炉次号相同的数据
             if (ObjectUtil.isNotEmpty(apsReportMachiningDoList)) {
-                syncOtherEquRecords(apsProcessOperationDo, apsProcessOperationProcessEquDo, nowReportRecordsDo, apsReportMachiningDoList, currentUser, nowReportRecordsDo.getHeatnumber());
+                syncOtherEquRecords(apsProcessOperationDo, apsProcessOperationProcessEquDo, apsReportRecordsDo, apsReportMachiningDoList, currentUser, nowReportRecordsDo.getHeatnumber());
             }
 
             //如果工序作业是否坯料工序=是,检查每个报工输出物料批次号
@@ -2121,10 +2121,10 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
         if ("合并加工".equals(apsProcessOperationDo.getProcessway())) {
             List<ApsProcessOperationProcessEquDo> list = apsProcessOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
                     .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, apsProcessOperationProcessEquDo.getProcessdeviceid())
-                    .eq(ApsProcessOperationProcessEquDo::getOldplanstartdate, apsProcessOperationProcessEquDo.getOldplanstartdate())
+                    .eq(ApsProcessOperationProcessEquDo::getPlanstartdate, apsProcessOperationProcessEquDo.getPlanstartdate())
                     .eq(ApsProcessOperationProcessEquDo::getProcessid, apsProcessOperationDo.getId())
-                    .notIn(ApsProcessOperationProcessEquDo::getId, apsReportRecordsDo.getProcessequid())
-                    .and(qw -> qw.gt(ApsProcessOperationProcessEquDo::getActualfinishdate, apsProcessOperationProcessEquDo.getActualstartdate()).or().isNull(ApsProcessOperationProcessEquDo::getActualfinishdate)));
+                    .notIn(ApsProcessOperationProcessEquDo::getId, apsProcessOperationProcessEquDo.getId())
+                    .and(qw -> qw.ge(ApsProcessOperationProcessEquDo::getActualfinishdate, apsReportRecordsDo.getReportworktime()).or().isNull(ApsProcessOperationProcessEquDo::getActualfinishdate)));
             List<String> equIds = list.stream().map(ApsProcessOperationProcessEquDo::getId).collect(Collectors.toList());
             log.info("待同步工序作业明细主键数据:{}", equIds);
             if (!equIds.isEmpty()) {
@@ -2157,6 +2157,12 @@ public class ApsReportRecordsServiceImpl extends ServiceImpl<ApsReportRecordsDao
                 if (!needInsertList.isEmpty()) {
                     apsReportMachiningService.saveBatch(needInsertList);
                 }
+                List<String> needUpdatePlanstartDateList = equIds.stream().filter(item -> !item.equals(apsProcessOperationProcessEquDo.getId())).distinct().collect(Collectors.toList());
+                if (!needUpdatePlanstartDateList.isEmpty()) {
+                    apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
+                            .set(ApsProcessOperationProcessEquDo::getPlanstartdate, apsReportRecordsDo.getStartworktime())
+                            .in(ApsProcessOperationProcessEquDo::getId, needUpdatePlanstartDateList));
+                }
             }
         }
     }