diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisSettleInvoiceChRecord.java b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisSettleInvoiceChRecord.java
index 69fa7c63c..40f7ea6d0 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisSettleInvoiceChRecord.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/domain/EmisSettleInvoiceChRecord.java
@@ -23,16 +23,14 @@ import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;
-
/**
* @ClassName EmisSettleInvoiceChRecord
* @Description 渠道开票记录表
* @author linfso
* @date 2024-07-24 23:39:08
*/
- @Data
-public class EmisSettleInvoiceChRecord extends BaseEntity
-{
+@Data
+public class EmisSettleInvoiceChRecord extends BaseEntity {
private static final long serialVersionUID = 1L;
/* id */
@@ -99,11 +97,11 @@ public class EmisSettleInvoiceChRecord extends BaseEntity
/* 操作人 */
private String opManCode;
/* 操作时间 */
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date opDate;
/* 操作站点 */
private String opSiteCode;
- /* 开票渠道编号 code -航信 HX */
+ /* 开票渠道编号 code -航信 HX */
private String openChId;
/* 开票渠道状态 0-待开票 1-已开票 2-拒绝开票 */
private String openChStatus;
@@ -114,7 +112,7 @@ public class EmisSettleInvoiceChRecord extends BaseEntity
/* 扩展信息,货物名称 */
private String extData;
-// 扩展字段
+ // 扩展字段
// 账期
private String billMonth;
// 面单号
@@ -143,4 +141,7 @@ public class EmisSettleInvoiceChRecord extends BaseEntity
// 付款日期
private String exportPayDays;
+ // 结算账单名称
+ private String settleBillName;
+
}
diff --git a/emis-biz/src/main/java/com/xdadan/erp/emis/service/excelCellStrategy/InvoiceExportHelper.java b/emis-biz/src/main/java/com/xdadan/erp/emis/service/excelCellStrategy/InvoiceExportHelper.java
index 86714c6e1..3df6dcec6 100644
--- a/emis-biz/src/main/java/com/xdadan/erp/emis/service/excelCellStrategy/InvoiceExportHelper.java
+++ b/emis-biz/src/main/java/com/xdadan/erp/emis/service/excelCellStrategy/InvoiceExportHelper.java
@@ -145,7 +145,7 @@ public class InvoiceExportHelper {
public static String processCustomRemark(EmisSettleInvoiceChRecord record) {
String remark = record.getOpenBillRemark();
if (remark == null) {
- return "";
+ remark = "";
}
// 只去除与 LTD 直接相邻的符号
@@ -157,16 +157,26 @@ public class InvoiceExportHelper {
finalResult = finalResult.replaceAll("(有限公司|有限责任公司)", "").trim();
if ("2".equals(record.getSettleType())) {
- return finalResult.replaceAll("-", ",").replaceAll("(\\d+)\\s+", "$1").trim();
+ finalResult = finalResult.replaceAll("-", ",").replaceAll("(\\d+)\\s+", "$1").trim();
+ } else {
+ // 处理多个日期的情况
+ String[] dateParts = finalResult.split("-");
+ if (dateParts.length > 0) {
+ String lastPart = dateParts[dateParts.length - 1].trim();
+ // 去除日期和公司名之间的空格
+ lastPart = lastPart.replaceAll("(\\d+)\\s+", "$1");
+ finalResult = "现金-" + lastPart;
+ }
}
- // 处理多个日期的情况
- String[] dateParts = finalResult.split("-");
- if (dateParts.length > 0) {
- String lastPart = dateParts[dateParts.length - 1].trim();
- // 去除日期和公司名之间的空格
- lastPart = lastPart.replaceAll("(\\d+)\\s+", "$1");
- finalResult = "现金-" + lastPart;
+ // 检查结算账单名称是否包含上旬/下旬,如果包含则在末尾拼接
+ String settleBillName = record.getSettleBillName();
+ if (settleBillName != null && !settleBillName.trim().isEmpty()) {
+ if (settleBillName.contains("上旬")) {
+ finalResult = finalResult + "上旬";
+ } else if (settleBillName.contains("下旬")) {
+ finalResult = finalResult + "下旬";
+ }
}
return finalResult;
diff --git a/emis-biz/src/main/resources/mapper/EmisSettleInvoiceChRecordMapper.xml b/emis-biz/src/main/resources/mapper/EmisSettleInvoiceChRecordMapper.xml
index 9b4df11a7..c085a9598 100644
--- a/emis-biz/src/main/resources/mapper/EmisSettleInvoiceChRecordMapper.xml
+++ b/emis-biz/src/main/resources/mapper/EmisSettleInvoiceChRecordMapper.xml
@@ -47,6 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -105,6 +106,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -314,6 +316,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
bri.settle_type,
bri.open_bill_remark,
pdi.pay_days,
+ sbi.settle_bill_name,
cu.emp_name as create_by_name,
uu.emp_name as update_by_name,
cs.site_name as create_site_name,
@@ -408,6 +411,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE bd.del_flag = '0'
GROUP BY bd.id, b.settle_type
) bri ON bri.id = a.id
+ LEFT JOIN (
+ SELECT
+ bd.id,
+ MAX(esb.settle_bill_name) as settle_bill_name
+ FROM emis_settle_invoice_ch_record bd
+ LEFT JOIN emis_settle_invoice_bill_rel ibr ON ibr.apply_seq_no = bd.apply_seq_no AND ibr.del_flag = '0'
+ LEFT JOIN emis_settle_bill esb ON esb.settle_bill_no = ibr.settle_bill_no AND esb.del_flag = '0'
+ WHERE bd.del_flag = '0'
+ GROUP BY bd.id
+ ) sbi ON sbi.id = a.id
LEFT JOIN sys_user cu ON cu.user_id = a.create_by AND cu.del_flag = '0'
LEFT JOIN sys_user uu ON uu.user_id = a.update_by AND uu.del_flag = '0'
LEFT JOIN emis_site cs ON cs.site_code = a.create_site AND cs.del_flag = '0'
@@ -867,7 +880,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
LEFT JOIN emis_settle_pay_bill_rel pbr ON ibr.settle_bill_no = pbr.settle_bill_no
LEFT JOIN emis_settle_pay_record pr ON pr.pay_id = pbr.pay_id
WHERE bd.apply_seq_no = a.apply_seq_no AND bd.del_flag = '0'
- ) as pay_days
+ ) as pay_days,
+ (
+ SELECT MAX(esb.settle_bill_name)
+ FROM emis_settle_invoice_ch_record bd
+ LEFT JOIN emis_settle_invoice_bill_rel ibr ON ibr.apply_seq_no = bd.apply_seq_no AND ibr.del_flag = '0'
+ LEFT JOIN emis_settle_bill esb ON esb.settle_bill_no = ibr.settle_bill_no AND esb.del_flag = '0'
+ WHERE bd.apply_seq_no = a.apply_seq_no AND bd.del_flag = '0'
+ ) as settle_bill_name
FROM emis_settle_invoice_ch_record a
WHERE a.del_flag = '0'
AND a.apply_seq_no IN