sucheng преди 6 месеца
родител
ревизия
f8423b8bb7

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

@@ -159,4 +159,6 @@ public interface ApsBlankOrderDao extends BaseMapper<ApsBlankOrderDo> {
     void removeLockNextDayProcessEqu(@Param("needScheduleDate") String needScheduleDate);
 
     void removeLockNextTwoDayProcessEqu(@Param("needScheduleDate") String needScheduleDate);
+
+    List<ApsProcessOperationProcessEquDo> selectNeedRescheduleEqu(@Param("needScheduleDate") String needScheduleDate);
 }

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

@@ -3988,9 +3988,24 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         if (ObjectUtil.isNotEmpty(needScheduleDate)) {
             //将实际完工时间大于明天的作业挪到实际完工时间
             this.baseMapper.updateFinishDateAboutProcessEqu(needScheduleDate);
-            //查询重排时间的所有作业明细信息,不包括:铸轧、成退、中退、小卷成退
-            this.baseMapper.selectNeedRescheduleEqu(needScheduleDate);
+            //查询在重排时间前一天之后的所有作业明细信息,不包括:铸轧、成退、中退、小卷成退
+            List<ApsProcessOperationProcessEquDo> list = this.baseMapper.selectNeedRescheduleEqu(needScheduleDate);
+            //查询重排时间之后的所有作业明细
+            String finalNeedScheduleDate = needScheduleDate;
+            List<ApsProcessOperationProcessEquDo> needScheduleList = list.stream().filter(item -> item.getPlanstartdate().compareTo(DateUtil.parseDate(finalNeedScheduleDate)) >= 0).collect(Collectors.toList());
+            //查询重排时间前一天的所有作业明细
+            List<ApsProcessOperationProcessEquDo> beforeScheduleList = list.stream().filter(item -> item.getPlanstartdate().compareTo(DateUtil.parseDate(finalNeedScheduleDate)) < 0).collect(Collectors.toList());
+            //重排时间前一天的所有作业明细ID
+            List<String> afterScheduleIdList = beforeScheduleList.stream().map(ApsProcessOperationProcessEquDo::getId).collect(Collectors.toList());
+            for (ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo : needScheduleList) {
+                //前道作业明细ID不为空
+                if (ObjectUtil.isNotEmpty(apsProcessOperationProcessEquDo.getPreviousprocessesids())){
+                    //如果存在
+                    if (afterScheduleIdList.contains(apsProcessOperationProcessEquDo.getPreviousprocessesids())){
 
+                    }
+                }
+            }
 
 
             //解锁明天有开工作业明细的坯料计划的所有作业明细

+ 13 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsBlankOrderDao.xml

@@ -406,4 +406,17 @@
             apo.DELETED = 0
           AND apo.ID = #{productionorderid}
     </select>
+    <select id="selectNeedRescheduleEqu"
+            resultType="com.rongwei.bsentity.domain.ApsProcessOperationProcessEquDo">
+        SELECT
+            apope.*
+        FROM
+            aps_process_operation apo
+                LEFT JOIN aps_process_operation_process_equ apope ON apo.ID = apope.PROCESSID
+                AND apope.DELETED = 0
+        WHERE
+            apo.DELETED = 0
+          AND apo.PROCESS NOT IN ( '铸轧', '成退', '中退', '小卷成退' )
+          AND apope.PLANSTARTDATE >= DATE_SUB(#{needScheduleDate}, INTERVAL 1 DAY)
+    </select>
 </mapper>