Commit 7df27df39b3cc24562f5486811b0135398dda65c

Authored by YunaiV
1 parent 49d14482

✨ feat(mes): 新增批次编码字段及外协工单编码处理逻辑

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);