Commit 7df27df39b3cc24562f5486811b0135398dda65c
1 parent
49d14482
✨ feat(mes): 新增批次编码字段及外协工单编码处理逻辑
Showing
5 changed files
with
26 additions
and
2 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourcereceipt/MesWmOutsourceReceiptController.java
| @@ -12,8 +12,10 @@ import cn.iocoder.yudao.module.mes.controller.admin.wm.outsourcereceipt.vo.MesWm | @@ -12,8 +12,10 @@ import cn.iocoder.yudao.module.mes.controller.admin.wm.outsourcereceipt.vo.MesWm | ||
| 12 | import cn.iocoder.yudao.module.mes.controller.admin.wm.outsourcereceipt.vo.MesWmOutsourceReceiptRespVO; | 12 | import cn.iocoder.yudao.module.mes.controller.admin.wm.outsourcereceipt.vo.MesWmOutsourceReceiptRespVO; |
| 13 | import cn.iocoder.yudao.module.mes.controller.admin.wm.outsourcereceipt.vo.MesWmOutsourceReceiptSaveReqVO; | 13 | import cn.iocoder.yudao.module.mes.controller.admin.wm.outsourcereceipt.vo.MesWmOutsourceReceiptSaveReqVO; |
| 14 | import cn.iocoder.yudao.module.mes.dal.dataobject.md.vendor.MesMdVendorDO; | 14 | import cn.iocoder.yudao.module.mes.dal.dataobject.md.vendor.MesMdVendorDO; |
| 15 | +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO; | ||
| 15 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.outsourcereceipt.MesWmOutsourceReceiptDO; | 16 | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.outsourcereceipt.MesWmOutsourceReceiptDO; |
| 16 | import cn.iocoder.yudao.module.mes.service.md.vendor.MesMdVendorService; | 17 | import cn.iocoder.yudao.module.mes.service.md.vendor.MesMdVendorService; |
| 18 | +import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderService; | ||
| 17 | import cn.iocoder.yudao.module.mes.service.wm.outsourcereceipt.MesWmOutsourceReceiptService; | 19 | import cn.iocoder.yudao.module.mes.service.wm.outsourcereceipt.MesWmOutsourceReceiptService; |
| 18 | import io.swagger.v3.oas.annotations.Operation; | 20 | import io.swagger.v3.oas.annotations.Operation; |
| 19 | import io.swagger.v3.oas.annotations.Parameter; | 21 | import io.swagger.v3.oas.annotations.Parameter; |
| @@ -46,6 +48,9 @@ public class MesWmOutsourceReceiptController { | @@ -46,6 +48,9 @@ public class MesWmOutsourceReceiptController { | ||
| 46 | @Resource | 48 | @Resource |
| 47 | private MesMdVendorService vendorService; | 49 | private MesMdVendorService vendorService; |
| 48 | 50 | ||
| 51 | + @Resource | ||
| 52 | + private MesProWorkOrderService workOrderService; | ||
| 53 | + | ||
| 49 | @PostMapping("/create") | 54 | @PostMapping("/create") |
| 50 | @Operation(summary = "创建外协入库单") | 55 | @Operation(summary = "创建外协入库单") |
| 51 | @PreAuthorize("@ss.hasPermission('mes:wm-outsource-receipt:create')") | 56 | @PreAuthorize("@ss.hasPermission('mes:wm-outsource-receipt:create')") |
| @@ -148,10 +153,14 @@ public class MesWmOutsourceReceiptController { | @@ -148,10 +153,14 @@ public class MesWmOutsourceReceiptController { | ||
| 148 | // 1. 获得关联数据 | 153 | // 1. 获得关联数据 |
| 149 | Map<Long, MesMdVendorDO> vendorMap = vendorService.getVendorMap( | 154 | Map<Long, MesMdVendorDO> vendorMap = vendorService.getVendorMap( |
| 150 | convertSet(list, MesWmOutsourceReceiptDO::getVendorId)); | 155 | convertSet(list, MesWmOutsourceReceiptDO::getVendorId)); |
| 156 | + Map<Long, MesProWorkOrderDO> workOrderMap = workOrderService.getWorkOrderMap( | ||
| 157 | + convertSet(list, MesWmOutsourceReceiptDO::getWorkOrderId)); | ||
| 151 | // 2. 构建结果 | 158 | // 2. 构建结果 |
| 152 | return BeanUtils.toBean(list, MesWmOutsourceReceiptRespVO.class, vo -> { | 159 | return BeanUtils.toBean(list, MesWmOutsourceReceiptRespVO.class, vo -> { |
| 153 | MapUtils.findAndThen(vendorMap, vo.getVendorId(), | 160 | MapUtils.findAndThen(vendorMap, vo.getVendorId(), |
| 154 | vendor -> vo.setVendorName(vendor.getName())); | 161 | vendor -> vo.setVendorName(vendor.getName())); |
| 162 | + MapUtils.findAndThen(workOrderMap, vo.getWorkOrderId(), | ||
| 163 | + workOrder -> vo.setWorkOrderCode(workOrder.getCode())); | ||
| 155 | }); | 164 | }); |
| 156 | } | 165 | } |
| 157 | 166 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourcereceipt/vo/MesWmOutsourceReceiptRespVO.java
| @@ -25,11 +25,11 @@ public class MesWmOutsourceReceiptRespVO { | @@ -25,11 +25,11 @@ public class MesWmOutsourceReceiptRespVO { | ||
| 25 | private String name; | 25 | private String name; |
| 26 | 26 | ||
| 27 | @Schema(description = "外协工单编号", example = "1") | 27 | @Schema(description = "外协工单编号", example = "1") |
| 28 | - private Long workorderId; | 28 | + private Long workOrderId; |
| 29 | 29 | ||
| 30 | @Schema(description = "外协工单编码", example = "WO20260301") | 30 | @Schema(description = "外协工单编码", example = "WO20260301") |
| 31 | @ExcelProperty("外协工单") | 31 | @ExcelProperty("外协工单") |
| 32 | - private String workorderCode; | 32 | + private String workOrderCode; |
| 33 | 33 | ||
| 34 | @Schema(description = "供应商编号", example = "1") | 34 | @Schema(description = "供应商编号", example = "1") |
| 35 | private Long vendorId; | 35 | private Long vendorId; |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourcereceipt/vo/line/MesWmOutsourceReceiptLineRespVO.java
| @@ -37,6 +37,9 @@ public class MesWmOutsourceReceiptLineRespVO { | @@ -37,6 +37,9 @@ public class MesWmOutsourceReceiptLineRespVO { | ||
| 37 | @Schema(description = "批次编号", example = "1") | 37 | @Schema(description = "批次编号", example = "1") |
| 38 | private Long batchId; | 38 | private Long batchId; |
| 39 | 39 | ||
| 40 | + @Schema(description = "批次编码", example = "BATCH20260301001") | ||
| 41 | + private String batchCode; | ||
| 42 | + | ||
| 40 | @Schema(description = "生产日期") | 43 | @Schema(description = "生产日期") |
| 41 | private LocalDateTime productionDate; | 44 | private LocalDateTime productionDate; |
| 42 | 45 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptDetailService.java
| @@ -63,4 +63,11 @@ public interface MesWmOutsourceReceiptDetailService { | @@ -63,4 +63,11 @@ public interface MesWmOutsourceReceiptDetailService { | ||
| 63 | */ | 63 | */ |
| 64 | void deleteOutsourceReceiptDetailByReceiptId(Long receiptId); | 64 | void deleteOutsourceReceiptDetailByReceiptId(Long receiptId); |
| 65 | 65 | ||
| 66 | + /** | ||
| 67 | + * 删除委外收货明细(根据行编号) | ||
| 68 | + * | ||
| 69 | + * @param lineId 行编号 | ||
| 70 | + */ | ||
| 71 | + void deleteOutsourceReceiptDetailByLineId(Long lineId); | ||
| 72 | + | ||
| 66 | } | 73 | } |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourcereceipt/MesWmOutsourceReceiptDetailServiceImpl.java
| @@ -110,6 +110,11 @@ public class MesWmOutsourceReceiptDetailServiceImpl implements MesWmOutsourceRec | @@ -110,6 +110,11 @@ public class MesWmOutsourceReceiptDetailServiceImpl implements MesWmOutsourceRec | ||
| 110 | detailMapper.deleteByReceiptId(receiptId); | 110 | detailMapper.deleteByReceiptId(receiptId); |
| 111 | } | 111 | } |
| 112 | 112 | ||
| 113 | + @Override | ||
| 114 | + public void deleteOutsourceReceiptDetailByLineId(Long lineId) { | ||
| 115 | + detailMapper.deleteByLineId(lineId); | ||
| 116 | + } | ||
| 117 | + | ||
| 113 | private void validateOutsourceReceiptDetailExists(Long id) { | 118 | private void validateOutsourceReceiptDetailExists(Long id) { |
| 114 | if (detailMapper.selectById(id) == null) { | 119 | if (detailMapper.selectById(id) == null) { |
| 115 | throw exception(WM_OUTSOURCE_RECEIPT_DETAIL_NOT_EXISTS); | 120 | throw exception(WM_OUTSOURCE_RECEIPT_DETAIL_NOT_EXISTS); |