From 49f6832d3f507a69f4e4a7ede3425ad59e91e7c4 Mon Sep 17 00:00:00 2001 From: zhaoqing <3160641494@qq.com> Date: Fri, 24 Jul 2026 11:24:10 +0800 Subject: [PATCH] =?UTF-8?q?feat(oms):=E5=87=BA=E5=BA=93=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IExecutionOutMaterialDetailService.java | 6 ++ .../ExecutionOutMaterialDetailMapper.java | 6 ++ .../ExecutionOutMaterialDetailImpl.java | 10 ++ ...ExecutionOutMaterialDetailWithOrderPO.java | 21 ++++ .../ExecutionOutMaterialDetailQueryDTO.java | 69 ++++++++++++++ ...onOutMaterialDetailApplicationService.java | 38 ++++++++ .../ExecutionOutMaterialDetailAssembler.java | 26 +++++ ...ecutionOutMaterialDetailDomainService.java | 9 ++ .../ExecutionOutMaterialDetailApi.java | 44 +++++++++ .../ExecutionOutMaterialDetailMapper.xml | 95 +++++++++++++++++++ 10 files changed, 324 insertions(+) create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/po/ExecutionOutMaterialDetailWithOrderPO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/todo/ExecutionOutMaterialDetailQueryDTO.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/service/ExecutionOutMaterialDetailApplicationService.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/service/ExecutionOutMaterialDetailAssembler.java create mode 100644 mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionOutMaterialDetail/ExecutionOutMaterialDetailApi.java diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/facade/IExecutionOutMaterialDetailService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/facade/IExecutionOutMaterialDetailService.java index 78e1975b9..f2b6d3193 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/facade/IExecutionOutMaterialDetailService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/facade/IExecutionOutMaterialDetailService.java @@ -3,6 +3,7 @@ package com.mhd.oms.domain.executionOutMaterialDetail.repository.facade; import com.baomidou.mybatisplus.extension.service.IService; import com.mhd.oms.domain.executionOutMaterialDetail.entity.ExecutionOutMaterialDetail; import com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailPO; +import com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailWithOrderPO; import com.mhd.oms.domain.executionOutMaterialDetail.repository.todo.ExecutionOutMaterialDetailBaseDO; import com.mhd.oms.domain.executionOutMaterialDetail.repository.todo.ExecutionOutMaterialDetailDO; import com.mhd.oms.domain.reservationInMaterialDetail.repository.todo.QueryOrderOverStockDO; @@ -62,4 +63,9 @@ public interface IExecutionOutMaterialDetailService extends IService queryOutOrderDetailList(QueryOrderOverStockDO queryOrderOverStockDO); } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/mapper/ExecutionOutMaterialDetailMapper.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/mapper/ExecutionOutMaterialDetailMapper.java index 8268d7b9e..01b6b0f7b 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/mapper/ExecutionOutMaterialDetailMapper.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/mapper/ExecutionOutMaterialDetailMapper.java @@ -3,6 +3,7 @@ package com.mhd.oms.domain.executionOutMaterialDetail.repository.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.mhd.oms.domain.executionOutMaterialDetail.entity.ExecutionOutMaterialDetail; import com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailPO; +import com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailWithOrderPO; import com.mhd.oms.domain.executionOutMaterialDetail.repository.todo.ExecutionOutMaterialDetailDO; import com.mhd.oms.domain.reservationInMaterialDetail.repository.todo.QueryOrderOverStockDO; import org.apache.ibatis.annotations.Param; @@ -67,4 +68,9 @@ public interface ExecutionOutMaterialDetailMapper extends BaseMapper queryOutOrderDetailList(QueryOrderOverStockDO queryOrderOverStockDO); } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/persistence/ExecutionOutMaterialDetailImpl.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/persistence/ExecutionOutMaterialDetailImpl.java index 8d7e0babd..7b7180d12 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/persistence/ExecutionOutMaterialDetailImpl.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/persistence/ExecutionOutMaterialDetailImpl.java @@ -12,6 +12,7 @@ import com.mhd.oms.domain.executionOutMaterialDetail.entity.ExecutionOutMaterial import com.mhd.oms.domain.executionOutMaterialDetail.repository.facade.IExecutionOutMaterialDetailService; import com.mhd.oms.domain.executionOutMaterialDetail.repository.mapper.ExecutionOutMaterialDetailMapper; import com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailPO; +import com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailWithOrderPO; import com.mhd.oms.domain.executionOutMaterialDetail.repository.todo.ExecutionOutMaterialDetailBaseDO; import com.mhd.oms.domain.executionOutMaterialDetail.repository.todo.ExecutionOutMaterialDetailDO; import com.mhd.oms.domain.executionStockInOrder.repository.mapper.ExecutionStockInOrderMapper; @@ -261,4 +262,13 @@ public class ExecutionOutMaterialDetailImpl extends ServiceImpl queryOutOrderDetailList(QueryOrderOverStockDO queryOrderOverStockDO) { + return outMaterialDetailMapper.queryOutOrderDetailList(queryOrderOverStockDO); + } + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/po/ExecutionOutMaterialDetailWithOrderPO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/po/ExecutionOutMaterialDetailWithOrderPO.java new file mode 100644 index 000000000..266d61436 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/po/ExecutionOutMaterialDetailWithOrderPO.java @@ -0,0 +1,21 @@ +package com.mhd.oms.domain.executionOutMaterialDetail.repository.po; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 出库明细查询结果(关联出库执行单) + * + * @author gen + * @date 2024-07-24 + */ +@Data +public class ExecutionOutMaterialDetailWithOrderPO extends ExecutionOutMaterialDetailPO { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("出库单状态: 1-已创建 2-已审核 3-部分分配 4-已分配 5-拣货中 6-波次中 7-拣货完成 8-复核中 9-已出库 10-已取消 11-已关闭") + private Integer outOrderStatus; + + @ApiModelProperty("出库单审核状态: 1-未审核 2-审核不通过 3-审核通过") + private Integer outOrderAuditStatus; +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/todo/ExecutionOutMaterialDetailQueryDTO.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/todo/ExecutionOutMaterialDetailQueryDTO.java new file mode 100644 index 000000000..e21050c93 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/repository/todo/ExecutionOutMaterialDetailQueryDTO.java @@ -0,0 +1,69 @@ +package com.mhd.oms.domain.executionOutMaterialDetail.repository.todo; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.mhd.common.core.web.domain.BaseVOEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * 出库明细查询参数 DTO + * + * @author gen + * @date 2024-07-24 + */ +@Data +public class ExecutionOutMaterialDetailQueryDTO extends BaseVOEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("组织表ID") + private Long organizationId; + + @ApiModelProperty("一级组织表ID") + private Long topOrganizationId; + + @ApiModelProperty("出库单号") + private String outOrderNumber; + + @ApiModelProperty("仓库id") + private Long warehouseId; + + @ApiModelProperty("仓库编码") + private String warehouseCode; + + @ApiModelProperty("仓库名称") + private String warehouseName; + + @ApiModelProperty("货主id") + private Long shipperId; + + @ApiModelProperty("货主名称") + private String shipperName; + + @ApiModelProperty("出库单类型编码") + private String outOrderTypeCode; + + @ApiModelProperty("出库状态: 1-已创建 2-已审核 3-部分分配 4-已分配 5-拣货中 6-波次中 7-拣货完成 8-复核中 9-已出库 10-已取消 11-已关闭") + private Integer outStatus; + + @ApiModelProperty("预计出库时间 开始") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date outOrderExpectStartTime; + + @ApiModelProperty("预计出库时间 结束") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date outOrderExpectEndTime; + + @ApiModelProperty("物料基础信息id") + private Long materialBaseInfoId; + + @ApiModelProperty("物料编码") + private String materialCode; + + @ApiModelProperty("物料名称") + private String materialName; +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/service/ExecutionOutMaterialDetailApplicationService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/service/ExecutionOutMaterialDetailApplicationService.java new file mode 100644 index 000000000..8c6b862c8 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/service/ExecutionOutMaterialDetailApplicationService.java @@ -0,0 +1,38 @@ +package com.mhd.oms.domain.executionOutMaterialDetail.service; + +import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailWithOrderPO; +import com.mhd.oms.domain.reservationInMaterialDetail.repository.todo.QueryOrderOverStockDO; +import com.mhd.system.api.model.LoginUser; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 出库明细ApplicationService + * + * @author gen + * @date 2024-07-24 + */ +@Service +@Slf4j +public class ExecutionOutMaterialDetailApplicationService { + @Autowired + private ExecutionOutMaterialDetailDomainService outMaterialDetailDomainService; + + /** + * 出库明细查询(关联出库执行单) + */ + public List queryOutOrderDetailList(QueryOrderOverStockDO queryOrderOverStockDO) { + LoginUser loginUser = SecurityUtils.getLoginUser(); + if (loginUser != null) { + Long topOrganizationId = loginUser.getUserPo().getTopOrganizationId(); + if (topOrganizationId != null && topOrganizationId != 1) { + queryOrderOverStockDO.setTopOrganizationId(topOrganizationId); + } + } + return outMaterialDetailDomainService.queryOutOrderDetailList(queryOrderOverStockDO); + } +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/service/ExecutionOutMaterialDetailAssembler.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/service/ExecutionOutMaterialDetailAssembler.java new file mode 100644 index 000000000..be2211cbd --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/service/ExecutionOutMaterialDetailAssembler.java @@ -0,0 +1,26 @@ +package com.mhd.oms.domain.executionOutMaterialDetail.service; + +import com.mhd.common.core.utils.IgnoreNullUtil; +import com.mhd.common.core.utils.bean.BeanUtils; +import com.mhd.oms.domain.executionOutMaterialDetail.repository.todo.ExecutionOutMaterialDetailQueryDTO; +import com.mhd.oms.domain.reservationInMaterialDetail.repository.todo.QueryOrderOverStockDO; +import org.springframework.stereotype.Component; + +/** + * 出库明细Assembler + * + * @author gen + * @date 2024-07-24 + */ +@Component +public class ExecutionOutMaterialDetailAssembler { + + /** + * 出库明细查询 DTO → QueryOrderOverStockDO + */ + public QueryOrderOverStockDO toQueryDO(ExecutionOutMaterialDetailQueryDTO queryDTO) { + QueryOrderOverStockDO queryDO = new QueryOrderOverStockDO(); + BeanUtils.copyProperties(queryDTO, queryDO, IgnoreNullUtil.getNullPropertyNames(queryDTO)); + return queryDO; + } +} diff --git a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/service/ExecutionOutMaterialDetailDomainService.java b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/service/ExecutionOutMaterialDetailDomainService.java index c4c97c20d..27826ab29 100644 --- a/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/service/ExecutionOutMaterialDetailDomainService.java +++ b/mhd_oms/src/main/java/com/mhd/oms/domain/executionOutMaterialDetail/service/ExecutionOutMaterialDetailDomainService.java @@ -5,7 +5,9 @@ package com.mhd.oms.domain.executionOutMaterialDetail.service; //import com.mhd.wms.domain.outMaterialDetail.repository.todo.ExecutionOutMaterialDetailDO; import com.mhd.oms.domain.executionOutMaterialDetail.repository.facade.IExecutionOutMaterialDetailService; import com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailPO; +import com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailWithOrderPO; import com.mhd.oms.domain.executionOutMaterialDetail.repository.todo.ExecutionOutMaterialDetailDO; +import com.mhd.oms.domain.reservationInMaterialDetail.repository.todo.QueryOrderOverStockDO; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -64,4 +66,11 @@ public class ExecutionOutMaterialDetailDomainService { return outMaterialDetailService.getInfo(materialDetailId); } + /** + * 出库明细查询(关联出库执行单) + */ + public List queryOutOrderDetailList(QueryOrderOverStockDO queryOrderOverStockDO) { + return outMaterialDetailService.queryOutOrderDetailList(queryOrderOverStockDO); + } + } \ No newline at end of file diff --git a/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionOutMaterialDetail/ExecutionOutMaterialDetailApi.java b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionOutMaterialDetail/ExecutionOutMaterialDetailApi.java new file mode 100644 index 000000000..dc8e1a808 --- /dev/null +++ b/mhd_oms/src/main/java/com/mhd/oms/interfaces/facade/executionOutMaterialDetail/ExecutionOutMaterialDetailApi.java @@ -0,0 +1,44 @@ +package com.mhd.oms.interfaces.facade.executionOutMaterialDetail; + +import com.mhd.common.core.web.controller.BaseController; +import com.mhd.common.core.web.page.TableDataInfo; +import com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailWithOrderPO; +import com.mhd.oms.domain.executionOutMaterialDetail.repository.todo.ExecutionOutMaterialDetailQueryDTO; +import com.mhd.oms.domain.executionOutMaterialDetail.service.ExecutionOutMaterialDetailApplicationService; +import com.mhd.oms.domain.executionOutMaterialDetail.service.ExecutionOutMaterialDetailAssembler; +import com.mhd.oms.domain.reservationInMaterialDetail.repository.todo.QueryOrderOverStockDO; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 出库明细Api + * + * @author gen + * @date 2024-07-24 + */ +@RestController +@RequestMapping("/executionOutMaterialDetailApi") +public class ExecutionOutMaterialDetailApi extends BaseController { + @Autowired + private ExecutionOutMaterialDetailApplicationService outMaterialDetailApplicationService; + @Resource + private ExecutionOutMaterialDetailAssembler outMaterialDetailAssembler; + + /** + * 出库明细查询(关联出库执行单) + */ + @ApiOperation("出库明细查询(关联出库执行单)") + @GetMapping("/listWithOrder") + public TableDataInfo listWithOrder(ExecutionOutMaterialDetailQueryDTO queryDTO) { + QueryOrderOverStockDO queryDO = outMaterialDetailAssembler.toQueryDO(queryDTO); + startPage(); + List list = outMaterialDetailApplicationService.queryOutOrderDetailList(queryDO); + return getDataTable(list); + } +} diff --git a/mhd_oms/src/main/resources/mapper/executionOutMaterialDetail/ExecutionOutMaterialDetailMapper.xml b/mhd_oms/src/main/resources/mapper/executionOutMaterialDetail/ExecutionOutMaterialDetailMapper.xml index ece1200c9..b07d09f31 100644 --- a/mhd_oms/src/main/resources/mapper/executionOutMaterialDetail/ExecutionOutMaterialDetailMapper.xml +++ b/mhd_oms/src/main/resources/mapper/executionOutMaterialDetail/ExecutionOutMaterialDetailMapper.xml @@ -448,4 +448,99 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + + + \ No newline at end of file