From fd765fb823fb60fc942b09e17a5d13ad4aef2f96 Mon Sep 17 00:00:00 2001
From: sen <sen@qq.com>
Date: 星期三, 08 四月 2026 15:11:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/cwxt_master' into cwxt_master
---
service/src/main/java/com/ruoyi/cwgl/domain/dto/PayableBillApiDto.java | 3
service/src/main/resources/mapper/cwgl/ReceivableBillManagementMapper.xml | 11 +
api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java | 2
service/src/main/java/com/ruoyi/cwgl/controller/ReceivableBillManagementController.java | 66 ++++++--
service/src/main/java/com/ruoyi/cwgl/domain/dto/PayableAuditLog.java | 60 +------
service/src/main/java/com/ruoyi/cwgl/domain/dto/ReceivableAuditLog.java | 59 +------
service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillManagement.java | 6
service/src/main/java/com/ruoyi/cwgl/controller/PayableBillManagementController.java | 71 +++++++--
service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillManagementLog.java | 5
service/src/main/java/com/ruoyi/cwgl/service/impl/TmsAuditLogPushServiceImpl.java | 72 ++++++++++
service/src/main/resources/mapper/cwgl/PayableBillManagementMapper.xml | 14 +
service/src/main/java/com/ruoyi/cwgl/domain/PayableBillManagement.java | 6
service/src/main/java/com/ruoyi/cwgl/domain/PayableBillManagementLog.java | 5
service/src/main/java/com/ruoyi/cwgl/domain/dto/ReceivableBillApiDto.java | 3
14 files changed, 242 insertions(+), 141 deletions(-)
diff --git a/api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java b/api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java
index 7385daa..039aa7a 100644
--- a/api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java
+++ b/api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java
@@ -182,6 +182,7 @@
billManagement.setSettlementPeriod(billDto.getSettlementPeriod());
billManagement.setStatus(billDto.getStatus() != null ? billDto.getStatus() : "draft");
billManagement.setAuditStatus(billDto.getAuditStatus() != null ? billDto.getAuditStatus() : 0);
+ billManagement.setSourceSystemId(billDto.getSourceSystemId());
billManagement.setRemark(billDto.getRemark());
billManagement.setCreateTime(DateUtils.getNowDate());
billManagement.setCreateBy("api_system");
@@ -428,6 +429,7 @@
// 璁剧疆鍏朵粬淇℃伅
billManagement.setStatus(billDto.getStatus() != null ? billDto.getStatus() : "draft");
billManagement.setAuditStatus(billDto.getAuditStatus() != null ? billDto.getAuditStatus() : 0);
+ billManagement.setSourceSystemId(billDto.getSourceSystemId());
billManagement.setRemark(billDto.getRemark());
billManagement.setCreateTime(DateUtils.getNowDate());
billManagement.setCreateBy("api_system");
diff --git a/service/src/main/java/com/ruoyi/cwgl/controller/PayableBillManagementController.java b/service/src/main/java/com/ruoyi/cwgl/controller/PayableBillManagementController.java
index a8f80f6..69a406a 100644
--- a/service/src/main/java/com/ruoyi/cwgl/controller/PayableBillManagementController.java
+++ b/service/src/main/java/com/ruoyi/cwgl/controller/PayableBillManagementController.java
@@ -1,6 +1,9 @@
package com.ruoyi.cwgl.controller;
+import java.util.Date;
import java.util.List;
+
+import com.ruoyi.common.utils.StringUtils;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -21,10 +24,12 @@
import java.util.Objects;
import com.ruoyi.cwgl.domain.InvoiceManage;
import com.ruoyi.cwgl.domain.PayableBillManagement;
+import com.ruoyi.cwgl.domain.PayableBillManagementLog;
import com.ruoyi.cwgl.domain.PayableInvoiceBusiness;
import com.ruoyi.cwgl.domain.dto.BillAuditDto;
import com.ruoyi.cwgl.domain.dto.PayableAuditLog;
import com.ruoyi.cwgl.service.IInvoiceManageService;
+import com.ruoyi.cwgl.service.IPayableBillManagementLogService;
import com.ruoyi.cwgl.service.IPayableBillManagementService;
import com.ruoyi.cwgl.service.IPayableInvoiceBusinessService;
import com.ruoyi.cwgl.service.ITmsAuditLogPushService;
@@ -52,6 +57,9 @@
@Autowired
private ITmsAuditLogPushService tmsAuditLogPushService;
+
+ @Autowired
+ private IPayableBillManagementLogService payableBillManagementLogService;
@@ -210,7 +218,7 @@
// 6. 濡傛灉鏉ユ簮绯荤粺鏄疶MS锛屾帹閫佸鏍告棩蹇楀埌TMS
if (tmsAuditLogPushService.isPayableBillFromTms(bill.getSystemNo())) {
try {
- PayableAuditLog auditLog = createPayableAuditLog(billAuditDto, bill, beforeAuditStatus);
+ PayableAuditLog auditLog = createPayableAuditLog(billAuditDto, bill);
tmsAuditLogPushService.pushPayableAuditLog(auditLog);
} catch (Exception e) {
logger.error("鎺ㄩ�佸簲浠樿处鍗曞鏍告棩蹇楀埌TMS澶辫触锛岃处鍗旾D锛歿}", bill.getId(), e);
@@ -229,13 +237,30 @@
* 淇濆瓨搴斾粯璐﹀崟瀹℃牳鏃ュ織
*/
private void savePayableAuditLog(BillAuditDto billAuditDto, PayableBillManagement bill, Integer beforeAuditStatus) {
- // 杩欓噷闇�瑕佸疄鐜版棩蹇楄褰曢�昏緫
- // 鍙互浣跨敤鍘熸湁鐨勬棩蹇楁湇鍔℃垨绯荤粺鏃ュ織
- logger.info("搴斾粯璐﹀崟瀹℃牳鏃ュ織 - 璐﹀崟ID锛歿}锛岃处鍗曠紪鍙凤細{}锛屽鏍稿墠鐘舵�侊細{}锛屽鏍哥粨鏋滐細{}锛屽鏍告剰瑙侊細{}",
- bill.getId(), bill.getSystemNo(),
- getAuditStatusText(beforeAuditStatus),
- getAuditResultText(billAuditDto.getAuditResult()),
- billAuditDto.getAuditComment() != null ? billAuditDto.getAuditComment() : "鏃�");
+ try {
+ PayableBillManagementLog log = new PayableBillManagementLog();
+ log.setBillId(bill.getId());
+ log.setSourceSystemId(bill.getSourceSystemId()); // 璁剧疆鏉ユ簮绯荤粺ID
+ log.setCreateBy(getUsername());
+ log.setCreateTime(new Date());
+
+ // 鏋勫缓鎿嶄綔璇存槑
+ String operation = String.format("搴斾粯璐﹀崟瀹℃牳 - 璐﹀崟缂栧彿锛�%s锛屽鏍稿墠鐘舵�侊細%s锛屽鏍哥粨鏋滐細%s锛屽鏍告剰瑙侊細%s",
+ bill.getSystemNo(),
+ getAuditStatusText(beforeAuditStatus),
+ getAuditResultText(billAuditDto.getAuditResult()),
+ billAuditDto.getAuditComment() != null ? billAuditDto.getAuditComment() : "鏃�");
+ log.setOperation(operation);
+
+ // 淇濆瓨鍒版暟鎹簱
+ payableBillManagementLogService.insertPayableBillManagementLog(log);
+
+ logger.info("搴斾粯璐﹀崟瀹℃牳鏃ュ織淇濆瓨鎴愬姛 - 璐﹀崟ID锛歿}锛屾潵婧愮郴缁烮D锛歿}", bill.getId(), bill.getSourceSystemId());
+
+ } catch (Exception e) {
+ logger.error("淇濆瓨搴斾粯璐﹀崟瀹℃牳鏃ュ織澶辫触锛岃处鍗旾D锛歿}", bill.getId(), e);
+ // 鏃ュ織淇濆瓨澶辫触涓嶅奖鍝嶄富娴佺▼锛屽彧璁板綍閿欒鏃ュ織
+ }
}
/**
@@ -264,19 +289,25 @@
/**
* 鍒涘缓搴斾粯璐﹀崟瀹℃牳鏃ュ織瀵硅薄
*/
- private PayableAuditLog createPayableAuditLog(BillAuditDto billAuditDto, PayableBillManagement bill, Integer beforeAuditStatus) {
+ private PayableAuditLog createPayableAuditLog(BillAuditDto billAuditDto, PayableBillManagement bill) {
PayableAuditLog auditLog = new PayableAuditLog();
- auditLog.setBillId(bill.getId());
- auditLog.setBillNo(bill.getSystemNo());
- auditLog.setBillName(bill.getBillName());
- auditLog.setSupplierName(bill.getSupplierName());
- auditLog.setSourceSystem(tmsAuditLogPushService.getPayableBillSourceSystem(bill.getSystemNo()));
- auditLog.setBeforeAuditStatus(beforeAuditStatus);
- auditLog.setAuditResult(billAuditDto.getAuditResult());
- auditLog.setAuditComment(billAuditDto.getAuditComment());
- auditLog.setAuditUser(getUsername());
- auditLog.setAuditTime(new java.util.Date());
- auditLog.setTotalAmount(bill.getTotalAmount());
+ auditLog.setHeadId(bill.getSourceSystemId());
+ auditLog.setCreateBy(getUsername());
+ auditLog.setCreateTime(new Date());
+
+ String opertion = "";
+ if (billAuditDto.getAuditResult() != null&& billAuditDto.getAuditResult().equals(1)) {
+ opertion = "瀹℃牳閫氳繃";
+ if (StringUtils.isNotEmpty(billAuditDto.getAuditComment())){
+ opertion += ",瀹℃牳鎰忚 :" + billAuditDto.getAuditComment();
+ }
+ }else {
+ opertion = "瀹℃牳椹冲洖";
+ if (StringUtils.isNotEmpty(billAuditDto.getAuditComment())){
+ opertion += ",瀹℃牳鎰忚:" + billAuditDto.getAuditComment();
+ }
+ } auditLog.setOperation(opertion);
+
return auditLog;
}
}
diff --git a/service/src/main/java/com/ruoyi/cwgl/controller/ReceivableBillManagementController.java b/service/src/main/java/com/ruoyi/cwgl/controller/ReceivableBillManagementController.java
index fa00613..be1d97b 100644
--- a/service/src/main/java/com/ruoyi/cwgl/controller/ReceivableBillManagementController.java
+++ b/service/src/main/java/com/ruoyi/cwgl/controller/ReceivableBillManagementController.java
@@ -1,7 +1,9 @@
package com.ruoyi.cwgl.controller;
+import java.util.Date;
import java.util.List;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.cwgl.domain.ReceivableBillCustomerSummary;
import com.ruoyi.cwgl.domain.vo.ReceivableBillAccountAnalysisVo;
import com.ruoyi.cwgl.domain.vo.ReceivableBillAgingAnalysisVo;
@@ -25,10 +27,12 @@
import java.util.Objects;
import com.ruoyi.cwgl.domain.InvoiceManage;
import com.ruoyi.cwgl.domain.ReceivableBillManagement;
+import com.ruoyi.cwgl.domain.ReceivableBillManagementLog;
import com.ruoyi.cwgl.domain.ReceivableInvoiceBusiness;
import com.ruoyi.cwgl.domain.dto.BillAuditDto;
import com.ruoyi.cwgl.domain.dto.ReceivableAuditLog;
import com.ruoyi.cwgl.service.IInvoiceManageService;
+import com.ruoyi.cwgl.service.IReceivableBillManagementLogService;
import com.ruoyi.cwgl.service.IReceivableBillManagementService;
import com.ruoyi.cwgl.service.IReceivableInvoiceBusinessService;
import com.ruoyi.cwgl.service.ITmsAuditLogPushService;
@@ -56,6 +60,9 @@
@Autowired
private ITmsAuditLogPushService tmsAuditLogPushService;
+
+ @Autowired
+ private IReceivableBillManagementLogService receivableBillManagementLogService;
@@ -307,13 +314,30 @@
* 淇濆瓨搴旀敹璐﹀崟瀹℃牳鏃ュ織
*/
private void saveReceivableAuditLog(BillAuditDto billAuditDto, ReceivableBillManagement bill, Integer beforeAuditStatus) {
- // 杩欓噷闇�瑕佸疄鐜版棩蹇楄褰曢�昏緫
- // 鍙互浣跨敤鍘熸湁鐨勬棩蹇楁湇鍔℃垨绯荤粺鏃ュ織
- logger.info("搴旀敹璐﹀崟瀹℃牳鏃ュ織 - 璐﹀崟ID锛歿}锛岃处鍗曠紪鍙凤細{}锛屽鏍稿墠鐘舵�侊細{}锛屽鏍哥粨鏋滐細{}锛屽鏍告剰瑙侊細{}",
- bill.getId(), bill.getSystemNo(),
- getAuditStatusText(beforeAuditStatus),
- getAuditResultText(billAuditDto.getAuditResult()),
- billAuditDto.getAuditComment() != null ? billAuditDto.getAuditComment() : "鏃�");
+ try {
+ ReceivableBillManagementLog log = new ReceivableBillManagementLog();
+ log.setBillId(bill.getId());
+ log.setSourceSystemId(bill.getSourceSystemId()); // 璁剧疆鏉ユ簮绯荤粺ID
+ log.setCreateBy(getUsername());
+ log.setCreateTime(new Date());
+
+ // 鏋勫缓鎿嶄綔璇存槑
+ String operation = String.format("搴旀敹璐﹀崟瀹℃牳 - 璐﹀崟缂栧彿锛�%s锛屽鏍稿墠鐘舵�侊細%s锛屽鏍哥粨鏋滐細%s锛屽鏍告剰瑙侊細%s",
+ bill.getSystemNo(),
+ getAuditStatusText(beforeAuditStatus),
+ getAuditResultText(billAuditDto.getAuditResult()),
+ billAuditDto.getAuditComment() != null ? billAuditDto.getAuditComment() : "鏃�");
+ log.setOperation(operation);
+
+ // 淇濆瓨鍒版暟鎹簱
+ receivableBillManagementLogService.insertReceivableBillManagementLog(log);
+
+ logger.info("搴旀敹璐﹀崟瀹℃牳鏃ュ織淇濆瓨鎴愬姛 - 璐﹀崟ID锛歿}锛屾潵婧愮郴缁烮D锛歿}", bill.getId(), bill.getSourceSystemId());
+
+ } catch (Exception e) {
+ logger.error("淇濆瓨搴旀敹璐﹀崟瀹℃牳鏃ュ織澶辫触锛岃处鍗旾D锛歿}", bill.getId(), e);
+ // 鏃ュ織淇濆瓨澶辫触涓嶅奖鍝嶄富娴佺▼锛屽彧璁板綍閿欒鏃ュ織
+ }
}
/**
@@ -344,17 +368,23 @@
*/
private ReceivableAuditLog createReceivableAuditLog(BillAuditDto billAuditDto, ReceivableBillManagement bill, Integer beforeAuditStatus) {
ReceivableAuditLog auditLog = new ReceivableAuditLog();
- auditLog.setBillId(bill.getId());
- auditLog.setBillNo(bill.getSystemNo());
- auditLog.setBillName(bill.getBillName());
- auditLog.setCustomerName(bill.getCustomerName());
- auditLog.setSourceSystem(tmsAuditLogPushService.getReceivableBillSourceSystem(bill.getSystemNo()));
- auditLog.setBeforeAuditStatus(beforeAuditStatus);
- auditLog.setAuditResult(billAuditDto.getAuditResult());
- auditLog.setAuditComment(billAuditDto.getAuditComment());
- auditLog.setAuditUser(getUsername());
- auditLog.setAuditTime(new java.util.Date());
- auditLog.setTotalAmount(bill.getTotalAmount());
+ auditLog.setHeadId(bill.getSourceSystemId());
+ auditLog.setCreateBy(getUsername());
+ auditLog.setCreateTime(new Date());
+
+ String opertion = "";
+ if (billAuditDto.getAuditResult() != null&& billAuditDto.getAuditResult().equals(1)) {
+ opertion = "瀹℃牳閫氳繃";
+ if (StringUtils.isNotEmpty(billAuditDto.getAuditComment())){
+ opertion += ",瀹℃牳鎰忚 :" + billAuditDto.getAuditComment();
+ }
+ }else {
+ opertion = "瀹℃牳椹冲洖";
+ if (StringUtils.isNotEmpty(billAuditDto.getAuditComment())){
+ opertion += ",瀹℃牳鎰忚:" + billAuditDto.getAuditComment();
+ }
+ }
+ auditLog.setOperation(opertion);
return auditLog;
}
diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/PayableBillManagement.java b/service/src/main/java/com/ruoyi/cwgl/domain/PayableBillManagement.java
index f266811..1a6dd63 100644
--- a/service/src/main/java/com/ruoyi/cwgl/domain/PayableBillManagement.java
+++ b/service/src/main/java/com/ruoyi/cwgl/domain/PayableBillManagement.java
@@ -190,6 +190,12 @@
@TableField("audit_status")
private Integer auditStatus;
+ /** 鏉ユ簮绯荤粺ID锛堢敤浜庡鏍告帹閫佹椂璇嗗埆鐩爣TMS绯荤粺锛� */
+ @Excel(name = "鏉ユ簮绯荤粺ID")
+
+ @TableField("source_system_id")
+ private Integer sourceSystemId;
+
/** 澶囨敞 */
@Excel(name = "澶囨敞")
diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/PayableBillManagementLog.java b/service/src/main/java/com/ruoyi/cwgl/domain/PayableBillManagementLog.java
index 9cd5dfa..6a78c9a 100644
--- a/service/src/main/java/com/ruoyi/cwgl/domain/PayableBillManagementLog.java
+++ b/service/src/main/java/com/ruoyi/cwgl/domain/PayableBillManagementLog.java
@@ -44,5 +44,10 @@
@TableField("operation")
private String operation;
+ /** 鏉ユ簮绯荤粺ID锛堢敤浜庡鏍告帹閫佹椂璇嗗埆鐩爣TMS绯荤粺锛� */
+ @Excel(name = "鏉ユ簮绯荤粺ID")
+
+ @TableField("source_system_id")
+ private Integer sourceSystemId;
}
diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillManagement.java b/service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillManagement.java
index edb0364..8c83d29 100644
--- a/service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillManagement.java
+++ b/service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillManagement.java
@@ -351,6 +351,12 @@
@TableField("audit_status")
private Integer auditStatus;
+ /** 鏉ユ簮绯荤粺ID锛堢敤浜庡鏍告帹閫佹椂璇嗗埆鐩爣TMS绯荤粺锛� */
+ @Excel(name = "鏉ユ簮绯荤粺ID")
+
+ @TableField("source_system_id")
+ private Integer sourceSystemId;
+
/** 澶囨敞 */
@Excel(name = "澶囨敞")
diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillManagementLog.java b/service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillManagementLog.java
index 3d2edc3..0691c63 100644
--- a/service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillManagementLog.java
+++ b/service/src/main/java/com/ruoyi/cwgl/domain/ReceivableBillManagementLog.java
@@ -44,5 +44,10 @@
@TableField("operation")
private String operation;
+ /** 鏉ユ簮绯荤粺ID锛堢敤浜庡鏍告帹閫佹椂璇嗗埆鐩爣TMS绯荤粺锛� */
+ @Excel(name = "鏉ユ簮绯荤粺ID")
+
+ @TableField("source_system_id")
+ private Integer sourceSystemId;
}
diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/dto/PayableAuditLog.java b/service/src/main/java/com/ruoyi/cwgl/domain/dto/PayableAuditLog.java
index 919cb1e..63b4831 100644
--- a/service/src/main/java/com/ruoyi/cwgl/domain/dto/PayableAuditLog.java
+++ b/service/src/main/java/com/ruoyi/cwgl/domain/dto/PayableAuditLog.java
@@ -1,5 +1,8 @@
package com.ruoyi.cwgl.domain.dto;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
@@ -9,58 +12,21 @@
@Data
public class PayableAuditLog {
- /**
- * 璐﹀崟ID
- */
- private Integer billId;
+ /** 搴斾粯璐﹀崟id */
- /**
- * 璐﹀崟缂栧彿
- */
- private String billNo;
+ @TableField("head_id")
+ private Integer headId;
- /**
- * 璐﹀崟鍚嶇О
- */
- private String billName;
- /**
- * 渚涘簲鍟嗗悕绉�
- */
- private String supplierName;
+ /** 鍒涘缓鑰� */
+ private String createBy;
- /**
- * 鏉ユ簮绯荤粺
- */
- private String sourceSystem;
- /**
- * 瀹℃牳鍓嶇姸鎬�
- */
- private Integer beforeAuditStatus;
+ /** 鍒涘缓鏃堕棿 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createTime;
- /**
- * 瀹℃牳缁撴灉
- */
- private Integer auditResult;
- /**
- * 瀹℃牳鎰忚
- */
- private String auditComment;
-
- /**
- * 瀹℃牳浜�
- */
- private String auditUser;
-
- /**
- * 瀹℃牳鏃堕棿
- */
- private Date auditTime;
-
- /**
- * 鎬婚噾棰�
- */
- private java.math.BigDecimal totalAmount;
+ /** 鎿嶄綔璇存槑 */
+ private String operation;
}
\ No newline at end of file
diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/dto/PayableBillApiDto.java b/service/src/main/java/com/ruoyi/cwgl/domain/dto/PayableBillApiDto.java
index ba27c82..0ed490c 100644
--- a/service/src/main/java/com/ruoyi/cwgl/domain/dto/PayableBillApiDto.java
+++ b/service/src/main/java/com/ruoyi/cwgl/domain/dto/PayableBillApiDto.java
@@ -112,6 +112,9 @@
/** 澶囨敞 */
private String remark;
+
+ /** 鏉ユ簮绯荤粺ID锛堢敤浜庡鏍告帹閫佹椂璇嗗埆鐩爣TMS绯荤粺锛� */
+ private Integer sourceSystemId;
}
/**
diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/dto/ReceivableAuditLog.java b/service/src/main/java/com/ruoyi/cwgl/domain/dto/ReceivableAuditLog.java
index 309a64a..e004d4f 100644
--- a/service/src/main/java/com/ruoyi/cwgl/domain/dto/ReceivableAuditLog.java
+++ b/service/src/main/java/com/ruoyi/cwgl/domain/dto/ReceivableAuditLog.java
@@ -1,5 +1,8 @@
package com.ruoyi.cwgl.domain.dto;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import java.util.Date;
@@ -9,58 +12,20 @@
@Data
public class ReceivableAuditLog {
- /**
- * 璐﹀崟ID
- */
- private Integer billId;
+ /** 搴旀敹璐﹀崟id */
- /**
- * 璐﹀崟缂栧彿
- */
- private String billNo;
+ private Integer headId;
- /**
- * 璐﹀崟鍚嶇О
- */
- private String billName;
- /**
- * 瀹㈡埛鍚嶇О
- */
- private String customerName;
+ /** 鍒涘缓鑰� */
+ private String createBy;
- /**
- * 鏉ユ簮绯荤粺
- */
- private String sourceSystem;
- /**
- * 瀹℃牳鍓嶇姸鎬�
- */
- private Integer beforeAuditStatus;
+ /** 鍒涘缓鏃堕棿 */
+ @JsonFormat(pattern = "yyyy-MM-dd")
+ private Date createTime;
- /**
- * 瀹℃牳缁撴灉
- */
- private Integer auditResult;
- /**
- * 瀹℃牳鎰忚
- */
- private String auditComment;
-
- /**
- * 瀹℃牳浜�
- */
- private String auditUser;
-
- /**
- * 瀹℃牳鏃堕棿
- */
- private Date auditTime;
-
- /**
- * 鎬婚噾棰�
- */
- private java.math.BigDecimal totalAmount;
+ /** 鎿嶄綔璇存槑 */
+ private String operation;
}
\ No newline at end of file
diff --git a/service/src/main/java/com/ruoyi/cwgl/domain/dto/ReceivableBillApiDto.java b/service/src/main/java/com/ruoyi/cwgl/domain/dto/ReceivableBillApiDto.java
index 403a7e9..c3140b0 100644
--- a/service/src/main/java/com/ruoyi/cwgl/domain/dto/ReceivableBillApiDto.java
+++ b/service/src/main/java/com/ruoyi/cwgl/domain/dto/ReceivableBillApiDto.java
@@ -136,6 +136,9 @@
/** 澶囨敞 */
private String remark;
+
+ /** 鏉ユ簮绯荤粺ID锛堢敤浜庡鏍告帹閫佹椂璇嗗埆鐩爣TMS绯荤粺锛� */
+ private Integer sourceSystemId;
}
/**
diff --git a/service/src/main/java/com/ruoyi/cwgl/service/impl/TmsAuditLogPushServiceImpl.java b/service/src/main/java/com/ruoyi/cwgl/service/impl/TmsAuditLogPushServiceImpl.java
index cfb07d7..e6e8849 100644
--- a/service/src/main/java/com/ruoyi/cwgl/service/impl/TmsAuditLogPushServiceImpl.java
+++ b/service/src/main/java/com/ruoyi/cwgl/service/impl/TmsAuditLogPushServiceImpl.java
@@ -41,7 +41,7 @@
log.info("鎺ㄩ�佸簲浠樿处鍗曞鏍告棩蹇楀埌TMS: {}", jsonBody);
- String response = HttpUtils.sendPost(url, jsonBody);
+ String response = sendJsonPost(url, jsonBody);
log.info("TMS搴斾粯璐﹀崟瀹℃牳鏃ュ織鎺ㄩ�佸搷搴�: {}", response);
return true;
@@ -59,7 +59,7 @@
log.info("鎺ㄩ�佸簲鏀惰处鍗曞鏍告棩蹇楀埌TMS: {}", jsonBody);
- String response = HttpUtils.sendPost(url, jsonBody);
+ String response = sendJsonPost(url, jsonBody);
log.info("TMS搴旀敹璐﹀崟瀹℃牳鏃ュ織鎺ㄩ�佸搷搴�: {}", response);
return true;
@@ -70,6 +70,74 @@
}
/**
+ * 鍙戦�丣SON鏍煎紡鐨凱OST璇锋眰
+ * @param url 璇锋眰URL
+ * @param jsonBody JSON璇锋眰浣�
+ * @return 鍝嶅簲鍐呭
+ */
+ private String sendJsonPost(String url, String jsonBody) {
+ java.net.HttpURLConnection connection = null;
+ try {
+ java.net.URL realUrl = new java.net.URL(url);
+ connection = (java.net.HttpURLConnection) realUrl.openConnection();
+
+ // 璁剧疆璇锋眰灞炴��
+ connection.setRequestMethod("POST");
+ connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
+ connection.setRequestProperty("Accept", "application/json");
+ connection.setRequestProperty("User-Agent", "Mozilla/5.0");
+
+ // 璁剧疆杩炴帴鍙傛暟
+ connection.setDoOutput(true);
+ connection.setDoInput(true);
+ connection.setUseCaches(false);
+
+ // 璁剧疆瓒呮椂鏃堕棿
+ connection.setConnectTimeout(10000); // 10绉掕繛鎺ヨ秴鏃�
+ connection.setReadTimeout(30000); // 30绉掕鍙栬秴鏃�
+
+ // 鍙戦�佽姹備綋
+ try (java.io.OutputStream os = connection.getOutputStream()) {
+ os.write(jsonBody.getBytes(java.nio.charset.StandardCharsets.UTF_8));
+ os.flush();
+ }
+
+ // 鑾峰彇鍝嶅簲
+ int responseCode = connection.getResponseCode();
+ if (responseCode == java.net.HttpURLConnection.HTTP_OK) {
+ try (java.io.BufferedReader in = new java.io.BufferedReader(
+ new java.io.InputStreamReader(connection.getInputStream(), java.nio.charset.StandardCharsets.UTF_8))) {
+ StringBuilder response = new StringBuilder();
+ String line;
+ while ((line = in.readLine()) != null) {
+ response.append(line);
+ }
+ return response.toString();
+ }
+ } else {
+ // 澶勭悊閿欒鍝嶅簲
+ try (java.io.BufferedReader in = new java.io.BufferedReader(
+ new java.io.InputStreamReader(connection.getErrorStream(), java.nio.charset.StandardCharsets.UTF_8))) {
+ StringBuilder errorResponse = new StringBuilder();
+ String line;
+ while ((line = in.readLine()) != null) {
+ errorResponse.append(line);
+ }
+ throw new RuntimeException("HTTP璇锋眰澶辫触锛岀姸鎬佺爜: " + responseCode + ", 鍝嶅簲: " + errorResponse.toString());
+ }
+ }
+
+ } catch (Exception e) {
+ log.error("鍙戦�丣SON POST璇锋眰澶辫触锛孶RL: {}", url, e);
+ throw new RuntimeException("鍙戦�丣SON POST璇锋眰澶辫触: " + e.getMessage(), e);
+ } finally {
+ if (connection != null) {
+ connection.disconnect();
+ }
+ }
+ }
+
+ /**
* 鍒ゆ柇搴斾粯璐﹀崟鏄惁鏉ヨ嚜TMS绯荤粺
* @param billNo 璐﹀崟缂栧彿
* @return 鏄惁鏉ヨ嚜TMS绯荤粺
diff --git a/service/src/main/resources/mapper/cwgl/PayableBillManagementMapper.xml b/service/src/main/resources/mapper/cwgl/PayableBillManagementMapper.xml
index 01c5650..0136e4b 100644
--- a/service/src/main/resources/mapper/cwgl/PayableBillManagementMapper.xml
+++ b/service/src/main/resources/mapper/cwgl/PayableBillManagementMapper.xml
@@ -29,6 +29,7 @@
<result property="billDueDate" column="bill_due_date" />
<result property="status" column="status" />
<result property="auditStatus" column="audit_status" />
+ <result property="sourceSystemId" column="source_system_id" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
@@ -38,7 +39,7 @@
</resultMap>
<sql id="selectPayableBillManagementVo">
- select thisTab.id, thisTab.system_no, thisTab.bill_name, thisTab.supplier_name, thisTab.is_internal_settlement, thisTab.internal_settlement_unit, thisTab.document_count, thisTab.total_amount, thisTab.currency, thisTab.discount_amount, thisTab.paid_amount, thisTab.pending_amount, thisTab.exchange_rate, thisTab.cny_amount, thisTab.period_type, thisTab.business_start_date, thisTab.business_end_date, thisTab.billing_start_date, thisTab.billing_end_date, thisTab.bill_generate_date, thisTab.bill_send_date, thisTab.bill_due_date, thisTab.status, thisTab.audit_status, thisTab.remark, thisTab.create_by, thisTab.create_time, thisTab.update_by, thisTab.update_time, thisTab.deleted from payable_bill_management AS thisTab
+ select thisTab.id, thisTab.system_no, thisTab.bill_name, thisTab.supplier_name, thisTab.is_internal_settlement, thisTab.internal_settlement_unit, thisTab.document_count, thisTab.total_amount, thisTab.currency, thisTab.discount_amount, thisTab.paid_amount, thisTab.pending_amount, thisTab.exchange_rate, thisTab.cny_amount, thisTab.period_type, thisTab.business_start_date, thisTab.business_end_date, thisTab.billing_start_date, thisTab.billing_end_date, thisTab.bill_generate_date, thisTab.bill_send_date, thisTab.bill_due_date, thisTab.status, thisTab.audit_status, thisTab.source_system_id, thisTab.remark, thisTab.create_by, thisTab.create_time, thisTab.update_by, thisTab.update_time, thisTab.deleted from payable_bill_management AS thisTab
</sql>
<sql id="selectPayableBillManagementVoCount">
select count(0) from payable_bill_management as thisTab
@@ -132,6 +133,7 @@
<if test="billDueDate != null">bill_due_date,</if>
<if test="status != null">status,</if>
<if test="auditStatus != null">audit_status,</if>
+ <if test="sourceSystemId != null">source_system_id,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
@@ -163,6 +165,7 @@
<if test="billDueDate != null">#{billDueDate},</if>
<if test="status != null">#{status},</if>
<if test="auditStatus != null">#{auditStatus},</if>
+ <if test="sourceSystemId != null">#{sourceSystemId},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
@@ -175,11 +178,11 @@
<insert id="insertPayableBillManagementBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
insert into payable_bill_management
<trim prefix="(" suffix=") values" suffixOverrides=",">
- id,system_no,bill_name,supplier_name,is_internal_settlement,internal_settlement_unit,document_count,total_amount,currency,discount_amount,paid_amount,pending_amount,exchange_rate,cny_amount,period_type,business_start_date,business_end_date,billing_start_date,billing_end_date,bill_generate_date,bill_send_date,bill_due_date,status,audit_status,remark,create_by,create_time,update_by,update_time,deleted,
+ id,system_no,bill_name,supplier_name,is_internal_settlement,internal_settlement_unit,document_count,total_amount,currency,discount_amount,paid_amount,pending_amount,exchange_rate,cny_amount,period_type,business_start_date,business_end_date,billing_start_date,billing_end_date,bill_generate_date,bill_send_date,bill_due_date,status,audit_status,source_system_id,remark,create_by,create_time,update_by,update_time,deleted,
</trim>
<foreach item="item" index="index" collection="list" separator=",">
- <trim prefix="(" suffix=") " suffixOverrides=",">
- #{item.id},#{item.systemNo},#{item.billName},#{item.supplierName},#{item.isInternalSettlement},#{item.internalSettlementUnit},#{item.documentCount},#{item.totalAmount},#{item.currency},#{item.discountAmount},#{item.paidAmount},#{item.pendingAmount},#{item.exchangeRate},#{item.cnyAmount},#{item.periodType},#{item.businessStartDate},#{item.businessEndDate},#{item.billingStartDate},#{item.billingEndDate},#{item.billGenerateDate},#{item.billSendDate},#{item.billDueDate},#{item.status},#{item.auditStatus},#{item.remark},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime},#{item.deleted},
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ #{item.id},#{item.systemNo},#{item.billName},#{item.supplierName},#{item.isInternalSettlement},#{item.internalSettlementUnit},#{item.documentCount},#{item.totalAmount},#{item.currency},#{item.discountAmount},#{item.paidAmount},#{item.pendingAmount},#{item.exchangeRate},#{item.cnyAmount},#{item.periodType},#{item.businessStartDate},#{item.businessEndDate},#{item.billingStartDate},#{item.billingEndDate},#{item.billGenerateDate},#{item.billSendDate},#{item.billDueDate},#{item.status},#{item.auditStatus},#{item.sourceSystemId},#{item.remark},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime},#{item.deleted},
</trim>
</foreach>
</insert>
@@ -211,6 +214,7 @@
<if test="billDueDate != null">bill_due_date = #{billDueDate},</if>
<if test="status != null">status = #{status},</if>
<if test="auditStatus != null">audit_status = #{auditStatus},</if>
+ <if test="sourceSystemId != null">source_system_id = #{sourceSystemId},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
@@ -247,6 +251,8 @@
<if test="item.billSendDate != null">bill_send_date = #{item.billSendDate},</if>
<if test="item.billDueDate != null">bill_due_date = #{item.billDueDate},</if>
<if test="item.status != null">status = #{item.status},</if>
+ <if test="item.auditStatus != null">audit_status = #{item.auditStatus},</if>
+ <if test="item.sourceSystemId != null">source_system_id = #{item.sourceSystemId},</if>
<if test="item.remark != null">remark = #{item.remark},</if>
<if test="item.createBy != null">create_by = #{item.createBy},</if>
<if test="item.createTime != null">create_time = #{item.createTime},</if>
diff --git a/service/src/main/resources/mapper/cwgl/ReceivableBillManagementMapper.xml b/service/src/main/resources/mapper/cwgl/ReceivableBillManagementMapper.xml
index 0c8c08c..ce7eb8a 100644
--- a/service/src/main/resources/mapper/cwgl/ReceivableBillManagementMapper.xml
+++ b/service/src/main/resources/mapper/cwgl/ReceivableBillManagementMapper.xml
@@ -41,6 +41,7 @@
<result property="overdueInterest" column="overdue_interest" />
<result property="status" column="status" />
<result property="auditStatus" column="audit_status" />
+ <result property="sourceSystemId" column="source_system_id" />
<result property="remark" column="remark" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
@@ -83,7 +84,7 @@
</resultMap>
<sql id="selectReceivableBillManagementVo">
- select thisTab.id, thisTab.system_no, thisTab.bill_name, thisTab.customer_name, thisTab.payee, thisTab.responsible_person, thisTab.responsible_leader, thisTab.settlement_method, thisTab.business_type, thisTab.promotion_requirement, thisTab.is_internal_settlement, thisTab.internal_settlement_unit, thisTab.document_count, thisTab.total_amount, thisTab.currency, thisTab.discount_amount, thisTab.received_amount, thisTab.pending_amount, thisTab.exchange_rate, thisTab.cny_amount, thisTab.period_type, thisTab.business_start_date, thisTab.business_end_date, thisTab.billing_start_date, thisTab.billing_end_date, thisTab.bill_generate_date, thisTab.bill_send_date, thisTab.bill_due_date, thisTab.due_in_30_days, thisTab.overdue_amount, thisTab.overdue_1_to_30_days, thisTab.overdue_31_to_60_days, thisTab.overdue_61_to_90_days, thisTab.overdue_91_to_180_days, thisTab.overdue_181_to_365_days, thisTab.overdue_over_1_year, thisTab.overdue_days, thisTab.settlement_category, thisTab.settlement_period, thisTab.nc_settlement_date, thisTab.nc_settlement_amount, thisTab.account_remark, thisTab.overdue_interest, thisTab.status, thisTab.audit_status, thisTab.remark, thisTab.create_by, thisTab.create_time, thisTab.update_by, thisTab.update_time, thisTab.deleted from receivable_bill_management AS thisTab
+ select thisTab.id, thisTab.system_no, thisTab.bill_name, thisTab.customer_name, thisTab.payee, thisTab.responsible_person, thisTab.responsible_leader, thisTab.settlement_method, thisTab.business_type, thisTab.promotion_requirement, thisTab.is_internal_settlement, thisTab.internal_settlement_unit, thisTab.document_count, thisTab.total_amount, thisTab.currency, thisTab.discount_amount, thisTab.received_amount, thisTab.pending_amount, thisTab.exchange_rate, thisTab.cny_amount, thisTab.period_type, thisTab.business_start_date, thisTab.business_end_date, thisTab.billing_start_date, thisTab.billing_end_date, thisTab.bill_generate_date, thisTab.bill_send_date, thisTab.bill_due_date, thisTab.due_in_30_days, thisTab.overdue_amount, thisTab.overdue_1_to_30_days, thisTab.overdue_31_to_60_days, thisTab.overdue_61_to_90_days, thisTab.overdue_91_to_180_days, thisTab.overdue_181_to_365_days, thisTab.overdue_over_1_year, thisTab.overdue_days, thisTab.settlement_category, thisTab.settlement_period, thisTab.nc_settlement_date, thisTab.nc_settlement_amount, thisTab.account_remark, thisTab.overdue_interest, thisTab.status, thisTab.audit_status, thisTab.source_system_id, thisTab.remark, thisTab.create_by, thisTab.create_time, thisTab.update_by, thisTab.update_time, thisTab.deleted from receivable_bill_management AS thisTab
</sql>
<sql id="selectReceivableBillManagementVoCount">
select count(0) from receivable_bill_management as thisTab
@@ -201,6 +202,7 @@
<if test="overdueInterest != null">overdue_interest,</if>
<if test="status != null">status,</if>
<if test="auditStatus != null">audit_status,</if>
+ <if test="sourceSystemId != null">source_system_id,</if>
<if test="remark != null">remark,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
@@ -244,6 +246,7 @@
<if test="overdueInterest != null">#{overdueInterest},</if>
<if test="status != null">#{status},</if>
<if test="auditStatus != null">#{auditStatus},</if>
+ <if test="sourceSystemId != null">#{sourceSystemId},</if>
<if test="remark != null">#{remark},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
@@ -256,11 +259,11 @@
<insert id="insertReceivableBillManagementBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
insert into receivable_bill_management
<trim prefix="(" suffix=") values" suffixOverrides=",">
- system_no,bill_name,customer_name,payee,responsible_person,responsible_leader,settlement_method,business_type,promotion_requirement,is_internal_settlement,internal_settlement_unit,document_count,total_amount,currency,discount_amount,received_amount,pending_amount,exchange_rate,cny_amount,period_type,business_start_date,business_end_date,billing_start_date,billing_end_date,bill_generate_date,bill_send_date,bill_due_date,settlement_category,settlement_period,nc_settlement_date,nc_settlement_amount,account_remark,overdue_interest,status,audit_status,remark,create_by,create_time,update_by,update_time,deleted,
+ system_no,bill_name,customer_name,payee,responsible_person,responsible_leader,settlement_method,business_type,promotion_requirement,is_internal_settlement,internal_settlement_unit,document_count,total_amount,currency,discount_amount,received_amount,pending_amount,exchange_rate,cny_amount,period_type,business_start_date,business_end_date,billing_start_date,billing_end_date,bill_generate_date,bill_send_date,bill_due_date,settlement_category,settlement_period,nc_settlement_date,nc_settlement_amount,account_remark,overdue_interest,status,audit_status,source_system_id,remark,create_by,create_time,update_by,update_time,deleted,
</trim>
<foreach item="item" index="index" collection="list" separator=",">
<trim prefix="(" suffix=") " suffixOverrides=",">
- #{item.systemNo},#{item.billName},#{item.customerName},#{item.payee},#{item.responsiblePerson},#{item.responsibleLeader},#{item.settlementMethod},#{item.businessType},#{item.promotionRequirement},#{item.isInternalSettlement},#{item.internalSettlementUnit},#{item.documentCount},#{item.totalAmount},#{item.currency},#{item.discountAmount},#{item.receivedAmount},#{item.pendingAmount},#{item.exchangeRate},#{item.cnyAmount},#{item.periodType},#{item.businessStartDate},#{item.businessEndDate},#{item.billingStartDate},#{item.billingEndDate},#{item.billGenerateDate},#{item.billSendDate},#{item.billDueDate},#{item.settlementCategory},#{item.settlementPeriod},#{item.ncSettlementDate},#{item.ncSettlementAmount},#{item.accountRemark},#{item.overdueInterest},#{item.status},#{item.auditStatus},#{item.remark},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime},#{item.deleted},
+ #{item.systemNo},#{item.billName},#{item.customerName},#{item.payee},#{item.responsiblePerson},#{item.responsibleLeader},#{item.settlementMethod},#{item.businessType},#{item.promotionRequirement},#{item.isInternalSettlement},#{item.internalSettlementUnit},#{item.documentCount},#{item.totalAmount},#{item.currency},#{item.discountAmount},#{item.receivedAmount},#{item.pendingAmount},#{item.exchangeRate},#{item.cnyAmount},#{item.periodType},#{item.businessStartDate},#{item.businessEndDate},#{item.billingStartDate},#{item.billingEndDate},#{item.billGenerateDate},#{item.billSendDate},#{item.billDueDate},#{item.settlementCategory},#{item.settlementPeriod},#{item.ncSettlementDate},#{item.ncSettlementAmount},#{item.accountRemark},#{item.overdueInterest},#{item.status},#{item.auditStatus},#{item.sourceSystemId},#{item.remark},#{item.createBy},#{item.createTime},#{item.updateBy},#{item.updateTime},#{item.deleted},
</trim>
</foreach>
</insert>
@@ -304,6 +307,7 @@
<if test="overdueInterest != null">overdue_interest = #{overdueInterest},</if>
<if test="status != null">status = #{status},</if>
<if test="auditStatus != null">audit_status = #{auditStatus},</if>
+ <if test="sourceSystemId != null">source_system_id = #{sourceSystemId},</if>
<if test="remark != null">remark = #{remark},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
@@ -353,6 +357,7 @@
<if test="item.overdueInterest != null">overdue_interest = #{item.overdueInterest},</if>
<if test="item.status != null">status = #{item.status},</if>
<if test="item.auditStatus != null">audit_status = #{item.auditStatus},</if>
+ <if test="item.sourceSystemId != null">source_system_id = #{item.sourceSystemId},</if>
<if test="item.remark != null">remark = #{item.remark},</if>
<if test="item.createBy != null">create_by = #{item.createBy},</if>
<if test="item.createTime != null">create_time = #{item.createTime},</if>
--
Gitblit v1.8.0