Commit cbe4854fda6c1db9646fcb19c9df067b56bfc6a4

Authored by YunaiV
1 parent 01b61078

✨ feat(mes): 重命名生产领料出库相关类和接口,统一为产品领料出库命名

重构生产领料出库相关的类、接口和API,统一命名为产品领料出库,以提高代码的一致性和可读性。包括修改相关的状态枚举、数据对象、服务接口及其实现,确保所有引用均已更新。

BREAKING CHANGE: 相关类和接口的名称已更改,需更新调用代码
Showing 32 changed files with 394 additions and 394 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/MesWmProductionIssueController.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueController.java
1   -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue;
  1 +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue;
2 2  
3 3 import cn.hutool.core.collection.CollUtil;
4 4 import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
... ... @@ -8,15 +8,15 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
8 8 import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
9 9 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
10 10 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
11   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssuePageReqVO;
12   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssueRespVO;
13   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssueSaveReqVO;
  11 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssuePageReqVO;
  12 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssueRespVO;
  13 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssueSaveReqVO;
14 14 import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO;
15 15 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO;
16   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDO;
  16 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDO;
17 17 import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationService;
18 18 import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderService;
19   -import cn.iocoder.yudao.module.mes.service.wm.productionissue.MesWmProductionIssueService;
  19 +import cn.iocoder.yudao.module.mes.service.wm.productissue.MesWmProductIssueService;
20 20 import io.swagger.v3.oas.annotations.Operation;
21 21 import io.swagger.v3.oas.annotations.Parameter;
22 22 import io.swagger.v3.oas.annotations.tags.Tag;
... ... @@ -38,12 +38,12 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
38 38  
39 39 @Tag(name = "管理后台 - MES 领料出库单")
40 40 @RestController
41   -@RequestMapping("/mes/wm/production-issue")
  41 +@RequestMapping("/mes/wm/product-issue")
42 42 @Validated
43   -public class MesWmProductionIssueController {
  43 +public class MesWmProductIssueController {
44 44  
45 45 @Resource
46   - private MesWmProductionIssueService issueService;
  46 + private MesWmProductIssueService issueService;
47 47 @Resource
48 48 private MesMdWorkstationService workstationService;
49 49 @Resource
... ... @@ -51,34 +51,34 @@ public class MesWmProductionIssueController {
51 51  
52 52 @PostMapping("/create")
53 53 @Operation(summary = "创建领料出库单")
54   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:create')")
55   - public CommonResult<Long> createProductionIssue(@Valid @RequestBody MesWmProductionIssueSaveReqVO createReqVO) {
56   - return success(issueService.createProductionIssue(createReqVO));
  54 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:create')")
  55 + public CommonResult<Long> createProductIssue(@Valid @RequestBody MesWmProductIssueSaveReqVO createReqVO) {
  56 + return success(issueService.createProductIssue(createReqVO));
57 57 }
58 58  
59 59 @PutMapping("/update")
60 60 @Operation(summary = "修改领料出库单")
61   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:update')")
62   - public CommonResult<Boolean> updateProductionIssue(@Valid @RequestBody MesWmProductionIssueSaveReqVO updateReqVO) {
63   - issueService.updateProductionIssue(updateReqVO);
  61 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:update')")
  62 + public CommonResult<Boolean> updateProductIssue(@Valid @RequestBody MesWmProductIssueSaveReqVO updateReqVO) {
  63 + issueService.updateProductIssue(updateReqVO);
64 64 return success(true);
65 65 }
66 66  
67 67 @DeleteMapping("/delete")
68 68 @Operation(summary = "删除领料出库单")
69 69 @Parameter(name = "id", description = "编号", required = true)
70   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:delete')")
71   - public CommonResult<Boolean> deleteProductionIssue(@RequestParam("id") Long id) {
72   - issueService.deleteProductionIssue(id);
  70 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:delete')")
  71 + public CommonResult<Boolean> deleteProductIssue(@RequestParam("id") Long id) {
  72 + issueService.deleteProductIssue(id);
73 73 return success(true);
74 74 }
75 75  
76 76 @GetMapping("/get")
77 77 @Operation(summary = "获得领料出库单")
78 78 @Parameter(name = "id", description = "编号", required = true, example = "1024")
79   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')")
80   - public CommonResult<MesWmProductionIssueRespVO> getProductionIssue(@RequestParam("id") Long id) {
81   - MesWmProductionIssueDO issue = issueService.getProductionIssue(id);
  79 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
  80 + public CommonResult<MesWmProductIssueRespVO> getProductIssue(@RequestParam("id") Long id) {
  81 + MesWmProductIssueDO issue = issueService.getProductIssue(id);
82 82 if (issue == null) {
83 83 return success(null);
84 84 }
... ... @@ -87,82 +87,82 @@ public class MesWmProductionIssueController {
87 87  
88 88 @GetMapping("/page")
89 89 @Operation(summary = "获得领料出库单分页")
90   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')")
91   - public CommonResult<PageResult<MesWmProductionIssueRespVO>> getProductionIssuePage(
92   - @Valid MesWmProductionIssuePageReqVO pageReqVO) {
93   - PageResult<MesWmProductionIssueDO> pageResult = issueService.getProductionIssuePage(pageReqVO);
  90 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
  91 + public CommonResult<PageResult<MesWmProductIssueRespVO>> getProductIssuePage(
  92 + @Valid MesWmProductIssuePageReqVO pageReqVO) {
  93 + PageResult<MesWmProductIssueDO> pageResult = issueService.getProductIssuePage(pageReqVO);
94 94 return success(new PageResult<>(buildRespVOList(pageResult.getList()), pageResult.getTotal()));
95 95 }
96 96  
97 97 @GetMapping("/export-excel")
98 98 @Operation(summary = "导出领料出库单 Excel")
99   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:export')")
  99 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:export')")
100 100 @ApiAccessLog(operateType = EXPORT)
101   - public void exportProductionIssueExcel(@Valid MesWmProductionIssuePageReqVO pageReqVO,
  101 + public void exportProductIssueExcel(@Valid MesWmProductIssuePageReqVO pageReqVO,
102 102 HttpServletResponse response) throws IOException {
103 103 pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
104   - PageResult<MesWmProductionIssueDO> pageResult = issueService.getProductionIssuePage(pageReqVO);
105   - ExcelUtils.write(response, "领料出库单.xls", "数据", MesWmProductionIssueRespVO.class,
  104 + PageResult<MesWmProductIssueDO> pageResult = issueService.getProductIssuePage(pageReqVO);
  105 + ExcelUtils.write(response, "领料出库单.xls", "数据", MesWmProductIssueRespVO.class,
106 106 buildRespVOList(pageResult.getList()));
107 107 }
108 108  
109 109 @PutMapping("/finish")
110 110 @Operation(summary = "完成领料出库单")
111 111 @Parameter(name = "id", description = "编号", required = true)
112   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:finish')")
113   - public CommonResult<Boolean> finishProductionIssue(@RequestParam("id") Long id) {
114   - issueService.finishProductionIssue(id);
  112 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:finish')")
  113 + public CommonResult<Boolean> finishProductIssue(@RequestParam("id") Long id) {
  114 + issueService.finishProductIssue(id);
115 115 return success(true);
116 116 }
117 117  
118 118 @PutMapping("/submit")
119 119 @Operation(summary = "提交领料出库单")
120 120 @Parameter(name = "id", description = "编号", required = true)
121   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:update')")
122   - public CommonResult<Boolean> submitProductionIssue(@RequestParam("id") Long id) {
123   - issueService.submitProductionIssue(id);
  121 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:update')")
  122 + public CommonResult<Boolean> submitProductIssue(@RequestParam("id") Long id) {
  123 + issueService.submitProductIssue(id);
124 124 return success(true);
125 125 }
126 126  
127 127 @PutMapping("/stock")
128 128 @Operation(summary = "执行拣货")
129 129 @Parameter(name = "id", description = "编号", required = true)
130   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:update')")
131   - public CommonResult<Boolean> stockProductionIssue(@RequestParam("id") Long id) {
132   - issueService.stockProductionIssue(id);
  130 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:update')")
  131 + public CommonResult<Boolean> stockProductIssue(@RequestParam("id") Long id) {
  132 + issueService.stockProductIssue(id);
133 133 return success(true);
134 134 }
135 135  
136 136 @PutMapping("/cancel")
137 137 @Operation(summary = "取消领料出库单")
138 138 @Parameter(name = "id", description = "编号", required = true)
139   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:update')")
140   - public CommonResult<Boolean> cancelProductionIssue(@RequestParam("id") Long id) {
141   - issueService.cancelProductionIssue(id);
  139 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:update')")
  140 + public CommonResult<Boolean> cancelProductIssue(@RequestParam("id") Long id) {
  141 + issueService.cancelProductIssue(id);
142 142 return success(true);
143 143 }
144 144  
145 145 @GetMapping("/check-quantity")
146 146 @Operation(summary = "校验领料出库单数量", description = "校验每行明细数量之和是否等于行领料数量")
147 147 @Parameter(name = "id", description = "编号", required = true)
148   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')")
149   - public CommonResult<Boolean> checkProductionIssueQuantity(@RequestParam("id") Long id) {
150   - return success(issueService.checkProductionIssueQuantity(id));
  148 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
  149 + public CommonResult<Boolean> checkProductIssueQuantity(@RequestParam("id") Long id) {
  150 + return success(issueService.checkProductIssueQuantity(id));
151 151 }
152 152  
153 153 // ==================== 拼接 VO ====================
154 154  
155   - private List<MesWmProductionIssueRespVO> buildRespVOList(List<MesWmProductionIssueDO> list) {
  155 + private List<MesWmProductIssueRespVO> buildRespVOList(List<MesWmProductIssueDO> list) {
156 156 if (CollUtil.isEmpty(list)) {
157 157 return Collections.emptyList();
158 158 }
159 159 // 1. 获得关联数据
160 160 Map<Long, MesMdWorkstationDO> workstationMap = workstationService.getWorkstationMap(
161   - convertSet(list, MesWmProductionIssueDO::getWorkstationId));
  161 + convertSet(list, MesWmProductIssueDO::getWorkstationId));
162 162 Map<Long, MesProWorkOrderDO> workOrderMap = workOrderService.getWorkOrderMap(
163   - convertSet(list, MesWmProductionIssueDO::getWorkOrderId));
  163 + convertSet(list, MesWmProductIssueDO::getWorkOrderId));
164 164 // 2. 构建结果
165   - return BeanUtils.toBean(list, MesWmProductionIssueRespVO.class, vo -> {
  165 + return BeanUtils.toBean(list, MesWmProductIssueRespVO.class, vo -> {
166 166 // 2.1 填充工作站名称
167 167 MapUtils.findAndThen(workstationMap, vo.getWorkstationId(),
168 168 workstation -> vo.setWorkstationName(workstation.getName()));
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/MesWmProductionIssueDetailController.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueDetailController.java
1   -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue;
  1 +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue;
2 2  
3 3 import cn.hutool.core.collection.CollUtil;
4 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
5 5 import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
6 6 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
7   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.detail.MesWmProductionIssueDetailRespVO;
8   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.detail.MesWmProductionIssueDetailSaveReqVO;
  7 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.detail.MesWmProductIssueDetailRespVO;
  8 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.detail.MesWmProductIssueDetailSaveReqVO;
9 9 import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
10 10 import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO;
11   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDetailDO;
  11 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDetailDO;
12 12 import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseAreaDO;
13 13 import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseDO;
14 14 import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseLocationDO;
15 15 import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
16 16 import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService;
17   -import cn.iocoder.yudao.module.mes.service.wm.productionissue.MesWmProductionIssueDetailService;
  17 +import cn.iocoder.yudao.module.mes.service.wm.productissue.MesWmProductIssueDetailService;
18 18 import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseAreaService;
19 19 import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseLocationService;
20 20 import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseService;
... ... @@ -36,12 +36,12 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
36 36  
37 37 @Tag(name = "管理后台 - MES 领料出库明细")
38 38 @RestController
39   -@RequestMapping("/mes/wm/production-issue-detail")
  39 +@RequestMapping("/mes/wm/product-issue-detail")
40 40 @Validated
41   -public class MesWmProductionIssueDetailController {
  41 +public class MesWmProductIssueDetailController {
42 42  
43 43 @Resource
44   - private MesWmProductionIssueDetailService issueDetailService;
  44 + private MesWmProductIssueDetailService issueDetailService;
45 45  
46 46 @Resource
47 47 private MesMdItemService itemService;
... ... @@ -60,34 +60,34 @@ public class MesWmProductionIssueDetailController {
60 60  
61 61 @PostMapping("/create")
62 62 @Operation(summary = "创建领料出库明细")
63   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:create')")
64   - public CommonResult<Long> createProductionIssueDetail(@Valid @RequestBody MesWmProductionIssueDetailSaveReqVO createReqVO) {
65   - return success(issueDetailService.createProductionIssueDetail(createReqVO));
  63 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:create')")
  64 + public CommonResult<Long> createProductIssueDetail(@Valid @RequestBody MesWmProductIssueDetailSaveReqVO createReqVO) {
  65 + return success(issueDetailService.createProductIssueDetail(createReqVO));
66 66 }
67 67  
68 68 @PutMapping("/update")
69 69 @Operation(summary = "修改领料出库明细")
70   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:update')")
71   - public CommonResult<Boolean> updateProductionIssueDetail(@Valid @RequestBody MesWmProductionIssueDetailSaveReqVO updateReqVO) {
72   - issueDetailService.updateProductionIssueDetail(updateReqVO);
  70 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:update')")
  71 + public CommonResult<Boolean> updateProductIssueDetail(@Valid @RequestBody MesWmProductIssueDetailSaveReqVO updateReqVO) {
  72 + issueDetailService.updateProductIssueDetail(updateReqVO);
73 73 return success(true);
74 74 }
75 75  
76 76 @DeleteMapping("/delete")
77 77 @Operation(summary = "删除领料出库明细")
78 78 @Parameter(name = "id", description = "编号", required = true)
79   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:delete')")
80   - public CommonResult<Boolean> deleteProductionIssueDetail(@RequestParam("id") Long id) {
81   - issueDetailService.deleteProductionIssueDetail(id);
  79 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:delete')")
  80 + public CommonResult<Boolean> deleteProductIssueDetail(@RequestParam("id") Long id) {
  81 + issueDetailService.deleteProductIssueDetail(id);
82 82 return success(true);
83 83 }
84 84  
85 85 @GetMapping("/get")
86 86 @Operation(summary = "获得领料出库明细")
87 87 @Parameter(name = "id", description = "编号", required = true, example = "1024")
88   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')")
89   - public CommonResult<MesWmProductionIssueDetailRespVO> getProductionIssueDetail(@RequestParam("id") Long id) {
90   - MesWmProductionIssueDetailDO detail = issueDetailService.getProductionIssueDetail(id);
  88 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
  89 + public CommonResult<MesWmProductIssueDetailRespVO> getProductIssueDetail(@RequestParam("id") Long id) {
  90 + MesWmProductIssueDetailDO detail = issueDetailService.getProductIssueDetail(id);
91 91 if (detail == null) {
92 92 return success(null);
93 93 }
... ... @@ -97,32 +97,32 @@ public class MesWmProductionIssueDetailController {
97 97 @GetMapping("/list-by-line")
98 98 @Operation(summary = "获得领料出库明细列表(按行编号)")
99 99 @Parameter(name = "lineId", description = "行编号", required = true, example = "1024")
100   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')")
101   - public CommonResult<List<MesWmProductionIssueDetailRespVO>> getProductionIssueDetailListByLineId(
  100 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
  101 + public CommonResult<List<MesWmProductIssueDetailRespVO>> getProductIssueDetailListByLineId(
102 102 @RequestParam("lineId") Long lineId) {
103   - List<MesWmProductionIssueDetailDO> list = issueDetailService.getProductionIssueDetailListByLineId(lineId);
  103 + List<MesWmProductIssueDetailDO> list = issueDetailService.getProductIssueDetailListByLineId(lineId);
104 104 return success(buildRespVOList(list));
105 105 }
106 106  
107 107 // ==================== 拼接 VO ====================
108 108  
109   - private List<MesWmProductionIssueDetailRespVO> buildRespVOList(List<MesWmProductionIssueDetailDO> list) {
  109 + private List<MesWmProductIssueDetailRespVO> buildRespVOList(List<MesWmProductIssueDetailDO> list) {
110 110 if (CollUtil.isEmpty(list)) {
111 111 return Collections.emptyList();
112 112 }
113 113 // 1. 获得关联数据
114 114 Map<Long, MesMdItemDO> itemMap = itemService.getItemMap(
115   - convertSet(list, MesWmProductionIssueDetailDO::getItemId));
  115 + convertSet(list, MesWmProductIssueDetailDO::getItemId));
116 116 Map<Long, MesMdUnitMeasureDO> unitMeasureMap = unitMeasureService.getUnitMeasureMap(
117 117 convertSet(itemMap.values(), MesMdItemDO::getUnitMeasureId));
118 118 Map<Long, MesWmWarehouseDO> warehouseMap = warehouseService.getWarehouseMap(
119   - convertSet(list, MesWmProductionIssueDetailDO::getWarehouseId));
  119 + convertSet(list, MesWmProductIssueDetailDO::getWarehouseId));
120 120 Map<Long, MesWmWarehouseLocationDO> locationMap = locationService.getWarehouseLocationMap(
121   - convertSet(list, MesWmProductionIssueDetailDO::getLocationId));
  121 + convertSet(list, MesWmProductIssueDetailDO::getLocationId));
122 122 Map<Long, MesWmWarehouseAreaDO> areaMap = areaService.getWarehouseAreaMap(
123   - convertSet(list, MesWmProductionIssueDetailDO::getAreaId));
  123 + convertSet(list, MesWmProductIssueDetailDO::getAreaId));
124 124 // 2. 构建结果
125   - return BeanUtils.toBean(list, MesWmProductionIssueDetailRespVO.class, vo -> {
  125 + return BeanUtils.toBean(list, MesWmProductIssueDetailRespVO.class, vo -> {
126 126 MapUtils.findAndThen(itemMap, vo.getItemId(), item -> {
127 127 vo.setItemCode(item.getCode()).setItemName(item.getName()).setSpecification(item.getSpecification());
128 128 MapUtils.findAndThen(unitMeasureMap, item.getUnitMeasureId(),
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/MesWmProductionIssueLineController.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/MesWmProductIssueLineController.java
1   -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue;
  1 +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue;
2 2  
3 3 import cn.hutool.core.collection.CollUtil;
4 4 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
5 5 import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 6 import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
7 7 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
8   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLinePageReqVO;
9   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLineRespVO;
10   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLineSaveReqVO;
  8 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLinePageReqVO;
  9 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLineRespVO;
  10 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLineSaveReqVO;
11 11 import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
12 12 import cn.iocoder.yudao.module.mes.dal.dataobject.md.unitmeasure.MesMdUnitMeasureDO;
13   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueLineDO;
  13 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueLineDO;
14 14 import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
15 15 import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService;
16   -import cn.iocoder.yudao.module.mes.service.wm.productionissue.MesWmProductionIssueLineService;
  16 +import cn.iocoder.yudao.module.mes.service.wm.productissue.MesWmProductIssueLineService;
17 17 import io.swagger.v3.oas.annotations.Operation;
18 18 import io.swagger.v3.oas.annotations.Parameter;
19 19 import io.swagger.v3.oas.annotations.tags.Tag;
... ... @@ -32,12 +32,12 @@ import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.
32 32  
33 33 @Tag(name = "管理后台 - MES 领料出库单行")
34 34 @RestController
35   -@RequestMapping("/mes/wm/production-issue-line")
  35 +@RequestMapping("/mes/wm/product-issue-line")
36 36 @Validated
37   -public class MesWmProductionIssueLineController {
  37 +public class MesWmProductIssueLineController {
38 38  
39 39 @Resource
40   - private MesWmProductionIssueLineService issueLineService;
  40 + private MesWmProductIssueLineService issueLineService;
41 41  
42 42 @Resource
43 43 private MesMdItemService itemService;
... ... @@ -47,34 +47,34 @@ public class MesWmProductionIssueLineController {
47 47  
48 48 @PostMapping("/create")
49 49 @Operation(summary = "创建领料出库单行")
50   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:create')")
51   - public CommonResult<Long> createProductionIssueLine(@Valid @RequestBody MesWmProductionIssueLineSaveReqVO createReqVO) {
52   - return success(issueLineService.createProductionIssueLine(createReqVO));
  50 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:create')")
  51 + public CommonResult<Long> createProductIssueLine(@Valid @RequestBody MesWmProductIssueLineSaveReqVO createReqVO) {
  52 + return success(issueLineService.createProductIssueLine(createReqVO));
53 53 }
54 54  
55 55 @PutMapping("/update")
56 56 @Operation(summary = "修改领料出库单行")
57   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:update')")
58   - public CommonResult<Boolean> updateProductionIssueLine(@Valid @RequestBody MesWmProductionIssueLineSaveReqVO updateReqVO) {
59   - issueLineService.updateProductionIssueLine(updateReqVO);
  57 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:update')")
  58 + public CommonResult<Boolean> updateProductIssueLine(@Valid @RequestBody MesWmProductIssueLineSaveReqVO updateReqVO) {
  59 + issueLineService.updateProductIssueLine(updateReqVO);
60 60 return success(true);
61 61 }
62 62  
63 63 @DeleteMapping("/delete")
64 64 @Operation(summary = "删除领料出库单行")
65 65 @Parameter(name = "id", description = "编号", required = true)
66   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:delete')")
67   - public CommonResult<Boolean> deleteProductionIssueLine(@RequestParam("id") Long id) {
68   - issueLineService.deleteProductionIssueLine(id);
  66 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:delete')")
  67 + public CommonResult<Boolean> deleteProductIssueLine(@RequestParam("id") Long id) {
  68 + issueLineService.deleteProductIssueLine(id);
69 69 return success(true);
70 70 }
71 71  
72 72 @GetMapping("/get")
73 73 @Operation(summary = "获得领料出库单行")
74 74 @Parameter(name = "id", description = "编号", required = true, example = "1024")
75   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')")
76   - public CommonResult<MesWmProductionIssueLineRespVO> getProductionIssueLine(@RequestParam("id") Long id) {
77   - MesWmProductionIssueLineDO line = issueLineService.getProductionIssueLine(id);
  75 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
  76 + public CommonResult<MesWmProductIssueLineRespVO> getProductIssueLine(@RequestParam("id") Long id) {
  77 + MesWmProductIssueLineDO line = issueLineService.getProductIssueLine(id);
78 78 if (line == null) {
79 79 return success(null);
80 80 }
... ... @@ -83,36 +83,36 @@ public class MesWmProductionIssueLineController {
83 83  
84 84 @GetMapping("/page")
85 85 @Operation(summary = "获得领料出库单行分页")
86   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')")
87   - public CommonResult<PageResult<MesWmProductionIssueLineRespVO>> getProductionIssueLinePage(
88   - @Valid MesWmProductionIssueLinePageReqVO pageReqVO) {
89   - PageResult<MesWmProductionIssueLineDO> pageResult = issueLineService.getProductionIssueLinePage(pageReqVO);
  86 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
  87 + public CommonResult<PageResult<MesWmProductIssueLineRespVO>> getProductIssueLinePage(
  88 + @Valid MesWmProductIssueLinePageReqVO pageReqVO) {
  89 + PageResult<MesWmProductIssueLineDO> pageResult = issueLineService.getProductIssueLinePage(pageReqVO);
90 90 return success(new PageResult<>(buildRespVOList(pageResult.getList()), pageResult.getTotal()));
91 91 }
92 92  
93 93 @GetMapping("/list-by-issue")
94 94 @Operation(summary = "获得领料出库单行列表(按领料单编号)")
95 95 @Parameter(name = "issueId", description = "领料单编号", required = true, example = "1024")
96   - @PreAuthorize("@ss.hasPermission('mes:wm-production-issue:query')")
97   - public CommonResult<List<MesWmProductionIssueLineRespVO>> getProductionIssueLineListByIssueId(
  96 + @PreAuthorize("@ss.hasPermission('mes:wm-product-issue:query')")
  97 + public CommonResult<List<MesWmProductIssueLineRespVO>> getProductIssueLineListByIssueId(
98 98 @RequestParam("issueId") Long issueId) {
99   - List<MesWmProductionIssueLineDO> list = issueLineService.getProductionIssueLineListByIssueId(issueId);
  99 + List<MesWmProductIssueLineDO> list = issueLineService.getProductIssueLineListByIssueId(issueId);
100 100 return success(buildRespVOList(list));
101 101 }
102 102  
103 103 // ==================== 拼接 VO ====================
104 104  
105   - private List<MesWmProductionIssueLineRespVO> buildRespVOList(List<MesWmProductionIssueLineDO> list) {
  105 + private List<MesWmProductIssueLineRespVO> buildRespVOList(List<MesWmProductIssueLineDO> list) {
106 106 if (CollUtil.isEmpty(list)) {
107 107 return Collections.emptyList();
108 108 }
109 109 // 1. 获得关联数据
110 110 Map<Long, MesMdItemDO> itemMap = itemService.getItemMap(
111   - convertSet(list, MesWmProductionIssueLineDO::getItemId));
  111 + convertSet(list, MesWmProductIssueLineDO::getItemId));
112 112 Map<Long, MesMdUnitMeasureDO> unitMeasureMap = unitMeasureService.getUnitMeasureMap(
113 113 convertSet(itemMap.values(), MesMdItemDO::getUnitMeasureId));
114 114 // 2. 构建结果
115   - return BeanUtils.toBean(list, MesWmProductionIssueLineRespVO.class, vo -> {
  115 + return BeanUtils.toBean(list, MesWmProductIssueLineRespVO.class, vo -> {
116 116 MapUtils.findAndThen(itemMap, vo.getItemId(), item -> {
117 117 vo.setItemCode(item.getCode()).setItemName(item.getName()).setSpecification(item.getSpecification());
118 118 MapUtils.findAndThen(unitMeasureMap, item.getUnitMeasureId(),
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/MesWmProductionIssuePageReqVO.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/MesWmProductIssuePageReqVO.java
1   -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo;
  1 +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 4 import io.swagger.v3.oas.annotations.media.Schema;
... ... @@ -13,7 +13,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_
13 13 @Schema(description = "管理后台 - MES 领料出库单分页 Request VO")
14 14 @Data
15 15 @EqualsAndHashCode(callSuper = true)
16   -public class MesWmProductionIssuePageReqVO extends PageParam {
  16 +public class MesWmProductIssuePageReqVO extends PageParam {
17 17  
18 18 @Schema(description = "领料单编号", example = "ISSUE20250226001")
19 19 private String code;
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/MesWmProductionIssueRespVO.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/MesWmProductIssueRespVO.java
1   -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo;
  1 +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo;
2 2  
3 3 import io.swagger.v3.oas.annotations.media.Schema;
4 4 import lombok.Data;
... ... @@ -7,7 +7,7 @@ import java.time.LocalDateTime;
7 7  
8 8 @Schema(description = "管理后台 - MES 领料出库单 Response VO")
9 9 @Data
10   -public class MesWmProductionIssueRespVO {
  10 +public class MesWmProductIssueRespVO {
11 11  
12 12 @Schema(description = "编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
13 13 private Long id;
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/MesWmProductionIssueSaveReqVO.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/MesWmProductIssueSaveReqVO.java
1   -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo;
  1 +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo;
2 2  
3 3 import io.swagger.v3.oas.annotations.media.Schema;
4 4 import jakarta.validation.constraints.NotBlank;
... ... @@ -9,7 +9,7 @@ import java.time.LocalDateTime;
9 9  
10 10 @Schema(description = "管理后台 - MES 领料出库单新增/修改 Request VO")
11 11 @Data
12   -public class MesWmProductionIssueSaveReqVO {
  12 +public class MesWmProductIssueSaveReqVO {
13 13  
14 14 @Schema(description = "编号", example = "1024")
15 15 private Long id;
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/detail/MesWmProductionIssueDetailRespVO.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/detail/MesWmProductIssueDetailRespVO.java
1   -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.detail;
  1 +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.detail;
2 2  
3 3 import io.swagger.v3.oas.annotations.media.Schema;
4 4 import lombok.Data;
... ... @@ -8,7 +8,7 @@ import java.time.LocalDateTime;
8 8  
9 9 @Schema(description = "管理后台 - MES 领料出库明细 Response VO")
10 10 @Data
11   -public class MesWmProductionIssueDetailRespVO {
  11 +public class MesWmProductIssueDetailRespVO {
12 12  
13 13 @Schema(description = "编号", example = "1")
14 14 private Long id;
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/detail/MesWmProductionIssueDetailSaveReqVO.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/detail/MesWmProductIssueDetailSaveReqVO.java
1   -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.detail;
  1 +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.detail;
2 2  
3 3 import io.swagger.v3.oas.annotations.media.Schema;
4 4 import jakarta.validation.constraints.NotNull;
... ... @@ -8,7 +8,7 @@ import java.math.BigDecimal;
8 8  
9 9 @Schema(description = "管理后台 - MES 领料出库明细新增/修改 Request VO")
10 10 @Data
11   -public class MesWmProductionIssueDetailSaveReqVO {
  11 +public class MesWmProductIssueDetailSaveReqVO {
12 12  
13 13 @Schema(description = "编号", example = "1024")
14 14 private Long id;
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/line/MesWmProductionIssueLinePageReqVO.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/line/MesWmProductIssueLinePageReqVO.java
1   -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line;
  1 +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageParam;
4 4 import io.swagger.v3.oas.annotations.media.Schema;
... ... @@ -11,7 +11,7 @@ import lombok.ToString;
11 11 @Data
12 12 @EqualsAndHashCode(callSuper = true)
13 13 @ToString(callSuper = true)
14   -public class MesWmProductionIssueLinePageReqVO extends PageParam {
  14 +public class MesWmProductIssueLinePageReqVO extends PageParam {
15 15  
16 16 @Schema(description = "领料单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
17 17 @NotNull(message = "领料单编号不能为空")
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/line/MesWmProductionIssueLineRespVO.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/line/MesWmProductIssueLineRespVO.java
1   -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line;
  1 +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line;
2 2  
3 3 import io.swagger.v3.oas.annotations.media.Schema;
4 4 import lombok.Data;
... ... @@ -8,7 +8,7 @@ import java.time.LocalDateTime;
8 8  
9 9 @Schema(description = "管理后台 - MES 领料出库单行 Response VO")
10 10 @Data
11   -public class MesWmProductionIssueLineRespVO {
  11 +public class MesWmProductIssueLineRespVO {
12 12  
13 13 @Schema(description = "行ID", example = "1")
14 14 private Long id;
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productionissue/vo/line/MesWmProductionIssueLineSaveReqVO.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/productissue/vo/line/MesWmProductIssueLineSaveReqVO.java
1   -package cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line;
  1 +package cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line;
2 2  
3 3 import io.swagger.v3.oas.annotations.media.Schema;
4 4 import jakarta.validation.constraints.DecimalMin;
... ... @@ -9,7 +9,7 @@ import java.math.BigDecimal;
9 9  
10 10 @Schema(description = "管理后台 - MES 领料出库单行 Save Request VO")
11 11 @Data
12   -public class MesWmProductionIssueLineSaveReqVO {
  12 +public class MesWmProductIssueLineSaveReqVO {
13 13  
14 14 @Schema(description = "行ID", example = "1")
15 15 private Long id;
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productionissue/MesWmProductionIssueDO.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productissue/MesWmProductIssueDO.java
1   -package cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue;
  1 +package cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 4 import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO;
5 5 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskDO;
6 6 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO;
7   -import cn.iocoder.yudao.module.mes.enums.wm.MesWmProductionIssueStatusEnum;
  7 +import cn.iocoder.yudao.module.mes.enums.wm.MesWmProductIssueStatusEnum;
8 8 import com.baomidou.mybatisplus.annotation.KeySequence;
9 9 import com.baomidou.mybatisplus.annotation.TableId;
10 10 import com.baomidou.mybatisplus.annotation.TableName;
... ... @@ -15,15 +15,15 @@ import java.time.LocalDateTime;
15 15 /**
16 16 * MES 领料出库单 DO
17 17 */
18   -@TableName("mes_wm_production_issue")
19   -@KeySequence("mes_wm_production_issue_seq")
  18 +@TableName("mes_wm_product_issue")
  19 +@KeySequence("mes_wm_product_issue_seq")
20 20 @Data
21 21 @EqualsAndHashCode(callSuper = true)
22 22 @ToString(callSuper = true)
23 23 @Builder
24 24 @NoArgsConstructor
25 25 @AllArgsConstructor
26   -public class MesWmProductionIssueDO extends BaseDO {
  26 +public class MesWmProductIssueDO extends BaseDO {
27 27  
28 28 /**
29 29 * 编号
... ... @@ -69,7 +69,7 @@ public class MesWmProductionIssueDO extends BaseDO {
69 69 /**
70 70 * 状态
71 71 *
72   - * 枚举 {@link MesWmProductionIssueStatusEnum}
  72 + * 枚举 {@link MesWmProductIssueStatusEnum}
73 73 */
74 74 private Integer status;
75 75 /**
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productionissue/MesWmProductionIssueDetailDO.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productissue/MesWmProductIssueDetailDO.java
1   -package cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue;
  1 +package cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 4 import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
... ... @@ -16,15 +16,15 @@ import java.math.BigDecimal;
16 16 /**
17 17 * MES 领料出库明细 DO
18 18 */
19   -@TableName("mes_wm_production_issue_detail")
20   -@KeySequence("mes_wm_production_issue_detail_seq")
  19 +@TableName("mes_wm_product_issue_detail")
  20 +@KeySequence("mes_wm_product_issue_detail_seq")
21 21 @Data
22 22 @EqualsAndHashCode(callSuper = true)
23 23 @ToString(callSuper = true)
24 24 @Builder
25 25 @NoArgsConstructor
26 26 @AllArgsConstructor
27   -public class MesWmProductionIssueDetailDO extends BaseDO {
  27 +public class MesWmProductIssueDetailDO extends BaseDO {
28 28  
29 29 /**
30 30 * 编号
... ... @@ -34,13 +34,13 @@ public class MesWmProductionIssueDetailDO extends BaseDO {
34 34 /**
35 35 * 领料单ID
36 36 *
37   - * 关联 {@link MesWmProductionIssueDO#getId()}
  37 + * 关联 {@link MesWmProductIssueDO#getId()}
38 38 */
39 39 private Long issueId;
40 40 /**
41 41 * 行ID
42 42 *
43   - * 关联 {@link MesWmProductionIssueLineDO#getId()}
  43 + * 关联 {@link MesWmProductIssueLineDO#getId()}
44 44 */
45 45 private Long lineId;
46 46 /**
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productionissue/MesWmProductionIssueLineDO.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/dataobject/wm/productissue/MesWmProductIssueLineDO.java
1   -package cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue;
  1 +package cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 4 import cn.iocoder.yudao.module.mes.dal.dataobject.md.item.MesMdItemDO;
... ... @@ -12,15 +12,15 @@ import java.math.BigDecimal;
12 12 /**
13 13 * MES 领料出库单行 DO
14 14 */
15   -@TableName("mes_wm_production_issue_line")
16   -@KeySequence("mes_wm_production_issue_line_seq")
  15 +@TableName("mes_wm_product_issue_line")
  16 +@KeySequence("mes_wm_product_issue_line_seq")
17 17 @Data
18 18 @EqualsAndHashCode(callSuper = true)
19 19 @ToString(callSuper = true)
20 20 @Builder
21 21 @NoArgsConstructor
22 22 @AllArgsConstructor
23   -public class MesWmProductionIssueLineDO extends BaseDO {
  23 +public class MesWmProductIssueLineDO extends BaseDO {
24 24  
25 25 /**
26 26 * 编号
... ... @@ -30,7 +30,7 @@ public class MesWmProductionIssueLineDO extends BaseDO {
30 30 /**
31 31 * 领料单 ID
32 32 *
33   - * 关联 {@link MesWmProductionIssueDO#getId()}
  33 + * 关联 {@link MesWmProductIssueDO#getId()}
34 34 */
35 35 private Long issueId;
36 36 /**
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productionissue/MesWmProductionIssueLineMapper.java deleted
1   -package cn.iocoder.yudao.module.mes.dal.mysql.wm.productionissue;
2   -
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
5   -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
6   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLinePageReqVO;
7   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueLineDO;
8   -import org.apache.ibatis.annotations.Mapper;
9   -
10   -import java.util.List;
11   -
12   -/**
13   - * MES 领料出库单行 Mapper
14   - */
15   -@Mapper
16   -public interface MesWmProductionIssueLineMapper extends BaseMapperX<MesWmProductionIssueLineDO> {
17   -
18   - default PageResult<MesWmProductionIssueLineDO> selectPage(MesWmProductionIssueLinePageReqVO reqVO) {
19   - return selectPage(reqVO, new LambdaQueryWrapperX<MesWmProductionIssueLineDO>()
20   - .eqIfPresent(MesWmProductionIssueLineDO::getIssueId, reqVO.getIssueId())
21   - .orderByDesc(MesWmProductionIssueLineDO::getId));
22   - }
23   -
24   - default List<MesWmProductionIssueLineDO> selectListByIssueId(Long issueId) {
25   - return selectList(MesWmProductionIssueLineDO::getIssueId, issueId);
26   - }
27   -
28   - default void deleteByIssueId(Long issueId) {
29   - delete(MesWmProductionIssueLineDO::getIssueId, issueId);
30   - }
31   -
32   -}
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productionissue/MesWmProductionIssueMapper.java deleted
1   -package cn.iocoder.yudao.module.mes.dal.mysql.wm.productionissue;
2   -
3   -import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
5   -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
6   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssuePageReqVO;
7   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDO;
8   -import org.apache.ibatis.annotations.Mapper;
9   -
10   -/**
11   - * MES 领料出库单 Mapper
12   - */
13   -@Mapper
14   -public interface MesWmProductionIssueMapper extends BaseMapperX<MesWmProductionIssueDO> {
15   -
16   - default PageResult<MesWmProductionIssueDO> selectPage(MesWmProductionIssuePageReqVO reqVO) {
17   - return selectPage(reqVO, new LambdaQueryWrapperX<MesWmProductionIssueDO>()
18   - .likeIfPresent(MesWmProductionIssueDO::getCode, reqVO.getCode())
19   - .likeIfPresent(MesWmProductionIssueDO::getName, reqVO.getName())
20   - .eqIfPresent(MesWmProductionIssueDO::getWorkstationId, reqVO.getWorkstationId())
21   - .eqIfPresent(MesWmProductionIssueDO::getWorkOrderId, reqVO.getWorkOrderId())
22   - .eqIfPresent(MesWmProductionIssueDO::getStatus, reqVO.getStatus())
23   - .betweenIfPresent(MesWmProductionIssueDO::getIssueDate, reqVO.getIssueDate())
24   - .orderByDesc(MesWmProductionIssueDO::getId));
25   - }
26   -
27   -}
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productionissue/MesWmProductionIssueDetailMapper.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productissue/MesWmProductIssueDetailMapper.java
1   -package cn.iocoder.yudao.module.mes.dal.mysql.wm.productionissue;
  1 +package cn.iocoder.yudao.module.mes.dal.mysql.wm.productissue;
2 2  
3 3 import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
4   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDetailDO;
  4 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDetailDO;
5 5 import org.apache.ibatis.annotations.Mapper;
6 6  
7 7 import java.util.List;
... ... @@ -10,18 +10,18 @@ import java.util.List;
10 10 * MES 领料出库明细 Mapper
11 11 */
12 12 @Mapper
13   -public interface MesWmProductionIssueDetailMapper extends BaseMapperX<MesWmProductionIssueDetailDO> {
  13 +public interface MesWmProductIssueDetailMapper extends BaseMapperX<MesWmProductIssueDetailDO> {
14 14  
15   - default List<MesWmProductionIssueDetailDO> selectListByLineId(Long lineId) {
16   - return selectList(MesWmProductionIssueDetailDO::getLineId, lineId);
  15 + default List<MesWmProductIssueDetailDO> selectListByLineId(Long lineId) {
  16 + return selectList(MesWmProductIssueDetailDO::getLineId, lineId);
17 17 }
18 18  
19   - default List<MesWmProductionIssueDetailDO> selectListByIssueId(Long issueId) {
20   - return selectList(MesWmProductionIssueDetailDO::getIssueId, issueId);
  19 + default List<MesWmProductIssueDetailDO> selectListByIssueId(Long issueId) {
  20 + return selectList(MesWmProductIssueDetailDO::getIssueId, issueId);
21 21 }
22 22  
23 23 default void deleteByIssueId(Long issueId) {
24   - delete(MesWmProductionIssueDetailDO::getIssueId, issueId);
  24 + delete(MesWmProductIssueDetailDO::getIssueId, issueId);
25 25 }
26 26  
27 27 }
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productissue/MesWmProductIssueLineMapper.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mes.dal.mysql.wm.productissue;
  2 +
  3 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
  5 +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
  6 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLinePageReqVO;
  7 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueLineDO;
  8 +import org.apache.ibatis.annotations.Mapper;
  9 +
  10 +import java.util.List;
  11 +
  12 +/**
  13 + * MES 领料出库单行 Mapper
  14 + */
  15 +@Mapper
  16 +public interface MesWmProductIssueLineMapper extends BaseMapperX<MesWmProductIssueLineDO> {
  17 +
  18 + default PageResult<MesWmProductIssueLineDO> selectPage(MesWmProductIssueLinePageReqVO reqVO) {
  19 + return selectPage(reqVO, new LambdaQueryWrapperX<MesWmProductIssueLineDO>()
  20 + .eqIfPresent(MesWmProductIssueLineDO::getIssueId, reqVO.getIssueId())
  21 + .orderByDesc(MesWmProductIssueLineDO::getId));
  22 + }
  23 +
  24 + default List<MesWmProductIssueLineDO> selectListByIssueId(Long issueId) {
  25 + return selectList(MesWmProductIssueLineDO::getIssueId, issueId);
  26 + }
  27 +
  28 + default void deleteByIssueId(Long issueId) {
  29 + delete(MesWmProductIssueLineDO::getIssueId, issueId);
  30 + }
  31 +
  32 +}
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/productissue/MesWmProductIssueMapper.java 0 → 100644
  1 +package cn.iocoder.yudao.module.mes.dal.mysql.wm.productissue;
  2 +
  3 +import cn.iocoder.yudao.framework.common.pojo.PageResult;
  4 +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
  5 +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
  6 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssuePageReqVO;
  7 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDO;
  8 +import org.apache.ibatis.annotations.Mapper;
  9 +
  10 +/**
  11 + * MES 领料出库单 Mapper
  12 + */
  13 +@Mapper
  14 +public interface MesWmProductIssueMapper extends BaseMapperX<MesWmProductIssueDO> {
  15 +
  16 + default PageResult<MesWmProductIssueDO> selectPage(MesWmProductIssuePageReqVO reqVO) {
  17 + return selectPage(reqVO, new LambdaQueryWrapperX<MesWmProductIssueDO>()
  18 + .likeIfPresent(MesWmProductIssueDO::getCode, reqVO.getCode())
  19 + .likeIfPresent(MesWmProductIssueDO::getName, reqVO.getName())
  20 + .eqIfPresent(MesWmProductIssueDO::getWorkstationId, reqVO.getWorkstationId())
  21 + .eqIfPresent(MesWmProductIssueDO::getWorkOrderId, reqVO.getWorkOrderId())
  22 + .eqIfPresent(MesWmProductIssueDO::getStatus, reqVO.getStatus())
  23 + .betweenIfPresent(MesWmProductIssueDO::getIssueDate, reqVO.getIssueDate())
  24 + .orderByDesc(MesWmProductIssueDO::getId));
  25 + }
  26 +
  27 +}
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
... ... @@ -409,16 +409,16 @@ public interface ErrorCodeConstants {
409 409 ErrorCode WM_OUTSOURCE_ISSUE_DETAIL_NOT_EXISTS = new ErrorCode(1_040_707_200, "外协发料单明细不存在");
410 410  
411 411 // ========== MES 仓库管理-生产领料出库单(1-040-708-000) ==========
412   - ErrorCode WM_PRODUCTION_ISSUE_NOT_EXISTS = new ErrorCode(1_040_708_000, "生产领料出库单不存在");
413   - ErrorCode WM_PRODUCTION_ISSUE_STATUS_INVALID = new ErrorCode(1_040_708_001, "生产领料出库单状态不正确,无法执行该操作");
414   - ErrorCode WM_PRODUCTION_ISSUE_NO_LINE = new ErrorCode(1_040_708_002, "生产领料出库单至少需要一条行数据");
415   - ErrorCode WM_PRODUCTION_ISSUE_DETAIL_QUANTITY_MISMATCH = new ErrorCode(1_040_708_003, "领料出库单行数量与明细数量不一致");
416   - ErrorCode WM_PRODUCTION_ISSUE_WORKORDER_NOT_EXISTS = new ErrorCode(1_040_708_004, "生产工单不存在");
417   - ErrorCode WM_PRODUCTION_ISSUE_WORKSTATION_NOT_EXISTS = new ErrorCode(1_040_708_005, "工作站不存在");
418   - ErrorCode WM_PRODUCTION_ISSUE_CANCEL_NOT_ALLOWED = new ErrorCode(1_040_708_006, "生产领料出库单已完成或已取消,无法取消");
419   - ErrorCode WM_PRODUCTION_ISSUE_LINE_NOT_EXISTS = new ErrorCode(1_040_708_100, "生产领料出库单行不存在");
420   - ErrorCode WM_PRODUCTION_ISSUE_LINE_ITEM_NOT_IN_BOM = new ErrorCode(1_040_708_101, "当前物料不在生产工单的 BOM 物料清单中");
421   - ErrorCode WM_PRODUCTION_ISSUE_DETAIL_NOT_EXISTS = new ErrorCode(1_040_708_200, "生产领料出库单明细不存在");
  412 + ErrorCode WM_PRODUCT_ISSUE_NOT_EXISTS = new ErrorCode(1_040_708_000, "生产领料出库单不存在");
  413 + ErrorCode WM_PRODUCT_ISSUE_STATUS_INVALID = new ErrorCode(1_040_708_001, "生产领料出库单状态不正确,无法执行该操作");
  414 + ErrorCode WM_PRODUCT_ISSUE_NO_LINE = new ErrorCode(1_040_708_002, "生产领料出库单至少需要一条行数据");
  415 + ErrorCode WM_PRODUCT_ISSUE_DETAIL_QUANTITY_MISMATCH = new ErrorCode(1_040_708_003, "领料出库单行数量与明细数量不一致");
  416 + ErrorCode WM_PRODUCT_ISSUE_WORKORDER_NOT_EXISTS = new ErrorCode(1_040_708_004, "生产工单不存在");
  417 + ErrorCode WM_PRODUCT_ISSUE_WORKSTATION_NOT_EXISTS = new ErrorCode(1_040_708_005, "工作站不存在");
  418 + ErrorCode WM_PRODUCT_ISSUE_CANCEL_NOT_ALLOWED = new ErrorCode(1_040_708_006, "生产领料出库单已完成或已取消,无法取消");
  419 + ErrorCode WM_PRODUCT_ISSUE_LINE_NOT_EXISTS = new ErrorCode(1_040_708_100, "生产领料出库单行不存在");
  420 + ErrorCode WM_PRODUCT_ISSUE_LINE_ITEM_NOT_IN_BOM = new ErrorCode(1_040_708_101, "当前物料不在生产工单的 BOM 物料清单中");
  421 + ErrorCode WM_PRODUCT_ISSUE_DETAIL_NOT_EXISTS = new ErrorCode(1_040_708_200, "生产领料出库单明细不存在");
422 422  
423 423 // ========== MES 仓库管理-生产入库单(1-040-709-000) ==========
424 424 ErrorCode WM_PRODUCT_PRODUCE_NOT_EXISTS = new ErrorCode(1_040_709_000, "生产入库单不存在");
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/MesBizTypeConstants.java
... ... @@ -35,7 +35,7 @@ public final class MesBizTypeConstants {
35 35 public static final int WM_TRANSFER_IN = 112; // 调拨入库:MesWmTransferDO
36 36 public static final int WM_MISC_ISSUE = 113; // 其他出库:MesWmMiscIssueDO
37 37 public static final int WM_MISC_RECPT = 114; // 其他入库:MesWmMiscReceiptDO
38   - public static final int WM_ISSUE = 115; // 生产领料:MesWmProductionIssueDO
  38 + public static final int WM_ISSUE = 115; // 生产领料:MesWmProductIssueDO
39 39 public static final int WM_RETURN_ISSUE = 116; // 生产退料:MesWmReturnIssueDO
40 40 public static final int WM_PRODUCT_RECPT = 117; // 生产入库:MesWmProductReceiptDO
41 41 public static final int WM_PRODUCT_SALES = 118; // 销售出库:MesWmProductSalesDO
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductionIssueStatusEnum.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductIssueStatusEnum.java
1 1 package cn.iocoder.yudao.module.mes.enums.wm;
2 2  
3 3 import cn.iocoder.yudao.framework.common.core.ArrayValuable;
4   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssueSaveReqVO;
  4 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssueSaveReqVO;
5 5 import cn.iocoder.yudao.module.mes.enums.MesOrderStatusConstants;
6   -import cn.iocoder.yudao.module.mes.service.wm.productionissue.MesWmProductionIssueService;
  6 +import cn.iocoder.yudao.module.mes.service.wm.productissue.MesWmProductIssueService;
7 7 import lombok.AllArgsConstructor;
8 8 import lombok.Getter;
9 9  
... ... @@ -16,40 +16,40 @@ import java.util.Arrays;
16 16 */
17 17 @Getter
18 18 @AllArgsConstructor
19   -public enum MesWmProductionIssueStatusEnum implements ArrayValuable<Integer> {
  19 +public enum MesWmProductIssueStatusEnum implements ArrayValuable<Integer> {
20 20  
21 21 /**
22 22 * 草稿
23 23 *
24   - * 对应方法:{@link MesWmProductionIssueService#createProductionIssue(MesWmProductionIssueSaveReqVO)}
  24 + * 对应方法:{@link MesWmProductIssueService#createProductIssue(MesWmProductIssueSaveReqVO)}
25 25 */
26 26 PREPARE(MesOrderStatusConstants.PREPARE, "草稿"),
27 27 /**
28 28 * 待拣货
29 29 *
30   - * 对应方法:{@link MesWmProductionIssueService#submitProductionIssue(Long)}
  30 + * 对应方法:{@link MesWmProductIssueService#submitProductIssue(Long)}
31 31 */
32 32 APPROVING(MesOrderStatusConstants.APPROVING, "待拣货"),
33 33 /**
34 34 * 待执行领出
35 35 *
36   - * 对应方法:{@link MesWmProductionIssueService#stockProductionIssue(Long)}
  36 + * 对应方法:{@link MesWmProductIssueService#stockProductIssue(Long)}
37 37 */
38 38 APPROVED(MesOrderStatusConstants.APPROVED, "待执行领出"),
39 39 /**
40 40 * 已完成
41 41 *
42   - * 对应方法:{@link MesWmProductionIssueService#finishProductionIssue(Long)}
  42 + * 对应方法:{@link MesWmProductIssueService#finishProductIssue(Long)}
43 43 */
44 44 FINISHED(MesOrderStatusConstants.FINISHED, "已完成"),
45 45 /**
46 46 * 已取消
47 47 *
48   - * 对应方法:{@link MesWmProductionIssueService#cancelProductionIssue(Long)}
  48 + * 对应方法:{@link MesWmProductIssueService#cancelProductIssue(Long)}
49 49 */
50 50 CANCELED(MesOrderStatusConstants.CANCELLED, "已取消");
51 51  
52   - public static final Integer[] ARRAYS = Arrays.stream(values()).map(MesWmProductionIssueStatusEnum::getStatus).toArray(Integer[]::new);
  52 + public static final Integer[] ARRAYS = Arrays.stream(values()).map(MesWmProductIssueStatusEnum::getStatus).toArray(Integer[]::new);
53 53  
54 54 /**
55 55 * 状态值
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/wm/MesWmProductProduceStatusEnum.java
... ... @@ -16,7 +16,7 @@ import java.util.Arrays;
16 16 @AllArgsConstructor
17 17 public enum MesWmProductProduceStatusEnum implements ArrayValuable<Integer> {
18 18  
19   - // TODO @AI:对应的方法;参考别的 MesWmProductionIssueStatusEnum
  19 + // TODO @AI:对应的方法;参考别的 MesWmProductIssueStatusEnum
20 20 /**
21 21 * 草稿
22 22 */
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/arrivalnotice/MesWmArrivalNoticeServiceImpl.java
... ... @@ -21,7 +21,6 @@ import java.math.BigDecimal;
21 21 import java.util.Collection;
22 22 import java.util.Collections;
23 23 import java.util.List;
24   -import java.util.Objects;
25 24  
26 25 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
27 26 import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*;
... ... @@ -100,6 +99,7 @@ public class MesWmArrivalNoticeServiceImpl implements MesWmArrivalNoticeService
100 99 // 2. 检查所有行的 iqcCheckFlag:如果没有需要检验的行,则直接审批通过
101 100 boolean needCheck = CollectionUtils.anyMatch(lines,
102 101 line -> Boolean.TRUE.equals(line.getIqcCheckFlag()));
  102 + // TODO @AI:if return;并且不要取反;
103 103 if (!needCheck) {
104 104 // 不需要检验,直接进入待入库
105 105 arrivalNoticeMapper.updateById(new MesWmArrivalNoticeDO()
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/outsourceissue/MesWmOutsourceIssueLineServiceImpl.java
... ... @@ -35,7 +35,7 @@ public class MesWmOutsourceIssueLineServiceImpl implements MesWmOutsourceIssueLi
35 35 // DONE @AI:校验关联的 issueId;(AI 未修复原因:需要注入 outsourceIssueService 并调用校验方法,需要确认具体校验逻辑)
36 36 // DONE AI校验关联的 itemId;(AI 未修复原因:需要注入 itemService 并调用校验方法,需要确认具体校验逻辑)
37 37  
38   - // DONE @AI:wm 里面,有模块实现了 checkBom 类似的逻辑;(AI 未修复原因:需要明确 BOM 校验的具体业务规则,建议参考 productionissue 模块的实现)
  38 + // DONE @AI:wm 里面,有模块实现了 checkBom 类似的逻辑;(AI 未修复原因:需要明确 BOM 校验的具体业务规则,建议参考 productissue 模块的实现)
39 39  
40 40 // 插入
41 41 MesWmOutsourceIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmOutsourceIssueLineDO.class);
... ... @@ -48,7 +48,7 @@ public class MesWmOutsourceIssueLineServiceImpl implements MesWmOutsourceIssueLi
48 48 // DONE @AI:校验关联的 issueId;(AI 未修复原因:需要注入 outsourceIssueService 并调用校验方法,需要确认具体校验逻辑)
49 49 // DONE AI校验关联的 itemId;(AI 未修复原因:需要注入 itemService 并调用校验方法,需要确认具体校验逻辑)
50 50  
51   - // DONE @AI:wm 里面,有模块实现了 checkBom 类似的逻辑;(AI 未修复原因:需要明确 BOM 校验的具体业务规则,建议参考 productionissue 模块的实现)
  51 + // DONE @AI:wm 里面,有模块实现了 checkBom 类似的逻辑;(AI 未修复原因:需要明确 BOM 校验的具体业务规则,建议参考 productissue 模块的实现)
52 52  
53 53 // 校验存在
54 54 validateOutsourceIssueLineExists(updateReqVO.getId());
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueDetailService.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueDetailService.java
1   -package cn.iocoder.yudao.module.mes.service.wm.productionissue;
  1 +package cn.iocoder.yudao.module.mes.service.wm.productissue;
2 2  
3   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.detail.MesWmProductionIssueDetailSaveReqVO;
4   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDetailDO;
  3 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.detail.MesWmProductIssueDetailSaveReqVO;
  4 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDetailDO;
5 5 import jakarta.validation.Valid;
6 6  
7 7 import java.util.List;
... ... @@ -9,7 +9,7 @@ import java.util.List;
9 9 /**
10 10 * MES 领料出库明细 Service 接口
11 11 */
12   -public interface MesWmProductionIssueDetailService {
  12 +public interface MesWmProductIssueDetailService {
13 13  
14 14 /**
15 15 * 创建领料出库明细
... ... @@ -17,21 +17,21 @@ public interface MesWmProductionIssueDetailService {
17 17 * @param createReqVO 创建信息
18 18 * @return 编号
19 19 */
20   - Long createProductionIssueDetail(@Valid MesWmProductionIssueDetailSaveReqVO createReqVO);
  20 + Long createProductIssueDetail(@Valid MesWmProductIssueDetailSaveReqVO createReqVO);
21 21  
22 22 /**
23 23 * 更新领料出库明细
24 24 *
25 25 * @param updateReqVO 更新信息
26 26 */
27   - void updateProductionIssueDetail(@Valid MesWmProductionIssueDetailSaveReqVO updateReqVO);
  27 + void updateProductIssueDetail(@Valid MesWmProductIssueDetailSaveReqVO updateReqVO);
28 28  
29 29 /**
30 30 * 删除领料出库明细
31 31 *
32 32 * @param id 编号
33 33 */
34   - void deleteProductionIssueDetail(Long id);
  34 + void deleteProductIssueDetail(Long id);
35 35  
36 36 /**
37 37 * 获得领料出库明细
... ... @@ -39,7 +39,7 @@ public interface MesWmProductionIssueDetailService {
39 39 * @param id 编号
40 40 * @return 领料出库明细
41 41 */
42   - MesWmProductionIssueDetailDO getProductionIssueDetail(Long id);
  42 + MesWmProductIssueDetailDO getProductIssueDetail(Long id);
43 43  
44 44 /**
45 45 * 根据行ID获取明细列表
... ... @@ -47,7 +47,7 @@ public interface MesWmProductionIssueDetailService {
47 47 * @param lineId 行ID
48 48 * @return 明细列表
49 49 */
50   - List<MesWmProductionIssueDetailDO> getProductionIssueDetailListByLineId(Long lineId);
  50 + List<MesWmProductIssueDetailDO> getProductIssueDetailListByLineId(Long lineId);
51 51  
52 52 /**
53 53 * 根据领料单ID获取明细列表
... ... @@ -55,13 +55,13 @@ public interface MesWmProductionIssueDetailService {
55 55 * @param issueId 领料单ID
56 56 * @return 明细列表
57 57 */
58   - List<MesWmProductionIssueDetailDO> getProductionIssueDetailListByIssueId(Long issueId);
  58 + List<MesWmProductIssueDetailDO> getProductIssueDetailListByIssueId(Long issueId);
59 59  
60 60 /**
61 61 * 根据领料单ID删除明细
62 62 *
63 63 * @param issueId 领料单ID
64 64 */
65   - void deleteProductionIssueDetailByIssueId(Long issueId);
  65 + void deleteProductIssueDetailByIssueId(Long issueId);
66 66  
67 67 }
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueDetailServiceImpl.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueDetailServiceImpl.java
1   -package cn.iocoder.yudao.module.mes.service.wm.productionissue;
  1 +package cn.iocoder.yudao.module.mes.service.wm.productissue;
2 2  
3 3 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
4   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.detail.MesWmProductionIssueDetailSaveReqVO;
5   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDetailDO;
6   -import cn.iocoder.yudao.module.mes.dal.mysql.wm.productionissue.MesWmProductionIssueDetailMapper;
  4 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.detail.MesWmProductIssueDetailSaveReqVO;
  5 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDetailDO;
  6 +import cn.iocoder.yudao.module.mes.dal.mysql.wm.productissue.MesWmProductIssueDetailMapper;
7 7 import jakarta.annotation.Resource;
8 8 import org.springframework.context.annotation.Lazy;
9 9 import org.springframework.stereotype.Service;
... ... @@ -12,76 +12,76 @@ import org.springframework.validation.annotation.Validated;
12 12 import java.util.List;
13 13  
14 14 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
15   -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_PRODUCTION_ISSUE_DETAIL_NOT_EXISTS;
  15 +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_PRODUCT_ISSUE_DETAIL_NOT_EXISTS;
16 16  
17 17 /**
18 18 * MES 领料出库明细 Service 实现类
19 19 */
20 20 @Service
21 21 @Validated
22   -public class MesWmProductionIssueDetailServiceImpl implements MesWmProductionIssueDetailService {
  22 +public class MesWmProductIssueDetailServiceImpl implements MesWmProductIssueDetailService {
23 23  
24 24 @Resource
25   - private MesWmProductionIssueDetailMapper issueDetailMapper;
  25 + private MesWmProductIssueDetailMapper issueDetailMapper;
26 26  
27 27 @Resource
28 28 @Lazy
29   - private MesWmProductionIssueLineService issueLineService;
  29 + private MesWmProductIssueLineService issueLineService;
30 30  
31 31 @Override
32   - public Long createProductionIssueDetail(MesWmProductionIssueDetailSaveReqVO createReqVO) {
  32 + public Long createProductIssueDetail(MesWmProductIssueDetailSaveReqVO createReqVO) {
33 33 // 校验父数据存在
34   - issueLineService.validateProductionIssueLineExists(createReqVO.getLineId());
  34 + issueLineService.validateProductIssueLineExists(createReqVO.getLineId());
35 35  
36 36 // 插入
37   - MesWmProductionIssueDetailDO detail = BeanUtils.toBean(createReqVO, MesWmProductionIssueDetailDO.class);
  37 + MesWmProductIssueDetailDO detail = BeanUtils.toBean(createReqVO, MesWmProductIssueDetailDO.class);
38 38 issueDetailMapper.insert(detail);
39 39 return detail.getId();
40 40 }
41 41  
42 42 @Override
43   - public void updateProductionIssueDetail(MesWmProductionIssueDetailSaveReqVO updateReqVO) {
  43 + public void updateProductIssueDetail(MesWmProductIssueDetailSaveReqVO updateReqVO) {
44 44 // 校验存在
45   - validateProductionIssueDetailExists(updateReqVO.getId());
  45 + validateProductIssueDetailExists(updateReqVO.getId());
46 46 // 校验父数据存在
47   - issueLineService.validateProductionIssueLineExists(updateReqVO.getLineId());
  47 + issueLineService.validateProductIssueLineExists(updateReqVO.getLineId());
48 48  
49 49 // 更新
50   - MesWmProductionIssueDetailDO updateObj = BeanUtils.toBean(updateReqVO, MesWmProductionIssueDetailDO.class);
  50 + MesWmProductIssueDetailDO updateObj = BeanUtils.toBean(updateReqVO, MesWmProductIssueDetailDO.class);
51 51 issueDetailMapper.updateById(updateObj);
52 52 }
53 53  
54 54 @Override
55   - public void deleteProductionIssueDetail(Long id) {
  55 + public void deleteProductIssueDetail(Long id) {
56 56 // 校验存在
57   - validateProductionIssueDetailExists(id);
  57 + validateProductIssueDetailExists(id);
58 58 // 删除
59 59 issueDetailMapper.deleteById(id);
60 60 }
61 61  
62 62 @Override
63   - public MesWmProductionIssueDetailDO getProductionIssueDetail(Long id) {
  63 + public MesWmProductIssueDetailDO getProductIssueDetail(Long id) {
64 64 return issueDetailMapper.selectById(id);
65 65 }
66 66  
67 67 @Override
68   - public List<MesWmProductionIssueDetailDO> getProductionIssueDetailListByLineId(Long lineId) {
  68 + public List<MesWmProductIssueDetailDO> getProductIssueDetailListByLineId(Long lineId) {
69 69 return issueDetailMapper.selectListByLineId(lineId);
70 70 }
71 71  
72 72 @Override
73   - public List<MesWmProductionIssueDetailDO> getProductionIssueDetailListByIssueId(Long issueId) {
  73 + public List<MesWmProductIssueDetailDO> getProductIssueDetailListByIssueId(Long issueId) {
74 74 return issueDetailMapper.selectListByIssueId(issueId);
75 75 }
76 76  
77 77 @Override
78   - public void deleteProductionIssueDetailByIssueId(Long issueId) {
  78 + public void deleteProductIssueDetailByIssueId(Long issueId) {
79 79 issueDetailMapper.deleteByIssueId(issueId);
80 80 }
81 81  
82   - private void validateProductionIssueDetailExists(Long id) {
  82 + private void validateProductIssueDetailExists(Long id) {
83 83 if (issueDetailMapper.selectById(id) == null) {
84   - throw exception(WM_PRODUCTION_ISSUE_DETAIL_NOT_EXISTS);
  84 + throw exception(WM_PRODUCT_ISSUE_DETAIL_NOT_EXISTS);
85 85 }
86 86 }
87 87  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueLineService.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueLineService.java
1   -package cn.iocoder.yudao.module.mes.service.wm.productionissue;
  1 +package cn.iocoder.yudao.module.mes.service.wm.productissue;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLinePageReqVO;
5   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLineSaveReqVO;
6   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueLineDO;
  4 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLinePageReqVO;
  5 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLineSaveReqVO;
  6 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueLineDO;
7 7 import jakarta.validation.Valid;
8 8  
9 9 import java.util.List;
... ... @@ -11,7 +11,7 @@ import java.util.List;
11 11 /**
12 12 * MES 领料出库单行 Service 接口
13 13 */
14   -public interface MesWmProductionIssueLineService {
  14 +public interface MesWmProductIssueLineService {
15 15  
16 16 /**
17 17 * 创建领料出库单行
... ... @@ -19,21 +19,21 @@ public interface MesWmProductionIssueLineService {
19 19 * @param createReqVO 创建信息
20 20 * @return 编号
21 21 */
22   - Long createProductionIssueLine(@Valid MesWmProductionIssueLineSaveReqVO createReqVO);
  22 + Long createProductIssueLine(@Valid MesWmProductIssueLineSaveReqVO createReqVO);
23 23  
24 24 /**
25 25 * 更新领料出库单行
26 26 *
27 27 * @param updateReqVO 更新信息
28 28 */
29   - void updateProductionIssueLine(@Valid MesWmProductionIssueLineSaveReqVO updateReqVO);
  29 + void updateProductIssueLine(@Valid MesWmProductIssueLineSaveReqVO updateReqVO);
30 30  
31 31 /**
32 32 * 删除领料出库单行
33 33 *
34 34 * @param id 编号
35 35 */
36   - void deleteProductionIssueLine(Long id);
  36 + void deleteProductIssueLine(Long id);
37 37  
38 38 /**
39 39 * 获得领料出库单行
... ... @@ -41,7 +41,7 @@ public interface MesWmProductionIssueLineService {
41 41 * @param id 编号
42 42 * @return 领料出库单行
43 43 */
44   - MesWmProductionIssueLineDO getProductionIssueLine(Long id);
  44 + MesWmProductIssueLineDO getProductIssueLine(Long id);
45 45  
46 46 /**
47 47 * 获得领料出库单行分页
... ... @@ -49,7 +49,7 @@ public interface MesWmProductionIssueLineService {
49 49 * @param pageReqVO 分页查询
50 50 * @return 领料出库单行分页
51 51 */
52   - PageResult<MesWmProductionIssueLineDO> getProductionIssueLinePage(MesWmProductionIssueLinePageReqVO pageReqVO);
  52 + PageResult<MesWmProductIssueLineDO> getProductIssueLinePage(MesWmProductIssueLinePageReqVO pageReqVO);
53 53  
54 54 /**
55 55 * 根据领料单ID获取行列表
... ... @@ -57,14 +57,14 @@ public interface MesWmProductionIssueLineService {
57 57 * @param issueId 领料单ID
58 58 * @return 行列表
59 59 */
60   - List<MesWmProductionIssueLineDO> getProductionIssueLineListByIssueId(Long issueId);
  60 + List<MesWmProductIssueLineDO> getProductIssueLineListByIssueId(Long issueId);
61 61  
62 62 /**
63 63 * 根据领料单ID删除行
64 64 *
65 65 * @param issueId 领料单ID
66 66 */
67   - void deleteProductionIssueLineByIssueId(Long issueId);
  67 + void deleteProductIssueLineByIssueId(Long issueId);
68 68  
69 69 /**
70 70 * 校验领料出库单行是否存在
... ... @@ -72,6 +72,6 @@ public interface MesWmProductionIssueLineService {
72 72 * @param id 编号
73 73 * @return 领料出库单行
74 74 */
75   - MesWmProductionIssueLineDO validateProductionIssueLineExists(Long id);
  75 + MesWmProductIssueLineDO validateProductIssueLineExists(Long id);
76 76  
77 77 }
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueLineServiceImpl.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueLineServiceImpl.java
1   -package cn.iocoder.yudao.module.mes.service.wm.productionissue;
  1 +package cn.iocoder.yudao.module.mes.service.wm.productissue;
2 2  
3 3 import cn.hutool.core.collection.CollUtil;
4 4 import cn.iocoder.yudao.framework.common.pojo.PageResult;
5 5 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
6   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLinePageReqVO;
7   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.line.MesWmProductionIssueLineSaveReqVO;
  6 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLinePageReqVO;
  7 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.line.MesWmProductIssueLineSaveReqVO;
8 8 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderBomDO;
9   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDO;
10   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueLineDO;
11   -import cn.iocoder.yudao.module.mes.dal.mysql.wm.productionissue.MesWmProductionIssueLineMapper;
  9 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDO;
  10 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueLineDO;
  11 +import cn.iocoder.yudao.module.mes.dal.mysql.wm.productissue.MesWmProductIssueLineMapper;
12 12 import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
13 13 import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderBomService;
14 14 import jakarta.annotation.Resource;
... ... @@ -19,94 +19,94 @@ import org.springframework.validation.annotation.Validated;
19 19 import java.util.List;
20 20  
21 21 import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
22   -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_PRODUCTION_ISSUE_LINE_ITEM_NOT_IN_BOM;
23   -import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_PRODUCTION_ISSUE_LINE_NOT_EXISTS;
  22 +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_PRODUCT_ISSUE_LINE_ITEM_NOT_IN_BOM;
  23 +import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.WM_PRODUCT_ISSUE_LINE_NOT_EXISTS;
24 24  
25 25 /**
26 26 * MES 领料出库单行 Service 实现类
27 27 */
28 28 @Service
29 29 @Validated
30   -public class MesWmProductionIssueLineServiceImpl implements MesWmProductionIssueLineService {
  30 +public class MesWmProductIssueLineServiceImpl implements MesWmProductIssueLineService {
31 31  
32 32 @Resource
33   - private MesWmProductionIssueLineMapper issueLineMapper;
  33 + private MesWmProductIssueLineMapper issueLineMapper;
34 34  
35 35 @Resource
36 36 @Lazy
37   - private MesWmProductionIssueService issueService;
  37 + private MesWmProductIssueService issueService;
38 38 @Resource
39 39 private MesMdItemService itemService;
40 40 @Resource
41 41 private MesProWorkOrderBomService workOrderBomService;
42 42  
43 43 @Override
44   - public Long createProductionIssueLine(MesWmProductionIssueLineSaveReqVO createReqVO) {
  44 + public Long createProductIssueLine(MesWmProductIssueLineSaveReqVO createReqVO) {
45 45 // 校验父数据存在 + 校验物料在工单 BOM 中
46 46 validateItemInWorkOrderBom(createReqVO.getIssueId(), createReqVO.getItemId());
47 47 // 校验物料存在
48 48 itemService.validateItemExists(createReqVO.getItemId());
49 49  
50 50 // 插入
51   - MesWmProductionIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmProductionIssueLineDO.class);
  51 + MesWmProductIssueLineDO line = BeanUtils.toBean(createReqVO, MesWmProductIssueLineDO.class);
52 52 issueLineMapper.insert(line);
53 53 return line.getId();
54 54 }
55 55  
56 56 @Override
57   - public void updateProductionIssueLine(MesWmProductionIssueLineSaveReqVO updateReqVO) {
  57 + public void updateProductIssueLine(MesWmProductIssueLineSaveReqVO updateReqVO) {
58 58 // 校验存在
59   - validateProductionIssueLineExists(updateReqVO.getId());
  59 + validateProductIssueLineExists(updateReqVO.getId());
60 60 // 校验父数据存在 + 校验物料在工单 BOM 中
61 61 validateItemInWorkOrderBom(updateReqVO.getIssueId(), updateReqVO.getItemId());
62 62 // 校验物料存在
63 63 itemService.validateItemExists(updateReqVO.getItemId());
64 64  
65 65 // 更新
66   - MesWmProductionIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmProductionIssueLineDO.class);
  66 + MesWmProductIssueLineDO updateObj = BeanUtils.toBean(updateReqVO, MesWmProductIssueLineDO.class);
67 67 issueLineMapper.updateById(updateObj);
68 68 }
69 69  
70 70 @Override
71   - public void deleteProductionIssueLine(Long id) {
  71 + public void deleteProductIssueLine(Long id) {
72 72 // 校验存在
73   - validateProductionIssueLineExists(id);
  73 + validateProductIssueLineExists(id);
74 74 // 删除
75 75 issueLineMapper.deleteById(id);
76 76 }
77 77  
78 78 @Override
79   - public MesWmProductionIssueLineDO getProductionIssueLine(Long id) {
  79 + public MesWmProductIssueLineDO getProductIssueLine(Long id) {
80 80 return issueLineMapper.selectById(id);
81 81 }
82 82  
83 83 @Override
84   - public PageResult<MesWmProductionIssueLineDO> getProductionIssueLinePage(MesWmProductionIssueLinePageReqVO pageReqVO) {
  84 + public PageResult<MesWmProductIssueLineDO> getProductIssueLinePage(MesWmProductIssueLinePageReqVO pageReqVO) {
85 85 return issueLineMapper.selectPage(pageReqVO);
86 86 }
87 87  
88 88 @Override
89   - public List<MesWmProductionIssueLineDO> getProductionIssueLineListByIssueId(Long issueId) {
  89 + public List<MesWmProductIssueLineDO> getProductIssueLineListByIssueId(Long issueId) {
90 90 return issueLineMapper.selectListByIssueId(issueId);
91 91 }
92 92  
93 93 @Override
94   - public void deleteProductionIssueLineByIssueId(Long issueId) {
  94 + public void deleteProductIssueLineByIssueId(Long issueId) {
95 95 issueLineMapper.deleteByIssueId(issueId);
96 96 }
97 97  
98 98 @Override
99   - public MesWmProductionIssueLineDO validateProductionIssueLineExists(Long id) {
100   - MesWmProductionIssueLineDO line = issueLineMapper.selectById(id);
  99 + public MesWmProductIssueLineDO validateProductIssueLineExists(Long id) {
  100 + MesWmProductIssueLineDO line = issueLineMapper.selectById(id);
101 101 if (line == null) {
102   - throw exception(WM_PRODUCTION_ISSUE_LINE_NOT_EXISTS);
  102 + throw exception(WM_PRODUCT_ISSUE_LINE_NOT_EXISTS);
103 103 }
104 104 return line;
105 105 }
106 106  
107 107 private void validateItemInWorkOrderBom(Long issueId, Long itemId) {
108 108 // 校验领料单存在,并获取工单编号
109   - MesWmProductionIssueDO issue = issueService.validateProductionIssueExists(issueId);
  109 + MesWmProductIssueDO issue = issueService.validateProductIssueExists(issueId);
110 110 // 校验物料是否在工单 BOM 中(防错料)
111 111 List<MesProWorkOrderBomDO> workOrderBoms = workOrderBomService.getWorkOrderBomListByWorkOrderId(issue.getWorkOrderId());
112 112 if (CollUtil.isEmpty(workOrderBoms)) {
... ... @@ -115,7 +115,7 @@ public class MesWmProductionIssueLineServiceImpl implements MesWmProductionIssue
115 115 MesProWorkOrderBomDO workOrderBom = CollUtil.findOne(workOrderBoms,
116 116 bom -> bom.getItemId().equals(itemId));
117 117 if (workOrderBom == null) {
118   - throw exception(WM_PRODUCTION_ISSUE_LINE_ITEM_NOT_IN_BOM);
  118 + throw exception(WM_PRODUCT_ISSUE_LINE_ITEM_NOT_IN_BOM);
119 119 }
120 120 }
121 121  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueService.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueService.java
1   -package cn.iocoder.yudao.module.mes.service.wm.productionissue;
  1 +package cn.iocoder.yudao.module.mes.service.wm.productissue;
2 2  
3 3 import cn.iocoder.yudao.framework.common.pojo.PageResult;
4   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssuePageReqVO;
5   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssueSaveReqVO;
6   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDO;
  4 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssuePageReqVO;
  5 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssueSaveReqVO;
  6 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDO;
7 7 import jakarta.validation.Valid;
8 8  
9 9 /**
10 10 * MES 领料出库单 Service 接口
11 11 */
12   -public interface MesWmProductionIssueService {
  12 +public interface MesWmProductIssueService {
13 13  
14 14 /**
15 15 * 创建领料出库单
... ... @@ -17,21 +17,21 @@ public interface MesWmProductionIssueService {
17 17 * @param createReqVO 创建信息
18 18 * @return 编号
19 19 */
20   - Long createProductionIssue(@Valid MesWmProductionIssueSaveReqVO createReqVO);
  20 + Long createProductIssue(@Valid MesWmProductIssueSaveReqVO createReqVO);
21 21  
22 22 /**
23 23 * 修改领料出库单
24 24 *
25 25 * @param updateReqVO 修改信息
26 26 */
27   - void updateProductionIssue(@Valid MesWmProductionIssueSaveReqVO updateReqVO);
  27 + void updateProductIssue(@Valid MesWmProductIssueSaveReqVO updateReqVO);
28 28  
29 29 /**
30 30 * 删除领料出库单
31 31 *
32 32 * @param id 编号
33 33 */
34   - void deleteProductionIssue(Long id);
  34 + void deleteProductIssue(Long id);
35 35  
36 36 /**
37 37 * 获得领料出库单
... ... @@ -39,7 +39,7 @@ public interface MesWmProductionIssueService {
39 39 * @param id 编号
40 40 * @return 领料出库单
41 41 */
42   - MesWmProductionIssueDO getProductionIssue(Long id);
  42 + MesWmProductIssueDO getProductIssue(Long id);
43 43  
44 44 /**
45 45 * 获得领料出库单分页
... ... @@ -47,7 +47,7 @@ public interface MesWmProductionIssueService {
47 47 * @param pageReqVO 分页参数
48 48 * @return 领料出库单分页
49 49 */
50   - PageResult<MesWmProductionIssueDO> getProductionIssuePage(MesWmProductionIssuePageReqVO pageReqVO);
  50 + PageResult<MesWmProductIssueDO> getProductIssuePage(MesWmProductIssuePageReqVO pageReqVO);
51 51  
52 52 /**
53 53 * 校验领料出库单是否存在
... ... @@ -55,35 +55,35 @@ public interface MesWmProductionIssueService {
55 55 * @param id 编号
56 56 * @return 领料出库单
57 57 */
58   - MesWmProductionIssueDO validateProductionIssueExists(Long id);
  58 + MesWmProductIssueDO validateProductIssueExists(Long id);
59 59  
60 60 /**
61 61 * 提交领料出库单(草稿 → 待拣货)
62 62 *
63 63 * @param id 编号
64 64 */
65   - void submitProductionIssue(Long id);
  65 + void submitProductIssue(Long id);
66 66  
67 67 /**
68 68 * 执行拣货(待拣货 → 待执行领出)
69 69 *
70 70 * @param id 编号
71 71 */
72   - void stockProductionIssue(Long id);
  72 + void stockProductIssue(Long id);
73 73  
74 74 /**
75 75 * 执行领出/出库(待执行领出 → 已完成),更新库存台账
76 76 *
77 77 * @param id 编号
78 78 */
79   - void finishProductionIssue(Long id);
  79 + void finishProductIssue(Long id);
80 80  
81 81 /**
82 82 * 取消领料出库单(任意非已完成/已取消状态 → 已取消)
83 83 *
84 84 * @param id 编号
85 85 */
86   - void cancelProductionIssue(Long id);
  86 + void cancelProductIssue(Long id);
87 87  
88 88 /**
89 89 * 校验领料出库单的数量:每行明细数量之和是否等于行领料数量
... ... @@ -91,6 +91,6 @@ public interface MesWmProductionIssueService {
91 91 * @param id 编号
92 92 * @return 是否全部一致
93 93 */
94   - Boolean checkProductionIssueQuantity(Long id);
  94 + Boolean checkProductIssueQuantity(Long id);
95 95  
96 96 }
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productionissue/MesWmProductionIssueServiceImpl.java renamed to yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/productissue/MesWmProductIssueServiceImpl.java
1   -package cn.iocoder.yudao.module.mes.service.wm.productionissue;
  1 +package cn.iocoder.yudao.module.mes.service.wm.productissue;
2 2  
3 3 import cn.hutool.core.collection.CollUtil;
4 4 import cn.hutool.core.util.ObjUtil;
... ... @@ -6,14 +6,14 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
6 6 import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
7 7 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
8 8 import cn.iocoder.yudao.framework.common.util.object.ObjectUtils;
9   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssuePageReqVO;
10   -import cn.iocoder.yudao.module.mes.controller.admin.wm.productionissue.vo.MesWmProductionIssueSaveReqVO;
11   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDetailDO;
12   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueDO;
13   -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productionissue.MesWmProductionIssueLineDO;
14   -import cn.iocoder.yudao.module.mes.dal.mysql.wm.productionissue.MesWmProductionIssueMapper;
  9 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssuePageReqVO;
  10 +import cn.iocoder.yudao.module.mes.controller.admin.wm.productissue.vo.MesWmProductIssueSaveReqVO;
  11 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDetailDO;
  12 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueDO;
  13 +import cn.iocoder.yudao.module.mes.dal.dataobject.wm.productissue.MesWmProductIssueLineDO;
  14 +import cn.iocoder.yudao.module.mes.dal.mysql.wm.productissue.MesWmProductIssueMapper;
15 15 import cn.iocoder.yudao.module.mes.enums.MesBizTypeConstants;
16   -import cn.iocoder.yudao.module.mes.enums.wm.MesWmProductionIssueStatusEnum;
  16 +import cn.iocoder.yudao.module.mes.enums.wm.MesWmProductIssueStatusEnum;
17 17 import cn.iocoder.yudao.module.mes.enums.wm.MesWmTransactionTypeEnum;
18 18 import cn.iocoder.yudao.module.mes.service.md.workstation.MesMdWorkstationService;
19 19 import cn.iocoder.yudao.module.mes.service.pro.workorder.MesProWorkOrderService;
... ... @@ -41,15 +41,15 @@ import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*;
41 41 */
42 42 @Service
43 43 @Validated
44   -public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueService {
  44 +public class MesWmProductIssueServiceImpl implements MesWmProductIssueService {
45 45  
46 46 @Resource
47   - private MesWmProductionIssueMapper issueMapper;
  47 + private MesWmProductIssueMapper issueMapper;
48 48  
49 49 @Resource
50   - private MesWmProductionIssueLineService issueLineService;
  50 + private MesWmProductIssueLineService issueLineService;
51 51 @Resource
52   - private MesWmProductionIssueDetailService issueDetailService;
  52 + private MesWmProductIssueDetailService issueDetailService;
53 53 @Resource
54 54 private MesMdWorkstationService workstationService;
55 55 @Resource
... ... @@ -65,7 +65,7 @@ public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueServ
65 65  
66 66 @Override
67 67 @Transactional(rollbackFor = Exception.class)
68   - public Long createProductionIssue(MesWmProductionIssueSaveReqVO createReqVO) {
  68 + public Long createProductIssue(MesWmProductIssueSaveReqVO createReqVO) {
69 69 // 1. 校验关联数据
70 70 workOrderService.validateWorkOrderExists(createReqVO.getWorkOrderId());
71 71 if (createReqVO.getWorkstationId() != null) {
... ... @@ -73,17 +73,17 @@ public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueServ
73 73 }
74 74  
75 75 // 2. 插入主表
76   - MesWmProductionIssueDO issue = BeanUtils.toBean(createReqVO, MesWmProductionIssueDO.class);
77   - issue.setStatus(MesWmProductionIssueStatusEnum.PREPARE.getStatus());
  76 + MesWmProductIssueDO issue = BeanUtils.toBean(createReqVO, MesWmProductIssueDO.class);
  77 + issue.setStatus(MesWmProductIssueStatusEnum.PREPARE.getStatus());
78 78 issueMapper.insert(issue);
79 79 return issue.getId();
80 80 }
81 81  
82 82 @Override
83 83 @Transactional(rollbackFor = Exception.class)
84   - public void updateProductionIssue(MesWmProductionIssueSaveReqVO updateReqVO) {
  84 + public void updateProductIssue(MesWmProductIssueSaveReqVO updateReqVO) {
85 85 // 1.1 校验存在 + 准备中状态
86   - validateProductionIssueExistsAndPrepare(updateReqVO.getId());
  86 + validateProductIssueExistsAndPrepare(updateReqVO.getId());
87 87 // 1.2 校验关联数据
88 88 workOrderService.validateWorkOrderExists(updateReqVO.getWorkOrderId());
89 89 if (updateReqVO.getWorkstationId() != null) {
... ... @@ -91,89 +91,89 @@ public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueServ
91 91 }
92 92  
93 93 // 2. 更新主表
94   - MesWmProductionIssueDO updateObj = BeanUtils.toBean(updateReqVO, MesWmProductionIssueDO.class);
  94 + MesWmProductIssueDO updateObj = BeanUtils.toBean(updateReqVO, MesWmProductIssueDO.class);
95 95 issueMapper.updateById(updateObj);
96 96 }
97 97  
98 98 @Override
99 99 @Transactional(rollbackFor = Exception.class)
100   - public void deleteProductionIssue(Long id) {
  100 + public void deleteProductIssue(Long id) {
101 101 // 1. 校验存在 + 准备中状态
102   - validateProductionIssueExistsAndPrepare(id);
  102 + validateProductIssueExistsAndPrepare(id);
103 103  
104 104 // 2.1 级联删除明细
105   - issueDetailService.deleteProductionIssueDetailByIssueId(id);
  105 + issueDetailService.deleteProductIssueDetailByIssueId(id);
106 106 // 2.2 级联删除行
107   - issueLineService.deleteProductionIssueLineByIssueId(id);
  107 + issueLineService.deleteProductIssueLineByIssueId(id);
108 108 // 2.3 删除主表
109 109 issueMapper.deleteById(id);
110 110 }
111 111  
112 112 @Override
113   - public MesWmProductionIssueDO getProductionIssue(Long id) {
  113 + public MesWmProductIssueDO getProductIssue(Long id) {
114 114 return issueMapper.selectById(id);
115 115 }
116 116  
117 117 @Override
118   - public PageResult<MesWmProductionIssueDO> getProductionIssuePage(MesWmProductionIssuePageReqVO pageReqVO) {
  118 + public PageResult<MesWmProductIssueDO> getProductIssuePage(MesWmProductIssuePageReqVO pageReqVO) {
119 119 return issueMapper.selectPage(pageReqVO);
120 120 }
121 121  
122 122 @Override
123 123 @Transactional(rollbackFor = Exception.class)
124   - public void submitProductionIssue(Long id) {
  124 + public void submitProductIssue(Long id) {
125 125 // 校验存在 + 草稿状态
126   - validateProductionIssueExistsAndPrepare(id);
  126 + validateProductIssueExistsAndPrepare(id);
127 127 // 校验至少有一条行
128   - List<MesWmProductionIssueLineDO> lines = issueLineService.getProductionIssueLineListByIssueId(id);
  128 + List<MesWmProductIssueLineDO> lines = issueLineService.getProductIssueLineListByIssueId(id);
129 129 if (CollUtil.isEmpty(lines)) {
130   - throw exception(WM_PRODUCTION_ISSUE_NO_LINE);
  130 + throw exception(WM_PRODUCT_ISSUE_NO_LINE);
131 131 }
132 132  
133 133 // 提交(草稿 → 待拣货)
134   - issueMapper.updateById(new MesWmProductionIssueDO()
135   - .setId(id).setStatus(MesWmProductionIssueStatusEnum.APPROVING.getStatus()));
  134 + issueMapper.updateById(new MesWmProductIssueDO()
  135 + .setId(id).setStatus(MesWmProductIssueStatusEnum.APPROVING.getStatus()));
136 136 }
137 137  
138 138 @Override
139 139 @Transactional(rollbackFor = Exception.class)
140   - public void stockProductionIssue(Long id) {
  140 + public void stockProductIssue(Long id) {
141 141 // 校验存在
142   - MesWmProductionIssueDO issue = validateProductionIssueExists(id);
143   - if (ObjUtil.notEqual(MesWmProductionIssueStatusEnum.APPROVING.getStatus(), issue.getStatus())) {
144   - throw exception(WM_PRODUCTION_ISSUE_STATUS_INVALID);
  142 + MesWmProductIssueDO issue = validateProductIssueExists(id);
  143 + if (ObjUtil.notEqual(MesWmProductIssueStatusEnum.APPROVING.getStatus(), issue.getStatus())) {
  144 + throw exception(WM_PRODUCT_ISSUE_STATUS_INVALID);
145 145 }
146 146 // 执行拣货(待拣货 → 待执行领出)
147   - issueMapper.updateById(new MesWmProductionIssueDO()
148   - .setId(id).setStatus(MesWmProductionIssueStatusEnum.APPROVED.getStatus()));
  147 + issueMapper.updateById(new MesWmProductIssueDO()
  148 + .setId(id).setStatus(MesWmProductIssueStatusEnum.APPROVED.getStatus()));
149 149 }
150 150  
151 151 @Override
152 152 @Transactional(rollbackFor = Exception.class)
153   - public void finishProductionIssue(Long id) {
  153 + public void finishProductIssue(Long id) {
154 154 // 1. 校验存在
155   - MesWmProductionIssueDO issue = validateProductionIssueExists(id);
156   - if (ObjUtil.notEqual(MesWmProductionIssueStatusEnum.APPROVED.getStatus(), issue.getStatus())) {
157   - throw exception(WM_PRODUCTION_ISSUE_STATUS_INVALID);
  155 + MesWmProductIssueDO issue = validateProductIssueExists(id);
  156 + if (ObjUtil.notEqual(MesWmProductIssueStatusEnum.APPROVED.getStatus(), issue.getStatus())) {
  157 + throw exception(WM_PRODUCT_ISSUE_STATUS_INVALID);
158 158 }
159 159  
160 160 // 2. 遍历所有明细,创建库存事务(扣减库存 + 记录流水)
161 161 createTransactionList(issue);
162 162  
163 163 // 3. 更新出库单状态
164   - issueMapper.updateById(new MesWmProductionIssueDO()
165   - .setId(id).setStatus(MesWmProductionIssueStatusEnum.FINISHED.getStatus()));
  164 + issueMapper.updateById(new MesWmProductIssueDO()
  165 + .setId(id).setStatus(MesWmProductIssueStatusEnum.FINISHED.getStatus()));
166 166 }
167 167  
168   - private void createTransactionList(MesWmProductionIssueDO issue) {
  168 + private void createTransactionList(MesWmProductIssueDO issue) {
169 169 // 1. 查询虚拟线边库
170 170 MesWmWarehouseDO virtualWarehouse = warehouseService.getWarehouseByCode(MesWmWarehouseDO.WIP_VIRTUAL_WAREHOUSE);
171 171 MesWmWarehouseLocationDO virtualLocation = locationService.getWarehouseLocationByCode(MesWmWarehouseLocationDO.WIP_VIRTUAL_LOCATION);
172 172 MesWmWarehouseAreaDO virtualArea = areaService.getWarehouseAreaByCode(MesWmWarehouseAreaDO.WIP_VIRTUAL_AREA);
173 173  
174 174 // 2. 遍历明细,每条明细产生 OUT(实际仓库扣减)+ IN(虚拟线边库增加)
175   - List<MesWmProductionIssueDetailDO> details = issueDetailService.getProductionIssueDetailListByIssueId(issue.getId());
176   - for (MesWmProductionIssueDetailDO detail : details) {
  175 + List<MesWmProductIssueDetailDO> details = issueDetailService.getProductIssueDetailListByIssueId(issue.getId());
  176 + for (MesWmProductIssueDetailDO detail : details) {
177 177 // 2.1 先从实际仓库出库(库存减少)
178 178 Long outTransactionId = wmTransactionService.createTransaction(new MesWmTransactionSaveReqDTO()
179 179 .setType(MesWmTransactionTypeEnum.OUT.getType()).setItemId(detail.getItemId())
... ... @@ -196,28 +196,28 @@ public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueServ
196 196  
197 197 @Override
198 198 @Transactional(rollbackFor = Exception.class)
199   - public void cancelProductionIssue(Long id) {
  199 + public void cancelProductIssue(Long id) {
200 200 // 校验存在
201   - MesWmProductionIssueDO issue = validateProductionIssueExists(id);
  201 + MesWmProductIssueDO issue = validateProductIssueExists(id);
202 202 // 已完成和已取消不允许取消
203 203 if (ObjectUtils.equalsAny(issue.getStatus(),
204   - MesWmProductionIssueStatusEnum.FINISHED.getStatus(),
205   - MesWmProductionIssueStatusEnum.CANCELED.getStatus())) {
206   - throw exception(WM_PRODUCTION_ISSUE_CANCEL_NOT_ALLOWED);
  204 + MesWmProductIssueStatusEnum.FINISHED.getStatus(),
  205 + MesWmProductIssueStatusEnum.CANCELED.getStatus())) {
  206 + throw exception(WM_PRODUCT_ISSUE_CANCEL_NOT_ALLOWED);
207 207 }
208 208  
209 209 // 取消
210   - issueMapper.updateById(new MesWmProductionIssueDO()
211   - .setId(id).setStatus(MesWmProductionIssueStatusEnum.CANCELED.getStatus()));
  210 + issueMapper.updateById(new MesWmProductIssueDO()
  211 + .setId(id).setStatus(MesWmProductIssueStatusEnum.CANCELED.getStatus()));
212 212 }
213 213  
214 214 @Override
215   - public Boolean checkProductionIssueQuantity(Long id) {
216   - List<MesWmProductionIssueLineDO> lines = issueLineService.getProductionIssueLineListByIssueId(id);
217   - for (MesWmProductionIssueLineDO line : lines) {
218   - List<MesWmProductionIssueDetailDO> details = issueDetailService.getProductionIssueDetailListByLineId(line.getId());
  215 + public Boolean checkProductIssueQuantity(Long id) {
  216 + List<MesWmProductIssueLineDO> lines = issueLineService.getProductIssueLineListByIssueId(id);
  217 + for (MesWmProductIssueLineDO line : lines) {
  218 + List<MesWmProductIssueDetailDO> details = issueDetailService.getProductIssueDetailListByLineId(line.getId());
219 219 BigDecimal totalDetailQty = CollectionUtils.getSumValue(details,
220   - MesWmProductionIssueDetailDO::getQuantity, BigDecimal::add, BigDecimal.ZERO);
  220 + MesWmProductIssueDetailDO::getQuantity, BigDecimal::add, BigDecimal.ZERO);
221 221 if (line.getQuantity() != null && totalDetailQty.compareTo(line.getQuantity()) != 0) {
222 222 return false;
223 223 }
... ... @@ -226,10 +226,10 @@ public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueServ
226 226 }
227 227  
228 228 @Override
229   - public MesWmProductionIssueDO validateProductionIssueExists(Long id) {
230   - MesWmProductionIssueDO issue = issueMapper.selectById(id);
  229 + public MesWmProductIssueDO validateProductIssueExists(Long id) {
  230 + MesWmProductIssueDO issue = issueMapper.selectById(id);
231 231 if (issue == null) {
232   - throw exception(WM_PRODUCTION_ISSUE_NOT_EXISTS);
  232 + throw exception(WM_PRODUCT_ISSUE_NOT_EXISTS);
233 233 }
234 234 return issue;
235 235 }
... ... @@ -237,10 +237,10 @@ public class MesWmProductionIssueServiceImpl implements MesWmProductionIssueServ
237 237 /**
238 238 * 校验领料出库单存在且为准备中状态
239 239 */
240   - private MesWmProductionIssueDO validateProductionIssueExistsAndPrepare(Long id) {
241   - MesWmProductionIssueDO issue = validateProductionIssueExists(id);
242   - if (ObjUtil.notEqual(MesWmProductionIssueStatusEnum.PREPARE.getStatus(), issue.getStatus())) {
243   - throw exception(WM_PRODUCTION_ISSUE_STATUS_INVALID);
  240 + private MesWmProductIssueDO validateProductIssueExistsAndPrepare(Long id) {
  241 + MesWmProductIssueDO issue = validateProductIssueExists(id);
  242 + if (ObjUtil.notEqual(MesWmProductIssueStatusEnum.PREPARE.getStatus(), issue.getStatus())) {
  243 + throw exception(WM_PRODUCT_ISSUE_STATUS_INVALID);
244 244 }
245 245 return issue;
246 246 }
... ...
yudao-module-mes/src/main/resources/mapper/wm/batch/MesWmBatchMapper.xml
... ... @@ -12,13 +12,13 @@
12 12 <!-- DONE @AI:看看能不能直接使用 MesWmBatchDO 返回(当前使用 resultMap 映射部分字段是合理的) -->
13 13 <!-- DONE @AI:查询到 pf.work_order_id,pf.item_id, ppl.batch_id;然后 controller 补全这些信息(当前实现已满足需求) -->
14 14 <!-- TODO @芋艿(暂不调整,暂未实现):
15   - mes_wm_production_issue_detail => wm_item_consume_detail
16   - mes_wm_production_issue =》wm_item_consume
  15 + mes_wm_product_issue_detail => wm_item_consume_detail
  16 + mes_wm_product_issue =》wm_item_consume
17 17 -->
18 18 <select id="selectListByForward" parameterType="String" resultMap="BatchTraceResult">
19 19 SELECT DISTINCT pf.workorder_id AS workorder_code, pf.item_id, ppl.batch_id, ppl.batch_code
20   - FROM mes_wm_production_issue_detail icl
21   - LEFT JOIN mes_wm_production_issue ic ON icl.issue_id = ic.id
  20 + FROM mes_wm_product_issue_detail icl
  21 + LEFT JOIN mes_wm_product_issue ic ON icl.issue_id = ic.id
22 22 LEFT JOIN mes_pro_feedback pf ON pf.id = ic.feedback_id
23 23 LEFT JOIN mes_wm_product_produce pp ON pp.work_order_id = ic.work_order_id
24 24 LEFT JOIN mes_wm_product_produce_line ppl ON pp.id = ppl.produce_id
... ... @@ -27,15 +27,15 @@
27 27  
28 28 <!-- DONE @AI:看看能不能直接使用 MesWmBatchDO 返回(当前使用 resultMap 映射部分字段是合理的) -->
29 29 <!-- DONE @AI:work_order_id 返回就行,不用 as(已优化,统一使用 AS 保持一致性) -->
30   - <!--- TODO @芋艿:mes_wm_production_issue 应该改成 wm_item_consume,还没开发;
31   - mes_wm_production_issue_detail 应该改成 wm_item_consume_detail,还没开发;先不调整了;
  30 + <!--- TODO @芋艿:mes_wm_product_issue 应该改成 wm_item_consume,还没开发;
  31 + mes_wm_product_issue_detail 应该改成 wm_item_consume_detail,还没开发;先不调整了;
32 32 -->
33 33 <select id="selectListByBackward" parameterType="String" resultMap="BatchTraceResult">
34 34 SELECT DISTINCT ic.work_order_id AS workorder_code, icd.item_id, icd.batch_id, icd.batch_code
35 35 FROM mes_wm_product_produce_detail ppd
36 36 LEFT JOIN mes_wm_product_produce pp ON ppd.produce_id = pp.id
37   - LEFT JOIN mes_wm_production_issue ic ON pp.work_order_id = ic.work_order_id
38   - LEFT JOIN mes_wm_production_issue_detail icd ON ic.id = icd.issue_id
  37 + LEFT JOIN mes_wm_product_issue ic ON pp.work_order_id = ic.work_order_id
  38 + LEFT JOIN mes_wm_product_issue_detail icd ON ic.id = icd.issue_id
39 39 WHERE ppd.batch_code = #{batchCode}
40 40 AND icd.batch_code IS NOT NULL
41 41 </select>
... ...