From fa0b4e87de91de794810f4881402fb0e29ffeeba Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Thu, 25 Sep 2025 14:19:35 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=20=E6=B1=9F=E8=8B=8F=E5=9B=BD?= =?UTF-8?q?=E6=B3=B0=E5=9B=BD=E5=8D=8E=E8=AE=A2=E5=8D=95=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5=20-=20=E8=AE=A2=E5=8D=95=E6=A8=A1=E7=89=88?= =?UTF-8?q?=20=E6=8E=A5=E5=8F=A3=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit committer: heyu --- .../erp/web/emis/EmisCommonController.java | 328 +++++++++++++++++- .../erp/emis/domain/EmisWaybillExternal.java | 157 +++++++++ .../mapper/EmisWaybillExternalMapper.java | 76 ++++ .../service/IEmisWaybillExternalService.java | 91 +++++ .../impl/EmisWaybillExternalServiceImpl.java | 142 ++++++++ .../service/impl/EmisWaybillServiceImpl.java | 16 +- .../emis/service/print/tanex/ItemHelper.java | 161 +++++++++ .../service/print/tanex/TanexPdfPrinter.java | 5 +- .../mapper/EmisWaybillExternalMapper.xml | 122 +++++++ .../src/main/resources/tpl/TAN-EXTERNAL.pdf | Bin 0 -> 162976 bytes 10 files changed, 1085 insertions(+), 13 deletions(-) create mode 100644 emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillExternal.java create mode 100644 emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillExternalMapper.java create mode 100644 emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillExternalService.java create mode 100644 emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillExternalServiceImpl.java create mode 100644 emis-biz/src/main/resources/mapper/EmisWaybillExternalMapper.xml create mode 100644 emis-biz/src/main/resources/tpl/TAN-EXTERNAL.pdf diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java index 4243c5e31..a0c15275b 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java @@ -11,9 +11,11 @@ package com.xdadan.erp.web.emis; +import cn.hutool.core.util.IdUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.xdadan.erp.common.annotation.Log; +import com.xdadan.erp.common.config.PayConfig; import com.xdadan.erp.common.core.domain.AjaxResult; import com.xdadan.erp.common.core.domain.entity.SysUser; import com.xdadan.erp.common.core.redis.RedissonService; @@ -33,7 +35,9 @@ import com.xdadan.erp.emis.service.print.tanex.TanexPdfPrinter; import com.xdadan.erp.emis.utils.WaybillHelper; import com.xdadan.erp.framework.manager.AsyncManager; import com.xdadan.erp.framework.manager.factory.AsyncFactory; +import com.xdadan.erp.system.domain.SysFileInfo; import com.xdadan.erp.system.service.ISysConfigService; +import com.xdadan.erp.system.service.ISysFileInfoService; import com.xdadan.erp.system.service.ISysNoticeService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.digest.DigestUtils; @@ -45,6 +49,8 @@ import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileOutputStream; import java.io.OutputStream; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; @@ -80,7 +86,6 @@ public class EmisCommonController extends EmisBaseController @Autowired private RL7moorService rl7moorService; - @Autowired private ISysConfigService configService; @@ -126,6 +131,12 @@ public class EmisCommonController extends EmisBaseController @Autowired private IEmisCustomerSignService emisCustomerSignService; + @Autowired + private ISysFileInfoService sysFileInfoService; + + @Autowired + private IEmisWaybillExternalService emisWaybillExternalService; + /** * 在线支付回调 * @param method @@ -1481,6 +1492,11 @@ public class EmisCommonController extends EmisBaseController // 5. 调用service处理订单信息 Map result = emisWaybillService.processOrderToWaybill(orderDatas, appId); + // 6. 从返回结果中获取客户信息 + String customerName = (String) result.getOrDefault("customerName", ""); + String custNo = (String) result.getOrDefault("custNo", ""); + String createSite = (String) result.getOrDefault("createSite", ""); + // 6. 转换返回结果 JSONObject response = new JSONObject(); List> resultList = (List>) result.get("result"); @@ -1491,7 +1507,11 @@ public class EmisCommonController extends EmisBaseController boolean hasSuccess = false; if (resultList != null) { - for (Map item : resultList) { + // 由于resultList和orderDatas的顺序是对应的,直接通过索引匹配 + for (int i = 0; i < resultList.size() && i < orderDatas.size(); i++) { + Map item = resultList.get(i); + JSONObject originalOrderData = orderDatas.getJSONObject(i); + JSONObject dataItem = new JSONObject(); dataItem.put("orderNo", item.get("orderNo")); dataItem.put("logisticNo", item.get("logisticNo")); @@ -1503,8 +1523,81 @@ public class EmisCommonController extends EmisBaseController String statusCode = (String) item.get("statusCode"); if ("0000".equals(statusCode)) { hasSuccess = true; + + // 生成PDF面单 - 合并resultList和orderDatas的数据 + try { + + // 合并数据:resultList提供运单号等处理结果,orderDatas提供原始订单数据 + Map waybillData = new HashMap<>(); + waybillData.putAll(item); // 添加resultList的数据 + + // 添加入库需要的字段 + waybillData.put("customerName", customerName); + waybillData.put("custNo", custNo); + waybillData.put("orderSn", item.get("orderNo")); + waybillData.put("custOrderId", + originalOrderData != null ? originalOrderData.getString("orderNo") : ""); + waybillData.put("createSite", createSite); + + if (originalOrderData != null) { + // 添加orderDatas中的原始订单数据 + waybillData.put("orderDate", originalOrderData.getString("orderDate")); + + // 寄件人信息 - 从orderDatas获取正确的字段名 + waybillData.put("senderName", originalOrderData.getString("sender")); + waybillData.put("senderPhone", originalOrderData.getString("senderTel")); + waybillData.put("senderCompany", originalOrderData.getString("senderCompany")); + waybillData.put("senderAddress", originalOrderData.getString("senderAddress")); + + // 收件人信息 - 从orderDatas获取正确的字段名 + waybillData.put("consigneeName", originalOrderData.getString("consignee")); + waybillData.put("consigneePhone", originalOrderData.getString("tel")); + waybillData.put("consigneeCompany", originalOrderData.getString("company")); + waybillData.put("consigneeAddress", originalOrderData.getString("address")); + + // 包裹信息 - 从orderDatas获取正确的字段名 + waybillData.put("parcelQty", originalOrderData.getString("parcelQty")); + waybillData.put("volume", originalOrderData.getString("volume")); + waybillData.put("actualWeight", originalOrderData.getString("weight")); + + waybillData.put("volumeWeight", ""); // 体积重量需要计算 + waybillData.put("settlementWeight", ""); // 结算重量需要计算 + waybillData.put("freight", ""); // 运费需要计算 + waybillData.put("paymentType", originalOrderData.getString("paymentType")); + waybillData.put("packType", originalOrderData.getString("packType")); + waybillData.put("goodsInfo", originalOrderData.getString("goodsInfo")); + waybillData.put("remark", originalOrderData.getString("remark")); + + // 服务类型和目的地 - 从orderDatas获取正确的字段名 + waybillData.put("serviceType1", originalOrderData.getString("transLine")); + waybillData.put("serviceType2", originalOrderData.getString("productType")); + waybillData.put("destinationCountry", originalOrderData.getString("country")); + waybillData.put("destinationCity", originalOrderData.getString("province")); + + // 寄件人省市信息 - 从orderDatas获取 + waybillData.put("senderProvince", originalOrderData.getString("senderProvince")); + waybillData.put("senderCity", originalOrderData.getString("senderCity")); + + // 收件人省市信息 - 从orderDatas获取 + waybillData.put("consigneeProvince", originalOrderData.getString("province")); + waybillData.put("consigneeCity", originalOrderData.getString("city")); + + // 打印信息 + waybillData.put("printDate", + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, new Date())); + waybillData.put("printMan", "系统"); + waybillData.put("printCount", "1"); + } + + String pdfUrl = generateWaybillPdf(waybillData); + dataItem.put("pdfUrl", pdfUrl); + } catch (Exception e) { + log.error("生成PDF面单失败: {}", e.getMessage(), e); + dataItem.put("pdfUrl", ""); + } } else if ("9999".equals(statusCode)) { hasFailure = true; + dataItem.put("pdfUrl", ""); } dataArray.add(dataItem); } @@ -1807,11 +1900,234 @@ public class EmisCommonController extends EmisBaseController } } + /** + * 生成运单PDF面单 + * + * @param waybillData 运单数据 + * @return PDF文件URL + * @throws Exception + */ + private String generateWaybillPdf(Map waybillData) throws Exception { + int parcelQty = Integer.parseInt(waybillData.getOrDefault("parcelQty", "1").toString()); + String mainLogisticNo = (String) waybillData.get("logisticNo"); + + List pdfUrls = new ArrayList<>(); + + // 生成主单PDF(不立即入库) + String mainPdfUrl = generateMainWaybillPdfWithoutSave(waybillData, mainLogisticNo); + pdfUrls.add(mainPdfUrl); + + // 如果件数大于1,生成子单PDF(不立即入库) + if (parcelQty > 1) { + for (int i = 2; i <= parcelQty; i++) { + String subLogisticNo = mainLogisticNo + String.format("%04d", i); + String subPdfUrl = generateSubWaybillPdfWithoutSave(waybillData, subLogisticNo); + pdfUrls.add(subPdfUrl); + } + } + + // 所有PDF生成完成后,统一入库 + String totalPdfUrl = String.join(",", pdfUrls); + saveWaybillExternalPdf(waybillData, mainLogisticNo, totalPdfUrl); + + return totalPdfUrl; + } + + /** + * 生成主单PDF(不立即入库) + */ + private String generateMainWaybillPdfWithoutSave(Map waybillData, String logisticNo) + throws Exception { + // 构建面单数据 + Map orderMap = new HashMap<>(); + + // 基本信息 + orderMap.put("logisticNo", logisticNo); + orderMap.put("ydSn", logisticNo); // 条形码使用运单号 + orderMap.put("sendDate", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, new Date())); + orderMap.put("printDate", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, new Date())); + orderMap.put("printMan", "系统"); + orderMap.put("printCount", "1"); + + // 订单时间 - 直接取当前系统时间,精确到日 + String orderTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, new Date()); + orderMap.put("orderTime", orderTime); + + // 收件人信息 - 从waybillData获取 + orderMap.put("consignee", waybillData.getOrDefault("consigneeName", "")); + orderMap.put("mobile", waybillData.getOrDefault("consigneePhone", "")); + orderMap.put("address", waybillData.getOrDefault("consigneeAddress", "")); + orderMap.put("company", waybillData.getOrDefault("consigneeCompany", "")); + orderMap.put("consigneeProvince", waybillData.getOrDefault("consigneeProvince", "")); + orderMap.put("consigneeCity", waybillData.getOrDefault("consigneeCity", "")); + + // 寄件人信息 - 从waybillData获取 + orderMap.put("sendPerson", waybillData.getOrDefault("senderName", "")); + orderMap.put("sendMobile", waybillData.getOrDefault("senderPhone", "")); + orderMap.put("sendCompany", waybillData.getOrDefault("senderCompany", "")); + orderMap.put("sendAddress", waybillData.getOrDefault("senderAddress", "")); + orderMap.put("senderProvince", waybillData.getOrDefault("senderProvince", "")); + orderMap.put("senderCity", waybillData.getOrDefault("senderCity", "")); + + // 包裹信息 - 从waybillData获取 + orderMap.put("parcelQty", waybillData.getOrDefault("parcelQty", "")); + orderMap.put("billWeight", waybillData.getOrDefault("actualWeight", "")); + orderMap.put("totalVolume", waybillData.getOrDefault("volume", "")); + orderMap.put("volumeWeight", waybillData.getOrDefault("volumeWeight", "")); + orderMap.put("settlementWeight", waybillData.getOrDefault("settlementWeight", "")); + orderMap.put("freight", waybillData.getOrDefault("freight", "")); + orderMap.put("paymentType", waybillData.getOrDefault("paymentType", "")); + orderMap.put("packType", waybillData.getOrDefault("packType", "")); + orderMap.put("goodsInfo", waybillData.getOrDefault("goodsInfo", "")); + + // 备注信息 - 从waybillData获取 + orderMap.put("remark", waybillData.getOrDefault("remark", "")); + + // 服务类型字段 - 从waybillData获取,用于在寄件信息上面空白区域显示 + orderMap.put("transLine", waybillData.getOrDefault("serviceType1", "")); + orderMap.put("productType", waybillData.getOrDefault("serviceType2", "")); + + // 目的地信息 - 从waybillData获取 + orderMap.put("destinationCountry", waybillData.getOrDefault("destinationCountry", "")); + orderMap.put("destinationCity", waybillData.getOrDefault("destinationCity", "")); + + // 生成PDF + String fileId = IdUtil.fastUUID(); + String fileUploadDir = PayConfig.getUploadPath() + File.separator + DateUtils.datePath(); + + File saveDir = new File(fileUploadDir); + if (!saveDir.exists()) { + saveDir.mkdirs(); + } + + String saveFileName = fileUploadDir + File.separator + fileId + ".pdf"; + + try (FileOutputStream os = new FileOutputStream(saveFileName)) { + IXddTplPrint tplPrint = new TanexPdfPrinter(); + // 使用TAN-CM-130-NEW模板 + tplPrint.genPDF(orderMap, "TAN-EXTERNAL", "", os); + } + + // 上传文件并获取URL + SysFileInfo sysFileInfo = sysFileInfoService.ossUploadLocalFile(saveFileName, + logisticNo + "-main-waybill.pdf", + "主单面单PDF"); + + // 删除本地文件 + new File(saveFileName).delete(); + + return sysFileInfo.getFileRemoteUrl(); + } + + /** + * 生成子单PDF(不立即入库) + */ + private String generateSubWaybillPdfWithoutSave(Map waybillData, String subLogisticNo) + throws Exception { + // 构建面单数据 + Map orderMap = new HashMap<>(); + + // 基本信息 + orderMap.put("logisticNo", subLogisticNo); + orderMap.put("ydSn", subLogisticNo); // 条形码使用子单号 + orderMap.put("sendDate", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, new Date())); + orderMap.put("printDate", DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, new Date())); + orderMap.put("printMan", "系统"); + orderMap.put("printCount", "1"); + + // 订单时间 - 直接取当前系统时间,精确到日 + String orderTime = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, new Date()); + orderMap.put("orderTime", orderTime); + + // 收件人信息 - 从waybillData获取 + orderMap.put("consignee", waybillData.getOrDefault("consigneeName", "")); + orderMap.put("mobile", waybillData.getOrDefault("consigneePhone", "")); + orderMap.put("address", waybillData.getOrDefault("consigneeAddress", "")); + orderMap.put("company", waybillData.getOrDefault("consigneeCompany", "")); + orderMap.put("consigneeProvince", waybillData.getOrDefault("consigneeProvince", "")); + orderMap.put("consigneeCity", waybillData.getOrDefault("consigneeCity", "")); + + // 寄件人信息 - 从waybillData获取 + orderMap.put("sendPerson", waybillData.getOrDefault("senderName", "")); + orderMap.put("sendMobile", waybillData.getOrDefault("senderPhone", "")); + orderMap.put("sendCompany", waybillData.getOrDefault("senderCompany", "")); + orderMap.put("sendAddress", waybillData.getOrDefault("senderAddress", "")); + orderMap.put("senderProvince", waybillData.getOrDefault("senderProvince", "")); + orderMap.put("senderCity", waybillData.getOrDefault("senderCity", "")); + + // 包裹信息 - 子单每件都是1件,其他数据从waybillData获取 + orderMap.put("parcelQty", "1"); + orderMap.put("billWeight", waybillData.getOrDefault("actualWeight", "")); + orderMap.put("totalVolume", waybillData.getOrDefault("volume", "")); + orderMap.put("volumeWeight", waybillData.getOrDefault("volumeWeight", "")); + orderMap.put("settlementWeight", waybillData.getOrDefault("settlementWeight", "")); + orderMap.put("freight", waybillData.getOrDefault("freight", "")); + orderMap.put("paymentType", waybillData.getOrDefault("paymentType", "")); + orderMap.put("packType", waybillData.getOrDefault("packType", "")); + orderMap.put("goodsInfo", waybillData.getOrDefault("goodsInfo", "")); + + // 备注信息 - 从waybillData获取 + orderMap.put("remark", waybillData.getOrDefault("remark", "")); + + // 服务类型字段 - 从waybillData获取,用于在寄件信息上面空白区域显示 + orderMap.put("transLine", waybillData.getOrDefault("serviceType1", "")); + orderMap.put("productType", waybillData.getOrDefault("serviceType2", "")); + + // 目的地信息 - 从waybillData获取 + orderMap.put("destinationCountry", waybillData.getOrDefault("destinationCountry", "")); + orderMap.put("destinationCity", waybillData.getOrDefault("destinationCity", "")); + + // 生成PDF + String fileId = IdUtil.fastUUID(); + String fileUploadDir = PayConfig.getUploadPath() + File.separator + DateUtils.datePath(); + + File saveDir = new File(fileUploadDir); + if (!saveDir.exists()) { + saveDir.mkdirs(); + } + + String saveFileName = fileUploadDir + File.separator + fileId + ".pdf"; + + try (FileOutputStream os = new FileOutputStream(saveFileName)) { + IXddTplPrint tplPrint = new TanexPdfPrinter(); + // 使用TAN-CM-130-NEW模板 + tplPrint.genPDF(orderMap, "TAN-EXTERNAL", "", os); + } + + // 上传文件并获取URL + SysFileInfo sysFileInfo = sysFileInfoService.ossUploadLocalFile(saveFileName, + subLogisticNo + "-sub-waybill.pdf", + "子单面单PDF"); + + // 删除本地文件 + new File(saveFileName).delete(); + + return sysFileInfo.getFileRemoteUrl(); + } + + /** + * 统一保存外部运单PDF信息 + */ + private void saveWaybillExternalPdf(Map waybillData, String mainLogisticNo, String totalPdfUrl) { + try { + String customerName = (String) waybillData.getOrDefault("customerName", ""); + String custNo = (String) waybillData.getOrDefault("custNo", ""); + String orderSn = (String) waybillData.getOrDefault("orderSn", ""); + String custOrderId = (String) waybillData.getOrDefault("custOrderId", ""); + + emisWaybillExternalService.saveWaybillExternalPdf( + customerName, custNo, mainLogisticNo, totalPdfUrl, orderSn, custOrderId, ""); + } catch (Exception e) { + // 记录日志但不影响主流程 + log.error("保存外部运单PDF信息失败: " + e.getMessage(), e); + } + } + public static void main(String[] args) { - String appId = "APP17490075851304001"; - String appKey = "sDAbUqxjsWCbHGJlEi0bL3OXgB9SoyK4"; - String orderBase64Data = "ewogICJsb2dpc3RpY05vIjogIlQ3MDgwMzAwMDk2MzA4IiwKICAidHJhbnNMaW5lIjogIuafrOWflOWvqOmZhui/kCIsCiAgInByb2R1Y3RUeXBlIjogIumZhui/kOeJueaDoOi+viIsCiAgImN1c3RvbXNDbGVhciI6ICIzIiwKICAiY3VzdG9tc0VjbGFyYXRpb24iOiAiMyIsCiAgInBpY2t1cE1ldGhvZCI6ICIyIiwKICAiZGlzcGF0Y2hNZXRob2QiOiAiMSIsCiAgInBhY2tUeXBlIjogIjIiLAogICJwYXltZW50VHlwZSI6ICIyIiwKICAiY291bnRyeSI6ICLmn6zln5Tlr6giLAogICJwcm92aW5jZSI6ICLph5HovrkiLAogICJjb25zaWduZWUiOiAi5Y2O5LiwIiwKICAidGVsIjogIjA5Nzc1NzAyNzUiLAogICJhZGRyZXNzIjogIllhbnFpbmcgSW5kdXN0cmlhbCBQYXJrIElJSSwgS20uMzQgUm9hZCAjNCBTYW5na3JvcyBjaGVhdCB2aWxsYWdlLCBUcmFwZWFuZyBLb25nIGNvbW11bmUsIFNhbXJhb25nIFRvbmcgZGlzdHJpY3QgS2FtcG9uZyBTcGV1IHByb3ZpbmNlLENhbWJvZGlhIiwKICAicG9zdENvZGUiOiAiIiwKICAic2VuZGVyIjogIum7hOWTjeaDoDEiLAogICJzZW5kZXJDb3VudHJ5IjogIuS4reWbvSIsCiAgInNlbmRlclByb3ZpbmNlIjogIuWuieW+veecgSIsCiAgInNlbmRlclRlbCI6ICIxMjM0NTYiLAogICJzZW5kZXJBZGRyZXNzIjogIuaxn+iLj+ecgeW8oOWutua4r+W4guS6uuawkei3rzEyNeWPt+WbveazsOaWsOS4lue6quW5v+WcujI35qW8MSIsCiAgInBhcmNlbFF0eSI6IDEsCiAgIndlaWdodCI6IDEwMDAsCiAgImdvb2RzSW5mbyI6ICLpnaLovoXmlpkiCn0="; - String securityKey = "M7SGAUenMSkYfBZR8t9FQjwqwbZCDaGY"; + String appId = "APP17585924144573479"; + String appKey = "q1HrN1J8K8VkHnnbDHXN56ZzNJenOTQ2"; + String orderBase64Data = "W3sKICAib3JkZXJObyI6ICIxOTIxMDMwNzI3Njc2MTk4OTEyIiwKICAidHJhbnNMaW5lIjogIuafrOWflOWvqOmZhui/kCIsCiAgInByb2R1Y3RUeXBlIjogIumZhui/kOeJueaDoOi+viIsCiAgImN1c3RvbXNDbGVhciI6ICIzIiwKICAiY3VzdG9tc0VjbGFyYXRpb24iOiAiMyIsCiAgInBpY2t1cE1ldGhvZCI6ICIxIiwKICAiZGlzcGF0Y2hNZXRob2QiOiAiMSIsCiAgInBhY2tUeXBlIjogIjIiLAogICJwYXltZW50VHlwZSI6ICIyIiwKICAiY3VzdE5vIjogIlRMWjA1MTIzMDE2IiwKICAic2FsZW1lbiI6ICLnlLDlsI/ovokiLAogICJjb3VudHJ5IjogIuafrOWflOWvqCIsCiAgInByb3ZpbmNlIjogIumHkei+uSIsCiAgImNpdHkiOiAiIiwKICAiZGlzdHJpY3QiOiAiIiwKICAiY29uc2lnbmVlIjogIuWNjuS4sCIsCiAgImNvbXBhbnkiOiAi5Y2O5LiwU09LIEhVT04iLAogICJ0ZWwiOiAiMDk3NzU3MDI3NSIsCiAgImFkZHJlc3MiOiAiWWFucWluZyBJbmR1c3RyaWFsIFBhcmsgSUlJLCBLbS4zNCBSb2FkICM0IFNhbmdrcm9zIGNoZWF0IHZpbGxhZ2UsIFRyYXBlYW5nIEtvbmcgY29tbXVuZSwgU2FtcmFvbmcgVG9uZyBkaXN0cmljdCBLYW1wb25nIFNwZXUgcHJvdmluY2UsQ2FtYm9kaWEiLAogICJwb3N0Q29kZSI6ICIiLAogICJzZW5kZXIiOiAi6buE5ZON5oOgIiwKICAic2VuZGVyQ291bnRyeSI6ICLkuK3lm70iLAogICJzZW5kZXJQcm92aW5jZSI6ICLmsZ/oi4/nnIEiLAogICJzZW5kZXJDaXR5IjogIuWNl+S6rOW4giIsCiAgInNlbmRlckRpc3RyaWN0IjogIiIsCiAgInNlbmRlckNvbXBhbnkiOiAi5rGf6IuP5Zu95rOw5Lq/6L6+5a6e5Lia5pyJ6ZmQ5YWs5Y+4IiwKICAic2VuZGVyVGVsIjogIjEzOTIxOTYxODYzIiwKICAic2VuZGVyQWRkcmVzcyI6ICLmsZ/oi4/nnIHlvKDlrrbmuK/luILkurrmsJHot68xMjXlj7flm73ms7DmlrDkuJbnuqrlub/lnLoyN+alvCIsCiAgImJhdGNoTnVtYmVyIjogIiIsCiAgInBhcmNlbFF0eSI6IDMsCiAgIndlaWdodCI6IDEsCiAgInZvbHVtZSI6IDEwLAogICJnb29kc0luZm8iOiAi6Z2i6L6F5paZIiwKICAiZ29vZHMiOiAiW3sgXCJpdGVtTm9cIjpcIjFcIiwgXCJuYW1lXCI6XCIyXCIsIFwiYnJhbmRcIjpcIjNcIiwgXCJtb2RlbFwiOlwiMVwiLCBcImJhcmNvZGVcIjpcIjFcIiwgXCJoc2NvZGVcIjpcIjFcIiwgXCJxdHlcIjpcIjNcIiwgXCJwcmljZVwiOjEwMCwgXCJ1bml0XCI6MSwgXCJuZXRXZWlnaHRcIjoyLCBcImdyb3NzV2VpZ2h0XCI6MywgXCJ0ZXh0dXJlXCI6XCI0XCIsIFwicHVycG9zZVwiOlwiNVwiLCBcIm5hdGl2ZUNvdW50cnlcIjpcIjZcIiB9XSIsCiAgInJlbWFyayI6ICLlk4jlk4jlk4jlk4giCn1d"; + String securityKey = "Bw8po8iLH1bPfelWYPTN4DqPhTgIDMzb"; String signStr = appId + appKey + orderBase64Data + securityKey; String generatedSign = DigestUtils.md5Hex(signStr); System.out.println(generatedSign); diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillExternal.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillExternal.java new file mode 100644 index 000000000..af27cbbd1 --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybillExternal.java @@ -0,0 +1,157 @@ +package com.xdadan.erp.emis.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.xdadan.erp.common.annotation.Excel; +import com.xdadan.erp.common.core.domain.BaseEntity; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +import java.util.Date; + +/** + * 外部运单对象 emis_waybill_external + * + * @author system + * @date 2024-12-19 + */ +public class EmisWaybillExternal extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** 主键ID */ + private Long id; + + /** 客户名称 */ + @Excel(name = "客户名称") + private String customerName; + + /** 客户编号 */ + @Excel(name = "客户编号") + private String custNo; + + /** 运单号 */ + @Excel(name = "运单号") + private String billCode; + + /** PDF文件URL */ + @Excel(name = "PDF文件URL") + private String pdfUrl; + + /** 订单号 */ + @Excel(name = "订单号") + private String orderSn; + + /** 客户订单ID */ + @Excel(name = "客户订单ID") + private String custOrderId; + + /** 删除标志(0代表存在 2代表删除) */ + private String delFlag; + + /** 创建网点 */ + @Excel(name = "创建网点") + private String createSite; + + /** 更新网点 */ + @Excel(name = "更新网点") + private String updateSite; + + public void setId(Long id) { + this.id = id; + } + + public Long getId() { + return id; + } + + public void setCustomerName(String customerName) { + this.customerName = customerName; + } + + public String getCustomerName() { + return customerName; + } + + public void setCustNo(String custNo) { + this.custNo = custNo; + } + + public String getCustNo() { + return custNo; + } + + public void setBillCode(String billCode) { + this.billCode = billCode; + } + + public String getBillCode() { + return billCode; + } + + public void setPdfUrl(String pdfUrl) { + this.pdfUrl = pdfUrl; + } + + public String getPdfUrl() { + return pdfUrl; + } + + public void setOrderSn(String orderSn) { + this.orderSn = orderSn; + } + + public String getOrderSn() { + return orderSn; + } + + public void setCustOrderId(String custOrderId) { + this.custOrderId = custOrderId; + } + + public String getCustOrderId() { + return custOrderId; + } + + public void setDelFlag(String delFlag) { + this.delFlag = delFlag; + } + + public String getDelFlag() { + return delFlag; + } + + public void setCreateSite(String createSite) { + this.createSite = createSite; + } + + public String getCreateSite() { + return createSite; + } + + public void setUpdateSite(String updateSite) { + this.updateSite = updateSite; + } + + public String getUpdateSite() { + return updateSite; + } + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("customerName", getCustomerName()) + .append("custNo", getCustNo()) + .append("billCode", getBillCode()) + .append("pdfUrl", getPdfUrl()) + .append("orderSn", getOrderSn()) + .append("custOrderId", getCustOrderId()) + .append("delFlag", getDelFlag()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("createSite", getCreateSite()) + .append("updateSite", getUpdateSite()) + .toString(); + } +} diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillExternalMapper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillExternalMapper.java new file mode 100644 index 000000000..49da369ff --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/mapper/EmisWaybillExternalMapper.java @@ -0,0 +1,76 @@ +package com.xdadan.erp.emis.mapper; + +import java.util.List; +import com.xdadan.erp.emis.domain.EmisWaybillExternal; + +/** + * 外部运单Mapper接口 + * + * @author system + * @date 2024-12-19 + */ +public interface EmisWaybillExternalMapper { + /** + * 查询外部运单 + * + * @param id 外部运单主键 + * @return 外部运单 + */ + public EmisWaybillExternal selectEmisWaybillExternalById(Long id); + + /** + * 查询外部运单列表 + * + * @param emisWaybillExternal 外部运单 + * @return 外部运单集合 + */ + public List selectEmisWaybillExternalList(EmisWaybillExternal emisWaybillExternal); + + /** + * 新增外部运单 + * + * @param emisWaybillExternal 外部运单 + * @return 结果 + */ + public int insertEmisWaybillExternal(EmisWaybillExternal emisWaybillExternal); + + /** + * 修改外部运单 + * + * @param emisWaybillExternal 外部运单 + * @return 结果 + */ + public int updateEmisWaybillExternal(EmisWaybillExternal emisWaybillExternal); + + /** + * 删除外部运单 + * + * @param id 外部运单主键 + * @return 结果 + */ + public int deleteEmisWaybillExternalById(Long id); + + /** + * 批量删除外部运单 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteEmisWaybillExternalByIds(Long[] ids); + + /** + * 根据运单号查询外部运单 + * + * @param billCode 运单号 + * @return 外部运单 + */ + public EmisWaybillExternal selectEmisWaybillExternalByBillCode(String billCode); + + /** + * 根据客户订单ID查询外部运单 + * + * @param custOrderId 客户订单ID + * @return 外部运单 + */ + public EmisWaybillExternal selectEmisWaybillExternalByCustOrderId(String custOrderId); +} diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillExternalService.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillExternalService.java new file mode 100644 index 000000000..a963cd632 --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/IEmisWaybillExternalService.java @@ -0,0 +1,91 @@ +package com.xdadan.erp.emis.service; + +import java.util.List; +import com.xdadan.erp.emis.domain.EmisWaybillExternal; + +/** + * 外部运单Service接口 + * + * @author system + * @date 2024-12-19 + */ +public interface IEmisWaybillExternalService { + /** + * 查询外部运单 + * + * @param id 外部运单主键 + * @return 外部运单 + */ + public EmisWaybillExternal selectEmisWaybillExternalById(Long id); + + /** + * 查询外部运单列表 + * + * @param emisWaybillExternal 外部运单 + * @return 外部运单集合 + */ + public List selectEmisWaybillExternalList(EmisWaybillExternal emisWaybillExternal); + + /** + * 新增外部运单 + * + * @param emisWaybillExternal 外部运单 + * @return 结果 + */ + public int insertEmisWaybillExternal(EmisWaybillExternal emisWaybillExternal); + + /** + * 修改外部运单 + * + * @param emisWaybillExternal 外部运单 + * @return 结果 + */ + public int updateEmisWaybillExternal(EmisWaybillExternal emisWaybillExternal); + + /** + * 批量删除外部运单 + * + * @param ids 需要删除的外部运单主键集合 + * @return 结果 + */ + public int deleteEmisWaybillExternalByIds(Long[] ids); + + /** + * 删除外部运单信息 + * + * @param id 外部运单主键 + * @return 结果 + */ + public int deleteEmisWaybillExternalById(Long id); + + /** + * 根据运单号查询外部运单 + * + * @param billCode 运单号 + * @return 外部运单 + */ + public EmisWaybillExternal selectEmisWaybillExternalByBillCode(String billCode); + + /** + * 根据客户订单ID查询外部运单 + * + * @param custOrderId 客户订单ID + * @return 外部运单 + */ + public EmisWaybillExternal selectEmisWaybillExternalByCustOrderId(String custOrderId); + + /** + * 保存外部运单PDF信息 + * + * @param customerName 客户名称 + * @param custNo 客户编号 + * @param billCode 运单号 + * @param pdfUrl PDF文件URL + * @param orderSn 订单号 + * @param custOrderId 客户订单ID + * @param createSite 创建网点 + * @return 结果 + */ + public int saveWaybillExternalPdf(String customerName, String custNo, String billCode, + String pdfUrl, String orderSn, String custOrderId, String createSite); +} diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillExternalServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillExternalServiceImpl.java new file mode 100644 index 000000000..076707f90 --- /dev/null +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillExternalServiceImpl.java @@ -0,0 +1,142 @@ +package com.xdadan.erp.emis.service.impl; + +import java.util.List; +import com.xdadan.erp.common.utils.DateUtils; +import com.xdadan.erp.common.utils.SecurityUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.xdadan.erp.emis.mapper.EmisWaybillExternalMapper; +import com.xdadan.erp.emis.domain.EmisWaybillExternal; +import com.xdadan.erp.emis.service.IEmisWaybillExternalService; + +/** + * 外部运单Service业务层处理 + * + * @author system + * @date 2024-12-19 + */ +@Service +public class EmisWaybillExternalServiceImpl implements IEmisWaybillExternalService { + @Autowired + private EmisWaybillExternalMapper emisWaybillExternalMapper; + + /** + * 查询外部运单 + * + * @param id 外部运单主键 + * @return 外部运单 + */ + @Override + public EmisWaybillExternal selectEmisWaybillExternalById(Long id) { + return emisWaybillExternalMapper.selectEmisWaybillExternalById(id); + } + + /** + * 查询外部运单列表 + * + * @param emisWaybillExternal 外部运单 + * @return 外部运单 + */ + @Override + public List selectEmisWaybillExternalList(EmisWaybillExternal emisWaybillExternal) { + return emisWaybillExternalMapper.selectEmisWaybillExternalList(emisWaybillExternal); + } + + /** + * 新增外部运单 + * + * @param emisWaybillExternal 外部运单 + * @return 结果 + */ + @Override + public int insertEmisWaybillExternal(EmisWaybillExternal emisWaybillExternal) { + emisWaybillExternal.setCreateTime(DateUtils.getNowDate()); + return emisWaybillExternalMapper.insertEmisWaybillExternal(emisWaybillExternal); + } + + /** + * 修改外部运单 + * + * @param emisWaybillExternal 外部运单 + * @return 结果 + */ + @Override + public int updateEmisWaybillExternal(EmisWaybillExternal emisWaybillExternal) { + emisWaybillExternal.setUpdateTime(DateUtils.getNowDate()); + return emisWaybillExternalMapper.updateEmisWaybillExternal(emisWaybillExternal); + } + + /** + * 批量删除外部运单 + * + * @param ids 需要删除的外部运单主键 + * @return 结果 + */ + @Override + public int deleteEmisWaybillExternalByIds(Long[] ids) { + return emisWaybillExternalMapper.deleteEmisWaybillExternalByIds(ids); + } + + /** + * 删除外部运单信息 + * + * @param id 外部运单主键 + * @return 结果 + */ + @Override + public int deleteEmisWaybillExternalById(Long id) { + return emisWaybillExternalMapper.deleteEmisWaybillExternalById(id); + } + + /** + * 根据运单号查询外部运单 + * + * @param billCode 运单号 + * @return 外部运单 + */ + @Override + public EmisWaybillExternal selectEmisWaybillExternalByBillCode(String billCode) { + return emisWaybillExternalMapper.selectEmisWaybillExternalByBillCode(billCode); + } + + /** + * 根据客户订单ID查询外部运单 + * + * @param custOrderId 客户订单ID + * @return 外部运单 + */ + @Override + public EmisWaybillExternal selectEmisWaybillExternalByCustOrderId(String custOrderId) { + return emisWaybillExternalMapper.selectEmisWaybillExternalByCustOrderId(custOrderId); + } + + /** + * 保存外部运单PDF信息 + * + * @param customerName 客户名称 + * @param custNo 客户编号 + * @param billCode 运单号 + * @param pdfUrl PDF文件URL + * @param orderSn 订单号 + * @param custOrderId 客户订单ID + * @param createSite 创建网点 + * @return 结果 + */ + @Override + public int saveWaybillExternalPdf(String customerName, String custNo, String billCode, + String pdfUrl, String orderSn, String custOrderId, String createSite) { + EmisWaybillExternal waybillExternal = new EmisWaybillExternal(); + waybillExternal.setCustomerName(customerName); + waybillExternal.setCustNo(custNo); + waybillExternal.setBillCode(billCode); + waybillExternal.setPdfUrl(pdfUrl); + waybillExternal.setOrderSn(orderSn); + waybillExternal.setCustOrderId(custOrderId); + waybillExternal.setDelFlag("0"); + waybillExternal.setCreateBy("system"); + waybillExternal.setCreateSite(createSite); + waybillExternal.setUpdateSite(createSite); + + return insertEmisWaybillExternal(waybillExternal); + } +} diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java index 5b337ad4b..30007022b 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/impl/EmisWaybillServiceImpl.java @@ -4969,9 +4969,9 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb waybill.setPackType(packType); // 支付方式 1:现金,2:月结,3:到付,4:到付月结,5:第三方月结,6:其他 waybill.setPaymentType(paymentType); -// if(StringUtil.isBlank(custNo)){ -// -// } + // if(StringUtil.isBlank(custNo)){ + // + // } waybill.setCustNo(custNo); waybill.setReceiveCountry(country); waybill.setReceiveProvince(province); @@ -4994,14 +4994,14 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb waybill.setSendSiteCode(emisCustomerSign.getOwnerSite()); waybill.setParcelQty(Integer.valueOf(parcelQty)); waybill.setBillWeight(new BigDecimal(weight)); - if(volume!=null){ + if (volume != null) { waybill.setTotalVolume(new BigDecimal(volume)); } waybill.setGoodsInfo(goodsInfo); waybill.setRemark(remark); // 处理goods信息 - List declareGoodsList =new ArrayList<>(); + List declareGoodsList = new ArrayList<>(); if (StringUtils.isNotEmpty(goodsStr)) { JSONArray goodsArray = JSON.parseArray(goodsStr); if (CollectionUtil.isNotEmpty(goodsArray)) { @@ -5039,6 +5039,12 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb } result.put("result", resultList); + // 添加客户信息到返回结果中 + if (emisCustomerSign != null) { + result.put("customerName", emisCustomerSign.getCustName()); + result.put("custNo", emisCustomerSign.getCustNo()); + result.put("createSite", emisCustomerSign.getOwnerSite()); + } return result; } catch (Exception e) { diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/print/tanex/ItemHelper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/print/tanex/ItemHelper.java index 0d8789b74..307c660e0 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/print/tanex/ItemHelper.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/print/tanex/ItemHelper.java @@ -529,6 +529,167 @@ public class ItemHelper { return printItems; } + // TAN-EXTERNAL 外部接口面单模板 - 根据图1预期效果设计 + public static ArrayList gen_external(Map orderMap) { + ArrayList printItems = new ArrayList<>(); + + String extData = MapUtils.getString(orderMap, "extData", ""); + if (!StringUtils.isEmpty(extData)) { + try { + Map mapExtData = JSON.parseObject(extData, Map.class); + orderMap.putAll(mapExtData); + } catch (Exception ex) { + } + } + + // 1. 公司Logo和基本信息 + printItems.add(new ItemCell("companyLogo", "TANEXPRESS", 16, true, Element.ALIGN_LEFT, "Text")); + printItems.add(new ItemCell("companyName", "探路速运", 12, true, Element.ALIGN_LEFT, "Text")); + printItems.add(new ItemCell("companyFullName", "TANEX Co.,Ltd", 10, true, Element.ALIGN_LEFT, "Text")); + printItems.add(new ItemCell("companyTel", "TEL:400-025-7080", 8, true, Element.ALIGN_LEFT, "Text")); + printItems.add(new ItemCell("companyWebsite", "www.tanex56.com", 8, true, Element.ALIGN_LEFT, "Text")); + + // 2. 目的地信息 + printItems.add(new ItemCell("destinationCountry", MapUtils.getString(orderMap, "destinationCountry", ""), 16, + true, Element.ALIGN_RIGHT, "Text")); + printItems.add(new ItemCell("destinationCity", MapUtils.getString(orderMap, "destinationCity", ""), 16, true, + Element.ALIGN_RIGHT, "Text")); + + // 3. 寄件日期 + printItems.add(new ItemCell("orderTimeLabel", "订单时间", 8, true, Element.ALIGN_LEFT, "Text")); + printItems.add(new ItemCell("orderTime", MapUtils.getString(orderMap, "orderTime", ""), 8, true, + Element.ALIGN_LEFT, "Text")); + + // 4. 条形码和运单号 + // 判断是主单还是子单,添加相应的标签 + String logisticNo = MapUtils.getString(orderMap, "logisticNo", ""); + String logisticNoStr =""; + + // 检查是否是子单(子单号通常以主单号+序号结尾) + if (logisticNo.length() > 14 && logisticNo.matches(".*\\d{4}$")) { + logisticNoStr = "子单号" + logisticNo; + // 子单二维码使用主单运单号(去掉最后4位序号) + String mainLogisticNo = logisticNo.substring(0, logisticNo.length() - 4); + printItems.add(new ItemCell("barcodeImg1", mainLogisticNo, 1, true, "BarCode")); + } else { + logisticNoStr = "主单号" + logisticNo; + // 主单二维码使用自己的运单号 + printItems.add(new ItemCell("barcodeImg1", logisticNo, 1, true, "BarCode")); + } + + printItems.add(new ItemCell("logisticNo", logisticNoStr, 9, true, + Element.ALIGN_CENTER, "Text")); + + // 5. 寄件人省市信息 - 参考gen_tancm130,使用k2和k3字段名 + String senderCity = MapUtils.getString(orderMap, "senderCity", ""); + String senderProvince = MapUtils.getString(orderMap, "senderProvince", ""); + String k2Value = StringUtils.isNotEmpty(senderCity) ? senderCity : senderProvince; + System.out.println("DEBUG gen_external - k2Value (sender): " + k2Value); + printItems.add(new ItemCell("k10", k2Value, 10, true, Element.ALIGN_RIGHT, "Text")); + + String consigneeCity = MapUtils.getString(orderMap, "consigneeCity", ""); + String consigneeProvince = MapUtils.getString(orderMap, "consigneeProvince", ""); + String k3Value = StringUtils.isNotEmpty(consigneeCity) ? consigneeCity : consigneeProvince; + System.out.println("DEBUG gen_external - k3Value (consignee): " + k3Value); + printItems.add(new ItemCell("k11", k3Value, 10, true, Element.ALIGN_RIGHT, "Text")); + + // 6. 寄件人信息 - 参考gen_tancm130,使用sender字段名 + String senderName = MapUtils.getString(orderMap, "sendPerson", ""); + String senderPhone = MapUtils.getString(orderMap, "sendMobile", ""); + String senderInfo = senderName + (StringUtils.isNotEmpty(senderPhone) ? " " + senderPhone : ""); + printItems.add(new ItemCell("sender", senderInfo, 8, true, Element.ALIGN_LEFT, "Text")); + + // 7. 收件人信息 - 参考gen_tancm130,使用consignee字段名 + String consigneeName = MapUtils.getString(orderMap, "consignee", ""); + String consigneePhone = MapUtils.getString(orderMap, "mobile", ""); + String consigneeInfo = consigneeName + (StringUtils.isNotEmpty(consigneePhone) ? " " + consigneePhone : ""); + System.out.println( + "DEBUG gen_external - consigneeName: " + consigneeName + ", consigneePhone: " + consigneePhone); + printItems.add(new ItemCell("consignee", consigneeInfo, 8, true, Element.ALIGN_LEFT, "Text")); + + // 7.1. 收件人地址和公司 - 参考gen_tancm130 + printItems.add(new ItemCell("address", MapUtils.getString(orderMap, "address", ""), 8, true, Element.ALIGN_LEFT, + "Text")); + printItems.add(new ItemCell("company", MapUtils.getString(orderMap, "company", ""), 8, true, Element.ALIGN_LEFT, + "Text")); + + // 7.2. 寄件人公司地址 - 参考gen_tancm130 + printItems.add(new ItemCell("sendCompany", MapUtils.getString(orderMap, "sendCompany", ""), 8, true, + Element.ALIGN_LEFT, "Text")); + printItems.add(new ItemCell("sendAddress", MapUtils.getString(orderMap, "sendAddress", ""), 8, true, + Element.ALIGN_LEFT, "Text")); + + // 8. 线路和产品类型 - 参考gen_tancm130,使用k10和k11字段名 + String transLineValue = MapUtils.getString(orderMap, "transLine", ""); + String productTypeValue = MapUtils.getString(orderMap, "productType", ""); + System.out.println("DEBUG gen_external - transLine: " + transLineValue + ", productType: " + productTypeValue); + printItems.add(new ItemCell("k2", transLineValue, 10, true, + Element.ALIGN_LEFT, "Text")); + printItems.add(new ItemCell("k3", productTypeValue, 10, true, + Element.ALIGN_RIGHT, "Text")); + + // 9. 包裹信息 - 参考gen_tancm130的字段命名和格式 + String parcelQty = MapUtils.getString(orderMap, "parcelQty", ""); + printItems.add(new ItemCell("parcelQty", "件数:" + parcelQty, 10, true, + Element.ALIGN_LEFT, "Text")); + + String actualWeight = MapUtils.getString(orderMap, "billWeight", ""); + printItems.add(new ItemCell("billWeight", "实际重量:" + actualWeight + "kg", 10, true, + Element.ALIGN_LEFT, "Text")); + + String volume = MapUtils.getString(orderMap, "totalVolume", ""); + printItems.add(new ItemCell("totalVolume", "体积:" + volume + "m3", 10, true, + Element.ALIGN_LEFT, "Text")); + + String goodsInfo = MapUtils.getString(orderMap, "goodsInfo", ""); + printItems.add(new ItemCell("freight", "品名:" + goodsInfo, 10, true, + Element.ALIGN_LEFT, "Text")); + + // // 10. 其他包裹信息 - 参考gen_tancm130 + // String volumeWeight = MapUtils.getString(orderMap, "volumeWeight", ""); + // printItems + // .add(new ItemCell("volumeWeight", "体积重量:" + volumeWeight + "kg", 7, true, + // Element.ALIGN_LEFT, "Text")); + // + // String settlementWeight = MapUtils.getString(orderMap, "settlementWeight", + // ""); + // printItems.add(new ItemCell("settlementWeight", "结算重量:" + settlementWeight + + // "kg", 7, true, Element.ALIGN_LEFT, + // "Text")); + // + // String freight = MapUtils.getString(orderMap, "freight", ""); + // printItems.add(new ItemCell("freight", "运费:" + freight, 7, true, + // Element.ALIGN_LEFT, "Text")); + // + // String paymentType = MapUtils.getString(orderMap, "paymentType", ""); + // printItems.add(new ItemCell("paymentType", "支付方式:" + paymentType, 7, true, + // Element.ALIGN_LEFT, "Text")); + // + // String packType = MapUtils.getString(orderMap, "packType", ""); + // printItems.add(new ItemCell("packType", "包装类型:" + packType, 7, true, + // Element.ALIGN_LEFT, "Text")); + + // 11. 备注 - 参考gen_tancm130的格式 + String remarkValue = MapUtils.getString(orderMap, "remark", ""); + String feeRemarkValue = MapUtils.getString(orderMap, "feeRemark", ""); + String remark = "订单备注:" + remarkValue + feeRemarkValue; + System.out.println("DEBUG gen_external - remark: " + remark); + printItems.add(new ItemCell("remark", remark, 6, true, Element.ALIGN_LEFT, "Text")); + + // 12. 打印信息 - 参考gen_tancm130 + // String printInfo = "打印信息:" + MapUtils.getString(orderMap, "printDate", "") + // + "/" + MapUtils.getString(orderMap, "printMan", "") + // + "/" + MapUtils.getString(orderMap, "printCount", ""); + // printItems.add(new ItemCell("printInfo", printInfo, 7, true, + // Element.ALIGN_LEFT, "Text")); + + // 13. 寄件日期 - 参考gen_tancm130 + printItems.add(new ItemCell("sendDate", MapUtils.getString(orderMap, "sendDate", ""), 8, true, + Element.ALIGN_CENTER, "Text")); + + return printItems; + } + diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/print/tanex/TanexPdfPrinter.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/print/tanex/TanexPdfPrinter.java index f98a860d8..12da264df 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/print/tanex/TanexPdfPrinter.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/print/tanex/TanexPdfPrinter.java @@ -38,9 +38,10 @@ public class TanexPdfPrinter extends XddBasePrint { } else if("TAN-GOT-130".equals(tplCode)){ return ItemHelper.gen_tangot130(orderMap); - } - else if("TAN-CM-130".equals(tplCode)){ + } else if ("TAN-CM-130".equals(tplCode)) { return ItemHelper.gen_tancm130(orderMap); + } else if ("TAN-EXTERNAL".equals(tplCode)) { + return ItemHelper.gen_external(orderMap); } else if("TAN-GM-130".equals(tplCode)){ return ItemHelper.gen_tangm130(orderMap); diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillExternalMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillExternalMapper.xml new file mode 100644 index 000000000..3b7794588 --- /dev/null +++ b/emis-biz/src/main/resources/mapper/EmisWaybillExternalMapper.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + select id, customer_name, cust_no, bill_code, pdf_url, order_sn, cust_order_id, del_flag, create_by, create_time, update_by, update_time, create_site, update_site from emis_waybill_external + + + + + + + + + + + + insert into emis_waybill_external + + customer_name, + cust_no, + bill_code, + pdf_url, + order_sn, + cust_order_id, + del_flag, + create_by, + create_time, + update_by, + update_time, + create_site, + update_site, + + + #{customerName}, + #{custNo}, + #{billCode}, + #{pdfUrl}, + #{orderSn}, + #{custOrderId}, + #{delFlag}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{createSite}, + #{updateSite}, + + + + + update emis_waybill_external + + customer_name = #{customerName}, + cust_no = #{custNo}, + bill_code = #{billCode}, + pdf_url = #{pdfUrl}, + order_sn = #{orderSn}, + cust_order_id = #{custOrderId}, + del_flag = #{delFlag}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + create_site = #{createSite}, + update_site = #{updateSite}, + + where id = #{id} + + + + delete from emis_waybill_external where id = #{id} + + + + delete from emis_waybill_external where id in + + #{id} + + + diff --git a/emis-biz/src/main/resources/tpl/TAN-EXTERNAL.pdf b/emis-biz/src/main/resources/tpl/TAN-EXTERNAL.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f26f5d0a1ee8dce0c07c3020027f70321affa8f9 GIT binary patch literal 162976 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

yYRmUhcmyjnf1+15HJXz}3fj4`2K77p3` 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