From 1acb6f2a08747a4b17c116b7bb54b1878887bc00 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 23 四月 2024 14:11:12 +0800
Subject: [PATCH] 核算报告分页

---
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java               |    6 +++
 ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java |   14 +-----
 ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml                    |   39 +++++++++++++++++++
 ycl-pojo/src/main/java/com/ycl/system/page/PageUtil.java                               |    2 
 ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java            |   10 +++++
 5 files changed, 59 insertions(+), 12 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java
index 6252ece..3acb4d9 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/CalculateReportVO.java
@@ -26,6 +26,12 @@
     /** 鍚堝悓 */
     private Integer contractId;
 
+    /** 杩愮淮鍗曚綅 */
+    private String unitName;
+
+    /** 鍚堝悓鍚嶇О */
+    private String contractName;
+
     /** 鏍哥畻鏃ユ湡 */
     private LocalDateTime calculateTime;
 
diff --git a/ycl-pojo/src/main/java/com/ycl/system/page/PageUtil.java b/ycl-pojo/src/main/java/com/ycl/system/page/PageUtil.java
index 7f1defe..9ab11de 100644
--- a/ycl-pojo/src/main/java/com/ycl/system/page/PageUtil.java
+++ b/ycl-pojo/src/main/java/com/ycl/system/page/PageUtil.java
@@ -19,7 +19,7 @@
      * @param <Q> 鏌ヨ绫�
      * @return
      */
-    public static  <T extends AbsEntity, Q extends AbsQuery> IPage<T> getPage(Q q, Class<T> c) {
+    public static  <T , Q extends AbsQuery> IPage<T> getPage(Q q, Class<T> c) {
         Page<T> page = new Page<T>()
                 .setCurrent(q.getPageNum())
                 .setSize(q.getPageSize());
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java
index 96aa60a..169f45e 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java
@@ -1,11 +1,14 @@
 package com.ycl.platform.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ycl.platform.domain.entity.CalculateReport;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ycl.platform.domain.query.CalculateReportQuery;
 import com.ycl.platform.domain.vo.CalculateReportVO;
 import com.ycl.platform.domain.form.CalculateReportForm;
 import java.util.List;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 鏍哥畻鎶ュ憡 Mapper 鎺ュ彛
@@ -16,4 +19,11 @@
 @Mapper
 public interface CalculateReportMapper extends BaseMapper<CalculateReport> {
 
+    /**
+     * 鏍哥畻鎶ュ憡鍒嗛〉
+     *
+     * @param query
+     * @param page
+     */
+    void page(@Param("query") CalculateReportQuery query, IPage<CalculateReportVO> page);
 }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
index b599917..01fedde 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
@@ -101,17 +101,9 @@
      */
     @Override
     public Result page(CalculateReportQuery query) {
-
-        IPage<CalculateReport> page = new LambdaQueryChainWrapper<>(baseMapper)
-                .orderByDesc(CalculateReport::getCreateTime)
-                .page(PageUtil.getPage(query, CalculateReport.class));
-
-        List<CalculateReportVO> vos = page.getRecords().stream()
-                .map(
-                        entity -> CalculateReportVO.getVoByEntity(entity, null)
-                )
-                .collect(Collectors.toList());
-        return Result.ok().data(vos).total(page.getTotal());
+        IPage<CalculateReportVO> page = PageUtil.getPage(query, CalculateReportVO.class);
+        baseMapper.page(query, page);
+        return Result.ok().data(page.getRecords()).total(page.getTotal());
     }
 
     /**
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
new file mode 100644
index 0000000..6ca3ff4
--- /dev/null
+++ b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ycl.platform.mapper.CalculateReportMapper">
+
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="BaseResultMap" type="com.ycl.platform.domain.vo.CalculateReportVO">
+        <result column="id" property="id" />
+        <result column="create_time" property="createTime" />
+        <result column="unit_name" property="unitName" />
+        <result column="name" property="contractName" />
+        <result column="contract_id" property="contractId" />
+        <result column="calculate_time" property="calculateTime" />
+        <result column="deduct_money" property="deductMoney" />
+        <result column="which_year" property="whichYear" />
+        <result column="which_month" property="whichMonth" />
+        <result column="update_by" property="updateBy" />
+    </resultMap>
+
+    <select id="page" resultMap="BaseResultMap">
+        SELECT
+               tyu.unit_name,
+               tc.name,
+               tcr.id,
+               tcr.deduct_money,
+               tcr.create_time,
+               tcr.update_time,
+               tcr.calculate_time
+        FROM
+             t_calculate_report tcr
+                 INNER JOIN t_contract tc ON tcr.contract_id = tc.id
+                 INNER JOIN t_yw_unit tyu ON tyu.id = tc.unit_id
+        <where>
+            <if test="query.unitName != null and query.unitName != '' ">
+                AND tyu.unit_name like concat('%', #{query.unitName}, '%')
+            </if>
+        </where>
+    </select>
+
+</mapper>

--
Gitblit v1.8.0