Explorar o código

fix:收款管理页面导入修改

ly hai 9 meses
pai
achega
3c3901b26b

+ 13 - 9
src/main/java/cn/ezhizao/project/business/collection/service/impl/BizCollectionServiceImpl.java

@@ -97,13 +97,13 @@ public class BizCollectionServiceImpl extends ServiceImpl<BizCollectionMapper, B
         StringBuilder failureMsg = new StringBuilder();
         for (CollectionExcelLoopModel item: collects) {
             // 获取合同信息
-            BizArchiveInput archiveInput = archiveInputService.query().eq("contract_no", item.getContractNo()).eq("service_type",1).eq("tenant_id", tenantId).list().stream().findFirst().orElse(null);
+            BizArchiveInput archiveInput = archiveInputService.query().eq("contract_no", item.getContractNo()).eq("from_id",0).eq("service_type",1).eq("tenant_id", tenantId).list().stream().findFirst().orElse(null);
             if (archiveInput == null) {
                 failureNum++;
                 failureMsg.append("<br/>").append(failureNum).append("、合同 ").append(item.getContractNo()).append(" 不存在或不是循环合同");
                 continue;
             }
-            if(null == archiveInput.getTrueAmount() && archiveInput.getTrueAmount().subtract(item.getContractAmount()).compareTo(BigDecimal.ZERO) != 0){
+            if(null == archiveInput.getTrueAmount() ||null ==item.getContractAmount() || archiveInput.getTrueAmount().subtract(item.getContractAmount()).compareTo(BigDecimal.ZERO) != 0){
                 failureNum++;
                 failureMsg.append("<br/>").append(failureNum).append("、合同 ").append(item.getContractNo()).append("合同总金额不一致");
                 continue;
@@ -148,9 +148,9 @@ public class BizCollectionServiceImpl extends ServiceImpl<BizCollectionMapper, B
             wrapper.and(con -> con.eq(BizCollection::getStatus, 0).or().eq(BizCollection::getStatus, 1));
             List<BizCollection> collected = this.list(wrapper);
             BigDecimal collectedAmount = BigDecimal.valueOf(collected.stream().mapToDouble(v -> v.getArriveAmount().doubleValue()).sum());
-            if(null == item.getAmount() && item.getAmount().subtract(archiveInput.getTrueAmount().subtract(collectedAmount)).compareTo(BigDecimal.ZERO) >0){
+            if(null == item.getAmount() ||  null == archiveInput.getTrueAmount() ||item.getAmount().subtract(archiveInput.getTrueAmount().subtract(collectedAmount)).compareTo(BigDecimal.ZERO) >0){
                 failureNum++;
-                failureMsg.append("<br/>").append(failureNum).append("、订单 ").append(item.getContractNo()).append("收款金额不能大于未收款金额");
+                failureMsg.append("<br/>").append(failureNum).append("、订单 ").append(item.getContractNo()).append("系统内存在收款或收款金额不能大于未收款金额");
                 continue;
             }
 
@@ -263,14 +263,14 @@ public class BizCollectionServiceImpl extends ServiceImpl<BizCollectionMapper, B
         StringBuilder failureMsg = new StringBuilder();
         for (CollectionExcelOnceModel item: collects) {
             // 获取合同信息
-            BizArchiveInput archiveInput = archiveInputService.query().eq("contract_no", item.getContractNo()).eq("service_type",2).eq("tenant_id", tenantId).list().stream().findFirst().orElse(null);
+            BizArchiveInput archiveInput = archiveInputService.query().eq("contract_no", item.getContractNo()).eq("from_id",0).eq("service_type",2).eq("tenant_id", tenantId).list().stream().findFirst().orElse(null);
 
             if (archiveInput == null) {
                 failureNum++;
                 failureMsg.append("<br/>").append(failureNum).append("、合同 ").append(item.getContractNo()).append(" 不存在或不是单次合同");
                 continue;
             }
-            if(null == archiveInput.getTrueAmount() && archiveInput.getTrueAmount().subtract(item.getContractAmount()).compareTo(BigDecimal.ZERO) != 0){
+            if(null == archiveInput.getTrueAmount() ||null == item.getContractAmount() || archiveInput.getTrueAmount().subtract(item.getContractAmount()).compareTo(BigDecimal.ZERO) != 0){
                 failureNum++;
                 failureMsg.append("<br/>").append(failureNum).append("、合同 ").append(item.getContractNo()).append("合同总金额不一致");
                 continue;
@@ -315,13 +315,17 @@ public class BizCollectionServiceImpl extends ServiceImpl<BizCollectionMapper, B
 //                failureMsg.append("<br/>").append(failureNum).append("、订单 ").append(item.getContractNo()).append("的没有其他任务");
 //                continue;
 //            }
+            LambdaQueryWrapper<BizCollection> wrapper = new LambdaQueryWrapper<>();
+            wrapper.eq(BizCollection::getContractId, archiveInput.getId());
+            wrapper.eq(BizCollection::getDeleted, 0);
+            wrapper.and(b -> b.eq(BizCollection::getStatus, 0).or().eq(BizCollection::getStatus, 1));
 
-            List<BizCollection> collected = this.query().eq("contract_id", archiveInput.getId()).eq("status", 1).eq("status", 0).list();
+            List<BizCollection> collected = this.list(wrapper);
             BigDecimal collectedAmount = BigDecimal.valueOf(collected.stream().mapToDouble(v -> v.getArriveAmount().doubleValue()).sum());
 
-            if(null == item.getAmount() && item.getAmount().subtract(archiveInput.getTrueAmount().subtract(collectedAmount)).compareTo(BigDecimal.ZERO) >0){
+            if(null == item.getAmount() || null == archiveInput.getTrueAmount()  ||item.getAmount().subtract(archiveInput.getTrueAmount().subtract(collectedAmount)).compareTo(BigDecimal.ZERO) >0){
                 failureNum++;
-                failureMsg.append("<br/>").append(failureNum).append("、订单 ").append(item.getContractNo()).append("收款金额不能大于未收款金额");
+                failureMsg.append("<br/>").append(failureNum).append("、订单 ").append(item.getContractNo()).append("系统内存在收款或收款金额不能大于未收款金额");
                 continue;
             }