Просмотр исходного кода

Merge remote-tracking branch 'origin/dev_jzg_lipf_v20260518' into dev_jzg_lipf_v20260518

lipf 4 месяцев назад
Родитель
Сommit
0c34a9be79

+ 12 - 2
commons/src/main/java/com/jzg/commons/entity/finance/po/InsPlyIncomeInvoiceSettlement.java

@@ -8,6 +8,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 
 import java.io.Serial;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -23,11 +24,18 @@ public class InsPlyIncomeInvoiceSettlement extends BaseModel {
     private String invoiceId;
 
     @Schema(description = "实收金额")
-    private String actualReceivedAmount;
+    private BigDecimal actualReceivedAmount;
 
     @Schema(description = "收款日期")
     private Date receivePaymentDate;
 
+    @Schema(description = "回款差额")
+    private BigDecimal paymentDifference;
+
+    @Schema(description = "回款原因")
+    private String paymentReason;
+
+
     @TableField(exist = false)
     @Schema(description = "凭证")
     private List<String> voucherList;
@@ -36,11 +44,13 @@ public class InsPlyIncomeInvoiceSettlement extends BaseModel {
 
     }
 
-    public InsPlyIncomeInvoiceSettlement(String invoiceId, String actualReceivedAmount,Date receivePaymentDate){
+    public InsPlyIncomeInvoiceSettlement(String invoiceId, BigDecimal actualReceivedAmount,Date receivePaymentDate,BigDecimal paymentDifference,String paymentReason){
         this.id = IdGenerate.nextId();
         this.invoiceId = invoiceId;
         this.actualReceivedAmount = actualReceivedAmount;
         this.receivePaymentDate = receivePaymentDate;
+        this.paymentDifference = paymentDifference;
+        this.paymentReason = paymentReason;
     }
 
 }

+ 7 - 0
commons/src/main/java/com/jzg/commons/entity/finance/vo/SettlementVo.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import java.math.BigDecimal;
 import java.util.List;
 
+
 /**
  * 结算Vo
  */
@@ -22,6 +23,12 @@ public class SettlementVo {
     @Schema(description = "收款日期")
     private String receivePaymentDate;
 
+    @Schema(description = "回款差额")
+    private BigDecimal paymentDifference;
+
+    @Schema(description = "回款原因")
+    private String paymentReason;
+
     @Schema(description = "附加id")
     private List<String> attachmentIds;
 }

+ 4 - 3
tenant/organization/src/main/java/com/jzg/organization/service/impl/ReceivableServiceImpl.java

@@ -639,7 +639,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
         List<InsPlyIncomeInvoiceSettlement> insPlyIncomeInvoiceSettlements = insPlyIncomeInvoiceSettlementMapper.selectList(new LambdaQueryWrapper<InsPlyIncomeInvoiceSettlement>()
                 .eq(InsPlyIncomeInvoiceSettlement::getInvoiceId, invoicingId));
         for (InsPlyIncomeInvoiceSettlement settlement : insPlyIncomeInvoiceSettlements) {
-            ctualReceivedAmount = ctualReceivedAmount.add(new BigDecimal(settlement.getActualReceivedAmount()));
+            ctualReceivedAmount = ctualReceivedAmount.add(settlement.getActualReceivedAmount());
         }
         return ctualReceivedAmount;
     }
@@ -700,7 +700,8 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
 
             // 处理结算数据
             // 未完全结算完成
-            InsPlyIncomeInvoiceSettlement settlement = new InsPlyIncomeInvoiceSettlement(settlementVo.getInvoicingId(), settlementVo.getActualReceivedAmount().toString(), DateTime.now());
+            InsPlyIncomeInvoiceSettlement settlement = new InsPlyIncomeInvoiceSettlement(settlementVo.getInvoicingId(), settlementVo.getActualReceivedAmount(),
+                    DateTime.now(), settlementVo.getPaymentDifference(), settlementVo.getPaymentReason());
             insPlyIncomeInvoiceSettlementMapper.insert(settlement);
 
             if (CollectionUtils.isNotEmpty(settlementVo.getAttachmentIds())) {
@@ -1309,7 +1310,7 @@ public class ReceivableServiceImpl extends ServiceImpl<ReceivableMapper, InsPlyI
                 List<InsPlyIncomeInvoiceSettlement> insPlyIncomeInvoiceSettlements = baseMapper.queryInvoiceSettlementByInvoiceId(action.getId());
                 BigDecimal settlementAmount = insPlyIncomeInvoiceSettlements.stream()
                         .map(InsPlyIncomeInvoiceSettlement::getActualReceivedAmount)
-                        .filter(Objects::nonNull).map(BigDecimal::new)
+                        .filter(Objects::nonNull)
                         .reduce(BigDecimal.ZERO, BigDecimal::add);
                 BigDecimal receivableSupervisePremium = action.getReceivableSupervisePremium()  != null ? action.getReceivableSupervisePremium(): BigDecimal.ZERO;
                 BigDecimal overinflatedAmount = action.getOverinflatedAmount() != null? action.getOverinflatedAmount(): BigDecimal.ZERO;