Quellcode durchsuchen

aps-作业明细增加加工设备编号字段

sucheng vor 3 Monaten
Ursprung
Commit
5c01f3688f

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

@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateTime;
 import com.rongwei.bsentity.domain.ApsBlankOrderDo;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.rongwei.bsentity.domain.ApsProductionTechnicalRequirementDo;
+import com.rongwei.bsentity.domain.AspCheckItemsDo;
 import com.rongwei.bsentity.vo.*;
 import com.rongwei.rwadmincommon.system.vo.SysUserVo;
 import com.rongwei.rwcommon.base.R;
@@ -52,9 +53,9 @@ public interface ApsBlankOrderService extends IService<ApsBlankOrderDo> {
     R removeBlankOrder(ApsBlankOrderDo req);
     void removeBlankOrderAndChild(ApsBlankOrderDo req);
 
-    void apsAfter(ProductionScheduleRetVo productionScheduleRetVo,List<ApsBlankOrderVo> apsBlankOrders,SysUserVo currentUser,ApsTypeVo apsType) throws Exception;
+    void apsAfter(ProductionScheduleRetVo productionScheduleRetVo,List<ApsBlankOrderVo> apsBlankOrders,SysUserVo currentUser,ApsTypeVo apsType, List<AspCheckItemsDo> equList) throws Exception;
 
-    void ddApsAfter(ProductionScheduleRetVo productionScheduleRetVo,List<ApsBlankOrderVo> apsBlankOrders,SysUserVo currentUser,ApsTypeVo apsType) throws Exception;
+    void ddApsAfter(ProductionScheduleRetVo productionScheduleRetVo,List<ApsBlankOrderVo> apsBlankOrders,SysUserVo currentUser,ApsTypeVo apsType, List<AspCheckItemsDo> equList) throws Exception;
 
     R checkAndUpdateBlankAndOutput(ApsProductionTechnicalRequirementDo req);
     void updateBlankSplicingColumn(String blankId);

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

@@ -798,7 +798,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public void apsAfter(ProductionScheduleRetVo productionScheduleRetVo, List<ApsBlankOrderVo> apsBlankOrders, SysUserVo currentUser, ApsTypeVo apsType) throws Exception {
+    public void apsAfter(ProductionScheduleRetVo productionScheduleRetVo, List<ApsBlankOrderVo> apsBlankOrders, SysUserVo currentUser, ApsTypeVo apsType, List<AspCheckItemsDo> equList) throws Exception {
         // 先删除所有作业的明细
         List<String> blankids = CollUtil.distinct(productionScheduleRetVo.getProcesses().stream().map(v -> v.getProduceOrder().get(0).getId()).collect(Collectors.toList()));
 //        List<String> blankids = apsBlankOrders.stream().map(v -> v.getId()).collect(Collectors.toList());
@@ -833,6 +833,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                     apsProcessOperationProcessEqu.setProcessid(process.getBsProcessesId().get(0));
                     apsProcessOperationProcessEqu.setBlankid(process.getProduceOrder().get(0).getId());
                     apsProcessOperationProcessEqu.setProcessdeviceid(process.getEquipment().getId());
+                    equList.stream().filter(item -> item.getId().equals(process.getEquipment().getId())).findFirst().ifPresent(aspCheckItemsDo -> apsProcessOperationProcessEqu.setProcessdevicecode(aspCheckItemsDo.getCheckitemcode()));
                     apsProcessOperationProcessEqu.setProcessdevice(process.getEquipment().getEquipmentName());
                     apsProcessOperationProcessEqu.setProcessworkshopid(process.getEquipment().getWorkshopid());
                     apsProcessOperationProcessEqu.setProcessworkshop(process.getEquipment().getWorkshopname());
@@ -904,6 +905,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                         apsProcessOperationProcessEqu.setProcessid(k);
                         apsProcessOperationProcessEqu.setBlankid(v.get(0).getBlankid());
                         apsProcessOperationProcessEqu.setProcessdeviceid(process.getEquipment().getId());
+                        equList.stream().filter(item -> item.getId().equals(process.getEquipment().getId())).findFirst().ifPresent(aspCheckItemsDo -> apsProcessOperationProcessEqu.setProcessdevicecode(aspCheckItemsDo.getCheckitemcode()));
                         apsProcessOperationProcessEqu.setProcessdevice(process.getEquipment().getEquipmentName());
                         apsProcessOperationProcessEqu.setPlanstartdate(Date.from(process.getStartTime().atZone(ZoneId.systemDefault()).toInstant()));
                         apsProcessOperationProcessEqu.setPlanenddate(Date.from(process.getEndTime().atZone(ZoneId.systemDefault()).toInstant()));
@@ -1037,7 +1039,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
      */
     @Transactional(rollbackFor = Exception.class)
     @Override
-    public void ddApsAfter(ProductionScheduleRetVo productionScheduleRetVo, List<ApsBlankOrderVo> apsBlankOrders, SysUserVo currentUser, ApsTypeVo apsType) throws Exception {
+    public void ddApsAfter(ProductionScheduleRetVo productionScheduleRetVo, List<ApsBlankOrderVo> apsBlankOrders, SysUserVo currentUser, ApsTypeVo apsType, List<AspCheckItemsDo> equList) throws Exception {
         // 先删除所有作业的明细
         List<String> blankids = CollUtil.distinct(productionScheduleRetVo.getProcesses().stream().map(v -> v.getProduceOrder().get(0).getId()).collect(Collectors.toList()));
         // 查询坯料计划所有已存在的作业明细
@@ -1062,6 +1064,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 ApsProcessOperationProcessEquDo apsProcessOperationProcessEqu = new ApsProcessOperationProcessEquDo();
                 apsProcessOperationProcessEqu.setId(process.getId());
                 apsProcessOperationProcessEqu.setProcessdeviceid(process.getEquipment().getId());
+                equList.stream().filter(item -> item.getId().equals(process.getEquipment().getId())).findFirst().ifPresent(aspCheckItemsDo -> apsProcessOperationProcessEqu.setProcessdevicecode(aspCheckItemsDo.getCheckitemcode()));
                 apsProcessOperationProcessEqu.setProcessdevice(process.getEquipment().getEquipmentName());
                 apsProcessOperationProcessEqu.setProcessworkshopid(process.getEquipment().getWorkshopid());
                 apsProcessOperationProcessEqu.setProcessworkshop(process.getEquipment().getWorkshopname());

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

@@ -328,6 +328,8 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
         for (String equId : detailIds) {
             changeWiresLock.put(equId, nowWorkUser.getId());
         }
+        //查询所有设备
+        List<AspCheckItemsDo> equList = aspCheckItemsService.list();
         List<String> aboutIds = new LinkedList<>();
         try {
             // 需要返回的相关ID
@@ -483,6 +485,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                             needEqu.setProcessworkshopid(changingWiresVo.getWorkshopId());
                             needEqu.setProcessworkshop(changingWiresVo.getWorkshopName());
                             needEqu.setProcessdeviceid(changingWiresVo.getEquId());
+                            equList.stream().filter(item -> item.getId().equals(changingWiresVo.getEquId())).findFirst().ifPresent(aspCheckItemsDo -> needEqu.setProcessdevicecode(aspCheckItemsDo.getCheckitemcode()));
                             needEqu.setProcessdevice(changingWiresVo.getEquName());
                             //可选设备
                             String canchoosedeviceid = apsProcessOperationDo.getCanchoosedeviceid();
@@ -1176,6 +1179,14 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
         SysUserVo currentUser = CXCommonUtils.getCurrentUser();
         List<String> returnAboutIds = new ArrayList<>();
         for (ChangeStartTimeVo changeStartTimeVo : changeStartTimeVos) {
+            String equCode = "";
+            if (StringUtils.isNotBlank(changeStartTimeVo.getEquId())) {
+                AspCheckItemsDo aspCheckItemsDo = aspCheckItemsService.getById(changeStartTimeVo.getEquId());
+                if (aspCheckItemsDo != null) {
+                    equCode = aspCheckItemsDo.getCheckitemcode();
+                }
+            }
+
             vo = new UpdateConflictVo();
             String id = changeStartTimeVo.getId();
             affectedIdList.add(id);
@@ -1204,6 +1215,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
             vo.setOldEquId(processEquDo.getProcessdeviceid());
             if (StringUtils.isNotBlank(changeStartTimeVo.getEquId())) {
                 processEquDo.setProcessdeviceid(changeStartTimeVo.getEquId());
+                processEquDo.setProcessdevicecode(equCode);
             }
             if (StringUtils.isNotBlank(changeStartTimeVo.getEquName())) {
                 processEquDo.setProcessdevice(changeStartTimeVo.getEquName());
@@ -1226,6 +1238,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                     .set(ApsProcessOperationProcessEquDo::getPlanstartdate, changeStartTimeVo.getPlanStartTime())
                     .set(ApsProcessOperationProcessEquDo::getPlanenddate, changeStartTimeVo.getPlanEndTime())
                     .set(StringUtils.isNotBlank(changeStartTimeVo.getEquId()), ApsProcessOperationProcessEquDo::getProcessdeviceid, changeStartTimeVo.getEquId())
+                    .set(StringUtils.isNotBlank(changeStartTimeVo.getEquId()), ApsProcessOperationProcessEquDo::getProcessdevicecode, equCode)
                     .set(StringUtils.isNotBlank(changeStartTimeVo.getEquName()), ApsProcessOperationProcessEquDo::getProcessdevice, changeStartTimeVo.getEquName())
                     .set(ApsProcessOperationProcessEquDo::getModifydate, DateUtil.date())
                     .set(ApsProcessOperationProcessEquDo::getModifyuserid, currentUser.getId())
@@ -1304,6 +1317,8 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
 //                return R.error("已开工的作业不可修改");
 //            }
         }
+        //查詢所有设备
+        List<AspCheckItemsDo> equList = aspCheckItemsService.list();
         if (apsProcessOperationDo != null && "合并加工".equals(apsProcessOperationDo.getProcessway())) {
             List<ApsProcessOperationProcessEquDo> changeApsProcessEquList = apsProcessOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
                     .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, apsProcessOperationProcessEquDo.getProcessdeviceid())
@@ -1316,6 +1331,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                 if (StringUtils.isNotBlank(equId)) {
                     info.setProcessdevice(equName);
                     info.setProcessdeviceid(equId);
+                    equList.stream().filter(item -> item.getId().equals(equId)).findFirst().ifPresent(aspCheckItemsDo -> info.setProcessdevicecode(aspCheckItemsDo.getCheckitemcode()));
                     info.setProcessworkshop(jobDetailsVo.getWorkshopName());
                     info.setProcessworkshopid(jobDetailsVo.getWorkshopId());
                     if (ObjectUtil.isNotEmpty(jobDetailsVo.getRollerId())) {
@@ -1361,6 +1377,10 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
             if (StringUtils.isNotBlank(equId)) {
                 apsProcessOperationProcessEquDo.setProcessdevice(equName);
                 apsProcessOperationProcessEquDo.setProcessdeviceid(equId);
+                AspCheckItemsDo aspCheckItemsDo = equList.stream().filter(item -> item.getId().equals(equId)).findFirst().orElse(null);
+                if (aspCheckItemsDo != null) {
+                    apsProcessOperationProcessEquDo.setProcessdevicecode(aspCheckItemsDo.getCheckitemcode());
+                }
                 apsProcessOperationProcessEquDo.setProcessworkshop(jobDetailsVo.getWorkshopName());
                 apsProcessOperationProcessEquDo.setProcessworkshopid(jobDetailsVo.getWorkshopId());
                 if (ObjectUtil.isNotEmpty(jobDetailsVo.getRollerId())) {
@@ -1459,6 +1479,8 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
             splitLock.put(equId, nowWorkUser.getId());
         }
         try {
+            //查询所有设备
+            List<AspCheckItemsDo> equList = aspCheckItemsService.list();
             // 所有的工序作业明细
             List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = (List<ApsProcessOperationProcessEquDo>) this.listByIds(ids);
             // 前一个工序作业明细Id
@@ -1534,6 +1556,8 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                 } else {
                     newDo.setProcessdeviceid(currentProcessEquDo.getProcessdeviceid());
                 }
+                equList.stream().filter(item -> item.getId().equals(newDo.getProcessdeviceid())).findFirst().ifPresent(aspCheckItemsDo -> newDo.setProcessdevicecode(aspCheckItemsDo.getCheckitemcode()));
+
 
                 if (StringUtils.isNotBlank(data.getWorkshopName())) {
                     newDo.setProcessworkshop(data.getWorkshopName());
@@ -1615,6 +1639,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                         ApsProcessOperationProcessEquDo needUpdate = new ApsProcessOperationProcessEquDo();
                         needUpdate.setId(equDo.getId());
                         needUpdate.setProcessdeviceid(data.getEquId());
+                        equList.stream().filter(item -> item.getId().equals(data.getEquId())).findFirst().ifPresent(aspCheckItemsDo -> needUpdate.setProcessdevicecode(aspCheckItemsDo.getCheckitemcode()));
                         needUpdate.setProcessdevice(data.getEquName());
                         needUpdate.setProcessworkshopid(data.getWorkshopId());
                         needUpdate.setProcessworkshop(data.getWorkshopName());
@@ -2489,6 +2514,8 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
 //        List<ApsProcessOperationProcessEquDo> needUpdateList = new LinkedList<>();
         //下一道明细的开始时间
         Date nextStartDate = req.getProcessingTime();
+        //查询所有设备
+        List<AspCheckItemsDo> equList = aspCheckItemsService.list();
         // 定义事务属性
         TransactionDefinition definition = new DefaultTransactionDefinition();
         for (ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo : apsProcessOperationProcessEquDos) {
@@ -2501,6 +2528,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                 ApsProcessOperationProcessEquDo needUpdate = new ApsProcessOperationProcessEquDo();
                 needUpdate.setId(apsProcessOperationProcessEquDo.getId());
                 needUpdate.setProcessdeviceid(req.getEquId());
+                equList.stream().filter(item -> item.getId().equals(req.getEquId())).findFirst().ifPresent(aspCheckItemsDo -> needUpdate.setProcessdevicecode(aspCheckItemsDo.getCheckitemcode()));
                 needUpdate.setProcessdevice(req.getEquName());
                 //作业详情
                 ApsProcessOperationDo apsProcessOperationDo = apsProcessOperationService.getById(apsProcessOperationProcessEquDo.getProcessid());
@@ -2559,6 +2587,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                     apsProcessOperationService.updateById(needUpdateProcess);
                 }
                 apsProcessOperationProcessEquDo.setProcessdeviceid(needUpdate.getProcessdeviceid());
+                apsProcessOperationProcessEquDo.setProcessdevicecode(needUpdate.getProcessdevicecode());
                 apsProcessOperationProcessEquDo.setProcessdevice(needUpdate.getProcessdevice());
                 apsProcessOperationProcessEquDo.setRollerid(needUpdate.getRollerid());
                 apsProcessOperationProcessEquDo.setProcessworkshopid(needUpdate.getProcessworkshopid());
@@ -2798,6 +2827,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
             }
 
             needUpdate.setProcessdeviceid(aspCheckItemsDo.getId());
+            needUpdate.setProcessdevicecode(aspCheckItemsDo.getCheckitemcode());
             needUpdate.setProcessdevice(aspCheckItemsDo.getCheckitemname());
             needUpdate.setProcessworkshopid(aspCheckItemsDo.getUsedeptid());
             needUpdate.setProcessworkshop(aspCheckItemsDo.getUsedeptname());

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

@@ -2474,6 +2474,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
         if (processOperationProcessEquDo.getPlanprocessrall() == processOperationProcessEquDo.getCancelroll()) {
             processOperationProcessEquDo.setProcessdevice("");
             processOperationProcessEquDo.setProcessdeviceid("");
+            processOperationProcessEquDo.setProcessdevicecode("");
             if (!noEquProcessEquIds.contains(processOperationProcessEquDo.getId())) {
                 noEquProcessEquIds.add(processOperationProcessEquDo.getId());
             }

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

@@ -314,6 +314,8 @@ public class ApsServiceImpl implements ApsService {
         List<ApsProcessOperationEquDo> baseApsProcessOperationEquDoList = apsProcessOperationEquService.list(new LambdaQueryWrapper<ApsProcessOperationEquDo>().in(ApsProcessOperationEquDo::getBlankid, blankIdList));
         //设备日历
         List<ApsEquipmentCalendarDo> baseEquipmentCalendarList = apsEquipmentCalendarService.list();
+        //查询所有设备
+        List<AspCheckItemsDo> equList = aspCheckItemsService.list();
 
         List<ProductionScheduleVo> apsProductionSchedules = new ArrayList<>();
         // 多卷先排
@@ -360,7 +362,7 @@ public class ApsServiceImpl implements ApsService {
                     // 获取坯料计划
                     List<ApsBlankOrderVo> apsBlankOrderss = new ArrayList<>();
                     apsBlankOrderss.add(bo);
-                    apsBlankOrderService.apsAfter(productionScheduleRetVo, apsBlankOrderss, currentUser, null);
+                    apsBlankOrderService.apsAfter(productionScheduleRetVo, apsBlankOrderss, currentUser, null, equList);
                 }
             } catch (Exception e) {
                 e.printStackTrace();
@@ -840,6 +842,8 @@ public class ApsServiceImpl implements ApsService {
             //排程结束后,查询修改时间在排程开始-?的明细,不更新修改信息,并最后重新判断其冲突
             List<ApsProcessOperationProcessEquCheckVo> list = apsProcessOperationProcessEquDao.getNeedCheckEquList(startTime, CXCommonUtils.getCurrentUserFactoryId(currentUser));
 
+            //查询所有的设备列表
+            List<AspCheckItemsDo> equList = aspCheckItemsService.list();
             if ("dd".equals(apsType.getScheduleType())) {
                 if (!list.isEmpty()) {
                     List<String> updateIdList = list.stream().map(ApsProcessOperationProcessEquCheckVo::getId).distinct().collect(Collectors.toList());
@@ -853,7 +857,7 @@ public class ApsServiceImpl implements ApsService {
                         break;
                     }
                     try {
-                        apsBlankOrderService.ddApsAfter(productionScheduleRetVo, apsBlankOrders, currentUser, apsType);
+                        apsBlankOrderService.ddApsAfter(productionScheduleRetVo, apsBlankOrders, currentUser, apsType, equList);
                         isSuccess = true;
                     } catch (Exception e) {
                         try {
@@ -874,7 +878,7 @@ public class ApsServiceImpl implements ApsService {
                         break;
                     }
                     try {
-                        apsBlankOrderService.apsAfter(productionScheduleRetVo, apsBlankOrders, currentUser, apsType);
+                        apsBlankOrderService.apsAfter(productionScheduleRetVo, apsBlankOrders, currentUser, apsType, equList);
                         isSuccess = true;
                     } catch (Exception e) {
                         try {

+ 5 - 1
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationProcessEquBackupDo.java

@@ -48,6 +48,10 @@ public class ApsProcessOperationProcessEquBackupDo extends BaseDo implements Ser
      * 加工车间
      */
     private String processworkshop;
+    /**
+     * 加工设备编号
+     */
+    private String processdevicecode;
     /**
      * 加工设备ID
      */
@@ -193,7 +197,7 @@ public class ApsProcessOperationProcessEquBackupDo extends BaseDo implements Ser
      */
     private Date oldplanstartdate;
     /**
-     * 原计划工时间
+     * 原计划工时间
      */
     private Date oldplanenddate;
 }

+ 5 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationProcessEquDo.java

@@ -58,6 +58,11 @@ public class ApsProcessOperationProcessEquDo extends BaseDo {
      */
     @TableField("PROCESSWORKSHOP")
     private String processworkshop;
+    /**
+     * 加工设备编号
+     */
+    @TableField("PROCESSDEVICECODE")
+    private String processdevicecode;
     /**
      * 加工设备ID
      */