feat(oms):出库明细查询
This commit is contained in:
+6
@@ -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);
|
||||
}
|
||||
+6
@@ -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);
|
||||
}
|
||||
+10
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
+21
@@ -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;
|
||||
}
|
||||
+69
@@ -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;
|
||||
}
|
||||
+38
@@ -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);
|
||||
}
|
||||
}
|
||||
+26
@@ -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;
|
||||
}
|
||||
}
|
||||
+9
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
+44
@@ -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);
|
||||
}
|
||||
}
|
||||
+95
@@ -448,4 +448,99 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
<select id="getkcIdByUniqueId" parameterType="java.lang.Long" resultType="java.lang.Long">
|
||||
select MATERIAL_INVENTORY_ID from "NGWL_TEST_WMS".OUT_MATERIAL_DETAIL where UNIQUE_ID = #{uniqueId}
|
||||
</select>
|
||||
|
||||
<!-- ========== 出库明细查询(关联出库执行单) ========== -->
|
||||
<resultMap type="com.mhd.oms.domain.executionOutMaterialDetail.repository.po.ExecutionOutMaterialDetailWithOrderPO"
|
||||
id="OutMaterialDetailWithOrderResult" extends="MaterialDetailResult">
|
||||
<result property="outOrderStatus" column="out_order_status" />
|
||||
<result property="outOrderAuditStatus" column="out_order_audit_status" />
|
||||
</resultMap>
|
||||
|
||||
<select id="queryOutOrderDetailList"
|
||||
parameterType="com.mhd.oms.domain.reservationInMaterialDetail.repository.todo.QueryOrderOverStockDO"
|
||||
resultMap="OutMaterialDetailWithOrderResult">
|
||||
select
|
||||
a.material_detail_id, a.organization_id, a.organization_name, a.top_organization_id, a.unique_id,
|
||||
a.out_order_number, a.material_base_info_id, a.material_code, a.material_name, a.bar_code,
|
||||
a.weight_limit, a.volume_limit, a.quantity, a.allocation_quantity, a.picking_quantity, a.check_quantity,
|
||||
a.pack_id, a.pack_code, a.pack_name, a.pack_detail_id, a.unit_code, a.unit_name,
|
||||
a.material_warehouse_control_id, a.serial_number_manage,
|
||||
a.material_inventory_id, a.batch_number,
|
||||
a.warehouse_id, a.warehouse_code, a.warehouse_name,
|
||||
a.storage_section_id, a.storage_code, a.storage_name,
|
||||
a.storage_location_id, a.storage_location_code, a.storage_location_name,
|
||||
a.level, a.parent_unique_id, a.allow_modify,
|
||||
a.container_id, a.container_code, a.container_type, a.container_type_name,
|
||||
a.material_status_code, a.material_status_name,
|
||||
a.remark, a.create_time, a.create_by, a.create_by_name, a.gen_picking_order,
|
||||
a.update_time, a.update_by, a.update_by_name, a.del_flag,
|
||||
a.over_stock_id, a.over_stock_status, a.over_stock_type,
|
||||
a.COMMODITY_NAME, a.COMMODITY_NO, a.MATERIAL_NO,
|
||||
a.SPECIFICATION_MODEL, a.SKUCODE, a.INVOICE_NO, a.LITER, a.SIZE,
|
||||
a.DECLARE_UNIT, a.BATCH_REF_NO, a.SHEET_REF_NO,
|
||||
a.COUNTRY_OF_ORIGIN, a.BOX_PALLET_NO, a.CURRENCY,
|
||||
a.DECLARE_QUANTITY, a.CASE_COUNT, a.PIECE_COUNT, a.OUTBOUND_QUANTITY,
|
||||
a.TOTAL_NET_WEIGHT, a.TOTAL_GROSS_WEIGHT, a.TOTAL_VOLUME, a.TOTAL_AREA, a.TOTAL_AMOUNT,
|
||||
a.UNIT, a.EXT_ATTR_1, a.EXT_ATTR_2, a.PRODUCTION_DATE, a.EXPIRY_DATE, a.INVENTORY_DATE,
|
||||
a.EXT_ATTR_3, a.EXT_ATTR_4, a.INVENTORY_QUANTITY,
|
||||
a.contract_fee, a.monthly_warehouse_fee, a.half_month_wh_fee, a.discount_rate,
|
||||
a.single_volume, a.single_gross_weight, a.lot_no, a.in_order_number,
|
||||
a.stock_unit, a.stock_quantity, a.inventory_quantity,
|
||||
a.line_num_gw, a.spec_gw, a.unit_gw, a.qty_gw,
|
||||
a.erp_curr_gw, a.erp_price_gw, a.amount_gw, a.in_order_number_gw, a.in_line_num_gw,
|
||||
b.status as out_order_status,
|
||||
b.audit_status as out_order_audit_status
|
||||
from execution_out_material_detail a
|
||||
left join execution_stock_out_order b on a.out_order_number = b.out_order_number
|
||||
<where>
|
||||
<if test="organizationId != null ">
|
||||
and a.organization_id = #{organizationId}
|
||||
</if>
|
||||
<if test="topOrganizationId != null ">
|
||||
and a.top_organization_id = #{topOrganizationId}
|
||||
</if>
|
||||
<if test="materialBaseInfoId != null ">
|
||||
and a.material_base_info_id = #{materialBaseInfoId}
|
||||
</if>
|
||||
<if test="materialCode != null and materialCode != ''">
|
||||
and a.material_code = #{materialCode}
|
||||
</if>
|
||||
<if test="materialName != null and materialName != ''">
|
||||
and a.material_name like concat('%', #{materialName}, '%')
|
||||
</if>
|
||||
<if test="outOrderNumber != null and outOrderNumber != ''">
|
||||
and b.out_order_number like concat('%', #{outOrderNumber}, '%')
|
||||
</if>
|
||||
<if test="warehouseId != null ">
|
||||
and b.warehouse_id = #{warehouseId}
|
||||
</if>
|
||||
<if test="warehouseCode != null and warehouseCode != ''">
|
||||
and b.warehouse_code = #{warehouseCode}
|
||||
</if>
|
||||
<if test="warehouseName != null and warehouseName != ''">
|
||||
and b.warehouse_name like concat('%', #{warehouseName}, '%')
|
||||
</if>
|
||||
<if test="shipperId != null ">
|
||||
and b.shipper_id = #{shipperId}
|
||||
</if>
|
||||
<if test="shipperName != null and shipperName != ''">
|
||||
and b.shipper_name like concat('%', #{shipperName}, '%')
|
||||
</if>
|
||||
<if test="outOrderTypeCode != null and outOrderTypeCode != ''">
|
||||
and b.order_type_code = #{outOrderTypeCode}
|
||||
</if>
|
||||
<if test="outStatus != null ">
|
||||
and b.status = #{outStatus}
|
||||
</if>
|
||||
<if test="outOrderExpectStartTime != null">
|
||||
and b.expect_time >= #{outOrderExpectStartTime}
|
||||
</if>
|
||||
<if test="outOrderExpectEndTime != null">
|
||||
and b.expect_time <= #{outOrderExpectEndTime}
|
||||
</if>
|
||||
and a.del_flag = 1
|
||||
and b.del_flag = 1
|
||||
</where>
|
||||
order by a.create_time desc
|
||||
</select>
|
||||
</mapper>
|
||||
Reference in New Issue
Block a user