Преглед на файлове

回款登记子项目问题修改

yewc преди 9 месеца
родител
ревизия
d7ff804b2d
променени са 1 файла, в които са добавени 18 реда и са изтрити 15 реда
  1. 18 15
      zjugis-business/src/main/java/com/zjugis/business/service/impl/ContractReturnMoneyServiceImpl.java

+ 18 - 15
zjugis-business/src/main/java/com/zjugis/business/service/impl/ContractReturnMoneyServiceImpl.java

@@ -78,27 +78,30 @@ public class ContractReturnMoneyServiceImpl implements ContractReturnMoneyServic
         if(contractReturnMoney.getRelationList() != null && !contractReturnMoney.getRelationList().isEmpty()){
             contractInvoiceRelationService.updateAmount(contractReturnMoney.getRelationList());
         }
-        for(ContractInvoiceRelation list: contractReturnMoney.getRelationList()){
-            Contract contract = contractService.selectByPrimaryKey(list.getContractId());
-            if(StringUtils.isNotBlank(contract.getProjectId())) {
-                projectService.calcProject(contract.getProjectId());
-                projectService.updateProjectAmount(contract.getProjectId(),list.getContractId());
+        if(contractReturnMoney.getRelationList()!=null){
+            for(ContractInvoiceRelation list: contractReturnMoney.getRelationList()){
+                Contract contract = contractService.selectByPrimaryKey(list.getContractId());
+                if(StringUtils.isNotBlank(contract.getProjectId())) {
+                    projectService.calcProject(contract.getProjectId());
+                    projectService.updateProjectAmount(contract.getProjectId(),list.getContractId());
+                }
             }
         }
-
         contractInvoiceService.updateAmountStatus(contractReturnMoney.getContractInvoiceId());
         contractService.updateAmountStatus(contractReturnMoney.getContractId());
         if(!"冲红".equals(contractReturnMoney.getBz())){
             BigDecimal sum=BigDecimal.ZERO;
-            for(ContractInvoiceRelation list: contractReturnMoney.getRelationList()){
-                sum=sum.add(list.getInvoiceAmount());
-            }
-            BigDecimal returnAmount=contractReturnMoney.getReturnAmount();
-            for(ContractInvoiceRelation list: contractReturnMoney.getRelationList()){
-                //获取主项目和子项目
-                contractReturnMoney.setReturnAmount(returnAmount.divide(sum,10, RoundingMode.HALF_UP).multiply(list.getInvoiceAmount()));
-                contractReturnMoney.setContractId(list.getContractId());
-                contractMessageService.addByReturnMoney(contractReturnMoney);
+            if(contractReturnMoney.getRelationList()!=null){
+                for(ContractInvoiceRelation list: contractReturnMoney.getRelationList()){
+                    sum=sum.add(list.getInvoiceAmount());
+                }
+                BigDecimal returnAmount=contractReturnMoney.getReturnAmount();
+                for(ContractInvoiceRelation list: contractReturnMoney.getRelationList()){
+                    //获取主项目和子项目
+                    contractReturnMoney.setReturnAmount(returnAmount.divide(sum,10, RoundingMode.HALF_UP).multiply(list.getInvoiceAmount()));
+                    contractReturnMoney.setContractId(list.getContractId());
+                    contractMessageService.addByReturnMoney(contractReturnMoney);
+                }
             }
         }
         return contractReturnMoney.getId();