diff --git a/ServiceSiteCommon/src/main/java/com/seasky/template/business/service/OfficialBusinessServiceImpl.java b/ServiceSiteCommon/src/main/java/com/seasky/template/business/service/OfficialBusinessServiceImpl.java
index b3d9c60b33cc59cc2efad2cc4a0a6bcab57700e4..f7b09ab4234cf92cee355d72e2b40736715c554a 100644
--- a/ServiceSiteCommon/src/main/java/com/seasky/template/business/service/OfficialBusinessServiceImpl.java
+++ b/ServiceSiteCommon/src/main/java/com/seasky/template/business/service/OfficialBusinessServiceImpl.java
@@ -228,17 +228,30 @@ public class OfficialBusinessServiceImpl implements OfficialBusinessService {
             meetingPo.setUsedAmount(new BigDecimal(0));
             meetingPo.setChangeControlAmount(new BigDecimal(0));
             //鍚堝苟澶勭悊
-            if (meetingList.size()> 1){
+            if (meetingList.size() != 0){
                 for (CostPo costPo : meetingList) {
                     meetingPo.setChangeControlAmount(ObjectUtils.isEmpty(costPo.getChangeControlAmount())?new BigDecimal(0):meetingPo.getChangeControlAmount().add(costPo.getChangeControlAmount()));
                     meetingPo.setUsedAmount(ObjectUtils.isEmpty(costPo.getUsedAmount())?new BigDecimal(0):meetingPo.getUsedAmount().add(costPo.getUsedAmount()));
                     meetingPo.setControlAmount(ObjectUtils.isEmpty(costPo.getControlAmount())?new BigDecimal(0):meetingPo.getControlAmount().add(costPo.getControlAmount()));
                 }
-            }else {
-                meetingPo = meetingList.get(0);
             }
-            //
-            costPoList.add(meetingPo);
+            //鏇挎崲
+            Boolean flag = false;
+            for (CostPo costPo : costPoList) {
+                if ("浼氳璐�".equals(costPo.getControlsName())){
+                    flag = true;
+                    costPo.setUsedAmount(meetingPo.getUsedAmount());
+                    costPo.setChangeControlAmount(meetingPo.getChangeControlAmount());
+                    costPo.setControlAmount(meetingPo.getControlAmount());
+                }
+            }
+            BigDecimal add = meetingPo.getUsedAmount().add(meetingPo.getControlAmount().add(meetingPo.getChangeControlAmount()));
+            if (!flag){
+                costPoList.add(meetingPo);
+                if ("[]".equals(data) && (add.compareTo(BigDecimal.ZERO)==0)){
+                    costPoList = null;
+                }
+            }
         }
         if (ObjectUtils.isNotEmpty(costPoList)){
             String newData = JSONArray.toJSONString(costPoList);