diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/OrderStatusEnum.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/OrderStatusEnum.java new file mode 100644 index 000000000..9579d7ef7 --- /dev/null +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/OrderStatusEnum.java @@ -0,0 +1,27 @@ +package com.cf.imes.framework.common.enums; + + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public enum OrderStatusEnum { + + EMPTY(0, "默认"), + NEW_ORDER(1, "新单"), + NO_SORT(2, "未排单"), + IN_PRODUCTION(3, "生产中"), + FINISH_PRODUCTION(4, "生产完成"); + + private final Integer status; + private String description; + + public boolean equals(Integer status) { + return this.status .equals(status) ; + } + + public boolean equals(OrderStatusEnum enableStatusEnum) { + return enableStatusEnum != null && enableStatusEnum.status .equals(this.getStatus()) ; + } +} diff --git a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/ProcessProcessingTypeEnum.java b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/ProcessProcessingTypeEnum.java index 3e9c5a7d5..eb89e9a53 100644 --- a/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/ProcessProcessingTypeEnum.java +++ b/cf-framework/cf-common/src/main/java/com/cf/imes/framework/common/enums/ProcessProcessingTypeEnum.java @@ -9,6 +9,7 @@ import lombok.Getter; public enum ProcessProcessingTypeEnum { CUTTINGMATERIALS(1,"开料"), + PACK(5,"打包"), COMPONENTPROCESSING(7,"组件加工"), PLATE(8,"板材加工"); diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/ProcessGroupList.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/ProcessGroupList.java new file mode 100644 index 000000000..1a150b0c4 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/bo/ProcessGroupList.java @@ -0,0 +1,22 @@ +package com.cf.imes.module.executor.controller.admin.plan.bo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class ProcessGroupList { + + + @Schema(description = "加工组名称") + private String groupName; + +// @Schema(description = "加工组ID") +// private String groupId; + + + + +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlateDetialRespVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlateDetialRespVO.java index 5a4a00d2d..2f4bec75b 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlateDetialRespVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/plan/vo/PlateDetialRespVO.java @@ -1,10 +1,12 @@ package com.cf.imes.module.executor.controller.admin.plan.vo; +import com.cf.imes.module.executor.controller.admin.plan.bo.ProcessGroupList; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import java.math.BigDecimal; +import java.util.List; @Schema(description = "管理后台 - 生产单板件 Response VO") @Data @@ -173,8 +175,8 @@ public class PlateDetialRespVO { private Integer type; - @Schema(description = "加工组ID", requiredMode = Schema.RequiredMode.REQUIRED) - private Long processGroupId; +// @Schema(description = "加工组ID", requiredMode = Schema.RequiredMode.REQUIRED) +// private String processGroupId; @Schema(description = "加工组名称", requiredMode = Schema.RequiredMode.REQUIRED) @@ -190,8 +192,12 @@ public class PlateDetialRespVO { private Boolean hasHole; - @Schema(description = "生产单明细ID", requiredMode = Schema.RequiredMode.REQUIRED) - private Long itemId; + // 加工组ID和名称 + @Schema(description = "加工组名称", requiredMode = Schema.RequiredMode.REQUIRED) + private List processGroupLists; + +// @Schema(description = "生产单明细ID", requiredMode = Schema.RequiredMode.REQUIRED) +// private Long itemId; diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java index 627980885..12e5cd8ba 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java @@ -10,6 +10,7 @@ import co.elastic.clients.elasticsearch._types.FieldValue; import co.elastic.clients.elasticsearch.core.*; import co.elastic.clients.elasticsearch.core.search.Hit; import com.alibaba.fastjson.JSON; +import com.cf.imes.framework.common.enums.OrderStatusEnum; import com.cf.imes.framework.common.enums.PlanStatusEnum; import com.cf.imes.framework.common.enums.RemainTypeEnum; import com.cf.imes.framework.common.exception.ServiceException; @@ -20,6 +21,7 @@ import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.framework.mybatis.core.query.MPJLambdaWrapperX; import com.cf.imes.framework.security.core.LoginUser; import com.cf.imes.module.executor.controller.admin.plan.bo.OrderSource; +import com.cf.imes.module.executor.controller.admin.plan.bo.ProcessGroupList; import com.cf.imes.module.executor.controller.admin.plan.bo.ProcessStepAreaIds; import com.cf.imes.module.executor.controller.admin.plan.bo.ProcessStepSalaryIds; import com.cf.imes.module.executor.controller.admin.plan.dto.Material; @@ -276,6 +278,15 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { } + public Boolean validateOrderStatus(Long orderId){ + + // 查询当前生产单的工序是否已全部加工 + List orderProcessStepNDOS = processStepMapper.selectOrderStatus(orderId, getUserOrganId()); + + return orderProcessStepNDOS.isEmpty(); + + } + @Override public OptimizeParamResVO getOptimizeParam(Long planId) { @@ -415,7 +426,28 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { // PlanDO planDO = planMapper.selectByOrderId(orderId); - List plateDOS = plateMapper.selectPlateDetialList(orderId,getUserOrganId()); + List plateDOS = plateMapper.selectPlateDetialList(orderId,getUserOrganId()); + + for (PlateDetialRespVO plateDetailsRespVO : plateDOS) { + String name = ""; + if(!plateDetailsRespVO.getProcessGroupLists().isEmpty()) { + for (ProcessGroupList groupNameList : plateDetailsRespVO.getProcessGroupLists()) { + // 去除最后的逗号 + name += groupNameList.getGroupName() + ","; + + } + name = name.substring(0, name.length() - 1); + } + plateDetailsRespVO.setProcessGroupName(name); + } + + +// for (PlateDetialRespVO plateDetailsRespVO : plateDOS) { +// for (ProcessGroupList groupNameList : plateDetailsRespVO.getProcessGroupLists()) { +// plateDetailsRespVO.setProcessGroupName(groupNameList.getGroupName()); +// } +// +// } // 造型数据的尺寸长度 @@ -467,6 +499,21 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { List plateDOS = plateMapper.selectPlateDetialListByIds(orderIds,getUserOrganId()); + for (PlateDetialRespVO plateDetailsRespVO : plateDOS) { + String name = ""; + if(!plateDetailsRespVO.getProcessGroupLists().isEmpty()) { + for (ProcessGroupList groupNameList : plateDetailsRespVO.getProcessGroupLists()) { + // 去除最后的逗号 + name += groupNameList.getGroupName() + ","; + + } + name = name.substring(0, name.length() - 1); + } + plateDetailsRespVO.setProcessGroupName(name); + } + + + // 造型数据的尺寸长度 Integer orderModelSize = plateDOS.size(); @@ -603,9 +650,10 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { for (PlateDetialRespVO plateDetialRespVO : req.getPlateList()) { orderItemDOS.add(OrderItemDO.builder() - .id(plateDetialRespVO.getItemId()) +// .id(plateDetialRespVO.getItemId()) .bodyId(plateDetialRespVO.getBodyId()) - .groupId(plateDetialRespVO.getProcessGroupId()) + .roomId(plateDetialRespVO.getRoomId()) +// .groupId(Long.valueOf(plateDetialRespVO.getProcessGroupId())) .orderId(plateDetialRespVO.getOrderId()) .type(1) .plateId(plateDetialRespVO.getId()) diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml index ec3df380d..1098573e6 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/resources/mapper/plate/PlateMapper.xml @@ -116,33 +116,113 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + +