Quellcode durchsuchen

aps-一键排程、重新排程接口,排完后增加修改生产状态

sucheng vor 1 Jahr
Ursprung
Commit
d1a227adb1

+ 8 - 0
bs-common/src/main/java/com/rongwei/safecommon/utils/SaveConstans.java

@@ -559,4 +559,12 @@ public class SaveConstans {
         public static final String TO_BE_SCHEDULED ="10";
     }
 
+    /**
+     * 作业状态
+     */
+    public static class JobStatus{
+        public static final String JOBSTATUS_TO_BE_START = "待开工";
+        public static final String JOBSTATUS_TO_BE_STARTING = "加工中";
+        public static final String JOBSTATUS_TO_BE_END = "已完工";
+    }
 }

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

@@ -4,6 +4,7 @@ import com.rongwei.bsentity.domain.ApsBlankOrderDo;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.rongwei.bsentity.domain.AspCheckItemsDo;
 import com.rongwei.bsentity.vo.ApsBlankOrderVo;
+import com.rongwei.bsentity.vo.BlankIdAndProcessStatusVo;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
@@ -50,4 +51,7 @@ public interface ApsBlankOrderDao extends BaseMapper<ApsBlankOrderDo> {
 
     @Select("select PRODUCTID from aps_process_output_product where DELETED = 0 AND BLANKID in (${idStrs}) group by PRODUCTID")
     List<String> selectOutputProductIdList(@Param("idStrs") String idStrs);
+
+    @Select("select BLANKID AS 'blankId',MAX(PROCESSSTATUS) AS 'maxProcessStatus',MIN(PROCESSSTATUS) AS 'minProcessStatus' from aps_process_operation where BLANKID = (select BLANKID from aps_process_operation where ID = #{productProcessId})")
+    BlankIdAndProcessStatusVo selectProcessStatusByProcessId(@Param("productProcessId") String productProcessId);
 }

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

@@ -34,4 +34,6 @@ public interface ApsBlankOrderService extends IService<ApsBlankOrderDo> {
     ProductionScheduleVo apsPlanModelSet(List<ApsBlankOrderVo> apsBlankOrders);
 
     void blankApsCancel(List<String> apsBlankIds);
+
+    void updateBlankJobStatusByProductProcessId(String productProcessId);
 }

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

@@ -125,6 +125,29 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         deleteBackup(apsBlankIds, new ArrayList<>(orderIds));
     }
 
+    @Override
+    public void updateBlankJobStatusByProductProcessId(String productProcessId) {
+        //查询工序作业所属坯料的所有工序作业最小生产状态和最大生产状态
+        BlankIdAndProcessStatusVo vo = this.baseMapper.selectProcessStatusByProcessId(productProcessId);
+        //判断
+        ApsBlankOrderDo apsBlankOrderDo = new ApsBlankOrderDo();
+        apsBlankOrderDo.setId(vo.getBlankId());
+        //如果作业最大生产状态<加工中(40),则作业状态=待开工
+        if(Integer.parseInt(vo.getMaxProcessStatus()) < 40){
+            apsBlankOrderDo.setJobstatus(SaveConstans.JobStatus.JOBSTATUS_TO_BE_START);
+        }
+        //如果作业最小生产状态=已完工(50),则作业状态=已完工
+        if(vo.getMinProcessStatus().equals("50")){
+            apsBlankOrderDo.setJobstatus(SaveConstans.JobStatus.JOBSTATUS_TO_BE_END);
+        }
+        //如果作业最大生产状态>=加工中(40),并且作业最小生产状态<已完工(50),则作业状态=加工中
+        if(Integer.parseInt(vo.getMaxProcessStatus()) >= 40 && Integer.parseInt(vo.getMinProcessStatus()) < 50){
+            apsBlankOrderDo.setJobstatus(SaveConstans.JobStatus.JOBSTATUS_TO_BE_STARTING);
+        }
+        //更新坯料计划的作业状态
+        this.updateById(apsBlankOrderDo);
+    }
+
     /**
      * 锁定、解锁
      *

+ 25 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/BlankIdAndProcessStatusVo.java

@@ -0,0 +1,25 @@
+package com.rongwei.bsentity.vo;
+
+import lombok.Data;
+
+/**
+ * @author :sc
+ * @since :2024/4/23
+ */
+@Data
+public class BlankIdAndProcessStatusVo {
+    /**
+     * 坯料计划ID
+     */
+    private String blankId;
+
+    /**
+     * 工序作业最大生产状态
+     */
+    private String maxProcessStatus;
+
+    /**
+     * 工序作业最小生产状态
+     */
+    private String minProcessStatus;
+}

+ 10 - 0
cx-aps/cx-aps-server/src/main/java/com/rongwei/bsserver/controller/ApsBlankOrderController.java

@@ -80,6 +80,16 @@ public class ApsBlankOrderController {
         return R.ok();
     }
 
+    /**
+     * 根据工序作业ID,更新坯料计划的作业状态
+     * @return
+     */
+    @PostMapping("/updateBlankJobStatusByProductProcessId")
+    public R updateBlankJobStatusByProductProcessId(String productProcessId){
+        apsBlankOrderService.updateBlankJobStatusByProductProcessId(productProcessId);
+        return R.ok();
+    }
+
 
     @PostMapping("/test")
     public R test(){