From 2db76f2066701cbe292f206ad49a7f8523b8aa9f Mon Sep 17 00:00:00 2001
From: shiyunteng <shiyunteng@example.com>
Date: 星期五, 14 八月 2026 16:30:25 +0800
Subject: [PATCH] feat:银行流水关联多个合同,新增预收款开票,所有List校验调整为ColUtil
---
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/BusinessCustomerController.java | 2
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductServiceImpl.java | 15
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/StatisticServiceImpl.java | 112 +-
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BwRequestRecord.java | 8
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BankStatementServiceImpl.java | 144 ++-
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/BipViewMapper.java | 2
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/StatementContractDTO.java | 14
platformx-business-finance-biz/src/main/resources/mapper/ProductMapper.xml | 3
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractPaymentScheduleProcessServiceImpl.java | 27
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BipRequestRecord.java | 2
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BusinessCustomerServiceImpl.java | 25
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractInvoiceController.java | 9
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractInvoice.java | 18
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/GenInvoiceInfoDTO.java | 2
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BankStatementItem.java | 41 +
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java | 63 +
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java | 91 +-
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/SyncPaymentRecepitDTO.java | 4
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractSubjectMatter.java | 4
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/PaymentConfirmAddDTO.java | 3
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/OutBoundServiceImpl.java | 44
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentOffsetServiceImpl.java | 10
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractDetailVo.java | 9
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/ContractQueryDTO.java | 5
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java | 569 +++++++++---
platformx-business-finance-biz/src/main/resources/mapper/ContractInvoiceMapper.xml | 1117 ++++++++++++--------------
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractInvoiceOutBoundVo.java | 13
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BankStatement.java | 9
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/MeterReadRecordServiceImpl.java | 6
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractInvoicePageVo.java | 3
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/BankStatementUpdateDTO.java | 5
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/CustInfoVo.java | 2
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BusinessCustomer.java | 4
platformx-business-finance-biz/src/main/resources/mapper/BankStatementItemMapper.xml | 16
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java | 2
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/BankStatementItemMapper.java | 11
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/PaymentSlip.java | 4
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/GenInvoiceInfoVo.java | 3
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractOutBound.java | 4
platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ErpRequestRecord.java | 4
platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/ContractInvoiceService.java | 2
41 files changed, 1,397 insertions(+), 1,034 deletions(-)
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/BankStatementUpdateDTO.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/BankStatementUpdateDTO.java
index 711ac8d..c2309f2 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/BankStatementUpdateDTO.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/BankStatementUpdateDTO.java
@@ -1,12 +1,15 @@
package com.by4cloud.platformx.business.dto;
+import com.by4cloud.platformx.business.entity.StatementContractDTO;
import lombok.Data;
+
+import java.util.List;
@Data
public class BankStatementUpdateDTO {
private Long id;
- private Long contractId;
+ private List<StatementContractDTO> contractCollectionList;
}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/ContractQueryDTO.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/ContractQueryDTO.java
index 2784903..95af972 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/ContractQueryDTO.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/ContractQueryDTO.java
@@ -17,4 +17,9 @@
* 1 鏄� 0 鍚�
*/
private String invoiceType;
+
+ /**
+ * 棰勬敹鍙戠エ鏍囪瘑
+ */
+ private String advanceType;
}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/GenInvoiceInfoDTO.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/GenInvoiceInfoDTO.java
index 60448be..a8c1a55 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/GenInvoiceInfoDTO.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/GenInvoiceInfoDTO.java
@@ -12,4 +12,6 @@
private String contractCategory;
+ private String contractId;
+
}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/PaymentConfirmAddDTO.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/PaymentConfirmAddDTO.java
index 67458b7..d10f9fb 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/PaymentConfirmAddDTO.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/PaymentConfirmAddDTO.java
@@ -26,4 +26,7 @@
private String payType;
private BigDecimal transationAmount;
+
+ private String bankSeqNo;
+
}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/SyncPaymentRecepitDTO.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/SyncPaymentRecepitDTO.java
index af12f6d..5817338 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/SyncPaymentRecepitDTO.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/dto/SyncPaymentRecepitDTO.java
@@ -11,4 +11,8 @@
private String bipCode;
+ private Integer pageSize;
+
+ private Integer pageNum;
+
}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BankStatement.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BankStatement.java
index f720190..3efb129 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BankStatement.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BankStatement.java
@@ -71,4 +71,13 @@
@Schema(description = "鍚堝悓ID")
@Column(columnDefinition="bigint comment '鍚堝悓ID'")
private Long contractId;
+
+ @Schema(description = "鍚堝悓纭閲戦")
+ @Column(columnDefinition = "decimal(10,2) comment '鍚堝悓纭閲戦'")
+ private BigDecimal confirmAmount;
+
+ @Schema(description = "浜ゆ槗璇存槑")
+ @Column(columnDefinition="VARCHAR(255) comment '浜ゆ槗璇存槑'")
+ private String remark;
+
}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BankStatementItem.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BankStatementItem.java
new file mode 100644
index 0000000..291abed
--- /dev/null
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BankStatementItem.java
@@ -0,0 +1,41 @@
+package com.by4cloud.platformx.business.entity;
+
+import com.by4cloud.platformx.common.data.mybatis.BaseModel;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import lombok.Data;
+import org.hibernate.annotations.Table;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 2026骞�8鏈�7鏃� 16:04:22
+ * syt
+ */
+@Data
+@Entity//鍔犱簡鎵嶈兘鑷姩鐢熸垚琛�
+@Table(appliesTo="bank_statement_item",comment = "閾惰娴佹按鍚堝悓纭鏄庣粏")//缁欒〃鍔犳敞閲�
+@jakarta.persistence.Table(name = "bank_statement_item")//鏁版嵁搴撳垱寤虹殑琛ㄦ槑
+public class BankStatementItem extends BaseModel<BankStatementItem> {
+
+ @Schema(description = "閾惰娴佹按ID")
+ @Column(columnDefinition="bigint comment '閾惰娴佹按ID'")
+ private Long statetId;
+
+ @Schema(description = "浜ゆ槗娴佹按")
+ @Column(columnDefinition="VARCHAR(128) comment '浜ゆ槗娴佹按'")
+ private String bankSeqNo;
+
+ @Schema(description = "鍚堝悓ID")
+ @Column(columnDefinition="bigint comment '鍚堝悓ID'")
+ private Long contractId;
+
+ @Schema(description = "鍚堝悓纭閲戦")
+ @Column(columnDefinition = "decimal(10,2) comment '鍚堝悓纭閲戦'")
+ private BigDecimal confirmAmount;
+
+}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BipRequestRecord.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BipRequestRecord.java
index e77262b..73f9124 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BipRequestRecord.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BipRequestRecord.java
@@ -26,7 +26,7 @@
private String requestParams;
@Schema(description = "鍥炲弬")
- @Column(columnDefinition="text comment '鍥炲弬'")
+ @Column(columnDefinition="longtext comment '鍥炲弬'")
private String responseParams;
@Schema(description = "缁撴灉鐮�")
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BusinessCustomer.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BusinessCustomer.java
index 3e1f04e..fcc8b14 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BusinessCustomer.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BusinessCustomer.java
@@ -138,4 +138,8 @@
@Schema(description = "erp浼佷笟缂栫爜")
@Column(columnDefinition = "VARCHAR(64) comment 'erp浼佷笟缂栫爜'")
private String erpCompanyCode;
+
+ @Schema(description = "瀹㈡埛bip缂栫爜")
+ @Column(columnDefinition = "VARCHAR(64) comment '瀹㈡埛bip缂栫爜'")
+ private String bipCode;
}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BwRequestRecord.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BwRequestRecord.java
index 18fb539..f996cb2 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BwRequestRecord.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/BwRequestRecord.java
@@ -21,12 +21,12 @@
@Column(columnDefinition="VARCHAR(128) comment '鎺ュ彛鍚嶇О'")
private String interfaceName;
- @Schema(description = "鎺ュ彛鍚嶇О")
- @Column(columnDefinition="VARCHAR(128) comment '鎺ュ彛鍚嶇О'")
+ @Schema(description = "璇锋眰鍞竴鏍囪瘑")
+ @Column(columnDefinition="VARCHAR(128) comment '璇锋眰鍞竴鏍囪瘑'")
private String requestId;
- @Schema(description = "璇锋眰鍞竴鏍囪瘑")
- @Column(columnDefinition="VARCHAR(64) comment '璇锋眰鍞竴鏍囪瘑'")
+ @Schema(description = "鍏ュ弬")
+ @Column(columnDefinition="text comment '鍏ュ弬'")
private String requestParams;
@Schema(description = "鍥炲弬")
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractInvoice.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractInvoice.java
index 4c8a4f1..d1c7a42 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractInvoice.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractInvoice.java
@@ -76,7 +76,7 @@
@Schema(description = "鏈烘瀯绋庡彿")
@Column(columnDefinition="varchar(64) comment '鏈烘瀯绋庡彿'")
- private String texNo;
+ private String taxNo;
@Schema(description = "閿�鍞柟鍚嶇О")
@Column(columnDefinition="varchar(128) comment '閿�鍞柟鍚嶇О'")
@@ -85,6 +85,10 @@
@Schema(description = "璐拱鏂瑰悕绉�")
@Column(columnDefinition="varchar(128) comment '璐拱鏂瑰悕绉�'")
private String buyerTaxName;
+
+ @Schema(description = "璐拱鏂圭◣鍙�")
+ @Column(columnDefinition="varchar(128) comment '璐拱鏂瑰悕绉�'")
+ private String buyerTaxNo;
@Schema(description = "鍙戠エ棰勮淇℃伅")
@Column(columnDefinition="text comment '鍙戠エ棰勮淇℃伅'")
@@ -103,10 +107,18 @@
private String bipPush;
@Schema(description = "bip鎺ㄩ�佹垚鍔熷悗杩斿洖鏁版嵁ID")
- @Column(columnDefinition="bigint comment 'bip鎺ㄩ�佹爣璇� 1/宸叉帹閫� 0/鏈帹閫�'")
+ @Column(columnDefinition="bigint comment 'bip鎺ㄩ�佹垚鍔熷悗杩斿洖鏁版嵁ID'")
private Long bipId;
@Schema(description = "鍙戠エ棰勮bip鎺ㄩ�佹垚鍔熷悗杩斿洖鐨勬暟鎹粨鏋�")
- @Column(columnDefinition="text comment '鍙戠エ棰勮淇℃伅'")
+ @Column(columnDefinition="text comment '鍙戠エ棰勮bip鎺ㄩ�佹垚鍔熷悗杩斿洖鐨勬暟鎹粨鏋�'")
private String bipBody;
+
+ @Schema(description = "鍏宠仈璇锋眰ID")
+ @Column(columnDefinition = "varchar(64) comment '鍏宠仈璇锋眰ID'")
+ private String bwRequestId;
+
+ @Schema(description = "棰勬敹寮�绁ㄦ爣璇�")
+ @Column(columnDefinition = "char default '0' comment '0/鍚� 1/鏄�'")
+ private String advanceFlag;
}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractOutBound.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractOutBound.java
index ae5273e..d92d7d2 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractOutBound.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractOutBound.java
@@ -91,6 +91,10 @@
@Column(columnDefinition="decimal(10,2) comment '宸插紑绁ㄦ暟閲�'")
private BigDecimal invoiceNum;
+ @Schema(description = "棰勫紑绁ㄦ暟閲�")
+ @Column(columnDefinition="decimal(10,2) DEFAULT 0.00 comment '棰勫紑绁ㄦ暟閲�'")
+ private BigDecimal advanceNum;
+
// //浠ヤ笅寮�绁ㄧ浉鍏�
//
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractSubjectMatter.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractSubjectMatter.java
index 9e6e16d..5101ab4 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractSubjectMatter.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ContractSubjectMatter.java
@@ -174,6 +174,10 @@
@Column(columnDefinition = "decimal(10,2) comment '鎬婚噸 /kg'")
private BigDecimal totalWight;
+ @Schema(description = "棰勫紑绁ㄦ暟閲�")
+ @Column(columnDefinition="decimal(10,2) DEFAULT 0.00 comment '棰勫紑绁ㄦ暟閲�'")
+ private BigDecimal advanceNum;
+
@Schema(description = "澶囨敞")
@Column(columnDefinition="text comment '澶囨敞'")
private String remarks;
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ErpRequestRecord.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ErpRequestRecord.java
index c04bfb8..52cc117 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ErpRequestRecord.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/ErpRequestRecord.java
@@ -21,8 +21,8 @@
@Column(columnDefinition="VARCHAR(128) comment '鎺ュ彛鍚嶇О'")
private String erpName;
- @Schema(description = "璇锋眰鍞竴鏍囪瘑")
- @Column(columnDefinition="VARCHAR(64) comment '璇锋眰鍞竴鏍囪瘑'")
+ @Schema(description = "鍏ュ弬")
+ @Column(columnDefinition="text comment '鍏ュ弬'")
private String requestParams;
@Schema(description = "鍥炲弬")
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/PaymentSlip.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/PaymentSlip.java
index e4ce98f..ea632ce 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/PaymentSlip.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/PaymentSlip.java
@@ -55,4 +55,8 @@
@Schema(description = "鍚堝悓ID")
@Column(columnDefinition="bigint comment '鍚堝悓ID'")
private Long contractId;
+
+ @Schema(description = "閾惰娴佹按鍙�")
+ @Column(columnDefinition="VARCHAR(255) comment '閾惰娴佹按鍙�'")
+ private String bankSeqNo;
}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/StatementContractDTO.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/StatementContractDTO.java
new file mode 100644
index 0000000..c345c3b
--- /dev/null
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/entity/StatementContractDTO.java
@@ -0,0 +1,14 @@
+package com.by4cloud.platformx.business.entity;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+public class StatementContractDTO {
+
+ private Long id;
+
+ private BigDecimal toPaidAmount;
+
+}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractDetailVo.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractDetailVo.java
index 1492a17..091e25e 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractDetailVo.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractDetailVo.java
@@ -1,7 +1,6 @@
package com.by4cloud.platformx.business.vo;
-import com.by4cloud.platformx.business.entity.ContractPaymentSchedule;
-import com.by4cloud.platformx.business.entity.ContractSubjectMatter;
+import com.by4cloud.platformx.business.entity.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.persistence.Column;
@@ -245,4 +244,10 @@
private List<ContractPaymentSchedule> contractPaymentSchedule;
private List<ContractSubjectMatter> contractSubjectMatter;
+
+ private List<ContractOutBound> contractOutBound;
+
+ private List<PaymentSlip> paymentSlip;
+
+ private List<ContractInvoice> contractInvoice;
}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractInvoiceOutBoundVo.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractInvoiceOutBoundVo.java
index 7f9b4a2..9fb41ea 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractInvoiceOutBoundVo.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractInvoiceOutBoundVo.java
@@ -13,6 +13,9 @@
private Long id;
+ @Schema(description = "鏍囩殑鐗╄鍙�")
+ private String lineNo;
+
@Schema(description = "鏍囩殑鐗╁悕绉�")
private String subjectMatterName;
@@ -25,20 +28,16 @@
@Schema(description = "鍑哄簱鏁伴噺")
private BigDecimal outBoundNum;
- @Schema(description = "鍑哄簱鏃ユ湡")
- @JsonFormat(pattern = "yyyy-MM-dd")
- private Date outBoundTime;
-
@Schema(description = "寮�绁ㄦ暟閲�")
private BigDecimal invoiceNum;
@Schema(description = "鎷熷紑绁ㄦ暟閲�")
private BigDecimal toInvoiceNum;
+ @Schema(description = "棰勫紑绁ㄦ暟閲�")
+ private BigDecimal advanceNum;
+
@Schema(description = "鍗曚环")
private BigDecimal unitPrice;
-
- @Schema(description = "寮�绁ㄧ姸鎬侊紙0-鏈紑绁� 1-寮�绁ㄤ腑 2-宸插紑绁級")
- private String invoiceStatus;
}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractInvoicePageVo.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractInvoicePageVo.java
index ee3996a..c1124b6 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractInvoicePageVo.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/ContractInvoicePageVo.java
@@ -89,4 +89,7 @@
@Schema(description = "鍚堝悓鍒嗙被")
private Integer invoiceNum;
+
+ @Schema(description = "棰勬敹娆�")
+ private BigDecimal advanceAmount;
}
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/CustInfoVo.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/CustInfoVo.java
index eb74d32..22e53f2 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/CustInfoVo.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/CustInfoVo.java
@@ -9,6 +9,8 @@
private String custName;
+ private String custCode;
+
private String legalPerson;
private String registrationAddress;
diff --git a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/GenInvoiceInfoVo.java b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/GenInvoiceInfoVo.java
index 7a46019..40a2eaa 100644
--- a/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/GenInvoiceInfoVo.java
+++ b/platformx-business-finance-api/src/main/java/com/by4cloud/platformx/business/vo/GenInvoiceInfoVo.java
@@ -12,6 +12,9 @@
@Schema(description = "鍚堝悓绫诲瀷")
private String contractCategory;
+ @Schema(description = "棰勫紑鍙戠エ")
+ private String advanceInvoice;
+
@Schema(description = "鐢叉柟鍚嶇О")
private String partyA;
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/BusinessCustomerController.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/BusinessCustomerController.java
index af46a66..db0ce40 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/BusinessCustomerController.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/BusinessCustomerController.java
@@ -71,7 +71,7 @@
LambdaQueryWrapper<BusinessCustomer> wrapper = Wrappers.lambdaQuery();
wrapper.like(StrUtil.isNotEmpty(businessCustomer.getCompanyName()),BusinessCustomer::getCompanyName,businessCustomer.getCompanyName());
List<BusinessCustomer> businessCustomerList = businessCustomerService.listByScope(wrapper);
- if (ArrayUtil.isNotEmpty(businessCustomerList.toArray())){
+ if (CollUtil.isNotEmpty(businessCustomerList)){
List<BusinessCustomerSelectVo> voList = BeanUtil.copyToList(businessCustomerList, BusinessCustomerSelectVo.class);
if (voList.size()>1000){
return R.ok(voList.subList(0,1000));
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractInvoiceController.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractInvoiceController.java
index b5eb269..95c50e3 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractInvoiceController.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ContractInvoiceController.java
@@ -77,6 +77,15 @@
}
/**
+ * 鑾峰彇鍚堝悓棰勫紑绁ㄤ俊鎭�
+ * @return
+ */
+ @GetMapping("/getContractAdvance/{contractId}" )
+ public R getContractAdvance(@PathVariable("contractId")Long contractId) {
+ return contractInvoiceService.getContractAdvance(contractId);
+ }
+
+ /**
* 鑾峰彇鍚堝悓鎴跨 姘寸數 璐圭敤淇℃伅
* @return
*/
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java
index 47f7e8e..e510114 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/controller/ProductController.java
@@ -146,7 +146,7 @@
@PostMapping
@PreAuthorize("@pms.hasPermission('business_product_add')" )
public R save(@RequestBody Product product) {
- if (ArrayUtil.isNotEmpty(productService.listByScope(Wrappers.lambdaQuery(product).eq(Product::getErpCode,product.getErpCode())).toArray())){
+ if (CollUtil.isNotEmpty(productService.listByScope(Wrappers.lambdaQuery(product).eq(Product::getErpCode,product.getErpCode())))){
return R.failed("浜у搧Erp缂栫爜宸插瓨鍦�");
}
return R.ok(productService.save(product));
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/BankStatementItemMapper.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/BankStatementItemMapper.java
new file mode 100644
index 0000000..e978de2
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/BankStatementItemMapper.java
@@ -0,0 +1,11 @@
+package com.by4cloud.platformx.business.mapper;
+
+import com.by4cloud.platformx.business.entity.BankStatementItem;
+import com.by4cloud.platformx.common.data.datascope.PlatformxBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface BankStatementItemMapper extends PlatformxBaseMapper<BankStatementItem> {
+
+
+}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/BipViewMapper.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/BipViewMapper.java
index b80a290..fee92c6 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/BipViewMapper.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/mapper/BipViewMapper.java
@@ -12,7 +12,7 @@
@DS("druid_bip_view")
public interface BipViewMapper {
- @Select("select certificate_id, cust_name,legal_person,registration_address from mdm_send.mdm_cust_base_info_tra_send WHERE is_deleted = '0' and cust_name = #{companyName}")
+ @Select("select certificate_id, cust_name,legal_person,registration_address,cust_code from mdm_send.mdm_cust_base_info_tra_send WHERE is_deleted = '0' and cust_name = #{companyName}")
CustInfoVo selectBaseInfoByCustName(String companyName);
@Select("SELECT mcbats.bank_account,mcbats.bank_name FROM mdm_send.mdm_cust_bank_account_tra_send AS mcbats WHERE is_deleted = '0' and holder_name = #{companyName}")
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/ContractInvoiceService.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/ContractInvoiceService.java
index a38f49e..8aeb719 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/ContractInvoiceService.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/ContractInvoiceService.java
@@ -9,6 +9,8 @@
public interface ContractInvoiceService {
R getContractOutBound(Long contractId);
+ R getContractAdvance(Long contractId);
+
R genInvoiceInfo(GenInvoiceInfoDTO genInvoiceInfoDTO);
R toInvoice(GenInvoiceInfoDTO genInvoiceInfoDTO);
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BankStatementServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BankStatementServiceImpl.java
index 15acf79..0bc4219 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BankStatementServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BankStatementServiceImpl.java
@@ -1,5 +1,7 @@
package com.by4cloud.platformx.business.service.impl;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
@@ -7,22 +9,28 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.by4cloud.platformx.admin.api.entity.SysDept;
+import com.by4cloud.platformx.admin.api.feign.RemoteDeptService;
import com.by4cloud.platformx.business.dto.BankStatementUpdateDTO;
import com.by4cloud.platformx.business.dto.PaymentConfirmAddDTO;
-import com.by4cloud.platformx.business.entity.BankStatement;
-import com.by4cloud.platformx.business.entity.BusinessCustomer;
-import com.by4cloud.platformx.business.entity.Contract;
+import com.by4cloud.platformx.business.entity.*;
+import com.by4cloud.platformx.business.mapper.BankStatementItemMapper;
import com.by4cloud.platformx.business.mapper.BankStatementMapper;
import com.by4cloud.platformx.business.mapper.BusinessCustomerMapper;
import com.by4cloud.platformx.business.mapper.ContractMapper;
import com.by4cloud.platformx.business.service.BankStatementService;
import com.by4cloud.platformx.business.service.PaymentConfirmService;
import com.by4cloud.platformx.common.core.util.R;
+import com.by4cloud.platformx.common.security.util.SecurityUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.List;
+
/**
* 閾惰娴佹按
*
@@ -38,48 +46,82 @@
private final ContractMapper contractMapper;
private final BusinessCustomerMapper businessCustomerMapper;
private final StringRedisTemplate redisTemplate;
+ private final RemoteDeptService remoteDeptService;
+ private final BankStatementItemMapper bankStatementItemMapper;
@Value("${bip.url}")
private String url;
+ @Value("${BWInvoice.flag}")
+ private Boolean bwFlag;
+
@Override
public R edit(BankStatementUpdateDTO updateDTO) {
BankStatement statement = baseMapper.selectById(updateDTO.getId());
- Contract contract = contractMapper.selectById(updateDTO.getContractId());
- if (ObjUtil.isNull(contract)){
- return R.failed("鍚堝悓鏌ヨ澶辫触");
+ if (CollUtil.isEmpty(updateDTO.getContractCollectionList())){
+ return R.failed("璇烽�夋嫨鏀舵鍚堝悓鍚庡湪鎻愪氦");
}
- PaymentConfirmAddDTO addDTO = new PaymentConfirmAddDTO();
- addDTO.setBusGuestId(statement.getBusGuestId()+"");
- addDTO.setConfirmTime(statement.getTranDate());
- addDTO.setContractNo(contract.getContractNo());
- addDTO.setInOrOut("1");
- addDTO.setTransationAmount(statement.getTranAmount());
- R r = paymentConfirmService.add(addDTO);
- if (!r.isOk()){
- return r;
+ BigDecimal toPaidTotal = updateDTO.getContractCollectionList().stream() .map(StatementContractDTO::getToPaidAmount)
+ .reduce(BigDecimal.ZERO, BigDecimal::add);
+ if (toPaidTotal.compareTo(statement.getTranAmount().subtract(statement.getConfirmAmount()))>0){
+ return R.failed("纭鏀舵鎬婚涓嶈兘瓒呰繃浜ゆ槗娴佹按閲戦");
}
- statement.setContractId(updateDTO.getContractId());
+ statement.setConfirmAmount(statement.getConfirmAmount().add(toPaidTotal));
baseMapper.updateById(statement);
+ updateDTO.getContractCollectionList().stream().forEach(statementContractDTO -> {
+ BankStatementItem item = new BankStatementItem();
+ item.setStatetId(statement.getId());
+ item.setBankSeqNo(statement.getBankSeqNo());
+ item.setConfirmAmount(statementContractDTO.getToPaidAmount());
+ item.setContractId(statementContractDTO.getId());
+ bankStatementItemMapper.insert(item);
+
+ Contract contract = contractMapper.selectById(statementContractDTO.getId());
+ PaymentConfirmAddDTO addDTO = new PaymentConfirmAddDTO();
+ addDTO.setBusGuestId(statement.getBusGuestId()+"");
+ addDTO.setConfirmTime(statement.getTranDate());
+ addDTO.setContractNo(contract.getContractNo());
+ addDTO.setInOrOut("1");
+ addDTO.setTransationAmount(statementContractDTO.getToPaidAmount());
+ addDTO.setBankSeqNo(statement.getBankSeqNo());
+ paymentConfirmService.add(addDTO);
+ });
+
+
+
//bip鎺ㄩ��
- pushSaveCollection(statement);
+ if (bwFlag) {
+ pushSaveCollection(statement, updateDTO.getContractCollectionList());
+ }
return R.ok();
}
- private void pushSaveCollection(BankStatement statement) {
+ private void pushSaveCollection(BankStatement statement, List<StatementContractDTO> contractDTOList) {
String accessToken = "";
if (redisTemplate.hasKey("BIP_TOKEN")) {
accessToken = (String) redisTemplate.opsForValue().get("BIP_TOKEN");
} else {
- paymentConfirmService.getAccessToken(accessToken);
+ accessToken = paymentConfirmService.getAccessToken(accessToken);
}
if (StrUtil.isEmpty(accessToken)) {
log.error("bip accessToken 鑾峰彇寮傚父");
return;
}
String finalAccessToken = accessToken;
- JSONObject params = genRequestParam(statement);
+
+ BusinessCustomer customer = businessCustomerMapper.selectById(statement.getBusGuestId());
+ if (ObjUtil.isNull(customer)||StrUtil.isEmpty(customer.getBipCode())){
+ log.error("鏌ヨ瀹㈡埛淇℃伅寮傚父");
+ return;
+ }
+ R<SysDept> r = remoteDeptService.getById(SecurityUtils.getUser().getCompId());
+ if (!r.isOk()){
+ log.error("鏌ヨ鍗曚綅淇℃伅寮傚父");
+ return;
+ }
+ SysDept dept = r.getData();
+ JSONObject params = genRequestParam(statement,dept,customer,contractDTOList);
log.info("鏀舵鍗曢泦鎴� Request:{}", params.toJSONString());
String result = HttpUtil.post(url + "/yonbip/EFI/receivable/save?access_token=" + finalAccessToken, params.toJSONString());
@@ -87,47 +129,31 @@
}
- private JSONObject genRequestParam(BankStatement statement) {
- BusinessCustomer customer = businessCustomerMapper.selectById(statement.getBusGuestId());
- Contract contract = contractMapper.selectById(statement.getContractId());
- JSONObject req = new JSONObject();
-
+ private JSONObject genRequestParam(BankStatement statement,SysDept dept,BusinessCustomer customer,List<StatementContractDTO> contractDTOList) {
+ JSONObject jsonObject = new JSONObject();
JSONObject data = new JSONObject();
-
-
- JSONObject freeCh = new JSONObject();
- freeCh.put("YSYF57","MJHYXGLXT");
-
- data.put("freeChId",freeCh);
- data.put("extVouchCode",statement.getBankSeqNo());
- data.put("billDate",statement.getTranDate());
+ data.put("billDate",DateUtil.format(statement.getTranDate(), DatePattern.NORM_DATETIME_FORMAT));
+ data.put("exchangeRate","1");//姹囩巼
+ data.put("exchangeRateDate",DateUtil.now());//姹囩巼鏃堕棿
data.put("objectType","1");
- data.put("customerCode",customer.getCreditCode());
- data.put("exchangeRate",1);
- data.put("exchangeRateDate", DateUtil.now());
- data.put("contractNo",contract.getContractNo());
-
- JSONArray bodyItems = new JSONArray();
-
- JSONObject bodyItem = new JSONObject();
- bodyItem.put("srcBillType","38");
- bodyItem.put("srcBillNo",statement.getBankSeqNo());
-
- JSONObject freeChItem = new JSONObject();
- freeChItem.put("YSZJX01A","涓氬姟璧勯噾棰勭畻椤圭洰");
- freeChItem.put("YSZJX05","");
- freeChItem.put("YSZJX11","2146820445301112836");
- freeChItem.put("zzbkfl","");
- bodyItem.put("freeChId",freeChItem);
-
- bodyItems.add(bodyItem);
- data.put("bodyItem",bodyItems);
-
+ data.put("customerCode",customer.getBipCode());//瀹㈡埛缂栫爜
+ data.put("financeOrgCode",dept.getBipCode());//寮�绁ㄧ粍缁囩紪鐮�
+ data.put("orgCode",dept.getBipCode());//涓氬姟缁勭粐缂栫爜
+ data.put("bustypeCode","");//浜ゆ槗绫诲瀷缂栫爜 鏆備及榛樿ZGYSFP锛岄攢鍞粯璁JHYXGLXT
+ data.put("oriCurrencyCode","CNY");//甯佺
data.put("_status","Insert");
- data.put("oriTaxIncludedAmount",statement.getTranAmount());
-
- req.put("data",data);
- return req;
-
+ JSONArray bodyItem = new JSONArray();
+ for (StatementContractDTO statementContractDTO:contractDTOList) {
+ Contract contract = contractMapper.selectById(statementContractDTO.getId());
+ JSONObject item = new JSONObject();
+ item.put("oriTaxIncludedAmount", statementContractDTO.getToPaidAmount());
+ item.put("contractNo", contract.getContractNo());
+ item.put("quickTypeCode", "1");
+ item.put("_status", "Insert");
+ bodyItem.add(item);
+ }
+ data.put("bodyItem",bodyItem);
+ jsonObject.put("data",data);
+ return jsonObject;
}
}
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BusinessCustomerServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BusinessCustomerServiceImpl.java
index 0767e4d..3be2168 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BusinessCustomerServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/BusinessCustomerServiceImpl.java
@@ -1,6 +1,7 @@
package com.by4cloud.platformx.business.service.impl;
-import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.collection.CollUtil;
+
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -43,30 +44,38 @@
.or().isNull(BusinessCustomer::getLegalPerson)
.or().isNull(BusinessCustomer::getBankName)
.or().isNull(BusinessCustomer::getBankAccount)
- .or().isNull(BusinessCustomer::getRegisterName))
+ .or().isNull(BusinessCustomer::getRegisterName)
+ .or().isNull(BusinessCustomer::getBipCode))
);
- if (ArrayUtil.isNotEmpty(bcList.toArray())){
+ if (CollUtil.isNotEmpty(bcList)){
for (BusinessCustomer bc:bcList
) {
log.info("寮�濮嬪悓姝}淇℃伅",bc.getCompanyName());
CustInfoVo custInfo = bipViewMapper.selectBaseInfoByCustName(bc.getCompanyName());
+ if (ObjUtil.isNull(custInfo)){
+ continue;
+ }
if (ObjUtil.isNotNull(custInfo)){
bc.setCreditCode(custInfo.getCertificateId());
bc.setRegisterName(custInfo.getCustName());
bc.setLegalPerson(custInfo.getLegalPerson());
bc.setAddress(custInfo.getRegistrationAddress());
+ bc.setBipCode(custInfo.getCustCode());
baseMapper.updateById(bc);
- log.info("{}鍚屾鍚嶇О銆佹硶浜恒�佸湴鍧�銆佷俊鐢ㄧ爜淇℃伅鎴愬姛",bc.getCompanyName());
+ log.info("{}鍚屾鍚嶇О銆佹硶浜恒�佸湴鍧�銆佷俊鐢ㄧ爜銆乥ipcode淇℃伅鎴愬姛",bc.getCompanyName());
}
List<CustBankVo> bankVoList = bipViewMapper.selectBankByCustName(bc.getCompanyName());
- if (ArrayUtil.isNotEmpty(bankVoList.toArray())){
+ if (CollUtil.isEmpty(bankVoList)){
+ continue;
+ }
+ if (CollUtil.isNotEmpty(bankVoList)){
if (StrUtil.isEmpty(bc.getBankAccount())){
bc.setBankAccount(bankVoList.get(0).getBankAccount());
baseMapper.updateById(bc);
log.info("{}鍚屾閾惰鍗″彿淇℃伅鎴愬姛",bc.getCompanyName());
}
List<BankNameVo> bankNameVoList = bipBanklViewMapper.selectBankByCode(bankVoList.get(0).getBankName());
- if (ArrayUtil.isNotEmpty(bankNameVoList.toArray())){
+ if (CollUtil.isNotEmpty(bankNameVoList)){
bc.setBankName(bankNameVoList.get(0).getBankNameName());
baseMapper.updateById(bc);
log.info("{}鍚屾閾惰鍚嶇О淇℃伅鎴愬姛",bc.getCompanyName());
@@ -92,13 +101,13 @@
log.info("{}涓绘暟鎹煡璇㈠悕绉般�佹硶浜恒�佸湴鍧�銆佷俊鐢ㄧ爜淇℃伅鎴愬姛",companyName);
}
List<CustBankVo> bankVoList = bipViewMapper.selectBankByCustName(bc.getCompanyName());
- if (ArrayUtil.isNotEmpty(bankVoList.toArray())){
+ if (CollUtil.isNotEmpty(bankVoList)){
if (StrUtil.isEmpty(bc.getBankAccount())){
bc.setBankAccount(bankVoList.get(0).getBankAccount());
log.info("{}涓绘暟鎹煡璇㈤摱琛屽崱鍙蜂俊鎭垚鍔�",companyName);
}
List<BankNameVo> bankNameVoList = bipBanklViewMapper.selectBankByCode(bankVoList.get(0).getBankName());
- if (ArrayUtil.isNotEmpty(bankNameVoList.toArray())){
+ if (CollUtil.isNotEmpty(bankNameVoList)){
bc.setBankName(bankNameVoList.get(0).getBankNameName());
log.info("{}涓绘暟鎹煡璇㈤摱琛屽悕绉颁俊鎭垚鍔�",companyName);
}
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java
index d2bb434..9325098 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractInvoiceServiceImpl.java
@@ -1,6 +1,7 @@
package com.by4cloud.platformx.business.service.impl;
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
@@ -9,10 +10,8 @@
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpUtil;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -30,23 +29,21 @@
import com.by4cloud.platformx.business.vo.*;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.common.data.datascope.DataScope;
-import com.by4cloud.platformx.common.data.mybatis.BaseModel;
import com.by4cloud.platformx.common.security.util.SecurityUtils;
import com.by4cloud.platformx.flow.task.dto.ProcessInstanceParamDto;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
-import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springdoc.core.annotations.ParameterObject;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
-import org.springframework.web.bind.annotation.GetMapping;
import java.math.BigDecimal;
import java.math.RoundingMode;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
import java.util.stream.Collectors;
@Slf4j
@@ -55,6 +52,7 @@
public class ContractInvoiceServiceImpl extends ServiceImpl<ContractInvoiceMapper, ContractInvoice> implements ContractInvoiceService {
private final ContractMapper contractMapper;
+ private final ContractSubjectMatterMapper contractSubjectMatterMapper;
private final BusinessCustomerMapper businessCustomerMapper;
private final ContractOutBoundMapper contractOutBoundMapper;
private final PaymentConfirmMapper paymentConfirmMapper;
@@ -67,7 +65,7 @@
private final RemoteDeptService remoteDeptService;
private final RemoteFlowProcessService remoteFlowProcessService;
private final PaymentConfirmService paymentConfirmService;
- private final RedisTemplate redisTemplate;
+ private final StringRedisTemplate redisTemplate;
@Value("${BWInvoice.url}")
@@ -92,9 +90,35 @@
.selectAll(ContractOutBound.class)
.eq(ContractOutBound::getContractId, contractId);
List<ContractInvoiceOutBoundVo> invoiceOutBoundVoList = contractOutBoundMapper.selectJoinList(ContractInvoiceOutBoundVo.class, wrapper);
- if (ArrayUtil.isNotEmpty(invoiceOutBoundVoList.toArray())) {
+ if (CollUtil.isNotEmpty(invoiceOutBoundVoList)) {
invoiceOutBoundVoList.stream().forEach(contractInvoiceOutBoundVo -> {
+
contractInvoiceOutBoundVo.setInvoiceNum(contractInvoiceOutBoundVo.getOutBoundNum().subtract(contractInvoiceOutBoundVo.getInvoiceNum()));
+ ContractSubjectMatter subjectMatter = contractSubjectMatterMapper.selectOne(Wrappers.<ContractSubjectMatter>lambdaQuery().eq(ContractSubjectMatter::getContractId,contractId)
+ .eq(ContractSubjectMatter::getMaterialCode,contractInvoiceOutBoundVo.getSubjectMatterCode())
+ .eq(StrUtil.isNotBlank(contractInvoiceOutBoundVo.getLineNo()),ContractSubjectMatter::getLineNo,contractInvoiceOutBoundVo.getLineNo())
+ .last("limit 1"));
+ if (ObjUtil.isNotNull(subjectMatter)&&subjectMatter.getAdvanceNum().compareTo(new BigDecimal("0"))>0){
+ contractInvoiceOutBoundVo.setInvoiceNum(contractInvoiceOutBoundVo.getOutBoundNum().subtract(subjectMatter.getAdvanceNum()));
+ }
+ contractInvoiceOutBoundVo.setToInvoiceNum(contractInvoiceOutBoundVo.getInvoiceNum());
+ });
+ }
+ return R.ok(invoiceOutBoundVoList);
+ }
+
+ @Override
+ public R getContractAdvance(Long contractId) {
+ MPJLambdaWrapper<ContractSubjectMatter> wrapper = new MPJLambdaWrapper<ContractSubjectMatter>()
+ .selectAll(ContractSubjectMatter.class)
+ .selectAs(ContractSubjectMatter::getMaterialCode, "subjectMatterCode")
+ .selectAs(ContractSubjectMatter::getMaterialName, "subjectMatterName")
+ .selectAs(ContractSubjectMatter::getQuantity, "outBoundNum")
+ .eq(ContractSubjectMatter::getContractId, contractId);
+ List<ContractInvoiceOutBoundVo> invoiceOutBoundVoList = contractSubjectMatterMapper.selectJoinList(ContractInvoiceOutBoundVo.class, wrapper);
+ if (ArrayUtil.isNotEmpty(invoiceOutBoundVoList)) {
+ invoiceOutBoundVoList.stream().forEach(contractInvoiceOutBoundVo -> {
+ contractInvoiceOutBoundVo.setInvoiceNum(contractInvoiceOutBoundVo.getOutBoundNum().subtract(contractInvoiceOutBoundVo.getAdvanceNum()));
contractInvoiceOutBoundVo.setToInvoiceNum(contractInvoiceOutBoundVo.getInvoiceNum());
});
}
@@ -117,10 +141,43 @@
return R.failed("璇烽�夋嫨寮�绁ㄥ嚭搴撳崟鍚庡啀鎿嶄綔");
}
Long contractId = null;
- if (!StrUtil.equals(genInvoiceInfoDTO.getContractCategory(),"water_house")) {
+ if (StrUtil.isNotBlank(genInvoiceInfoDTO.getContractId())) {
+ ContractPaymentSchedule schedule = contractPaymentScheduleMapper.selectOne(Wrappers.<ContractPaymentSchedule>lambdaQuery()
+ .eq(ContractPaymentSchedule::getStageName, "鍚堝悓绛捐").eq(ContractPaymentSchedule::getContractId,genInvoiceInfoDTO.getContractId())
+ .last("limit 1"));
+ if (ObjUtil.isNull(schedule)) {
+ return R.failed("鍚堝悓棰勬敹娆鹃樁娈靛紓甯革紝璇疯仈绯绘妧鏈汉鍛�");
+ }
+ Contract contract = contractMapper.selectById(genInvoiceInfoDTO.getContractId());
+ if (ObjUtil.isNull(contract)) {
+ return R.failed("鍚堝悓淇℃伅寮傚父锛岃鑱旂郴鎶�鏈汉鍛�");
+ }
+ R<SysDept> r = remoteDeptService.getById(contract.getPartyBId());
+ if (!r.isOk()) {
+ return R.failed("鑾峰彇寮�绁ㄥ崟浣嶅紓甯�");
+ }
+ SysDept b = r.getData();
+ BigDecimal advanceAmount = new BigDecimal("0");
+ for (ContractOutBoundInvoiceVo contractOutBoundInvoiceVo : genInvoiceInfoDTO.getOutBoundInvoiceList()) {
+ ContractSubjectMatter subjectMatter = contractSubjectMatterMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
+ if (ObjUtil.isNotNull(subjectMatter)) {
+ advanceAmount = advanceAmount.add(contractOutBoundInvoiceVo.getInvoiceNum().multiply(subjectMatter.getUnitPrice()));
+ }
+ }
+ log.info("advanceAmount:{}",advanceAmount);
+ log.info("schedule.getPlannedAmount:{}",schedule.getPlannedAmount());
+ if (advanceAmount.compareTo(schedule.getPlannedAmount()) > 0) {
+ return R.failed("寮�绁ㄩ噾棰濊秴鍑哄悎鍚岀璁㈤樁娈靛簲鏀堕噾棰�:" + schedule.getPlannedAmount() + ",璇疯皟鏁村紑绁ㄦ暟閲�");
+ }
+ GenInvoiceInfoVo vo = genAdvanceInvoiceInfoVo(genInvoiceInfoDTO, contract, b);
+
+ return R.ok(vo);
+ }
+
+ if (!StrUtil.equals(genInvoiceInfoDTO.getContractCategory(), "water_house")) {
ContractOutBound outBound = contractOutBoundMapper.selectById(genInvoiceInfoDTO.getOutBoundInvoiceList().get(0).getContractOutBoundId());
contractId = outBound.getContractId();
- }else {
+ } else {
ContractPaymentSchedule schedule = contractPaymentScheduleMapper.selectById(genInvoiceInfoDTO.getOutBoundInvoiceList().get(0).getContractOutBoundId());
contractId = schedule.getContractId();
}
@@ -154,12 +211,12 @@
List<ContractOutBoundMergeVo> mergeOutBounds = new ArrayList<>();
// List<ContractOutBound> outBounds = contractOutBoundMapper.selectList(Wrappers.<ContractOutBound>lambdaQuery()
// .in(ContractOutBound::getId, genInvoiceInfoDTO.getOutBoundInvoiceList().stream().map(item->item.getContractOutBoundId()).collect(Collectors.toList())));
- if (!StrUtil.equals(contract.getContractCategory(), "water_house")){
- if (ArrayUtil.isNotEmpty(genInvoiceInfoDTO.getOutBoundInvoiceList().toArray())) {
+ if (!StrUtil.equals(contract.getContractCategory(), "water_house")) {
+ if (CollUtil.isNotEmpty(genInvoiceInfoDTO.getOutBoundInvoiceList())) {
genInvoiceInfoDTO.getOutBoundInvoiceList().stream().forEach(contractOutBoundInvoiceVo -> {
ContractOutBound contractOutBound = contractOutBoundMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
- if (!ArrayUtil.contains(erpCode.toArray(), contractOutBound.getSubjectMatterCode())) {
+ if (!CollUtil.contains(erpCode, contractOutBound.getSubjectMatterCode())) {
erpCode.add(contractOutBound.getSubjectMatterCode());
ContractOutBoundMergeVo mergeVo = new ContractOutBoundMergeVo();
mergeVo.setMaterialCode(contractOutBound.getSubjectMatterCode());
@@ -198,12 +255,12 @@
List<ContractOutBoundMergeVo> filteredList = mergeOutBounds.stream()
.filter(item -> contractOutBound.getSubjectMatterCode().equals(item.getMaterialCode())) // 闃叉绌烘寚閽堬紝寤鸿甯搁噺鍦ㄥ墠
.collect(Collectors.toList());
- if (ArrayUtil.isNotEmpty(filteredList.toArray())) {
+ if (ArrayUtil.isNotEmpty(filteredList)) {
filteredList.get(0).setQuantity(filteredList.get(0).getQuantity().add(contractOutBound.getOutBoundNum()));
}
}
});
- if (ArrayUtil.isNotEmpty(mergeOutBounds.toArray())) {
+ if (ArrayUtil.isNotEmpty(mergeOutBounds)) {
invoiceItemVoList = BeanUtil.copyToList(mergeOutBounds, InvoiceItemVo.class);
invoiceItemVoList.stream().forEach(invoiceItemVo -> {
// for (InvoiceItemVo invoiceItemVo:invoiceItemVoList) {
@@ -217,12 +274,12 @@
vo.setPriceWords(Convert.digitToChinese(vo.getTotalPrice()));
}
}
- }else {
- if (ArrayUtil.isNotEmpty(genInvoiceInfoDTO.getOutBoundInvoiceList().toArray())) {
+ } else {
+ if (ArrayUtil.isNotEmpty(genInvoiceInfoDTO.getOutBoundInvoiceList())) {
genInvoiceInfoDTO.getOutBoundInvoiceList().stream().forEach(contractOutBoundInvoiceVo -> {
ContractPaymentSchedule schedule = contractPaymentScheduleMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
- if (!ArrayUtil.contains(erpCode.toArray(), schedule.getSubjectMatterCode())) {
+ if (!CollUtil.contains(erpCode, schedule.getSubjectMatterCode())) {
erpCode.add(schedule.getSubjectMatterCode());
ContractOutBoundMergeVo mergeVo = new ContractOutBoundMergeVo();
mergeVo.setMaterialCode(schedule.getSubjectMatterCode());
@@ -256,15 +313,15 @@
mergeVo.setUnitPrice(subjectMatter.getUnitPrice());
}
mergeOutBounds.add(mergeVo);
- }else {
- List<ContractOutBoundMergeVo> filterMergeVo = mergeOutBounds.stream().filter(item->item.getMaterialCode()
+ } else {
+ List<ContractOutBoundMergeVo> filterMergeVo = mergeOutBounds.stream().filter(item -> item.getMaterialCode()
.equals(schedule.getSubjectMatterCode())).collect(Collectors.toList());
- if (ArrayUtil.isNotEmpty(filterMergeVo.toArray())){
+ if (ArrayUtil.isNotEmpty(filterMergeVo)) {
filterMergeVo.get(0).setPriceAndTax(schedule.getPlannedAmount().add(filterMergeVo.get(0).getPriceAndTax()));
}
}
});
- if (ArrayUtil.isNotEmpty(mergeOutBounds.toArray())) {
+ if (ArrayUtil.isNotEmpty(mergeOutBounds)) {
invoiceItemVoList = BeanUtil.copyToList(mergeOutBounds, InvoiceItemVo.class);
invoiceItemVoList.stream().forEach(invoiceItemVo -> {
// for (InvoiceItemVo invoiceItemVo:invoiceItemVoList) {
@@ -282,16 +339,141 @@
return vo;
}
+ private GenInvoiceInfoVo genAdvanceInvoiceInfoVo(GenInvoiceInfoDTO genInvoiceInfoDTO, Contract contract, SysDept b) {
+ GenInvoiceInfoVo vo = new GenInvoiceInfoVo();
+ BusinessCustomer a = businessCustomerMapper.selectById(contract.getPartyAId());
+ vo.setAdvanceInvoice("111");
+ vo.setPartyA(a.getCompanyName());
+ vo.setPartyAOrgCode(a.getCreditCode());
+ vo.setPartyAOpenBank(a.getBankName());
+ vo.setPartyABankAccount(a.getBankAccount());
+ vo.setPartyB(b.getOrgName());
+ vo.setPartyBOrgCode(b.getOrgCode());
+ vo.setPartyBOpenBank(b.getOrgBank());
+ vo.setPartyBBankAccount(b.getOrgBankAccount());
+ List<InvoiceItemVo> invoiceItemVoList = new ArrayList<>();
+ List<String> erpCode = new ArrayList<>();
+ List<ContractOutBoundMergeVo> mergeOutBounds = new ArrayList<>();
+
+ if (CollUtil.isNotEmpty(genInvoiceInfoDTO.getOutBoundInvoiceList())) {
+ genInvoiceInfoDTO.getOutBoundInvoiceList().stream().forEach(contractOutBoundInvoiceVo -> {
+ ContractSubjectMatter subjectMatter = contractSubjectMatterMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
+ if (ObjUtil.isNotNull(subjectMatter)) {
+ if (!CollUtil.contains(erpCode, subjectMatter.getMaterialCode())) {
+ erpCode.add(subjectMatter.getMaterialCode());
+ ContractOutBoundMergeVo mergeVo = new ContractOutBoundMergeVo();
+ mergeVo.setMaterialCode(subjectMatter.getMaterialCode());
+ mergeVo.setMaterialInternalName(subjectMatter.getMaterialName());
+ mergeVo.setQuantity(contractOutBoundInvoiceVo.getInvoiceNum());
+ Product product = productMapper.selectOne(Wrappers.<Product>lambdaQuery().eq(Product::getErpCode, subjectMatter.getMaterialCode())
+ .eq(Product::getCompId, SecurityUtils.getUser().getCompId()).last("limit 1"));
+ if (ObjUtil.isNotNull(product)) {
+ mergeVo.setTaxClass(product.getTaxClass());
+ mergeVo.setSpecification(product.getProductType());
+ mergeVo.setTaxRate(new BigDecimal(product.getTaxRate()));
+ mergeVo.setTaxCode(product.getTaxCode());
+ Product productClass = productMapper.selectById(product.getParentId());
+ if (ObjUtil.isNotNull(product)) {
+ if (StrUtil.equals(product.getErpCode(), "water_bill")) {
+ mergeVo.setItemName("*" + product.getTaxClass() + "*姘磋垂");
+ } else if (StrUtil.equals(product.getErpCode(), "electricity_bill")) {
+ mergeVo.setItemName("*" + product.getTaxClass() + "*鐢佃垂");
+ } else if (StrUtil.equals(product.getErpCode(), "house_rental")) {
+ mergeVo.setItemName("*" + product.getTaxClass() + "*鎴垮眿绉熻祦");
+ } else {
+ mergeVo.setItemName("*" + product.getTaxClass() + "*" + productClass.getProductName());
+ }
+
+ }
+ }
+ mergeVo.setUnitPrice(subjectMatter.getUnitPrice());
+ mergeVo.setUnit(subjectMatter.getUnit());
+ mergeOutBounds.add(mergeVo);
+ }
+
+ }
+ });
+ if (ArrayUtil.isNotEmpty(mergeOutBounds)) {
+ invoiceItemVoList = BeanUtil.copyToList(mergeOutBounds, InvoiceItemVo.class);
+ invoiceItemVoList.stream().forEach(invoiceItemVo -> {
+// for (InvoiceItemVo invoiceItemVo:invoiceItemVoList) {
+ BigDecimal itemPrice = invoiceItemVo.getUnitPrice().multiply(invoiceItemVo.getQuantity());
+ BigDecimal itemPriceTax = itemPrice.divide(new BigDecimal("100").add(invoiceItemVo.getTaxRate()), 2, RoundingMode.HALF_UP).multiply(invoiceItemVo.getTaxRate());
+ invoiceItemVo.setPriceTax(itemPriceTax);
+ invoiceItemVo.setPriceNoTax(itemPrice.subtract(itemPriceTax));
+ });
+ vo.setTotalPrice(invoiceItemVoList.stream().map(item -> item.getPriceTax().add(item.getPriceNoTax())).reduce(BigDecimal.ZERO, BigDecimal::add));
+ vo.setInvoiceItemList(invoiceItemVoList);
+ vo.setPriceWords(Convert.digitToChinese(vo.getTotalPrice()));
+ }
+ }
+
+ return vo;
+ }
+
@Override
public R toInvoice(GenInvoiceInfoDTO genInvoiceInfoDTO) {
- if (ArrayUtil.isEmpty(genInvoiceInfoDTO.getOutBoundInvoiceList().toArray())) {
+ if (ArrayUtil.isEmpty(genInvoiceInfoDTO.getOutBoundInvoiceList())) {
return R.failed("璇烽�夋嫨寮�绁ㄥ嚭搴撳崟鍚庡啀鎿嶄綔");
}
Long contractId = null;
- if (!StrUtil.equals(genInvoiceInfoDTO.getContractCategory(),"water_house")) {
+ if (StrUtil.isNotBlank(genInvoiceInfoDTO.getContractId())) {
+
+ ContractPaymentSchedule schedule = contractPaymentScheduleMapper.selectOne(Wrappers.<ContractPaymentSchedule>lambdaQuery()
+ .eq(ContractPaymentSchedule::getStageName, "鍚堝悓绛捐").eq(ContractPaymentSchedule::getContractId,genInvoiceInfoDTO.getContractId())
+ .last("limit 1"));
+ if (ObjUtil.isNull(schedule)) {
+ return R.failed("鍚堝悓棰勬敹娆鹃樁娈靛紓甯革紝璇疯仈绯绘妧鏈汉鍛�");
+ }
+ Contract contract = contractMapper.selectById(genInvoiceInfoDTO.getContractId());
+ if (ObjUtil.isNull(contract)) {
+ return R.failed("鍚堝悓淇℃伅寮傚父锛岃鑱旂郴鎶�鏈汉鍛�");
+ }
+ ContractInvoice lastInvoice = baseMapper.selectOne(Wrappers.<ContractInvoice>lambdaQuery().eq(ContractInvoice::getContractId,contract.getId())
+ .orderByDesc(ContractInvoice::getCreateTime).last("limit 1"));
+ if (ObjUtil.isNotNull(lastInvoice)&&StrUtil.equals(lastInvoice.getApprovalStatus(),"0")){
+ return R.failed("璇风瓑寰呮渶杩戠殑鍙戠エ瀹℃牳瀹屾垚鍚庡啀杩涜棰勬敹寮�绁�");
+ }
+ R<SysDept> r = remoteDeptService.getById(contract.getPartyBId());
+ if (!r.isOk()) {
+ return R.failed("鑾峰彇寮�绁ㄥ崟浣嶅紓甯�");
+ }
+ SysDept b = r.getData();
+ BigDecimal advanceAmount = new BigDecimal("0");
+ for (ContractOutBoundInvoiceVo contractOutBoundInvoiceVo : genInvoiceInfoDTO.getOutBoundInvoiceList()) {
+ ContractSubjectMatter subjectMatter = contractSubjectMatterMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
+ if (ObjUtil.isNotNull(subjectMatter)) {
+ advanceAmount = advanceAmount.add(contractOutBoundInvoiceVo.getInvoiceNum().multiply(subjectMatter.getUnitPrice()));
+ }
+ }
+
+ if (advanceAmount.compareTo(schedule.getPlannedAmount()) > 0) {
+ return R.failed("寮�绁ㄩ噾棰濊秴鍑哄悎鍚岀璁㈤樁娈靛簲鏀堕噾棰�:" + schedule.getPlannedAmount() + ",璇疯皟鏁村紑绁ㄦ暟閲�");
+ }
+ GenInvoiceInfoVo vo = genAdvanceInvoiceInfoVo(genInvoiceInfoDTO, contract, b);
+ //鍙戠エ淇濆瓨
+ ContractInvoice invoice = saveContractInvoice(vo, contract, genInvoiceInfoDTO.getOutBoundInvoiceList(), DateUtil.current() + "","1");
+ //鍚姩娴佺▼
+ ProcessInstanceParamDto dto = new ProcessInstanceParamDto();
+ Map<String, Object> map = BeanUtil.beanToMap(invoice);
+ dto.setParamMap(map);
+ dto.setFlowName(FlowNameEnum.閿�鍞寕璐﹀鎵�.name());
+ R r1 = remoteFlowProcessService.startProcessInstance(dto);
+ if (r1.getCode() == 1) {
+ return R.failed("娴佺▼鍚姩澶辫触");
+ }
+ //鏇存柊鍚堝悓鍑哄簱鍗曠姸鎬�
+ genInvoiceInfoDTO.getOutBoundInvoiceList().stream().forEach(contractOutBoundInvoiceVo -> {
+ ContractSubjectMatter subjectMatter = contractSubjectMatterMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
+ subjectMatter.setAdvanceNum(subjectMatter.getAdvanceNum().add(contractOutBoundInvoiceVo.getInvoiceNum()));
+ contractSubjectMatterMapper.updateById(subjectMatter);
+ });
+ return R.ok();
+ }
+ if (!StrUtil.equals(genInvoiceInfoDTO.getContractCategory(), "water_house")) {
ContractOutBound outBound = contractOutBoundMapper.selectById(genInvoiceInfoDTO.getOutBoundInvoiceList().get(0).getContractOutBoundId());
contractId = outBound.getContractId();
- }else {
+ } else {
ContractPaymentSchedule schedule = contractPaymentScheduleMapper.selectById(genInvoiceInfoDTO.getOutBoundInvoiceList().get(0).getContractOutBoundId());
contractId = schedule.getContractId();
}
@@ -306,12 +488,12 @@
SysDept b = r.getData();
GenInvoiceInfoVo vo = genInvoiceInfoVo(genInvoiceInfoDTO, contract, b);
//鍙戠エ淇濆瓨
- ContractInvoice invoice = saveContractInvoice(vo, contract, genInvoiceInfoDTO.getOutBoundInvoiceList(), DateUtil.current() + "");
+ ContractInvoice invoice = saveContractInvoice(vo, contract, genInvoiceInfoDTO.getOutBoundInvoiceList(), DateUtil.current() + "","0");
//鍚姩娴佺▼
ProcessInstanceParamDto dto = new ProcessInstanceParamDto();
Map<String, Object> map = BeanUtil.beanToMap(invoice);
- if (StrUtil.equals(genInvoiceInfoDTO.getContractCategory(),"water_house")) {
- map.put("contractCategory","water_house");
+ if (StrUtil.equals(genInvoiceInfoDTO.getContractCategory(), "water_house")) {
+ map.put("contractCategory", "water_house");
}
dto.setParamMap(map);
dto.setFlowName(FlowNameEnum.閿�鍞寕璐﹀鎵�.name());
@@ -319,23 +501,23 @@
if (r1.getCode() == 1) {
return R.failed("娴佺▼鍚姩澶辫触");
}
- if (!StrUtil.equals(contract.getContractCategory(),"water_house")) {
+ if (!StrUtil.equals(contract.getContractCategory(), "water_house")) {
//鏇存柊鍚堝悓鍑哄簱鍗曠姸鎬�
genInvoiceInfoDTO.getOutBoundInvoiceList().stream().forEach(contractOutBoundInvoiceVo -> {
ContractOutBound contractOutBound = contractOutBoundMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
contractOutBound.setInvoiceStatus("1");
- if (contractOutBoundInvoiceVo.getInvoiceNum().compareTo(contractOutBound.getOutBoundNum().subtract(contractOutBound.getInvoiceNum()))<=0) {
+ if (contractOutBoundInvoiceVo.getInvoiceNum().compareTo(contractOutBound.getOutBoundNum().subtract(contractOutBound.getInvoiceNum())) <= 0) {
contractOutBound.setInvoiceNum(contractOutBound.getInvoiceNum().subtract(contractOutBoundInvoiceVo.getInvoiceNum()));
}
contractOutBoundMapper.updateById(contractOutBound);
});
- }else {
+ } else {
//鏇存柊鍚堝悓鎴跨 姘寸數 璐瑰紑绁ㄧ姸鎬�
genInvoiceInfoDTO.getOutBoundInvoiceList().stream().forEach(contractOutBoundInvoiceVo -> {
- ContractPaymentSchedule schedule = contractPaymentScheduleMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
- schedule.setInvoiceFlag("1");
- contractPaymentScheduleMapper.updateById(schedule);
- });
+ ContractPaymentSchedule schedule = contractPaymentScheduleMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
+ schedule.setInvoiceFlag("1");
+ contractPaymentScheduleMapper.updateById(schedule);
+ });
}
return R.ok();
}
@@ -355,7 +537,6 @@
//閿�鏂�
jsonObject.put("taxNo", vo.getPartyBOrgCode());//绋庡彿
jsonObject.put("isSplit", false);//瓒呰繃鍙戠エ鍗曞紶闄愰鏄惁闇�瑕佹媶鍒嗗紑鍏凤紝榛樿涓嶆媶鍒嗭紙鎷嗗垎鍙敮鎸佸彂绁ㄧ被鍨嬩唬鐮佷负 涓撶エ 004 鏅エ 007 鐢靛瓙绁� 026鐨�
- jsonObject.put("taxUserName", "");//鐧诲綍鍚嶄负绋庡眬椤甸潰鐧� 褰曞悕
jsonObject.put("formatGenerate", false);//鏄惁闇�瑕佺敓鎴愮増寮忚繑鍥炵増寮忛摼鎺�(true / false)
jsonObject.put("formatPushType", false);//鐗堝紡鐢熸垚鏄惁鎺ㄩ��(true / false)
//data
@@ -374,10 +555,10 @@
invoiceDetail.put("goodsUnit", invoiceItemVo.getUnit());
invoiceDetail.put("goodsQuantity", invoiceItemVo.getQuantity());
invoiceDetail.put("goodsPrice", invoiceItemVo.getUnitPrice());
- if (!StrUtil.equals(vo.getContractCategory(),"water_house")) {
- invoiceDetail.put("goodsTotalPrice", invoiceItemVo.getUnitPrice().multiply(invoiceItemVo.getQuantity()));
- }else {
- invoiceDetail.put("goodsTotalPrice", invoiceItemVo.getPriceAndTax());
+ if (!StrUtil.equals(vo.getContractCategory(), "water_house")) {
+ invoiceDetail.put("goodsTotalPrice", invoiceItemVo.getPriceNoTax());
+ } else {
+ invoiceDetail.put("goodsTotalPrice", invoiceItemVo.getPriceNoTax());
}
invoiceDetail.put("goodsTotalTax", invoiceItemVo.getPriceTax());
@@ -388,8 +569,7 @@
//璐柟
data.put("buyerTaxNo", vo.getPartyAOrgCode());
data.put("buyerName", vo.getPartyA());
- data.put("invoiceTotalPrice", vo.getTotalPrice().subtract(vo.getInvoiceItemList().stream().map(item -> item.getPriceTax()).reduce(BigDecimal.ZERO, BigDecimal::add)));
- data.put("invoiceTotalTax", vo.getInvoiceItemList().stream().map(item -> item.getPriceTax()).reduce(BigDecimal.ZERO, BigDecimal::add));
+ data.put("drawer", SecurityUtils.getUser().getPhone());// TODO 绋庡姟鎬诲眬绯荤粺鐧婚檰浜烘墜鏈哄彿
data.put("invoiceTotalPriceTax", vo.getTotalPrice());
data.put("buyerBankName", vo.getPartyAOpenBank());
data.put("buyerBankNumber", vo.getPartyABankAccount());
@@ -398,15 +578,17 @@
return jsonObject;
}
- private ContractInvoice saveContractInvoice(GenInvoiceInfoVo genInvoiceInfoVo, Contract contract, List<ContractOutBoundInvoiceVo> outBoundInvoiceVoList, String serialNo) {
+ private ContractInvoice saveContractInvoice(GenInvoiceInfoVo genInvoiceInfoVo, Contract contract,
+ List<ContractOutBoundInvoiceVo> outBoundInvoiceVoList, String serialNo,String advanceFlag) {
ContractInvoice invoice = new ContractInvoice();
invoice.setContractId(contract.getId());
invoice.setInvoiceCategory("1");
invoice.setRedReversal("0");
invoice.setSerialNo(serialNo);
- invoice.setTexNo(genInvoiceInfoVo.getPartyBOrgCode());
+ invoice.setTaxNo(genInvoiceInfoVo.getPartyBOrgCode());
invoice.setSellerTaxName(genInvoiceInfoVo.getPartyB());
invoice.setBuyerTaxName(genInvoiceInfoVo.getPartyA());
+ invoice.setBuyerTaxNo(genInvoiceInfoVo.getPartyAOrgCode());
invoice.setInvoiceTotalTax(genInvoiceInfoVo.getInvoiceItemList().stream().map(item -> item.getPriceTax()).reduce(BigDecimal.ZERO, BigDecimal::add));
invoice.setInvoiceTotalPrice(genInvoiceInfoVo.getTotalPrice().subtract(invoice.getInvoiceTotalTax()));
invoice.setInvoiceTotalPriceTax(genInvoiceInfoVo.getTotalPrice());
@@ -414,9 +596,10 @@
invoice.setInvoiceStatus("1");
invoice.setApprovalStatus("0");
invoice.setOutBoundId(outBoundInvoiceVoList.stream()
- .map(item-> String.valueOf(item.getContractOutBoundId())) // 鎴栬�� .map(Object::toString)
+ .map(item -> String.valueOf(item.getContractOutBoundId())) // 鎴栬�� .map(Object::toString)
.collect(Collectors.joining(",")));
invoice.setInvoicePreviewParam(JSONObject.toJSONString(outBoundInvoiceVoList));
+ invoice.setAdvanceFlag(advanceFlag);
baseMapper.insert(invoice);
return invoice;
}
@@ -438,9 +621,10 @@
Contract contract = contractMapper.selectById(blueInvoice.getContractId());
ContractInvoice invoice = new ContractInvoice();
invoice.setContractId(blueInvoice.getContractId());
- invoice.setTexNo(blueInvoice.getTexNo());
+ invoice.setTaxNo(blueInvoice.getTaxNo());
invoice.setSellerTaxName(blueInvoice.getSellerTaxName());
invoice.setBuyerTaxName(blueInvoice.getBuyerTaxName());
+ invoice.setBuyerTaxNo(blueInvoice.getBuyerTaxNo());
invoice.setInvoiceTotalTax(blueInvoice.getInvoiceTotalTax());
invoice.setInvoiceTotalPrice(blueInvoice.getInvoiceTotalPrice());
invoice.setInvoiceTotalPriceTax(blueInvoice.getInvoiceTotalPriceTax());
@@ -457,13 +641,14 @@
invoice.setBlueInvoiceId(invoiceId);
invoice.setApprovalStatus("0");
invoice.setInvoicePreviewParam(blueInvoice.getInvoicePreviewParam());
+ invoice.setAdvanceFlag(blueInvoice.getAdvanceFlag());
baseMapper.insert(invoice);
//鍚姩娴佺▼
ProcessInstanceParamDto dto = new ProcessInstanceParamDto();
Map<String, Object> map = BeanUtil.beanToMap(invoice);
dto.setParamMap(map);
- if (StrUtil.equals(contract.getContractCategory(),"water_house")) {
- map.put("contractCategory","water_house");
+ if (StrUtil.equals(contract.getContractCategory(), "water_house")) {
+ map.put("contractCategory", "water_house");
}
dto.setParamMap(map);
dto.setFlowName(FlowNameEnum.閿�鍞寕璐﹀鎵�.name());
@@ -475,42 +660,40 @@
return R.ok();
}
- private JSONObject genRedInvoice(Contract contract,ContractInvoice blueInvoice, String redConfirmSerialNo) {
+ private JSONObject genRedInvoice(Contract contract, ContractInvoice blueInvoice, String redConfirmSerialNo) {
JSONObject jsonObject = new JSONObject();
- jsonObject.put("taxNo", blueInvoice.getTexNo());
+ jsonObject.put("taxNo", blueInvoice.getTaxNo());
jsonObject.put("redConfirmSerialNo", redConfirmSerialNo);
jsonObject.put("entryIdentity", "01");
- jsonObject.put("sellerTaxNo", blueInvoice.getTexNo());
+ jsonObject.put("sellerTaxNo", blueInvoice.getTaxNo());
jsonObject.put("sellerTaxName", blueInvoice.getSellerTaxName());
jsonObject.put("buyerTaxName", blueInvoice.getBuyerTaxName());
- jsonObject.put("originalInvoiceNo", blueInvoice.getInvoiceNo());
- jsonObject.put("originInvoiceIsPaper", "N");
+ jsonObject.put("buyerTaxNo", blueInvoice.getBuyerTaxNo());
jsonObject.put("originInvoiceDate", blueInvoice.getInvoiceTime());
jsonObject.put("originInvoiceTotalPrice", blueInvoice.getInvoiceTotalPrice());
- jsonObject.put("originInvoiceTotalTax", blueInvoice.getInvoiceTotalPrice());
+ jsonObject.put("originInvoiceTotalTax", blueInvoice.getInvoiceTotalTax());
+ jsonObject.put("invoiceTotalPrice", blueInvoice.getInvoiceTotalPrice().multiply(new BigDecimal("-1")));
+ jsonObject.put("invoiceTotalTax", blueInvoice.getInvoiceTotalTax().multiply(new BigDecimal("-1")));
+ jsonObject.put("originInvoiceIsPaper", "N");
jsonObject.put("originInvoiceType", "01");
- jsonObject.put("invoiceTotalPrice", blueInvoice.getInvoiceTotalPrice());
- jsonObject.put("invoiceTotalTax", blueInvoice.getInvoiceTotalPrice());
- jsonObject.put("redInvoiceLabel", "2");
+ jsonObject.put("redInvoiceLabel", "01");
+ jsonObject.put("invoiceSource", "2");
+ jsonObject.put("originalInvoiceNo", blueInvoice.getInvoiceNo());
GenInvoiceInfoVo vo = BeanUtil.copyProperties(JSONObject.parseObject(blueInvoice.getInvoicePreview()), GenInvoiceInfoVo.class);
JSONArray invoiceDetailsList = new JSONArray();
Integer lineNo = 1;
for (InvoiceItemVo invoiceItemVo : vo.getInvoiceItemList()) {
JSONObject invoiceDetail = new JSONObject();
invoiceDetail.put("originalInvoiceDetailNo", lineNo);
+ invoiceDetail.put("projectName", invoiceItemVo.getItemName());
invoiceDetail.put("goodsLineNo", lineNo);
invoiceDetail.put("goodsCode", invoiceItemVo.getTaxCode());
invoiceDetail.put("goodsTaxRate", invoiceItemVo.getTaxRate().divide(new BigDecimal("100")));
invoiceDetail.put("goodsUnit", invoiceItemVo.getUnit());
invoiceDetail.put("goodsQuantity", invoiceItemVo.getQuantity());
invoiceDetail.put("goodsPrice", invoiceItemVo.getUnitPrice());
- if (!StrUtil.equals(contract.getContractCategory(),"water_house")) {
- invoiceDetail.put("goodsTotalPrice", invoiceItemVo.getUnitPrice().multiply(invoiceItemVo.getQuantity()));
- }else {
- invoiceDetail.put("goodsTotalPrice", invoiceItemVo.getPriceAndTax());
- }
- invoiceDetail.put("goodsTotalTax", invoiceItemVo.getPriceTax());
-
+ invoiceDetail.put("goodsTotalPrice", invoiceItemVo.getPriceNoTax().multiply(new BigDecimal("-1")));
+ invoiceDetail.put("goodsTotalTax", invoiceItemVo.getPriceTax().multiply(new BigDecimal("-1")));
invoiceDetailsList.add(invoiceDetail);
lineNo++;
}
@@ -524,14 +707,16 @@
if (bwFlag) {
List<ContractInvoice> contractInvoices = baseMapper.selectList(Wrappers.<ContractInvoice>lambdaQuery()
.eq(ContractInvoice::getInvoiceCategory, "1").eq(ContractInvoice::getInvoiceStatus, "1"));
- if (ArrayUtil.isNotEmpty(contractInvoices.toArray())) {
+ if (ArrayUtil.isNotEmpty(contractInvoices)) {
contractInvoices.stream().forEach(contractInvoice -> {
JSONObject request = new JSONObject();
- request.put("tax_no", contractInvoice.getTexNo());
+ request.put("taxNo", contractInvoice.getTaxNo());
JSONObject data = new JSONObject();
- data.put("serial_no", contractInvoice.getSerialNo());
- data.put("return_type", "1");
+ data.put("taxNo", contractInvoice.getSerialNo());
+ data.put("returnType", "3");
+ data.put("invoiceIssueMode", "1");
String requestId = IdUtil.fastUUID();
+
log.info("serial_no:{},鍙戠エ鏌ヨ鍏ュ弬锛歿},", contractInvoice.getSerialNo(), request.toJSONString());
String result = HttpUtil.post("method=baiwang.output.format.query&version=1.0&request_id=" + requestId, request.toJSONString());
log.info("serial_no:{},鍙戠エ鏌ヨ鍥炲弬锛歿},", contractInvoice.getSerialNo(), result);
@@ -539,7 +724,7 @@
JSONObject resultObj = JSONObject.parseObject(result);
if (resultObj.containsKey("requestId") && StrUtil.equals(resultObj.getString("requestId"), requestId) && resultObj.getBoolean("success")) {
JSONObject model = resultObj.getJSONObject("model");
- contractInvoice.setInvoicePath(model.getString("query_data"));
+ contractInvoice.setInvoicePath(model.getString("queryData"));
contractInvoice.setInvoiceStatus("2");
baseMapper.updateById(contractInvoice);
}
@@ -556,18 +741,34 @@
if (redisTemplate.hasKey("BIP_TOKEN")) {
accessToken = (String) redisTemplate.opsForValue().get("BIP_TOKEN");
} else {
- paymentConfirmService.getAccessToken(accessToken);
+ accessToken = paymentConfirmService.getAccessToken(accessToken);
}
if (StrUtil.isEmpty(accessToken)) {
log.error("bip accessToken 鑾峰彇寮傚父");
return;
}
+ Contract contract = contractMapper.selectById(contractInvoice.getContractId());
+ if (ObjUtil.isNull(contract)) {
+ log.error("鏌ヨ鍚堝悓淇℃伅寮傚父");
+ return;
+ }
+ BusinessCustomer customer = businessCustomerMapper.selectById(contract.getPartyAId());
+ if (ObjUtil.isNull(customer) || StrUtil.isEmpty(customer.getBipCode())) {
+ log.error("鏌ヨ鍚堝悓淇℃伅寮傚父");
+ return;
+ }
+ R<SysDept> r = remoteDeptService.getById(contract.getPartyBId());
+ if (!r.isOk()) {
+ log.error("鏌ヨ鍗曚綅淇℃伅寮傚父");
+ return;
+ }
+ SysDept dept = r.getData();
//钃濈エ
- if (StrUtil.equals(contractInvoice.getInvoiceCategory(),"1")) {
- JSONObject params = genBlueReceiveParams(contractInvoice);
+ if (StrUtil.equals(contractInvoice.getInvoiceCategory(), "1")) {
+ JSONObject params = genBlueReceiveParams(contractInvoice, contract, customer, dept);
String finalAccessToken = accessToken;
- log.info("XSJZ_YS_DJ_INSERT Request:", params.toJSONString());
+ log.info("XSJZ_YS_DJ_INSERT Request:{}", params.toJSONString());
String result = HttpUtil.post(url + "/yonbip/EFI/receivable/save?access_token=" + finalAccessToken, params.toJSONString());
log.info("XSJZ_YS_DJ_INSERT Response:{}", result);
//淇濆瓨璇锋眰璁板綍
@@ -582,7 +783,7 @@
}
}
//绾㈢エ
- if (StrUtil.equals(contractInvoice.getInvoiceCategory(),"2")) {
+ if (StrUtil.equals(contractInvoice.getInvoiceCategory(), "2")) {
JSONObject params = genRedReceiveParams(contractInvoice);
String finalAccessToken = accessToken;
@@ -600,48 +801,48 @@
}
private JSONObject genRedReceiveParams(ContractInvoice contractInvoice) {
+ ContractInvoice blue = contractInvoice.selectById(contractInvoice.getBlueInvoiceId());
JSONObject jsonObject = new JSONObject();
JSONObject data = new JSONObject();
- data.put("id",contractInvoice.getBipId());
- jsonObject.put("data",data);
- return jsonObject;
+ data.put("id", blue.getBipId());
+ jsonObject.put("data", data);
+ return jsonObject;
}
- private JSONObject genBlueReceiveParams(ContractInvoice contractInvoice) {
+ private JSONObject genBlueReceiveParams(ContractInvoice contractInvoice, Contract contract, BusinessCustomer customer, SysDept dept) {
JSONObject jsonObject = new JSONObject();
JSONObject data = new JSONObject();
- if (contractInvoice.getInvoiceCategory().equals("1")){
- data.put("direction","1");
- }else {
- data.put("direction","-1");
+ if (contractInvoice.getInvoiceCategory().equals("1")) {
+ data.put("direction", "1");
+ } else {
+ data.put("direction", "-1");
}
- data.put("billDate",DateUtil.format(contractInvoice.getInvoiceTime(),DatePattern.NORM_DATETIME_FORMAT));
- data.put("objectType","1");
- data.put("exchangeRate","1");
- data.put("exchangeRateDate",DateUtil.now());
- data.put("_status","Insert");
+ data.put("billDate", DateUtil.format(contractInvoice.getInvoiceTime(), DatePattern.NORM_DATETIME_FORMAT));
+ data.put("exchangeRate", "1");//姹囩巼
+ data.put("exchangeRateDate", DateUtil.now());//姹囩巼鏃堕棿
+ data.put("objectType", "1");
+ data.put("customerCode", customer.getBipCode());//瀹㈡埛缂栫爜
+ data.put("financeOrgCode", dept.getBipCode());//寮�绁ㄧ粍缁囩紪鐮�
+ data.put("orgCode", dept.getBipCode());//涓氬姟缁勭粐缂栫爜
+ data.put("bustypeCode", "");//浜ゆ槗绫诲瀷缂栫爜 鏆備及榛樿ZGYSFP锛岄攢鍞粯璁JHYXGLXT
+ data.put("contractNo", contract.getContractNo());
+ data.put("oriCurrencyCode", "CNY");//甯佺
+ data.put("_status", "Insert");
GenInvoiceInfoVo vo = BeanUtil.copyProperties(JSONObject.parseObject(contractInvoice.getInvoicePreview()), GenInvoiceInfoVo.class);
JSONArray bodyItem = new JSONArray();
for (InvoiceItemVo invoiceItemVo : vo.getInvoiceItemList()) {
JSONObject item = new JSONObject();
-
- JSONObject freeCh = new JSONObject();
- freeCh.put("JT32","");
- item.put("freeChId",freeCh);
-
- item.put("invoiceNo",contractInvoice.getInvoiceNo());
- item.put("materialCode",invoiceItemVo.getErpCode());
+ item.put("invoiceNo", contractInvoice.getInvoiceNo());
item.put("taxRate", invoiceItemVo.getTaxRate());
item.put("oriTaxAmount", invoiceItemVo.getPriceTax());
- item.put("oriTaxExcludedAmount", invoiceItemVo.getPriceNoTax());
- item.put("oriTaxIncludedAmount", invoiceItemVo.getUnitPrice().multiply(invoiceItemVo.getQuantity()));
- item.put("_status","Insert");
+ item.put("oriTaxIncludedAmount", invoiceItemVo.getPriceAndTax());
+ item.put("_status", "Insert");
bodyItem.add(item);
}
- data.put("bodyItem",bodyItem);
- jsonObject.put("data",data);
- return jsonObject;
+ data.put("bodyItem", bodyItem);
+ jsonObject.put("data", data);
+ return jsonObject;
}
@Override
@@ -649,25 +850,36 @@
if (bwFlag) {
List<ContractInvoice> contractInvoices = baseMapper.selectList(Wrappers.<ContractInvoice>lambdaQuery()
.eq(ContractInvoice::getInvoiceCategory, "2").eq(ContractInvoice::getInvoiceStatus, "3"));
- if (ArrayUtil.isNotEmpty(contractInvoices.toArray())) {
+ if (ArrayUtil.isNotEmpty(contractInvoices)) {
contractInvoices.stream().forEach(contractInvoice -> {
JSONObject request = new JSONObject();
- request.put("taxNo", contractInvoice.getTexNo());
- JSONObject data = new JSONObject();
- data.put("redConfirmSerialNo", contractInvoice.getSerialNo());
- data.put("buySelSelector", "1");
+ request.put("taxNo", contractInvoice.getTaxNo());
+ request.put("redConfirmSerialNo", contractInvoice.getSerialNo());
+ request.put("buySelSelector", "0");
+ request.put("invoiceStartDate", DateUtil.formatDate(DateUtil.beginOfYear(new Date())));
+ request.put("invoiceEndDate", DateUtil.formatDate(DateUtil.endOfYear(new Date())));
String requestId = IdUtil.fastUUID();
log.info("serial_no:{},绾㈠瓧纭鍗曟煡璇㈠叆鍙傦細{},", contractInvoice.getSerialNo(), request.toJSONString());
String result = HttpUtil.post("method=baiwang.output.redinvoice.formlist&&version=1.0&request_id=" + requestId, request.toJSONString());
log.info("serial_no:{},绾㈠瓧纭鍗曟煡璇㈠洖鍙傦細{},", contractInvoice.getSerialNo(), result);
JSONObject resultObj = JSONObject.parseObject(result);
saveBwRequestRecord("baiwang.output.redinvoice.formlist", requestId, request.toJSONString(), result);
- if (resultObj.containsKey("requestId") && StrUtil.equals(resultObj.getString("requestId"), requestId) && resultObj.getBoolean("success")) {
- JSONArray models = JSONArray.parseArray(resultObj.getString("model"));
- if (ArrayUtil.isNotEmpty(models.toArray())) {
- contractInvoice.setInvoiceStatus("2");
+ if (resultObj.containsKey("requestId") && StrUtil.equals(resultObj.getString("requestId"), requestId) &&
+ !resultObj.getBoolean("success")) {
+ log.error("绾㈠瓧纭鍗曞け璐ワ紒锛侊紒");
+ return;
+ }
+ JSONArray models = resultObj.getJSONArray("model");
+ if (ArrayUtil.isNotEmpty(models)) {
+ JSONObject model = (JSONObject) models.get(0);
+
+ if (StrUtil.isEmpty(model.getString("confirmBillingMark")) || StrUtil.equals(model.getString("confirmBillingMark"), "N")) {
+ //绾㈠啿澶辫触
+ contractInvoice.setRedReversal("2");
+ } else if (StrUtil.equals(model.getString("confirmBillingMark"), "Y")) {
+ //纭鍗冲紑
+ contractInvoice.setInvoiceNo(model.getString("redInvoiceNo"));
contractInvoice.setRedReversal("1");
- baseMapper.updateById(contractInvoice);
//鎺ㄩ�丅IP
pushBipInvoice(contractInvoice);
}
@@ -684,12 +896,15 @@
Contract contract = contractMapper.selectById(invoice.getContractId());
GenInvoiceInfoVo vo = BeanUtil.copyProperties(JSONObject.parseObject(invoice.getInvoicePreview()), GenInvoiceInfoVo.class);
vo.setContractCategory(contract.getContractCategory());
+ invoice.setApprovalStatus("1");
+ baseMapper.updateById(invoice);
//钃濈エ
if (invoice.getInvoiceCategory().equals("1")) {
// TODO 寮�钃濈エ鎺ュ彛
JSONObject request = genBlueInvoice(vo, invoice.getSerialNo());
if (bwFlag) {
String requestId = IdUtil.fastUUID();
+ invoice.setBwRequestId(requestId);
log.info("钃濈エ璇锋眰鎺ュ彛鍏ュ弬", request.toJSONString());
String result = HttpUtil.post(bwUrl + "method=baiwang.output.invoice.issue&version=1.0&requestId=" + requestId, request.toJSONString());
log.info("钃濈エ璇锋眰鎺ュ彛鍥炲弬", result);
@@ -697,16 +912,24 @@
JSONObject resultObj = JSONObject.parseObject(result);
if (resultObj.containsKey("requestId") && StrUtil.equals(resultObj.getString("requestId"), requestId) &&
!resultObj.getBoolean("success")) {
+ log.error("寮�绁ㄥけ璐ワ紒锛侊紒");
+ return;
}
- JSONArray models = JSONArray.parseArray(resultObj.getString("success"));
- if (ArrayUtil.isNotEmpty(models.toArray())) {
+ JSONObject modelJson = resultObj.getJSONObject("model");
+ JSONArray models = modelJson.getJSONArray("success");
+ if (ArrayUtil.isNotEmpty(models)) {
JSONObject model = (JSONObject) models.get(0);
Date invoiceDate = DateUtil.parse(model.getString("invoiceDate"), DatePattern.PURE_DATETIME_PATTERN);
invoice.setInvoiceTime(invoiceDate);
invoice.setInvoiceNo(model.getString("invoiceNo"));
}
}
- if (!StrUtil.equals(contract.getContractCategory(),"water_house")) {
+ if (StrUtil.isNotBlank(vo.getAdvanceInvoice())){
+ contract.setBillingAmout(vo.getTotalPrice().add(contract.getBillingAmout()));
+ contractMapper.updateById(contract);
+ return;
+ }
+ if (!StrUtil.equals(contract.getContractCategory(), "water_house")) {
//鍚堝悓鐘舵��
if (StrUtil.equals(contract.getBillingStatus(), "2")) {
contract.setBillingAmout(vo.getTotalPrice().add(contract.getBillingAmout()));
@@ -717,41 +940,41 @@
contract.setBillingStatus("1");
}
//闃叉閲嶅瀹″紑绁ㄥ鏍搁�氳繃鍚� 寮�绁ㄩ噾棰濊秴鍑哄悎鍚岄噾棰�
- if (contract.getBillingAmout().compareTo(contract.getAmount())>0){
+ if (contract.getBillingAmout().compareTo(contract.getAmount()) > 0) {
contract.setBillingAmout(contract.getAmount());
}
contractMapper.updateById(contract);
}
- }else {
+ } else {
//鍒ゆ柇 寰幆鏄惁瀹屾垚
- List<ContractExecDate> execDateList = contractExecDateMapper.selectList(Wrappers.<ContractExecDate>lambdaQuery().eq(ContractExecDate::getContractId,contract.getId())
- .eq(ContractExecDate::getGenFlag,"0"));
+ List<ContractExecDate> execDateList = contractExecDateMapper.selectList(Wrappers.<ContractExecDate>lambdaQuery().eq(ContractExecDate::getContractId, contract.getId())
+ .eq(ContractExecDate::getGenFlag, "0"));
List<MeterReadRecord> recordList = meterReadRecordMapper.selectList(Wrappers.<MeterReadRecord>lambdaQuery()
- .eq(MeterReadRecord::getContractId,contract.getId())
+ .eq(MeterReadRecord::getContractId, contract.getId())
.isNull(MeterReadRecord::getMeterReadNum));
- if (ArrayUtil.isEmpty(execDateList.toArray())&&ArrayUtil.isEmpty(recordList.toArray())) {
+ if (ArrayUtil.isEmpty(execDateList) && ArrayUtil.isEmpty(recordList)) {
//鍒ゆ柇鏄惁鏈夊彲寮�绁ㄨ褰�
List<ContractPaymentSchedule> scheduleList = contractPaymentScheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery()
- .eq(ContractPaymentSchedule::getContractId,contract.getId()).eq(ContractPaymentSchedule::getInvoiceFlag,"0"));
- if (ArrayUtil.isEmpty(scheduleList.toArray())){
+ .eq(ContractPaymentSchedule::getContractId, contract.getId()).eq(ContractPaymentSchedule::getInvoiceFlag, "0"));
+ if (ArrayUtil.isEmpty(scheduleList)) {
contract.setBillingStatus("3");
- }else {
+ } else {
contract.setBillingStatus("2");
}
- }else {
+ } else {
//鍒ゆ柇鏄惁鏈夊彲寮�绁ㄨ褰�
List<ContractPaymentSchedule> scheduleList = contractPaymentScheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery()
- .eq(ContractPaymentSchedule::getContractId,contract.getId()));
- if (ArrayUtil.isEmpty(scheduleList.toArray())){
+ .eq(ContractPaymentSchedule::getContractId, contract.getId()));
+ if (ArrayUtil.isEmpty(scheduleList)) {
contract.setBillingStatus("1");
- }else {
+ } else {
contract.setBillingStatus("2");
}
}
contract.setBillingAmout(vo.getTotalPrice().add(contract.getBillingAmout()));
//闃叉閲嶅瀹″紑绁ㄥ鏍搁�氳繃鍚� 寮�绁ㄩ噾棰濊秴鍑哄悎鍚岄噾棰�
- if (contract.getBillingAmout().compareTo(contract.getAmount())>0){
+ if (contract.getBillingAmout().compareTo(contract.getAmount()) > 0) {
contract.setBillingAmout(contract.getAmount());
}
contractMapper.updateById(contract);
@@ -761,59 +984,80 @@
if (invoice.getInvoiceCategory().equals("2")) {
// TODO 寮�绾㈢エ鎺ュ彛
ContractInvoice blueInvoice = baseMapper.selectById(invoice.getBlueInvoiceId());
- JSONObject request = genRedInvoice(contract,blueInvoice, invoice.getSerialNo());
+ JSONObject request = genRedInvoice(contract, blueInvoice, invoice.getSerialNo());
String requestId = IdUtil.fastUUID();
+ invoice.setBwRequestId(requestId);
if (bwFlag) {
- log.info("绾㈠瓧纭鍗曡姹傛帴鍙e叆鍙�", request.toJSONString());
+ log.info("绾㈠瓧纭鍗曡姹傛帴鍙e叆鍙�:{}", request.toJSONString());
String result = HttpUtil.post(bwUrl + "method=baiwang.output.redinvoice.add&version=1.0&requestId=" + requestId, request.toJSONString());
- log.info("绾㈠瓧纭鍗曡姹傛帴鍙e洖鍙�", result);
+ log.info("绾㈠瓧纭鍗曡姹傛帴鍙e洖鍙�:{}", result);
saveBwRequestRecord("baiwang.output.redinvoice.add", requestId, request.toJSONString(), result);
JSONObject resultObj = JSONObject.parseObject(result);
if (resultObj.containsKey("requestId") && StrUtil.equals(resultObj.getString("requestId"), requestId) &&
!resultObj.getBoolean("success")) {
- JSONArray models = JSONArray.parseArray(resultObj.getString("success"));
- if (ArrayUtil.isNotEmpty(models.toArray())) {
- JSONObject model = (JSONObject) models.get(0);
+ log.error("绾㈠瓧纭鍗曞け璐ワ紒锛侊紒");
+ return;
+ }
+ JSONArray models = resultObj.getJSONArray("model");
+ if (ArrayUtil.isNotEmpty(models)) {
+ JSONObject model = (JSONObject) models.get(0);
- if (StrUtil.isEmpty(model.getString("confirmBillingMark"))||StrUtil.equals(model.getString("confirmBillingMark"),"N")) {
- //绛夊緟纭
- invoice.setRedReversal("3");
- }else if (StrUtil.equals(model.getString("confirmBillingMark"),"Y")) {
- //纭鍗冲紑
- invoice.setInvoiceNo(model.getString("redInvoiceNo"));
- invoice.setRedReversal("1");
- //鎺ㄩ�丅IP
- pushBipInvoice(invoice);
- }
+ if (StrUtil.isEmpty(model.getString("confirmBillingMark")) || StrUtil.equals(model.getString("confirmBillingMark"), "N")) {
+ //绛夊緟纭
+ invoice.setRedReversal("3");
+ } else if (StrUtil.equals(model.getString("confirmBillingMark"), "Y")) {
+ //纭鍗冲紑
+ invoice.setInvoiceNo(model.getString("redInvoiceNo"));
+ invoice.setRedReversal("1");
+ //鎺ㄩ�丅IP
+ pushBipInvoice(invoice);
}
}
}
contract.setBillingAmout(contract.getBillingAmout().subtract(invoice.getInvoiceTotalPriceTax()));
//闃叉閲嶅瀹″紑绁ㄥ鏍搁�氳繃鍚� 寮�绁ㄩ噾棰濅负璐�
- if (contract.getBillingAmout().compareTo(new BigDecimal("0"))<0){
+ if (contract.getBillingAmout().compareTo(new BigDecimal("0")) < 0) {
contract.setBillingAmout(new BigDecimal("0"));
+ }
+ contractMapper.updateById(contract);
+ blueInvoice.setRedReversal("1");
+ baseMapper.updateById(blueInvoice);
+ if (StrUtil.isNotBlank(vo.getAdvanceInvoice())){
+ //杩樺師棰勫紑鏁伴噺
+ List<ContractOutBoundInvoiceVo> outBoundInvoiceVoList = BeanUtil.copyToList(JSONArray.parseArray(blueInvoice.getInvoicePreviewParam()), ContractOutBoundInvoiceVo.class);
+ if (ArrayUtil.isNotEmpty(outBoundInvoiceVoList)) {
+ outBoundInvoiceVoList.stream().forEach(contractOutBoundInvoiceVo -> {
+ ContractSubjectMatter subjectMatter = contractSubjectMatterMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
+ if (ObjUtil.isNotNull(subjectMatter)){
+ subjectMatter.setAdvanceNum(subjectMatter.getAdvanceNum().subtract(contractOutBoundInvoiceVo.getInvoiceNum()));
+ if (subjectMatter.getAdvanceNum().compareTo(new BigDecimal("0"))<=0){
+ subjectMatter.setAdvanceNum(new BigDecimal("0"));
+ }
+ contractSubjectMatterMapper.updateById(subjectMatter);
+ }
+ });
+ }
+ return;
}
//鏇存柊鍚堝悓寮�绁ㄧ姸鎬� 鍓嶆彁鍑哄簱瀹屾垚
contract.setBillingStatus("2");
contractMapper.updateById(contract);
- blueInvoice.setRedReversal("1");
- baseMapper.updateById(blueInvoice);
- if (!StrUtil.equals(contract.getContractCategory(),"water_house")) {
+ if (!StrUtil.equals(contract.getContractCategory(), "water_house")) {
//鏇存柊鍚堝悓鍑哄簱鍗曠姸鎬�
List<ContractOutBoundInvoiceVo> outBoundInvoiceVoList = BeanUtil.copyToList(JSONArray.parseArray(blueInvoice.getInvoicePreviewParam()), ContractOutBoundInvoiceVo.class);
- if (ArrayUtil.isNotEmpty(outBoundInvoiceVoList.toArray())) {
+ if (ArrayUtil.isNotEmpty(outBoundInvoiceVoList)) {
outBoundInvoiceVoList.stream().forEach(contractOutBoundInvoiceVo -> {
ContractOutBound contractOutBound = contractOutBoundMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
- if (contractOutBoundInvoiceVo.getInvoiceNum().compareTo(contractOutBound.getOutBoundNum().subtract(contractOutBound.getInvoiceNum()))<=0) {
+ if (contractOutBoundInvoiceVo.getInvoiceNum().compareTo(contractOutBound.getOutBoundNum().subtract(contractOutBound.getInvoiceNum())) <= 0) {
contractOutBound.setInvoiceNum(contractOutBound.getInvoiceNum().subtract(contractOutBoundInvoiceVo.getInvoiceNum()));
contractOutBoundMapper.updateById(contractOutBound);
}
});
}
- }else {
+ } else {
//鏇存柊鍚堝悓鎴跨 姘寸數 璐瑰紑绁ㄧ姸鎬�
List<ContractOutBoundInvoiceVo> outBoundInvoiceVoList = BeanUtil.copyToList(JSONArray.parseArray(blueInvoice.getInvoicePreviewParam()), ContractOutBoundInvoiceVo.class);
- if (ArrayUtil.isNotEmpty(outBoundInvoiceVoList.toArray())) {
+ if (ArrayUtil.isNotEmpty(outBoundInvoiceVoList)) {
outBoundInvoiceVoList.stream().forEach(contractOutBoundInvoiceVo -> {
ContractPaymentSchedule schedule = contractPaymentScheduleMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
schedule.setInvoiceFlag("0");
@@ -822,8 +1066,7 @@
}
}
}
- invoice.setApprovalStatus("1");
- baseMapper.updateById(invoice);
+
}
@Override
@@ -834,22 +1077,22 @@
Contract contract = contractMapper.selectById(invoice.getContractId());
//钃濈エ
if (invoice.getInvoiceCategory().equals("1")) {
- if (!StrUtil.equals(contract.getContractCategory(),"water_house")) {
+ if (!StrUtil.equals(contract.getContractCategory(), "water_house")) {
//鏇存柊鍚堝悓鍑哄簱鍗曠姸鎬�
List<ContractOutBoundInvoiceVo> outBoundInvoiceVoList = BeanUtil.copyToList(JSONArray.parseArray(invoice.getInvoicePreviewParam()), ContractOutBoundInvoiceVo.class);
- if (ArrayUtil.isNotEmpty(outBoundInvoiceVoList.toArray())) {
+ if (ArrayUtil.isNotEmpty(outBoundInvoiceVoList)) {
outBoundInvoiceVoList.stream().forEach(contractOutBoundInvoiceVo -> {
ContractOutBound contractOutBound = contractOutBoundMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
- if (contractOutBoundInvoiceVo.getInvoiceNum().compareTo(contractOutBound.getOutBoundNum().subtract(contractOutBound.getInvoiceNum()))<=0) {
+ if (contractOutBoundInvoiceVo.getInvoiceNum().compareTo(contractOutBound.getOutBoundNum().subtract(contractOutBound.getInvoiceNum())) <= 0) {
contractOutBound.setInvoiceNum(contractOutBound.getInvoiceNum().subtract(contractOutBoundInvoiceVo.getInvoiceNum()));
contractOutBoundMapper.updateById(contractOutBound);
}
});
}
- }else {
+ } else {
//鏇存柊鍚堝悓鎴跨 姘寸數 璐瑰紑绁ㄧ姸鎬�
List<ContractOutBoundInvoiceVo> outBoundInvoiceVoList = BeanUtil.copyToList(JSONArray.parseArray(invoice.getInvoicePreviewParam()), ContractOutBoundInvoiceVo.class);
- if (ArrayUtil.isNotEmpty(outBoundInvoiceVoList.toArray())) {
+ if (ArrayUtil.isNotEmpty(outBoundInvoiceVoList)) {
outBoundInvoiceVoList.stream().forEach(contractOutBoundInvoiceVo -> {
ContractPaymentSchedule schedule = contractPaymentScheduleMapper.selectById(contractOutBoundInvoiceVo.getContractOutBoundId());
schedule.setInvoiceFlag("0");
@@ -870,11 +1113,11 @@
@Override
public Page pageInvoice(Page page, ContractInvoiceQueryDTO queryDTO) {
- return baseMapper.pageInvoice(page,queryDTO, DataScope.of("comp_id"));
+ return baseMapper.pageInvoice(page, queryDTO, DataScope.of("comp_id"));
}
@Override
public Page pageScope(Page page, ContractQueryDTO queryDTO) {
- return baseMapper.pageScope(page,queryDTO, DataScope.of("comp_id"));
+ return baseMapper.pageScope(page, queryDTO, DataScope.of("comp_id"));
}
}
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractPaymentScheduleProcessServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractPaymentScheduleProcessServiceImpl.java
index d653e4e..c1a18c9 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractPaymentScheduleProcessServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractPaymentScheduleProcessServiceImpl.java
@@ -1,8 +1,8 @@
package com.by4cloud.platformx.business.service.impl;
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -12,7 +12,6 @@
import com.by4cloud.platformx.business.mapper.*;
import com.by4cloud.platformx.business.service.ContractPaymentScheduleProcessService;
import com.by4cloud.platformx.business.vo.ContractPaymentScheduleVo;
-import com.by4cloud.platformx.business.vo.ScheduleProcessVo;
import com.by4cloud.platformx.common.core.util.R;
import com.by4cloud.platformx.common.security.util.SecurityUtils;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -45,13 +44,13 @@
if (ObjUtil.isNull(schedule)) {
return R.failed("灞ョ害闃舵涓庡悎鍚屼笉涓�鑷达紝璇疯仈绯绘妧鏈汉鍛�");
}
- if (schedule.getStageName().equals("璐у埌绛炬敹") && ArrayUtil.isEmpty(addDTO.getContractOutBoundIds().toArray())) {
+ if (schedule.getStageName().equals("璐у埌绛炬敹") && CollUtil.isEmpty(addDTO.getContractOutBoundIds())) {
return R.failed("璇烽�夋嫨鍒拌揣鐨勫嚭搴撲俊鎭�");
}
//鍚堝悓
Contract contract = contractMapper.selectById(schedule.getContractId());
List<ContractSubjectMatter> subjectMatterList = subjectMatterMapper.selectList(Wrappers.<ContractSubjectMatter>lambdaQuery().eq(ContractSubjectMatter::getContractId, contract.getId()));
- if (ArrayUtil.isEmpty(subjectMatterList.toArray())) {
+ if (CollUtil.isEmpty(subjectMatterList)) {
return R.failed("璇ュ悎鍚屾爣鐨勭墿寮傚父锛岃鑱旂郴鎶�鏈汉鍛�");
}
// if (!subjectMatterList.stream().allMatch(item -> item.getDeliveryStatus() == 2)) {
@@ -96,8 +95,8 @@
List<ContractOutBound> contractOutBoundList = contractOutBoundMapper.selectList(Wrappers.<ContractOutBound>lambdaQuery().eq(ContractOutBound::getContractId, contract.getId())
.isNotNull(ContractOutBound::getArrivalTime));
if (schedule.getStageName().equals("璐у埌绛炬敹")) {
- if (ArrayUtil.isNotEmpty(contractOutBoundList.toArray())
- && ArrayUtil.isNotEmpty(subjectMatterList.toArray())) {
+ if (CollUtil.isNotEmpty(contractOutBoundList)
+ && CollUtil.isNotEmpty(subjectMatterList)) {
Map<String, BigDecimal> sumMap = contractOutBoundList.stream()
.collect(Collectors.groupingBy(
ContractOutBound::getSubjectMatterCode,
@@ -132,7 +131,7 @@
//瀹㈡埛浠樻瀹屾垚鍚堝悓
List<Contract> customerCompleteContractList = contractMapper.selectList(Wrappers.<Contract>lambdaQuery().eq(Contract::getPartyAId, contract.getPartyAId())
.eq(Contract::getPartyBId, SecurityUtils.getUser().getCompId()).apply(" amount = paid_amount"));
- if (ArrayUtil.isNotEmpty(customerCompleteContractList)){
+ if (CollUtil.isNotEmpty(customerCompleteContractList)){
List<BigDecimal> outAmountList = new ArrayList<>();
for (Contract completeContract:customerCompleteContractList
) {
@@ -151,7 +150,7 @@
outAmountList.add(outConfirm.getTransationAmount());
}
}
- if (ArrayUtil.isNotEmpty(outAmountList.toArray())){
+ if (CollUtil.isNotEmpty(outAmountList)){
BigDecimal currentSum = new BigDecimal("0");
for (BigDecimal currentAmount:outAmountList
) {
@@ -194,7 +193,7 @@
List<ContractPaymentSchedule> afterSchedule = contractPaymentScheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery()
.eq(ContractPaymentSchedule::getContractId, schedule.getContractId())
.gt(ContractPaymentSchedule::getStageOrder, schedule.getStageOrder()));
- if (ArrayUtil.isNotEmpty(afterSchedule.toArray()) && afterSchedule.size() == 1) {
+ if (CollUtil.isNotEmpty(afterSchedule) && afterSchedule.size() == 1) {
//鏈�鍚庨樁娈电敓鏁堟椂闂�
ContractPaymentSchedule endSchedule = afterSchedule.get(0);
if (StrUtil.equals(endSchedule.getStageName(), "璐ㄤ繚閲�")) {
@@ -233,12 +232,12 @@
contract.setNextScheduleName(endSchedule.getStageName());
contractMapper.updateById(contract);
}
- if (ArrayUtil.isNotEmpty(afterSchedule.toArray()) && afterSchedule.size() > 1) {
+ if (CollUtil.isNotEmpty(afterSchedule) && afterSchedule.size() > 1) {
//鏇存柊鍚堝悓涓嬩釜闃舵
contract.setNextScheduleName(afterSchedule.get(0).getStageName());
contractMapper.updateById(contract);
}
- if (ArrayUtil.isEmpty(afterSchedule.toArray())) {
+ if (CollUtil.isEmpty(afterSchedule)) {
// schedule.setEffectiveEndDate(contract.getExpirationDate());
// contractPaymentScheduleMapper.updateById(schedule);
//鏇存柊鍚堝悓涓嬩釜闃舵
@@ -296,7 +295,7 @@
.eq(ContractPaymentSchedule::getContractId, schedule.getContractId())
.gt(ContractPaymentSchedule::getStageOrder, schedule.getStageOrder())
.gt(ContractPaymentSchedule::getPaymentRatio,"0"));
- if (ArrayUtil.isNotEmpty(afterSchedule.toArray()) && afterSchedule.size() == 1) {
+ if (CollUtil.isNotEmpty(afterSchedule) && afterSchedule.size() == 1) {
//鏈�鍚庨樁娈电敓鏁堟椂闂�
ContractPaymentSchedule endSchedule = afterSchedule.get(0);
// if (StrUtil.equals(endSchedule.getStageName(), "璐ㄤ繚閲�")) {
@@ -345,12 +344,12 @@
contract.setNextScheduleName(endSchedule.getStageName());
contractMapper.updateById(contract);
}
- if (ArrayUtil.isNotEmpty(afterSchedule.toArray()) && afterSchedule.size() > 1) {
+ if (CollUtil.isNotEmpty(afterSchedule) && afterSchedule.size() > 1) {
//鏇存柊鍚堝悓涓嬩釜闃舵
contract.setNextScheduleName(afterSchedule.get(0).getStageName());
contractMapper.updateById(contract);
}
- if (ArrayUtil.isEmpty(afterSchedule.toArray())) {
+ if (CollUtil.isEmpty(afterSchedule)) {
// schedule.setEffectiveEndDate(contract.getExpirationDate());
// contractPaymentScheduleMapper.updateById(schedule);
//鏇存柊鍚堝悓涓嬩釜闃舵
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java
index a0d71bb..8b4e1b6 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ContractServiceImpl.java
@@ -1,6 +1,7 @@
package com.by4cloud.platformx.business.service.impl;
import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
@@ -54,6 +55,8 @@
import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
+;
+
/**
* @author cd
* @description
@@ -80,6 +83,7 @@
private final PaymentSlipMapper paymentSlipMapper;
private final ContractInvoiceMapper contractInvoiceMapper;
private final StringRedisTemplate redisTemplate;
+ private final ContractOutBoundMapper contractOutBoundMapper;
@Value("${erp.ymj}")
private String ymjErp;
@@ -155,7 +159,7 @@
}
}
- if (ArrayUtil.isEmpty(addDTO.getContractSubjectMatter().toArray())){
+ if (CollUtil.isEmpty(addDTO.getContractSubjectMatter())){
return R.failed("鏍囩殑鐗╀笉鑳戒负绌�");
}
@@ -183,7 +187,7 @@
}
baseMapper.insert(contract);
- if (ArrayUtil.isNotEmpty(addDTO.getContractSubjectMatter())) {
+ if (CollUtil.isNotEmpty(addDTO.getContractSubjectMatter())) {
addDTO.getContractSubjectMatter().stream().forEach(contractSubjectMatterAddDTO -> {
ContractSubjectMatter subjectMatter = BeanUtil.copyProperties(contractSubjectMatterAddDTO, ContractSubjectMatter.class);
subjectMatter.setContractId(contract.getId());
@@ -214,7 +218,7 @@
}
- if (ArrayUtil.isNotEmpty(addDTO.getContractPaymentSchedule())) {
+ if (CollUtil.isNotEmpty(addDTO.getContractPaymentSchedule())) {
AtomicInteger index = new AtomicInteger(1);
addDTO.getContractPaymentSchedule().stream().forEach(contractPaymentScheduleAddDTO -> {
int currentIndex = index.getAndIncrement();
@@ -323,7 +327,7 @@
}
baseMapper.updateById(contract);
- if (ArrayUtil.isNotEmpty(updateDTO.getContractSubjectMatter())) {
+ if (CollUtil.isNotEmpty(updateDTO.getContractSubjectMatter())) {
contractSubjectMatterMapper.delete(Wrappers.<ContractSubjectMatter>lambdaQuery().eq(ContractSubjectMatter::getContractId, contract.getId()));
updateDTO.getContractSubjectMatter().stream().forEach(contractSubjectMatterAddDTO -> {
@@ -350,7 +354,7 @@
});
}
- if (ArrayUtil.isNotEmpty(updateDTO.getContractPaymentSchedule())) {
+ if (CollUtil.isNotEmpty(updateDTO.getContractPaymentSchedule())) {
contractPaymentScheduleMapper.delete(Wrappers.<ContractPaymentSchedule>lambdaQuery().eq(ContractPaymentSchedule::getContractId, contract.getId()));
AtomicInteger index = new AtomicInteger(1);
@@ -398,6 +402,21 @@
if (ObjUtil.isNotNull(a)){
detailVo.setPartyAOrgCode(a.getCreditCode());
}
+ List<ContractOutBound> outBoundList = contractOutBoundMapper.selectList(Wrappers.<ContractOutBound>lambdaQuery()
+ .eq(ContractOutBound::getContractId,id).orderByAsc(ContractOutBound::getOutBoundTime));
+ if (CollUtil.isNotEmpty(outBoundList)){
+ detailVo.setContractOutBound(outBoundList);
+ }
+ List<ContractInvoice> invoiceList = contractInvoiceMapper.selectList(Wrappers.<ContractInvoice>lambdaQuery()
+ .eq(ContractInvoice::getContractId,id).orderByAsc(ContractInvoice::getCreateTime));
+ if (CollUtil.isNotEmpty(invoiceList)){
+ detailVo.setContractInvoice(invoiceList);
+ }
+ List<PaymentSlip> slipList = paymentSlipMapper.selectList(Wrappers.<PaymentSlip>lambdaQuery()
+ .eq(PaymentSlip::getContractId,id).orderByAsc(PaymentSlip::getPaymentTime));
+ if (CollUtil.isNotEmpty(slipList)){
+ detailVo.setPaymentSlip(slipList);
+ }
return detailVo;
}
@@ -426,7 +445,7 @@
List<ContractSubjectMatter> subjectMatterList = contractSubjectMatterMapper.selectList(Wrappers.<ContractSubjectMatter>lambdaQuery()
.eq(ContractSubjectMatter::getContractId,id));
if (StrUtil.isNotEmpty(contract.getContractCategory()) && StrUtil.equals(contract.getContractCategory(), "water_house")) {
- if (ArrayUtil.isNotEmpty(subjectMatterList.toArray())) {
+ if (CollUtil.isNotEmpty(subjectMatterList)) {
for (ContractSubjectMatter contractSubjectMatter: subjectMatterList) {
if (StrUtil.equals(contract.getExecFrequency(), "1")) {
Long weeksTrue = DateUtil.betweenWeek(DateUtil.beginOfWeek(contract.getEffectiveDate()),
@@ -576,7 +595,7 @@
.eq(ContractPaymentSchedule::getContractId, fitstSchedule.getContractId())
.gt(ContractPaymentSchedule::getStageOrder, fitstSchedule.getStageOrder())
.orderByAsc(ContractPaymentSchedule::getCreateTime));
- if (ArrayUtil.isNotEmpty(afterSchedule.toArray()) && afterSchedule.size() == 1) {
+ if (ArrayUtil.isNotEmpty(afterSchedule) && afterSchedule.size() == 1) {
//鏈�鍚庨樁娈电敓鏁堟椂闂�
ContractPaymentSchedule endSchedule = afterSchedule.get(0);
if (StrUtil.equals(endSchedule.getStageName(), "璐ㄤ繚閲�")) {
@@ -610,7 +629,7 @@
contract.setNextScheduleName(endSchedule.getStageName());
baseMapper.updateById(contract);
}
- if (ArrayUtil.isNotEmpty(afterSchedule.toArray()) && afterSchedule.size() > 1) {
+ if (ArrayUtil.isNotEmpty(afterSchedule) && afterSchedule.size() > 1) {
//绗竴闃舵鐢熸晥鏃堕棿
// fitstSchedule.setEffectiveEndDate(DateUtil.offsetDay(contract.getSignDate(),fitstSchedule.getAgreedDays()));
// contractPaymentScheduleMapper.updateById(fitstSchedule);
@@ -619,7 +638,7 @@
baseMapper.updateById(contract);
}
//鍙湁褰撳墠鍚堝悓绛惧瓧闃舵
-// if(ArrayUtil.isEmpty(afterSchedule.toArray())){
+// if(ArrayUtil.isEmpty(afterSchedule)){
// fitstSchedule.setEffectiveEndDate(DateUtil.offsetDay(contract.getSignDate(),fitstSchedule.getAgreedDays()));
// contractPaymentScheduleMapper.updateById(fitstSchedule);
// }
@@ -641,7 +660,7 @@
request.put("moneySum",contract.getAmount());
request.put("signManner","闈㈢");
request.put("salesman","");
- if (ArrayUtil.isNotEmpty(subjectMatterList.toArray())){
+ if (ArrayUtil.isNotEmpty(subjectMatterList)){
JSONArray subjectMatter = new JSONArray();
subjectMatterList.stream().forEach(contractSubjectMatter -> {
JSONObject subjectMatterItem = new JSONObject();
@@ -834,7 +853,7 @@
outAmountList.add(outConfirm.getTransationAmount());
}
}
- if (ArrayUtil.isNotEmpty(outAmountList.toArray())) {
+ if (ArrayUtil.isNotEmpty(outAmountList)) {
BigDecimal currentInSum = outAmountList.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
//鏂板褰撳墠鍚堝悓 璧勯噾杞叆
PaymentConfirm inConfirm = BeanUtil.copyProperties(paymentConfirm, PaymentConfirm.class, "id", "transationAmount",
@@ -870,7 +889,7 @@
.lt(ContractPaymentSchedule::getEffectiveEndDate, DateUtil.today())
.ne(ContractPaymentSchedule::getPaymentStatus, "2")
.ne(ContractPaymentSchedule::getPaymentStatus, 3));
- if (ArrayUtil.isNotEmpty(scheduleList.toArray())) {
+ if (ArrayUtil.isNotEmpty(scheduleList)) {
scheduleList.stream().forEach(contractPaymentSchedule -> {
Contract contract = baseMapper.selectById(contractPaymentSchedule.getContractId());
if (ObjUtil.isNotNull(contract)) {
@@ -1077,7 +1096,7 @@
public R genCycleReceiced() {
List<ContractExecDate> execDateList = contractExecDateMapper.selectList(Wrappers.<ContractExecDate>lambdaQuery()
.le(ContractExecDate::getExecDate, DateUtil.today()).eq(ContractExecDate::getGenFlag,"0"));
- if (ArrayUtil.isNotEmpty(execDateList.toArray())) {
+ if (ArrayUtil.isNotEmpty(execDateList)) {
execDateList.stream().forEach(contractExecDate -> {
Contract contract = baseMapper.selectById(contractExecDate.getContractId());
ContractSubjectMatter subjectMatter = contractSubjectMatterMapper.selectOne(Wrappers.<ContractSubjectMatter>lambdaQuery()
@@ -1587,10 +1606,10 @@
@Override
public R addContractSgb(ContractAddDTO addDTO) {
- if (ArrayUtil.isEmpty(addDTO.getContractSubjectMatter().toArray())){
+ if (ArrayUtil.isEmpty(addDTO.getContractSubjectMatter())){
return R.failed("璇锋坊鍔犳爣鐨勭墿");
}
- if (ArrayUtil.isEmpty(addDTO.getContractPaymentSchedule().toArray())){
+ if (ArrayUtil.isEmpty(addDTO.getContractPaymentSchedule())){
return R.failed("璇锋坊鍔犱粯娆鹃樁娈垫垨浠樻闃舵缂哄皯");
}
if (!isValidPaymentStages(addDTO.getContractPaymentSchedule())){
@@ -1710,10 +1729,10 @@
@Override
public R updateContractSgb(ContractUpdateDTO updateDTO) {
- if (ArrayUtil.isEmpty(updateDTO.getContractSubjectMatter().toArray())){
+ if (ArrayUtil.isEmpty(updateDTO.getContractSubjectMatter())){
return R.failed("璇锋坊鍔犳爣鐨勭墿");
}
- if (ArrayUtil.isEmpty(updateDTO.getContractPaymentSchedule().toArray())){
+ if (ArrayUtil.isEmpty(updateDTO.getContractPaymentSchedule())){
return R.failed("璇锋坊鍔犱粯娆鹃樁娈垫垨浠樻闃舵缂哄皯");
}
if (!isValidPaymentStages(updateDTO.getContractPaymentSchedule())){
@@ -1964,20 +1983,22 @@
@Override
public Page fourAssociation(Page page,ContractQueryDTO queryDTO) {
Page<FourAssociationPageVo> page1 = baseMapper.fourAssociation(page,queryDTO,DataScope.of("comp_id"));
- if (ArrayUtil.isNotEmpty(page1.getRecords().toArray())){
+ if (ArrayUtil.isNotEmpty(page1.getRecords())){
page1.getRecords().stream().forEach(fourAssociationPageVo -> {
List<PaymentSlip> slips = paymentSlipMapper.selectList(Wrappers.<PaymentSlip>lambdaQuery().eq(PaymentSlip::getContractId,fourAssociationPageVo.getId())
.orderByAsc(PaymentSlip::getPaymentTime));
- if (ArrayUtil.isNotEmpty(slips.toArray())){
+ if (ArrayUtil.isNotEmpty(slips)){
fourAssociationPageVo.setSlipVoList(BeanUtil.copyToList(slips,ContractSlipVo.class));
}
List<ContractInvoice> invoices = contractInvoiceMapper.selectList(Wrappers.<ContractInvoice>lambdaQuery().eq(ContractInvoice::getContractId,fourAssociationPageVo.getId())
.orderByAsc(ContractInvoice::getInvoiceTime));
- if (ArrayUtil.isNotEmpty(invoices.toArray())){
+ if (ArrayUtil.isNotEmpty(invoices)){
fourAssociationPageVo.setInvoiceVoList(BeanUtil.copyToList(invoices, ContractInvoiceVo.class));
}
if (fourAssociationPageVo.getAmount().compareTo(fourAssociationPageVo.getPaidAmount())==0&&
- fourAssociationPageVo.getAmount().compareTo(fourAssociationPageVo.getBillingAmout())==0){
+ fourAssociationPageVo.getAmount().compareTo(fourAssociationPageVo.getBillingAmout())==0&&
+ ArrayUtil.isNotEmpty(slips)&&ArrayUtil.isNotEmpty(invoices)
+ ){
fourAssociationPageVo.setAssociation("宸插畬鎴�");
}
});
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/MeterReadRecordServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/MeterReadRecordServiceImpl.java
index f219846..c695e47 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/MeterReadRecordServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/MeterReadRecordServiceImpl.java
@@ -16,6 +16,8 @@
import java.math.BigDecimal;
import java.util.List;
+;
+
/**
* 姘寸數鎶勮〃
*
@@ -137,7 +139,7 @@
List<MeterReadRecord> recordList = baseMapper.selectList(Wrappers.<MeterReadRecord>lambdaQuery()
.eq(MeterReadRecord::getContractId,contract.getId())
.isNull(MeterReadRecord::getMeterReadNum));
- if (ArrayUtil.isEmpty(execDateList.toArray())&&ArrayUtil.isEmpty(recordList.toArray())){
+ if (ArrayUtil.isEmpty(execDateList)&&ArrayUtil.isEmpty(recordList)){
List<PaymentConfirm> confirmList = paymentConfirmMapper.selectList(Wrappers.<PaymentConfirm>lambdaQuery()
.eq(PaymentConfirm::getContractId, contract.getId())
.and(wrapper -> wrapper
@@ -147,7 +149,7 @@
.or()
.eq(PaymentConfirm::getBusinessType, "涓嶅緛绋庤嚜鏉ユ按搴旀敹")
));
- if (ArrayUtil.isNotEmpty(confirmList.toArray())){
+ if (ArrayUtil.isNotEmpty(confirmList)){
BigDecimal total = confirmList.stream().map(PaymentConfirm::getTransationAmount).filter(amount -> amount != null).reduce(BigDecimal.ZERO, BigDecimal::add);
contract.setAmount(total);
contractMapper.updateById(contract);
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/OutBoundServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/OutBoundServiceImpl.java
index c0a5002..2a7809e 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/OutBoundServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/OutBoundServiceImpl.java
@@ -1,9 +1,8 @@
package com.by4cloud.platformx.business.service.impl;
import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -26,6 +25,8 @@
import java.math.RoundingMode;
import java.util.*;
import java.util.stream.Collectors;
+
+;
/**
* EPR鍑哄簱璁板綍
@@ -63,7 +64,7 @@
@Override
public R add(OutBoundAddDTO addDTO) {
- if (ArrayUtil.isEmpty(addDTO.getSubjectMatterList().toArray())) {
+ if (CollUtil.isEmpty(addDTO.getSubjectMatterList())) {
return R.failed("鍑哄簱鏍囩殑鐗╀笉鑳戒负绌�");
}
MPJLambdaWrapper<ContractSubjectMatter> wrapper = new MPJLambdaWrapper<ContractSubjectMatter>()
@@ -79,7 +80,7 @@
)
.orderByAsc(ContractSubjectMatter::getCreateTime);
List<ContractSubjectMatter> subjectMatterList = contractSubjectMatterMapper.selectList(wrapper);
- if (ArrayUtil.isEmpty(subjectMatterList.toArray())) {
+ if (CollUtil.isEmpty(subjectMatterList)) {
return R.failed("娌℃湁鏌ヨ鍒扮浉鍏冲悎鍚岃鍗�");
}
List<String> erpCodeList = subjectMatterList.stream().map(ContractSubjectMatter::getMaterialCode).collect(Collectors.toList());
@@ -185,7 +186,7 @@
});
//鍑哄簱搴旀敹娆炬槑缁�
- if (ArrayUtil.isNotEmpty(currentOutMap.keySet())) {
+ if (CollUtil.isNotEmpty(currentOutMap.keySet())) {
for (Long contractId : currentOutMap.keySet()) {
//褰撳墠鍑哄簱鍚堝悓鍑哄簱鏍囩殑鐗�
List<ContractSubjectMatter> contractSubjectMatterList = contractSubjectMatterMapper.selectList(Wrappers.<ContractSubjectMatter>lambdaQuery()
@@ -264,7 +265,7 @@
//瀹㈡埛浠樻瀹屾垚鍚堝悓
List<Contract> customerCompleteContractList = contractMapper.selectList(Wrappers.<Contract>lambdaQuery().eq(Contract::getPartyAId, contract.getPartyAId())
.eq(Contract::getPartyBId, SecurityUtils.getUser().getCompId()).apply(" amount = paid_amount"));
- if (ArrayUtil.isNotEmpty(customerCompleteContractList)) {
+ if (CollUtil.isNotEmpty(customerCompleteContractList)) {
List<BigDecimal> outAmountList = new ArrayList<>();
for (Contract completeContract : customerCompleteContractList
) {
@@ -283,7 +284,7 @@
outAmountList.add(outConfirm.getTransationAmount());
}
}
- if (ArrayUtil.isNotEmpty(outAmountList.toArray())) {
+ if (CollUtil.isNotEmpty(outAmountList)) {
BigDecimal currentInSum = outAmountList.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
//鏂板褰撳墠鍚堝悓 璧勯噾杞叆
PaymentConfirm inConfirm = BeanUtil.copyProperties(paymentConfirm, PaymentConfirm.class, "id", "transationAmount",
@@ -316,7 +317,7 @@
//鏌ヨ鏄惁鏈夊悗缁樁娈�
// List<ContractPaymentSchedule> afterSchedule = scheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery().eq(ContractPaymentSchedule::getContractId, contractId)
// .gt(ContractPaymentSchedule::getStageOrder, schedule.getStageOrder()));
-// if (ArrayUtil.isEmpty(afterSchedule.toArray())) {
+// if (.isEmpty(afterSchedule)) {
// schedule.setEffectiveEndDate(contract.getExpirationDate());
// }
scheduleMapper.updateById(schedule);
@@ -346,7 +347,7 @@
.eq(ContractPaymentSchedule::getContractId, schedule.getContractId())
.gt(ContractPaymentSchedule::getStageOrder, schedule.getStageOrder())
.orderByAsc(ContractPaymentSchedule::getCreateTime));
- if (ArrayUtil.isNotEmpty(afterSchedule.toArray()) && afterSchedule.size() == 1) {
+ if (CollUtil.isNotEmpty(afterSchedule) && afterSchedule.size() == 1) {
//鏈�鍚庨樁娈电敓鏁堟椂闂�
ContractPaymentSchedule endSchedule = afterSchedule.get(0);
if (StrUtil.equals(endSchedule.getStageName(), "璐ㄤ繚閲�")) {
@@ -383,12 +384,12 @@
contract.setNextScheduleName(endSchedule.getStageName());
contractMapper.updateById(contract);
}
- if (ArrayUtil.isNotEmpty(afterSchedule.toArray()) && afterSchedule.size() > 1) {
+ if (CollUtil.isNotEmpty(afterSchedule) && afterSchedule.size() > 1) {
//鏇存柊鍚堝悓涓嬩釜闃舵
contract.setNextScheduleName(afterSchedule.get(0).getStageName());
contractMapper.updateById(contract);
}
- if (ArrayUtil.isEmpty(afterSchedule.toArray())) {
+ if (CollUtil.isEmpty(afterSchedule)) {
// schedule.setEffectiveEndDate(contract.getExpirationDate());
// scheduleMapper.updateById(schedule);
//鏇存柊鍚堝悓涓嬩釜闃舵
@@ -460,7 +461,7 @@
@Override
public R addContractOut(OutBoundAddDTO addDTO) {
- if (ArrayUtil.isEmpty(addDTO.getSubjectMatterList().toArray())) {
+ if (CollUtil.isEmpty(addDTO.getSubjectMatterList())) {
return R.failed("鍑哄簱鏍囩殑鐗╀笉鑳戒负绌�");
}
// 1. 纭畾鏌ヨ鐢ㄧ殑鍚堝悓缂栧彿瀛楁鍊�
@@ -486,6 +487,10 @@
if (ObjUtil.isNull(contract)) {
return R.failed("鍚堝悓淇℃伅鏌ヨ澶辫触");
}
+ if (addDTO.getSubjectMatterList().stream().allMatch(item->item.getOutBoundNum().compareTo(new BigDecimal("0"))==0)){
+ return R.failed("鍑哄簱鏁伴噺涓嶈兘閮戒负涓�0");
+ }
+ addDTO.setSubjectMatterList(addDTO.getSubjectMatterList().stream().filter(item->item.getOutBoundNum().compareTo(new BigDecimal("0"))>0).collect(Collectors.toList()));
//鍑哄簱鏁伴噺鏍¢獙
for (OutSubjectMatterAddDTO outSubjectMatterAddDTO: addDTO.getSubjectMatterList()) {
ContractSubjectMatter subjectMatter = contractSubjectMatterMapper.selectOne(Wrappers.<ContractSubjectMatter>lambdaQuery()
@@ -495,9 +500,6 @@
.last("limit 1"));
if (ObjUtil.isNull(subjectMatter)){
continue;
- }
- if (outSubjectMatterAddDTO.getOutBoundNum().compareTo(new BigDecimal("0"))==0){
- return R.failed(outSubjectMatterAddDTO.getSubjectMatterCode()+"鍑哄簱鏁伴噺涓嶈兘涓�0");
}
if (subjectMatter.getDeliveryStatus()==0){
if (outSubjectMatterAddDTO.getOutBoundNum().compareTo(subjectMatter.getQuantity())>0){
@@ -644,7 +646,7 @@
//瀹㈡埛浠樻瀹屾垚鍚堝悓
List<Contract> customerCompleteContractList = contractMapper.selectList(Wrappers.<Contract>lambdaQuery().eq(Contract::getPartyAId, contract.getPartyAId())
.eq(Contract::getPartyBId, SecurityUtils.getUser().getCompId()).apply(" amount = paid_amount"));
- if (ArrayUtil.isNotEmpty(customerCompleteContractList)) {
+ if (CollUtil.isNotEmpty(customerCompleteContractList)) {
List<BigDecimal> outAmountList = new ArrayList<>();
for (Contract completeContract : customerCompleteContractList
) {
@@ -663,7 +665,7 @@
outAmountList.add(outConfirm.getTransationAmount());
}
}
- if (ArrayUtil.isNotEmpty(outAmountList.toArray())) {
+ if (CollUtil.isNotEmpty(outAmountList)) {
BigDecimal currentInSum = outAmountList.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
//鏂板褰撳墠鍚堝悓 璧勯噾杞叆
PaymentConfirm inConfirm = BeanUtil.copyProperties(paymentConfirm, PaymentConfirm.class, "id", "transationAmount",
@@ -712,12 +714,12 @@
.eq(ContractPaymentSchedule::getContractId, schedule.getContractId())
.gt(ContractPaymentSchedule::getStageOrder, schedule.getStageOrder())
.orderByAsc(ContractPaymentSchedule::getCreateTime));
- if (ArrayUtil.isNotEmpty(afterSchedule.toArray())&&contract.getOutBoundAmout().compareTo(contract.getAmount())==0) {
+ if (CollUtil.isNotEmpty(afterSchedule)&&contract.getOutBoundAmout().compareTo(contract.getAmount())==0) {
contract.setNextScheduleName(afterSchedule.get(0).getStageName());
contractMapper.updateById(contract);
}
- if (ArrayUtil.isEmpty(afterSchedule.toArray())) {
+ if (CollUtil.isEmpty(afterSchedule)) {
schedule.setEffectiveEndDate(contract.getExpirationDate());
scheduleMapper.updateById(schedule);
//鏇存柊鍚堝悓涓嬩釜闃舵
@@ -832,12 +834,12 @@
@Override
public R delOutBound(String batchNumber) {
List<OutBound> outBoundList = baseMapper.selectList(Wrappers.<OutBound>lambdaQuery().eq(OutBound::getBatchNumber,batchNumber));
- if (ArrayUtil.isEmpty(outBoundList)){
+ if (CollUtil.isEmpty(outBoundList)){
return R.failed("鍑哄簱淇℃伅寮傚父锛岃鑱旂郴钀ラ攢绯荤粺绠$悊浜哄憳");
}
List<ContractOutBound> contractOutBoundList = contractOutBoundMapper.selectList(Wrappers.<ContractOutBound>lambdaQuery()
.in(ContractOutBound::getOutBoundId,outBoundList.stream().map(OutBound::getId).collect(Collectors.toList())));
- if (ArrayUtil.isEmpty(contractOutBoundList)){
+ if (CollUtil.isEmpty(contractOutBoundList)){
return R.failed("鍑哄簱淇℃伅寮傚父锛岃鑱旂郴钀ラ攢绯荤粺绠$悊浜哄憳");
}
boolean allZero = true;
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java
index fb66342..2df9d21 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentConfirmServiceImpl.java
@@ -1,7 +1,7 @@
package com.by4cloud.platformx.business.service.impl;
import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.date.DatePattern;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
@@ -31,7 +31,7 @@
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
-import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import java.io.UnsupportedEncodingException;
@@ -43,6 +43,8 @@
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
+
+;
/**
* 鏀舵纭
@@ -66,7 +68,7 @@
private final MeterReadRecordMapper meterReadRecordMapper;
private final BankStatementMapper bankStatementMapper;
private final RemoteDeptService remoteDeptService;
- private final RedisTemplate redisTemplate;
+ private final StringRedisTemplate redisTemplate;
@Value("${bip.url}")
private String url;
@@ -112,6 +114,7 @@
slip.setPaymentTime(addDTO.getConfirmTime());
slip.setPaymentAmount(addDTO.getTransationAmount());
slip.setPayType(addDTO.getPayType());
+ slip.setContractId(contract.getId());
paymentSlipMapper.insert(slip);
BigDecimal newtotal = addDTO.getTransationAmount().add(lastTotal);
@@ -149,7 +152,7 @@
List<ContractPaymentSchedule> scheduleList = contractPaymentScheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery()
.eq(ContractPaymentSchedule::getContractId, contract.getId()).ne(ContractPaymentSchedule::getPaymentStatus, 2).ne(ContractPaymentSchedule::getPaymentStatus, 3)
.orderByAsc(ContractPaymentSchedule::getCreateTime));
- if (ArrayUtil.isNotEmpty(scheduleList.toArray())) {
+ if (CollUtil.isNotEmpty(scheduleList)) {
BigDecimal remain = addDTO.getTransationAmount();
for (ContractPaymentSchedule schedule : scheduleList) {
BigDecimal lastRemain = remain;
@@ -217,7 +220,7 @@
List<MeterReadRecord> recordList = meterReadRecordMapper.selectList(Wrappers.<MeterReadRecord>lambdaQuery()
.eq(MeterReadRecord::getContractId,contract.getId())
.isNull(MeterReadRecord::getMeterReadNum));
- if (ArrayUtil.isEmpty(execDateList.toArray())&&ArrayUtil.isEmpty(recordList.toArray())){
+ if (CollUtil.isEmpty(execDateList)&&CollUtil.isEmpty(recordList)){
//鏇存柊鍚堝悓宸蹭粯娆�
BigDecimal paid = new BigDecimal("0");
if (ObjUtil.isNotNull(contract.getPaidAmount())) {
@@ -262,7 +265,7 @@
// List<Contract> customerContractList = contractService.list(Wrappers.<Contract>lambdaQuery().eq(Contract::getPartyAId, addDTO.getBusGuestId())
// .eq(Contract::getPartyBId, SecurityUtils.getUser().getCompId()).orderByAsc(Contract::getCreateTime)
// .apply(" ((contract_category != 'water_house' and amount != paid_amount) or contract_category = 'water_house')"));
-// if (ArrayUtil.isEmpty(customerContractList.toArray())) {
+// if (ArrayUtil.isEmpty(customerContractList)) {
// return R.failed("涓烘煡璇㈠埌鏈粯娆惧悎鍚�");
// }
// BusinessCustomer customer = businessCustomerService.getOne(Wrappers.<BusinessCustomer>lambdaQuery()
@@ -365,7 +368,7 @@
// .eq(ContractPaymentSchedule::getContractId, contract.getId()).ne(ContractPaymentSchedule::getPaymentStatus, 2)
// .ne(ContractPaymentSchedule::getPaymentStatus, 3)
// .orderByAsc(ContractPaymentSchedule::getCreateTime));
-// if (ArrayUtil.isNotEmpty(scheduleList.toArray())) {
+// if (ArrayUtil.isNotEmpty(scheduleList)) {
// BigDecimal remain = transtionAmount;
// for (ContractPaymentSchedule schedule : scheduleList) {
// BigDecimal lastRemain = remain;
@@ -419,7 +422,7 @@
// List<ContractPaymentSchedule> payComScheduleList = contractPaymentScheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery()
// .eq(ContractPaymentSchedule::getContractId, contract.getId()).ne(ContractPaymentSchedule::getPaymentStatus, 0)
// .ne(ContractPaymentSchedule::getPaymentStatus, 3));
-// if (ArrayUtil.isNotEmpty(payComScheduleList.toArray())) {
+// if (ArrayUtil.isNotEmpty(payComScheduleList)) {
// BigDecimal payTotal = payComScheduleList.stream().map(item -> StrUtil.equals(item.getPaymentStatus() + "", "2") ? item.getPlannedAmount() :
// item.getActualAmount()).reduce(BigDecimal.ZERO, BigDecimal::add);
// contract.setPaidAmount(payTotal);
@@ -438,10 +441,10 @@
// if (StrUtil.isNotEmpty(contract.getContractCategory()) && StrUtil.equals(contract.getContractCategory(), "water_house")) {
// List<ContractExecDate> execDateList = contractExecDateMapper.selectList(Wrappers.<ContractExecDate>lambdaQuery()
// .eq(ContractExecDate::getContractId, contract.getId()).eq(ContractExecDate::getGenFlag, "0"));
-// if (ArrayUtil.isEmpty(execDateList.toArray())) {
+// if (ArrayUtil.isEmpty(execDateList)) {
// List<ContractPaymentSchedule> contractPaymentScheduleList = contractPaymentScheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery()
// .eq(ContractPaymentSchedule::getContractId, contract.getId()));
-// if (ArrayUtil.isNotEmpty(contractPaymentScheduleList.toArray()) && contractPaymentScheduleList.stream().allMatch(item -> Objects.equals(item.getPaymentStatus(), 2))) {
+// if (ArrayUtil.isNotEmpty(contractPaymentScheduleList) && contractPaymentScheduleList.stream().allMatch(item -> Objects.equals(item.getPaymentStatus(), 2))) {
// contract.setContractStatus(3);
// contractService.updateById(contract);
// }
@@ -455,20 +458,20 @@
//瀹㈡埛棰勪粯鏈夊墿浣� 涓� 鏈夐浠樻鐨勫悎鍚�
// if (transtionRemainAmount.compareTo(new BigDecimal("0")) > 0) {
-// if (ArrayUtil.isNotEmpty(payNoCompleteContractList.toArray())){
+// if (ArrayUtil.isNotEmpty(payNoCompleteContractList)){
// //浣欓 鏀惧埌浠樻鏈畬鎴愬悎鍚� 棰勬敹
// Contract lastContract = payNoCompleteContractList.get(0);
// //淇濆瓨鏄庣粏
// saveNewPaymentConfirm(customer,null,lastContract,transtionRemainAmount,payDate);
// }
-// if (ArrayUtil.isEmpty(payNoCompleteContractList.toArray())&&ArrayUtil.isNotEmpty(advanceContractList.toArray())){
+// if (ArrayUtil.isEmpty(payNoCompleteContractList)&&ArrayUtil.isNotEmpty(advanceContractList)){
// //瀹㈡埛棰勪粯鏈夊墿浣� 娌℃湁棰勪粯娆剧殑鍚堝悓
// Contract lastContract = advanceContractList.get(0);
// //淇濆瓨鏄庣粏
// saveNewPaymentConfirm(customer,null,lastContract,transtionRemainAmount,payDate);
// }
-// if (ArrayUtil.isEmpty(payNoCompleteContractList.toArray())&&ArrayUtil.isEmpty(advanceContractList.toArray())
-// &&ArrayUtil.isNotEmpty(payCompleteContractList.toArray())) {
+// if (ArrayUtil.isEmpty(payNoCompleteContractList)&&ArrayUtil.isEmpty(advanceContractList)
+// &&ArrayUtil.isNotEmpty(payCompleteContractList)) {
// //瀹㈡埛棰勪粯鏈夊墿浣� 娌℃湁棰勪粯娆剧殑鍚堝悓
// Contract lastContract = payCompleteContractList.get(payCompleteContractList.size() - 1);
// //淇濆瓨鏄庣粏
@@ -486,7 +489,7 @@
if (redisTemplate.hasKey("BIP_TOKEN")) {
accessToken = (String) redisTemplate.opsForValue().get("BIP_TOKEN");
} else {
- getAccessToken(accessToken);
+ accessToken = getAccessToken(accessToken);
}
if (StrUtil.isEmpty(accessToken)) {
return R.failed("鑾峰彇token澶辫触");
@@ -495,6 +498,16 @@
for (String bipCode : bipCodeArr) {
//鍏ュ弬
JSONObject params = new JSONObject();
+ if (ObjUtil.isNotEmpty(dto.getPageSize())){
+ params.put("pageSize",dto.getPageSize());
+ }else {
+ params.put("pageSize",999);
+ }
+ if (ObjUtil.isNotEmpty(dto.getPageNum())){
+ params.put("pageNum",dto.getPageNum());
+ }else {
+ params.put("pageNum",1);
+ }
if (StrUtil.isNotBlank(dto.getStartDate())){
params.put("begindate",dto.getStartDate());
}else {
@@ -580,13 +593,13 @@
return;
}
SysDept dept = r.getData();
- JSONObject dataJson = JSONObject.parseObject(resultJson.getString("data"));
+ JSONObject dataJson = resultJson.getJSONObject("data");
if (ObjUtil.isNull(dataJson)) {
log.error("杩斿洖缁撴灉涓璬ata瑙f瀽澶辫触");
return;
}
- JSONArray recordList = JSONArray.parseArray(resultJson.getString("recordList"));
- if (ArrayUtil.isEmpty(recordList.toArray())) {
+ JSONArray recordList = dataJson.getJSONArray("recordList");
+ if (CollUtil.isEmpty(recordList)) {
log.error("杩斿洖缁撴灉涓璻ecordList涓虹┖");
return;
}
@@ -600,24 +613,13 @@
private void savePaymentConfirm(JSONObject record, SysDept dept) {
- if (record.containsKey("to_acct_name")){
- log.error("浠樻鍗昳d锛歿},浠樻鍏徃涓虹┖", record.getString("id"));
- return;
- }
+
BusinessCustomer customer = businessCustomerService.getOne(Wrappers.<BusinessCustomer>lambdaQuery()
.eq(BusinessCustomer::getCompanyName, record.getString("to_acct_name"))
.eq(BusinessCustomer::getCompId,dept.getDeptId())
);
- if (ObjUtil.isNull(customer)) {
- log.error("浠樻鍗昳d锛歿},瀹㈠晢鏌ヨ澶辫触锛岃妫�鏌ュ鍟�", record.getString("id"));
- return;
- }
- if (ObjUtil.isNull(record.getBigDecimal("tran_amt"))) {
- log.error("浠樻鍗昳d锛歿},浜ゆ槗閲戦寮傚父", record.getString("id"));
- return;
- }
- //淇濆瓨浠樻鍗�
- Boolean codeFlag = saveBankStatement(customer, record);
+ //淇濆瓨浠樻鍗�
+ Boolean codeFlag = saveBankStatement(customer, record,dept);
if (codeFlag) {
log.error("浠樻鍗昳d锛歿},浠樻鍗曞凡瀛樺湪");
return;
@@ -625,7 +627,7 @@
}
- private Boolean saveBankStatement(BusinessCustomer customer, JSONObject record) {
+ private Boolean saveBankStatement(BusinessCustomer customer, JSONObject record,SysDept dept) {
BankStatement bankStatement = new BankStatement();
bankStatement.setBankSeqNo(record.getString("bank_seq_no"));
bankStatement.setReceiveBankAcc(record.getString("bank_seq_no"));
@@ -637,12 +639,15 @@
bankStatement.setTranAmount(record.getBigDecimal("tran_amt"));
bankStatement.setDataId(record.getLong("id"));
bankStatement.setDataJson(record.toJSONString());
- bankStatement.setBusGuestId(customer.getId());
+ if (ObjUtil.isNotNull(customer)) {
+ bankStatement.setBusGuestId(customer.getId());
+ }
BankStatement statement = bankStatementMapper.selectOne(Wrappers.<BankStatement>lambdaQuery().eq(BankStatement::getDataId,record.getLong("id")));
if (ObjUtil.isNotNull(statement)){
return false;
}
- statement.setCompId(customer.getCompId());
+ bankStatement.setRemark(record.getString("remark"));
+ bankStatement.setCompId(dept.getDeptId());
bankStatementMapper.insert(bankStatement);
return true;
}
@@ -657,7 +662,7 @@
@Override
public R queryAging() {
List<AgingCompanyVo> companys = contractPaymentScheduleMapper.selectAgingCompany(null, DataScope.of("comp_id"));
- if (ArrayUtil.isEmpty(companys.toArray())) {
+ if (CollUtil.isEmpty(companys)) {
return R.failed("鏆傛棤璐﹂緞");
}
List<AgingAnalysisVo> result = new ArrayList<>();
@@ -670,7 +675,7 @@
queryDTO.setCompanyId(company.getCompanyId());
List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotal(queryDTO);
//琛ュ叏鏁版嵁
- if (ArrayUtil.isEmpty(companyAgingVo.toArray())) {
+ if (CollUtil.isEmpty(companyAgingVo)) {
companyAgingVo = new ArrayList<>();
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�", new BigDecimal("0"), null);
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�", new BigDecimal("0"), null);
@@ -686,27 +691,27 @@
companyAgingVo.add(agingVo6);
} else {
List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
- if (!ArrayUtil.contains(overdueRanges.toArray(), "0-30澶�")) {
+ if (!CollUtil.contains(overdueRanges, "0-30澶�")) {
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�", new BigDecimal("0"), null);
companyAgingVo.add(agingVo1);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(), "31-60澶�")) {
+ if (!CollUtil.contains(overdueRanges, "31-60澶�")) {
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�", new BigDecimal("0"), null);
companyAgingVo.add(agingVo2);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(), "61-90澶�")) {
+ if (!CollUtil.contains(overdueRanges, "61-90澶�")) {
AgingVo agingVo3 = new AgingVo(3L,"61-90澶�", new BigDecimal("0"), null);
companyAgingVo.add(agingVo3);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(), "91-180澶�")) {
+ if (!CollUtil.contains(overdueRanges, "91-180澶�")) {
AgingVo agingVo4 = new AgingVo(4L,"91-180澶�", new BigDecimal("0"), null);
companyAgingVo.add(agingVo4);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(), "181-365澶�")) {
+ if (!CollUtil.contains(overdueRanges, "181-365澶�")) {
AgingVo agingVo5 = new AgingVo(5L,"181-365澶�", new BigDecimal("0"), null);
companyAgingVo.add(agingVo5);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(), "1骞翠互涓�")) {
+ if (!CollUtil.contains(overdueRanges, "1骞翠互涓�")) {
AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�", new BigDecimal("0"), null);
companyAgingVo.add(agingVo6);
}
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentOffsetServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentOffsetServiceImpl.java
index 5fe305a..aed8023 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentOffsetServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/PaymentOffsetServiceImpl.java
@@ -1,7 +1,7 @@
package com.by4cloud.platformx.business.service.impl;
import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -11,13 +11,13 @@
import com.by4cloud.platformx.business.service.ContractService;
import com.by4cloud.platformx.business.service.PaymentOffsetService;
import com.by4cloud.platformx.common.core.util.R;
-import com.by4cloud.platformx.common.security.util.SecurityUtils;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
-import java.util.Objects;
+
+;
/**
* 鎶垫姽璐�
@@ -80,7 +80,7 @@
List<ContractPaymentSchedule> scheduleList = contractPaymentScheduleMapper.selectList(Wrappers.<ContractPaymentSchedule>lambdaQuery()
.eq(ContractPaymentSchedule::getContractId,contract.getId()).ne(ContractPaymentSchedule::getPaymentStatus,2)
.ne(ContractPaymentSchedule::getPaymentStatus,3).orderByAsc(ContractPaymentSchedule::getCreateTime));
- if (ArrayUtil.isNotEmpty(scheduleList.toArray())){
+ if (CollUtil.isNotEmpty(scheduleList)){
BigDecimal remain = paymentOffset.getOffsetAmount();
for (ContractPaymentSchedule schedule:scheduleList) {
BigDecimal lastRemain = remain;
@@ -143,7 +143,7 @@
}
contractService.updateById(contract);
// 鏌ヨ鎵�鏈変粯娆鹃樁娈垫槸鍚﹂兘浠樻瀹屾垚
-// if (ArrayUtil.isNotEmpty(scheduleList.toArray())){
+// if (.isNotEmpty(scheduleList)){
// if (scheduleList.stream().allMatch(item -> Objects.equals(item.getPaymentStatus(), 2))){
// contract.setContractStatus(3);
// contractService.updateById(contract);
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductServiceImpl.java
index 7e8d4a8..5259cca 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/ProductServiceImpl.java
@@ -4,12 +4,10 @@
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.lang.tree.TreeNode;
import cn.hutool.core.lang.tree.TreeUtil;
-import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.by4cloud.platformx.admin.api.entity.SysDept;
import com.by4cloud.platformx.business.dto.ProductAddDTO;
import com.by4cloud.platformx.business.dto.ProductQueryDTO;
import com.by4cloud.platformx.business.entity.Product;
@@ -27,11 +25,12 @@
import org.springframework.stereotype.Service;
import org.springframework.validation.BindingResult;
-
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
+
+;
/**
* 浜у搧淇℃伅
@@ -121,14 +120,14 @@
@Override
public R saveErpProduct(List<ProductAddDTO> addDTOS) {
- if (ArrayUtil.isNotEmpty(addDTOS.toArray())){
+ if (CollUtil.isNotEmpty(addDTOS)){
for (ProductAddDTO addDTO:addDTOS
) {
List<Product> classPro = baseMapper.selectListByScope(Wrappers.<Product>lambdaQuery()
.eq(StrUtil.isNotEmpty(addDTO.getErpTypeCode()),Product::getErpCode,addDTO.getErpTypeCode())
.eq(StrUtil.isNotEmpty(addDTO.getErpTypeName()),Product::getProductName,addDTO.getErpTypeName())
, DataScope.of("comp_id"));
- if (ArrayUtil.isEmpty(classPro.toArray())){
+ if (CollUtil.isEmpty(classPro)){
Product product = new Product();
product.setProductName(addDTO.getErpTypeName());
product.setProductType(addDTO.getSpecification());
@@ -163,7 +162,7 @@
@Override
public R importProduct(List<ProductExcelVO> excelVOList, BindingResult bindingResult) {
List<ErrorMessage> errorMessageList = (List<ErrorMessage>) bindingResult.getTarget();
- if (ArrayUtil.isNotEmpty(excelVOList.toArray())) {
+ if (CollUtil.isNotEmpty(excelVOList)) {
List<List<ProductExcelVO>> groups = splitList(excelVOList, 5000);
groups.stream().forEach(group->{
for (ProductExcelVO addDTO:group
@@ -174,7 +173,7 @@
errorMsg.add("浜у搧鍒嗙被淇℃伅娌℃湁");
}
List<Product> one = this.listByScope(Wrappers.<Product>lambdaQuery().eq(Product::getErpCode, addDTO.getErpCode()));
- if (ArrayUtil.isNotEmpty(one.toArray())){
+ if (CollUtil.isNotEmpty(one)){
errorMsg.add("浜у搧erp缂栫爜宸插瓨鍦�");
}
if (CollUtil.isEmpty(errorMsg)){
@@ -182,7 +181,7 @@
.eq(StrUtil.isNotEmpty(addDTO.getErpTypeCode()),Product::getErpCode,addDTO.getErpTypeCode())
.eq(StrUtil.isNotEmpty(addDTO.getErpTypeName()),Product::getProductName,addDTO.getErpTypeName())
, DataScope.of("comp_id"));
- if (ArrayUtil.isEmpty(classPro.toArray())){
+ if (CollUtil.isEmpty(classPro)){
Product product = new Product();
product.setProductName(addDTO.getErpTypeName());
product.setProductType(addDTO.getSpecification());
diff --git a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/StatisticServiceImpl.java b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/StatisticServiceImpl.java
index 98f4ba0..ade6a99 100644
--- a/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/StatisticServiceImpl.java
+++ b/platformx-business-finance-biz/src/main/java/com/by4cloud/platformx/business/service/impl/StatisticServiceImpl.java
@@ -1,6 +1,6 @@
package com.by4cloud.platformx.business.service.impl;
-import cn.hutool.core.util.ArrayUtil;
+import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -92,7 +92,7 @@
compIds.add(Long.valueOf(ymj));
compIds.add(Long.valueOf(jxc));
List<ContractIncomeAnalysisVo> contractIncomeAnalysisVoList = contractMapper.contractIncomeAnalysis(commonDTO,compIds);
- if (ArrayUtil.isNotEmpty(contractIncomeAnalysisVoList.toArray())){
+ if (CollUtil.isNotEmpty(contractIncomeAnalysisVoList)){
contractIncomeAnalysisVoList.stream().forEach(contractIncomeAnalysisVo -> {
if(StrUtil.equals(contractIncomeAnalysisVo.getCompId(),sgb)){
contractIncomeAnalysisVo.setCompName("鐭冲伐娉�");
@@ -124,7 +124,7 @@
public R contractAmountAnalysisByArea(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("company_area");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("鍦板尯瀛楀吀鍒嗙被鑾峰彇寮傚父");
}
List<Long> compIds = new ArrayList<>();
@@ -164,7 +164,7 @@
public R contractAmountAnalysisByIndustry(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("industry_sector");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("琛屼笟瀛楀吀鍒嗙被鑾峰彇寮傚父");
}
List<Long> compIds = new ArrayList<>();
@@ -204,7 +204,7 @@
public R contractAmountAnalysisByMarket(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("market_type");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("甯傚満绫诲瀷瀛楀吀鍒嗙被鑾峰彇寮傚父");
}
List<Long> compIds = new ArrayList<>();
@@ -244,7 +244,7 @@
public R contractAmountAnalysisBySpcBus(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("supply_attribute");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("渚涘簲灞炴�у瓧鍏稿垎绫昏幏鍙栧紓甯�");
}
List<Long> compIds = new ArrayList<>();
@@ -284,7 +284,7 @@
public R contractAmountAnalysisByExportBus(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("export_attr");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("鍖哄煙瀛楁鑾峰彇寮傚父");
}
List<Long> compIds = new ArrayList<>();
@@ -325,7 +325,7 @@
public R contractAmountAnalysisBySaleModel(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("sales_model");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("閿�鍞ā寮忓瓧鍏稿垎绫昏幏鍙栧紓甯�");
}
List<Long> compIds = new ArrayList<>();
@@ -366,11 +366,11 @@
public R agingAnalysisByArea(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("company_area");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("鍦板尯瀛楀吀鍒嗙被鑾峰彇寮傚父");
}
// List<AgingCompanyVo> companys = contractPaymentScheduleMapper.selectAgingCompany(DataScope.of("comp_id"));
-// if (ArrayUtil.isEmpty(companys.toArray())){
+// if (CollUtil.isEmpty(companys)){
// return R.failed("鏆傛棤璐﹂緞");
// }
List<Long> compIds = new ArrayList<>();
@@ -382,7 +382,7 @@
List<AgingAnalysisVo> result = new ArrayList<>();
AgingQueryDTO queryDTO = new AgingQueryDTO();
- if (ArrayUtil.contains(compIds.toArray(),SecurityUtils.getUser().getCompId())){
+ if (CollUtil.contains(compIds,SecurityUtils.getUser().getCompId())){
queryDTO.setCompanyId(SecurityUtils.getUser().getCompId());
}
List<AgingVo> agingVoList = contractPaymentScheduleMapper.selectAgingTotal(queryDTO);
@@ -392,7 +392,7 @@
queryDTO.setAreaId(item.getItemValue());
List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotal(queryDTO);
//琛ュ叏鏁版嵁
- if (ArrayUtil.isEmpty(companyAgingVo.toArray())){
+ if (CollUtil.isEmpty(companyAgingVo)){
companyAgingVo = new ArrayList<>();
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
@@ -408,27 +408,27 @@
companyAgingVo.add(agingVo6);
}else {
List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
- if (!ArrayUtil.contains(overdueRanges.toArray(),"0-30澶�")){
+ if (!CollUtil.contains(overdueRanges,"0-30澶�")){
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"31-60澶�")){
+ if (!CollUtil.contains(overdueRanges,"31-60澶�")){
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo2);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"61-90澶�")){
+ if (!CollUtil.contains(overdueRanges,"61-90澶�")){
AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo3);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"91-180澶�")){
+ if (!CollUtil.contains(overdueRanges,"91-180澶�")){
AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo4);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"181-365澶�")){
+ if (!CollUtil.contains(overdueRanges,"181-365澶�")){
AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo5);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"1骞翠互涓�")){
+ if (!CollUtil.contains(overdueRanges,"1骞翠互涓�")){
AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo6);
}
@@ -473,7 +473,7 @@
public R agingAnalysisByIndustry(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("industry_sector");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("琛屼笟瀛楀吀鍒嗙被鑾峰彇寮傚父");
}
List<Long> compIds = new ArrayList<>();
@@ -485,7 +485,7 @@
List<AgingAnalysisVo> result = new ArrayList<>();
AgingQueryDTO queryDTO = new AgingQueryDTO();
- if (ArrayUtil.contains(compIds.toArray(),SecurityUtils.getUser().getCompId())){
+ if (CollUtil.contains(compIds,SecurityUtils.getUser().getCompId())){
queryDTO.setCompanyId(SecurityUtils.getUser().getCompId());
}
List<AgingVo> agingVoList = contractPaymentScheduleMapper.selectAgingTotal(queryDTO);
@@ -495,7 +495,7 @@
queryDTO.setIndustryId(item.getItemValue());
List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotal(queryDTO);
//琛ュ叏鏁版嵁
- if (ArrayUtil.isEmpty(companyAgingVo.toArray())){
+ if (CollUtil.isEmpty(companyAgingVo)){
companyAgingVo = new ArrayList<>();
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
@@ -511,27 +511,27 @@
companyAgingVo.add(agingVo6);
}else {
List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
- if (!ArrayUtil.contains(overdueRanges.toArray(),"0-30澶�")){
+ if (!CollUtil.contains(overdueRanges,"0-30澶�")){
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"31-60澶�")){
+ if (!CollUtil.contains(overdueRanges,"31-60澶�")){
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo2);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"61-90澶�")){
+ if (!CollUtil.contains(overdueRanges,"61-90澶�")){
AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo3);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"91-180澶�")){
+ if (!CollUtil.contains(overdueRanges,"91-180澶�")){
AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo4);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"181-365澶�")){
+ if (!CollUtil.contains(overdueRanges,"181-365澶�")){
AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo5);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"1骞翠互涓�")){
+ if (!CollUtil.contains(overdueRanges,"1骞翠互涓�")){
AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo6);
}
@@ -595,7 +595,7 @@
queryDTO.setCompanyId(dept.getDeptId());
List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotalShip(queryDTO);
//琛ュ叏鏁版嵁
- if (ArrayUtil.isEmpty(companyAgingVo.toArray())){
+ if (CollUtil.isEmpty(companyAgingVo)){
companyAgingVo = new ArrayList<>();
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
@@ -611,27 +611,27 @@
companyAgingVo.add(agingVo6);
}else {
List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
- if (!ArrayUtil.contains(overdueRanges.toArray(),"0-30澶�")){
+ if (!CollUtil.contains(overdueRanges,"0-30澶�")){
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"31-60澶�")){
+ if (!CollUtil.contains(overdueRanges,"31-60澶�")){
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo2);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"61-90澶�")){
+ if (!CollUtil.contains(overdueRanges,"61-90澶�")){
AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo3);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"91-180澶�")){
+ if (!CollUtil.contains(overdueRanges,"91-180澶�")){
AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo4);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"181-365澶�")){
+ if (!CollUtil.contains(overdueRanges,"181-365澶�")){
AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo5);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"1骞翠互涓�")){
+ if (!CollUtil.contains(overdueRanges,"1骞翠互涓�")){
AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo6);
}
@@ -692,7 +692,7 @@
queryDTO.setCompanyId(dept.getDeptId());
List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotalInvoice(queryDTO);
//琛ュ叏鏁版嵁
- if (ArrayUtil.isEmpty(companyAgingVo.toArray())){
+ if (CollUtil.isEmpty(companyAgingVo)){
companyAgingVo = new ArrayList<>();
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
@@ -708,27 +708,27 @@
companyAgingVo.add(agingVo6);
}else {
List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
- if (!ArrayUtil.contains(overdueRanges.toArray(),"0-30澶�")){
+ if (!CollUtil.contains(overdueRanges,"0-30澶�")){
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"31-60澶�")){
+ if (!CollUtil.contains(overdueRanges,"31-60澶�")){
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo2);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"61-90澶�")){
+ if (!CollUtil.contains(overdueRanges,"61-90澶�")){
AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo3);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"91-180澶�")){
+ if (!CollUtil.contains(overdueRanges,"91-180澶�")){
AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo4);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"181-365澶�")){
+ if (!CollUtil.contains(overdueRanges,"181-365澶�")){
AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo5);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"1骞翠互涓�")){
+ if (!CollUtil.contains(overdueRanges,"1骞翠互涓�")){
AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo6);
}
@@ -775,7 +775,7 @@
public R agingAnalysisByMarket(AnalysisCommonDTO commonDTO) {
R<List<SysDictItem>> r = remoteDictService.getDictByType("market_type");
List<SysDictItem> items = r.getData();
- if (ArrayUtil.isEmpty(items.toArray())){
+ if (CollUtil.isEmpty(items)){
return R.failed("甯傚満绫诲瀷瀛楀吀鍒嗙被鑾峰彇寮傚父");
}
List<AgingAnalysisVo> result = new ArrayList<>();
@@ -787,7 +787,7 @@
queryDTO.setClassId(item.getItemValue());
List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotal(queryDTO);
//琛ュ叏鏁版嵁
- if (ArrayUtil.isEmpty(companyAgingVo.toArray())){
+ if (CollUtil.isEmpty(companyAgingVo)){
companyAgingVo = new ArrayList<>();
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
@@ -803,27 +803,27 @@
companyAgingVo.add(agingVo6);
}else {
List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
- if (!ArrayUtil.contains(overdueRanges.toArray(),"0-30澶�")){
+ if (!CollUtil.contains(overdueRanges,"0-30澶�")){
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"31-60澶�")){
+ if (!CollUtil.contains(overdueRanges,"31-60澶�")){
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo2);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"61-90澶�")){
+ if (!CollUtil.contains(overdueRanges,"61-90澶�")){
AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo3);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"91-180澶�")){
+ if (!CollUtil.contains(overdueRanges,"91-180澶�")){
AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo4);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"181-365澶�")){
+ if (!CollUtil.contains(overdueRanges,"181-365澶�")){
AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo5);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"1骞翠互涓�")){
+ if (!CollUtil.contains(overdueRanges,"1骞翠互涓�")){
AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo6);
}
@@ -886,7 +886,7 @@
queryDTO.setCompanyId(dept.getDeptId());
List<AgingVo> companyAgingVo = contractPaymentScheduleMapper.selectAgingTotalScale(queryDTO);
//琛ュ叏鏁版嵁
- if (ArrayUtil.isEmpty(companyAgingVo.toArray())){
+ if (CollUtil.isEmpty(companyAgingVo)){
companyAgingVo = new ArrayList<>();
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
@@ -902,27 +902,27 @@
companyAgingVo.add(agingVo6);
}else {
List<String> overdueRanges = companyAgingVo.stream().map(AgingVo::getOverdueRange).collect(Collectors.toList());
- if (!ArrayUtil.contains(overdueRanges.toArray(),"0-30澶�")){
+ if (!CollUtil.contains(overdueRanges,"0-30澶�")){
AgingVo agingVo1 = new AgingVo(1L,"0-30澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo1);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"31-60澶�")){
+ if (!CollUtil.contains(overdueRanges,"31-60澶�")){
AgingVo agingVo2 = new AgingVo(2L,"31-60澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo2);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"61-90澶�")){
+ if (!CollUtil.contains(overdueRanges,"61-90澶�")){
AgingVo agingVo3 = new AgingVo(3L,"61-90澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo3);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"91-180澶�")){
+ if (!CollUtil.contains(overdueRanges,"91-180澶�")){
AgingVo agingVo4 = new AgingVo(4L,"91-180澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo4);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"181-365澶�")){
+ if (!CollUtil.contains(overdueRanges,"181-365澶�")){
AgingVo agingVo5 = new AgingVo(5L,"181-365澶�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo5);
}
- if (!ArrayUtil.contains(overdueRanges.toArray(),"1骞翠互涓�")){
+ if (!CollUtil.contains(overdueRanges,"1骞翠互涓�")){
AgingVo agingVo6 = new AgingVo(6L,"1骞翠互涓�",new BigDecimal("0"),null);
companyAgingVo.add(agingVo6);
}
diff --git a/platformx-business-finance-biz/src/main/resources/mapper/BankStatementItemMapper.xml b/platformx-business-finance-biz/src/main/resources/mapper/BankStatementItemMapper.xml
new file mode 100644
index 0000000..d903ce5
--- /dev/null
+++ b/platformx-business-finance-biz/src/main/resources/mapper/BankStatementItemMapper.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.by4cloud.platformx.business.mapper.BankStatementItemMapper">
+
+ <resultMap id="bankStatementItemMap" type="com.by4cloud.platformx.business.entity.BankStatementItem">
+ <id property="id" column="id"/>
+ <result property="compId" column="comp_id"/>
+ <result property="bankSeqNo" column="bank_seq_no"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="delFlag" column="del_flag"/>
+ </resultMap>
+</mapper>
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/resources/mapper/ContractInvoiceMapper.xml b/platformx-business-finance-biz/src/main/resources/mapper/ContractInvoiceMapper.xml
index 767a077..20efb7b 100644
--- a/platformx-business-finance-biz/src/main/resources/mapper/ContractInvoiceMapper.xml
+++ b/platformx-business-finance-biz/src/main/resources/mapper/ContractInvoiceMapper.xml
@@ -3,535 +3,425 @@
<mapper namespace="com.by4cloud.platformx.business.mapper.ContractInvoiceMapper">
- <resultMap id="ContractInvoiceMap" type="com.by4cloud.platformx.business.entity.ContractInvoice">
- <id property="id" column="id"/>
- <result property="compId" column="comp_id"/>
- <result property="contractId" column="contract_id"/>
- <result property="invoicePrice" column="invoice_total_price_tax"/>
- <result property="invoiceTime" column="invoice_time"/>
- <result property="invoicePath" column="invoice_path"/>
- <result property="invoiceCategory" column="invoice_category"/>
- <result property="redReversal" column="red_reversal"/>
- <result property="createBy" column="create_by"/>
- <result property="createTime" column="create_time"/>
- <result property="updateBy" column="update_by"/>
- <result property="updateTime" column="update_time"/>
- <result property="delFlag" column="del_flag"/>
- </resultMap>
- <select id="homeZbjt" resultType="com.by4cloud.platformx.business.vo.HomeZbjtVo">
- SELECT
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056556196124250113
- AND ci.invoice_time >= CURDATE()
- AND ci.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )) sgbbr,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056556196124250113
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) sgbby,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056556196124250113
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) sgbbn,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056555602756063234
- AND ci.invoice_time >= CURDATE()
- AND ci.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )) smjbr,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056555602756063234
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) smjby,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056555602756063234
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) smjbn,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056556317461270529
- AND ci.invoice_time >= CURDATE()
- AND ci.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )) jxcbr,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056556317461270529
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) jxcby,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056556317461270529
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) jxcbn,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056556421857497090
- AND ci.invoice_time >= CURDATE()
- AND ci.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )) tfbr,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056556421857497090
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) tfby,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056556421857497090
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) tfbn,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056556535640576002
- AND ci.invoice_time >= CURDATE()
- AND ci.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )) ymjbr,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056556535640576002
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) ymjby,
- (
- SELECT
- sum(ci.invoice_total_price_tax)
- FROM
- contract_invoice ci
- WHERE
- ci.del_flag = '0'
- AND comp_id = 2056556535640576002
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) ymjbn
+ <resultMap id="ContractInvoiceMap" type="com.by4cloud.platformx.business.entity.ContractInvoice">
+ <id property="id" column="id"/>
+ <result property="compId" column="comp_id"/>
+ <result property="contractId" column="contract_id"/>
+ <result property="invoicePrice" column="invoice_total_price_tax"/>
+ <result property="invoiceTime" column="invoice_time"/>
+ <result property="invoicePath" column="invoice_path"/>
+ <result property="invoiceCategory" column="invoice_category"/>
+ <result property="redReversal" column="red_reversal"/>
+ <result property="createBy" column="create_by"/>
+ <result property="createTime" column="create_time"/>
+ <result property="updateBy" column="update_by"/>
+ <result property="updateTime" column="update_time"/>
+ <result property="delFlag" column="del_flag"/>
+ </resultMap>
+ <select id="homeZbjt" resultType="com.by4cloud.platformx.business.vo.HomeZbjtVo">
+ SELECT (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056556196124250113
+ AND ci.invoice_time >= CURDATE()
+ AND ci.invoice_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY )) sgbbr,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056556196124250113
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) sgbby,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056556196124250113
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-01-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01')) sgbbn,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056555602756063234
+ AND ci.invoice_time >= CURDATE()
+ AND ci.invoice_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY )) smjbr,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056555602756063234
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) smjby,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056555602756063234
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-01-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01')) smjbn,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056556317461270529
+ AND ci.invoice_time >= CURDATE()
+ AND ci.invoice_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY )) jxcbr,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056556317461270529
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) jxcby,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056556317461270529
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-01-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01')) jxcbn,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056556421857497090
+ AND ci.invoice_time >= CURDATE()
+ AND ci.invoice_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY )) tfbr,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056556421857497090
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) tfby,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056556421857497090
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-01-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01')) tfbn,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056556535640576002
+ AND ci.invoice_time >= CURDATE()
+ AND ci.invoice_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY )) ymjbr,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056556535640576002
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) ymjby,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci
+ WHERE ci.del_flag = '0'
+ AND comp_id = 2056556535640576002
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-01-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01')) ymjbn
</select>
- <select id="homeZgs" resultType="com.by4cloud.platformx.business.vo.HomeZgsVo">
- SELECT
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '2'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= CURDATE()
- AND ci.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )) hbbr,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '2'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) hbby,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '2'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) hbbn,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '6'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= CURDATE()
- AND ci.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )) xbbr,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '6'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) xbby,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '2'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) xbbn,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '1'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= CURDATE()
- AND ci.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )) dbbr,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '1'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) dbby,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '1'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) dbbn,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '3'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= CURDATE()
- AND ci.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )) hdbr,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '3'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) hdby,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '3'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) hdbn,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '4'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= CURDATE()
- AND ci.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )) znbr,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '4'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) znby,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '4'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) znbn,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '5'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= CURDATE()
- AND ci.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )) xnbr,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '5'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) xnby,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '5'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) xnbn,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.export_service_attr = '2'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= CURDATE()
- AND ci.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )) hwbr,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.export_service_attr = '2'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-%m-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01' )) hwby,
- (
- SELECT
- sum( ci.invoice_total_price_tax )
- FROM
- contract_invoice ci,
- contract c,
- business_customer bc
- WHERE
- ci.del_flag = '0'
- AND bc.del_flag = '0'
- AND c.del_flag = '0'
- AND ci.contract_id = c.id
- AND bc.id = c.party_a_id
- AND bc.area_id = '2'
- AND ci.comp_id = #{compId}
- AND ci.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND ci.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )) hwbn
+ <select id="homeZgs" resultType="com.by4cloud.platformx.business.vo.HomeZgsVo">
+ SELECT (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '2'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= CURDATE()
+ AND ci.invoice_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY )) hbbr,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '2'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) hbby,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '2'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-01-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01')) hbbn,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '6'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= CURDATE()
+ AND ci.invoice_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY )) xbbr,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '6'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) xbby,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '2'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-01-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01')) xbbn,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '1'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= CURDATE()
+ AND ci.invoice_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY )) dbbr,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '1'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) dbby,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '1'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-01-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01')) dbbn,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '3'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= CURDATE()
+ AND ci.invoice_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY )) hdbr,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '3'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) hdby,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '3'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-01-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01')) hdbn,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '4'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= CURDATE()
+ AND ci.invoice_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY )) znbr,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '4'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) znby,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '4'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-01-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01')) znbn,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '5'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= CURDATE()
+ AND ci.invoice_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY )) xnbr,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '5'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) xnby,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '5'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-01-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01')) xnbn,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.export_service_attr = '2'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= CURDATE()
+ AND ci.invoice_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY )) hwbr,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.export_service_attr = '2'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-%m-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 MONTH ), '%Y-%m-01')) hwby,
+ (
+ SELECT sum(ci.invoice_total_price_tax)
+ FROM contract_invoice ci,
+ contract c,
+ business_customer bc
+ WHERE ci.del_flag = '0'
+ AND bc.del_flag = '0'
+ AND c.del_flag = '0'
+ AND ci.contract_id = c.id
+ AND bc.id = c.party_a_id
+ AND bc.area_id = '2'
+ AND ci.comp_id = #{compId}
+ AND ci.invoice_time >= DATE_FORMAT(CURDATE(), '%Y-01-01')
+ AND ci.invoice_time < DATE_FORMAT(DATE_ADD(CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01')) hwbn
</select>
- <select id="pageInvoice" resultType="com.by4cloud.platformx.business.vo.HomeInvoiceVo">
+ <select id="pageInvoice" resultType="com.by4cloud.platformx.business.vo.HomeInvoiceVo">
SELECT
t.id,
t.contract_id,
@@ -572,10 +462,10 @@
WHERE
t.del_flag = '0'
<if test="queryDTO.queryCompId !=null and queryDTO.queryCompId !=''">
- AND t.comp_id = #{queryDTO.queryCompId}
+ AND t.comp_id = #{queryDTO.queryCompId}
</if>
<if test="queryDTO.invoiceCategory !=null and queryDTO.invoiceCategory !=''">
- AND t.invoice_category = #{queryDTO.invoiceCategory}
+ AND t.invoice_category = #{queryDTO.invoiceCategory}
</if>
<if test="queryDTO.contractNo !=null and queryDTO.contractNo !=''">
AND t1.contract_no LIKE CONCAT('%', #{queryDTO.contractNo}, '%')
@@ -584,103 +474,104 @@
AND t2.company_name LIKE CONCAT('%', #{queryDTO.partyA}, '%')
</if>
<if test="queryDTO.queryArea !=null and queryDTO.queryArea !=''">
- AND t2.class_id = #{queryDTO.queryArea}
+ AND t2.class_id = #{queryDTO.queryArea}
</if>
<if test="queryDTO.queryServiceAttr !=null and queryDTO.queryServiceAttr !=''">
- AND t2.export_service_attr = #{queryDTO.queryServiceAttr}
+ AND t2.export_service_attr = #{queryDTO.queryServiceAttr}
</if>
<if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='1'.toString()">
- AND t.invoice_time >= CURDATE()
- AND t.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )
+ AND t.invoice_time >= CURDATE()
+ AND t.invoice_time < DATE_ADD( CURDATE(), INTERVAL 1 DAY )
</if>
<if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='2'.toString()">
- AND t.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND t.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )
+ AND t.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
+ AND t.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )
</if>
<if test="queryDTO.queryType !=null and queryDTO.queryType !='' and queryDTO.queryType =='3'.toString()">
- AND t.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
- AND t.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )
+ AND t.invoice_time >= DATE_FORMAT( CURDATE(), '%Y-01-01' )
+ AND t.invoice_time < DATE_FORMAT( DATE_ADD( CURDATE(), INTERVAL 1 YEAR ), '%Y-01-01' )
</if>
<if test="queryDTO.startTime !=null and queryDTO.endTime !=null">
- AND t.invoice_time >= #{queryDTO.startTime}
- AND t.invoice_time <= #{queryDTO.endTime}
+ AND t.invoice_time >= #{queryDTO.startTime}
+ AND t.invoice_time <= #{queryDTO.endTime}
</if>
ORDER BY
t.create_time DESC
</select>
- <select id="pageScope" resultType="com.by4cloud.platformx.business.vo.ContractInvoicePageVo">
+ <select id="pageScope" resultType="com.by4cloud.platformx.business.vo.ContractInvoicePageVo">
SELECT
- id,
- contract_no,
- contract_name,
- party_a_id,
- party_a,
- party_b_id,
- party_b,
- amount,
- currency,
- contract_type,
- supply_attribute,
- contract_status,
- contract_attribute,
- sign_date,
- sign_place,
- effective_date,
- delivery_cycle,
- expiration_date,
- attachment_url,
- remark,
- parent_id,
- approve_time,
- arrival_schedule_id,
- accept_schedule_id,
- warranty_schedule_id,
- erp_push_flag,
- billing_status,
- billing_amout,
- next_schedule_name,
- template_id,
- sales_model,
- paid_amount,
- contract_category,
- exec_frequency,
- exec_times,
- exec_day,
- environment,
- standard,
- use_month,
- after_ship_month,
- ship_method,
- ship_address,
- packaging,
- repair_period,
- repair_breach_amount,
- goods_short,
- goods_short_breach_amount,
- overdue_breach_amount,
- terminate_contract,
- court,
- contract_attchment,
- city,
- region,
- invoice_notice,
- contract_tax,
- economic_matters,
- erp_contract_no,
- data_id,
- industry_code,
- area_code,
- create_by,
- update_by,
- create_time,
- update_time,
- del_flag,
- comp_id,
- (select count(1) from contract_invoice ci where ci.del_flag = '0' and ci.contract_id = c.id) invoiceNum
+ id,
+ contract_no,
+ contract_name,
+ party_a_id,
+ party_a,
+ party_b_id,
+ party_b,
+ amount,
+ currency,
+ contract_type,
+ supply_attribute,
+ contract_status,
+ contract_attribute,
+ sign_date,
+ sign_place,
+ effective_date,
+ delivery_cycle,
+ expiration_date,
+ attachment_url,
+ remark,
+ parent_id,
+ approve_time,
+ arrival_schedule_id,
+ accept_schedule_id,
+ warranty_schedule_id,
+ erp_push_flag,
+ billing_status,
+ billing_amout,
+ next_schedule_name,
+ template_id,
+ sales_model,
+ paid_amount,
+ contract_category,
+ exec_frequency,
+ exec_times,
+ exec_day,
+ environment,
+ standard,
+ use_month,
+ after_ship_month,
+ ship_method,
+ ship_address,
+ packaging,
+ repair_period,
+ repair_breach_amount,
+ goods_short,
+ goods_short_breach_amount,
+ overdue_breach_amount,
+ terminate_contract,
+ court,
+ contract_attchment,
+ city,
+ region,
+ invoice_notice,
+ contract_tax,
+ economic_matters,
+ erp_contract_no,
+ data_id,
+ industry_code,
+ area_code,
+ create_by,
+ update_by,
+ create_time,
+ update_time,
+ del_flag,
+ comp_id,
+ (select count(1) from contract_invoice ci where ci.del_flag = '0' and ci.contract_id = c.id) invoiceNum,
+ (select planned_amount from contract_payment_schedule cps where cps.del_flag='0' and cps.stage_name='鍚堝悓绛捐' and cps.contract_id = c.id) advanceAmount
FROM
- contract c
+ contract c
WHERE
- del_flag = '0'
+ del_flag = '0'
<if test="queryDTO.contractNo !=null and queryDTO.contractNo !=''">
AND contract_no LIKE CONCAT('%', #{queryDTO.contractNo}, '%')
</if>
@@ -690,7 +581,13 @@
<if test="queryDTO.billingStatus !=null and queryDTO.billingStatus !=''">
AND billing_status = #{queryDTO.billingStatus}
</if>
+ <if test="queryDTO.advanceType !=null and queryDTO.advanceType !=''">
+ AND exists (select * from contract_payment_schedule cps where cps.del_flag='0' and
+ cps.stage_name='鍚堝悓绛捐' and cps.payment_ratio > 0 and cps.contract_id = c.id)
+ AND not exists (select * from contract_out_bound cps where cps.del_flag='0' and
+ cps.contract_id = c.id)
+ </if>
ORDER BY
- create_time ASC
+ create_time ASC
</select>
</mapper>
\ No newline at end of file
diff --git a/platformx-business-finance-biz/src/main/resources/mapper/ProductMapper.xml b/platformx-business-finance-biz/src/main/resources/mapper/ProductMapper.xml
index e9319cd..ca39318 100644
--- a/platformx-business-finance-biz/src/main/resources/mapper/ProductMapper.xml
+++ b/platformx-business-finance-biz/src/main/resources/mapper/ProductMapper.xml
@@ -66,7 +66,8 @@
WHERE
del_flag = '0'
<if test="queryDTO.productName !=null and queryDTO.productName !=''">
- and t.product_name LIKE CONCAT('%', #{queryDTO.productName}, '%')
+ and ( t.product_name LIKE CONCAT('%', #{queryDTO.productName}, '%') or
+ t.erp_code LIKE CONCAT('%', #{queryDTO.productName}, '%'))
</if>
<if test="queryDTO.parentId !=null ">
and t.parent_id = #{queryDTO.parentId}
--
Gitblit v1.9.1