Kaynağa Gözat

工序作业可选设备

DLC 1 yıl önce
ebeveyn
işleme
accf6241eb

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

@@ -3,9 +3,11 @@ package com.rongwei.bscommon.sys.dao;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.rongwei.bsentity.domain.ApsProcessOperationDo;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
 import org.apache.ibatis.annotations.Update;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -28,4 +30,10 @@ public interface ApsProcessOperationDao extends BaseMapper<ApsProcessOperationDo
 
     @Update("UPDATE aps_process_operation_out_mater set DELETED='1' where BLANKID=#{blanckid}")
     void updateProcessOperationOutMeter(@Param("blanckid") String blanckid);
+
+    @Update("UPDATE aps_process_operation_equ set DELETED='1' where BLANKID=#{blanckid}")
+    void updateProcessOperationOEqu(@Param("blanckid") String blanckid);
+
+    @Select("select MAINID,GROUP_CONCAT(EQUIPMENTID) as EQUIDS from aps_resources_equipment where DELETED='0' group by MAINID")
+    List<Map<String, Object>> getEquGroupIds();
 }

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

@@ -0,0 +1,15 @@
+package com.rongwei.bscommon.sys.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.rongwei.bsentity.domain.ApsProcessOperationEquDo;
+
+/**
+ * @Entity com.rongwei.training.domain.ApsProcessOperationOutMater
+ */
+public interface ApsProcessOperationEquDao extends BaseMapper<ApsProcessOperationEquDo> {
+
+}
+
+
+
+

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

@@ -0,0 +1,16 @@
+package com.rongwei.bscommon.sys.service;
+
+import com.rongwei.bsentity.domain.ApsProcessOperationEquDo;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 生产订单-坯料计划-工序作业可选设备 服务类
+ * </p>
+ *
+ * @author DLC
+ * @since 2024-03-22
+ */
+public interface ApsProcessOperationEquService extends IService<ApsProcessOperationEquDo> {
+
+}

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

@@ -4,7 +4,6 @@ import com.rongwei.bsentity.domain.ApsProcessOperationDo;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.rongwei.rwcommon.base.R;
 
-import javax.servlet.http.HttpServletRequest;
 import java.util.Map;
 
 /**

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

@@ -0,0 +1,20 @@
+package com.rongwei.bscommon.sys.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.rongwei.bscommon.sys.dao.ApsProcessOperationEquDao;
+import com.rongwei.bscommon.sys.service.ApsProcessOperationEquService;
+import com.rongwei.bsentity.domain.ApsProcessOperationEquDo;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 生产订单-坯料计划-工序作业可选设备 服务实现类
+ * </p>
+ *
+ * @author DLC
+ * @since 2024-03-22
+ */
+@Service
+public class ApsProcessOperationEquServiceImpl extends ServiceImpl<ApsProcessOperationEquDao, ApsProcessOperationEquDo> implements ApsProcessOperationEquService {
+
+}

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

@@ -5,10 +5,7 @@ import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.rongwei.bscommon.sys.dao.ApsProcessOperationDao;
 import com.rongwei.bscommon.sys.service.*;
-import com.rongwei.bsentity.domain.ApsCraftRouteOutMaterRequestDo;
-import com.rongwei.bsentity.domain.ApsCraftRouteStepDo;
-import com.rongwei.bsentity.domain.ApsProcessOperationDo;
-import com.rongwei.bsentity.domain.ApsProcessOperationOutMaterDo;
+import com.rongwei.bsentity.domain.*;
 import com.rongwei.bsentity.vo.PreviousProcessVo;
 import com.rongwei.rwcommon.base.R;
 import com.rongwei.rwcommon.utils.SecurityUtil;
@@ -50,6 +47,9 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
     @Autowired
     ApsProcessOperationOutMaterService apsProcessOperationOutMaterService;
 
+    @Autowired
+    ApsProcessOperationEquService apsProcessOperationEquService;
+
     private final static Map<String, String> UNIT_MAP = new HashMap<String, String>() {{
         put("kg", "公斤");
         put("ton", "吨");
@@ -108,6 +108,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
             List<PreviousProcessVo> newProcessIds = new ArrayList<>();//前道工序信息
             List<ApsProcessOperationDo> apsProcessOperationDoList = new ArrayList<>();
             List<ApsProcessOperationOutMaterDo> apsProcessOperationOutMaterDoList = new ArrayList<>();
+            List<ApsProcessOperationEquDo> apsProcessOperationEquDoList = new ArrayList<>();
             for (ApsCraftRouteStepDo apsCraftRouteStepDo : apsCraftRouteStepDoList) {
                 if (overRouteStepIds.contains(apsCraftRouteStepDo.getId())) {
                     continue;
@@ -145,6 +146,7 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                             apsProcessOperationDo.setPlaninrall(outMaterDo.getPlanrollnum() - outMaterDo.getPlanstockrollnum() - outMaterDo.getPlanprodrollnum());
                             apsProcessOperationDo.setPlanprocessrall(outMaterDo.getPlanrollnum() - outMaterDo.getPlanstockrollnum() - outMaterDo.getPlanprodrollnum());
                             apsProcessOperationDo.setBlankid(blanckdata.getStr("ID"));
+                            apsProcessOperationDo.setCraftstepid(apsCraftRouteStepDo1.getId());
                             if (outMaterDo.getThickrule().equals("自定义") || outMaterDo.getWidthrule().equals("自定义") || outMaterDo.getLengthrule().equals("自定义")) {
                                 apsProcessOperationDo.setChangeinmeter("1");//输入物料是否可编辑
                             }
@@ -185,6 +187,34 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                             apsProcessOperationOutMaterDo.setBlankid(blanckdata.getStr("ID"));
                             previousProcessVo.setApsProcessOperationOutMaterDo(apsProcessOperationOutMaterDo);
 
+
+                            //本道工序的可选设备
+                            List<ApsCraftRouteStepEquDo> apsCraftRouteStepEquDos = apsCraftRouteStepEquService.listByMap(map).stream().collect(Collectors.toList());
+                            List<String> equIdList = new ArrayList<>();//设备
+                            List<String> equGroupIdList = new ArrayList<>();//资源组
+                            for (ApsCraftRouteStepEquDo apsCraftRouteStepEquDo : apsCraftRouteStepEquDos) {
+                                ApsProcessOperationEquDo apsProcessOperationEquDo;
+                                apsProcessOperationEquDo = BeanUtil.toBean(apsCraftRouteStepEquDo, ApsProcessOperationEquDo.class);
+                                apsProcessOperationEquDo.setId(SecurityUtil.getUUID());
+                                apsProcessOperationEquDo.setBlankid(blanckdata.getStr("ID"));
+                                apsProcessOperationEquDo.setMainid(processId);
+                                if (apsProcessOperationEquDo.getResourcetype().equals("资源组")) {
+                                    if (!equGroupIdList.contains(apsProcessOperationEquDo.getResourceid())) {
+                                        equGroupIdList.add(apsProcessOperationEquDo.getResourceid());
+                                    }
+                                } else {
+                                    if (!equIdList.contains(apsProcessOperationEquDo.getResourceid())) {
+                                        equIdList.add(apsProcessOperationEquDo.getResourceid());
+                                    }
+                                }
+
+                                apsProcessOperationEquDoList.add(apsProcessOperationEquDo);
+                            }
+                            //可选设备IDS
+                            if (equIdList.size() > 0 || equGroupIdList.size() > 0) {
+                                apsProcessOperationDo.setCanchoosedeviceid(getChooseequids(equIdList, equGroupIdList));
+                            }
+
                             newProcessIds.add(previousProcessVo);
                             apsProcessOperationDoList.add(apsProcessOperationDo);
                             apsProcessOperationOutMaterDoList.add(apsProcessOperationOutMaterDo);
@@ -210,11 +240,13 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                         apsProcessOperationDo.setPlaninrall(blanckdata.getInt("ROLLNUM"));
                         apsProcessOperationDo.setPlanprocessrall(blanckdata.getInt("ROLLNUM"));
                         apsProcessOperationDo.setBlankid(blanckdata.getStr("ID"));
+                        apsProcessOperationDo.setCraftstepid(apsCraftRouteStepDo.getId());
 
                         //本道工序信息
                         previousProcessVo.setProcessId(processId);
                         previousProcessVo.setProcessName(apsProcessOperationDo.getProcessname());
                         previousProcessVo.setPreviousstepid(apsCraftRouteStepDo.getId());
+
                         //本道工序的输出
                         map.put("CRAFTSTEPID", apsCraftRouteStepDo.getId());
                         List<ApsCraftRouteOutMaterRequestDo> apsCraftRouteOutMaterRequestDo = apsCraftRouteOutMaterRequestService.listByMap(map).stream().collect(Collectors.toList());
@@ -247,6 +279,33 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                         apsProcessOperationOutMaterDo.setBlankid(blanckdata.getStr("ID"));
                         previousProcessVo.setApsProcessOperationOutMaterDo(apsProcessOperationOutMaterDo);
 
+                        //本道工序的可选设备
+                        List<ApsCraftRouteStepEquDo> apsCraftRouteStepEquDos = apsCraftRouteStepEquService.listByMap(map).stream().collect(Collectors.toList());
+                        List<String> equIdList = new ArrayList<>();//设备
+                        List<String> equGroupIdList = new ArrayList<>();//资源组
+                        for (ApsCraftRouteStepEquDo apsCraftRouteStepEquDo : apsCraftRouteStepEquDos) {
+                            ApsProcessOperationEquDo apsProcessOperationEquDo;
+                            apsProcessOperationEquDo = BeanUtil.toBean(apsCraftRouteStepEquDo, ApsProcessOperationEquDo.class);
+                            apsProcessOperationEquDo.setId(SecurityUtil.getUUID());
+                            apsProcessOperationEquDo.setBlankid(blanckdata.getStr("ID"));
+                            apsProcessOperationEquDo.setMainid(processId);
+                            if (apsProcessOperationEquDo.getResourcetype().equals("资源组")) {
+                                if (!equGroupIdList.contains(apsProcessOperationEquDo.getResourceid())) {
+                                    equGroupIdList.add(apsProcessOperationEquDo.getResourceid());
+                                }
+                            } else {
+                                if (!equIdList.contains(apsProcessOperationEquDo.getResourceid())) {
+                                    equIdList.add(apsProcessOperationEquDo.getResourceid());
+                                }
+                            }
+
+                            apsProcessOperationEquDoList.add(apsProcessOperationEquDo);
+                        }
+                        //可选设备IDS
+                        if (equIdList.size() > 0 || equGroupIdList.size() > 0) {
+                            apsProcessOperationDo.setCanchoosedeviceid(getChooseequids(equIdList, equGroupIdList));
+                        }
+
                         newProcessIds.add(previousProcessVo);
                         apsProcessOperationDoList.add(apsProcessOperationDo);
                         apsProcessOperationOutMaterDoList.add(apsProcessOperationOutMaterDo);
@@ -254,10 +313,13 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
                 }
             }
 
+//            return R.ok();
+
             boolean bool1 = apsProcessOperationService.saveOrUpdateBatch(apsProcessOperationDoList);
             boolean bool2 = apsProcessOperationOutMaterService.saveOrUpdateBatch(apsProcessOperationOutMaterDoList);
+            boolean bool3 = apsProcessOperationEquService.saveOrUpdateBatch(apsProcessOperationEquDoList);
 
-            if (bool1 && bool2) {
+            if (bool1 && bool2 && bool3) {
 //                r.setCode("200");
 //                r.putData(apsCraftRouteStepDoList);
                 return R.ok();
@@ -281,6 +343,8 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
         apsProcessOperationDao.updateProcessOperation(blankid);
         //工序作业输出物料
         apsProcessOperationDao.updateProcessOperationOutMeter(blankid);
+        //工序作业可选设备
+        apsProcessOperationDao.updateProcessOperationOEqu(blankid);
     }
 
     //工艺步骤管理/物料输出规则
@@ -332,4 +396,24 @@ public class ApsProcessOperationServiceImpl extends ServiceImpl<ApsProcessOperat
         }
         return newVal;
     }
+
+    //获取可选设备IDS
+    private String getChooseequids(List<String> equIds, List<String> equGroupIds) {
+        //资源组下所有的设备IDS
+        if (equGroupIds.size() > 0) {
+            List<Map<String, Object>> equGroupIdList = apsProcessOperationDao.getEquGroupIds();
+            for (String groupid : equGroupIds) {
+                List<Map<String, Object>> equGroupIds1 = equGroupIdList.stream().filter(equgroup -> equgroup.get("MAINID").toString().equals(groupid)).collect(Collectors.toList());
+                if (equGroupIds1.size() > 0) {
+                    String equIdStr = equGroupIds1.get(0).get("EQUIDS").toString();
+                    for (String equid : Arrays.asList(equIdStr.split(","))) {
+                        if (!equIds.contains(equid)) {
+                            equIds.add(equid);
+                        }
+                    }
+                }
+            }
+        }
+        return String.join(",", equIds);
+    }
 }

+ 10 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftRouteStepDo.java

@@ -53,6 +53,16 @@ public class ApsCraftRouteStepDo extends BaseDo implements Serializable {
      */
     private String stepnum;
 
+    /**
+     * 工序ID
+     */
+    private String processid;
+
+    /**
+     * 工序编号
+     */
+    private String processcode;
+
     /**
      * 工序
      */

+ 10 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsCraftStepDo.java

@@ -43,6 +43,16 @@ public class ApsCraftStepDo extends BaseDo implements Serializable {
      */
     private String stepnum;
 
+    /**
+     * 工序ID
+     */
+    private String processid;
+
+    /**
+     * 工序编号
+     */
+    private String processcode;
+
     /**
      * 工序
      */

+ 14 - 15
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationDo.java

@@ -10,7 +10,6 @@ import lombok.experimental.Accessors;
 
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
-import java.util.Date;
 
 /**
  * <p>
@@ -51,23 +50,29 @@ public class ApsProcessOperationDo extends BaseDo {
     private String ownedfactory;
 
     /**
-     * 工艺步骤表ID
+     * 工艺路线的工艺步骤表ID
      */
     @TableField("CRAFTSTEPID")
     private String craftstepid;
 
-    /**
-     * 工艺路线表ID
-     */
-    @TableField("CRAFTROUTEID")
-    private String craftrouteid;
-
     /**
      * 工艺步骤编号
      */
     @TableField("STEPNUM")
     private String stepnum;
 
+    /**
+     * 工序ID
+     */
+    @TableField("PROCESSID")
+    private String processid;
+
+    /**
+     * 工序编号
+     */
+    @TableField("PROCESSCODE")
+    private String processcode;
+
     /**
      * 工序
      */
@@ -242,12 +247,6 @@ public class ApsProcessOperationDo extends BaseDo {
     @TableField("OUTMATERREQUEST")
     private String outmaterrequest;
 
-    /**
-     * 可选设备IDS
-     */
-    @TableField("CHOOSEEQUIDS")
-    private String chooseequids;
-
     /**
      * 可选设备
      */
@@ -267,7 +266,7 @@ public class ApsProcessOperationDo extends BaseDo {
     private String planinputid;
 
     /**
-     * 可选设备ID
+     * 可选设备IDS
      */
     @TableField("CANCHOOSEDEVICEID")
     private String canchoosedeviceid;

+ 71 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationEquDo.java

@@ -0,0 +1,71 @@
+package com.rongwei.bsentity.domain;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.rongwei.rwcommon.base.BaseDo;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 生产订单_坯料计划_工序作业可选设备
+ * </p>
+ *
+ * @author DLC
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("aps_process_operation_equ")
+public class ApsProcessOperationEquDo extends BaseDo {
+    private static final long serialVersionUID=1L;
+
+    /**
+     * 主键ID
+     */
+    @TableId("ID")
+    private String id;
+
+    @TableField("TENANTID")
+    private String tenantid;
+
+    /**
+     * 扩展json格式配置
+     */
+    @TableField("ROPTION")
+    private String roption;
+
+    /**
+     * 坯料ID
+     */
+    @TableField("BLANKID")
+    private String blankid;
+
+    /**
+     * 生产订单-坯料计划-工序作业ID
+     */
+    @TableField("MAINID")
+    private String mainid;
+
+    /**
+     * 资源ID
+     */
+    @TableField("RESOURCEID")
+    private String resourceid;
+
+    /**
+     * 资源类型
+     */
+    @TableField("RESOURCETYPE")
+    private String resourcetype;
+
+    /**
+     * 设备参数
+     */
+    @TableField("EQUPARAMES")
+    private String equparames;
+}

+ 0 - 11
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/domain/ApsProcessOperationOutMaterDo.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.math.BigDecimal;
-import java.util.Date;
 
 import com.rongwei.rwcommon.base.BaseDo;
 import lombok.Data;
@@ -48,16 +47,6 @@ public class ApsProcessOperationOutMaterDo extends BaseDo implements Serializabl
      */
     private String mainid;
 
-    /**
-     * 工艺路线ID
-     */
-    private String craftrouteid;
-
-    /**
-     * 工艺步骤ID
-     */
-    private String craftstepid;
-
     /**
      * 物料编号
      */