From dfa813134c05b718c039c432f0fa7be3cc118fd3 Mon Sep 17 00:00:00 2001
From: zhouxiantao <1026371446@qq.com>
Date: Wed, 25 Sep 2024 00:34:47 +0800
Subject: [PATCH] 综合查询-排序

---
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java               |    4 ++++
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java |   32 +++++++++++++++++++++++++++++++-
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml         |    5 ++++-
 3 files changed, 39 insertions(+), 2 deletions(-)

diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
index cb97ed5..9ce80dc 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseInfoWebController.java
@@ -627,7 +627,37 @@
     public Object pageQueryAll(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
         try {
             Map<String, Object> terms = getParameterAll();
-            Sort sort = Sort.by(Sort.Direction.DESC, "a.create_time");
+            Sort sort = null;
+            String sortName = null;
+            String sortColmnStr = request.getParameter("sortColmn");
+            String sortTypeStr = request.getParameter("sortType");
+            int sortColmn = 1;
+            int sortType = 1;
+            if (StringUtils.isNotBlank(sortColmnStr)) {
+                sortColmn = Integer.valueOf(sortColmnStr);
+            }
+            if (StringUtils.isNotBlank(sortTypeStr)) {
+                sortType = Integer.valueOf(sortTypeStr);
+            }
+            switch (sortColmn) {
+                case 1:
+                    sortName = "a.create_time";
+                    break;
+                case 2:
+                    sortName = "b.close_time";
+                    break;
+            }
+            switch (sortType) {
+                case 1:
+                    sort = Sort.by(Sort.Direction.ASC, sortName);
+                    break;
+                case 2:
+                    sort = Sort.by(Sort.Direction.DESC, sortName);
+                    break;
+            }
+            if (ObjectUtils.isEmpty(sort)) {
+                sort = Sort.by(Sort.Direction.DESC, "a.create_time");
+            }
             PageRequest pageRequest = PageRequest.of(page-1, size, sort);
             Page<CasePageDTO> caseInfoPage = service.pageQueryAll(pageRequest, terms);
             return ReturnSucUtils.getRepInfo( "处理成功", caseInfoPage);
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
index d89fc3a..5c0547a 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/dao/mapper/xml/CaseInfoMapper.xml
@@ -110,6 +110,7 @@
         <result property="queRoadName" column="que_road_name"/>
         <result property="caseTypeFirst" column="case_type_first"/>
         <result property="caseTypeFirstName" column="case_type_first_name"/>
+        <result property="caseTaskId" column="caseTaskId"/>
     </resultMap>
     <!-- 表 -->
     <sql id='table-name'>dyh_case_info</sql>
@@ -141,7 +142,8 @@
         b.close_time,
         b.agree_type,
         b.agree_type_name,
-        b.agree_content
+        b.agree_content,
+        c.id as caseTaskId
     </sql>
     <!-- 字段 -->
     <sql id="column-part">
@@ -787,6 +789,7 @@
         <include refid="column-part-all"/>
         FROM
         dyh_case_info a LEFT JOIN dyh_case_info_unfold b on a.id = b.id
+        left join (select id ,case_id from dyh_case_task limit 1) c on a.id = c.case_id
         <include refid="where-part-all"/>
         <if test="page.sort != null">
             <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java
index 974745a..298abe2 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java
@@ -152,4 +152,8 @@
      * 问题属地街道名称
      */
     private String queRoadName;
+    /**
+     * 纠纷任务编号
+     * */
+    private String caseTaskId;
 }

--
Gitblit v1.8.0