提货单打印修改
This commit is contained in:
+1
-2
@@ -16,8 +16,7 @@ import java.util.List;
|
||||
* @author gen
|
||||
* @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;
|
||||
@ApiModelProperty("费用")
|
||||
List<ReceiptOrderAccount> receiptOrderAccountList;
|
||||
|
||||
/**
|
||||
* 提货单打印所选模版(与图5单选项文案一致即可)。可传副标题如「谷丰--营销部」,或整段「提货单--谷丰--营销部」;不传则标题为「提货单」
|
||||
*/
|
||||
@ApiModelProperty("提货单打印模版名/弹窗选项全文;后端生成 printTitle(-- 会规范为 ——)")
|
||||
private String noticePrintTemplateName;
|
||||
}
|
||||
+45
-38
@@ -64,14 +64,40 @@ public class StockOutOrderApi extends BaseController {
|
||||
|
||||
@Autowired
|
||||
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("查询出库单列表")
|
||||
@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,8 +145,7 @@ 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) {
|
||||
@@ -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<StockOutOrder>()
|
||||
.eq(StockOutOrder::getOutOrderNumber, outOrderNumber));
|
||||
@@ -210,7 +230,6 @@ public class StockOutOrderApi extends BaseController {
|
||||
return toAjax(stockOutOrderApplicationService.manualAssign(stockOutOrderDO));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 手动分配
|
||||
*/
|
||||
@@ -285,7 +304,6 @@ public class StockOutOrderApi extends BaseController {
|
||||
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<StockOutOrderPO> headerList = stockOutOrderApplicationService.queryOutStockNoticePrint(stockOutOrderDTO);
|
||||
List<OutMaterialDetailPO> detailList = stockOutOrderApplicationService.queryOutStockNoticePrintDetail(stockOutOrderDTO);
|
||||
|
||||
Map<String, Object> result = new HashMap<>();
|
||||
if (!headerList.isEmpty()) {
|
||||
result.put("header", headerList.get(0));
|
||||
return AjaxResult.success(buildOutStockNoticePrintData(stockOutOrderDTO));
|
||||
}
|
||||
result.put("detailList", detailList);
|
||||
return AjaxResult.success(result);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("出库单提货单打印")
|
||||
@PostMapping("/queryOutStockNoticePrintGF")
|
||||
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<OutMaterialDetailPO> detailList = stockOutOrderApplicationService.queryOutStockNoticePrintDetailGF(stockOutOrderDTO);
|
||||
|
||||
for (OutMaterialDetailPO detail : detailList) {
|
||||
if (detail.getCopyCode() != null && detail.getCopyCode() == 1) {
|
||||
List<CopyCodeReferencePO> 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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -98,7 +98,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
|
||||
<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.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,
|
||||
@@ -328,7 +331,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</choose>
|
||||
</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
|
||||
<include refid="selectStockOutOrderPo"/>
|
||||
from stock_out_order a
|
||||
@@ -340,9 +344,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
|
||||
<select id="queryOutStockNoticePrint" resultMap="StockOutOrderResult">
|
||||
SELECT
|
||||
a.notice_number,
|
||||
SELECT a.notice_number,
|
||||
a.out_order_number,
|
||||
a.business_order_no,
|
||||
a.supply_chain_number,
|
||||
a.shipper_name,
|
||||
a.expect_time,
|
||||
@@ -357,8 +361,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</select>
|
||||
|
||||
<select id="queryOutStockNoticePrintDetail" resultMap="OutMaterialDetailPOResult">
|
||||
SELECT
|
||||
b.lot_no,
|
||||
SELECT b.lot_no,
|
||||
b.warehouse_code,
|
||||
b.warehouse_name,
|
||||
b.material_name,
|
||||
@@ -368,12 +371,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
b.unit_name
|
||||
FROM out_material_detail b
|
||||
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
|
||||
</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="warehouseCode" column="warehouse_code"/>
|
||||
<result property="warehouseName" column="warehouse_name"/>
|
||||
@@ -395,8 +400,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
|
||||
|
||||
|
||||
<resultMap type="com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO" id="CopyCodeWeightResult">
|
||||
<result property="netWeight" column="net_weight"/>
|
||||
<result property="grossWeight" column="gross_weight"/>
|
||||
@@ -406,8 +409,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
</resultMap>
|
||||
|
||||
<select id="queryCopyCodeWeightListByBatch" resultMap="CopyCodeWeightResult">
|
||||
SELECT
|
||||
ccr.net_weight,
|
||||
SELECT ccr.net_weight,
|
||||
ccr.gross_weight,
|
||||
ccr.inventory_quantity,
|
||||
ccr.lot_number,
|
||||
@@ -422,15 +424,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
|
||||
|
||||
<select id="queryOutStockNoticePrintDetailGF" resultMap="OutMaterialDetailPOResult">
|
||||
SELECT
|
||||
b.batch_number,
|
||||
SELECT b.batch_number,
|
||||
b.material_code,
|
||||
b.material_name,
|
||||
b.specification_model,
|
||||
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,
|
||||
@@ -442,7 +444,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
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
|
||||
</select>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user