xiahan 11 месяцев назад
Родитель
Сommit
45f8215404

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

@@ -101,7 +101,8 @@ public interface ApsProcessOperationProcessEquDao extends BaseMapper<ApsProcessO
     List<ApsProcessOperationProcessEquDo> getTimeOverlapByEquId(@Param("equId") String equId,
                                                                 @Param("id") String id,
                                                                 @Param("oldStartDate")  Date oldStartDate,
-                                                                @Param("oldEndDate")  Date oldEndDate);
+                                                                @Param("oldEndDate")  Date oldEndDate,
+                                                                @Param("currentProcessWay") String currentProcessWay);
 }
 
 

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

@@ -934,11 +934,12 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
         List<String> affectedIdList = new ArrayList<>();
 
         List<ApsProcessOperationProcessEquDo> beforeUpdatingConflictId = null;
-        // 如果当前工序是合并加工 需要获取在修改之前存在中途的数据
-        if (PROCESS_WAY_MERGE.equals(currentProcessWay)) {
-            // 获取更新之前的存在冲突的工序作业
-            beforeUpdatingConflictId = this.baseMapper.getTimeOverlapByEquId(oldEquId, apsProcessOperationProcessEquDo.getId(), oldPlanstartdate, oldPlanenddate);
-        }
+
+
+        // 获取更新之前的存在冲突的工序作业
+        beforeUpdatingConflictId = this.baseMapper.getTimeOverlapByEquId(oldEquId,
+                apsProcessOperationProcessEquDo.getId(), oldPlanstartdate, oldPlanenddate, currentProcessWay);
+
 
         if (beforeUpdatingConflictId != null && !beforeUpdatingConflictId.isEmpty()) {
             affectedIdList.addAll(beforeUpdatingConflictId.stream().map(ApsProcessOperationProcessEquDo::getId).collect(Collectors.toList()));

+ 3 - 2
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProcessOperationProcessEquDao.xml

@@ -463,10 +463,11 @@
         <where>
               apope.ID != #{id}
             AND  apope.PROCESSDEVICEID =#{equId}
-            and  app.PROCESSWAY='合并加工'
             and ( #{oldStartDate} BETWEEN apope.PLANSTARTDATE AND  apope.PLANENDDATE
             OR  #{oldEndDate} BETWEEN apope.PLANSTARTDATE AND  apope.PLANENDDATE )
-            and #{oldStartDate} != apope.PLANSTARTDATE
+            <if test="currentProcessWay == '合并加工'">
+                and #{oldStartDate} != apope.PLANSTARTDATE
+            </if>
         </where>
     </select>
 </mapper>