diff --git a/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/out/AmountRecordOut.java b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/out/AmountRecordOut.java
new file mode 100644
index 0000000000000000000000000000000000000000..3eb919642944d38230c211d5544096b457df97aa
--- /dev/null
+++ b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/out/AmountRecordOut.java
@@ -0,0 +1,39 @@
+package com.seasky.dbprojectplanmanage.dto.out;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+/**
+ * Description锛�
+ *
+ * @author 灏忓懆(喔� 鈥� 虁 _ 鈥� 虂)喔�
+ * @since 2023/2/17 13:00
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class AmountRecordOut {
+
+    @ApiModelProperty("椤圭洰鍚嶇О")
+    private String projectName;
+
+    @ApiModelProperty("椤圭洰缂栧彿")
+    private String projectCode;
+
+    @ApiModelProperty("椤圭洰绫诲瀷")
+    private String projectType;
+
+    @ApiModelProperty("鎵€灞為儴闂�")
+    private String departmentName;
+
+    @ApiModelProperty("璐熻矗浜�")
+    private String ownerName;
+
+    @ApiModelProperty("棰勭畻閲戦")
+    private BigDecimal planMoney;
+
+}
diff --git a/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/out/DepartmentOut.java b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/out/DepartmentOut.java
new file mode 100644
index 0000000000000000000000000000000000000000..032dbb7a1c97518d1d99d94dd8d14a7d1ef5ba4c
--- /dev/null
+++ b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/out/DepartmentOut.java
@@ -0,0 +1,24 @@
+package com.seasky.dbprojectplanmanage.dto.out;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * Description锛�
+ *
+ * @author 灏忓懆(喔� 鈥� 虁 _ 鈥� 虂)喔�
+ * @since 2023/2/17 10:33
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class DepartmentOut {
+
+    @ApiModelProperty("椤圭洰缂栧彿")
+    private String departmentCode;
+
+    @ApiModelProperty("椤圭洰鍚嶇О")
+    private String departmentName;
+}
diff --git a/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/qry/ProjectPredictionRecordQry.java b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/qry/ProjectPredictionRecordQry.java
new file mode 100644
index 0000000000000000000000000000000000000000..bda4e0eacb70113076359661f0c9da6636f31382
--- /dev/null
+++ b/ServiceSite/facade/src/main/java/com/seasky/dbprojectplanmanage/dto/qry/ProjectPredictionRecordQry.java
@@ -0,0 +1,43 @@
+package com.seasky.dbprojectplanmanage.dto.qry;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotNull;
+
+/**
+ * Description锛�
+ *
+ * @author 灏忓懆(喔� 鈥� 虁 _ 鈥� 虂)喔�
+ * @since 2023/2/17 10:15
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectPredictionRecordQry {
+
+    @ApiModelProperty("骞翠唤")
+    private Integer year;
+
+    @ApiModelProperty("椤圭洰缂栧彿")
+    private String projectCode;
+
+    @ApiModelProperty("閮ㄩ棬缂栧彿")
+    private String departmentCode;
+
+    @ApiModelProperty("椤圭洰绫诲瀷")
+    private String projectType;
+
+    @NotNull(message = "椤电爜涓嶈兘涓虹┖")
+    @ApiModelProperty(value = "椤电爜", example = "1")
+    @Valid
+    private Integer pageIndex;
+
+    @NotNull(message = "鍒嗛〉澶у皬涓嶈兘涓虹┖")
+    @ApiModelProperty(value = "鍒嗛〉澶у皬", example = "10")
+    @Valid
+    private Integer pageSize;
+}
diff --git a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/application/query/projectPlan/ProjectPlanQuerySvr.java b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/application/query/projectPlan/ProjectPlanQuerySvr.java
index fb9d561c03ed66a0e4d0297af461190f52a32336..4e8b4e944e3531ef0e6a239f79960589d830c1a6 100644
--- a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/application/query/projectPlan/ProjectPlanQuerySvr.java
+++ b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/application/query/projectPlan/ProjectPlanQuerySvr.java
@@ -5,10 +5,7 @@ import com.seasky.core.common.Result;
 import com.seasky.dbprojectplanmanage.domain.aggregate.projectPlanAggregate.ProjectPlanAgg;
 import com.seasky.dbprojectplanmanage.dto.cmd.ProjectPlanEducationCmd;
 import com.seasky.dbprojectplanmanage.dto.out.*;
-import com.seasky.dbprojectplanmanage.dto.qry.ProjectPlanByAuditorQry;
-import com.seasky.dbprojectplanmanage.dto.qry.ProjectPlanByOwnerQry;
-import com.seasky.dbprojectplanmanage.dto.qry.ProjectPlanQry;
-import com.seasky.dbprojectplanmanage.dto.qry.ProjectPredictionAmountQry;
+import com.seasky.dbprojectplanmanage.dto.qry.*;
 import org.springframework.validation.annotation.Validated;
 
 import javax.validation.Valid;
@@ -135,4 +132,20 @@ public interface ProjectPlanQuerySvr {
      * @return {@link Object}
      */
     BigDecimal queryAmountBySapCodeAndControlCode(ProjectPredictionAmountQry projectPredictionAmountQry);
+
+    /**
+     * 鏌ヨdepartment
+     *
+     * @return {@link DepartmentOut}
+     */
+    List<DepartmentOut> queryDepartment();
+
+    /**
+     * 鏌ヨ璁板綍鏁伴噺
+     *
+     * @param projectPredictionRecordQry 椤圭洰棰勬祴璁板綍qry
+     * @return {@link Object}
+     */
+    @Validated
+    Pagination<AmountRecordOut> queryAmountRecord(@Valid ProjectPredictionRecordQry projectPredictionRecordQry);
 }
diff --git a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/db/mapper/table/IProjectPredictionMapper.java b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/db/mapper/table/IProjectPredictionMapper.java
index b165f0be40ce7b3822dbfd8b8ce015e73303168a..0bf98de6c89321f9c6bc368110090ff47663cd66 100644
--- a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/db/mapper/table/IProjectPredictionMapper.java
+++ b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/db/mapper/table/IProjectPredictionMapper.java
@@ -1,11 +1,15 @@
 package com.seasky.dbprojectplanmanage.infrastructure.db.mapper.table;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.seasky.dbprojectplanmanage.dto.out.AmountRecordOut;
+import com.seasky.dbprojectplanmanage.dto.qry.ProjectPredictionRecordQry;
 import com.seasky.dbprojectplanmanage.infrastructure.dataobject.po.ProjectPredictionPo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * Description锛�
@@ -16,4 +20,6 @@ import java.math.BigDecimal;
 @Mapper
 public interface IProjectPredictionMapper extends BaseMapper<ProjectPredictionPo> {
     BigDecimal queryCurrentAmountApprovedByProjectPlanBookId(@Param("id") Long projectPlanBookId);
+
+    Page<AmountRecordOut> queryAmountRecord(Page<AmountRecordOut> page,@Param("pm") ProjectPredictionRecordQry projectPredictionRecordQry);
 }
diff --git a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/db/mapper/xml/IProjectPredictionMapper.xml b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/db/mapper/xml/IProjectPredictionMapper.xml
index 14c0a80e8a78664b8e2221f5e7134bf1316be4d9..fe67f3a795bdd54c09a530bbb1d0c9de36982818 100644
--- a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/db/mapper/xml/IProjectPredictionMapper.xml
+++ b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/db/mapper/xml/IProjectPredictionMapper.xml
@@ -5,4 +5,30 @@
     <select id="queryCurrentAmountApprovedByProjectPlanBookId" resultType="java.math.BigDecimal">
         select sum(currentAmountApproved) currentAmountApproved from t_project_prediction where available='YES' and project_plan_book_id = #{id}
     </select>
+
+    <select id="queryAmountRecord" resultType="com.seasky.dbprojectplanmanage.dto.out.AmountRecordOut">
+        select p1.project_code projectCode,
+               p2.projectName projectName,
+               p2.projectType projectType,
+               p2.departmentName departmentName,
+               p2.ownerName ownerName,
+               p2.planMoney planMoney
+        from t_project_prediction p1 INNER JOIN t_projectPlan p2 on p1.project_plan_book_id = p2.id
+        <where>
+            p1.available='YES' and p2.available='YES'
+                <if test="pm.year != null and pm.year != ''">
+                    and p2.year = #{pm.year}
+                </if>
+                <if test="pm.projectCode != null and pm.projectCode != ''">
+                    and p1.project_code like concat('%',#{pm.projectCode},'%')
+                </if>
+                <if test="pm.departmentCode != null and pm.departmentCode != ''">
+                    and p2.departmentCode = #{pm.departmentCode}
+                </if>
+                <if test="pm.projectType != null and pm.projectType != ''">
+                    and p2.projectType = #{pm.projectType}
+                </if>
+        </where>
+
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/reader/projectPlan/ProjectPlanQuerySvrImpl.java b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/reader/projectPlan/ProjectPlanQuerySvrImpl.java
index 18c28ba28b6dab51f25178cc934b113437cce625..c7696a56afbe21fa85de9f882a6b7843ea3b7b6d 100644
--- a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/reader/projectPlan/ProjectPlanQuerySvrImpl.java
+++ b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/infrastructure/reader/projectPlan/ProjectPlanQuerySvrImpl.java
@@ -11,10 +11,7 @@ import com.seasky.core.util.ExceptionUtil;
 import com.seasky.dbprojectplanmanage.application.query.projectPlan.ProjectPlanQuerySvr;
 import com.seasky.dbprojectplanmanage.dto.cmd.*;
 import com.seasky.dbprojectplanmanage.dto.out.*;
-import com.seasky.dbprojectplanmanage.dto.qry.ProjectPlanByAuditorQry;
-import com.seasky.dbprojectplanmanage.dto.qry.ProjectPlanByOwnerQry;
-import com.seasky.dbprojectplanmanage.dto.qry.ProjectPlanQry;
-import com.seasky.dbprojectplanmanage.dto.qry.ProjectPredictionAmountQry;
+import com.seasky.dbprojectplanmanage.dto.qry.*;
 import com.seasky.dbprojectplanmanage.infrastructure.dataobject.po.*;
 import com.seasky.dbprojectplanmanage.infrastructure.db.mapper.table.*;
 import com.seasky.dbprojectplanmanage.infrastructure.rpc.FlowRpc;
@@ -701,4 +698,32 @@ public class ProjectPlanQuerySvrImpl implements ProjectPlanQuerySvr {
         }
         return projectPredictionControlMapper.queryAmountBySapCodeAndControlCode(projectPredictionAmountQry);
     }
+
+    /**
+     * 鏌ヨdepartment
+     *
+     * @return {@link DepartmentOut}
+     */
+    @Override
+    public List<DepartmentOut> queryDepartment() {
+        QueryWrapper<ProjectPlanPo> projectPlanPoQueryWrapper = new QueryWrapper<>();
+        projectPlanPoQueryWrapper.select("departmentCode","departmentName");
+        List<ProjectPlanPo> projectPlanPos = IProjectPlanMapper.selectList(projectPlanPoQueryWrapper);
+        return MapperUtils.INSTANCE.mapAsList(DepartmentOut.class, projectPlanPos);
+    }
+
+    /**
+     * 鏌ヨ鏍告嫧璁板綍
+     *
+     * @param projectPredictionRecordQry 椤圭洰棰勬祴璁板綍qry
+     * @return {@link AmountRecordOut}
+     */
+    @Override
+    public Pagination<AmountRecordOut> queryAmountRecord(ProjectPredictionRecordQry projectPredictionRecordQry) {
+        Page<AmountRecordOut> page = new Page<>(projectPredictionRecordQry.getPageIndex(), projectPredictionRecordQry.getPageSize());
+        Page<AmountRecordOut> amountRecordOutPage = projectPredictionMapper.queryAmountRecord(page, projectPredictionRecordQry);
+        return Pagination.fromPage(amountRecordOutPage);
+    }
+
+
 }
diff --git a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/interfaces/controller/ProjectPlanController.java b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/interfaces/controller/ProjectPlanController.java
index 63b2c8643c9332186ec60df8d4e79ee6b891240e..6cc1a24dda9dcf8a4f11df57da8ea659152b0810 100644
--- a/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/interfaces/controller/ProjectPlanController.java
+++ b/ServiceSite/src/main/java/com/seasky/dbprojectplanmanage/interfaces/controller/ProjectPlanController.java
@@ -31,6 +31,7 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
 import java.math.BigDecimal;
 import java.util.List;
 
@@ -420,4 +421,27 @@ public class ProjectPlanController implements IProjectPlanController {
     public Result<BigDecimal> queryAmountBySapCodeAndControlCode(@RequestBody ProjectPredictionAmountQry projectPredictionAmountQry){
         return ok(ResponseCode.SUCCESS,projectPlanQuerySvr.queryAmountBySapCodeAndControlCode(projectPredictionAmountQry));
     }
+
+    /**
+     * 鏌ヨ閮ㄩ棬
+     *
+     * @return {@link Result}<{@link DepartmentOut}>
+     */
+    @ApiOperation("鏌ヨ鎵€鏈夌殑閮ㄩ棬缂栧彿鍜岄儴闂ㄥ悕绉�")
+    @PostMapping(path = "queryDepartment")
+    public Result<DepartmentOut> queryDepartment(){
+        return ok(ResponseCode.SUCCESS,projectPlanQuerySvr.queryDepartment());
+    }
+
+    /**
+     * 鏌ヨ鏍告嫧璁板綍
+     *
+     * @param projectPredictionRecordQry 椤圭洰棰勬祴璁板綍qry.
+     * @return {@link Result}<{@link AmountRecordOut}>
+     */
+    @ApiOperation("鏌ヨ鏍告嫧璁板綍")
+    @PostMapping(path = "queryAmountRecord")
+    public Result<AmountRecordOut> queryAmountRecord(@RequestBody ProjectPredictionRecordQry projectPredictionRecordQry){
+        return ok(ResponseCode.SUCCESS,projectPlanQuerySvr.queryAmountRecord(projectPredictionRecordQry));
+    }
 }