Browse Source

单卷模型转换

fangpy 1 year ago
parent
commit
72eb3211d0

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

@@ -513,7 +513,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 if (process.getAluminumCoils() == null) {
                     ApsProcessOperationProcessEquDo apsProcessOperationProcessEqu = new ApsProcessOperationProcessEquDo();
                     apsProcessOperationProcessEqu.setId(SecurityUtil.getUUID());
-                    apsProcessOperationProcessEqu.setProcessid(process.getId());
+//                    apsProcessOperationProcessEqu.setProcessid(process.getId());
+                    apsProcessOperationProcessEqu.setProcessid(process.getBsProcessesId().get(0));
                     apsProcessOperationProcessEqu.setBlankid(process.getProduceOrder().get(0).getId());
                     apsProcessOperationProcessEqu.setProcessdeviceid(process.getEquipment().getId());
                     apsProcessOperationProcessEqu.setProcessdevice(process.getEquipment().getEquipmentName());

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

@@ -202,101 +202,13 @@ public class ApsServiceImpl implements ApsService {
                     processes.setProduceOrder(Arrays.asList(new ProduceOrder[]{produceOrder}));
                     // 判断是否合并生产工序,加工方式是“合并加工”
                     String productprocess = operationDo.getProcessway();
-                    // 设备列表
-                    List<String> optionalEquipments = new ArrayList<>();
-                    if (StringUtils.isNotBlank(operationDo.getCanchoosedeviceid())) {
-                        String[] sbIds = operationDo.getCanchoosedeviceid().split(",");
-                        for (String equIds : sbIds) {
-                            AspCheckItemsDo checkItemsD = eqMaps.get(equIds);
-                            if (checkItemsD != null) {
-                                optionalEquipments.add(equIds);
-                                List<Equipment> eqpts = equipmentList.stream().filter(v -> v.getId().equals(equIds)).collect(Collectors.toList());
-                                // 设备集合里不存在时新增
-                                if (eqpts == null || eqpts.size() == 0) {
-                                    Equipment equipment = new Equipment();
-                                    equipment.setBsEquipmentId(equIds);
-                                    equipment.setId(equIds);
-                                    equipment.setEquipmentName(checkItemsD.getCheckitemname());
-                                    equipment.setWorkshopid(checkItemsD.getUsedeptid());
-                                    equipment.setWorkshopname(checkItemsD.getUsedeptname());
-                                    equipment.setFactoryid(checkItemsD.getTenantid());
-                                    equipment.setFactory(checkItemsD.getOwnedfactory());
-                                    equipment.setEquassociated(checkItemsD.getEquassociated());
-                                    // 查询设备锁定的已排程的时间段
-                                    List<ApsProcessOperationProcessEquDo> processEqus = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
-                                            .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
-                                            .notIn(ApsProcessOperationProcessEquDo::getBlankid, blankids)
-                                            .ge(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
-                                            .orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
-                                    );
-                                    // 查询当前设备最后一个生产任务、连续生产需要考虑使用
-                                    List<ApsProcessOperationProcessEquDo> lastpros = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
-                                            .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
-                                            .notIn(ApsProcessOperationProcessEquDo::getBlankid, blankids)
-                                            .gt(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
-                                            .orderByDesc(ApsProcessOperationProcessEquDo::getPlanstartdate)
-                                    );
-                                    if (lastpros != null && lastpros.size() > 0) {
-                                        ApsProcessOperationProcessEquDo lastpro = lastpros.get(0);
-                                        ApsProcessOperationDo lastop = apsProcessOperationService.getById(lastpro.getProcessid());
-                                        equipment.setLastProcessType(lastop.getProcess());
-                                        equipment.setLastProcessEndTime(lastpro.getPlanenddate());
-                                        equipment.setLastProcessCutfinishmin(lastop.getCutfinishmin() == null ? null : lastop.getCutfinishmin().intValue());
-                                        // 合金+输入物料+宽度
-                                        equipment.setLastSeriesProduceMark(lastop.getMetal() + "^_^" + lastop.getPlaninput() + "^_^" + lastop.getProwidth());
-                                        equipment.setLastProcessCutfinishmin(lastop.getCutfinishmin() == null ? null : lastop.getCutfinishmin().intValue());
-                                    }
-                                    // 查询相关工序作业
-                                    Set<String> processIds = new HashSet<>();
-                                    if (processEqus != null && processEqus.size() > 0) {
-                                        for (ApsProcessOperationProcessEquDo equs : processEqus) {
-                                            processIds.add(equs.getProcessid());
-                                        }
-                                        List<ApsProcessOperationDo> processOperationDos = null;
-                                        if (processIds.size() > 0) {
-                                            processOperationDos = apsProcessOperationService.list(new LambdaQueryWrapper<ApsProcessOperationDo>()
-                                                    .in(ApsProcessOperationDo::getId, processIds));
-                                        }
-
-                                        List<EquipmentRunTime> equipmentRunTimes = new ArrayList<>();
-                                        for (ApsProcessOperationProcessEquDo equs : processEqus) {
-                                            EquipmentRunTime er = new EquipmentRunTime();
-                                            er.setStartRunTime(equs.getPlanstartdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
-                                            er.setEndRunTime(equs.getPlanenddate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
-                                            // 设备占用时间设置连续生产标识,参与排程
-                                            if (processOperationDos != null) {
-                                                List<ApsProcessOperationDo> pos = processOperationDos.stream().filter(v -> v.getId().equals(equs.getProcessid())).collect(Collectors.toList());
-                                                if (pos != null && pos.size() > 0) {
-                                                    ApsProcessOperationDo processesDo = pos.get(0);
-                                                    er.setProcessType(processesDo.getProcess());
-                                                    // 合金+输入物料+宽度
-                                                    er.setSeriesProduceMark(operationDo.getMetal() + "^_^" + operationDo.getPlaninput() + "^_^" + operationDo.getProwidth());
-                                                    er.setPrepressworkmin(processesDo.getPrepressworkmin() == null ? null : processesDo.getPrepressworkmin().intValue());
-                                                    er.setCutfinishmin(processesDo.getCutfinishmin() == null ? null : processesDo.getCutfinishmin().intValue());
-                                                }
-                                            }
-                                            equipmentRunTimes.add(er);
-                                        }
-                                        // 设备日历不可用时间段
-                                        List<ApsEquipmentCalendarDo> equipmentCalendarDos = apsEquipmentCalendarService.list(
-                                                new LambdaQueryWrapper<ApsEquipmentCalendarDo>().ge(ApsEquipmentCalendarDo::getSdstarttime, productionScheduleVo.getApsPlanStartDate())
-                                                        .eq(ApsEquipmentCalendarDo::getProcessdeviceid, equipment.getBsEquipmentId()));
-                                        if (equipmentCalendarDos != null && equipmentCalendarDos.size() > 0) {
-                                            for (ApsEquipmentCalendarDo equipmentCalendarDo : equipmentCalendarDos) {
-                                                EquipmentRunTime er = new EquipmentRunTime();
-                                                er.setStartRunTime(equipmentCalendarDo.getSdstarttime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
-                                                er.setEndRunTime(equipmentCalendarDo.getSdendtime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
-                                                equipmentRunTimes.add(er);
-                                            }
-                                        }
-
-                                        equipment.setEquipmentRunTimes(equipmentRunTimes);
-                                    }
-                                    equipmentList.add(equipment);
-                                }
-                            }
-                        }
+                    // 根节点判断
+                    if(StringUtils.isBlank(operationDo.getPreviousprocessid())){
+                        rootOperationDo = operationDo;
                     }
+                    operationMaps.put(operationDo.getId(),operationDo);
+                    // 设备列表初始化
+                    List<String> optionalEquipments = equipmentListInit(operationDo,equipmentList,eqMaps,blankids,productionScheduleVo);
                     // 工序作业相关数据初始化
                     productionProcessesInit(operationDo,produceOrder,optionalEquipments,processesList,operationProductionProcesses);
                 }
@@ -313,6 +225,117 @@ public class ApsServiceImpl implements ApsService {
         return productionScheduleVo;
     }
 
+    private List<String> equipmentListInit(ApsProcessOperationDo operationDo,List<Equipment> equipmentList,Map<String, AspCheckItemsDo> eqMaps
+            ,List<String> blankids,ProductionScheduleVo productionScheduleVo){
+        // 设备列表
+        List<String> optionalEquipments = new ArrayList<>();
+        if (StringUtils.isNotBlank(operationDo.getCanchoosedeviceid())) {
+            String[] sbIds = operationDo.getCanchoosedeviceid().split(",");
+            for (String equIds : sbIds) {
+                AspCheckItemsDo checkItemsD = eqMaps.get(equIds);
+                if (checkItemsD != null) {
+                    optionalEquipments.add(equIds);
+                    List<Equipment> eqpts = equipmentList.stream().filter(v -> v.getId().equals(equIds)).collect(Collectors.toList());
+                    // 设备集合里不存在时新增
+                    if (eqpts == null || eqpts.size() == 0) {
+                        Equipment equipment = new Equipment();
+                        equipment.setBsEquipmentId(equIds);
+                        equipment.setId(equIds);
+                        equipment.setEquipmentName(checkItemsD.getCheckitemname());
+                        equipment.setWorkshopid(checkItemsD.getUsedeptid());
+                        equipment.setWorkshopname(checkItemsD.getUsedeptname());
+                        equipment.setFactoryid(checkItemsD.getTenantid());
+                        equipment.setFactory(checkItemsD.getOwnedfactory());
+                        equipment.setEquassociated(checkItemsD.getEquassociated());
+                        // 设备参数
+                        EquipmentParameter ep = new EquipmentParameter();
+                        ep.setEquipmentWidth(checkItemsD.getEquipmentwidth());
+                        ep.setEquipmentBearing(checkItemsD.getEquipmentbearing());
+                        equipment.setEquipmentParameter(ep);
+                        // 查询设备锁定的已排程的时间段
+                        List<ApsProcessOperationProcessEquDo> processEqus = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
+                                .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
+                                .notIn(ApsProcessOperationProcessEquDo::getBlankid, blankids)
+                                .ge(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
+                                .orderByAsc(ApsProcessOperationProcessEquDo::getPlanstartdate)
+                        );
+                        // 查询当前设备最后一个生产任务、连续生产需要考虑使用
+                        List<ApsProcessOperationProcessEquDo> lastpros = processOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>()
+                                .eq(ApsProcessOperationProcessEquDo::getProcessdeviceid, equIds)
+                                .notIn(ApsProcessOperationProcessEquDo::getBlankid, blankids)
+                                .gt(ApsProcessOperationProcessEquDo::getPlanstartdate, productionScheduleVo.getApsPlanStartDate())
+                                .orderByDesc(ApsProcessOperationProcessEquDo::getPlanstartdate)
+                        );
+                        if (lastpros != null && lastpros.size() > 0) {
+                            ApsProcessOperationProcessEquDo lastpro = lastpros.get(0);
+                            ApsProcessOperationDo lastop = apsProcessOperationService.getById(lastpro.getProcessid());
+                            equipment.setLastProcessType(lastop.getProcess());
+                            equipment.setLastProcessEndTime(lastpro.getPlanenddate());
+                            equipment.setLastProcessCutfinishmin(lastop.getCutfinishmin() == null ? null : lastop.getCutfinishmin().intValue());
+                            // 合金+输入物料+宽度
+                            equipment.setLastSeriesProduceMark(lastop.getMetal() + "^_^" + lastop.getPlaninput() + "^_^" + lastop.getProwidth());
+                            equipment.setLastProcessCutfinishmin(lastop.getCutfinishmin() == null ? null : lastop.getCutfinishmin().intValue());
+                        }
+                        // 查询相关工序作业
+                        Set<String> processIds = new HashSet<>();
+                        if (processEqus != null && processEqus.size() > 0) {
+                            for (ApsProcessOperationProcessEquDo equs : processEqus) {
+                                processIds.add(equs.getProcessid());
+                            }
+                            List<ApsProcessOperationDo> processOperationDos = null;
+                            if (processIds.size() > 0) {
+                                processOperationDos = apsProcessOperationService.list(new LambdaQueryWrapper<ApsProcessOperationDo>()
+                                        .in(ApsProcessOperationDo::getId, processIds));
+                            }
+
+                            List<EquipmentRunTime> equipmentRunTimes = new ArrayList<>();
+                            for (ApsProcessOperationProcessEquDo equs : processEqus) {
+                                EquipmentRunTime er = new EquipmentRunTime();
+                                er.setStartRunTime(equs.getPlanstartdate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
+                                er.setEndRunTime(equs.getPlanenddate().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
+                                er.setOccupyType("process");
+                                // 设备占用时间设置连续生产标识,参与排程
+                                if (processOperationDos != null) {
+                                    List<ApsProcessOperationDo> pos = processOperationDos.stream().filter(v -> v.getId().equals(equs.getProcessid())).collect(Collectors.toList());
+                                    if (pos != null && pos.size() > 0) {
+                                        ApsProcessOperationDo processesDo = pos.get(0);
+                                        er.setProcessType(processesDo.getProcess());
+                                        // 合金+输入物料+宽度
+                                        er.setSeriesProduceMark(operationDo.getMetal() + "^_^" + operationDo.getPlaninput() + "^_^" + operationDo.getProwidth());
+                                        er.setPrepressworkmin(processesDo.getPrepressworkmin() == null ? null : processesDo.getPrepressworkmin().intValue());
+                                        er.setCutfinishmin(processesDo.getCutfinishmin() == null ? null : processesDo.getCutfinishmin().intValue());
+                                        // 单卷宽度、重量数据赋值
+                                        er.setTotalVolumeWidth(processesDo.getProwidth());
+                                        er.setTotalSinglerollweight(processesDo.getSinglerollweight());
+                                    }
+                                }
+                                equipmentRunTimes.add(er);
+                            }
+                            // 设备日历不可用时间段
+                            List<ApsEquipmentCalendarDo> equipmentCalendarDos = apsEquipmentCalendarService.list(
+                                    new LambdaQueryWrapper<ApsEquipmentCalendarDo>().ge(ApsEquipmentCalendarDo::getSdstarttime, productionScheduleVo.getApsPlanStartDate())
+                                            .eq(ApsEquipmentCalendarDo::getProcessdeviceid, equipment.getBsEquipmentId()));
+                            if (equipmentCalendarDos != null && equipmentCalendarDos.size() > 0) {
+                                for (ApsEquipmentCalendarDo equipmentCalendarDo : equipmentCalendarDos) {
+                                    EquipmentRunTime er = new EquipmentRunTime();
+                                    er.setStartRunTime(equipmentCalendarDo.getSdstarttime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
+                                    er.setEndRunTime(equipmentCalendarDo.getSdendtime().toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime());
+                                    er.setOccupyType("maintenance");
+                                    equipmentRunTimes.add(er);
+                                }
+                            }
+
+                            equipment.setEquipmentRunTimes(equipmentRunTimes);
+                        }
+                        equipmentList.add(equipment);
+                    }
+                }
+            }
+        }
+
+        return optionalEquipments;
+    }
+
 
     /**
      * 前后道工序作业关联关系初始化
@@ -323,62 +346,66 @@ public class ApsServiceImpl implements ApsService {
      */
     private void processesRelationInit(ApsProcessOperationDo rootOperationDo,Map<String,List<ProductionProcesses>> operationProductionProcesses
             ,Map<String,ApsProcessOperationDo> operationMaps,ApsBlankOrderVo apsBlankOrderVo){
-        String[] nextids = rootOperationDo.getNextprocessid().split(",");
-        // 前后道工序关联关系处理
-        if(rootOperationDo == null){
-            throw new CustomException("数据异常,ID为:"+apsBlankOrderVo.getId()+"的坯料计划没有根节点");
-        }else{
-            boolean isEnd = true;
-            // 当前作业计划加工卷数
-            Integer planPres = rootOperationDo.getPlanprocessrall();
-            // 下道工序按物料类型分组
-            Map<String, List<ProductionProcesses>> wlPros = new HashMap<>();
-            if(nextids != null && nextids.length>0){
-                for (String nextid : nextids) {
-                    List<ProductionProcesses> productionProcesses = operationProductionProcesses.get(nextid);
-                    if(productionProcesses != null && productionProcesses.size()>0 && operationMaps.get(nextid) != null){
-                        if(wlPros.containsKey(operationMaps.get(operationMaps.get(nextid).getPlaninput()))){
-                            wlPros.get(operationMaps.get(operationMaps.get(nextid).getPlaninput())).addAll(productionProcesses);
-                        }else{
-                            wlPros.put(operationMaps.get(nextid).getPlaninput(),productionProcesses);
+        if(StringUtils.isNotBlank(rootOperationDo.getNextprocessid())){
+            String[] nextids = rootOperationDo.getNextprocessid().split(",");
+            // 前后道工序关联关系处理
+            if(rootOperationDo == null){
+                throw new CustomException("数据异常,ID为:"+apsBlankOrderVo.getId()+"的坯料计划作业模型初始化,作业为空");
+            }else{
+                boolean isEnd = true;
+                // 当前作业计划加工卷数
+                Integer planPres = rootOperationDo.getPlanprocessrall();
+                // 下道工序按物料类型分组
+                Map<String, List<ProductionProcesses>> wlPros = new HashMap<>();
+                if(nextids != null && nextids.length>0){
+                    for (String nextid : nextids) {
+                        List<ProductionProcesses> productionProcesses = operationProductionProcesses.get(nextid);
+                        if(productionProcesses != null && productionProcesses.size()>0 && operationMaps.get(nextid) != null){
+                            if(wlPros.containsKey(operationMaps.get(operationMaps.get(nextid).getPlaninput()))){
+                                wlPros.get(operationMaps.get(operationMaps.get(nextid).getPlaninput())).addAll(productionProcesses);
+                            }else{
+                                wlPros.put(operationMaps.get(nextid).getPlaninput(),productionProcesses);
+                            }
                         }
                     }
                 }
-            }
-            // 当前作业和下道工序建立关联关系
-            wlPros.forEach((k,v)->{
-                boolean isConnect = true;
-                int vi = 0;
-                List<ProductionProcesses> productionProcesses = operationProductionProcesses.get(rootOperationDo.getId());
-                while (vi<v.size()){
-                    for(int i = 0;i <planPres;i++){
-                        vi++;
-                        if(vi>=v.size()){
-                            break;
-                        }
-                        if(productionProcesses.get(i).getNextProcessesIds() == null){
-                            List<String> ids = new ArrayList<>();
-                            ids.add(v.get(i).getId());
-                            productionProcesses.get(i).setNextProcessesIds(ids);
-                        }else{
-                            productionProcesses.get(i).getNextProcessesIds().add(v.get(i).getId());
-                        }
-                        if(v.get(vi).getPreviousProcessesIds() == null){
-                            List<String> ids = new ArrayList<>();
-                            ids.add(productionProcesses.get(i).getId());
-                            v.get(vi).setPreviousProcessesIds(ids);
-                        }else{
-                            v.get(vi).getPreviousProcessesIds().add(productionProcesses.get(i).getId());
+                // 当前作业和下道工序建立关联关系
+                if(wlPros.size()>0){
+                    wlPros.forEach((k,v)->{
+                        boolean isConnect = true;
+                        int vi = 0;
+                        List<ProductionProcesses> productionProcesses = operationProductionProcesses.get(rootOperationDo.getId());
+                        while (vi<v.size()){
+                            for(int i = 0;i <planPres;i++){
+                                if(vi>=v.size()){
+                                    break;
+                                }
+                                if(productionProcesses.get(i).getNextProcessesIds() == null){
+                                    List<String> ids = new ArrayList<>();
+                                    ids.add(v.get(i).getId());
+                                    productionProcesses.get(i).setNextProcessesIds(ids);
+                                }else{
+                                    productionProcesses.get(i).getNextProcessesIds().add(v.get(i).getId());
+                                }
+                                if(v.get(vi).getPreviousProcessesIds() == null){
+                                    List<String> ids = new ArrayList<>();
+                                    ids.add(productionProcesses.get(i).getId());
+                                    v.get(vi).setPreviousProcessesIds(ids);
+                                }else{
+                                    v.get(vi).getPreviousProcessesIds().add(productionProcesses.get(i).getId());
+                                }
+                                vi++;
+                            }
                         }
-                    }
+                    });
+                }
+            }
+            // 递归处理下道工序数据
+            if(nextids != null && nextids.length>0){
+                for (String nextid : nextids) {
+                    ApsProcessOperationDo apsProcessOperationDo = operationMaps.get(nextid);
+                    processesRelationInit(apsProcessOperationDo,operationProductionProcesses,operationMaps,apsBlankOrderVo);
                 }
-            });
-        }
-        // 递归处理下道工序数据
-        if(nextids != null && nextids.length>0){
-            for (String nextid : nextids) {
-                ApsProcessOperationDo apsProcessOperationDo = operationMaps.get(nextid);
-                processesRelationInit(apsProcessOperationDo,operationProductionProcesses,operationMaps,apsBlankOrderVo);
             }
         }
     }
@@ -400,7 +427,7 @@ public class ApsServiceImpl implements ApsService {
                 // 工序所属订单
                 processes.setProduceOrder(Arrays.asList(new ProduceOrder[]{produceOrder}));
                 // 模型ID
-                processes.setId(operationDo.getId());
+                processes.setId(SecurityUtil.getUUID());
                 // 业务表主键ID
                 List<String> bss = new ArrayList<>();
                 bss.add(operationDo.getId());
@@ -413,6 +440,9 @@ public class ApsServiceImpl implements ApsService {
                 // 单次加工时长
                 processes.setUnitProduceTime(operationDo.getOnceprocessmin().intValue());
                 processes.setProduceTime(operationDo.getOnceprocessmin().intValue());
+                // 单卷宽度和重量
+                processes.setVolumeWidth(operationDo.getProwidth());
+                processes.setSinglerollweight(operationDo.getSinglerollweight());
                 if (operationDo.getMinflowwaitmin() != null) {
                     processes.setMinWaitTime(operationDo.getMinflowwaitmin().intValue());
                 }

+ 5 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/Equipment.java

@@ -97,6 +97,11 @@ public class Equipment{
      */
     private List<EquipmentRunTime> equipmentRunTimes;
 
+    /**
+     * 设备参数实体类
+     */
+    private EquipmentParameter equipmentParameter;
+
     public Equipment(String id, String equipmentType) {
         this.id = id;
         this.equipmentType = equipmentType;

+ 18 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/EquipmentParameter.java

@@ -0,0 +1,18 @@
+package com.rongwei.bsentity.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * 设备参数实体类
+ */
+@Data
+public class EquipmentParameter {
+
+    // 设备宽度
+    private BigDecimal equipmentWidth;
+    // 设备承重
+    private BigDecimal equipmentBearing;
+
+}

+ 20 - 0
cx-aps/cx-aps-entity/src/main/java/com/rongwei/bsentity/vo/EquipmentRunTime.java

@@ -3,6 +3,7 @@ package com.rongwei.bsentity.vo;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 
 /**
@@ -41,5 +42,24 @@ public class EquipmentRunTime {
      * 下机收尾时间(单位:分钟)
      */
     private Integer cutfinishmin;
+    /**
+     * 总卷宽度
+     */
+    private BigDecimal totalVolumeWidth;
+
+    /**
+     * 总卷重
+     */
+    private BigDecimal totalSinglerollweight;
+
+    /**
+     * 是否锁定标识,排程中的是false
+     */
+    private boolean locked;
+
+    /**
+     * 设备时间段占用类型(process:作业加工占用,maintenance:保养维修占用)
+     */
+    private String occupyType;
 
 }

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

@@ -101,6 +101,15 @@ public class ProductionProcesses{
      * 单批次生产时间
      */
     private Integer unitProduceTime;
+    /**
+     * 单卷宽度
+     */
+    private BigDecimal volumeWidth;
+
+    /**
+     * 单卷重
+     */
+    private BigDecimal singlerollweight;
     /**
      * 生产批次数量
      */
@@ -459,4 +468,20 @@ public class ProductionProcesses{
     public void setVolumeMetal(String volumeMetal) {
         this.volumeMetal = volumeMetal;
     }
+
+    public BigDecimal getVolumeWidth() {
+        return volumeWidth;
+    }
+
+    public void setVolumeWidth(BigDecimal volumeWidth) {
+        this.volumeWidth = volumeWidth;
+    }
+
+    public BigDecimal getSinglerollweight() {
+        return singlerollweight;
+    }
+
+    public void setSinglerollweight(BigDecimal singlerollweight) {
+        this.singlerollweight = singlerollweight;
+    }
 }