ソースを参照

aps-换线后辊类型要自动更新

sucheng 5 ヶ月 前
コミット
f5fbdfdc4e

+ 16 - 0
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsProcessOperationProcessEquServiceImpl.java

@@ -371,6 +371,10 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                 Date planstartdate = processEqus.getPlanstartdate();
                 Date planenddate = processEqus.getPlanenddate();
                 ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(processEqus.getProcessid());
+                //获取工序作业对应的所有加工设备
+                List<ApsProcessOperationEquDo> processOperationEquDos = apsProcessOperationEquService.list(new LambdaQueryWrapper<ApsProcessOperationEquDo>().eq(ApsProcessOperationEquDo::getMainid, apsProcessOperationDo.getId()));
+                //加工设备的资源ID
+                List<String> equIds = processOperationEquDos.stream().map(ApsProcessOperationEquDo::getResourceid).distinct().collect(Collectors.toList());
                 String processWay = apsProcessOperationDo.getProcessway();
                 // 单卷加工时长
                 BigDecimal onceprocessmin = apsProcessOperationDo.getOnceprocessmin();
@@ -385,6 +389,12 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                     processEqus.setProcessworkshop(changingWiresVo.getWorkshopName());
                     processEqus.setProcessdeviceid(changingWiresVo.getEquId());
                     processEqus.setProcessdevice(changingWiresVo.getEquName());
+                    if (equIds.contains(changingWiresVo.getEquId())){
+                        ApsProcessOperationEquDo apsProcessOperationEquDo = processOperationEquDos.stream().filter(item -> item.getResourceid().equals(changingWiresVo.getEquId())).findFirst().orElse(null);
+                        if (ObjectUtil.isNotEmpty(apsProcessOperationEquDo)) {
+                            processEqus.setRollerid(apsProcessOperationEquDo.getRollerid());
+                        }
+                    }
                     // 计划开工时间=计划开工时间-开工时间间隔
                     processEqus.setPlanstartdate(new Date(planstartdate.getTime() - timeInterval));
                     // 计划完工时间=计划完工时间-开工时间间隔
@@ -439,6 +449,12 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                         newProcessEqu.setProcessworkshop(changingWiresVo.getWorkshopName());
                         newProcessEqu.setProcessdeviceid(changingWiresVo.getEquId());
                         newProcessEqu.setProcessdevice(changingWiresVo.getEquName());
+                        if (equIds.contains(changingWiresVo.getEquId())){
+                            ApsProcessOperationEquDo apsProcessOperationEquDo = processOperationEquDos.stream().filter(item -> item.getResourceid().equals(changingWiresVo.getEquId())).findFirst().orElse(null);
+                            if (ObjectUtil.isNotEmpty(apsProcessOperationEquDo)) {
+                                newProcessEqu.setRollerid(apsProcessOperationEquDo.getRollerid());
+                            }
+                        }
                         newProcessEqu.setActualstartdate(null);
                         newProcessEqu.setActualfinishdate(null);
                         newProcessEqu.setCancelroll(0);