Jelajahi Sumber

fix:收款管理导入时判断

ly 9 bulan lalu
induk
melakukan
04f3af645c

+ 4 - 5
src/main/java/cn/ezhizao/project/business/collection/service/impl/BizCollectionServiceImpl.java

@@ -101,7 +101,7 @@ public class BizCollectionServiceImpl extends ServiceImpl<BizCollectionMapper, B
                 failureMsg.append("<br/>").append(failureNum).append("、合同 ").append(item.getContractNo()).append(" 不存在或不是循环合同");
                 continue;
             }
-            if(archiveInput.getTrueAmount().subtract(item.getContractAmount()).compareTo(BigDecimal.ZERO) != 0){
+            if(null == archiveInput.getTrueAmount() && archiveInput.getTrueAmount().subtract(item.getContractAmount()).compareTo(BigDecimal.ZERO) != 0){
                 failureNum++;
                 failureMsg.append("<br/>").append(failureNum).append("、合同 ").append(item.getContractNo()).append("合同总金额不一致");
                 continue;
@@ -141,9 +141,8 @@ public class BizCollectionServiceImpl extends ServiceImpl<BizCollectionMapper, B
                 continue;
             }
             //查询收款记录
-            List<BizCollection> collected = this.query().eq("contract_id", archiveInput.getId()).eq("status", 1).list();
+            List<BizCollection> collected = this.query().eq("contract_id", archiveInput.getId()).eq("status", 1).eq("status", 0).list();
             BigDecimal collectedAmount = BigDecimal.valueOf(collected.stream().mapToDouble(v -> v.getArriveAmount().doubleValue()).sum());
-
             if(item.getAmount().subtract(archiveInput.getTrueAmount().subtract(collectedAmount)).compareTo(BigDecimal.ZERO) >0){
                 failureNum++;
                 failureMsg.append("<br/>").append(failureNum).append("、订单 ").append(item.getContractNo()).append("收款金额不能大于未收款金额");
@@ -266,7 +265,7 @@ public class BizCollectionServiceImpl extends ServiceImpl<BizCollectionMapper, B
                 failureMsg.append("<br/>").append(failureNum).append("、合同 ").append(item.getContractNo()).append(" 不存在或不是单次合同");
                 continue;
             }
-            if(archiveInput.getTrueAmount().subtract(item.getContractAmount()).compareTo(BigDecimal.ZERO) != 0){
+            if(null == archiveInput.getTrueAmount() && archiveInput.getTrueAmount().subtract(item.getContractAmount()).compareTo(BigDecimal.ZERO) != 0){
                 failureNum++;
                 failureMsg.append("<br/>").append(failureNum).append("、合同 ").append(item.getContractNo()).append("合同总金额不一致");
                 continue;
@@ -312,7 +311,7 @@ public class BizCollectionServiceImpl extends ServiceImpl<BizCollectionMapper, B
 //                continue;
 //            }
 
-            List<BizCollection> collected = this.query().eq("contract_id", archiveInput.getId()).eq("status", 1).list();
+            List<BizCollection> collected = this.query().eq("contract_id", archiveInput.getId()).eq("status", 1).eq("status", 0).list();
             BigDecimal collectedAmount = BigDecimal.valueOf(collected.stream().mapToDouble(v -> v.getArriveAmount().doubleValue()).sum());
 
             if(item.getAmount().subtract(archiveInput.getTrueAmount().subtract(collectedAmount)).compareTo(BigDecimal.ZERO) >0){