From 46464ae58a4d92f9690b2749b084636ac46d38b3 Mon Sep 17 00:00:00 2001 From: chenshuichuan <1154693969@qq.com> Date: Fri, 28 Jun 2024 20:58:34 +0800 Subject: [PATCH] fix org and machine --- .../machine/vo/MachineComponentListReqVO.java | 2 ++ .../machine/vo/MachineComponentRespVO.java | 3 ++ .../machine/vo/MachineComponentSaveReqVO.java | 4 +-- .../admin/machine/vo/MachineStatusEnum.java | 36 +++++++++++++++++++ .../admin/machine/vo/MachineTypeEnum.java | 27 ++++++++++++++ .../admin/organization/vo/OrgClassEnum.java | 29 +++++++++++++++ .../vo/OrganizationListReqVO.java | 3 +- .../organization/vo/OrganizationRespVO.java | 3 +- .../vo/OrganizationSaveReqVO.java | 3 +- .../organization/vo/ProcessTypeEnum.java | 35 ++++++++++++++++++ .../controller/admin/plan/vo/PlanRespVO.java | 6 ++++ .../machine/MachineComponentDO.java | 3 ++ .../organization/OrganizationDO.java | 2 ++ .../mes/dal/dataobject/plan/PlanDO.java | 5 ++- .../mysql/machine/MachineComponentMapper.java | 4 ++- .../organization/OrganizationMapper.java | 4 ++- .../mes/dal/redis/no/MesNoRedisDAO.java | 13 ++++++- .../machine/MachineComponentServiceImpl.java | 21 ++++++++++- .../organization/OrganizationServiceImpl.java | 19 ++++++++-- .../mes/service/plan/PlanServiceImpl.java | 3 +- .../mes/service/task/TaskServiceImpl.java | 5 +++ 21 files changed, 217 insertions(+), 13 deletions(-) create mode 100644 yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineStatusEnum.java create mode 100644 yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineTypeEnum.java create mode 100644 yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrgClassEnum.java create mode 100644 yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/ProcessTypeEnum.java diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineComponentListReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineComponentListReqVO.java index 0d04ba97d8..c7cde4915d 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineComponentListReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineComponentListReqVO.java @@ -14,6 +14,8 @@ public class MachineComponentListReqVO { @Schema(description = "装备名称", example = "芋艿") private String name; + @Schema(description = "编码", example = "1") + private String code; @Schema(description = "父id", example = "24628") private Long parentId; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineComponentRespVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineComponentRespVO.java index 29730e2afd..5d53e430c5 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineComponentRespVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineComponentRespVO.java @@ -17,6 +17,9 @@ public class MachineComponentRespVO { @Schema(description = "装备id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12527") @ExcelProperty("装备id") private Long id; + @Schema(description = "编码", example = "1") + @ExcelProperty("编码") + private String code; @Schema(description = "装备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @ExcelProperty("装备名称") diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineComponentSaveReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineComponentSaveReqVO.java index 2ecd15dc3d..f65d9e2fdd 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineComponentSaveReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineComponentSaveReqVO.java @@ -13,7 +13,8 @@ public class MachineComponentSaveReqVO { @Schema(description = "装备id", requiredMode = Schema.RequiredMode.REQUIRED, example = "12527") private Long id; - + @Schema(description = "编码", example = "1") + private String code; @Schema(description = "装备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") @NotEmpty(message = "装备名称不能为空") private String name; @@ -27,7 +28,6 @@ public class MachineComponentSaveReqVO { private Integer sort; @Schema(description = "组织机台ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "13753") - @NotNull(message = "组织机台ID不能为空") private Long orgId; @Schema(description = "装备SN号") diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineStatusEnum.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineStatusEnum.java new file mode 100644 index 0000000000..dad7f4e8d1 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineStatusEnum.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.mes.controller.admin.machine.vo; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +import java.util.ArrayList; +import java.util.List; + +@Getter +@AllArgsConstructor +public enum MachineStatusEnum { + + + 空闲(1), + 工作(2), + 维修(3), + 保养(4), + 报废(5); + + private final Integer value; + + // 一个可选的方法,用于根据整数值获取对应的枚举实例 + public static MachineStatusEnum fromValue(int value) { + for (MachineStatusEnum status : MachineStatusEnum.values()) { + if (status.getValue() == value) { + return status; + } + } + throw new IllegalArgumentException("Unknown value: " + value); + } + //返回能状态 + public static List getEnableStatus(){ + List statusList = new ArrayList<>(); + return statusList; + } +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineTypeEnum.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineTypeEnum.java new file mode 100644 index 0000000000..ae5e8ccba6 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/vo/MachineTypeEnum.java @@ -0,0 +1,27 @@ +package cn.iocoder.yudao.module.mes.controller.admin.machine.vo; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum MachineTypeEnum { + + + 产线(1), + 机台(2), + 关键件(3); + + private final Integer value; + + // 一个可选的方法,用于根据整数值获取对应的枚举实例 + public static MachineTypeEnum fromValue(int value) { + for (MachineTypeEnum status : MachineTypeEnum.values()) { + if (status.getValue() == value) { + return status; + } + } + throw new IllegalArgumentException("Unknown value: " + value); + } + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrgClassEnum.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrgClassEnum.java new file mode 100644 index 0000000000..88791d04f2 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrgClassEnum.java @@ -0,0 +1,29 @@ +package cn.iocoder.yudao.module.mes.controller.admin.organization.vo; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum OrgClassEnum { + + + 工厂("factory"), + 车间("workshop"), + 产线("pipeline"), + 工序("process"), + 工位("workplace"),; + + private final String value; + + // 一个可选的方法,用于根据整数值获取对应的枚举实例 + public static OrgClassEnum fromValue(String value) { + for (OrgClassEnum status : OrgClassEnum.values()) { + if (status.getValue() .equals(value)) { + return status; + } + } + throw new IllegalArgumentException("Unknown value: " + value); + } + +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationListReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationListReqVO.java index ffedb93e2b..08eb385638 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationListReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationListReqVO.java @@ -14,7 +14,8 @@ public class OrganizationListReqVO { @Schema(description = "组织名称", example = "赵六") private String name; - + @Schema(description = "编码", example = "1") + private String code; @Schema(description = "父组织id", example = "9482") private Long parentId; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationRespVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationRespVO.java index 0ca56a1edd..c810f847a2 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationRespVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationRespVO.java @@ -17,7 +17,8 @@ public class OrganizationRespVO { @Schema(description = "组织id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9560") @ExcelProperty("组织id") private Long id; - + @Schema(description = "编码", example = "1") + private String code; @Schema(description = "组织名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") @ExcelProperty("组织名称") private String name; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationSaveReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationSaveReqVO.java index 03384b9fc3..6d0b3404ef 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationSaveReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/OrganizationSaveReqVO.java @@ -12,7 +12,8 @@ public class OrganizationSaveReqVO { @Schema(description = "组织id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9560") private Long id; - + @Schema(description = "编码", example = "1") + private String code; @Schema(description = "组织名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") @NotEmpty(message = "组织名称不能为空") private String name; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/ProcessTypeEnum.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/ProcessTypeEnum.java new file mode 100644 index 0000000000..f4a28c5b65 --- /dev/null +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/organization/vo/ProcessTypeEnum.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.mes.controller.admin.organization.vo; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@Getter +@AllArgsConstructor +public enum ProcessTypeEnum { + + + + 制浆("zhijiang"), + 成型("chengxing"), + 烘干("honggan"), + 转移("zhuanyi"), + 加湿("jiashi"), + 热压("reya"), + 切边("qiebian"), + 品检("pinjian"), + 打包("dabao"), + 贴标("tiebiao"), + 塑封("sufeng"); + + private final String value; + + // 一个可选的方法,用于根据整数值获取对应的枚举实例 + public static OrgClassEnum fromValue(String value) { + for (OrgClassEnum status : OrgClassEnum.values()) { + if (status.getValue() .equals(value)) { + return status; + } + } + throw new IllegalArgumentException("Unknown value: " + value); + } +} \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/vo/PlanRespVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/vo/PlanRespVO.java index e56ecdbfca..9945fecd3b 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/vo/PlanRespVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/plan/vo/PlanRespVO.java @@ -89,4 +89,10 @@ public class PlanRespVO { @Schema(description = "制浆线") @ExcelProperty("制浆线") private String feedingPipeline; + + /** + * 对应的派工单ID + */ + @Schema(description = "派工单ID") + private Long requisitionId; } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/machine/MachineComponentDO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/machine/MachineComponentDO.java index 55eda11258..dbd2b7c09e 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/machine/MachineComponentDO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/machine/MachineComponentDO.java @@ -30,6 +30,9 @@ public class MachineComponentDO extends BaseDO { */ @TableId private Long id; + + //@ExcelProperty("编码") + private String code; /** * 装备名称 */ diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/organization/OrganizationDO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/organization/OrganizationDO.java index e293322ea6..a0527490d9 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/organization/OrganizationDO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/organization/OrganizationDO.java @@ -28,6 +28,8 @@ public class OrganizationDO extends BaseDO { */ @TableId private Long id; + //@Schema(description = "编码", example = "1") + private String code; /** * 组织名称 */ diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/plan/PlanDO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/plan/PlanDO.java index 66fbe1a071..acbab4dde7 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/plan/PlanDO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/plan/PlanDO.java @@ -90,5 +90,8 @@ public class PlanDO extends BaseDO { private Boolean isEnable; //@Schema(description = "制浆线") private String feedingPipeline; - + /** + * 对应的派工单ID + */ + private Long requisitionId; } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/machine/MachineComponentMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/machine/MachineComponentMapper.java index 52b624ce1e..cd7abf2af2 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/machine/MachineComponentMapper.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/machine/MachineComponentMapper.java @@ -42,5 +42,7 @@ public interface MachineComponentMapper extends BaseMapperX default Long selectCountByParentId(Long parentId) { return selectCount(MachineComponentDO::getParentId, parentId); } - + default MachineComponentDO selectByNo(String no) { + return selectOne(MachineComponentDO::getCode, no); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/organization/OrganizationMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/organization/OrganizationMapper.java index 8ed3d49dfa..b9a523948e 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/organization/OrganizationMapper.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/organization/OrganizationMapper.java @@ -40,5 +40,7 @@ public interface OrganizationMapper extends BaseMapperX { default Long selectCountByParentId(Long parentId) { return selectCount(OrganizationDO::getParentId, parentId); } - + default OrganizationDO selectByNo(String no) { + return selectOne(OrganizationDO::getCode, no); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/redis/no/MesNoRedisDAO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/redis/no/MesNoRedisDAO.java index a9ffb57264..8efa1c086d 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/redis/no/MesNoRedisDAO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/redis/no/MesNoRedisDAO.java @@ -46,7 +46,18 @@ public class MesNoRedisDAO { * 投料记录单 */ public static final String FEEDING_RECORD_CODE_PREFIX = "TL-"; - + /** + * 产线工位编码 + */ + public static final String ORG_WORKPLACE = "GW-"; + /** + * 机台编码 + */ + public static final String ORG_MACHINE = "MA-"; + /** + * 关键件编码 + */ + public static final String ORG_COMPONENT = "COM-"; @Resource private StringRedisTemplate stringRedisTemplate; diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/machine/MachineComponentServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/machine/MachineComponentServiceImpl.java index fe5337bbc5..d6175d3aae 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/machine/MachineComponentServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/machine/MachineComponentServiceImpl.java @@ -3,8 +3,11 @@ package cn.iocoder.yudao.module.mes.service.machine; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.machine.vo.MachineComponentListReqVO; import cn.iocoder.yudao.module.mes.controller.admin.machine.vo.MachineComponentSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.machine.vo.MachineTypeEnum; import cn.iocoder.yudao.module.mes.dal.dataobject.machine.MachineComponentDO; import cn.iocoder.yudao.module.mes.dal.mysql.machine.MachineComponentMapper; +import cn.iocoder.yudao.module.mes.dal.redis.no.MesNoRedisDAO; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -13,6 +16,7 @@ import java.util.List; import java.util.Objects; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.PURCHASE_ORDER_NO_EXISTS; import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; /** @@ -26,7 +30,8 @@ public class MachineComponentServiceImpl implements MachineComponentService { @Resource private MachineComponentMapper machineComponentMapper; - + @Resource + private MesNoRedisDAO noRedisDAO; @Override public Long createMachineComponent(MachineComponentSaveReqVO createReqVO) { // 校验父id的有效性 @@ -36,6 +41,20 @@ public class MachineComponentServiceImpl implements MachineComponentService { // 插入 MachineComponentDO machineComponent = BeanUtils.toBean(createReqVO, MachineComponentDO.class); + if (StringUtils.isEmpty(machineComponent.getCode())) { + // 1.4 编码,并校验唯一性 + String no = null; + if(machineComponent.getComponentType().equals(MachineTypeEnum.机台.getValue())) + no = noRedisDAO.generate2(MesNoRedisDAO.ORG_MACHINE); + if(machineComponent.getComponentType().equals(MachineTypeEnum.关键件.getValue())) + no = noRedisDAO.generate2(MesNoRedisDAO.ORG_COMPONENT); + if(StringUtils.isNotEmpty(no)){ + if (machineComponentMapper.selectByNo(no) != null) { + throw exception(PURCHASE_ORDER_NO_EXISTS); + } + machineComponent.setCode(no); + } + } machineComponentMapper.insert(machineComponent); // 返回 return machineComponent.getId(); diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java index 4a54d8a1da..90e6d4bdf5 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/organization/OrganizationServiceImpl.java @@ -1,10 +1,13 @@ package cn.iocoder.yudao.module.mes.service.organization; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.OrgClassEnum; import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.OrganizationListReqVO; import cn.iocoder.yudao.module.mes.controller.admin.organization.vo.OrganizationSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.organization.OrganizationDO; import cn.iocoder.yudao.module.mes.dal.mysql.organization.OrganizationMapper; +import cn.iocoder.yudao.module.mes.dal.redis.no.MesNoRedisDAO; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -13,6 +16,7 @@ import java.util.List; import java.util.Objects; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.erp.enums.ErrorCodeConstants.PURCHASE_ORDER_NO_EXISTS; import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; /** @@ -26,16 +30,27 @@ public class OrganizationServiceImpl implements OrganizationService { @Resource private OrganizationMapper organizationMapper; - + @Resource + private MesNoRedisDAO noRedisDAO; @Override public Long createOrganization(OrganizationSaveReqVO createReqVO) { // 校验父组织id的有效性 validateParentOrganization(null, createReqVO.getParentId()); // 校验组织名称的唯一性 validateOrganizationNameUnique(null, createReqVO.getParentId(), createReqVO.getName()); - // 插入 OrganizationDO organization = BeanUtils.toBean(createReqVO, OrganizationDO.class); + if (StringUtils.isEmpty(organization.getCode())) { + // 1.4 编码,并校验唯一性 + String no = null; + if(organization.getOrgClass().equals(OrgClassEnum.工位.getValue())){ + no = noRedisDAO.generate2(MesNoRedisDAO.ORG_WORKPLACE); + if (organizationMapper.selectByNo(no) != null) { + throw exception(PURCHASE_ORDER_NO_EXISTS); + } + organization.setCode(no); + } + } organizationMapper.insert(organization); // 返回 return organization.getId(); diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/plan/PlanServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/plan/PlanServiceImpl.java index 34a05ca759..7502aea9ce 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/plan/PlanServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/plan/PlanServiceImpl.java @@ -178,13 +178,14 @@ public class PlanServiceImpl implements PlanService { saveReqVO.setStatus(ItemRequisitionStatusEnum.下达.getValue()); if (saveReqVO.getRequisitionDate() == null) saveReqVO.setRequisitionDate(LocalDateTime.now()); - itemRequisitionService.createItemRequisition(saveReqVO); + Long id = itemRequisitionService.createItemRequisition(saveReqVO); //更新计划状态 planDO.setStatus(PlanStatusEnum.派工.getValue()); planDO.setIsEnable(true); planDO.setProductionManagerId(saveReqVO.getWorkerId()); planDO.setFeedingPipeline(saveReqVO.getFeedingPipeline()); planDO.setStartTime(LocalDateTime.now()); + planDO.setRequisitionId(id); planMapper.updateById(planDO); return true; } diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/task/TaskServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/task/TaskServiceImpl.java index 9827fd8642..75d01641e9 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/task/TaskServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/task/TaskServiceImpl.java @@ -245,6 +245,11 @@ public class TaskServiceImpl implements TaskService { List summaryList = summaryMapper.selectListByTaskId(taskId); Map> planMap = new HashMap<>(); for (ViewTaskProductSummary summary : summaryList) { + if(summary.getPlanNumber()==null) + summary.setPlanNumber(0L); + if(summary.getTotalNumber()==null) + summary.setTotalNumber(0L); + Long unplanNumber = summary.getTotalNumber() - summary.getPlanNumber(); unplanNumber = unplanNumber > 0 ? unplanNumber : 0; List planDOList = generatePlan2(taskId, summary.getProductId(), unplanNumber, productsOfPlan);