Commit b31f78c8303a482430a37a462429625ea828da0b
1 parent
1a10d8f1
✨ feat(mes): 更新质检标志字段,优化相关逻辑
将多个类中的质检标志字段从 `iqcCheck` 和 `qcFlag` 更新为 `iqcCheckFlag` 和 `rqcCheckFlag`,以提高代码一致性和可读性。同时,更新相关逻辑以自动计算质量状态,确保系统在处理质检时的准确性。
Showing
21 changed files
with
72 additions
and
63 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourcereceipt/vo/line/MesWmOutsourceReceiptLineRespVO.java
| ... | ... | @@ -47,7 +47,7 @@ public class MesWmOutsourceReceiptLineRespVO { |
| 47 | 47 | private String lotNumber; |
| 48 | 48 | |
| 49 | 49 | @Schema(description = "是否需要质检") |
| 50 | - private Boolean iqcCheck; | |
| 50 | + private Boolean iqcCheckFlag; | |
| 51 | 51 | |
| 52 | 52 | @Schema(description = "备注", example = "备注") |
| 53 | 53 | private String remark; | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourcereceipt/vo/line/MesWmOutsourceReceiptLineSaveReqVO.java
| ... | ... | @@ -42,7 +42,7 @@ public class MesWmOutsourceReceiptLineSaveReqVO { |
| 42 | 42 | private String lotNumber; |
| 43 | 43 | |
| 44 | 44 | @Schema(description = "是否需要质检") |
| 45 | - private Boolean iqcCheck; | |
| 45 | + private Boolean iqcCheckFlag; | |
| 46 | 46 | |
| 47 | 47 | @Schema(description = "备注", example = "备注") |
| 48 | 48 | private String remark; | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productsales/vo/line/MesWmProductSalesLineRespVO.java
| ... | ... | @@ -41,7 +41,7 @@ public class MesWmProductSalesLineRespVO { |
| 41 | 41 | private String batchCode; |
| 42 | 42 | |
| 43 | 43 | @Schema(description = "是否出厂检验", example = "true") |
| 44 | - private Boolean oqcCheck; | |
| 44 | + private Boolean oqcCheckFlag; | |
| 45 | 45 | |
| 46 | 46 | @Schema(description = "备注", example = "备注") |
| 47 | 47 | private String remark; | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnissue/vo/line/MesWmReturnIssueLineRespVO.java
| ... | ... | @@ -38,7 +38,7 @@ public class MesWmReturnIssueLineRespVO { |
| 38 | 38 | private Long batchId; |
| 39 | 39 | |
| 40 | 40 | @Schema(description = "是否需要质检", example = "false") |
| 41 | - private Boolean qcFlag; | |
| 41 | + private Boolean rqcCheckFlag; | |
| 42 | 42 | |
| 43 | 43 | @Schema(description = "质量状态", example = "0") |
| 44 | 44 | private Integer qualityStatus; | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnissue/vo/line/MesWmReturnIssueLineSaveReqVO.java
| ... | ... | @@ -32,7 +32,7 @@ public class MesWmReturnIssueLineSaveReqVO { |
| 32 | 32 | |
| 33 | 33 | @Schema(description = "是否需要质检", requiredMode = Schema.RequiredMode.REQUIRED, example = "false") |
| 34 | 34 | @NotNull(message = "是否需要质检不能为空") |
| 35 | - private Boolean qcFlag; | |
| 35 | + private Boolean rqcCheckFlag; | |
| 36 | 36 | |
| 37 | 37 | @Schema(description = "备注", example = "备注") |
| 38 | 38 | private String remark; | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnsales/vo/line/MesWmReturnSalesLineRespVO.java
| ... | ... | @@ -46,7 +46,7 @@ public class MesWmReturnSalesLineRespVO { |
| 46 | 46 | private Long rqcId; |
| 47 | 47 | |
| 48 | 48 | @Schema(description = "是否需要质检", example = "true") |
| 49 | - private Boolean qcFlag; | |
| 49 | + private Boolean rqcCheckFlag; | |
| 50 | 50 | |
| 51 | 51 | @Schema(description = "批次号", example = "B001") |
| 52 | 52 | private String batchCode; | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnsales/vo/line/MesWmReturnSalesLineSaveReqVO.java
| ... | ... | @@ -36,7 +36,7 @@ public class MesWmReturnSalesLineSaveReqVO { |
| 36 | 36 | private Long batchId; |
| 37 | 37 | |
| 38 | 38 | @Schema(description = "是否需要质检", example = "true") |
| 39 | - private Boolean qcFlag; | |
| 39 | + private Boolean rqcCheckFlag; | |
| 40 | 40 | |
| 41 | 41 | @Schema(description = "备注", example = "备注") |
| 42 | 42 | private String remark; | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/salesnotice/vo/line/MesWmSalesNoticeLineRespVO.java
| ... | ... | @@ -41,7 +41,7 @@ public class MesWmSalesNoticeLineRespVO { |
| 41 | 41 | private BigDecimal quantity; |
| 42 | 42 | |
| 43 | 43 | @Schema(description = "是否检验", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") |
| 44 | - private Boolean oqcCheck; | |
| 44 | + private Boolean oqcCheckFlag; | |
| 45 | 45 | |
| 46 | 46 | @Schema(description = "备注", example = "备注") |
| 47 | 47 | private String remark; | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/salesnotice/vo/line/MesWmSalesNoticeLineSaveReqVO.java
| ... | ... | @@ -35,7 +35,7 @@ public class MesWmSalesNoticeLineSaveReqVO { |
| 35 | 35 | |
| 36 | 36 | @Schema(description = "是否检验", requiredMode = Schema.RequiredMode.REQUIRED, example = "true") |
| 37 | 37 | @NotNull(message = "是否检验不能为空") |
| 38 | - private Boolean oqcCheck; | |
| 38 | + private Boolean oqcCheckFlag; | |
| 39 | 39 | |
| 40 | 40 | @Schema(description = "备注", example = "备注") |
| 41 | 41 | private String remark; | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/outsourcereceipt/MesWmOutsourceReceiptLineDO.java
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productsales/MesWmProductSalesLineDO.java
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/returnissue/MesWmReturnIssueLineDO.java
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/returnsales/MesWmReturnSalesLineDO.java
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/salesnotice/MesWmSalesNoticeLineDO.java
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptLineServiceImpl.java
| ... | ... | @@ -37,12 +37,8 @@ public class MesWmOutsourceReceiptLineServiceImpl implements MesWmOutsourceRecei |
| 37 | 37 | |
| 38 | 38 | // 插入 |
| 39 | 39 | MesWmOutsourceReceiptLineDO line = BeanUtils.toBean(createReqVO, MesWmOutsourceReceiptLineDO.class); |
| 40 | - // 根据 iqcCheck 字段,设置 qualityStatus | |
| 41 | - if (line.getIqcCheck() != null && line.getIqcCheck()) { | |
| 42 | - line.setQualityStatus(MesWmQualityStatusEnum.PENDING.getStatus()); | |
| 43 | - } else { | |
| 44 | - line.setQualityStatus(MesWmQualityStatusEnum.PASS.getStatus()); | |
| 45 | - } | |
| 40 | + // 质量状态自动赋值 | |
| 41 | + line.setQualityStatus(calculateQualityStatus(line.getIqcCheckFlag())); | |
| 46 | 42 | lineMapper.insert(line); |
| 47 | 43 | return line.getId(); |
| 48 | 44 | } |
| ... | ... | @@ -56,12 +52,8 @@ public class MesWmOutsourceReceiptLineServiceImpl implements MesWmOutsourceRecei |
| 56 | 52 | |
| 57 | 53 | // 更新 |
| 58 | 54 | MesWmOutsourceReceiptLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmOutsourceReceiptLineDO.class); |
| 59 | - // 根据 iqcCheck 字段,设置 qualityStatus | |
| 60 | - if (updateObj.getIqcCheck() != null && updateObj.getIqcCheck()) { | |
| 61 | - updateObj.setQualityStatus(MesWmQualityStatusEnum.PENDING.getStatus()); | |
| 62 | - } else { | |
| 63 | - updateObj.setQualityStatus(MesWmQualityStatusEnum.PASS.getStatus()); | |
| 64 | - } | |
| 55 | + // 质量状态自动赋值 | |
| 56 | + updateObj.setQualityStatus(calculateQualityStatus(updateObj.getIqcCheckFlag())); | |
| 65 | 57 | lineMapper.updateById(updateObj); |
| 66 | 58 | } |
| 67 | 59 | |
| ... | ... | @@ -109,4 +101,17 @@ public class MesWmOutsourceReceiptLineServiceImpl implements MesWmOutsourceRecei |
| 109 | 101 | lineMapper.insert(line); |
| 110 | 102 | } |
| 111 | 103 | |
| 104 | + /** | |
| 105 | + * 根据 iqcCheckFlag,计算质量状态 | |
| 106 | + * | |
| 107 | + * @param iqcCheckFlag 是否需要质检 | |
| 108 | + * @return 质量状态 | |
| 109 | + */ | |
| 110 | + private Integer calculateQualityStatus(Boolean iqcCheckFlag) { | |
| 111 | + if (Boolean.TRUE.equals(iqcCheckFlag)) { | |
| 112 | + return MesWmQualityStatusEnum.PENDING.getStatus(); // 待检 | |
| 113 | + } | |
| 114 | + return MesWmQualityStatusEnum.PASS.getStatus(); // 不需检验,默认合格 | |
| 115 | + } | |
| 116 | + | |
| 112 | 117 | } | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesLineServiceImpl.java
| ... | ... | @@ -123,7 +123,7 @@ public class MesWmProductSalesLineServiceImpl implements MesWmProductSalesLineSe |
| 123 | 123 | Long salesId = currentLine.getSalesId(); |
| 124 | 124 | List<MesWmProductSalesLineDO> allLines = productSalesLineMapper.selectListBySalesId(salesId); |
| 125 | 125 | boolean hasNg = CollectionUtils.anyMatch(allLines, |
| 126 | - line -> Boolean.TRUE.equals(line.getOqcCheck()) | |
| 126 | + line -> Boolean.TRUE.equals(line.getOqcCheckFlag()) | |
| 127 | 127 | && Objects.equals(line.getQualityStatus(), MesWmQualityStatusEnum.FAIL.getStatus())); |
| 128 | 128 | if (hasNg) { |
| 129 | 129 | log.info("[updateProductSalesLineWhenOqcFinish][销售出库单({}) 存在质检不合格行,取消出库单]", salesId); | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java
| ... | ... | @@ -51,7 +51,7 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ |
| 51 | 51 | // 插入 |
| 52 | 52 | MesWmReturnIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmReturnIssueLineDO.class); |
| 53 | 53 | // 质量状态自动赋值 |
| 54 | - line.setQualityStatus(calculateQualityStatus(line.getQcFlag(), issue.getType())); | |
| 54 | + line.setQualityStatus(calculateQualityStatus(line.getRqcCheckFlag(), issue.getType())); | |
| 55 | 55 | issueLineMapper.insert(line); |
| 56 | 56 | return line.getId(); |
| 57 | 57 | } |
| ... | ... | @@ -68,7 +68,7 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ |
| 68 | 68 | // 更新 |
| 69 | 69 | MesWmReturnIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmReturnIssueLineDO.class); |
| 70 | 70 | // 质量状态自动赋值 |
| 71 | - updateObj.setQualityStatus(calculateQualityStatus(updateObj.getQcFlag(), issue.getType())); | |
| 71 | + updateObj.setQualityStatus(calculateQualityStatus(updateObj.getRqcCheckFlag(), issue.getType())); | |
| 72 | 72 | issueLineMapper.updateById(updateObj); |
| 73 | 73 | } |
| 74 | 74 | |
| ... | ... | @@ -113,7 +113,7 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ |
| 113 | 113 | public void updateReturnIssueQualityStatusByIssueId(Long issueId, Integer issueType) { |
| 114 | 114 | List<MesWmReturnIssueLineDO> lines = issueLineMapper.selectListByIssueId(issueId); |
| 115 | 115 | for (MesWmReturnIssueLineDO line : lines) { |
| 116 | - Integer newStatus = calculateQualityStatus(line.getQcFlag(), issueType); | |
| 116 | + Integer newStatus = calculateQualityStatus(line.getRqcCheckFlag(), issueType); | |
| 117 | 117 | if (ObjUtil.notEqual(newStatus, line.getQualityStatus())) { |
| 118 | 118 | issueLineMapper.updateById(new MesWmReturnIssueLineDO() |
| 119 | 119 | .setId(line.getId()).setQualityStatus(newStatus)); |
| ... | ... | @@ -122,14 +122,14 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ |
| 122 | 122 | } |
| 123 | 123 | |
| 124 | 124 | /** |
| 125 | - * 根据 qcFlag 和退料类型,计算质量状态 | |
| 125 | + * 根据 rqcCheckFlag 和退料类型,计算质量状态 | |
| 126 | 126 | * |
| 127 | - * @param qcFlag 是否需要质检 | |
| 127 | + * @param rqcCheckFlag 是否需要质检 | |
| 128 | 128 | * @param issueType 退料类型 |
| 129 | 129 | * @return 质量状态 |
| 130 | 130 | */ |
| 131 | - private Integer calculateQualityStatus(Boolean qcFlag, Integer issueType) { | |
| 132 | - if (Boolean.TRUE.equals(qcFlag)) { | |
| 131 | + private Integer calculateQualityStatus(Boolean rqcCheckFlag, Integer issueType) { | |
| 132 | + if (Boolean.TRUE.equals(rqcCheckFlag)) { | |
| 133 | 133 | return MesWmQualityStatusEnum.PENDING.getStatus(); // 待检 |
| 134 | 134 | } |
| 135 | 135 | if (MesWmReturnIssueTypeEnum.REMAINDER.getType().equals(issueType)) { |
| ... | ... | @@ -164,7 +164,7 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ |
| 164 | 164 | .setQuantity(unqualifiedQuantity) |
| 165 | 165 | .setBatchId(sourceLine.getBatchId()) |
| 166 | 166 | .setRqcId(sourceLine.getRqcId()) |
| 167 | - .setQcFlag(sourceLine.getQcFlag()) | |
| 167 | + .setRqcCheckFlag(sourceLine.getRqcCheckFlag()) | |
| 168 | 168 | .setQualityStatus(MesWmQualityStatusEnum.FAIL.getStatus()) |
| 169 | 169 | .setRemark(sourceLine.getRemark()); |
| 170 | 170 | issueLineMapper.insert(unqualifiedLine); | ... | ... |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnsales/MesWmReturnSalesLineServiceImpl.java
| ... | ... | @@ -52,7 +52,8 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ |
| 52 | 52 | |
| 53 | 53 | // 插入 |
| 54 | 54 | MesWmReturnSalesLineDO line = BeanUtils.toBean(createReqVO, MesWmReturnSalesLineDO.class); |
| 55 | - line.setQualityStatus(calculateQualityStatus(line.getQcFlag())); | |
| 55 | + // 质量状态自动赋值 | |
| 56 | + line.setQualityStatus(calculateQualityStatus(line.getRqcCheckFlag())); | |
| 56 | 57 | returnSalesLineMapper.insert(line); |
| 57 | 58 | return line.getId(); |
| 58 | 59 | } |
| ... | ... | @@ -68,7 +69,8 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ |
| 68 | 69 | |
| 69 | 70 | // 更新 |
| 70 | 71 | MesWmReturnSalesLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmReturnSalesLineDO.class); |
| 71 | - updateObj.setQualityStatus(calculateQualityStatus(updateObj.getQcFlag())); | |
| 72 | + // 质量状态自动赋值 | |
| 73 | + updateObj.setQualityStatus(calculateQualityStatus(updateObj.getRqcCheckFlag())); | |
| 72 | 74 | returnSalesLineMapper.updateById(updateObj); |
| 73 | 75 | } |
| 74 | 76 | |
| ... | ... | @@ -113,7 +115,7 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ |
| 113 | 115 | public void updateQualityStatusByReturnId(Long returnId, Integer qualityStatus) { |
| 114 | 116 | List<MesWmReturnSalesLineDO> lines = returnSalesLineMapper.selectListByReturnId(returnId); |
| 115 | 117 | for (MesWmReturnSalesLineDO line : lines) { |
| 116 | - Integer newStatus = calculateQualityStatus(line.getQcFlag()); | |
| 118 | + Integer newStatus = calculateQualityStatus(line.getRqcCheckFlag()); | |
| 117 | 119 | if (ObjUtil.notEqual(newStatus, line.getQualityStatus())) { |
| 118 | 120 | returnSalesLineMapper.updateById(new MesWmReturnSalesLineDO() |
| 119 | 121 | .setId(line.getId()).setQualityStatus(newStatus)); |
| ... | ... | @@ -121,8 +123,8 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ |
| 121 | 123 | } |
| 122 | 124 | } |
| 123 | 125 | |
| 124 | - private Integer calculateQualityStatus(Boolean qcFlag) { | |
| 125 | - if (Boolean.TRUE.equals(qcFlag)) { | |
| 126 | + private Integer calculateQualityStatus(Boolean rqcCheckFlag) { | |
| 127 | + if (Boolean.TRUE.equals(rqcCheckFlag)) { | |
| 126 | 128 | return MesWmQualityStatusEnum.PENDING.getStatus(); // 待检 |
| 127 | 129 | } |
| 128 | 130 | return MesWmQualityStatusEnum.PASS.getStatus(); // 不需检验,默认合格 |
| ... | ... | @@ -167,7 +169,7 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ |
| 167 | 169 | .setQuantity(unqualifiedQuantity) |
| 168 | 170 | .setBatchId(sourceLine.getBatchId()) |
| 169 | 171 | .setRqcId(sourceLine.getRqcId()) |
| 170 | - .setQcFlag(sourceLine.getQcFlag()) | |
| 172 | + .setRqcCheckFlag(sourceLine.getRqcCheckFlag()) | |
| 171 | 173 | .setQualityStatus(MesWmQualityStatusEnum.FAIL.getStatus()) |
| 172 | 174 | .setRemark(sourceLine.getRemark()); |
| 173 | 175 | returnSalesLineMapper.insert(unqualifiedLine); | ... | ... |
yudao-module-mes/src/main/resources/mapper/qc/pendinginspect/MesQcPendingInspectMapper.xml
| ... | ... | @@ -5,11 +5,11 @@ |
| 5 | 5 | <!-- |
| 6 | 6 | 待检任务查询(UNION ALL 多来源),已实现的来源: |
| 7 | 7 | 1. 到货通知单(IQC):单据状态=待质检(2),行的 iqc_check_flag=1 且 iqc_id 为空 |
| 8 | - 2. 外协入库单(IQC):单据状态=待检验(1),行的 iqc_check=1 且 iqc_id 为空 | |
| 8 | + 2. 外协入库单(IQC):单据状态=待检验(1),行的 iqc_check_flag=1 且 iqc_id 为空 | |
| 9 | 9 | 3. 生产报工(IPQC):单据状态=待检验(3) |
| 10 | - 4. 销售出库单(OQC):无单据状态要求,行的 oqc_check=1 且 oqc_id 为空 | |
| 11 | - 5. 生产退料单(RQC):单据状态=待检验(1),行的 qc_flag=1 且 quality_status=0(待检) | |
| 12 | - 6. 销售退货单(RQC):单据状态=待检验(1),行的 qc_flag=1 且 quality_status=0(待检) | |
| 10 | + 4. 销售出库单(OQC):无单据状态要求,行的 oqc_check_flag=1 且 oqc_id 为空 | |
| 11 | + 5. 生产退料单(RQC):单据状态=待检验(1),行的 rqc_check_flag=1 且 rqc_id 为空 且 quality_status=0(待检) | |
| 12 | + 6. 销售退货单(RQC):单据状态=待检验(1),行的 rqc_check_flag=1 且 rqc_id 为空 且 quality_status=0(待检) | |
| 13 | 13 | --> |
| 14 | 14 | <select id="selectQcPendingPage" resultType="cn.iocoder.yudao.module.mes.controller.admin.qc.pendinginspect.vo.MesQcPendingInspectRespVO"> |
| 15 | 15 | SELECT * FROM ( |
| ... | ... | @@ -56,7 +56,7 @@ |
| 56 | 56 | FROM mes_wm_outsource_receipt r |
| 57 | 57 | JOIN mes_wm_outsource_receipt_line rl ON r.id = rl.receipt_id |
| 58 | 58 | WHERE r.status = ${@cn.iocoder.yudao.module.mes.enums.wm.MesWmOutsourceReceiptStatusEnum@CONFIRMED.status} |
| 59 | - AND rl.iqc_check = 1 | |
| 59 | + AND rl.iqc_check_flag = 1 | |
| 60 | 60 | AND rl.iqc_id IS NULL |
| 61 | 61 | AND r.deleted = 0 |
| 62 | 62 | AND rl.deleted = 0 |
| ... | ... | @@ -84,7 +84,7 @@ |
| 84 | 84 | |
| 85 | 85 | UNION ALL |
| 86 | 86 | |
| 87 | - <!-- 4. OQC 来源:销售出库单行(oqc_check=1 且 oqc_id IS NULL) --> | |
| 87 | + <!-- 4. OQC 来源:销售出库单行(oqc_check_flag=1 且 oqc_id IS NULL) --> | |
| 88 | 88 | SELECT |
| 89 | 89 | s.id AS sourceDocId, |
| 90 | 90 | ${@cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants@WM_PRODUCT_SALES} AS sourceDocType, |
| ... | ... | @@ -101,14 +101,14 @@ |
| 101 | 101 | s.client_id AS clientId |
| 102 | 102 | FROM mes_wm_product_sales s |
| 103 | 103 | JOIN mes_wm_product_sales_line sl ON s.id = sl.sales_id |
| 104 | - WHERE sl.oqc_check = 1 | |
| 104 | + WHERE sl.oqc_check_flag = 1 | |
| 105 | 105 | AND sl.oqc_id IS NULL |
| 106 | 106 | AND s.deleted = 0 |
| 107 | 107 | AND sl.deleted = 0 |
| 108 | 108 | |
| 109 | 109 | UNION ALL |
| 110 | 110 | |
| 111 | - <!-- 5. RQC 来源:生产退料单行(状态=待检验,行的 qc_flag=1 且 quality_status=0) --> | |
| 111 | + <!-- 5. RQC 来源:生产退料单行(状态=待检验,行的 rqc_check_flag=1 且 rqc_id IS NULL 且 quality_status=0) --> | |
| 112 | 112 | SELECT |
| 113 | 113 | ri.id AS sourceDocId, |
| 114 | 114 | ${@cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants@WM_RETURN_ISSUE} AS sourceDocType, |
| ... | ... | @@ -126,7 +126,8 @@ |
| 126 | 126 | FROM mes_wm_return_issue ri |
| 127 | 127 | JOIN mes_wm_return_issue_line ril ON ri.id = ril.issue_id |
| 128 | 128 | WHERE ri.status = ${@cn.iocoder.yudao.module.mes.enums.wm.MesWmReturnIssueStatusEnum@CONFIRMED.status} |
| 129 | - AND ril.qc_flag = 1 | |
| 129 | + AND ril.rqc_check_flag = 1 | |
| 130 | + AND ril.rqc_id IS NULL | |
| 130 | 131 | AND ril.quality_status = ${@cn.iocoder.yudao.module.mes.enums.wm.MesWmQualityStatusEnum@PENDING.status} |
| 131 | 132 | AND ri.deleted = 0 |
| 132 | 133 | AND ril.deleted = 0 |
| ... | ... | @@ -151,7 +152,8 @@ |
| 151 | 152 | FROM mes_wm_return_sales r |
| 152 | 153 | JOIN mes_wm_return_sales_line rl ON r.id = rl.return_id |
| 153 | 154 | WHERE r.status = ${@cn.iocoder.yudao.module.mes.enums.wm.MesWmReturnSalesStatusEnum@CONFIRMED.status} |
| 154 | - AND rl.qc_flag = 1 | |
| 155 | + AND rl.rqc_check_flag = 1 | |
| 156 | + AND rl.rqc_id IS NULL | |
| 155 | 157 | AND rl.quality_status = ${@cn.iocoder.yudao.module.mes.enums.wm.MesWmQualityStatusEnum@PENDING.status} |
| 156 | 158 | AND r.deleted = 0 |
| 157 | 159 | AND rl.deleted = 0 | ... | ... |
yudao-module-mes/src/test/java/cn/iocoder/yudao/module/mes/service/wm/productsales/MesWmProductSalesLineServiceImplTest.java
| ... | ... | @@ -48,7 +48,7 @@ public class MesWmProductSalesLineServiceImplTest extends BaseDbUnitTest { |
| 48 | 48 | |
| 49 | 49 | // mock 数据 |
| 50 | 50 | MesWmProductSalesLineDO lineDO = randomPojo(MesWmProductSalesLineDO.class, o -> { |
| 51 | - o.setOqcCheck(true); // 需要 OQC 检验 | |
| 51 | + o.setOqcCheckFlag(true); // 需要 OQC 检验 | |
| 52 | 52 | o.setQualityStatus(null); // 初始为空 |
| 53 | 53 | }); |
| 54 | 54 | productSalesLineMapper.insert(lineDO); |
| ... | ... | @@ -70,7 +70,7 @@ public class MesWmProductSalesLineServiceImplTest extends BaseDbUnitTest { |
| 70 | 70 | |
| 71 | 71 | // mock 数据 |
| 72 | 72 | MesWmProductSalesLineDO lineDO = randomPojo(MesWmProductSalesLineDO.class, o -> { |
| 73 | - o.setOqcCheck(true); | |
| 73 | + o.setOqcCheckFlag(true); | |
| 74 | 74 | o.setQualityStatus(null); |
| 75 | 75 | }); |
| 76 | 76 | productSalesLineMapper.insert(lineDO); |
| ... | ... | @@ -90,14 +90,14 @@ public class MesWmProductSalesLineServiceImplTest extends BaseDbUnitTest { |
| 90 | 90 | Long salesId = randomLongId(); |
| 91 | 91 | MesWmProductSalesLineDO line1 = randomPojo(MesWmProductSalesLineDO.class, o -> { |
| 92 | 92 | o.setSalesId(salesId); |
| 93 | - o.setOqcCheck(true); | |
| 93 | + o.setOqcCheckFlag(true); | |
| 94 | 94 | o.setQualityStatus(MesWmQualityStatusEnum.PASS.getStatus()); |
| 95 | 95 | }); |
| 96 | 96 | productSalesLineMapper.insert(line1); |
| 97 | 97 | |
| 98 | 98 | MesWmProductSalesLineDO line2 = randomPojo(MesWmProductSalesLineDO.class, o -> { |
| 99 | 99 | o.setSalesId(salesId); |
| 100 | - o.setOqcCheck(true); | |
| 100 | + o.setOqcCheckFlag(true); | |
| 101 | 101 | o.setQualityStatus(null); // 待检 |
| 102 | 102 | }); |
| 103 | 103 | productSalesLineMapper.insert(line2); |
| ... | ... | @@ -116,14 +116,14 @@ public class MesWmProductSalesLineServiceImplTest extends BaseDbUnitTest { |
| 116 | 116 | Long salesId = randomLongId(); |
| 117 | 117 | MesWmProductSalesLineDO line1 = randomPojo(MesWmProductSalesLineDO.class, o -> { |
| 118 | 118 | o.setSalesId(salesId); |
| 119 | - o.setOqcCheck(true); | |
| 119 | + o.setOqcCheckFlag(true); | |
| 120 | 120 | o.setQualityStatus(MesWmQualityStatusEnum.PASS.getStatus()); |
| 121 | 121 | }); |
| 122 | 122 | productSalesLineMapper.insert(line1); |
| 123 | 123 | |
| 124 | 124 | MesWmProductSalesLineDO line2 = randomPojo(MesWmProductSalesLineDO.class, o -> { |
| 125 | 125 | o.setSalesId(salesId); |
| 126 | - o.setOqcCheck(true); | |
| 126 | + o.setOqcCheckFlag(true); | |
| 127 | 127 | o.setQualityStatus(null); |
| 128 | 128 | }); |
| 129 | 129 | productSalesLineMapper.insert(line2); |
| ... | ... | @@ -138,18 +138,18 @@ public class MesWmProductSalesLineServiceImplTest extends BaseDbUnitTest { |
| 138 | 138 | |
| 139 | 139 | @Test |
| 140 | 140 | public void testUpdateProductSalesLineWhenOqcFinish_skipNonOqcCheckLines() { |
| 141 | - // 准备数据:同一出库单下 2 行,第 1 行不需要 OQC 检验(oqcCheck=false),第 2 行需要检验且不合格 | |
| 141 | + // 准备数据:同一出库单下 2 行,第 1 行不需要 OQC 检验(oqcCheckFlag=false),第 2 行需要检验且不合格 | |
| 142 | 142 | Long salesId = randomLongId(); |
| 143 | 143 | MesWmProductSalesLineDO line1 = randomPojo(MesWmProductSalesLineDO.class, o -> { |
| 144 | 144 | o.setSalesId(salesId); |
| 145 | - o.setOqcCheck(false); // 不需要 OQC 检验 | |
| 145 | + o.setOqcCheckFlag(false); // 不需要 OQC 检验 | |
| 146 | 146 | o.setQualityStatus(null); |
| 147 | 147 | }); |
| 148 | 148 | productSalesLineMapper.insert(line1); |
| 149 | 149 | |
| 150 | 150 | MesWmProductSalesLineDO line2 = randomPojo(MesWmProductSalesLineDO.class, o -> { |
| 151 | 151 | o.setSalesId(salesId); |
| 152 | - o.setOqcCheck(true); | |
| 152 | + o.setOqcCheckFlag(true); | |
| 153 | 153 | o.setQualityStatus(null); |
| 154 | 154 | }); |
| 155 | 155 | productSalesLineMapper.insert(line2); | ... | ... |
yudao-module-mes/src/test/resources/sql/create_tables.sql
| ... | ... | @@ -391,7 +391,7 @@ CREATE TABLE IF NOT EXISTS "mes_wm_product_sales_line" ( |
| 391 | 391 | "quantity" decimal(20,6) NOT NULL, |
| 392 | 392 | "batch_id" bigint DEFAULT NULL, |
| 393 | 393 | "material_stock_id" bigint DEFAULT NULL, |
| 394 | - "oqc_check" tinyint DEFAULT NULL, | |
| 394 | + "oqc_check_flag" tinyint DEFAULT NULL, | |
| 395 | 395 | "oqc_id" bigint DEFAULT NULL, |
| 396 | 396 | "quality_status" int DEFAULT NULL, |
| 397 | 397 | "remark" varchar(500) DEFAULT NULL, |
| ... | ... | @@ -415,7 +415,7 @@ CREATE TABLE IF NOT EXISTS "mes_wm_return_issue_line" ( |
| 415 | 415 | "quantity" decimal(12,2) NOT NULL DEFAULT 0.00, |
| 416 | 416 | "batch_id" bigint DEFAULT NULL, |
| 417 | 417 | "rqc_id" bigint DEFAULT NULL, |
| 418 | - "qc_flag" bit NOT NULL DEFAULT FALSE, | |
| 418 | + "rqc_check_flag" bit NOT NULL DEFAULT FALSE, | |
| 419 | 419 | "quality_status" int DEFAULT NULL, |
| 420 | 420 | "remark" varchar(500) DEFAULT '', |
| 421 | 421 | "creator" varchar(64) DEFAULT '', |
| ... | ... | @@ -437,7 +437,7 @@ CREATE TABLE IF NOT EXISTS "mes_wm_return_sales_line" ( |
| 437 | 437 | "quantity" decimal(12,2) NOT NULL DEFAULT 0.00, |
| 438 | 438 | "batch_id" bigint DEFAULT NULL, |
| 439 | 439 | "rqc_id" bigint DEFAULT NULL, |
| 440 | - "qc_flag" bit NOT NULL DEFAULT FALSE, | |
| 440 | + "rqc_check_flag" bit NOT NULL DEFAULT FALSE, | |
| 441 | 441 | "quality_status" int DEFAULT NULL, |
| 442 | 442 | "remark" varchar(500) DEFAULT '', |
| 443 | 443 | "creator" varchar(64) DEFAULT '', | ... | ... |