diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/MesWmItemReceiptController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/MesWmItemReceiptController.java index ac6ab6a..4f40ade 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/MesWmItemReceiptController.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/MesWmItemReceiptController.java @@ -15,16 +15,10 @@ import cn.iocoder.yudao.module.mes.dal.dataobject.md.vendor.MesMdVendorDO; import cn.iocoder.yudao.module.mes.dal.dataobject.qc.iqc.MesQcIqcDO; import cn.iocoder.yudao.module.mes.dal.dataobject.wm.arrivalnotice.MesWmArrivalNoticeDO; import cn.iocoder.yudao.module.mes.dal.dataobject.wm.itemreceipt.MesWmItemReceiptDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseAreaDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseDO; -import cn.iocoder.yudao.module.mes.dal.dataobject.wm.warehouse.MesWmWarehouseLocationDO; import cn.iocoder.yudao.module.mes.service.md.vendor.MesMdVendorService; import cn.iocoder.yudao.module.mes.service.qc.iqc.MesQcIqcService; import cn.iocoder.yudao.module.mes.service.wm.arrivalnotice.MesWmArrivalNoticeService; import cn.iocoder.yudao.module.mes.service.wm.itemreceipt.MesWmItemReceiptService; -import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseAreaService; -import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseLocationService; -import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/vo/line/MesWmItemReceiptLinePageReqVO.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/vo/line/MesWmItemReceiptLinePageReqVO.java index 2841e3d..d8e8ef4 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/vo/line/MesWmItemReceiptLinePageReqVO.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/wm/itemreceipt/vo/line/MesWmItemReceiptLinePageReqVO.java @@ -2,19 +2,25 @@ package cn.iocoder.yudao.module.mes.controller.admin.wm.itemreceipt.vo.line; import cn.iocoder.yudao.framework.common.pojo.PageParam; import io.swagger.v3.oas.annotations.media.Schema; -import jakarta.validation.constraints.NotNull; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import java.util.List; + @Schema(description = "管理后台 - MES 采购入库单行分页 Request VO") @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) public class MesWmItemReceiptLinePageReqVO extends PageParam { - @Schema(description = "入库单编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") - @NotNull(message = "入库单编号不能为空") + @Schema(description = "入库单编号", example = "1") private Long receiptId; + @Schema(description = "供应商编号", example = "1") + private Long vendorId; + + @Schema(description = "入库单编号列表(内部使用,供应商过滤时自动填充)", hidden = true) + private List receiptIds; + } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/itemreceipt/MesWmItemReceiptLineMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/itemreceipt/MesWmItemReceiptLineMapper.java index 6fcf3d8..6499b9a 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/itemreceipt/MesWmItemReceiptLineMapper.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/itemreceipt/MesWmItemReceiptLineMapper.java @@ -18,6 +18,7 @@ public interface MesWmItemReceiptLineMapper extends BaseMapperX selectPage(MesWmItemReceiptLinePageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(MesWmItemReceiptLineDO::getReceiptId, reqVO.getReceiptId()) + .inIfPresent(MesWmItemReceiptLineDO::getReceiptId, reqVO.getReceiptIds()) .orderByDesc(MesWmItemReceiptLineDO::getId)); } @@ -29,4 +30,8 @@ public interface MesWmItemReceiptLineMapper extends BaseMapperX selectListByReceiptIds(java.util.Collection receiptIds) { + return selectList(MesWmItemReceiptLineDO::getReceiptId, receiptIds); + } + } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/itemreceipt/MesWmItemReceiptMapper.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/itemreceipt/MesWmItemReceiptMapper.java index a21d37b..486cee3 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/itemreceipt/MesWmItemReceiptMapper.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/wm/itemreceipt/MesWmItemReceiptMapper.java @@ -7,6 +7,8 @@ import cn.iocoder.yudao.module.mes.controller.admin.wm.itemreceipt.vo.MesWmItemR import cn.iocoder.yudao.module.mes.dal.dataobject.wm.itemreceipt.MesWmItemReceiptDO; import org.apache.ibatis.annotations.Mapper; +import java.util.List; + /** * MES 采购入库单 Mapper */ @@ -30,4 +32,8 @@ public interface MesWmItemReceiptMapper extends BaseMapperX return selectCount(MesWmItemReceiptDO::getVendorId, vendorId); } + default List selectListByVendorId(Long vendorId) { + return selectList(MesWmItemReceiptDO::getVendorId, vendorId); + } + } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptLineServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptLineServiceImpl.java index a29ee86..afc4436 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptLineServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptLineServiceImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.mes.service.wm.itemreceipt; +import cn.hutool.core.collection.CollUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.mes.controller.admin.wm.batch.vo.MesWmBatchGenerateReqVO; @@ -22,6 +23,7 @@ import org.springframework.validation.annotation.Validated; import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.*; /** @@ -107,6 +109,15 @@ public class MesWmItemReceiptLineServiceImpl implements MesWmItemReceiptLineServ @Override public PageResult getItemReceiptLinePage(MesWmItemReceiptLinePageReqVO pageReqVO) { + // 如果传了 vendorId,先查出该供应商的所有入库单 ID,设置到 receiptIds + if (pageReqVO.getReceiptId() == null) { + List receipts = itemReceiptService.getItemReceiptListByVendorId(pageReqVO.getVendorId()); + if (CollUtil.isEmpty(receipts)) { + return PageResult.empty(); + } + pageReqVO.setReceiptIds(convertList(receipts, MesWmItemReceiptDO::getId)); + } + // 查询分页 return itemReceiptLineMapper.selectPage(pageReqVO); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptService.java index 6c7a816..17bc00e 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptService.java @@ -6,6 +6,8 @@ import cn.iocoder.yudao.module.mes.controller.admin.wm.itemreceipt.vo.MesWmItemR import cn.iocoder.yudao.module.mes.dal.dataobject.wm.itemreceipt.MesWmItemReceiptDO; import jakarta.validation.Valid; +import java.util.List; + /** * MES 采购入库单 Service 接口 */ @@ -93,4 +95,12 @@ public interface MesWmItemReceiptService { */ Long getItemReceiptCountByVendorId(Long vendorId); + /** + * 查询指定供应商的采购入库单列表 + * + * @param vendorId 供应商编号 + * @return 入库单列表 + */ + List getItemReceiptListByVendorId(Long vendorId); + } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptServiceImpl.java index 69f46eb..5edf17b 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/wm/itemreceipt/MesWmItemReceiptServiceImpl.java @@ -233,4 +233,9 @@ public class MesWmItemReceiptServiceImpl implements MesWmItemReceiptService { return itemReceiptMapper.selectCountByVendorId(vendorId); } + @Override + public List getItemReceiptListByVendorId(Long vendorId) { + return itemReceiptMapper.selectListByVendorId(vendorId); + } + }