提货单打印修改

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
* @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;
}
@@ -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,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<StockOutOrder>()
.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<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));
}
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<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;
}
}