From 424cc100d1174167736a93fb8671fb0ccd6c7d93 Mon Sep 17 00:00:00 2001 From: aike <17730485278@139.com> Date: Mon, 16 Jun 2025 19:04:37 +0800 Subject: [PATCH] =?UTF-8?q?demand:=20=E8=BF=90=E5=8D=95=E5=BD=95=E5=85=A5?= =?UTF-8?q?=E7=95=8C=E9=9D=A2-=E7=BC=85=E7=94=B8=E8=99=9A=E6=8B=9F?= =?UTF-8?q?=E5=8D=95=E8=B0=83=E6=95=B4=20committer:=20heyu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xdadan/erp/emis/domain/EmisWaybill.java | 2 ++ .../erp/emis/domain/vo/WaybillOrder.java | 3 ++ .../service/impl/EmisWaybillServiceImpl.java | 35 +++++-------------- .../resources/mapper/EmisWaybillMapper.xml | 6 ++-- 4 files changed, 17 insertions(+), 29 deletions(-) diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybill.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybill.java index 01d13ccfb..c507b5d68 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybill.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisWaybill.java @@ -316,6 +316,8 @@ public class EmisWaybill extends BaseEntity private String blVirtual; /* 主单号 */ private String masterBillCode; + /* 虚拟单备注 */ + private String virtualRemark; /* 是否付款 */ private String blBill; diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java index f185e22ec..0c6361311 100644 --- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java +++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/vo/WaybillOrder.java @@ -393,6 +393,8 @@ public class WaybillOrder implements Serializable { private String blVirtual; /* 主单号 */ private String masterBillCode; + /* 虚拟单备注 */ + private String virtualRemark; // 销售,回款 // private String salesmenName; @@ -739,6 +741,7 @@ public class WaybillOrder implements Serializable { // 虚拟单 dbWaybill.setBlVirtual(this.getBlVirtual()); dbWaybill.setMasterBillCode(this.getMasterBillCode()); + dbWaybill.setVirtualRemark(this.getVirtualRemark()); // dbWaybill.setCustomerName(this.getCustomerName()); // dbWaybill.setReceiveCustomerCode(this.getReceiveCustomerCode()); 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 16fc25a13..0ecee6b72 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 @@ -3270,40 +3270,21 @@ public class EmisWaybillServiceImpl extends EmisBaseService implements IEmisWayb if (CollectionUtil.isNotEmpty(batchList)) { throw new EmisBizError(EmisBizErrorType.FAIL, "该单号已经录入批次,请先在组批次中剔除该运单"); } - String remark = masterWaybill.getRemark(); + String virtualRemark = masterWaybill.getVirtualRemark(); String virtualBillCode = emisWaybillSave.getBillCode(); - String virtualBillCodeLastSix = virtualBillCode.substring(virtualBillCode.length() - 6); - if (remark != null && remark.contains("该运单为主单,对应虚拟单为")) { - // 如果包含关键字,在最后一个虚拟单号后添加新的虚拟单号 - int lastIndex = remark.lastIndexOf("该运单为主单,对应虚拟单为"); - String prefix = remark.substring(0, lastIndex + "该运单为主单,对应虚拟单为".length()); - String suffix = remark.substring(lastIndex + "该运单为主单,对应虚拟单为".length()); - - // 处理虚拟单号去重 + String virtualBillCodeLastSix = emisWaybillSave.getBillCode().substring(virtualBillCode.length() - 6); + if (StringUtil.isNotBlank(virtualRemark)) { Set virtualBillSet = new LinkedHashSet<>(); - if (!suffix.trim().isEmpty()) { - // 将现有虚拟单号添加到Set中,并去除空格 - String[] codes = suffix.split(","); - for (String code : codes) { - String trimmedCode = code.trim(); - if (!trimmedCode.isEmpty()) { - virtualBillSet.add(trimmedCode); - } - } - } - // 添加新的虚拟单号 + String[] codes = virtualRemark.split(","); + virtualBillSet.addAll(Arrays.asList(codes)); virtualBillSet.add(virtualBillCodeLastSix); - - // 重新拼接去重后的虚拟单号,保持原有顺序 - remark = prefix + String.join(",", virtualBillSet); + virtualRemark = String.join(",", virtualBillSet); } else { - // 如果不包含关键字,在备注末尾添加新的信息 - remark = (remark != null ? remark + " " : "") + "该运单为主单,对应虚拟单为" + virtualBillCodeLastSix; + virtualRemark = virtualBillCodeLastSix; } EmisWaybill emisWaybill = new EmisWaybill(); - emisWaybill.setRemark(remark); + emisWaybill.setVirtualRemark(virtualRemark); emisWaybill.setId(masterWaybill.getId()); - emisWaybillSave.setRemark("该单为虚拟单:对应主单为" + emisWaybillSave.getMasterBillCode()); emisWaybillMapper.updateEmisWaybill(emisWaybill); } diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml index a150848db..b6ca6630d 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml @@ -227,6 +227,7 @@ + @@ -301,7 +302,7 @@ a.goods_type, a.goods_info, a.goods_pics, a.bl_prepare_in_freight, a.prepare_in_est_fee, a.prepare_in_real_fee, a.prepare_in_express, a.prepare_in_bill_code, a.prepare_in_remark, a.prepare_in_supplier, a.total_weight, a.total_volume, a.parcel_qty, a.bill_weight, a.volume_weight, a.currency, - a.settlement_weight, a.scan_weight, a.fee_weight, a.freight, a.real_payment_type, a.real_fee, a.bl_special_quote,a.bl_virtual,a.master_bill_code + a.settlement_weight, a.scan_weight, a.fee_weight, a.freight, a.real_payment_type, a.real_fee, a.bl_special_quote,a.bl_virtual,a.master_bill_code,a.virtual_remark, a.bl_over_long, a.bl_bill, a.bl_bill_text, a.bl_over_weight, a.over_weight_number, a.fee_remark, a.third_code, a.real_value, a.bl_insure, a.insure_value, a.insure_value_currency, a.insure_fee_currency, a.insure_fee, a.insure_remark, a.insure_site_code, a.insure_date, a.bl_print, a.print_man_code, a.print_site, a.print_date, a.print_count, a.bl_disp_fd, @@ -387,7 +388,7 @@ select - a.id,a.order_sn, a.cust_order_id, a.bill_code,a.bill_code_sub, a.order_status, a.waybill_status, + a.id,a.order_sn, a.cust_order_id, a.bill_code,a.bill_code_sub, a.order_status, a.waybill_status,a.master_bill_code,a.virtual_remark, a.order_type, a.order_date, a.user_id, a.customer_code, a.customer_name, a.open_id, a.receive_name, a.receive_company, a.receive_mobile, a.receive_tel, a.receive_country, a.receive_province, a.receive_city, a.receive_county, a.receive_town, a.receive_address, a.receive_postcode, a.receive_pcd, a.send_name, a.send_company, @@ -3147,6 +3148,7 @@ bl_over_long = #{blOverLong}, bl_virtual = #{blVirtual}, master_bill_code= #{masterBillCode}, + virtual_remark= #{virtualRemark}, bl_bill = #{blBill}, bl_bill_text = #{blBillText}, bl_profit = #{blProfit},