Commit fce023ad40609d5e607f5aba75dc0d2fe8581691

Authored by YunaiV
1 parent fc72fbfc

✨ feat(mes): 新增外协工单编码字段及相关查询逻辑

yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/outsourcereceipt/vo/MesWmOutsourceReceiptPageReqVO.java
... ... @@ -33,4 +33,7 @@ public class MesWmOutsourceReceiptPageReqVO extends PageParam {
33 33 @Schema(description = "状态", example = "0")
34 34 private Integer status;
35 35  
  36 + @Schema(description = "外协工单编码", example = "WO2026030001")
  37 + private String workOrderCode;
  38 +
36 39 }
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/outsourcereceipt/MesWmOutsourceReceiptMapper.java
... ... @@ -13,12 +13,13 @@ import org.apache.ibatis.annotations.Mapper;
13 13 @Mapper
14 14 public interface MesWmOutsourceReceiptMapper extends BaseMapperX<MesWmOutsourceReceiptDO> {
15 15  
16   - default PageResult<MesWmOutsourceReceiptDO> selectPage(MesWmOutsourceReceiptPageReqVO reqVO) {
  16 + default PageResult<MesWmOutsourceReceiptDO> selectPage(MesWmOutsourceReceiptPageReqVO reqVO, java.util.Collection<Long> workOrderIds) {
17 17 return selectPage(reqVO, new LambdaQueryWrapperX<MesWmOutsourceReceiptDO>()
18 18 .likeIfPresent(MesWmOutsourceReceiptDO::getCode, reqVO.getCode())
19 19 .likeIfPresent(MesWmOutsourceReceiptDO::getName, reqVO.getName())
20 20 .eqIfPresent(MesWmOutsourceReceiptDO::getVendorId, reqVO.getVendorId())
21 21 .eqIfPresent(MesWmOutsourceReceiptDO::getStatus, reqVO.getStatus())
  22 + .inIfPresent(MesWmOutsourceReceiptDO::getWorkOrderId, workOrderIds)
22 23 .betweenIfPresent(MesWmOutsourceReceiptDO::getReceiptDate, reqVO.getReceiptDate())
23 24 .orderByDesc(MesWmOutsourceReceiptDO::getId));
24 25 }
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/enums/ErrorCodeConstants.java
... ... @@ -414,6 +414,7 @@ public interface ErrorCodeConstants {
414 414 ErrorCode WM_OUTSOURCE_ISSUE_STATUS_NOT_APPROVED = new ErrorCode(1_040_707_006, "只有待执行出库状态才允许此操作");
415 415 ErrorCode WM_OUTSOURCE_ISSUE_CANCEL_NOT_ALLOWED = new ErrorCode(1_040_707_007, "已完成或已取消的发料单不允许取消");
416 416 ErrorCode WM_OUTSOURCE_ISSUE_LINE_NOT_EXISTS = new ErrorCode(1_040_707_100, "外协发料单行不存在");
  417 + ErrorCode WM_OUTSOURCE_ISSUE_LINE_ITEM_NOT_IN_BOM = new ErrorCode(1_040_707_101, "发料单行对应的物料不在当前工单的 BOM 列表中");
417 418 ErrorCode WM_OUTSOURCE_ISSUE_DETAIL_NOT_EXISTS = new ErrorCode(1_040_707_200, "外协发料单明细不存在");
418 419 ErrorCode WM_OUTSOURCE_ISSUE_WORK_ORDER_TYPE_INVALID = new ErrorCode(1_040_707_008, "工单类型不是外协(代工)类型");
419 420  
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkorderService.java
... ... @@ -59,6 +59,14 @@ public interface MesProWorkOrderService {
59 59 MesProWorkOrderDO getWorkOrder(Long id);
60 60  
61 61 /**
  62 + * 根据编码获得生产工单
  63 + *
  64 + * @param code 编码
  65 + * @return 生产工单
  66 + */
  67 + MesProWorkOrderDO getWorkOrder(String code);
  68 +
  69 + /**
62 70 * 获得生产工单分页
63 71 *
64 72 * @param pageReqVO 分页查询
... ...
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkorderServiceImpl.java
... ... @@ -135,6 +135,11 @@ public class MesProWorkOrderServiceImpl implements MesProWorkOrderService {
135 135 }
136 136  
137 137 @Override
  138 + public MesProWorkOrderDO getWorkOrder(String code) {
  139 + return workOrderMapper.selectByCode(code);
  140 + }
  141 +
  142 + @Override
138 143 public PageResult<MesProWorkOrderDO> getWorkOrderPage(MesProWorkOrderPageReqVO pageReqVO) {
139 144 return workOrderMapper.selectPage(pageReqVO);
140 145 }
... ...