diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java index 4dfb5ba24..2b0dda4ea 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/stockOutOrder/repository/mapper/StockOutOrderMapper.java @@ -16,8 +16,7 @@ import java.util.List; * @author gen * @date 2024-05-28 */ -public interface StockOutOrderMapper extends BaseMapper -{ +public interface StockOutOrderMapper extends BaseMapper { /** * 查询出库单列表 */ diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java index 01a316880..cf79232bc 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/dto/stockOutOrder/StockOutOrderDTO.java @@ -441,4 +441,10 @@ public class StockOutOrderDTO extends StockOutOrderBaseDTO { private String salesmanName; @ApiModelProperty("费用") List receiptOrderAccountList; + + /** + * 提货单打印所选模版(与图5单选项文案一致即可)。可传副标题如「谷丰--营销部」,或整段「提货单--谷丰--营销部」;不传则标题为「提货单」 + */ + @ApiModelProperty("提货单打印模版名/弹窗选项全文;后端生成 printTitle(-- 会规范为 ——)") + private String noticePrintTemplateName; } \ No newline at end of file diff --git a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java index ed892dc9c..bf161ccfa 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java +++ b/mhd_wms/src/main/java/com/mhd/wms/interfaces/facadeApi/stockOutOrder/StockOutOrderApi.java @@ -64,14 +64,40 @@ public class StockOutOrderApi extends BaseController { @Autowired private IStockOutOrderService stockOutOrderService; + @Autowired + private ExcelParseService excelParseService; + + /** + * 提货单大标题:未选时为「提货单」;可传副标题如「谷丰--营销部」,或与弹窗一致传整段「提货单--谷丰--营销部」(后者原样作标题,并将 -- 规范为 ——)。 + */ + private static void fillNoticePrintTitle(Map 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("查询出库单列表") @GetMapping("/list") - public TableDataInfo list(StockOutOrderDTO stockOutOrderDTO) - { + public TableDataInfo list(StockOutOrderDTO stockOutOrderDTO) { //转换实体 StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); startPage(); @@ -79,9 +105,6 @@ public class StockOutOrderApi extends BaseController { return getDataTable(list); } - @Autowired - private ExcelParseService excelParseService; - /** * 上传并解析出仓委托单Excel */ @@ -122,13 +145,12 @@ public class StockOutOrderApi extends BaseController { */ @ApiOperation("编辑出库单") @PostMapping("/edit") - public AjaxResult edit(@RequestBody StockOutOrderDTO stockOutOrderDTO) - { + public AjaxResult edit(@RequestBody StockOutOrderDTO stockOutOrderDTO) { //转换实体 StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDOByEdit(stockOutOrderDTO); - if(stockOutOrderDTO.getOutOrderId() != null){ + if (stockOutOrderDTO.getOutOrderId() != null) { return toAjax(stockOutOrderApplicationService.update(stockOutOrderDO)); - }else { + } else { return toAjax(stockOutOrderApplicationService.insert(stockOutOrderDO)); } } @@ -138,8 +160,7 @@ public class StockOutOrderApi extends BaseController { */ @ApiOperation("批量删除出库单") @DeleteMapping("/deleteByIds/{outOrderIds}") - public AjaxResult delete(@PathVariable Long[] outOrderIds) - { + public AjaxResult delete(@PathVariable Long[] outOrderIds) { return toAjax(stockOutOrderApplicationService.delete(outOrderIds)); } @@ -148,17 +169,16 @@ public class StockOutOrderApi extends BaseController { */ @ApiOperation("获取出库单") @GetMapping(value = "/getInfo/{outOrderId}") - public AjaxResult getInfo(@PathVariable("outOrderId") Long outOrderId) - { + public AjaxResult getInfo(@PathVariable("outOrderId") Long outOrderId) { return AjaxResult.success(stockOutOrderApplicationService.getInfoChildren(outOrderId)); } + /** * 根据出库单号获取出库单详细信息 */ @ApiOperation("获取出库单") @GetMapping(value = "/getInfoOutOrderNumber") - public AjaxResult getInfoOutOrderNumber(String outOrderNumber) - { + public AjaxResult getInfoOutOrderNumber(String outOrderNumber) { // 根据出库单号查询出库单,再按出库单ID查询详情,保证与出库管理页面一致 StockOutOrder stockOutOrder = stockOutOrderService.getOne(new LambdaQueryWrapper() .eq(StockOutOrder::getOutOrderNumber, outOrderNumber)); @@ -210,7 +230,6 @@ public class StockOutOrderApi extends BaseController { return toAjax(stockOutOrderApplicationService.manualAssign(stockOutOrderDO)); } - /** * 手动分配 */ @@ -280,12 +299,11 @@ public class StockOutOrderApi extends BaseController { */ @ApiOperation("生成拣货单") @PostMapping("/genPickingOrder") - public AjaxResult genPickingOrder(@RequestBody StockOutOrderDTO stockOutOrderDTO){ + public AjaxResult genPickingOrder(@RequestBody StockOutOrderDTO stockOutOrderDTO) { StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class); return toAjax(stockOutOrderApplicationService.genPickingOrder(stockOutOrderDO)); } - /** * 复核下发 */ @@ -303,8 +321,7 @@ public class StockOutOrderApi extends BaseController { */ @ApiOperation("获取出库单复核详细信息") @GetMapping(value = "/getCheckInfo") - public AjaxResult getCheckInfo(StockOutOrderDTO stockOutOrderDTO) - { + public AjaxResult getCheckInfo(StockOutOrderDTO stockOutOrderDTO) { //转换实体 StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDO(stockOutOrderDTO); return AjaxResult.success(stockOutOrderApplicationService.getCheckInfo(stockOutOrderDO)); @@ -320,7 +337,6 @@ public class StockOutOrderApi extends BaseController { return AjaxResult.success(stockOutOrderApplicationService.singleCheck(stockOutOrderDO)); } - /** * 批量复核 */ @@ -331,7 +347,6 @@ public class StockOutOrderApi extends BaseController { return toAjax(stockOutOrderApplicationService.batchCheck(stockOutOrderDO)); } - /** * 批量取消复核 */ @@ -342,7 +357,6 @@ public class StockOutOrderApi extends BaseController { return toAjax(stockOutOrderApplicationService.batchCancelCheck(stockOutOrderDO)); } - /** * 批量复核确认 */ @@ -353,7 +367,6 @@ public class StockOutOrderApi extends BaseController { return toAjax(stockOutOrderApplicationService.checkConfirm(stockOutOrderDO)); } - /** * 根据指定规则生成波次单 */ @@ -382,12 +395,9 @@ public class StockOutOrderApi extends BaseController { StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class); return toAjax(stockOutOrderApplicationService.autoAssign(stockOutOrderDO)); }*/ - - @ApiOperation("关闭出库单") @PostMapping("/close") - public AjaxResult close(@RequestBody StockOutOrderDTO stockOutOrderDTO) - { + public AjaxResult close(@RequestBody StockOutOrderDTO stockOutOrderDTO) { //转换实体 StockOutOrderDO stockOutOrderDO = stockOutOrderAssembler.toDOByEdit(stockOutOrderDTO); return toAjax(stockOutOrderApplicationService.close(stockOutOrderDO)); @@ -411,28 +421,24 @@ public class StockOutOrderApi extends BaseController { stockOutOrderApplicationService.omsOrderAddDetail(outMaterialDetails); } - @ApiOperation("出库单提货单打印") @PostMapping("/queryOutStockNoticePrint") public AjaxResult queryOutStockNoticePrint(@RequestBody StockOutOrderDTO stockOutOrderDTO) { - List headerList = stockOutOrderApplicationService.queryOutStockNoticePrint(stockOutOrderDTO); - List detailList = stockOutOrderApplicationService.queryOutStockNoticePrintDetail(stockOutOrderDTO); - - Map result = new HashMap<>(); - if (!headerList.isEmpty()) { - result.put("header", headerList.get(0)); - } - result.put("detailList", detailList); - return AjaxResult.success(result); + return AjaxResult.success(buildOutStockNoticePrintData(stockOutOrderDTO)); } - @ApiOperation("出库单提货单打印") @PostMapping("/queryOutStockNoticePrintGF") public AjaxResult queryOutStockNoticePrintGF(@RequestBody StockOutOrderDTO stockOutOrderDTO) { + return AjaxResult.success(buildOutStockNoticePrintData(stockOutOrderDTO)); + } + + /** + * 提货单打印统一数据 + */ + private Map buildOutStockNoticePrintData(StockOutOrderDTO stockOutOrderDTO) { List headerList = stockOutOrderApplicationService.queryOutStockNoticePrint(stockOutOrderDTO); List detailList = stockOutOrderApplicationService.queryOutStockNoticePrintDetailGF(stockOutOrderDTO); - for (OutMaterialDetailPO detail : detailList) { if (detail.getCopyCode() != null && detail.getCopyCode() == 1) { List weightList = stockOutOrderApplicationService.queryCopyCodeWeightListByBatch( @@ -445,7 +451,8 @@ public class StockOutOrderApi extends BaseController { result.put("header", headerList.get(0)); } result.put("detailList", detailList); - return AjaxResult.success(result); + fillNoticePrintTitle(result, stockOutOrderDTO); + return result; } } \ No newline at end of file diff --git a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml index f15e0c51e..8cd340171 100644 --- a/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml +++ b/mhd_wms/src/main/resources/mapper/stockOutOrder/StockOutOrderMapper.xml @@ -1,67 +1,67 @@ + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -89,16 +89,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - - - - + + + + + - 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.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, @@ -303,34 +306,35 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and exists ( - 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 - where omd.out_order_number = a.out_order_number - and omd.del_flag = 1 - and (omd.level is null or omd.level = 1) - - and ( - omd.material_name like concat('%', #{materialName}, '%') - or mb.material_name like concat('%', #{materialName}, '%') - ) - - - and ( - omd.material_code like concat('%', #{materialCode}, '%') - or mb.material_code like concat('%', #{materialCode}, '%') - ) - + 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 + where omd.out_order_number = a.out_order_number + and omd.del_flag = 1 + and (omd.level is null or omd.level = 1) + + and ( + omd.material_name like concat('%', #{materialName}, '%') + or mb.material_name like concat('%', #{materialName}, '%') + ) + + + and ( + omd.material_code like concat('%', #{materialCode}, '%') + or mb.material_code like concat('%', #{materialCode}, '%') + ) + ) - and a.del_flag = #{delFlag} - and a.del_flag = 1 + and a.del_flag = #{delFlag} + and a.del_flag = 1 - select - + from stock_out_order a @@ -340,40 +344,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -395,8 +400,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - @@ -406,12 +409,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - SELECT - b.batch_number, - b.material_code, - b.material_name, - b.specification_model, - b.quantity, - b.unit_name, - b.pack_name, - b.warehouse_code, - b.warehouse_id, - b.storage_location_name, - b.lot_no, - b.piece_count, - b.material_base_info_id, - b.outbound_quantity, - b.box_pallet_no, - mbi.copy_code + SELECT b.batch_number, + b.material_code, + b.material_name, + COALESCE(b.specification_model, b.size, b.liter, mbi.specification_model) AS specification_model, + b.quantity, + b.unit_name, + b.pack_name, + b.warehouse_code, + b.warehouse_name, + b.warehouse_id, + b.storage_location_name, + b.lot_no, + b.piece_count, + b.material_base_info_id, + b.outbound_quantity, + b.box_pallet_no, + mbi.copy_code FROM out_material_detail b LEFT JOIN material_base_info mbi ON b.material_base_info_id = mbi.material_base_info_id 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