Преглед изворни кода

aps-排程结束后,还原排程过程中,开工/报工的作业的计划时间

sucheng пре 5 месеци
родитељ
комит
1ce38c0553

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

@@ -128,6 +128,8 @@ public interface ApsProcessOperationProcessEquDao extends BaseMapper<ApsProcessO
 
     @Select("select * from aps_process_operation_process_equ where DELETED = 0 AND PROCESSDEVICEID = #{processdeviceid} AND ID != #{apsProcessOperationProcessEquDoId} AND WAITREPORTID IS NOT NULL AND WAITREPORTID != ''")
     List<ApsProcessOperationProcessEquDo> selectHaveOtherDevice(@Param("processdeviceid") String processdeviceid,@Param("apsProcessOperationProcessEquDoId") String apsProcessOperationProcessEquDoId);
+
+    void repairePlanStartDate();
 }
 
 

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

@@ -11,6 +11,7 @@ import cn.hutool.json.JSONUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.rongwei.bscommon.sys.dao.ApsBlankOrderDao;
+import com.rongwei.bscommon.sys.dao.ApsProcessOperationProcessEquDao;
 import com.rongwei.bscommon.sys.fegin.RwApsServer;
 import com.rongwei.bscommon.sys.service.*;
 import com.rongwei.bsentity.domain.*;
@@ -81,6 +82,8 @@ public class ApsServiceImpl implements ApsService {
     private ApsProcessOperationEquService apsProcessOperationEquService;
     @Autowired
     private ApsProcessOperationProcessEquService apsProcessOperationProcessEquService;
+    @Autowired
+    private ApsProcessOperationProcessEquDao apsProcessOperationProcessEquDao;
 
     /**
      * Aps排程
@@ -782,6 +785,8 @@ public class ApsServiceImpl implements ApsService {
                 } else {
                     apsBlankOrderService.apsAfter(productionScheduleRetVo, apsBlankOrders, currentUser, apsType);
                 }
+                //还原排程过程中,开工/报工的作业的计划时间
+                apsProcessOperationProcessEquDao.repairePlanStartDate();
 
                 if (StrUtil.isNotBlank(productionScheduleRetVo.getMsg())) {
                     // 排程异常后恢复历史排程结果为锁定状态

+ 22 - 0
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProcessOperationProcessEquDao.xml

@@ -387,6 +387,28 @@
             )
         </where>
     </update>
+    <update id="repairePlanStartDate">
+        update aps_process_operation_process_equ set
+         PLANENDDATE = ACTUALFINISHDATE,
+         PLANSTARTDATE = DATE_SUB(ACTUALFINISHDATE,INTERVAL TIMESTAMPDIFF(SECOND,OLDPLANSTARTDATE,OLDPLANENDDATE) SECOND)
+        where DELETED = 0
+          AND ACTUALFINISHDATE is not null
+          AND OLDPLANSTARTDATE is not null
+          AND OLDPLANENDDATE is not null
+          AND PLANENDDATE is not null
+          AND ACTUALFINISHDATE != PLANENDDATE;
+
+        update aps_process_operation_process_equ set
+         PLANSTARTDATE = ACTUALSTARTDATE,
+         PLANENDDATE = DATE_ADD(ACTUALSTARTDATE,INTERVAL TIMESTAMPDIFF(SECOND,OLDPLANSTARTDATE,OLDPLANENDDATE) SECOND)
+        where DELETED = 0
+          AND ACTUALFINISHDATE is null
+          AND ACTUALSTARTDATE is not null
+          AND OLDPLANSTARTDATE is not null
+          AND OLDPLANENDDATE is not null
+          AND PLANSTARTDATE is not null
+          AND ACTUALSTARTDATE != PLANSTARTDATE
+    </update>
     <select id="getOptionalEquipmentById" resultType="com.rongwei.bsentity.vo.OptionalEquipmentVo">
         SELECT
         CONCAT(aci.USEDEPTID, '/', aci.ID ) AS value ,