From 0c40e0515f6661313e8ac4a14895860e8b4ebb69 Mon Sep 17 00:00:00 2001
From: zhouxiantao <1026371446@qq.com>
Date: Mon, 23 Sep 2024 16:33:51 +0800
Subject: [PATCH] 综合查询-条件

---
 dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridCompanyService.java                        |   32 +++++++-
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CasePageDTO.java                       |    8 ++
 dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/controller/GridCompanyController.java                  |   48 ++++++++++-
 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                 |   52 +++++++++++--
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseRegisterInfoWebController.java |    2 
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java                      |    6 +
 dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseRegisterDTO.java                   |    9 ++
 8 files changed, 169 insertions(+), 20 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 e6688cf..cd27017 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
@@ -86,6 +86,38 @@
         if (StringUtils.isNotBlank(areaType)){
             terms.put("areaType", areaType);
         }
+        // 实际调解组织编号
+        String mediateUnitId = request.getParameter("mediateUnitId");
+        if (StringUtils.isNotBlank(mediateUnitId)){
+            terms.put("mediateUnitId", mediateUnitId);
+        }
+        // 配合组织,多个用,隔开
+        String assistUnitId = request.getParameter("assistUnitId");
+        if (StringUtils.isNotBlank(assistUnitId)){
+            terms.put("assistUnitId", assistUnitId);
+        }
+        // 配合组织,多个用,隔开
+        String evaluateGrade = request.getParameter("evaluateGrade");
+        if (StringUtils.isNotBlank(evaluateGrade)){
+            terms.put("evaluateGrade", evaluateGrade);
+        }
+        String peopleNum = request.getParameter("peopleNum");
+        if (StringUtils.isNotBlank(peopleNum)){
+            String[] split = peopleNum.split("-");
+            terms.put("peopleNumStart", split[0]);
+            if(split.length>1){
+                terms.put("peopleNumEnd", split[1]);
+            }
+
+        }
+        String amount = request.getParameter("amount");
+        if (StringUtils.isNotBlank(amount)){
+            String[] split = amount.split("-");
+            terms.put("amountStart", split[0]);
+            if(split.length>1){
+                terms.put("amountEnd", split[1]);
+            }
+        }
         return terms;
     }
 
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseRegisterInfoWebController.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseRegisterInfoWebController.java
index 711bdfd..561f1ff 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseRegisterInfoWebController.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/controller/web/CaseRegisterInfoWebController.java
@@ -158,7 +158,7 @@
             Page<CaseRegisterDTO> caseInfoPage = service.pageQueryRegister(pageRequest, terms);
             return ReturnSucUtils.getRepInfo("处理成功", caseInfoPage);
         } catch (Exception e) {
-
+            log.error("Controller接口[CaseRegisterInfoWebController.pageQuery]请求异常:"+e, e);
             return ReturnFailUtils.getRepInfo();
         }
     }
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 0e5b563..4a8dd37 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
@@ -103,14 +103,13 @@
         <result property="agreeTypeName" column="agree_type_name"/>
         <result property="agreeContent" column="agree_content"/>
         <result property="createTime" column="create_time"/>
+        <result property="plaintiffs" column="plaintiffs"/>
+        <result property="defendants" column="defendants"/>
     </resultMap>
     <!-- 表 -->
     <sql id='table-name'>dyh_case_info</sql>
     <sql id="column-part-all">
-        a
-        .
-        id
-        ,
+        a.id,
         a.status,
         a.status_name,
         a.canal,
@@ -121,6 +120,8 @@
         a.input_unit_id,
         a.input_unit_name,
         a.create_time,
+        a.plaintiffs,
+        a.defendants,
         b.medi_result,
         b.medi_result_name,
         b.mediate_unit_id,
@@ -338,6 +339,36 @@
                 </if>
                 <if test="terms.isArea != null and terms.isArea !=''">
                     and a.que_city is not null and a.que_area is not null and a.que_road is not null
+                </if>
+                <if test="terms.caseRef != null and terms.caseRef !=''">
+                    and a.case_ref = #{terms.caseRef}
+                </if>
+                <if test="terms.plaintiffs != null and terms.plaintiffs !=''">
+                    and a.plaintiffs = #{terms.plaintiffs}
+                </if>
+                <if test="terms.defendants != null and terms.defendants !=''">
+                    and a.defendants = #{terms.defendants}
+                </if>
+                <if test="terms.peopleNumStart != null and terms.peopleNumStart !=''">
+                    and a.people_num  <![CDATA[ >= ]]> #{terms.peopleNumStart}
+                </if>
+                <if test="terms.peopleNumEnd != null and terms.peopleNumEnd !=''">
+                    and a.people_num  <![CDATA[ <= ]]> #{terms.peopleNumEnd}
+                </if>
+                <if test="terms.amountStart != null and terms.amountStart !=''">
+                    and a.amount  <![CDATA[ >= ]]> #{terms.amountStart}
+                </if>
+                <if test="terms.amountEnd != null and terms.amountEnd !=''">
+                    and a.amount  <![CDATA[ <= ]]> #{terms.amountEnd}
+                </if>
+                <if test="terms.evaluateGrade != null and terms.evaluateGrade !=''">
+                    and a.id in(select case_id from dyh_case_evaluate where evaluate_grade = #{terms.evaluateGrade})
+                </if>
+                <if test="terms.mediateUnitId != null and terms.mediateUnitId !=''">
+                    and b.mediate_unit_id = #{terms.mediateUnitId}
+                </if>
+                <if test="terms.assistUnitId != null and terms.assistUnitId !=''">
+                    and b.assist_unit_id = #{terms.assistUnitId}
                 </if>
             </where>
         </if>
@@ -703,14 +734,17 @@
 
     <select id="pageTermsCaseRegister" resultType="cn.huge.module.cases.domain.dto.CaseRegisterDTO">
         SELECT
-        t1.create_time as createTime,t1.input_user_name as inputUserName,t1.status_name as statusName,t1.case_level as
+        t1.id as caseId,t1.create_time as createTime,t1.input_user_name as inputUserName,t1.status_name as statusName,t1.case_level as
         caseLevel,t1.canal_name as canalName,
         t1.case_type_first_name as caseTypeFirstName,t1.case_type_name as caseTypeName,t1.plaintiffs as
         plaintiffs,t1.defendants as defendants,t2.medi_result_name as mediResultName,
-        t3.number as superviseCount
+        t3.number as superviseCount,
+        t4.id as caseTaskId
         FROM
-        dyh_case_info t1 left join dyh_case_info_unfold t2 on t1.id = t2.id
+        dyh_case_info t1
+        left join dyh_case_info_unfold t2 on t1.id = t2.id
         left join (select count(*) as number ,case_id from dyh_case_supervise group by case_id) t3 on t3.case_id=t1.id
+        left join dyh_case_task t4 on t1.id = t4.case_id
         <include refid="where-register-part"/>
         <if test="page.sort != null">
             <foreach collection="page.sort" item="s" index="index" separator="," open="order by ">
@@ -728,7 +762,9 @@
         SELECT
         count(t1.id)
         FROM
-        dyh_case_info t1 left join dyh_case_info_unfold t2 on t1.id = t2.id
+        dyh_case_info t1
+        left join dyh_case_info_unfold t2 on t1.id = t2.id
+        left join dyh_case_task t4 on t1.id = t4.case_id
         <include refid="where-register-part"/>
     </select>
     <!--  根据条件统计  -->
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 71fa3f4..5454663 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
@@ -119,4 +119,12 @@
      * 被申请人集合
      * */
     private List<CasePersonWeDTO> defendantList;
+    /**
+     * 申请方当事人名称
+     */
+    private String plaintiffs;
+    /**
+     * 被申请方当事人名称
+     */
+    private String defendants;
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseRegisterDTO.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseRegisterDTO.java
index 042ebf8..970823c 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseRegisterDTO.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/domain/dto/CaseRegisterDTO.java
@@ -7,6 +7,10 @@
 @Data
 public class CaseRegisterDTO {
     /**
+     * 案件ID
+     */
+    private String caseId;
+    /**
      * 登记时间
      */
     private Date createTime;
@@ -50,6 +54,9 @@
      * 督办次数
      */
     private int superviseCount;
-
+    /**
+     * 纠纷任务编号
+     * */
+    private String caseTaskId;
 
 }
diff --git a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
index 9b5bb46..ebd4fec 100644
--- a/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
+++ b/dyh-service/dyh-mediate/src/main/java/cn/huge/module/cases/service/CaseInfoService.java
@@ -601,6 +601,12 @@
         caseInfo.setInputUserId(loginUser.getId());
         caseInfo.setInputUserName(loginUser.getTrueName());
         caseInfo.setInputWay(CaseBaseConsts.INPUT_WAY_1);
+        if(ObjectUtils.isEmpty(registerSaveDTO.getPeopleNum())){
+            caseInfo.setPeopleNum(0);
+        }
+        if(ObjectUtils.isEmpty(registerSaveDTO.getAmount())){
+            caseInfo.setAmount(0.0);
+        }
         //默认添加省市
         caseInfo.setQueProv("19");
         caseInfo.setQueProvName("广东省");
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/controller/GridCompanyController.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/controller/GridCompanyController.java
index c5fbdc9..5353cfe 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/controller/GridCompanyController.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/controller/GridCompanyController.java
@@ -1,23 +1,29 @@
 package cn.huge.module.grid.controller;
 
 import cn.huge.base.common.bo.R;
+import cn.huge.base.common.utils.ObjectUtils;
+import cn.huge.base.common.utils.ReturnFailUtils;
+import cn.huge.base.common.utils.ReturnSucUtils;
 import cn.huge.module.grid.domain.dto.GridCompanyDTO;
 import cn.huge.module.grid.domain.vo.GridCompanyVo;
-import cn.huge.module.grid.domain.vo.GridTokenVo;
-import cn.huge.module.grid.domain.vo.GridUserVo;
 import cn.huge.module.grid.service.GridCompanyService;
+import com.google.common.collect.Maps;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
 
 @Slf4j
 @RestController
 @RequestMapping("/api/thrid/grid/company")
 public class GridCompanyController {
+    @Autowired(required = false)
+    private HttpServletRequest request;
+
     @Resource
     private GridCompanyService gridCompanyService;
 
@@ -25,4 +31,34 @@
     public R<GridCompanyDTO> getCompanyList(@RequestBody GridCompanyVo gridCompanyVo) throws Exception {
         return gridCompanyService.getCompanyList(gridCompanyVo);
     }
+
+    /**
+     * 条件分页查询
+     * @url {ctx}/api/thrid/grid/company/pageQuery
+     * @param page 页码
+     * @param size 每页数量
+     * @return Object
+     */
+    @GetMapping("/pageQuery")
+    public Object pageQuery(@RequestParam(value = "page") int page, @RequestParam(value = "size") int size) {
+        try {
+            Map<String, Object> terms = Maps.newHashMap();
+            GridCompanyVo gridCompanyVo = new GridCompanyVo();
+            String integratedQuery = request.getParameter("integratedQuery");
+            gridCompanyVo.setIntegratedQuery(integratedQuery);
+            String state = request.getParameter("state");
+            if(ObjectUtils.isNotEmpty(state)){
+                gridCompanyVo.setState(Integer.valueOf(state));
+            }
+            String gridCode = request.getParameter("gridCode");
+            gridCompanyVo.setGridCode(gridCode);
+            gridCompanyVo.setPage(page);
+            gridCompanyVo.setPageSize(size);
+            gridCompanyVo.setNeedCount(true);
+            return ReturnSucUtils.getRepInfo( "处理成功", gridCompanyService.pageQuery(gridCompanyVo));
+        } catch (Exception e) {
+            log.error("Controller接口[GridCompanyController.pageQuery]请求异常:"+e, e);
+            return ReturnFailUtils.getRepInfo();
+        }
+    }
 }
diff --git a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridCompanyService.java b/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridCompanyService.java
index 1a14f5a..9a6a478 100644
--- a/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridCompanyService.java
+++ b/dyh-service/dyh-sys/src/main/java/cn/huge/module/grid/service/GridCompanyService.java
@@ -3,6 +3,7 @@
 import cn.huge.base.common.bo.R;
 import cn.huge.base.common.utils.AesUtils;
 import cn.huge.base.common.utils.HttpClientUtils;
+import cn.huge.base.common.utils.ObjectUtils;
 import cn.huge.module.grid.domain.dto.GridCompanyDTO;
 import cn.huge.module.grid.domain.vo.*;
 import com.alibaba.fastjson.JSON;
@@ -10,15 +11,16 @@
 import com.alibaba.fastjson.JSONObject;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageImpl;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Sort;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.RequestBody;
 
 import javax.crypto.Cipher;
 import javax.crypto.spec.SecretKeySpec;
-import java.util.Base64;
-import java.util.HashMap;
-import java.util.List;
-import java.util.UUID;
+import java.util.*;
 
 import static cn.huge.base.common.utils.AesUtils.KEY_ALGORITHM;
 
@@ -70,4 +72,26 @@
         return headVo;
     }
 
+    public Page pageQuery(GridCompanyVo gridCompanyVo) throws Exception {
+        Sort sort = Sort.by(Sort.Direction.DESC, "create_time");
+        PageRequest pageRequest = PageRequest.of(gridCompanyVo.getPage()-1, gridCompanyVo.getPageSize(), sort);
+//        R<GridCompanyDTO> companyList = getCompanyList(gridCompanyVo);
+        String url = "http://183.2.142.21:9007/api/thrid/grid/company/get-company-list";
+        Map<String, String> headers = new HashMap<>();
+        headers.put("Content-Type", "application/json");
+        String s = HttpClientUtils.httpPostRaw(url, JSON.toJSONString(gridCompanyVo), headers, "utf-8");
+        R companyList = JSON.parseObject(s, R.class);
+        if(companyList.getCode() != 0){
+            throw new Exception(companyList.getMsg());
+        }
+        if(ObjectUtils.isNotEmpty(companyList)){
+            GridCompanyDTO data =  JSON.parseObject(JSON.toJSONString(companyList.getData()), GridCompanyDTO.class);
+            if(ObjectUtils.isNotEmpty(data)){
+                List<GridCompanyDTO.UnitDTO> records = data.getRecords();
+                return new PageImpl<>(records, pageRequest, data.getTotal());
+            }
+        }
+        return new PageImpl<>(new ArrayList<>(), pageRequest, 0);
+    }
+
 }

--
Gitblit v1.8.0