diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/projectInfoplan/ProjectInfoPlanAgg.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/projectInfoplan/ProjectInfoPlanAgg.java
index ca25fe2b767f2d79384a5ec573c049175bdb5801..b5955441b4178ced496f06c9179147405bbfdd8f 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/projectInfoplan/ProjectInfoPlanAgg.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/projectInfoplan/ProjectInfoPlanAgg.java
@@ -92,6 +92,20 @@ public class ProjectInfoPlanAgg extends ProjectPlanBaseAgg {
         this.xinghaiProjectJson = xinghaiProjectJson;
     }
 
+    /**
+     * 淇敼椤圭洰绫诲瀷
+     *
+     * @param id          id
+     * @param projectType 椤圭洰绫诲瀷
+     * @return {@link ProjectInfoPlanAgg}
+     */
+    public static ProjectInfoPlanAgg modifyProjectType(Long id, String projectType){
+        ProjectInfoPlanAgg projectInfoPlanAgg = new ProjectInfoPlanAgg();
+        projectInfoPlanAgg.setProjectType(projectType);
+        projectInfoPlanAgg.setProjectTypeId(id);
+        return projectInfoPlanAgg;
+    }
+
     /**
      * 璁剧疆entity1
      *
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/projectInfoplan/ProjectInfoRepository.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/projectInfoplan/ProjectInfoRepository.java
index 2bbd47f6cdc8ac3ac69ddc74462cacd294b02225..1eb3b0414fa9d04a5fcaadc4fda2c795513841a9 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/projectInfoplan/ProjectInfoRepository.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/aggregate/projectInfoplan/ProjectInfoRepository.java
@@ -91,4 +91,11 @@ public interface ProjectInfoRepository extends DddRepository<ProjectInfoPlanAgg>
 
     /** 鍒ゆ柇椤圭洰绫诲瀷鏄惁琚敵鎶ヤ功浣跨敤**/
     Integer countByProjectTypeId(ProjectInfoPlanAgg queryAgg);
+
+    /**
+     * 淇敼椤圭洰绫诲瀷
+     *
+     * @param projectInfoPlanAgg 椤圭洰淇℃伅璁″垝gg
+     */
+    void modifyProjectType(ProjectInfoPlanAgg projectInfoPlanAgg);
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/BudgetInfoDomainSvrImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/BudgetInfoDomainSvrImpl.java
index 5c5bfae23e19888ebe36ea08317c30f6a8d54303..435b1f27efaae248dce0cafd3566d46d300bfbb8 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/BudgetInfoDomainSvrImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/BudgetInfoDomainSvrImpl.java
@@ -1,5 +1,7 @@
 package com.seasky.projectplan.domain.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.seasky.core.common.Error;
 import com.seasky.core.common.ResponseCode;
 import com.seasky.core.exception.DataAccessException;
@@ -12,9 +14,12 @@ import com.seasky.projectplan.domain.aggregate.budgetinfo.BudgetInfoRepository;
 import com.seasky.projectplan.domain.aggregate.projectInfoplan.ProjectInfoPlanAgg;
 import com.seasky.projectplan.domain.aggregate.projectInfoplan.ProjectInfoRepository;
 import com.seasky.projectplan.dto.baseconfig.budgetswitch.BudgetSwitchOut;
+import com.seasky.projectplan.infrastructure.dataobject.po.BudgetInfoPo;
+import com.seasky.projectplan.infrastructure.dataobject.po.ProjectPlanBookPo;
 import com.seasky.projectplan.infrastructure.db.mapper.table.ProjectPlanBookMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 
 import javax.annotation.Resource;
@@ -38,6 +43,8 @@ public class BudgetInfoDomainSvrImpl implements BudgetInfoDomainSvr{
     @Resource
     private ProjectInfoRepository projectInfoRepository;
 
+    @Resource
+    private ProjectInfoPlanDomainSvr projectInfoPlanDomainSvr;
     /**
      * 淇濆瓨 椤圭洰绫诲瀷
      *
@@ -45,6 +52,7 @@ public class BudgetInfoDomainSvrImpl implements BudgetInfoDomainSvr{
      * @return {@link Integer}
      */
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Long saveBudgetInfo(BudgetInfoAgg budgetInfoAgg) {
         checkSaveInfo(budgetInfoAgg);
         if (budgetInfoAgg.getId() == null){
@@ -63,6 +71,9 @@ public class BudgetInfoDomainSvrImpl implements BudgetInfoDomainSvr{
                     budgetInfoAgg.getCanUseDeptJson(), budgetInfoAgg.getFunctionDeptJson(), budgetInfoAgg.getCanUseFundJson(), budgetInfoAgg.getBeginDate(),
                     budgetInfoAgg.getEndDate(), budgetInfoAgg.getChargerJson(), budgetInfoAgg.getHaveTarget(),budgetInfoAgg.getModel(),budgetInfoAgg.getProjectTargetId());
             budgetInfoAgg = modifyAgg;
+            // 璋冪敤椤圭洰鐢虫姤涔︿腑鐨勪慨鏀归」鐩被鍨嬬殑鏂规硶
+            ProjectInfoPlanAgg projectInfoPlanAgg = ProjectInfoPlanAgg.modifyProjectType(budgetInfoAgg.getId(),budgetInfoAgg.getBudgetName());
+            projectInfoPlanDomainSvr.modifyProjectType(projectInfoPlanAgg);
         }
         verifyBudgetInfo(budgetInfoAgg);
         return repository.saveBudgetInfo(budgetInfoAgg);
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/ProjectInfoPlanDomainSvr.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/ProjectInfoPlanDomainSvr.java
index d48f52e3dfa5f0151d6c79649e756178578512ca..567624febb35d874e2364214108ce7eb1036376d 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/ProjectInfoPlanDomainSvr.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/ProjectInfoPlanDomainSvr.java
@@ -44,4 +44,11 @@ public interface ProjectInfoPlanDomainSvr {
      * @return {@link Integer}
      */
     Integer modifyProcessIDByDocumentId(Long id, Long processId);
+
+    /**
+     * 淇敼椤圭洰绫诲瀷
+     *
+     * @param projectInfoPlanAgg 椤圭洰淇℃伅璁″垝gg
+     */
+    void modifyProjectType(ProjectInfoPlanAgg projectInfoPlanAgg);
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/ProjectInfoPlanDomainSvrImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/ProjectInfoPlanDomainSvrImpl.java
index b2e2aea2524062deaed94693921eb09f441e2007..f35bcd83beb52de2e4c91213cb471355d94d3005 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/ProjectInfoPlanDomainSvrImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/domain/service/ProjectInfoPlanDomainSvrImpl.java
@@ -145,4 +145,14 @@ public class ProjectInfoPlanDomainSvrImpl implements ProjectInfoPlanDomainSvr {
         return repository.modifyProcessIDByDocumentId(id,processId);
     }
 
+    /**
+     * 淇敼椤圭洰绫诲瀷
+     *
+     * @param projectInfoPlanAgg 椤圭洰淇℃伅璁″垝gg
+     */
+    @Override
+    public void modifyProjectType(ProjectInfoPlanAgg projectInfoPlanAgg) {
+        repository.modifyProjectType(projectInfoPlanAgg);
+    }
+
 }
diff --git a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/projectplanbook/projectinfoplan/ProjectInfoRepositoryImpl.java b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/projectplanbook/projectinfoplan/ProjectInfoRepositoryImpl.java
index 0859e3fa4a29f7f8aec103fa3b96ad047e616884..253c4251a9f4842c2b011a6216f47e2ce14ac459 100644
--- a/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/projectplanbook/projectinfoplan/ProjectInfoRepositoryImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/projectplan/infrastructure/repository/projectplanbook/projectinfoplan/ProjectInfoRepositoryImpl.java
@@ -1,6 +1,7 @@
 package com.seasky.projectplan.infrastructure.repository.projectplanbook.projectinfoplan;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.seasky.core.common.Error;
 import com.seasky.core.common.ResponseCode;
 import com.seasky.core.ddd.base.DomainKeysMap;
@@ -238,6 +239,18 @@ public class ProjectInfoRepositoryImpl implements ProjectInfoRepository {
         return mapper.countByProjectTypeId(queryAgg.getProjectTypeId());
     }
 
+    /**
+     * 淇敼椤圭洰绫诲瀷
+     *
+     * @param projectInfoPlanAgg 椤圭洰淇℃伅璁″垝gg
+     */
+    @Override
+    public void modifyProjectType(ProjectInfoPlanAgg projectInfoPlanAgg) {
+        UpdateWrapper<ProjectPlanBookPo> projectPlanBookPoUpdateWrapper = new UpdateWrapper<>();
+        projectPlanBookPoUpdateWrapper.eq("project_type_id",projectInfoPlanAgg.getProjectTypeId()).set("project_type",projectInfoPlanAgg.getProjectType());
+        mapper.update(null,projectPlanBookPoUpdateWrapper);
+    }
+
     @Override
     public Long save(ProjectInfoPlanAgg aggregate) {
         return null;