diff --git a/ServiceSiteCommon/facade/src/main/java/com/seasky/template/web/dto/result/companyDept/CompanyOut.java b/ServiceSiteCommon/facade/src/main/java/com/seasky/template/web/dto/result/companyDept/CompanyOut.java
index 6f44713bb2eff141010f0355990e0243beb64501..6e2bb5c9fa215c89b5086b92be38a40ea7d53067 100644
--- a/ServiceSiteCommon/facade/src/main/java/com/seasky/template/web/dto/result/companyDept/CompanyOut.java
+++ b/ServiceSiteCommon/facade/src/main/java/com/seasky/template/web/dto/result/companyDept/CompanyOut.java
@@ -42,6 +42,9 @@ public class CompanyOut implements Serializable {
     @ApiModelProperty(value = "鎵ц鐜�")
     private String implementRate;
 
+    @ApiModelProperty(value = "鎵ц鐜嘾ouble")
+    private Double newImplementRate;
+
     @ApiModelProperty(value = "娓呭崟鏁伴噺")
     private Integer listCount;
 }
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 c7f844244dddcd745952e9d4e2254ffe6c1dfc80..a80a02b738e62558c9091e013bca0da0e9d5a130 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
@@ -198,7 +198,13 @@ public class OfficialBusinessServiceImpl implements OfficialBusinessService {
         //灏�2.3.1涓煡璇㈠嚭鐨勫悇閮ㄩ棬鏁版嵁杩涜澶勭悊寰楀埌閮ㄩ棬鏁版嵁${detailList}(閮ㄩ棬缂栧彿 閮ㄩ棬鍚嶇О 閮ㄩ棬璋冩暣鍚庨绠� 閮ㄩ棬鏀嚭 鎵ц鐜�)
         List<CostPo> costPoList = JSONArray.parseArray(data, CostPo.class);
         if (ObjectUtils.isEmpty(costPoList)){
-            officialBusinessMapper.insert(new OfficialBusinessPo(companyPo.getCompanyName(),fundTypeEnum.getIndex(),year,new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),new BigDecimal(0),"[]"));
+            List<OfficialBusinessPo> officialBusinessPoList0 = officialBusinessMapper.selectList(new QueryWrapper<OfficialBusinessPo>().eq("company_name", companyPo.getCompanyName()).eq("year", year).eq("fund_type", fundTypeEnum.getIndex()));
+            OfficialBusinessPo officialBusinessPo9 = new OfficialBusinessPo(companyPo.getCompanyName(), fundTypeEnum.getIndex(), year, new BigDecimal(0), new BigDecimal(0), new BigDecimal(0), new BigDecimal(0), new BigDecimal(0), "[]");
+            if (ObjectUtils.isEmpty(officialBusinessPoList0)){
+                officialBusinessMapper.insert(officialBusinessPo9);
+            }else {
+                officialBusinessMapper.update(officialBusinessPo9,new QueryWrapper<OfficialBusinessPo>().eq("company_name", companyPo.getCompanyName()).eq("year", year).eq("fund_type", fundTypeEnum.getIndex()));
+            }
         }else {
             for (CostPo costPo : costPoList) {
                 costPo.setChangedAppropAmount();
diff --git a/ServiceSiteCommon/src/main/java/com/seasky/template/business/service/TaskListServiceImpl.java b/ServiceSiteCommon/src/main/java/com/seasky/template/business/service/TaskListServiceImpl.java
index 913fe33da99d5634cba52973b002498ecba0d044..fbaaadf8b3c309edc80ae4f5e306ead6c14cad5b 100644
--- a/ServiceSiteCommon/src/main/java/com/seasky/template/business/service/TaskListServiceImpl.java
+++ b/ServiceSiteCommon/src/main/java/com/seasky/template/business/service/TaskListServiceImpl.java
@@ -115,7 +115,17 @@ public class TaskListServiceImpl implements TaskListService {
                 BigDecimal expendTotal =  taskListPoList.stream().map(TaskListPo::getExpendTotal).reduce(BigDecimal.ZERO, BigDecimal::add).divide(ratio,2, RoundingMode.HALF_UP);
                 Integer alllistCount = companyOutList.stream().map(e -> e.getListCount()).reduce(Integer::sum).get();
                 //鑾峰彇鎵ц鐜�
-                companyOutList.sort(Comparator.comparing(CompanyOut::getImplementRate));
+                //鎺掑簭
+                String regEx = "%";
+                String aa = "";
+                for (CompanyOut companyOut : companyOutList) {
+                    Double newImplement = Double.parseDouble(companyOut.getImplementRate().replaceAll(regEx,aa));
+                    companyOut.setNewImplementRate(newImplement);
+                }
+                companyOutList.sort(Comparator.comparing(CompanyOut::getNewImplementRate));
+
+
+
                 String implementRate = percent.format(new BigDecimal(0));
                 if (expendTotal.compareTo(BigDecimal.ZERO)==0 || changedBudgetTotal.compareTo(BigDecimal.ZERO)==0){
                     flag = true;