From e6cd2b9540aebb278c4e27fef25ddf54a1cb03e1 Mon Sep 17 00:00:00 2001 From: liuzhaotian Date: Fri, 12 Jul 2024 18:44:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=93=E5=8C=85=E7=8A=B6=E6=80=81=EF=BC=8C?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=8D=95=E7=8A=B6=E6=80=81=EF=BC=8C=E5=B7=A5?= =?UTF-8?q?=E5=BA=8F=E5=8A=A0=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mysql/processStep/ProcessStepMapper.java | 9 ++ .../admin/pack/vo/PlateAndPartIdList.java | 23 ++++ .../dal/dataobject/process/OrderDO.java | 5 + .../dal/mysql/pack/OrderPackageMapper.java | 9 +- .../dal/mysql/process/ProcessStepMapper.java | 23 +++- .../manage/service/pack/PackServiceImpl.java | 104 ++++++++++++++++++ .../process/ProductionProcessServiceImpl.java | 47 ++++++++ .../dal/mysql/pack/OrderPackageMapper.xml | 15 +++ .../system/enums/ErrorCodeConstants.java | 1 + 9 files changed, 228 insertions(+), 8 deletions(-) create mode 100644 cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateAndPartIdList.java diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/processStep/ProcessStepMapper.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/processStep/ProcessStepMapper.java index a1d77797e..8ff654386 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/processStep/ProcessStepMapper.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/dal/mysql/processStep/ProcessStepMapper.java @@ -71,4 +71,13 @@ public interface ProcessStepMapper extends BaseMapperX { void updateStatus(@Param("processStepSalaryIds") List processStepSalaryIds,@Param("nickname") String nickname); + + + default List selectOrderStatus(Long orderId, Long organId) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(ProcessStepDO::getOrganId, organId) + .eqIfPresent(ProcessStepDO::getOrderId, orderId) + .eqIfPresent(ProcessStepDO::getStatus,false)); + + } } \ No newline at end of file diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateAndPartIdList.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateAndPartIdList.java new file mode 100644 index 000000000..625a2d50a --- /dev/null +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/controller/admin/pack/vo/PlateAndPartIdList.java @@ -0,0 +1,23 @@ +package com.cf.imes.module.manage.controller.admin.pack.vo; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.ToString; + + +@Schema(description = "板材和配件ID") +@Data +@ToString(callSuper = true) +public class PlateAndPartIdList { + + + @Schema(description = "板材ID") + private Long plateId; + + + @Schema(description = "配件ID") + private Long partsId; + + +} diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderDO.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderDO.java index 987e80c72..86e9c5493 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderDO.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/dataobject/process/OrderDO.java @@ -8,6 +8,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import com.cf.imes.framework.mybatis.core.dataobject.BaseDO; import lombok.*; +import java.time.LocalDateTime; + @TableName(value = "`orders`") // 由于 SQL Server 的 system_user 是关键字,所以使用 system_users @Data @EqualsAndHashCode(callSuper = true) @@ -55,6 +57,9 @@ public class OrderDO extends BaseDO { // 备注 private String remark; + // 生产单的完成时间 + private LocalDateTime finishTime; + diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java index 666fc5e6b..0b781883e 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.java @@ -2,10 +2,12 @@ package com.cf.imes.module.manage.dal.mysql.pack; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.cf.imes.framework.common.enums.OrderPackageStatusEnum; import com.cf.imes.framework.mybatis.core.mapper.BaseMapperX; import com.cf.imes.framework.mybatis.core.query.LambdaQueryWrapperX; import com.cf.imes.module.manage.controller.admin.pack.vo.PackRespVO; import com.cf.imes.module.manage.controller.admin.pack.vo.PackageDetailsReqVO; +import com.cf.imes.module.manage.controller.admin.pack.vo.PlateAndPartIdList; import com.cf.imes.module.manage.controller.admin.pack.vo.PlateDetailsRespVO; import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO; import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO; @@ -64,12 +66,15 @@ public interface OrderPackageMapper extends BaseMapperX { } - default List selectPackList(Long packageId,Long organId) { + default List selectPackList(Long orderId,Long organId) { return selectList(new LambdaQueryWrapperX() .eq(OrderPackageDO::getOrganId,organId) - .eqIfPresent(OrderPackageDO::getId, packageId)); + .eqIfPresent(OrderPackageDO::getOrderId, orderId) + .eqIfPresent(OrderPackageDO::getStatus, OrderPackageStatusEnum.UNPACKED.getStatus())); } List selectPackPieceCount(@Param("orderIds") List orderIds, @Param("organId") Long organId); + + List selectOrderPack(@Param("orderId") Long orderId,@Param("organId") Long organId); } diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.java index c6b469f8b..1cafdea7f 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/dal/mysql/process/ProcessStepMapper.java @@ -32,12 +32,6 @@ public interface ProcessStepMapper extends BaseMapperX { void updateStatusById(@Param("id") Long id, @Param("salary")BigDecimal salary); -// default List selectProducitonList(Long orderNo) { -// return selectList(new LambdaQueryWrapperX() -// .eqIfPresent(OrderProcessStepNDO::getOrderId, orderNo)); -// -// } - List selectProducitonList(@Param("orderNo") Long orderNo,@Param("organId") Long organId); @@ -54,4 +48,21 @@ public interface ProcessStepMapper extends BaseMapperX { List selectProcessList(@Param("organId") Long organId); + + default List selectOrderStatus(Long orderId, Long organId) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(OrderProcessStepNDO::getOrganId, organId) + .eqIfPresent(OrderProcessStepNDO::getOrderId, orderId) + .eqIfPresent(OrderProcessStepNDO::getStatus,false)); + + } + + + default OrderProcessStepNDO selectOrderProcess(Long orderId, Long organId, Integer type) { + return selectOne(new LambdaQueryWrapperX() + .eqIfPresent(OrderProcessStepNDO::getOrganId, organId) + .eqIfPresent(OrderProcessStepNDO::getOrderId, orderId) + .eqIfPresent(OrderProcessStepNDO::getType,type)); + + } } \ No newline at end of file diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java index 26d9e87ef..1047a0c30 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/pack/PackServiceImpl.java @@ -6,24 +6,32 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; import com.cf.imes.framework.common.enums.OrderPackageStatusEnum; import com.cf.imes.framework.common.enums.OrderPackageTypeEnum; +import com.cf.imes.framework.common.enums.OrderStatusEnum; +import com.cf.imes.framework.common.enums.ProcessProcessingTypeEnum; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; import com.cf.imes.framework.common.pojo.PageResult; import com.cf.imes.framework.common.util.object.BeanUtils; import com.cf.imes.module.manage.controller.admin.pack.vo.*; +import com.cf.imes.module.manage.controller.admin.process.vo.OrderProcessStepItemVO; import com.cf.imes.module.manage.controller.admin.process.vo.ProcessRespVO; +import com.cf.imes.module.manage.controller.admin.process.vo.ProcessStepStatus; import com.cf.imes.module.manage.controller.admin.query.vo.pack.OrderPackageVO; import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.OrderModuleReqVO; import com.cf.imes.module.manage.dal.dataobject.pack.OrderBodyDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO; import com.cf.imes.module.manage.dal.dataobject.query.OrderItemDO; import com.cf.imes.module.manage.dal.dataobject.query.OrderPackageDO; import com.cf.imes.module.manage.dal.dataobject.query.OrderPartsNDO; import com.cf.imes.module.manage.dal.mysql.pack.OrderBodyMapper; import com.cf.imes.module.manage.dal.mysql.pack.OrderPackageMapper; +import com.cf.imes.module.manage.dal.mysql.process.ProcessStepItemMapper; import com.cf.imes.module.manage.dal.mysql.process.ProcessStepMapper; +import com.cf.imes.module.manage.dal.mysql.process.ProductionProcessMapper; import com.cf.imes.module.manage.dal.mysql.query.OrderItemMapper; import com.cf.imes.module.manage.dal.mysql.query.OrderPartsMapper; import com.cf.imes.module.manage.dal.mysql.query.ProductionStatusMapper; +import com.cf.imes.module.manage.service.process.ProductionProcessServiceImpl; import com.cf.imes.module.manage.util.packageNo.PackageNoUtil; import com.cf.imes.module.manage.util.page.PageHelperUtil; import com.cf.imes.module.system.enums.ErrorCodeConstants; @@ -34,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; import java.util.Objects; @@ -41,6 +50,7 @@ import java.util.stream.Collectors; import static com.cf.imes.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.cf.imes.framework.common.util.string.SearchUtil.insertSeparator; +import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; import static com.cf.imes.framework.security.core.util.SecurityFrameworkUtils.getUserOrganId; import static com.cf.imes.module.system.enums.ErrorCodeConstants.*; @@ -67,6 +77,16 @@ public class PackServiceImpl implements PackService { @Resource private ProcessStepMapper processStepMapper; + @Resource + private ProductionProcessServiceImpl productionProcessService; + + @Resource + private ProcessStepItemMapper processStepItemMapper; + + @Resource + private ProductionProcessMapper productionProcessMapper; + + // 打包分页查询 @Override @@ -234,7 +254,17 @@ public class PackServiceImpl implements PackService { if(reqVO.getAddPartsIdList()!=null) { orderItemMapper.insertPartsId( orderPackageDO.getId(),reqVO.getAddPartsIdList()); } + + // 判断当前生产单的板材和配件是否已全部打包且当前生产单的包裹已全部封包 + if(validateOrderPack(reqVO.getOrderId())){ + + updateOrderStatus(reqVO.getOrderId()); + + } + + return typeConversion(orderPackageDO); + } @@ -277,6 +307,15 @@ public class PackServiceImpl implements PackService { orderPackageMapper.updateById(orderPackageDO); + + // 判断当前生产单的板材和配件是否已全部打包且当前生产单的包裹已全部封包 + if(validateOrderPack(reqVO.getOrderId())){ + + updateOrderStatus(reqVO.getOrderId()); + + } + + return typeConversion(orderPackageDO); } @@ -317,6 +356,11 @@ public class PackServiceImpl implements PackService { if(packageVO.getAddPlateIdList()!=null) { orderItemMapper.insertPackId(packageVO.getAddPlateIdList(), orderPackageDO.getId()); } + + if(validateOrderPack(packageVO.getOrderId())){ + updateOrderStatus(packageVO.getOrderId()); + } + return typeConversion(orderPackageDO); } @@ -361,11 +405,71 @@ public class PackServiceImpl implements PackService { orderPackageMapper.updateById(orderPackageDO); + + // 判断当前生产单的板材和配件是否已全部打包且当前生产单的包裹已全部封包 + if(validateOrderPack(packageVO.getOrderId())){ + + updateOrderStatus(packageVO.getOrderId()); + + } + return typeConversion(orderPackageDO); } + // 判断当前生产单的板材和配件是否已全部打包且当前生产单的包裹已全部封包 + public Boolean validateOrderPack(Long orderId){ + + List orderPackageDOS = orderPackageMapper.selectPackList(orderId, getUserOrganId()); + + if(!orderPackageDOS.isEmpty()){ + return false; + } + + List plateAndPartIdLists = orderPackageMapper.selectOrderPack(orderId, getUserOrganId()); + +// List plateList = plateAndPartIdLists.stream().map(PlateAndPartIdList::getPlateId).toList(); +// +// List partsList = plateAndPartIdLists.stream().map(PlateAndPartIdList::getPartsId).toList(); + + return plateAndPartIdLists.isEmpty() ; + + } + + + // 修改当前生产单的工序状态和生产单的状态 + @Transactional(rollbackFor = Exception.class) + public void updateOrderStatus(Long orderId) { + + OrderDO orderDO = productionProcessMapper.selectById(orderId); + if(orderDO.getFinishTime() != null){ + return; + } + + // 判断正确,修改当前生产单对应的打包的工序状态 + OrderProcessStepNDO orderProcessStepNDO = processStepMapper.selectOrderProcess(orderId, getUserOrganId(), ProcessProcessingTypeEnum.PACK.getNumber()); + + + // 工序加工添加负责人 + String nickname = getLoginUser().getNickname(); + + + BigDecimal salary = productionProcessService.calculateSalary(orderProcessStepNDO.getId(), null); + + // 修改生产明细表和步骤表的工序状态 + processStepMapper.updateStatus(orderProcessStepNDO.getId(), nickname, salary); + + processStepItemMapper.updateStatus(orderProcessStepNDO.getId()); + + // 修改生产的状态为生产完成 + orderDO.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus()); + orderDO.setFinishTime(LocalDateTime.now()); + + productionProcessMapper.updateById(orderDO); + + + } // 查询包裹 diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java index 0609b8b70..61a96f7cf 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/java/com/cf/imes/module/manage/service/process/ProductionProcessServiceImpl.java @@ -6,6 +6,7 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.log.Log; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO; +import com.cf.imes.framework.common.enums.OrderStatusEnum; import com.cf.imes.framework.common.enums.ProcessProcessingTypeEnum; import com.cf.imes.framework.common.enums.ProcessingStatusEnum; import com.cf.imes.framework.common.exception.util.ServiceExceptionUtil; @@ -16,7 +17,9 @@ import com.cf.imes.module.manage.controller.admin.query.vo.productionStatus.Orde import com.cf.imes.module.manage.dal.dataobject.pack.OrderBodyDO; import com.cf.imes.module.manage.dal.dataobject.plate.OrderPlateDO; import com.cf.imes.module.manage.dal.dataobject.plate.PlateDO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderDO; import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepItemNDO; +import com.cf.imes.module.manage.dal.dataobject.process.OrderProcessStepNDO; import com.cf.imes.module.manage.dal.mysql.pack.OrderBodyMapper; import com.cf.imes.module.manage.dal.mysql.plate.OrderPlateMapper; import com.cf.imes.module.manage.dal.mysql.plate.PlateMapper; @@ -31,6 +34,7 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.math.BigDecimal; +import java.time.LocalDateTime; import java.util.*; import java.util.stream.Collectors; @@ -68,6 +72,9 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { @Resource private OrderPlateMapper orderPlateMapper; + @Resource + private ProductionProcessMapper productionProcessMapper; + @Resource private ProcessApi processApi; @@ -152,6 +159,13 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { processStepMapper.updateStatusById(reqVo.getProcessStepId(),salary); } + // 当前工序已全部加工,修改生产单的状态为生产完成 + if(validateOrderStatus(processStepStatuses.getOrderId())){ + OrderDO orderDO = productionProcessMapper.selectById(processStepStatuses.getOrderId()); + orderDO.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus()); + orderDO.setFinishTime(LocalDateTime.now()); + productionProcessMapper.updateById(orderDO); + } return; @@ -176,6 +190,13 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { processStepMapper.updateStatusById(reqVo.getProcessStepId(),salary); } + // 当前工序已全部加工,修改生产单的状态为生产完成 + if(validateOrderStatus(processStepStatuses.getOrderId())){ + OrderDO orderDO = productionProcessMapper.selectById(processStepStatuses.getOrderId()); + orderDO.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus()); + orderDO.setFinishTime(LocalDateTime.now()); + productionProcessMapper.updateById(orderDO); + } return; } @@ -188,6 +209,23 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { processStepItemMapper.updateStatus(reqVo.getProcessStepId()); + // 判断当前工序的状态是否为打包类型,如果是,修改生产的状态为生产完成 + if(processStepStatuses.getType().equals(ProcessProcessingTypeEnum.PACK.getNumber())){ + OrderDO orderDO = productionProcessMapper.selectById(processStepStatuses.getOrderId()); + orderDO.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus()); + orderDO.setFinishTime(LocalDateTime.now()); + productionProcessMapper.updateById(orderDO); + return; + } + + // 当前工序已全部加工,修改生产单的状态为生产完成 + if(validateOrderStatus(processStepStatuses.getOrderId())){ + OrderDO orderDO = productionProcessMapper.selectById(processStepStatuses.getOrderId()); + orderDO.setStatus(OrderStatusEnum.FINISH_PRODUCTION.getStatus()); + orderDO.setFinishTime(LocalDateTime.now()); + productionProcessMapper.updateById(orderDO); + } + }catch (Exception e){ log.error(String.valueOf(e)); @@ -220,6 +258,15 @@ public class ProductionProcessServiceImpl implements ProductionProcessService { } + public Boolean validateOrderStatus(Long orderId){ + + // 查询当前生产单的工序是否已全部加工 + List orderProcessStepNDOS = processStepMapper.selectOrderStatus(orderId, getUserOrganId()); + + return orderProcessStepNDOS.isEmpty(); + + } + // 查看板材信息的组合名称 @Override diff --git a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml index 225973df3..1cfb322df 100644 --- a/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml +++ b/cf-module-prod-manage/cf-module-prod-manage-biz/src/main/resources/com/cf/imes/module/manage/dal/mysql/pack/OrderPackageMapper.xml @@ -182,5 +182,20 @@ + + + \ No newline at end of file diff --git a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java index 412b93f4c..df0c49c1f 100644 --- a/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java +++ b/cf-module-system/cf-module-system-api/src/main/java/com/cf/imes/module/system/enums/ErrorCodeConstants.java @@ -265,6 +265,7 @@ public interface ErrorCodeConstants { //=========== 包裹信息 1-002-038-000 ============ ErrorCode THE_CURRENT_PACKAGE_HAS_AN_UNSEALED_PACKAGE = new ErrorCode(1_002_038_666, "当前包裹还有未封包包裹"); ErrorCode THE_CURRENT_PACKAGE_TYPE_IS_INCORRECT = new ErrorCode(1_002_038_777, "当前包裹类型错误"); + ErrorCode FAILED_TO_MODIFY_THE_STATUS_OF_THE_CURRENT_PRODUCTION_ORDER = new ErrorCode(1_002_038_778, "修改当前生产单的工序状态和生产单的状态失败"); //=========== 应用信息 1-002-037-000 ============