feat(oms):出库明细查询

This commit is contained in:
zhaoqing
2026-07-24 11:24:10 +08:00
parent 60bc140195
commit 49f6832d3f
10 changed files with 324 additions and 0 deletions
@@ -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<ExecutionOu
* 查询物料明细
*/
public ExecutionOutMaterialDetailPO getInfo(Long materialDetailId);
/**
* 出库明细查询(关联出库执行单)
*/
public List<ExecutionOutMaterialDetailWithOrderPO> queryOutOrderDetailList(QueryOrderOverStockDO queryOrderOverStockDO);
}
@@ -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<ExecutionOu
public String getLotByKcId(@Param("id") Long id);
public String getInLotNo(@Param("inOrderNumber") String inOrderNumber, @Param("baseId") Long baseId);
/**
* 出库明细查询(关联出库执行单)
*/
public List<ExecutionOutMaterialDetailWithOrderPO> queryOutOrderDetailList(QueryOrderOverStockDO queryOrderOverStockDO);
}
@@ -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<ExecutionOutMate
BeanUtils.copyProperties(outMaterialDetail, outMaterialDetailPO);
return outMaterialDetailPO;
}
/**
* 出库明细查询(关联出库执行单)
*/
@Override
public List<ExecutionOutMaterialDetailWithOrderPO> queryOutOrderDetailList(QueryOrderOverStockDO queryOrderOverStockDO) {
return outMaterialDetailMapper.queryOutOrderDetailList(queryOrderOverStockDO);
}
}
@@ -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;
}
@@ -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;
}
@@ -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<ExecutionOutMaterialDetailWithOrderPO> 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);
}
}
@@ -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;
}
}
@@ -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<ExecutionOutMaterialDetailWithOrderPO> queryOutOrderDetailList(QueryOrderOverStockDO queryOrderOverStockDO) {
return outMaterialDetailService.queryOutOrderDetailList(queryOrderOverStockDO);
}
}
@@ -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<ExecutionOutMaterialDetailWithOrderPO> list = outMaterialDetailApplicationService.queryOutOrderDetailList(queryDO);
return getDataTable(list);
}
}