Browse Source

排程明细锁定

fangpy 8 months ago
parent
commit
42d146ea3c

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

@@ -100,6 +100,8 @@ public interface ApsBlankOrderDao extends BaseMapper<ApsBlankOrderDo> {
 
 
     List<ApsProcessOperationDo> getProcessInfoByLockTime(@Param("lockTime") Date LockTime, @Param("lockMark") String lockMark);
     List<ApsProcessOperationDo> getProcessInfoByLockTime(@Param("lockTime") Date LockTime, @Param("lockMark") String lockMark);
 
 
+    List<ApsProcessOperationProcessEquDo> getProcessDetailInfoByLockTime(@Param("lockTime") Date LockTime, @Param("lockMark") String lockMark);
+
     int checkConflictByBlankId(@Param("blankIds") List<String> blankIds);
     int checkConflictByBlankId(@Param("blankIds") List<String> blankIds);
 
 
     @Select("select * from sys_dict where DELETED = 0 AND ID =(select PID from sys_dict where DELETED = 0 AND ID = (select PID from sys_dict where DELETED = 0 AND ID = #{productionorderid})) limit 1")
     @Select("select * from sys_dict where DELETED = 0 AND ID =(select PID from sys_dict where DELETED = 0 AND ID = (select PID from sys_dict where DELETED = 0 AND ID = #{productionorderid})) limit 1")

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

@@ -540,6 +540,36 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 retMsg = "解锁成功";
                 retMsg = "解锁成功";
             }
             }
             return R.ok("200", retMsg, orderLockVo.getId());
             return R.ok("200", retMsg, orderLockVo.getId());
+        }else{
+            Date lockStartTime = orderLockVo.getLockStartTime();
+            if(lockStartTime != null){
+                // 获取排程参数设置
+                List<ApsScheduleConfigDo> apsConfigs = apsScheduleConfigService.list();
+                // 默认最小排程时间
+                Integer defaultStartStartSchedulerun = 8;
+                if (!apsConfigs.isEmpty()) {
+                    defaultStartStartSchedulerun = apsConfigs.get(0).getStartschedulerun();
+                }
+                if (defaultStartStartSchedulerun == null || defaultStartStartSchedulerun <= 0) {
+                    defaultStartStartSchedulerun = 8;
+                }
+                Date date = orderLockGetSearChDate(lockStartTime, defaultStartStartSchedulerun, lockMark);
+                List<ApsProcessOperationProcessEquDo> processDetailInfoByLockTime = this.baseMapper.getProcessDetailInfoByLockTime(date, lockMark);
+                if(processDetailInfoByLockTime != null && processDetailInfoByLockTime.size()>0){
+                    List<String> lpeus = processDetailInfoByLockTime.stream().map(ApsProcessOperationProcessEquDo::getId).collect(Collectors.toList());
+                    apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
+                            .in(ApsProcessOperationProcessEquDo::getId, lpeus)
+                            .set(ApsProcessOperationProcessEquDo::getLockmarkdetail, lockMark));
+                    String retMsg = "";
+                    // 锁定
+                    if (LOCKMARK_Y.equals(lockMark)) {
+                        retMsg = "锁定成功";
+                    }else if (LOCKMARK_N.equals(lockMark)) {
+                        retMsg = "解锁成功";
+                    }
+                    return R.ok("200", retMsg, lpeus);
+                }
+            }
         }
         }
         return R.ok("200", "没有需要操作的数据", orderLockVo.getId());
         return R.ok("200", "没有需要操作的数据", orderLockVo.getId());
     }
     }

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

@@ -164,6 +164,16 @@
             </choose>
             </choose>
         </where>
         </where>
     </select>
     </select>
+    <select id="getProcessDetailInfoByLockTime" resultType="com.rongwei.bsentity.domain.ApsProcessOperationProcessEquDo">
+        select * from aps_process_operation_process_equ
+        <where>
+            DELETED ='0'
+            <choose>
+                <when test='lockMark=="y"'> and PLANSTARTDATE &lt; #{lockTime} and  LOCKMARK='n'</when>
+                <otherwise>and PLANSTARTDATE &gt; #{lockTime} and  LOCKMARK='y'</otherwise>
+            </choose>
+        </where>
+    </select>
     <update id="publishUnlock">
     <update id="publishUnlock">
         update aps_blank_order
         update aps_blank_order
         <set>
         <set>