Commit b31f78c8303a482430a37a462429625ea828da0b

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