diff --git a/src/main/java/cn/palmte/work/bean/BudgetBean.java b/src/main/java/cn/palmte/work/bean/BudgetBean.java
index cba21c5..4609f23 100644
--- a/src/main/java/cn/palmte/work/bean/BudgetBean.java
+++ b/src/main/java/cn/palmte/work/bean/BudgetBean.java
@@ -15,6 +15,42 @@ public class BudgetBean extends IncomeCostBean{
      * 总的采购成本含税
      */
     private BigDecimal costPurchaseTotalTaxInclude;
+    /**
+     * 设备收入税金
+     */
+    private BigDecimal incomeDeviceTax;
+    /**
+     * 设施收入税金
+     */
+    private BigDecimal incomeEngineerTax;
+    /**
+     * 服务收入税金
+     */
+    private BigDecimal incomeServiceTax;
+    /**
+     * 总收入税金
+     */
+    private BigDecimal incomeTotalTax;
+    /**
+     * 采购设备成本税金
+     */
+    private BigDecimal costPurchaseDeviceTax;
+    /**
+     * 采购施工成本税金
+     */
+    private BigDecimal costPurchaseBuildTax;
+    /**
+     * 采购服务成本税金
+     */
+    private BigDecimal costPurchaseServiceTax;
+    /**
+     * 采购其他成本含税
+     */
+    private BigDecimal costPurchaseOtherTax;
+    /**
+     * 采购其他成本含税
+     */
+    private BigDecimal costOtherOtherTax;
     /**
      * null就返回0
      */
@@ -38,4 +74,77 @@ public class BudgetBean extends IncomeCostBean{
     public void setCostPurchaseTotalTaxInclude(BigDecimal costPurchaseTotalTaxInclude) {
         this.costPurchaseTotalTaxInclude = costPurchaseTotalTaxInclude;
     }
+
+    public BigDecimal getIncomeDeviceTax() {
+        return incomeDeviceTax;
+    }
+
+    public void setIncomeDeviceTax(BigDecimal incomeDeviceTax) {
+        this.incomeDeviceTax = incomeDeviceTax;
+    }
+
+    public BigDecimal getIncomeEngineerTax() {
+        return incomeEngineerTax;
+    }
+
+    public void setIncomeEngineerTax(BigDecimal incomeEngineerTax) {
+        this.incomeEngineerTax = incomeEngineerTax;
+    }
+
+    public BigDecimal getIncomeServiceTax() {
+        return incomeServiceTax;
+    }
+
+    public void setIncomeServiceTax(BigDecimal incomeServiceTax) {
+        this.incomeServiceTax = incomeServiceTax;
+    }
+
+    @Override
+    public BigDecimal getIncomeTotalTax() {
+        return incomeTotalTax;
+    }
+
+    public void setIncomeTotalTax(BigDecimal incomeTotalTax) {
+        this.incomeTotalTax = incomeTotalTax;
+    }
+
+    public BigDecimal getCostPurchaseDeviceTax() {
+        return costPurchaseDeviceTax;
+    }
+
+    public void setCostPurchaseDeviceTax(BigDecimal costPurchaseDeviceTax) {
+        this.costPurchaseDeviceTax = costPurchaseDeviceTax;
+    }
+
+    public BigDecimal getCostPurchaseBuildTax() {
+        return costPurchaseBuildTax;
+    }
+
+    public void setCostPurchaseBuildTax(BigDecimal costPurchaseBuildTax) {
+        this.costPurchaseBuildTax = costPurchaseBuildTax;
+    }
+
+    public BigDecimal getCostPurchaseServiceTax() {
+        return costPurchaseServiceTax;
+    }
+
+    public void setCostPurchaseServiceTax(BigDecimal costPurchaseServiceTax) {
+        this.costPurchaseServiceTax = costPurchaseServiceTax;
+    }
+
+    public BigDecimal getCostPurchaseOtherTax() {
+        return costPurchaseOtherTax;
+    }
+
+    public void setCostPurchaseOtherTax(BigDecimal costPurchaseOtherTax) {
+        this.costPurchaseOtherTax = costPurchaseOtherTax;
+    }
+
+    public BigDecimal getCostOtherOtherTax() {
+        return costOtherOtherTax;
+    }
+
+    public void setCostOtherOtherTax(BigDecimal costOtherOtherTax) {
+        this.costOtherOtherTax = costOtherOtherTax;
+    }
 }
diff --git a/src/main/java/cn/palmte/work/bean/IncomeCostBean.java b/src/main/java/cn/palmte/work/bean/IncomeCostBean.java
index f2affd9..57a0b25 100644
--- a/src/main/java/cn/palmte/work/bean/IncomeCostBean.java
+++ b/src/main/java/cn/palmte/work/bean/IncomeCostBean.java
@@ -406,6 +406,16 @@ public abstract class IncomeCostBean {
                 .add(incomeServiceTaxExclude);
     }
 
+    /**
+     * 计算所有的成本税金
+     */
+    public BigDecimal getIncomeTotalTax() {
+        if (getIncomeTotalTaxInclude() == null || getIncomeTotalTaxInclude() == null) {
+            return handleSpecial(null);
+        }
+        return getIncomeTotalTaxInclude().subtract(getIncomeTotalTaxInclude());
+    }
+
     /**
      * 计算所有的成本含税
      */
@@ -458,6 +468,16 @@ public abstract class IncomeCostBean {
                 .add(costOtherOtherTaxExclude);
     }
 
+    /**
+     * 计算所有的成本税金
+     */
+    public BigDecimal getCostTotalTax() {
+        if (getCostTotalTaxExclude() == null || getCostTotalTaxInclude() == null) {
+            return handleSpecial(null);
+        }
+        return getCostTotalTaxInclude().subtract(getCostTotalTaxExclude());
+    }
+
     /**
      * 计算项目毛利
      * 收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)
diff --git a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java
index 0361039..4293378 100644
--- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java
+++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java
@@ -30,6 +30,7 @@ import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 import java.io.IOException;
+import java.math.BigDecimal;
 import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.stream.Collectors;
@@ -287,10 +288,36 @@ public class ProjectController extends BaseController {
         model.put("budgetBean", budgetBean);
         //收入明细
         List<ProjectBudgetIncomeDetail> budgetIncomeDetail = projectBudgetService.getBudgetIncomeDetail(project);
+        Set<String> rates = new HashSet<>();
+        StringBuilder incomeTaxSb = new StringBuilder();
+        for (ProjectBudgetIncomeDetail projectBudgetIncomeDetail : budgetIncomeDetail) {
+            if (!rates.contains(projectBudgetIncomeDetail.getTaxRate().toPlainString())) {
+                incomeTaxSb.append(projectBudgetIncomeDetail.getTaxRate().toPlainString()).append(",");
+                rates.add(projectBudgetIncomeDetail.getTaxRate().toPlainString());
+            }
+        }
+        if (incomeTaxSb.lastIndexOf(",") == incomeTaxSb.length() - 1) {
+            model.put("incomeTaxRates", incomeTaxSb.substring(0, incomeTaxSb.length() - 2));
+        } else {
+            model.put("incomeTaxRates", incomeTaxSb.toString());
+        }
         model.put("incomeDetails", budgetIncomeDetail);
         model.put("incomeTotalAmount", projectBudgetService.getBudgetIncomeAmount(project));
         //成本明细
         List<ProjectBudgetCostDetail> budgetCostDetail = projectBudgetService.getBudgetCostDetail(project);
+        Set<String> rates2 = new HashSet<>();
+        StringBuilder costTaxSb = new StringBuilder();
+        for (ProjectBudgetCostDetail projectBudgetCostDetail : budgetCostDetail) {
+            if (!rates2.contains(projectBudgetCostDetail.getTaxRate().toPlainString())) {
+                costTaxSb.append(projectBudgetCostDetail.getTaxRate().toPlainString()).append(",");
+                rates2.add(projectBudgetCostDetail.getTaxRate().toPlainString());
+            }
+        }
+        if (costTaxSb.lastIndexOf(",") == costTaxSb.length() - 1) {
+            model.put("costTaxRates", costTaxSb.substring(0, costTaxSb.length() - 2));
+        } else {
+            model.put("costTaxRates", costTaxSb.toString());
+        }
         model.put("costDetails", budgetCostDetail);
         model.put("costTotalAmount", projectBudgetService.getBudgetCostAmount(project));
         //项目管理成本明细
diff --git a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java
index 88b167b..e6e6f05 100644
--- a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java
+++ b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java
@@ -186,6 +186,7 @@ public class ProjectBudgetService {
             List<ProjectBudgetIncomeDetail> collectDevice = incomeDetails.stream().filter(d -> d.getType() == ProjectBudgetIncomeDetail.TYPE_DEVICE).collect(Collectors.toList());
             budgetBean.setIncomeDeviceTaxInclude(getIncomeTotalTaxInclude(collectDevice));
             budgetBean.setIncomeDeviceTaxExclude(getIncomeTotalTaxExclude(collectDevice));
+//            budgetBean.setIncomeDeviceTax();
             //工程类收入,含税和不含税
             List<ProjectBudgetIncomeDetail> collectEngineer = incomeDetails.stream().filter(d -> d.getType() == ProjectBudgetIncomeDetail.TYPE_ENGINEER).collect(Collectors.toList());
             budgetBean.setIncomeEngineerTaxInclude(getIncomeTotalTaxInclude(collectEngineer));
diff --git a/src/main/java/cn/palmte/work/service/ProjectService.java b/src/main/java/cn/palmte/work/service/ProjectService.java
index ce2ec90..bd5fb43 100644
--- a/src/main/java/cn/palmte/work/service/ProjectService.java
+++ b/src/main/java/cn/palmte/work/service/ProjectService.java
@@ -191,7 +191,6 @@ public class ProjectService {
 
         //只有如下可以修改
         projectInDb.setName(project.getName());
-        projectInDb.setProjectNo(project.getProjectNo());
         projectInDb.setCustomer(project.getCustomer());
         projectInDb.setTerminalCustomer(project.getTerminalCustomer());
         projectInDb.setIndustryScenario(project.getIndustryScenario());
@@ -199,13 +198,33 @@ public class ProjectService {
         projectInDb.setTypeDesc(TypeEnum.parseType(project.getType()).getTypeDesc());
         projectInDb.setUnderwrittenMode(project.getUnderwrittenMode());
         projectInDb.setUnderwrittenModeStr(UnderwrittenModeEnum.parseUnderwrittenMode(project.getUnderwrittenMode()).getUnderwrittenModeStr());
+        projectInDb.setCertainty(project.getCertainty());
+        projectInDb.setCertaintyStr(CertaintyEnum.parseCertainty(project.getCertainty()).getCertaintyStr());
+        projectInDb.setIsSecond(project.getIsSecond());
+        projectInDb.setIsSecondStr(IsSecondEnum.parseIsSecond(project.getIsSecond()).getIsSecondStr());
+        projectInDb.setSignType(project.getSignType());
+        projectInDb.setSignTypeStr(SignTypeEnum.parseSignType(project.getSignType()).getSignTypeStr());
+        projectInDb.setResolvePlan(project.getResolvePlan());
+        projectInDb.setResolvePlanStr(ResolvePlanEnum.parseResolvePlan(project.getResolvePlan()).getResolvePlanStr());
 
+        projectInDb.setCollaborator(project.getCollaborator());
+        projectInDb.setGrossProfit(project.getGrossProfit());
+        projectInDb.setGrossProfitMargin(project.getGrossProfitMargin());
         projectInDb.setStartDate(project.getStartDate());
         projectInDb.setEndDate(project.getEndDate());
         projectInDb.setContractAmount(project.getContractAmount());
         projectInDb.setHuazhiProductAmount(project.getHuazhiProductAmount());
+        projectInDb.setHuizhiProductAmount(project.getHuizhiProductAmount());
+        projectInDb.setHuasanProductAmount(project.getHuasanProductAmount());
         projectInDb.setZiguangOtherAmount(project.getZiguangOtherAmount());
+        projectInDb.setPrincipal(project.getPrincipal());
+        projectInDb.setContractTime(project.getContractTime());
+        projectInDb.setBidsTime(project.getBidsTime());
+        projectInDb.setAdvanceInterestAmount(project.getAdvanceInterestAmount());
+        projectInDb.setAdvancePeakAmount(project.getAdvancePeakAmount());
         projectInDb.setMainContractCollectionTerms(project.getMainContractCollectionTerms());
+        projectInDb.setMainContractResolvePlan(project.getMainContractResolvePlan());
+        projectInDb.setCalculationCollection(project.getCalculationCollection());
         projectInDb.setValueRisk(project.getValueRisk());
         projectInDb.setOtherName(project.getOtherName());
 
diff --git a/src/main/resources/templates/admin/project_budget_edit.ftl b/src/main/resources/templates/admin/project_budget_edit.ftl
index 47bde6e..c363728 100644
--- a/src/main/resources/templates/admin/project_budget_edit.ftl
+++ b/src/main/resources/templates/admin/project_budget_edit.ftl
@@ -986,7 +986,7 @@
                         <td><input type="text" class="number" name="incomeTotalTax" value="${Utils.format(budgetBean.incomeTotalTax,'0')}" required readonly title="此列累计"></td>
                     </tr>
                     </tbody>
-                    备注:本表所用税率分别为:${Utils.format(budgetBean.incomeTaxRates,'0')}
+                    (备注:本表所用税率分别为:${incomeTaxRates!})
                 </table>
                 <span>成本</span>
                <#-- <span class="am-text-primary"><a style="cursor: pointer"  id="cost-detail">采购成本明细表</a></span>
@@ -1039,7 +1039,7 @@
                         <td>项目管理成本</td>
                         <td><input type="text" class="number" name="costProjectManageTaxInclude" value="${Utils.format(budgetBean.costProjectManageTaxInclude,'0')}" readonly required title="项目管理成本总额含税"></td>
                         <td><input type="text" class="number" name="costProjectManageTaxExclude" value="${Utils.format(budgetBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本总额不含税"></td>
-                        <td><input type="text" class="number" name="costProjectManageTax" value="${Utils.format(budgetBean.costProjectManageTax,'0')}" readonly required title="项目管理成本税金"></td>
+                        <td><input type="text" class="number" name="costProjectManageTax" value="财务计取以不含税方式核算" readonly required title="项目管理成本税金"></td>
                     </tr>
                     <tr>
                         <td>成本</td>
@@ -1059,7 +1059,7 @@
                         <td><input type="text" class="number" name="costTotalTax" value="${Utils.format(budgetBean.costTotalTax,'0')}" readonly required title="此列累计"></td>
                     </tr>
                     </tbody>
-                    备注:本表所用税率分别为:${Utils.format(budgetBean.costTaxRates,'0')}
+                    (备注:本表所用税率分别为:${costTaxRates!})
                 </table>
                 <span>管理</span>
                 <#--<span class="am-text-primary budget-plan-detail"><a style="cursor: pointer">资金计划表</a></span>-->