瀏覽代碼

aps-冲突bug修复

sucheng 6 月之前
父節點
當前提交
8a85f418d9

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

@@ -122,6 +122,8 @@ public interface ApsProcessOperationProcessEquDao extends BaseMapper<ApsProcessO
 
     @Select("select apope.PLANSTARTDATE 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.BLANKID = #{blankid} AND apo.PROCESS != '铸轧' ORDER BY apope.PLANSTARTDATE limit 1")
     Date getEarltPlanStartDate(@Param("blankid") String blankid);
+
+    List<String> selectEquByProcessId(@Param("processid") String processid);
 }
 
 

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

@@ -603,8 +603,9 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
         //工序作业ID
         String processid = apsProcessOperationProcessEquDo.getProcessid();
         //查询工艺步骤指定的可选设备
-        List<ApsProcessOperationEquDo> processOperationEquDos = apsProcessOperationEquService.list(new LambdaQueryWrapper<ApsProcessOperationEquDo>().eq(ApsProcessOperationEquDo::getMainid, processid));
-        long count = processOperationEquDos.stream().filter(item -> item.getResourceid().equals(apsProcessOperationProcessEquDo.getProcessdeviceid())).count();
+        List<String> processOperationEquList = this.baseMapper.selectEquByProcessId(processid);
+//        List<ApsProcessOperationEquDo> processOperationEquDos = apsProcessOperationEquService.list(new LambdaQueryWrapper<ApsProcessOperationEquDo>().eq(ApsProcessOperationEquDo::getMainid, processid));
+        long count = processOperationEquList.stream().filter(item -> item.equals(apsProcessOperationProcessEquDo.getProcessdeviceid())).count();
         String newConflictdes = apsProcessOperationProcessEquDo.getConflictdes();
         if (count <= 0) {
             //如果加工设备不是工艺步骤指定的可选设备,记录冲突:加工设备不是工艺要求的可选设备

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

@@ -577,4 +577,8 @@
             AND apope.PLANSTARTDATE > #{date1}
             AND apope.PLANENDDATE &lt; #{date2}
     </select>
+    <select id="selectEquByProcessId" resultType="java.lang.String">
+        select DISTINCT IF(apoe.RESOURCETYPE = '设备',apoe.RESOURCEID,a.EQUIPMENTID) AS 'EQUIPMENTID' from aps_process_operation_equ apoe LEFT JOIN (select arg.ID,are.EQUIPMENTID from aps_resource_group arg LEFT JOIN aps_resources_equipment are ON arg.ID = are.MAINID AND arg.DELETED = 0 where arg.DELETED = 0) a ON apoe.RESOURCEID = a.ID
+        where apoe.MAINID = #{processid}
+    </select>
 </mapper>