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,4 +33,7 @@ public class MesWmOutsourceReceiptPageReqVO extends PageParam {
33 @Schema(description = "状态", example = "0") 33 @Schema(description = "状态", example = "0")
34 private Integer status; 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,12 +13,13 @@ import org.apache.ibatis.annotations.Mapper;
13 @Mapper 13 @Mapper
14 public interface MesWmOutsourceReceiptMapper extends BaseMapperX<MesWmOutsourceReceiptDO> { 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 return selectPage(reqVO, new LambdaQueryWrapperX<MesWmOutsourceReceiptDO>() 17 return selectPage(reqVO, new LambdaQueryWrapperX<MesWmOutsourceReceiptDO>()
18 .likeIfPresent(MesWmOutsourceReceiptDO::getCode, reqVO.getCode()) 18 .likeIfPresent(MesWmOutsourceReceiptDO::getCode, reqVO.getCode())
19 .likeIfPresent(MesWmOutsourceReceiptDO::getName, reqVO.getName()) 19 .likeIfPresent(MesWmOutsourceReceiptDO::getName, reqVO.getName())
20 .eqIfPresent(MesWmOutsourceReceiptDO::getVendorId, reqVO.getVendorId()) 20 .eqIfPresent(MesWmOutsourceReceiptDO::getVendorId, reqVO.getVendorId())
21 .eqIfPresent(MesWmOutsourceReceiptDO::getStatus, reqVO.getStatus()) 21 .eqIfPresent(MesWmOutsourceReceiptDO::getStatus, reqVO.getStatus())
  22 + .inIfPresent(MesWmOutsourceReceiptDO::getWorkOrderId, workOrderIds)
22 .betweenIfPresent(MesWmOutsourceReceiptDO::getReceiptDate, reqVO.getReceiptDate()) 23 .betweenIfPresent(MesWmOutsourceReceiptDO::getReceiptDate, reqVO.getReceiptDate())
23 .orderByDesc(MesWmOutsourceReceiptDO::getId)); 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,6 +414,7 @@ public interface ErrorCodeConstants {
414 ErrorCode WM_OUTSOURCE_ISSUE_STATUS_NOT_APPROVED = new ErrorCode(1_040_707_006, "只有待执行出库状态才允许此操作"); 414 ErrorCode WM_OUTSOURCE_ISSUE_STATUS_NOT_APPROVED = new ErrorCode(1_040_707_006, "只有待执行出库状态才允许此操作");
415 ErrorCode WM_OUTSOURCE_ISSUE_CANCEL_NOT_ALLOWED = new ErrorCode(1_040_707_007, "已完成或已取消的发料单不允许取消"); 415 ErrorCode WM_OUTSOURCE_ISSUE_CANCEL_NOT_ALLOWED = new ErrorCode(1_040_707_007, "已完成或已取消的发料单不允许取消");
416 ErrorCode WM_OUTSOURCE_ISSUE_LINE_NOT_EXISTS = new ErrorCode(1_040_707_100, "外协发料单行不存在"); 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 ErrorCode WM_OUTSOURCE_ISSUE_DETAIL_NOT_EXISTS = new ErrorCode(1_040_707_200, "外协发料单明细不存在"); 418 ErrorCode WM_OUTSOURCE_ISSUE_DETAIL_NOT_EXISTS = new ErrorCode(1_040_707_200, "外协发料单明细不存在");
418 ErrorCode WM_OUTSOURCE_ISSUE_WORK_ORDER_TYPE_INVALID = new ErrorCode(1_040_707_008, "工单类型不是外协(代工)类型"); 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,6 +59,14 @@ public interface MesProWorkOrderService {
59 MesProWorkOrderDO getWorkOrder(Long id); 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 * @param pageReqVO 分页查询 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,6 +135,11 @@ public class MesProWorkOrderServiceImpl implements MesProWorkOrderService {
135 } 135 }
136 136
137 @Override 137 @Override
  138 + public MesProWorkOrderDO getWorkOrder(String code) {
  139 + return workOrderMapper.selectByCode(code);
  140 + }
  141 +
  142 + @Override
138 public PageResult<MesProWorkOrderDO> getWorkOrderPage(MesProWorkOrderPageReqVO pageReqVO) { 143 public PageResult<MesProWorkOrderDO> getWorkOrderPage(MesProWorkOrderPageReqVO pageReqVO) {
139 return workOrderMapper.selectPage(pageReqVO); 144 return workOrderMapper.selectPage(pageReqVO);
140 } 145 }