Commit 828c878fd36537e06f4bbc98386433b8cdcc3e04
1 parent
37313f35
✨ feat(mes): 更新退货检验单相关字段,优化数据结构和逻辑
Showing
12 changed files
with
76 additions
and
38 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnissue/vo/line/MesWmReturnIssueLineRespVO.java
| @@ -43,8 +43,8 @@ public class MesWmReturnIssueLineRespVO { | @@ -43,8 +43,8 @@ public class MesWmReturnIssueLineRespVO { | ||
| 43 | @Schema(description = "质量状态", example = "0") | 43 | @Schema(description = "质量状态", example = "0") |
| 44 | private Integer qualityStatus; | 44 | private Integer qualityStatus; |
| 45 | 45 | ||
| 46 | - @Schema(description = "过程检验单 ID", example = "1") | ||
| 47 | - private Long ipqcId; | 46 | + @Schema(description = "退货检验单 ID", example = "21601") |
| 47 | + private Long rqcId; | ||
| 48 | 48 | ||
| 49 | @Schema(description = "备注", example = "备注") | 49 | @Schema(description = "备注", example = "备注") |
| 50 | private String remark; | 50 | private String remark; |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnsales/vo/line/MesWmReturnSalesLineRespVO.java
| @@ -42,6 +42,12 @@ public class MesWmReturnSalesLineRespVO { | @@ -42,6 +42,12 @@ public class MesWmReturnSalesLineRespVO { | ||
| 42 | @Schema(description = "批次ID", example = "1") | 42 | @Schema(description = "批次ID", example = "1") |
| 43 | private Long batchId; | 43 | private Long batchId; |
| 44 | 44 | ||
| 45 | + @Schema(description = "退货检验单 ID", example = "400") | ||
| 46 | + private Long rqcId; | ||
| 47 | + | ||
| 48 | + @Schema(description = "是否需要质检", example = "true") | ||
| 49 | + private Boolean qcFlag; | ||
| 50 | + | ||
| 45 | @Schema(description = "批次号", example = "B001") | 51 | @Schema(description = "批次号", example = "B001") |
| 46 | private String batchCode; | 52 | private String batchCode; |
| 47 | 53 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/returnsales/vo/line/MesWmReturnSalesLineSaveReqVO.java
| @@ -32,11 +32,11 @@ public class MesWmReturnSalesLineSaveReqVO { | @@ -32,11 +32,11 @@ public class MesWmReturnSalesLineSaveReqVO { | ||
| 32 | @DecimalMin(value = "0", inclusive = false, message = "退货数量必须大于 0") | 32 | @DecimalMin(value = "0", inclusive = false, message = "退货数量必须大于 0") |
| 33 | private BigDecimal quantity; | 33 | private BigDecimal quantity; |
| 34 | 34 | ||
| 35 | - @Schema(description = "批次ID", example = "1") | 35 | + @Schema(description = "批次号", example = "B20250101") |
| 36 | private Long batchId; | 36 | private Long batchId; |
| 37 | 37 | ||
| 38 | - @Schema(description = "质量状态", example = "合格") | ||
| 39 | - private Integer qualityStatus; | 38 | + @Schema(description = "是否需要质检", example = "true") |
| 39 | + private Boolean qcFlag; | ||
| 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/dal/dataobject/wm/returnissue/MesWmReturnIssueLineDO.java
| @@ -52,9 +52,9 @@ public class MesWmReturnIssueLineDO extends BaseDO { | @@ -52,9 +52,9 @@ public class MesWmReturnIssueLineDO extends BaseDO { | ||
| 52 | */ | 52 | */ |
| 53 | private Long batchId; | 53 | private Long batchId; |
| 54 | /** | 54 | /** |
| 55 | - * 过程检验单 ID | 55 | + * 退货检验单 ID |
| 56 | */ | 56 | */ |
| 57 | - private Long ipqcId; | 57 | + private Long rqcId; |
| 58 | /** | 58 | /** |
| 59 | * 是否需要质检 | 59 | * 是否需要质检 |
| 60 | */ | 60 | */ |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/returnsales/MesWmReturnSalesLineDO.java
| @@ -50,6 +50,14 @@ public class MesWmReturnSalesLineDO extends BaseDO { | @@ -50,6 +50,14 @@ public class MesWmReturnSalesLineDO extends BaseDO { | ||
| 50 | */ | 50 | */ |
| 51 | private Long batchId; | 51 | private Long batchId; |
| 52 | /** | 52 | /** |
| 53 | + * 退货检验单 ID | ||
| 54 | + */ | ||
| 55 | + private Long rqcId; | ||
| 56 | + /** | ||
| 57 | + * 是否需要质检 | ||
| 58 | + */ | ||
| 59 | + private Boolean qcFlag; | ||
| 60 | + /** | ||
| 53 | * 质量状态 | 61 | * 质量状态 |
| 54 | * | 62 | * |
| 55 | * 枚举 {@link cn.iocoder.yudao.module.mes.enums.wm.MesWmQualityStatusEnum} | 63 | * 枚举 {@link cn.iocoder.yudao.module.mes.enums.wm.MesWmQualityStatusEnum} |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmReturnSalesStatusEnum.java
| 1 | package cn.iocoder.yudao.module.mes.enums.wm; | 1 | package cn.iocoder.yudao.module.mes.enums.wm; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.core.ArrayValuable; | 3 | import cn.iocoder.yudao.framework.common.core.ArrayValuable; |
| 4 | +import cn.iocoder.yudao.module.mes.controller.admin.wm.returnsales.vo.MesWmReturnSalesSaveReqVO; | ||
| 4 | import cn.iocoder.yudao.module.mes.enums.MesOrderStatusConstants; | 5 | import cn.iocoder.yudao.module.mes.enums.MesOrderStatusConstants; |
| 6 | +import cn.iocoder.yudao.module.mes.service.wm.returnsales.MesWmReturnSalesService; | ||
| 5 | import lombok.AllArgsConstructor; | 7 | import lombok.AllArgsConstructor; |
| 6 | import lombok.Getter; | 8 | import lombok.Getter; |
| 7 | 9 | ||
| @@ -19,31 +21,37 @@ public enum MesWmReturnSalesStatusEnum implements ArrayValuable<Integer> { | @@ -19,31 +21,37 @@ public enum MesWmReturnSalesStatusEnum implements ArrayValuable<Integer> { | ||
| 19 | /** | 21 | /** |
| 20 | * 草稿 | 22 | * 草稿 |
| 21 | * | 23 | * |
| 22 | - * 对应方法:{@link cn.iocoder.yudao.module.mes.service.wm.returnsales.MesWmReturnSalesService#createReturnSales} | 24 | + * 对应方法:{@link MesWmReturnSalesService#createReturnSales(MesWmReturnSalesSaveReqVO)} |
| 23 | */ | 25 | */ |
| 24 | PREPARE(MesOrderStatusConstants.PREPARE, "草稿"), | 26 | PREPARE(MesOrderStatusConstants.PREPARE, "草稿"), |
| 25 | /** | 27 | /** |
| 26 | - * 待执行 | 28 | + * 待检验(已确认,等待质检) |
| 27 | * | 29 | * |
| 28 | - * 对应方法:{@link cn.iocoder.yudao.module.mes.service.wm.returnsales.MesWmReturnSalesService#submitReturnSales} | 30 | + * 对应方法:{@link MesWmReturnSalesService#submitReturnSales(Long)} |
| 29 | */ | 31 | */ |
| 30 | - APPROVING(MesOrderStatusConstants.APPROVING, "待执行"), | 32 | + CONFIRMED(MesOrderStatusConstants.CONFIRMED, "待检验"), // "UNCHECK" |
| 31 | /** | 33 | /** |
| 32 | - * 待上架 | 34 | + * 待执行(检验完成或免检,等待执行退货) |
| 33 | * | 35 | * |
| 34 | - * 对应方法:{@link cn.iocoder.yudao.module.mes.service.wm.returnsales.MesWmReturnSalesService#finishReturnSales} | 36 | + * 对应方法:{@link MesWmReturnSalesService#submitReturnSales(Long)} |
| 35 | */ | 37 | */ |
| 36 | - APPROVED(MesOrderStatusConstants.APPROVED, "待上架"), | 38 | + APPROVING(MesOrderStatusConstants.APPROVING, "待执行"), // "UNEXECUTE" |
| 37 | /** | 39 | /** |
| 38 | - * 已完成 | 40 | + * 待上架(退货执行完成,等待仓库上架) |
| 39 | * | 41 | * |
| 40 | - * 对应方法:{@link cn.iocoder.yudao.module.mes.service.wm.returnsales.MesWmReturnSalesService#stockReturnSales} | 42 | + * 对应方法:{@link MesWmReturnSalesService#finishReturnSales(Long)} |
| 43 | + */ | ||
| 44 | + APPROVED(MesOrderStatusConstants.APPROVED, "待上架"), // "UNSTOCK" | ||
| 45 | + /** | ||
| 46 | + * 已完成(上架完成,库存已更新) | ||
| 47 | + * | ||
| 48 | + * 对应方法:{@link MesWmReturnSalesService#stockReturnSales(Long)} | ||
| 41 | */ | 49 | */ |
| 42 | FINISHED(MesOrderStatusConstants.FINISHED, "已完成"), | 50 | FINISHED(MesOrderStatusConstants.FINISHED, "已完成"), |
| 43 | /** | 51 | /** |
| 44 | * 已取消 | 52 | * 已取消 |
| 45 | * | 53 | * |
| 46 | - * 对应方法:{@link cn.iocoder.yudao.module.mes.service.wm.returnsales.MesWmReturnSalesService#cancelReturnSales} | 54 | + * 对应方法:{@link MesWmReturnSalesService#cancelReturnSales(Long)} |
| 47 | */ | 55 | */ |
| 48 | CANCELED(MesOrderStatusConstants.CANCELLED, "已取消"); | 56 | CANCELED(MesOrderStatusConstants.CANCELLED, "已取消"); |
| 49 | 57 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueLineServiceImpl.java
| @@ -163,7 +163,7 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ | @@ -163,7 +163,7 @@ public class MesWmReturnIssueLineServiceImpl implements MesWmReturnIssueLineServ | ||
| 163 | .setItemId(sourceLine.getItemId()) | 163 | .setItemId(sourceLine.getItemId()) |
| 164 | .setQuantity(unqualifiedQuantity) | 164 | .setQuantity(unqualifiedQuantity) |
| 165 | .setBatchId(sourceLine.getBatchId()) | 165 | .setBatchId(sourceLine.getBatchId()) |
| 166 | - .setIpqcId(sourceLine.getIpqcId()) | 166 | + .setRqcId(sourceLine.getRqcId()) |
| 167 | .setQcFlag(sourceLine.getQcFlag()) | 167 | .setQcFlag(sourceLine.getQcFlag()) |
| 168 | .setQualityStatus(MesWmQualityStatusEnum.FAIL.getStatus()) | 168 | .setQualityStatus(MesWmQualityStatusEnum.FAIL.getStatus()) |
| 169 | .setRemark(sourceLine.getRemark()); | 169 | .setRemark(sourceLine.getRemark()); |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnissue/MesWmReturnIssueServiceImpl.java
| @@ -133,21 +133,19 @@ public class MesWmReturnIssueServiceImpl implements MesWmReturnIssueService { | @@ -133,21 +133,19 @@ public class MesWmReturnIssueServiceImpl implements MesWmReturnIssueService { | ||
| 133 | @Override | 133 | @Override |
| 134 | @Transactional(rollbackFor = Exception.class) | 134 | @Transactional(rollbackFor = Exception.class) |
| 135 | public void submitReturnIssue(Long id) { | 135 | public void submitReturnIssue(Long id) { |
| 136 | - // 校验存在 + 草稿状态 | 136 | + // 1.1 校验存在 + 草稿状态 |
| 137 | validateReturnIssueExistsAndPrepare(id); | 137 | validateReturnIssueExistsAndPrepare(id); |
| 138 | - // 校验至少有一条行 | 138 | + // 1.2 校验至少有一条行 |
| 139 | List<MesWmReturnIssueLineDO> lines = issueLineService.getReturnIssueLineListByIssueId(id); | 139 | List<MesWmReturnIssueLineDO> lines = issueLineService.getReturnIssueLineListByIssueId(id); |
| 140 | if (CollUtil.isEmpty(lines)) { | 140 | if (CollUtil.isEmpty(lines)) { |
| 141 | throw exception(WM_RETURN_ISSUE_NO_LINE); | 141 | throw exception(WM_RETURN_ISSUE_NO_LINE); |
| 142 | } | 142 | } |
| 143 | 143 | ||
| 144 | - // 2.1.1 检查是否有待检验的物料 | 144 | + // 2.1 确定目标状态:1)有待检验物料 → 待检验状态;2)无待检验物料 → 待上架状态 |
| 145 | boolean hasPendingQc = CollUtil.contains(lines, | 145 | boolean hasPendingQc = CollUtil.contains(lines, |
| 146 | line -> MesWmQualityStatusEnum.PENDING.getStatus().equals(line.getQualityStatus())); | 146 | line -> MesWmQualityStatusEnum.PENDING.getStatus().equals(line.getQualityStatus())); |
| 147 | - // 2.1.2 确定目标状态:1)有待检验物料 → 待检验状态;2)无待检验物料 → 待上架状态 | ||
| 148 | Integer targetStatus = hasPendingQc ? MesWmReturnIssueStatusEnum.CONFIRMED.getStatus() | 147 | Integer targetStatus = hasPendingQc ? MesWmReturnIssueStatusEnum.CONFIRMED.getStatus() |
| 149 | : MesWmReturnIssueStatusEnum.APPROVING.getStatus(); | 148 | : MesWmReturnIssueStatusEnum.APPROVING.getStatus(); |
| 150 | - | ||
| 151 | // 2.2 提交(草稿 → 待检验/待上架) | 149 | // 2.2 提交(草稿 → 待检验/待上架) |
| 152 | issueMapper.updateById(new MesWmReturnIssueDO().setId(id).setStatus(targetStatus)); | 150 | issueMapper.updateById(new MesWmReturnIssueDO().setId(id).setStatus(targetStatus)); |
| 153 | } | 151 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnsales/MesWmReturnSalesLineServiceImpl.java
| 1 | package cn.iocoder.yudao.module.mes.service.wm.returnsales; | 1 | package cn.iocoder.yudao.module.mes.service.wm.returnsales; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | +import cn.hutool.core.util.ObjUtil; | ||
| 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 6 | import cn.iocoder.yudao.module.mes.controller.admin.wm.returnsales.vo.line.MesWmReturnSalesLinePageReqVO; | 7 | import cn.iocoder.yudao.module.mes.controller.admin.wm.returnsales.vo.line.MesWmReturnSalesLinePageReqVO; |
| @@ -51,6 +52,7 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ | @@ -51,6 +52,7 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ | ||
| 51 | 52 | ||
| 52 | // 插入 | 53 | // 插入 |
| 53 | MesWmReturnSalesLineDO line = BeanUtils.toBean(createReqVO, MesWmReturnSalesLineDO.class); | 54 | MesWmReturnSalesLineDO line = BeanUtils.toBean(createReqVO, MesWmReturnSalesLineDO.class); |
| 55 | + line.setQualityStatus(calculateQualityStatus(line.getQcFlag())); | ||
| 54 | returnSalesLineMapper.insert(line); | 56 | returnSalesLineMapper.insert(line); |
| 55 | return line.getId(); | 57 | return line.getId(); |
| 56 | } | 58 | } |
| @@ -66,6 +68,7 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ | @@ -66,6 +68,7 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ | ||
| 66 | 68 | ||
| 67 | // 更新 | 69 | // 更新 |
| 68 | MesWmReturnSalesLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmReturnSalesLineDO.class); | 70 | MesWmReturnSalesLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmReturnSalesLineDO.class); |
| 71 | + updateObj.setQualityStatus(calculateQualityStatus(updateObj.getQcFlag())); | ||
| 69 | returnSalesLineMapper.updateById(updateObj); | 72 | returnSalesLineMapper.updateById(updateObj); |
| 70 | } | 73 | } |
| 71 | 74 | ||
| @@ -110,10 +113,19 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ | @@ -110,10 +113,19 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ | ||
| 110 | public void updateQualityStatusByReturnId(Long returnId, Integer qualityStatus) { | 113 | public void updateQualityStatusByReturnId(Long returnId, Integer qualityStatus) { |
| 111 | List<MesWmReturnSalesLineDO> lines = returnSalesLineMapper.selectListByReturnId(returnId); | 114 | List<MesWmReturnSalesLineDO> lines = returnSalesLineMapper.selectListByReturnId(returnId); |
| 112 | for (MesWmReturnSalesLineDO line : lines) { | 115 | for (MesWmReturnSalesLineDO line : lines) { |
| 113 | - returnSalesLineMapper.updateById(new MesWmReturnSalesLineDO() | ||
| 114 | - .setId(line.getId()) | ||
| 115 | - .setQualityStatus(qualityStatus)); | 116 | + Integer newStatus = calculateQualityStatus(line.getQcFlag()); |
| 117 | + if (ObjUtil.notEqual(newStatus, line.getQualityStatus())) { | ||
| 118 | + returnSalesLineMapper.updateById(new MesWmReturnSalesLineDO() | ||
| 119 | + .setId(line.getId()).setQualityStatus(newStatus)); | ||
| 120 | + } | ||
| 121 | + } | ||
| 122 | + } | ||
| 123 | + | ||
| 124 | + private Integer calculateQualityStatus(Boolean qcFlag) { | ||
| 125 | + if (Boolean.TRUE.equals(qcFlag)) { | ||
| 126 | + return MesWmQualityStatusEnum.PENDING.getStatus(); // 待检 | ||
| 116 | } | 127 | } |
| 128 | + return MesWmQualityStatusEnum.PASS.getStatus(); // 不需检验,默认合格 | ||
| 117 | } | 129 | } |
| 118 | 130 | ||
| 119 | /** | 131 | /** |
| @@ -154,6 +166,8 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ | @@ -154,6 +166,8 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ | ||
| 154 | .setItemId(sourceLine.getItemId()) | 166 | .setItemId(sourceLine.getItemId()) |
| 155 | .setQuantity(unqualifiedQuantity) | 167 | .setQuantity(unqualifiedQuantity) |
| 156 | .setBatchId(sourceLine.getBatchId()) | 168 | .setBatchId(sourceLine.getBatchId()) |
| 169 | + .setRqcId(sourceLine.getRqcId()) | ||
| 170 | + .setQcFlag(sourceLine.getQcFlag()) | ||
| 157 | .setQualityStatus(MesWmQualityStatusEnum.FAIL.getStatus()) | 171 | .setQualityStatus(MesWmQualityStatusEnum.FAIL.getStatus()) |
| 158 | .setRemark(sourceLine.getRemark()); | 172 | .setRemark(sourceLine.getRemark()); |
| 159 | returnSalesLineMapper.insert(unqualifiedLine); | 173 | returnSalesLineMapper.insert(unqualifiedLine); |
| @@ -170,7 +184,7 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ | @@ -170,7 +184,7 @@ public class MesWmReturnSalesLineServiceImpl implements MesWmReturnSalesLineServ | ||
| 170 | boolean allInspected = !CollUtil.contains(allLines, | 184 | boolean allInspected = !CollUtil.contains(allLines, |
| 171 | line -> Objects.equals(line.getQualityStatus(), MesWmQualityStatusEnum.PENDING.getStatus())); | 185 | line -> Objects.equals(line.getQualityStatus(), MesWmQualityStatusEnum.PENDING.getStatus())); |
| 172 | if (allInspected) { | 186 | if (allInspected) { |
| 173 | - returnSalesService.updateReturnSalesStatus(sourceDocId, MesWmReturnSalesStatusEnum.APPROVED.getStatus()); | 187 | + returnSalesService.updateReturnSalesStatus(sourceDocId, MesWmReturnSalesStatusEnum.APPROVING.getStatus()); |
| 174 | } | 188 | } |
| 175 | } | 189 | } |
| 176 | } | 190 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/returnsales/MesWmReturnSalesServiceImpl.java
| @@ -110,21 +110,22 @@ public class MesWmReturnSalesServiceImpl implements MesWmReturnSalesService { | @@ -110,21 +110,22 @@ public class MesWmReturnSalesServiceImpl implements MesWmReturnSalesService { | ||
| 110 | @Override | 110 | @Override |
| 111 | @Transactional(rollbackFor = Exception.class) | 111 | @Transactional(rollbackFor = Exception.class) |
| 112 | public void submitReturnSales(Long id) { | 112 | public void submitReturnSales(Long id) { |
| 113 | - // 校验存在 + 草稿状态 | 113 | + // 1.1 校验存在 + 草稿状态 |
| 114 | validateReturnSalesExistsAndPrepare(id); | 114 | validateReturnSalesExistsAndPrepare(id); |
| 115 | - // 校验至少有一条行 | 115 | + // 1.2 校验至少有一条行 |
| 116 | List<MesWmReturnSalesLineDO> lines = returnSalesLineService.getReturnSalesLineListByReturnId(id); | 116 | List<MesWmReturnSalesLineDO> lines = returnSalesLineService.getReturnSalesLineListByReturnId(id); |
| 117 | if (CollUtil.isEmpty(lines)) { | 117 | if (CollUtil.isEmpty(lines)) { |
| 118 | throw exception(WM_RETURN_SALES_NO_LINE); | 118 | throw exception(WM_RETURN_SALES_NO_LINE); |
| 119 | } | 119 | } |
| 120 | 120 | ||
| 121 | - // 提交(草稿 -> 待执行) | 121 | + // 2.1 确定目标状态:1)有待检验物料 → 待检验状态;2)无待检验物料 → 待执行状态 |
| 122 | + boolean hasPendingQc = CollUtil.contains(lines, | ||
| 123 | + line -> MesWmQualityStatusEnum.PENDING.getStatus().equals(line.getQualityStatus())); | ||
| 124 | + Integer targetStatus = hasPendingQc ? MesWmReturnSalesStatusEnum.CONFIRMED.getStatus() | ||
| 125 | + : MesWmReturnSalesStatusEnum.APPROVING.getStatus(); | ||
| 126 | + // 2.2 提交(草稿 -> 待检验/待执行) | ||
| 122 | returnSalesMapper.updateById(new MesWmReturnSalesDO() | 127 | returnSalesMapper.updateById(new MesWmReturnSalesDO() |
| 123 | - .setId(id).setStatus(MesWmReturnSalesStatusEnum.APPROVING.getStatus())); | ||
| 124 | - | ||
| 125 | - // DONE @AI:全部的行设置为待检验状态 | ||
| 126 | - returnSalesLineService.updateQualityStatusByReturnId(id, | ||
| 127 | - MesWmQualityStatusEnum.PENDING.getStatus()); | 128 | + .setId(id).setStatus(targetStatus)); |
| 128 | } | 129 | } |
| 129 | 130 | ||
| 130 | @Override | 131 | @Override |
yudao-module-mes/src/main/resources/mapper/qc/pendinginspect/MesQcPendingInspectMapper.xml
| @@ -133,7 +133,7 @@ | @@ -133,7 +133,7 @@ | ||
| 133 | 133 | ||
| 134 | UNION ALL | 134 | UNION ALL |
| 135 | 135 | ||
| 136 | - <!-- 6. RQC 来源:销售退货单(待执行(APPROVING),行的 quality_status=0) --> | 136 | + <!-- 6. RQC 来源:销售退货单(待检验(CONFIRMED),行的 quality_status=0) --> |
| 137 | SELECT | 137 | SELECT |
| 138 | r.id AS sourceDocId, | 138 | r.id AS sourceDocId, |
| 139 | ${@cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants@WM_RETURN_SALES} AS sourceDocType, | 139 | ${@cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants@WM_RETURN_SALES} AS sourceDocType, |
| @@ -150,7 +150,8 @@ | @@ -150,7 +150,8 @@ | ||
| 150 | r.client_id AS clientId | 150 | r.client_id AS clientId |
| 151 | FROM mes_wm_return_sales r | 151 | FROM mes_wm_return_sales r |
| 152 | JOIN mes_wm_return_sales_line rl ON r.id = rl.return_id | 152 | 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@APPROVING.status} | 153 | + WHERE r.status = ${@cn.iocoder.yudao.module.mes.enums.wm.MesWmReturnSalesStatusEnum@CONFIRMED.status} |
| 154 | + AND rl.qc_flag = 1 | ||
| 154 | AND rl.quality_status = ${@cn.iocoder.yudao.module.mes.enums.wm.MesWmQualityStatusEnum@PENDING.status} | 155 | AND rl.quality_status = ${@cn.iocoder.yudao.module.mes.enums.wm.MesWmQualityStatusEnum@PENDING.status} |
| 155 | AND r.deleted = 0 | 156 | AND r.deleted = 0 |
| 156 | AND rl.deleted = 0 | 157 | AND rl.deleted = 0 |
yudao-module-mes/src/test/resources/sql/create_tables.sql
| @@ -414,7 +414,7 @@ CREATE TABLE IF NOT EXISTS "mes_wm_return_issue_line" ( | @@ -414,7 +414,7 @@ CREATE TABLE IF NOT EXISTS "mes_wm_return_issue_line" ( | ||
| 414 | "item_id" bigint NOT NULL, | 414 | "item_id" bigint NOT NULL, |
| 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 | - "ipqc_id" bigint DEFAULT NULL, | 417 | + "rqc_id" bigint DEFAULT NULL, |
| 418 | "qc_flag" bit NOT NULL DEFAULT FALSE, | 418 | "qc_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 '', |
| @@ -436,6 +436,8 @@ CREATE TABLE IF NOT EXISTS "mes_wm_return_sales_line" ( | @@ -436,6 +436,8 @@ CREATE TABLE IF NOT EXISTS "mes_wm_return_sales_line" ( | ||
| 436 | "item_id" bigint NOT NULL, | 436 | "item_id" bigint NOT NULL, |
| 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, | ||
| 440 | + "qc_flag" bit NOT NULL DEFAULT FALSE, | ||
| 439 | "quality_status" int DEFAULT NULL, | 441 | "quality_status" int DEFAULT NULL, |
| 440 | "remark" varchar(500) DEFAULT '', | 442 | "remark" varchar(500) DEFAULT '', |
| 441 | "creator" varchar(64) DEFAULT '', | 443 | "creator" varchar(64) DEFAULT '', |