Procházet zdrojové kódy

排程异常优化

fangpy před 7 měsíci
rodič
revize
53756ba961

+ 1 - 1
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/dao/ApsBlankOrderDao.java

@@ -55,7 +55,7 @@ public interface ApsBlankOrderDao extends BaseMapper<ApsBlankOrderDo> {
 
     @Select("<script>select DISTINCT a.*,c.DELIVERYDATE,c.DELIVERYTIME from aps_blank_order a LEFT JOIN aps_process_operation b on a.ID=b.BLANKID LEFT JOIN aps_production_order c on a.PRODUCTIONORDERID=c.ID\n" +
             "where a.DELETED='0' and b.DELETED='0' and c.DELETED='0' and (b.LOCKMARK='n' OR b.LOCKMARK is null) " +
-            "and c.TENANTID = #{tenantId}  and a.SCHEDULINGSTATUS != '10' and a.ISSTAG = '否'" +
+            "and c.TENANTID = #{tenantId}  and a.SCHEDULINGSTATUS = '20' and a.ISSTAG = '否'" +
             "<if test='hasIds != null and hasIds != &apos;&apos;'> " +
             "    and a.ID not in (${hasIds})" +
             "</if></script>")

+ 9 - 2
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsServiceImpl.java

@@ -971,6 +971,9 @@ public class ApsServiceImpl implements ApsService {
                                     .in(ApsProcessOperationOutMaterDo::getMainid, processIds));
 
                             for (ApsProcessOperationProcessEquDo equs : processEqus) {
+                                if(equs.getPlanstartdate() == null || equs.getPlanenddate() == null){
+                                    continue;
+                                }
                                 EquipmentRunTime er = new EquipmentRunTime();
                                 er.setStartRunTime(equs.getPlanstartdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
                                 er.setEndRunTime(equs.getPlanenddate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
@@ -1104,14 +1107,18 @@ public class ApsServiceImpl implements ApsService {
                                     ids.add(v.get(vi).getId());
                                     productionProcesses.get(i).setNextProcessesIds(ids);
                                 }else{
-                                    productionProcesses.get(i).getNextProcessesIds().add(v.get(vi).getId());
+                                    if(!productionProcesses.get(i).getNextProcessesIds().contains(v.get(vi).getId())){
+                                        productionProcesses.get(i).getNextProcessesIds().add(v.get(vi).getId());
+                                    }
                                 }
                                 if(v.get(vi).getPreviousProcessesIds() == null){
                                     List<String> ids = new ArrayList<>();
                                     ids.add(productionProcesses.get(i).getId());
                                     v.get(vi).setPreviousProcessesIds(ids);
                                 }else{
-                                    v.get(vi).getPreviousProcessesIds().add(productionProcesses.get(i).getId());
+                                    if(!v.get(vi).getPreviousProcessesIds().contains(productionProcesses.get(i).getId())){
+                                        v.get(vi).getPreviousProcessesIds().add(productionProcesses.get(i).getId());
+                                    }
                                 }
                                 vi++;
                             }