From 2a8ed782e53eca82ad577482c1e568003a58429c Mon Sep 17 00:00:00 2001 From: "han\\hanst" Date: Thu, 30 Jul 2026 17:30:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=87=E7=AD=BE=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/service/Impl/BaseServiceImpl.java | 48 +++++++------------ .../Impl/ReportLabelListServiceImpl.java | 42 ++++++++-------- src/main/resources/mapper/base/BaseMapper.xml | 19 ++++---- 3 files changed, 49 insertions(+), 60 deletions(-) diff --git a/src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java b/src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java index 45181cb..5d73685 100644 --- a/src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java +++ b/src/main/java/com/gaotao/modules/base/service/Impl/BaseServiceImpl.java @@ -402,49 +402,35 @@ public class BaseServiceImpl implements BaseService { @Override @Transactional public void insertUserLabelPrinter(UserLabelPrinterData inData) { - //公共参数 - String site = inData.getSite(); - String userId = inData.getUserId(); - String labelNo = inData.getLabelNo(); - //调用存储过程 判断是否可以新增 - Map checkMap = this.checkInsertUserLabelPrinter(site, userId, labelNo); - //判断是否检验成功 - String resultCode = String.valueOf(checkMap.get("resultCode")); - if (!"200".equalsIgnoreCase(resultCode)) { - String msg = String.valueOf(checkMap.get("resultMsg")); - String objectId = String.valueOf(checkMap.get("objectId")); - throw new XJException(msg, Integer.parseInt(resultCode), objectId); + String userId = trimUpper(inData.getUserId()); + String labelType = trimToEmpty(inData.getLabelType()); + // 打印机配置已改为 UserID + ReportFamily 主键,插入时必须显式携带标签类型。 + if (isBlank(userId)) { + throw new XJException(sysMsgService.getLanguageMsg(SysMsgConstant.OBJECT_ID_200078)); } + if (isBlank(labelType)) { + throw new XJException("标签类型不能为空!"); + } + inData.setUserId(userId); + inData.setLabelType(labelType); + inData.setLabelNo(trimUpper(inData.getLabelNo())); baseMapper.insertUserLabelPrinter(inData); } - /** - * @description: 调用存储过程 检查是否可以插入当前用户的标签打印机参数 - * @author LR - * @date 2023/1/6 13:36 - * @version 1.0 - */ - public Map checkInsertUserLabelPrinter(String site, String userId, String labelNo) { - List params = new ArrayList<>(); - params.add(site); - params.add(userId); - params.add(labelNo); - //存储过程 调用存储过程 创建分卷 - List> resultList = procedureMapper.getProcedureData("checkInsertUserLabelPrinter", params); - //返回结果 - return resultList.get(0); - } - @Override public void updateUserLabelPrinter(UserLabelPrinterData inData) { - //修改目前不需要做校验 + inData.setUserId(trimUpper(inData.getUserId())); + inData.setLabelType(trimToEmpty(inData.getLabelType())); + // 修改按 UserID + ReportFamily 定位,避免误更新其他标签类型。 baseMapper.updateUserLabelPrinter(inData); } @Override public void deleteUserLabelPrinter(UserLabelPrinterData inData) { - //目前不需要做校验 + inData.setUserId(trimUpper(inData.getUserId())); + inData.setLabelType(trimToEmpty(inData.getLabelType())); + // 删除按 UserID + ReportFamily 定位,避免误删其他标签类型。 baseMapper.deleteUserLabelPrinter(inData); } diff --git a/src/main/java/com/gaotao/modules/base/service/Impl/ReportLabelListServiceImpl.java b/src/main/java/com/gaotao/modules/base/service/Impl/ReportLabelListServiceImpl.java index d65f0c0..126d7d4 100644 --- a/src/main/java/com/gaotao/modules/base/service/Impl/ReportLabelListServiceImpl.java +++ b/src/main/java/com/gaotao/modules/base/service/Impl/ReportLabelListServiceImpl.java @@ -235,18 +235,12 @@ public class ReportLabelListServiceImpl extends ServiceImpl printers = baseService.getUserLabelPrinters(printerQuery); - if (printers.isEmpty()) { - throw new RuntimeException("未找到指定的打印机配置"); - } - UserLabelPrinterData printer = printers.getFirst(); + String printerLabelType = StringUtils.defaultIfBlank( + defaultLabelSettingData.getLabelType(), + printRequest.getLabelType() + ); + UserLabelPrinterData printer = getRequiredLabelPrinter(printRequest.getUserId(), printerLabelType); String printerIP = printer.getIpAddress(); - if (printerIP == null || printerIP.trim().isEmpty()) { - throw new RuntimeException("打印机IP地址未配置"); - } // 4. 处理打印份数 int requestedCopies = printRequest.getCopies() != null && printRequest.getCopies() > 0 ? printRequest.getCopies() : 1; @@ -723,7 +717,7 @@ public class ReportLabelListServiceImpl extends ServiceImpl customFields = printRequest.getCustomFields(); // 2. 获取外箱标签打印机配置 - UserLabelPrinterData outerPrinter = getRequiredLabelPrinter(printRequest.getUserId(), outerLabelSetting.getLabelNo()); + UserLabelPrinterData outerPrinter = getRequiredLabelPrinter(printRequest.getUserId(), outerLabelSetting.getLabelType()); // 3. 生成外箱打印任务 List taskIds = new ArrayList<>(); @@ -820,17 +814,22 @@ public class ReportLabelListServiceImpl extends ServiceImpl printers = baseService.getUserLabelPrinters(printerQuery); if (printers == null || printers.isEmpty()) { - throw new RuntimeException("未找到指定的打印机配置: labelNo=" + labelNo); + throw new RuntimeException("未找到指定的打印机配置: labelType=" + normalizedLabelType); } UserLabelPrinterData printer = printers.getFirst(); if (StringUtils.isBlank(printer.getIpAddress())) { - throw new RuntimeException("打印机IP地址未配置: labelNo=" + labelNo); + throw new RuntimeException("打印机IP地址未配置: labelType=" + normalizedLabelType); } return printer; } @@ -880,7 +879,7 @@ public class ReportLabelListServiceImpl extends ServiceImpl innerQueryParams = baseQueryParams; @@ -921,11 +920,14 @@ public class ReportLabelListServiceImpl extends ServiceImpl @@ -286,8 +287,8 @@ - INSERT INTO ReportFileList_UserPrinter(ReportID, UserID, PrinterName, IPAddress, NewPrinterName) - VALUES (#{labelNo}, #{userId}, '', #{ipAddress}, #{printerName}) + INSERT INTO ReportFileList_UserPrinter(ReportFamily, ReportID, UserID, PrinterName, IPAddress, NewPrinterName) + VALUES (#{labelType}, ISNULL(#{labelNo}, ''), #{userId}, '', #{ipAddress}, #{printerName}) @@ -295,7 +296,7 @@ UPDATE ReportFileList_UserPrinter SET IPAddress = #{ipAddress}, NewPrinterName = #{printerName} - AND ReportID = #{labelNo} AND UserID = #{userId} + AND ReportFamily = #{labelType} AND UserID = #{userId} @@ -303,7 +304,7 @@ DELETE FROM ReportFileList_UserPrinter - AND ReportID = #{labelNo} AND UserID = #{userId} + AND ReportFamily = #{labelType} AND UserID = #{userId}