Commit 17680cf69583804fb5840fb0df16cc6e53eefc14
1 parent
f74a063d
feat(mes): qc 添加安灯处置状态和级别枚举,更新相关错误码和接口定义
Showing
5 changed files
with
43 additions
and
25 deletions
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 |