Commit 17680cf69583804fb5840fb0df16cc6e53eefc14

Authored by YunaiV
1 parent f74a063d

feat(mes): qc 添加安灯处置状态和级别枚举,更新相关错误码和接口定义

yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/qc/indicator/MesQcIndicatorDO.java
@@ -34,22 +34,20 @@ public class MesQcIndicatorDO extends BaseDO { @@ -34,22 +34,20 @@ public class MesQcIndicatorDO extends BaseDO {
34 * 检测项名称 34 * 检测项名称
35 */ 35 */
36 private String name; 36 private String name;
37 - // TODO @AI:字典枚举,链接过去;  
38 /** 37 /**
39 * 检测项类型 38 * 检测项类型
40 * 39 *
41 - * 字典类型 mes_index_type 40 + * 枚举 {@link cn.iocoder.yudao.module.mes.enums.DictTypeConstants#MES_INDEX_TYPE}
42 */ 41 */
43 private String type; 42 private String type;
44 /** 43 /**
45 * 检测工具 44 * 检测工具
46 */ 45 */
47 private String tool; 46 private String tool;
48 - // TODO @AI:字典枚举,链接过去;  
49 /** 47 /**
50 * 结果值类型 48 * 结果值类型
51 * 49 *
52 - * 字典类型 mes_qc_result_type 50 + * 枚举 {@link cn.iocoder.yudao.module.mes.enums.DictTypeConstants#MES_QC_RESULT_TYPE}
53 */ 51 */
54 private String resultType; 52 private String resultType;
55 /** 53 /**
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/DictTypeConstants.java
@@ -38,5 +38,10 @@ public interface DictTypeConstants { @@ -38,5 +38,10 @@ public interface DictTypeConstants {
38 String MES_DV_CHECK_RESULT = "mes_dv_check_result"; // MES 点检结果 38 String MES_DV_CHECK_RESULT = "mes_dv_check_result"; // MES 点检结果
39 String MES_DV_REPAIR_STATUS = "mes_dv_repair_status"; // MES 维修工单状态 39 String MES_DV_REPAIR_STATUS = "mes_dv_repair_status"; // MES 维修工单状态
40 String MES_DV_REPAIR_RESULT = "mes_dv_repair_result"; // MES 维修结果 40 String MES_DV_REPAIR_RESULT = "mes_dv_repair_result"; // MES 维修结果
  41 + String MES_PRO_ANDON_STATUS = "mes_pro_andon_status"; // MES 安灯处置状态
  42 + String MES_PRO_ANDON_LEVEL = "mes_pro_andon_level"; // MES 安灯级别
  43 + String MES_PRO_FEEDBACK_STATUS = "mes_pro_feedback_status"; // MES 生产报工状态
  44 + String MES_PRO_FEEDBACK_TYPE = "mes_pro_feedback_type"; // MES 生产报工类型
  45 + String MES_PRO_FEEDBACK_CHANNEL = "mes_pro_feedback_channel"; // MES 生产报工途径
41 46
42 } 47 }
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
@@ -202,6 +202,29 @@ public interface ErrorCodeConstants { @@ -202,6 +202,29 @@ public interface ErrorCodeConstants {
202 // ========== MES 生产管理-生产任务(1-040-503-000) ========== 202 // ========== MES 生产管理-生产任务(1-040-503-000) ==========
203 ErrorCode PRO_TASK_NOT_EXISTS = new ErrorCode(1_040_503_000, "生产任务不存在"); 203 ErrorCode PRO_TASK_NOT_EXISTS = new ErrorCode(1_040_503_000, "生产任务不存在");
204 204
  205 + // ========== MES 生产管理-安灯呼叫配置(1-040-504-000) ==========
  206 + ErrorCode PRO_ANDON_CONFIG_NOT_EXISTS = new ErrorCode(1_040_504_000, "安灯呼叫配置不存在");
  207 +
  208 + // ========== MES 生产管理-安灯呼叫记录(1-040-505-000) ==========
  209 + ErrorCode PRO_ANDON_RECORD_NOT_EXISTS = new ErrorCode(1_040_505_000, "安灯呼叫记录不存在");
  210 + ErrorCode PRO_ANDON_RECORD_ALREADY_HANDLED = new ErrorCode(1_040_505_001, "安灯记录已处置,不允许重复处置");
  211 +
  212 + // ========== MES 生产管理-生产报工(1-040-506-000) ==========
  213 + ErrorCode PRO_FEEDBACK_NOT_EXISTS = new ErrorCode(1_040_506_000, "生产报工不存在");
  214 + ErrorCode PRO_FEEDBACK_NOT_PREPARE = new ErrorCode(1_040_506_001, "只能修改或删除草稿状态的报工单");
  215 + ErrorCode PRO_FEEDBACK_NOT_APPROVING = new ErrorCode(1_040_506_002, "只有审批中状态的报工单才能执行此操作");
  216 + ErrorCode PRO_FEEDBACK_NOT_UNCHECK = new ErrorCode(1_040_506_003, "只有待检验状态的报工单才能完成检验");
  217 + ErrorCode PRO_FEEDBACK_QUANTITY_EXCEED = new ErrorCode(1_040_506_004, "报工数量不能超过排产数量");
  218 + ErrorCode PRO_FEEDBACK_STATUS_ERROR = new ErrorCode(1_040_506_005, "报工单状态不正确,无法执行此操作");
  219 + ErrorCode PRO_FEEDBACK_WORK_ORDER_NOT_CONFIRMED = new ErrorCode(1_040_506_006, "关联的工单未确认,无法创建报工");
  220 + ErrorCode PRO_FEEDBACK_QUALIFIED_UNQUALIFIED_MISMATCH = new ErrorCode(1_040_506_007, "合格品数量与不良品数量之和必须等于报工数量");
  221 +
  222 + // ========== MES 生产管理-生产流转卡(1-040-507-000) ==========
  223 + ErrorCode PRO_CARD_NOT_EXISTS = new ErrorCode(1_040_507_000, "生产流转卡不存在");
  224 + ErrorCode PRO_CARD_CODE_DUPLICATE = new ErrorCode(1_040_507_001, "流转卡编码已存在");
  225 + // ========== MES 生产管理-流转卡工序(1-040-507-100) ==========
  226 + ErrorCode PRO_CARD_PROCESS_NOT_EXISTS = new ErrorCode(1_040_507_100, "流转卡工序记录不存在");
  227 +
205 // ========== MES 质量管理-质检方案(1-040-600-000) ========== 228 // ========== MES 质量管理-质检方案(1-040-600-000) ==========
206 ErrorCode QC_TEMPLATE_NOT_EXISTS = new ErrorCode(1_040_600_000, "质检方案不存在"); 229 ErrorCode QC_TEMPLATE_NOT_EXISTS = new ErrorCode(1_040_600_000, "质检方案不存在");
207 ErrorCode QC_TEMPLATE_CODE_DUPLICATE = new ErrorCode(1_040_600_001, "质检方案编号已存在"); 230 ErrorCode QC_TEMPLATE_CODE_DUPLICATE = new ErrorCode(1_040_600_001, "质检方案编号已存在");
@@ -232,6 +255,7 @@ public interface ErrorCodeConstants { @@ -232,6 +255,7 @@ public interface ErrorCodeConstants {
232 ErrorCode QC_IQC_LINE_NOT_EXISTS = new ErrorCode(1_040_603_100, "来料检验行不存在"); 255 ErrorCode QC_IQC_LINE_NOT_EXISTS = new ErrorCode(1_040_603_100, "来料检验行不存在");
233 // ========== MES 质量管理-来料检验缺陷(1-040-603-200) ========== 256 // ========== MES 质量管理-来料检验缺陷(1-040-603-200) ==========
234 ErrorCode QC_IQC_DEFECT_NOT_EXISTS = new ErrorCode(1_040_603_200, "来料检验缺陷记录不存在"); 257 ErrorCode QC_IQC_DEFECT_NOT_EXISTS = new ErrorCode(1_040_603_200, "来料检验缺陷记录不存在");
  258 + ErrorCode QC_IQC_DEFECT_LEVEL_UNKNOWN = new ErrorCode(1_040_603_201, "未知的缺陷等级");
235 259
236 // ========== MES 仓库管理-仓库(1-040-700-000) ========== 260 // ========== MES 仓库管理-仓库(1-040-700-000) ==========
237 ErrorCode WM_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_040_700_000, "仓库不存在"); 261 ErrorCode WM_WAREHOUSE_NOT_EXISTS = new ErrorCode(1_040_700_000, "仓库不存在");
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/qc/MesQcCheckResultEnum.java
@@ -15,9 +15,8 @@ import java.util.Arrays; @@ -15,9 +15,8 @@ import java.util.Arrays;
15 @AllArgsConstructor 15 @AllArgsConstructor
16 public enum MesQcCheckResultEnum implements ArrayValuable<Integer> { 16 public enum MesQcCheckResultEnum implements ArrayValuable<Integer> {
17 17
18 - PASS(1, "合格"), // TODO @AI:检验通过;  
19 - FAIL(2, "不合格"), // TODO @AI:检验不通过;  
20 - ACCEPT(3, "让步接收"); // TODO @AI:去掉; 18 + PASS(1, "检验通过"),
  19 + FAIL(2, "检验不通过");
21 20
22 public static final Integer[] ARRAYS = Arrays.stream(values()).map(MesQcCheckResultEnum::getType).toArray(Integer[]::new); 21 public static final Integer[] ARRAYS = Arrays.stream(values()).map(MesQcCheckResultEnum::getType).toArray(Integer[]::new);
23 22
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/lqc/MesQcIqcLineServiceImpl.java
@@ -12,6 +12,8 @@ import org.springframework.validation.annotation.Validated; @@ -12,6 +12,8 @@ import org.springframework.validation.annotation.Validated;
12 12
13 import java.util.List; 13 import java.util.List;
14 14
  15 +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList;
  16 +
15 /** 17 /**
16 * MES 来料检验单行 Service 实现类 18 * MES 来料检验单行 Service 实现类
17 * 19 *
@@ -44,24 +46,14 @@ public class MesQcIqcLineServiceImpl implements MesQcIqcLineService { @@ -44,24 +46,14 @@ public class MesQcIqcLineServiceImpl implements MesQcIqcLineService {
44 @Override 46 @Override
45 public void createLinesFromTemplate(Long iqcId, Long templateId) { 47 public void createLinesFromTemplate(Long iqcId, Long templateId) {
46 List<MesQcTemplateIndicatorDO> indicators = templateIndicatorMapper.selectListByTemplateId(templateId); 48 List<MesQcTemplateIndicatorDO> indicators = templateIndicatorMapper.selectListByTemplateId(templateId);
47 - // TODO @AI:convertList;  
48 - for (MesQcTemplateIndicatorDO indicator : indicators) {  
49 - // TODO @AI:链式设置;  
50 - MesQcIqcLineDO line = new MesQcIqcLineDO();  
51 - line.setIqcId(iqcId);  
52 - line.setIndicatorId(indicator.getIndicatorId());  
53 - line.setToolId(null); // TODO @芋艿:模板指标暂无 toolId,后续可扩展  
54 - line.setCheckMethod(indicator.getCheckMethod());  
55 - line.setStandardValue(indicator.getStandardValue());  
56 - line.setUnitMeasureId(indicator.getUnitMeasureId());  
57 - line.setMaxThreshold(indicator.getThresholdMax());  
58 - line.setMinThreshold(indicator.getThresholdMin());  
59 - line.setCriticalQuantity(0);  
60 - line.setMajorQuantity(0);  
61 - line.setMinorQuantity(0);  
62 - // TODO @AI:insertBatch;  
63 - iqcLineMapper.insert(line);  
64 - } 49 + List<MesQcIqcLineDO> lines = convertList(indicators, indicator -> new MesQcIqcLineDO()
  50 + .setIqcId(iqcId).setIndicatorId(indicator.getIndicatorId())
  51 + .setToolId(null) // TODO @芋艿:模板指标暂无 toolId,后续可扩展
  52 + .setCheckMethod(indicator.getCheckMethod())
  53 + .setStandardValue(indicator.getStandardValue()).setUnitMeasureId(indicator.getUnitMeasureId())
  54 + .setMaxThreshold(indicator.getThresholdMax()).setMinThreshold(indicator.getThresholdMin())
  55 + .setCriticalQuantity(0).setMajorQuantity(0).setMinorQuantity(0));
  56 + iqcLineMapper.insertBatch(lines);
65 } 57 }
66 58
67 @Override 59 @Override