소스 검색

Merge remote-tracking branch 'origin/mode-min-unit' into mode-min-unit

fangpy 5 달 전
부모
커밋
43f21f26cf

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

@@ -173,7 +173,7 @@ public interface ApsBlankOrderDao extends BaseMapper<ApsBlankOrderDo> {
     void setLenZhaNextDay(@Param("tenantId") String tenantId, @Param("chongpaiStartDate") DateTime chongpaiStartDate, @Param("chongpaiEndDate") DateTime chongpaiEndDate);
     void setTuiHuoNextDay(@Param("tenantId") String tenantId, @Param("chongpaiStartDate") DateTime chongpaiStartDate, @Param("chongpaiEndDate") DateTime chongpaiEndDate);
 
-    List<ApsProcessOperationProcessEquDo> selectAllNeedSortLenZha(@Param("chongpaiEndDate") DateTime chongpaiEndDate);
+    List<ApsProcessOperationProcessEquDo> selectAllNeedSortLenZha(@Param("chongpaiEndDate") DateTime chongpaiEndDate,@Param("tenantId") String tenantId);
 
-    List<ApsProcessOperationProcessEquDo> selectAllNeedSortTuiHuo(@Param("chongpaiEndDate") DateTime chongpaiEndDate);
+    List<ApsProcessOperationProcessEquDo> selectAllNeedSortTuiHuo(@Param("chongpaiEndDate") DateTime chongpaiEndDate,@Param("tenantId") String tenantId);
 }

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

@@ -134,6 +134,8 @@ public interface ApsProcessOperationProcessEquDao extends BaseMapper<ApsProcessO
     void repairePlanStartDate(@Param("userId") String userId,@Param("userName")String userName);
 
     List<ApsProcessOperationProcessEquCheckVo> getNeedCheckEquList(@Param("startTime") DateTime startTime,@Param("endTime") DateTime endTime, @Param("tenantId") String tenantId);
+
+    void repairePlanStartDate2(@Param("userId") String userId,@Param("userName")String userName);
 }
 
 

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

@@ -72,9 +72,9 @@ public interface ApsBlankOrderService extends IService<ApsBlankOrderDo> {
 
     void apsScheduleRestart(Integer hour,String chongpaiStartDateStr,String chongpaiEndDateStr,SysUserVo currentUser);
 
-    void sortLenZha(DateTime chongpaiEndDate);
+    void sortLenZha(DateTime chongpaiEndDate, String tenantId);
 
-    void sortTuiHuo(DateTime chongpaiEndDate);
+    void sortTuiHuo(DateTime chongpaiEndDate, String tenantId);
 
     void apsScheduleRestart2();
 }

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

@@ -4220,16 +4220,18 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             needScheduleDate = DateUtil.format(chongpaiStartDate, "yyyy-MM-dd");
         }
         if (ObjectUtil.isNotEmpty(needScheduleDate)) {
-
+            String tenantId = CXCommonUtils.getCurrentUserFactoryId(currentUser);
             //将实际完工时间大于明天的作业挪到实际完工时间
-            this.baseMapper.updateFinishDateAboutProcessEqu(needScheduleDate, CXCommonUtils.getCurrentUserFactoryId(currentUser), chongpaiStartDate, chongpaiEndDate);
+            this.baseMapper.updateFinishDateAboutProcessEqu(needScheduleDate, tenantId, chongpaiStartDate, chongpaiEndDate);
             //锁定所有 未锁定的 作业和作业明细
             apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
                     .set(ApsProcessOperationProcessEquDo::getLockmarkdetail, "y")
-                    .eq(ApsProcessOperationProcessEquDo::getLockmarkdetail, "n"));
+                    .eq(ApsProcessOperationProcessEquDo::getLockmarkdetail, "n")
+                    .eq(ApsProcessOperationProcessEquDo::getTenantid, tenantId));
             apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>()
                     .set(ApsProcessOperationDo::getLockmark, "y")
-                    .eq(ApsProcessOperationDo::getLockmark, "n"));
+                    .eq(ApsProcessOperationDo::getLockmark, "n")
+                    .eq(ApsProcessOperationDo::getTenantid, tenantId));
             //排程设置
             ApsScheduleConfigDo apsScheduleConfigDo = apsScheduleConfigService.getById("1");
             try {
@@ -4241,23 +4243,25 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 //锁定所有 未锁定的 作业和作业明细
                 apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
                         .set(ApsProcessOperationProcessEquDo::getLockmarkdetail, "y")
-                        .eq(ApsProcessOperationProcessEquDo::getLockmarkdetail, "n"));
+                        .eq(ApsProcessOperationProcessEquDo::getLockmarkdetail, "n")
+                        .eq(ApsProcessOperationProcessEquDo::getTenantid, tenantId));
                 apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>()
                         .set(ApsProcessOperationDo::getLockmark, "y")
-                        .eq(ApsProcessOperationDo::getLockmark, "n"));
+                        .eq(ApsProcessOperationDo::getLockmark, "n")
+                        .eq(ApsProcessOperationDo::getTenantid, tenantId));
             }
 
             //推算非退火、非铸轧的重叠数据,按序排列
-            sortLenZha(chongpaiEndDate);
+            sortLenZha(chongpaiEndDate, tenantId);
             //推算退火,按序排列
-            sortTuiHuo(chongpaiEndDate);
+            sortTuiHuo(chongpaiEndDate, tenantId);
 
         }
     }
 
-    public void sortTuiHuo(DateTime chongpaiEndDate) {
+    public void sortTuiHuo(DateTime chongpaiEndDate, String tenantId) {
         //查询后续所有的明细(退火)
-        List<ApsProcessOperationProcessEquDo> list = this.baseMapper.selectAllNeedSortTuiHuo(chongpaiEndDate);
+        List<ApsProcessOperationProcessEquDo> list = this.baseMapper.selectAllNeedSortTuiHuo(chongpaiEndDate, tenantId);
         //根据设备分组聚合
         Map<String, List<ApsProcessOperationProcessEquDo>> map = list.stream().collect(Collectors.groupingBy(ApsProcessOperationProcessEquDo::getProcessdeviceid));
 
@@ -4387,7 +4391,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         int count = apsScheduleLogService.count(new LambdaQueryWrapper<ApsScheduleLogDo>()
                 .eq(ApsScheduleLogDo::getTenantid, tenantId)
                 .eq(ApsScheduleLogDo::getScheduletype, "调度排程")
-                .eq(ApsScheduleLogDo::getSucess,"是")
+                .eq(ApsScheduleLogDo::getSucess, "是")
                 .le(ApsScheduleLogDo::getSchedulestarttime, needScheduleDate)
                 .ge(ApsScheduleLogDo::getScheduleendtime, needScheduleDate));
         if (count > 0) {
@@ -4410,9 +4414,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
 
     //去除后续的冲突
     @Override
-    public void sortLenZha(DateTime chongpaiEndDate) {
+    public void sortLenZha(DateTime chongpaiEndDate, String tenantId) {
         //查询后续所有的明细(非退火、非铸轧)
-        List<ApsProcessOperationProcessEquDo> list = this.baseMapper.selectAllNeedSortLenZha(chongpaiEndDate);
+        List<ApsProcessOperationProcessEquDo> list = this.baseMapper.selectAllNeedSortLenZha(chongpaiEndDate, tenantId);
         //根据设备分组聚合
         Map<String, List<ApsProcessOperationProcessEquDo>> map = list.stream().collect(Collectors.groupingBy(ApsProcessOperationProcessEquDo::getProcessdeviceid));
 

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

@@ -202,7 +202,7 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
 
         //当前用户信息
         SysUserVo currentUser = CXCommonUtils.getCurrentUser();
-        apsProcessOperationProcessEquDao.publish(productionOrderIds,currentUser.getId(),currentUser.getName());
+        apsProcessOperationProcessEquDao.publish(productionOrderIds, currentUser.getId(), currentUser.getName());
         // 更新坯料计划的生产状态
         apsBlankOrderDao.publish(productionOrderIds);
         // 更新产品明细的生产状态
@@ -229,7 +229,7 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
         apsProcessOperationDao.publishCancel(productionOrderIds);
         //当前用户信息
         SysUserVo currentUser = CXCommonUtils.getCurrentUser();
-        apsProcessOperationProcessEquDao.publishCancel(productionOrderIds,currentUser.getId(),currentUser.getName());
+        apsProcessOperationProcessEquDao.publishCancel(productionOrderIds, currentUser.getId(), currentUser.getName());
         // 更新坯料计划的生产状态
         apsBlankOrderDao.publishCancel(productionOrderIds);
         // 更新产品明细的生产状态
@@ -557,10 +557,10 @@ public class ApsProductionOrderServiceImpl extends ServiceImpl<ApsProductionOrde
                     throw new RuntimeException("执行流程失败,请刷新页面后重试");
                 }
             }
-        }catch (Exception e){
-            log.error("异常信息:",e);
-        }
-        finally {
+        } catch (Exception e) {
+            log.error("异常信息:", e);
+            throw e;
+        } finally {
             log.debug("校验-订单提交完毕,从map中清空当前订单锁,订单ID:{}", id);
             productOrderLock.remove(id);
         }

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

@@ -800,6 +800,7 @@ public class ApsServiceImpl implements ApsService {
                 }
                 //还原排程过程中,开工/报工的作业的计划时间
                 apsProcessOperationProcessEquDao.repairePlanStartDate(currentUser.getId(), currentUser.getName());
+                apsProcessOperationProcessEquDao.repairePlanStartDate2(currentUser.getId(), currentUser.getName());
 
                 if (StrUtil.isNotBlank(productionScheduleRetVo.getMsg())) {
                     // 排程异常后恢复历史排程结果为锁定状态

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

@@ -545,6 +545,7 @@
                 JOIN aps_process_operation apo ON apope.PROCESSID = apo.ID
         WHERE
             apope.PLANSTARTDATE > #{chongpaiEndDate}
+          AND apope.TENANTID = #{tenantId}
           AND apo.PROCESS NOT IN ('铸轧','中退','成退','小卷成退')
           AND apope.PLANENDDATE is not null
     </select>
@@ -557,6 +558,7 @@
                 JOIN aps_process_operation apo ON apope.PROCESSID = apo.ID
         WHERE
             apope.PLANSTARTDATE > #{chongpaiEndDate}
+          AND apope.TENANTID = #{tenantId}
           AND apo.PROCESS IN ('中退','成退','小卷成退')
           AND apope.PLANENDDATE is not null
     </select>

+ 10 - 8
cx-aps/cx-aps-common/src/main/resources/mybatis/ApsProcessOperationProcessEquDao.xml

@@ -396,7 +396,8 @@
     <update id="repairePlanStartDate">
         update aps_process_operation_process_equ set
          PLANENDDATE = ACTUALFINISHDATE,
-         PLANSTARTDATE = DATE_SUB(ACTUALFINISHDATE,INTERVAL TIMESTAMPDIFF(SECOND,OLDPLANSTARTDATE,OLDPLANENDDATE) SECOND),
+         PLANSTARTDATE = ACTUALSTARTDATE,
+#          PLANSTARTDATE = DATE_SUB(ACTUALFINISHDATE,INTERVAL TIMESTAMPDIFF(SECOND,OLDPLANSTARTDATE,OLDPLANENDDATE) SECOND),
          MODIFYDATE = NOW(),
          MODIFYUSERID = #{userId},
          MODIFYUSERNAME = #{userName}
@@ -405,14 +406,15 @@
           AND OLDPLANSTARTDATE is not null
           AND OLDPLANENDDATE is not null
           AND PLANENDDATE is not null
-          AND ACTUALFINISHDATE != PLANENDDATE;
-
+          AND ACTUALFINISHDATE != PLANENDDATE
+    </update>
+    <update id="repairePlanStartDate2">
         update aps_process_operation_process_equ set
-         PLANSTARTDATE = ACTUALSTARTDATE,
-         PLANENDDATE = DATE_ADD(ACTUALSTARTDATE,INTERVAL TIMESTAMPDIFF(SECOND,OLDPLANSTARTDATE,OLDPLANENDDATE) SECOND),
-         MODIFYDATE = NOW(),
-         MODIFYUSERID = #{userId},
-         MODIFYUSERNAME = #{userName}
+             PLANSTARTDATE = ACTUALSTARTDATE,
+             PLANENDDATE = DATE_ADD(ACTUALSTARTDATE,INTERVAL TIMESTAMPDIFF(SECOND,OLDPLANSTARTDATE,OLDPLANENDDATE) SECOND),
+             MODIFYDATE = NOW(),
+             MODIFYUSERID = #{userId},
+             MODIFYUSERNAME = #{userName}
         where DELETED = 0
           AND ACTUALFINISHDATE is null
           AND ACTUALSTARTDATE is not null

+ 3 - 2
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsBlankOrderController.java

@@ -10,6 +10,7 @@ import com.rongwei.bsentity.domain.ApsProductionTechnicalRequirementDo;
 import com.rongwei.bsentity.vo.*;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.vo.CriteriaQuery;
+import com.rongwei.safecommon.utils.CXCommonUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -258,8 +259,8 @@ public class ApsBlankOrderController {
      */
     @GetMapping("/chongPaiByEndDate")
     public R chongPaiByEndDate(@RequestParam("chongpaiEndDate") String chongpaiEndDate){
-        apsBlankOrderService.sortLenZha(DateUtil.parseDate(chongpaiEndDate));
-        apsBlankOrderService.sortTuiHuo(DateUtil.parseDate(chongpaiEndDate));
+        apsBlankOrderService.sortLenZha(DateUtil.parseDate(chongpaiEndDate), CXCommonUtils.getCurrentUserFactoryId(null));
+        apsBlankOrderService.sortTuiHuo(DateUtil.parseDate(chongpaiEndDate), CXCommonUtils.getCurrentUserFactoryId(null));
         return R.ok();
     }
 }