提货单打印修改

This commit is contained in:
秦鸿展
2026-05-06 11:06:12 +08:00
parent a9c27b9d4c
commit 0ec7e9b703
4 changed files with 193 additions and 178 deletions
@@ -16,8 +16,7 @@ import java.util.List;
* @author gen * @author gen
* @date 2024-05-28 * @date 2024-05-28
*/ */
public interface StockOutOrderMapper extends BaseMapper<StockOutOrder> public interface StockOutOrderMapper extends BaseMapper<StockOutOrder> {
{
/** /**
* 查询出库单列表 * 查询出库单列表
*/ */
@@ -441,4 +441,10 @@ public class StockOutOrderDTO extends StockOutOrderBaseDTO {
private String salesmanName; private String salesmanName;
@ApiModelProperty("费用") @ApiModelProperty("费用")
List<ReceiptOrderAccount> receiptOrderAccountList; List<ReceiptOrderAccount> receiptOrderAccountList;
/**
* 提货单打印所选模版(与图5单选项文案一致即可)。可传副标题如「谷丰--营销部」,或整段「提货单--谷丰--营销部」;不传则标题为「提货单」
*/
@ApiModelProperty("提货单打印模版名/弹窗选项全文;后端生成 printTitle(-- 会规范为 ——)")
private String noticePrintTemplateName;
} }
@@ -64,14 +64,40 @@ public class StockOutOrderApi extends BaseController {
@Autowired @Autowired
private IStockOutOrderService stockOutOrderService; private IStockOutOrderService stockOutOrderService;
@Autowired
private ExcelParseService excelParseService;
/**
* 提货单大标题:未选时为「提货单」;可传副标题如「谷丰--营销部」,或与弹窗一致传整段「提货单--谷丰--营销部」(后者原样作标题,并将 -- 规范为 ——)。
*/
private static void fillNoticePrintTitle(Map<String, Object> result, StockOutOrderDTO dto) {
String templateName = dto != null ? dto.getNoticePrintTemplateName() : null;
if (templateName != null) {
templateName = templateName.trim();
if (templateName.isEmpty()) {
templateName = null;
}
}
result.put("noticePrintTemplateName", templateName);
if (templateName == null) {
result.put("printTitle", "提货单");
return;
}
String printTitle;
if (templateName.startsWith("提货单")) {
printTitle = templateName.replace("--", "——");
} else {
printTitle = "提货单——" + templateName.replace("--", "——");
}
result.put("printTitle", printTitle);
}
/** /**
* 分页查询出库单列表 * 分页查询出库单列表
*/ */
@ApiOperation("查询出库单列表") @ApiOperation("查询出库单列表")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(StockOutOrderDTO stockOutOrderDTO) public TableDataInfo list(StockOutOrderDTO stockOutOrderDTO) {
{
//转换实体 //转换实体
StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO);
startPage(); startPage();
@@ -79,9 +105,6 @@ public class StockOutOrderApi extends BaseController {
return getDataTable(list); return getDataTable(list);
} }
@Autowired
private ExcelParseService excelParseService;
/** /**
* 上传并解析出仓委托单Excel * 上传并解析出仓委托单Excel
*/ */
@@ -122,13 +145,12 @@ public class StockOutOrderApi extends BaseController {
*/ */
@ApiOperation("编辑出库单") @ApiOperation("编辑出库单")
@PostMapping("/edit") @PostMapping("/edit")
public AjaxResult edit(@RequestBody StockOutOrderDTO stockOutOrderDTO) public AjaxResult edit(@RequestBody StockOutOrderDTO stockOutOrderDTO) {
{
//转换实体 //转换实体
StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDOByEdit(stockOutOrderDTO); StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDOByEdit(stockOutOrderDTO);
if(stockOutOrderDTO.getOutOrderId() != null){ if (stockOutOrderDTO.getOutOrderId() != null) {
return toAjax(stockOutOrderApplicationService.update(stockOutOrderDO)); return toAjax(stockOutOrderApplicationService.update(stockOutOrderDO));
}else { } else {
return toAjax(stockOutOrderApplicationService.insert(stockOutOrderDO)); return toAjax(stockOutOrderApplicationService.insert(stockOutOrderDO));
} }
} }
@@ -138,8 +160,7 @@ public class StockOutOrderApi extends BaseController {
*/ */
@ApiOperation("批量删除出库单") @ApiOperation("批量删除出库单")
@DeleteMapping("/deleteByIds/{outOrderIds}") @DeleteMapping("/deleteByIds/{outOrderIds}")
public AjaxResult delete(@PathVariable Long[] outOrderIds) public AjaxResult delete(@PathVariable Long[] outOrderIds) {
{
return toAjax(stockOutOrderApplicationService.delete(outOrderIds)); return toAjax(stockOutOrderApplicationService.delete(outOrderIds));
} }
@@ -148,17 +169,16 @@ public class StockOutOrderApi extends BaseController {
*/ */
@ApiOperation("获取出库单") @ApiOperation("获取出库单")
@GetMapping(value = "/getInfo/{outOrderId}") @GetMapping(value = "/getInfo/{outOrderId}")
public AjaxResult getInfo(@PathVariable("outOrderId") Long outOrderId) public AjaxResult getInfo(@PathVariable("outOrderId") Long outOrderId) {
{
return AjaxResult.success(stockOutOrderApplicationService.getInfoChildren(outOrderId)); return AjaxResult.success(stockOutOrderApplicationService.getInfoChildren(outOrderId));
} }
/** /**
* 根据出库单号获取出库单详细信息 * 根据出库单号获取出库单详细信息
*/ */
@ApiOperation("获取出库单") @ApiOperation("获取出库单")
@GetMapping(value = "/getInfoOutOrderNumber") @GetMapping(value = "/getInfoOutOrderNumber")
public AjaxResult getInfoOutOrderNumber(String outOrderNumber) public AjaxResult getInfoOutOrderNumber(String outOrderNumber) {
{
// 根据出库单号查询出库单,再按出库单ID查询详情,保证与出库管理页面一致 // 根据出库单号查询出库单,再按出库单ID查询详情,保证与出库管理页面一致
StockOutOrder stockOutOrder = stockOutOrderService.getOne(new LambdaQueryWrapper<StockOutOrder>() StockOutOrder stockOutOrder = stockOutOrderService.getOne(new LambdaQueryWrapper<StockOutOrder>()
.eq(StockOutOrder::getOutOrderNumber, outOrderNumber)); .eq(StockOutOrder::getOutOrderNumber, outOrderNumber));
@@ -210,7 +230,6 @@ public class StockOutOrderApi extends BaseController {
return toAjax(stockOutOrderApplicationService.manualAssign(stockOutOrderDO)); return toAjax(stockOutOrderApplicationService.manualAssign(stockOutOrderDO));
} }
/** /**
* 手动分配 * 手动分配
*/ */
@@ -280,12 +299,11 @@ public class StockOutOrderApi extends BaseController {
*/ */
@ApiOperation("生成拣货单") @ApiOperation("生成拣货单")
@PostMapping("/genPickingOrder") @PostMapping("/genPickingOrder")
public AjaxResult genPickingOrder(@RequestBody StockOutOrderDTO stockOutOrderDTO){ public AjaxResult genPickingOrder(@RequestBody StockOutOrderDTO stockOutOrderDTO) {
StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class); StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class);
return toAjax(stockOutOrderApplicationService.genPickingOrder(stockOutOrderDO)); return toAjax(stockOutOrderApplicationService.genPickingOrder(stockOutOrderDO));
} }
/** /**
* 复核下发 * 复核下发
*/ */
@@ -303,8 +321,7 @@ public class StockOutOrderApi extends BaseController {
*/ */
@ApiOperation("获取出库单复核详细信息") @ApiOperation("获取出库单复核详细信息")
@GetMapping(value = "/getCheckInfo") @GetMapping(value = "/getCheckInfo")
public AjaxResult getCheckInfo(StockOutOrderDTO stockOutOrderDTO) public AjaxResult getCheckInfo(StockOutOrderDTO stockOutOrderDTO) {
{
//转换实体 //转换实体
StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO);
return AjaxResult.success(stockOutOrderApplicationService.getCheckInfo(stockOutOrderDO)); return AjaxResult.success(stockOutOrderApplicationService.getCheckInfo(stockOutOrderDO));
@@ -320,7 +337,6 @@ public class StockOutOrderApi extends BaseController {
return AjaxResult.success(stockOutOrderApplicationService.singleCheck(stockOutOrderDO)); return AjaxResult.success(stockOutOrderApplicationService.singleCheck(stockOutOrderDO));
} }
/** /**
* 批量复核 * 批量复核
*/ */
@@ -331,7 +347,6 @@ public class StockOutOrderApi extends BaseController {
return toAjax(stockOutOrderApplicationService.batchCheck(stockOutOrderDO)); return toAjax(stockOutOrderApplicationService.batchCheck(stockOutOrderDO));
} }
/** /**
* 批量取消复核 * 批量取消复核
*/ */
@@ -342,7 +357,6 @@ public class StockOutOrderApi extends BaseController {
return toAjax(stockOutOrderApplicationService.batchCancelCheck(stockOutOrderDO)); return toAjax(stockOutOrderApplicationService.batchCancelCheck(stockOutOrderDO));
} }
/** /**
* 批量复核确认 * 批量复核确认
*/ */
@@ -353,7 +367,6 @@ public class StockOutOrderApi extends BaseController {
return toAjax(stockOutOrderApplicationService.checkConfirm(stockOutOrderDO)); return toAjax(stockOutOrderApplicationService.checkConfirm(stockOutOrderDO));
} }
/** /**
* 根据指定规则生成波次单 * 根据指定规则生成波次单
*/ */
@@ -382,12 +395,9 @@ public class StockOutOrderApi extends BaseController {
StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class); StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class);
return toAjax(stockOutOrderApplicationService.autoAssign(stockOutOrderDO)); return toAjax(stockOutOrderApplicationService.autoAssign(stockOutOrderDO));
}*/ }*/
@ApiOperation("关闭出库单") @ApiOperation("关闭出库单")
@PostMapping("/close") @PostMapping("/close")
public AjaxResult close(@RequestBody StockOutOrderDTO stockOutOrderDTO) public AjaxResult close(@RequestBody StockOutOrderDTO stockOutOrderDTO) {
{
//转换实体 //转换实体
StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDOByEdit(stockOutOrderDTO); StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDOByEdit(stockOutOrderDTO);
return toAjax(stockOutOrderApplicationService.close(stockOutOrderDO)); return toAjax(stockOutOrderApplicationService.close(stockOutOrderDO));
@@ -411,28 +421,24 @@ public class StockOutOrderApi extends BaseController {
stockOutOrderApplicationService.omsOrderAddDetail(outMaterialDetails); stockOutOrderApplicationService.omsOrderAddDetail(outMaterialDetails);
} }
@ApiOperation("出库单提货单打印") @ApiOperation("出库单提货单打印")
@PostMapping("/queryOutStockNoticePrint") @PostMapping("/queryOutStockNoticePrint")
public AjaxResult queryOutStockNoticePrint(@RequestBody StockOutOrderDTO stockOutOrderDTO) { public AjaxResult queryOutStockNoticePrint(@RequestBody StockOutOrderDTO stockOutOrderDTO) {
List<StockOutOrderPO> headerList = stockOutOrderApplicationService.queryOutStockNoticePrint(stockOutOrderDTO); return AjaxResult.success(buildOutStockNoticePrintData(stockOutOrderDTO));
List<OutMaterialDetailPO> detailList = stockOutOrderApplicationService.queryOutStockNoticePrintDetail(stockOutOrderDTO);
Map<String, Object> result = new HashMap<>();
if (!headerList.isEmpty()) {
result.put("header", headerList.get(0));
}
result.put("detailList", detailList);
return AjaxResult.success(result);
} }
@ApiOperation("出库单提货单打印") @ApiOperation("出库单提货单打印")
@PostMapping("/queryOutStockNoticePrintGF") @PostMapping("/queryOutStockNoticePrintGF")
public AjaxResult queryOutStockNoticePrintGF(@RequestBody StockOutOrderDTO stockOutOrderDTO) { public AjaxResult queryOutStockNoticePrintGF(@RequestBody StockOutOrderDTO stockOutOrderDTO) {
return AjaxResult.success(buildOutStockNoticePrintData(stockOutOrderDTO));
}
/**
* 提货单打印统一数据
*/
private Map<String, Object> buildOutStockNoticePrintData(StockOutOrderDTO stockOutOrderDTO) {
List<StockOutOrderPO> headerList = stockOutOrderApplicationService.queryOutStockNoticePrint(stockOutOrderDTO); List<StockOutOrderPO> headerList = stockOutOrderApplicationService.queryOutStockNoticePrint(stockOutOrderDTO);
List<OutMaterialDetailPO> detailList = stockOutOrderApplicationService.queryOutStockNoticePrintDetailGF(stockOutOrderDTO); List<OutMaterialDetailPO> detailList = stockOutOrderApplicationService.queryOutStockNoticePrintDetailGF(stockOutOrderDTO);
for (OutMaterialDetailPO detail : detailList) { for (OutMaterialDetailPO detail : detailList) {
if (detail.getCopyCode() != null && detail.getCopyCode() == 1) { if (detail.getCopyCode() != null && detail.getCopyCode() == 1) {
List<CopyCodeReferencePO> weightList = stockOutOrderApplicationService.queryCopyCodeWeightListByBatch( List<CopyCodeReferencePO> weightList = stockOutOrderApplicationService.queryCopyCodeWeightListByBatch(
@@ -445,7 +451,8 @@ public class StockOutOrderApi extends BaseController {
result.put("header", headerList.get(0)); result.put("header", headerList.get(0));
} }
result.put("detailList", detailList); result.put("detailList", detailList);
return AjaxResult.success(result); fillNoticePrintTitle(result, stockOutOrderDTO);
return result;
} }
} }
@@ -1,67 +1,67 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper"> <mapper namespace="com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper">
<resultMap type="com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderPO" id="StockOutOrderResult"> <resultMap type="com.mhd.wms.domain.stockOutOrder.repository.po.StockOutOrderPO" id="StockOutOrderResult">
<result property="outOrderId" column="out_order_id" /> <result property="outOrderId" column="out_order_id"/>
<result property="organizationId" column="organization_id" /> <result property="organizationId" column="organization_id"/>
<result property="organizationName" column="organization_name" /> <result property="organizationName" column="organization_name"/>
<result property="topOrganizationId" column="top_organization_id" /> <result property="topOrganizationId" column="top_organization_id"/>
<result property="noticeNumber" column="notice_number" /> <result property="noticeNumber" column="notice_number"/>
<result property="outOrderNumber" column="out_order_number" /> <result property="outOrderNumber" column="out_order_number"/>
<result property="status" column="status" /> <result property="status" column="status"/>
<result property="auditStatus" column="audit_status" /> <result property="auditStatus" column="audit_status"/>
<result property="auditRemark" column="audit_remark" /> <result property="auditRemark" column="audit_remark"/>
<result property="auditBy" column="audit_by" /> <result property="auditBy" column="audit_by"/>
<result property="auditByName" column="audit_by_name" /> <result property="auditByName" column="audit_by_name"/>
<result property="auditTime" column="audit_time" /> <result property="auditTime" column="audit_time"/>
<result property="warehouseId" column="warehouse_id" /> <result property="warehouseId" column="warehouse_id"/>
<result property="warehouseCode" column="warehouse_code" /> <result property="warehouseCode" column="warehouse_code"/>
<result property="warehouseName" column="warehouse_name" /> <result property="warehouseName" column="warehouse_name"/>
<result property="shipperId" column="shipper_id" /> <result property="shipperId" column="shipper_id"/>
<result property="shipperName" column="shipper_name" /> <result property="shipperName" column="shipper_name"/>
<result property="orderTypeCode" column="order_type_code" /> <result property="orderTypeCode" column="order_type_code"/>
<result property="orderTypeName" column="order_type_name" /> <result property="orderTypeName" column="order_type_name"/>
<result property="customerId" column="customer_id" /> <result property="customerId" column="customer_id"/>
<result property="customerName" column="customer_name" /> <result property="customerName" column="customer_name"/>
<result property="expectTime" column="expect_time" /> <result property="expectTime" column="expect_time"/>
<result property="supplyChainNumber" column="supply_chain_number" /> <result property="supplyChainNumber" column="supply_chain_number"/>
<result property="priorityLevelCode" column="priority_level_code" /> <result property="priorityLevelCode" column="priority_level_code"/>
<result property="priorityLevelName" column="priority_level_name" /> <result property="priorityLevelName" column="priority_level_name"/>
<result property="directWarehouse" column="direct_warehouse" /> <result property="directWarehouse" column="direct_warehouse"/>
<result property="review" column="review" /> <result property="review" column="review"/>
<result property="annexUrl" column="annex_url" /> <result property="annexUrl" column="annex_url"/>
<result property="materialQuantity" column="material_quantity" /> <result property="materialQuantity" column="material_quantity"/>
<result property="quantity" column="quantity" /> <result property="quantity" column="quantity"/>
<result property="weightLimit" column="weight_limit" /> <result property="weightLimit" column="weight_limit"/>
<result property="volumeLimit" column="volume_limit" /> <result property="volumeLimit" column="volume_limit"/>
<result property="allocationQuantity" column="allocation_quantity" /> <result property="allocationQuantity" column="allocation_quantity"/>
<result property="alreadyAllocationQuantity" column="already_allocation_quantity" /> <result property="alreadyAllocationQuantity" column="already_allocation_quantity"/>
<result property="pickingQuantity" column="picking_quantity" /> <result property="pickingQuantity" column="picking_quantity"/>
<result property="checkQuantity" column="check_quantity" /> <result property="checkQuantity" column="check_quantity"/>
<result property="cancelOrder" column="cancel_order" /> <result property="cancelOrder" column="cancel_order"/>
<result property="cancelRemark" column="cancel_remark" /> <result property="cancelRemark" column="cancel_remark"/>
<result property="cancelBy" column="cancel_by" /> <result property="cancelBy" column="cancel_by"/>
<result property="cancelByName" column="cancel_by_name" /> <result property="cancelByName" column="cancel_by_name"/>
<result property="cancelTime" column="cancel_time" /> <result property="cancelTime" column="cancel_time"/>
<result property="closeOrder" column="close_order" /> <result property="closeOrder" column="close_order"/>
<result property="closeRemark" column="close_remark" /> <result property="closeRemark" column="close_remark"/>
<result property="closeBy" column="close_by" /> <result property="closeBy" column="close_by"/>
<result property="closeByName" column="close_by_name" /> <result property="closeByName" column="close_by_name"/>
<result property="closeTime" column="close_time" /> <result property="closeTime" column="close_time"/>
<result property="remark" column="remark" /> <result property="remark" column="remark"/>
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time"/>
<result property="createBy" column="create_by" /> <result property="createBy" column="create_by"/>
<result property="createByName" column="create_by_name" /> <result property="createByName" column="create_by_name"/>
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by" /> <result property="updateBy" column="update_by"/>
<result property="updateByName" column="update_by_name" /> <result property="updateByName" column="update_by_name"/>
<result property="delFlag" column="del_flag" /> <result property="delFlag" column="del_flag"/>
<result property="overStockId" column="over_stock_id" /> <result property="overStockId" column="over_stock_id"/>
<result property="overStockStatus" column="over_stock_status" /> <result property="overStockStatus" column="over_stock_status"/>
<result property="overStockType" column="over_stock_type" /> <result property="overStockType" column="over_stock_type"/>
<result property="to" column="to"/> <result property="to" column="to"/>
<result property="contactPerson" column="contact_person"/> <result property="contactPerson" column="contact_person"/>
<result property="vehicleModelPlate" column="vehicle_model_plate"/> <result property="vehicleModelPlate" column="vehicle_model_plate"/>
@@ -89,16 +89,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="needDeclareFlag" column="need_declare_flag"/> <result property="needDeclareFlag" column="need_declare_flag"/>
<result property="needTransportFlag" column="need_transport_flag"/> <result property="needTransportFlag" column="need_transport_flag"/>
<result property="pictureApp" column="picture_app"/> <result property="pictureApp" column="picture_app"/>
<result property="billingJson" column="billing_json" /> <result property="billingJson" column="billing_json"/>
<result property="salesmanId" column="SALESMAN_ID" /> <result property="salesmanId" column="SALESMAN_ID"/>
<result property="salesmanName" column="SALESMAN_NAME" /> <result property="salesmanName" column="SALESMAN_NAME"/>
<result property="settlementCurrency" column="SETTLEMENT_CURRENCY" /> <result property="settlementCurrency" column="SETTLEMENT_CURRENCY"/>
<result property="businessOrderNo" column="business_order_no" /> <result property="businessOrderNo" column="business_order_no"/>
</resultMap> </resultMap>
<sql id="selectStockOutOrderPo"> <sql id="selectStockOutOrderPo">
a.out_order_id, a.organization_id, a.organization_name, a.top_organization_id, a.receipt_notice_id, a.notice_number, a.out_order_number, a.status, a
.
out_order_id
, a.organization_id, a.organization_name, a.top_organization_id, a.receipt_notice_id, a.notice_number, a.out_order_number, a.status,
a.audit_status, a.audit_remark, a.audit_by, a.audit_by_name, a.audit_time, a.warehouse_id, a.warehouse_code, a.warehouse_name, a.shipper_id, a.shipper_code, a.audit_status, a.audit_remark, a.audit_by, a.audit_by_name, a.audit_time, a.warehouse_id, a.warehouse_code, a.warehouse_name, a.shipper_id, a.shipper_code,
a.shipper_name, a.order_type_code, a.order_type_name, a.customer_id, a.customer_code, a.customer_name, a.expect_time, a.supply_chain_number, a.priority_level_code, a.shipper_name, a.order_type_code, a.order_type_name, a.customer_id, a.customer_code, a.customer_name, a.expect_time, a.supply_chain_number, a.priority_level_code,
a.priority_level_name, a.direct_warehouse, a.review, a.annex_url, a.material_quantity, a.quantity, a.weight_limit, a.volume_limit, a.priority_level_name, a.direct_warehouse, a.review, a.annex_url, a.material_quantity, a.quantity, a.weight_limit, a.volume_limit,
@@ -303,34 +306,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!-- 出库明细:物料名称、物料编码(同一明细行同时满足;与出库明细口径一致)。关联 material_base_info 避免明细冗余名称与主档不一致时筛不到 --> <!-- 出库明细:物料名称、物料编码(同一明细行同时满足;与出库明细口径一致)。关联 material_base_info 避免明细冗余名称与主档不一致时筛不到 -->
<if test="(materialName != null and materialName != '') or (materialCode != null and materialCode != '')"> <if test="(materialName != null and materialName != '') or (materialCode != null and materialCode != '')">
and exists ( and exists (
select 1 from out_material_detail omd select 1 from out_material_detail omd
left join material_base_info mb on omd.material_base_info_id = mb.material_base_info_id and mb.del_flag = 1 left join material_base_info mb on omd.material_base_info_id = mb.material_base_info_id and mb.del_flag = 1
where omd.out_order_number = a.out_order_number where omd.out_order_number = a.out_order_number
and omd.del_flag = 1 and omd.del_flag = 1
and (omd.level is null or omd.level = 1) and (omd.level is null or omd.level = 1)
<if test="materialName != null and materialName != ''"> <if test="materialName != null and materialName != ''">
and ( and (
omd.material_name like concat('%', #{materialName}, '%') omd.material_name like concat('%', #{materialName}, '%')
or mb.material_name like concat('%', #{materialName}, '%') or mb.material_name like concat('%', #{materialName}, '%')
) )
</if> </if>
<if test="materialCode != null and materialCode != ''"> <if test="materialCode != null and materialCode != ''">
and ( and (
omd.material_code like concat('%', #{materialCode}, '%') omd.material_code like concat('%', #{materialCode}, '%')
or mb.material_code like concat('%', #{materialCode}, '%') or mb.material_code like concat('%', #{materialCode}, '%')
) )
</if> </if>
) )
</if> </if>
<choose> <choose>
<when test="delFlag != null"> and a.del_flag = #{delFlag} </when> <when test="delFlag != null">and a.del_flag = #{delFlag}</when>
<otherwise> and a.del_flag = 1 </otherwise> <otherwise>and a.del_flag = 1</otherwise>
</choose> </choose>
</sql> </sql>
<select id="queryList" parameterType="com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO" resultMap="StockOutOrderResult"> <select id="queryList" parameterType="com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO"
resultMap="StockOutOrderResult">
select select
<include refid="selectStockOutOrderPo"/> <include refid="selectStockOutOrderPo"/>
from stock_out_order a from stock_out_order a
<where> <where>
<include refid="selectStockOutOrderPo1"/> <include refid="selectStockOutOrderPo1"/>
@@ -340,40 +344,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="queryOutStockNoticePrint" resultMap="StockOutOrderResult"> <select id="queryOutStockNoticePrint" resultMap="StockOutOrderResult">
SELECT SELECT a.notice_number,
a.notice_number, a.out_order_number,
a.out_order_number, a.business_order_no,
a.supply_chain_number, a.supply_chain_number,
a.shipper_name, a.shipper_name,
a.expect_time, a.expect_time,
a.document_creator_name, a.document_creator_name,
a.document_creator, a.document_creator,
a.document_date, a.document_date,
a.warehouse_name, a.warehouse_name,
a.remark a.remark
FROM stock_out_order a FROM stock_out_order a
WHERE a.del_flag = 1 WHERE a.del_flag = 1
AND a.out_order_id = #{outOrderId} AND a.out_order_id = #{outOrderId}
</select> </select>
<select id="queryOutStockNoticePrintDetail" resultMap="OutMaterialDetailPOResult"> <select id="queryOutStockNoticePrintDetail" resultMap="OutMaterialDetailPOResult">
SELECT SELECT b.lot_no,
b.lot_no, b.warehouse_code,
b.warehouse_code, b.warehouse_name,
b.warehouse_name, b.material_name,
b.material_name, b.storage_location_name,
b.storage_location_name, b.storage_location_code,
b.storage_location_code, b.piece_count,
b.piece_count, b.unit_name
b.unit_name
FROM out_material_detail b FROM out_material_detail b
WHERE b.del_flag = 1 WHERE b.del_flag = 1
AND b.out_order_number = (SELECT out_order_number FROM stock_out_order WHERE out_order_id = #{outOrderId} AND del_flag = 1) AND b.out_order_number =
(SELECT out_order_number FROM stock_out_order WHERE out_order_id = #{outOrderId} AND del_flag = 1)
ORDER BY b.material_detail_id ORDER BY b.material_detail_id
</select> </select>
<resultMap type="com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialDetailPO" id="OutMaterialDetailPOResult"> <resultMap type="com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialDetailPO"
id="OutMaterialDetailPOResult">
<result property="lotNo" column="lot_no"/> <result property="lotNo" column="lot_no"/>
<result property="warehouseCode" column="warehouse_code"/> <result property="warehouseCode" column="warehouse_code"/>
<result property="warehouseName" column="warehouse_name"/> <result property="warehouseName" column="warehouse_name"/>
@@ -395,8 +400,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<resultMap type="com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO" id="CopyCodeWeightResult"> <resultMap type="com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO" id="CopyCodeWeightResult">
<result property="netWeight" column="net_weight"/> <result property="netWeight" column="net_weight"/>
<result property="grossWeight" column="gross_weight"/> <result property="grossWeight" column="gross_weight"/>
@@ -406,12 +409,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</resultMap> </resultMap>
<select id="queryCopyCodeWeightListByBatch" resultMap="CopyCodeWeightResult"> <select id="queryCopyCodeWeightListByBatch" resultMap="CopyCodeWeightResult">
SELECT SELECT ccr.net_weight,
ccr.net_weight, ccr.gross_weight,
ccr.gross_weight, ccr.inventory_quantity,
ccr.inventory_quantity, ccr.lot_number,
ccr.lot_number, ccr.box_pallet_no
ccr.box_pallet_no
FROM copy_code_reference ccr FROM copy_code_reference ccr
WHERE ccr.del_flag = 1 WHERE ccr.del_flag = 1
AND ccr.batch_number = #{batchNumber} AND ccr.batch_number = #{batchNumber}
@@ -422,27 +424,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="queryOutStockNoticePrintDetailGF" resultMap="OutMaterialDetailPOResult"> <select id="queryOutStockNoticePrintDetailGF" resultMap="OutMaterialDetailPOResult">
SELECT SELECT b.batch_number,
b.batch_number, b.material_code,
b.material_code, b.material_name,
b.material_name, COALESCE(b.specification_model, b.size, b.liter, mbi.specification_model) AS specification_model,
b.specification_model, b.quantity,
b.quantity, b.unit_name,
b.unit_name, b.pack_name,
b.pack_name, b.warehouse_code,
b.warehouse_code, b.warehouse_name,
b.warehouse_id, b.warehouse_id,
b.storage_location_name, b.storage_location_name,
b.lot_no, b.lot_no,
b.piece_count, b.piece_count,
b.material_base_info_id, b.material_base_info_id,
b.outbound_quantity, b.outbound_quantity,
b.box_pallet_no, b.box_pallet_no,
mbi.copy_code mbi.copy_code
FROM out_material_detail b FROM out_material_detail b
LEFT JOIN material_base_info mbi ON b.material_base_info_id = mbi.material_base_info_id LEFT JOIN material_base_info mbi ON b.material_base_info_id = mbi.material_base_info_id
WHERE b.del_flag = 1 WHERE b.del_flag = 1
AND b.out_order_number = (SELECT out_order_number FROM stock_out_order WHERE out_order_id = #{outOrderId} AND del_flag = 1) AND b.out_order_number =
(SELECT out_order_number FROM stock_out_order WHERE out_order_id = #{outOrderId} AND del_flag = 1)
ORDER BY b.material_detail_id ORDER BY b.material_detail_id
</select> </select>