From 5cb7f260c373264e05d5d671a1357613754c129f Mon Sep 17 00:00:00 2001 From: fengyuan_yang <1976974459@qq.com> Date: Wed, 24 Dec 2025 14:05:36 +0800 Subject: [PATCH] =?UTF-8?q?2025-12-24=20pda=E6=8B=86=E5=92=8C=E7=BB=84?= =?UTF-8?q?=E6=89=98=E6=8F=90=E4=BA=A4=E6=97=B6=E8=B0=83=E7=94=A8=E6=89=93?= =?UTF-8?q?=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/LabelSplitMergeController.java | 13 ++--- .../service/LabelSplitMergeService.java | 4 +- .../impl/LabelSplitMergeServiceImpl.java | 51 ++++++++++++++++++- 3 files changed, 55 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/gaotao/modules/labelSplitMerge/controller/LabelSplitMergeController.java b/src/main/java/com/gaotao/modules/labelSplitMerge/controller/LabelSplitMergeController.java index ec38594..6a28f58 100644 --- a/src/main/java/com/gaotao/modules/labelSplitMerge/controller/LabelSplitMergeController.java +++ b/src/main/java/com/gaotao/modules/labelSplitMerge/controller/LabelSplitMergeController.java @@ -160,15 +160,10 @@ public class LabelSplitMergeController { // 设置操作人(这里可以从session或token中获取) params.put("operator", "PDA用户"); // 实际项目中应该获取真实用户信息 - boolean result = labelSplitMergeService.mergeLabel(params); - - if (result) { - logger.info("标签合并成功,目标标签: {}, 源标签: {}", targetLabelCode, sourceLabelCode); - return R.ok("标签合并成功"); - } else { - logger.error("标签合并失败,目标标签: {}, 源标签: {}", targetLabelCode, sourceLabelCode); - return R.error("标签合并失败"); - } + Map result = labelSplitMergeService.mergeLabel(params); + + logger.info("标签合并成功,目标标签: {}, 源标签: {}", targetLabelCode, sourceLabelCode); + return R.ok("标签合并成功").put("data", result); } catch (Exception e) { logger.error("标签合并失败", e); diff --git a/src/main/java/com/gaotao/modules/labelSplitMerge/service/LabelSplitMergeService.java b/src/main/java/com/gaotao/modules/labelSplitMerge/service/LabelSplitMergeService.java index 98163de..dc89263 100644 --- a/src/main/java/com/gaotao/modules/labelSplitMerge/service/LabelSplitMergeService.java +++ b/src/main/java/com/gaotao/modules/labelSplitMerge/service/LabelSplitMergeService.java @@ -32,7 +32,7 @@ public interface LabelSplitMergeService extends IService /** * 标签合并 * @param params 合并参数 - * @return 操作结果 + * @return 操作结果(包含打印参数列表) */ - boolean mergeLabel(Map params); + Map mergeLabel(Map params); } \ No newline at end of file diff --git a/src/main/java/com/gaotao/modules/labelSplitMerge/service/impl/LabelSplitMergeServiceImpl.java b/src/main/java/com/gaotao/modules/labelSplitMerge/service/impl/LabelSplitMergeServiceImpl.java index db739e5..689802a 100644 --- a/src/main/java/com/gaotao/modules/labelSplitMerge/service/impl/LabelSplitMergeServiceImpl.java +++ b/src/main/java/com/gaotao/modules/labelSplitMerge/service/impl/LabelSplitMergeServiceImpl.java @@ -10,6 +10,7 @@ import com.gaotao.modules.trans.service.TransDetailService; import com.gaotao.modules.trans.service.TransDetailSubService; import com.gaotao.modules.trans.service.TransHeaderService; import com.gaotao.modules.trans.service.TransNoControlService; +import com.gaotao.modules.wms.dao.WmsPrintDao; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -49,6 +50,9 @@ public class LabelSplitMergeServiceImpl extends ServiceImpl getStockInfoByLabelCode(String labelCode, String site, String warehouseId) { logger.info("根据标签条码获取库存信息,标签条码: {}, 站点: {}, 仓库: {}", labelCode, site, warehouseId); @@ -148,11 +152,34 @@ public class LabelSplitMergeServiceImpl extends ServiceImpl> printList = new ArrayList<>(); + try { + // 原标签打印参数 + Map printData1 = wmsPrintDao.callUspPartLabelTemplate( + site, buNo, "*", "", "", "", partNo, "", originalLabelCode + ); + if (printData1 != null) { + printList.add(printData1); + } + + // 新标签打印参数 + Map printData2 = wmsPrintDao.callUspPartLabelTemplate( + site, buNo, "*", "", "", "", partNo, "", newLabelCode + ); + if (printData2 != null) { + printList.add(printData2); + } + } catch (Exception e) { + logger.warn("获取打印参数失败,不影响拆分操作", e); + } + Map result = new HashMap<>(); result.put("newLabelCode", newLabelCode); result.put("originalQuantity", originalQuantity); result.put("splitQuantity", splitQuantity); result.put("remainingQuantity", remainingQuantity); + result.put("printList", printList); logger.info("标签拆分成功,原标签: {}, 新标签: {}, 拆分数量: {}", originalLabelCode, newLabelCode, splitQuantity); return result; @@ -165,7 +192,7 @@ public class LabelSplitMergeServiceImpl extends ServiceImpl params) { + public Map mergeLabel(Map params) { logger.info("开始标签合并,参数: {}", params); try { @@ -215,8 +242,28 @@ public class LabelSplitMergeServiceImpl extends ServiceImpl> printList = new ArrayList<>(); + try { + Map printData = wmsPrintDao.callUspPartLabelTemplate( + site, buNo, "*", "", "", "", partNo, "", sourceLabelCode + ); + if (printData != null) { + printList.add(printData); + } + } catch (Exception e) { + logger.warn("获取打印参数失败,不影响合并操作", e); + } + + Map result = new HashMap<>(); + result.put("success", true); + result.put("sourceLabelCode", sourceLabelCode); + result.put("targetLabelCode", targetLabelCode); + result.put("mergedQuantity", mergedQuantity); + result.put("printList", printList); + logger.info("标签合并成功,源标签: {}, 目标标签: {}, 合并数量: {}", sourceLabelCode, targetLabelCode, sourceQuantity); - return true; + return result; } catch (Exception e) { logger.error("标签合并失败", e);