From 83bf06bcf24afdcd222ee14000924e66d02eb50c Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期六, 06 七月 2024 15:33:14 +0800
Subject: [PATCH] 电磁锁模糊查询车牌号修改提交

---
 ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java    |    8 ++--
 ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java            |    6 +++
 ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java         |    2 
 ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml                  |   19 +++++++++
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java |   30 +++++++++++----
 5 files changed, 52 insertions(+), 13 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java
index d26c725..86cc3c3 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java
@@ -278,13 +278,13 @@
         String userId = SecurityUtils.getUserId();
         List<Map<String,String>> result = ardTankLockService.getLockByCarPlate(userId,para.get("carPlate"));
         return getDataTable(result);*/
-        PageHelper.startPage((Integer) para.get("pageNum"), (Integer) para.get("pageSize"));
+        //PageHelper.startPage((Integer) para.get("pageNum"), (Integer) para.get("pageSize"));
         String userId = SecurityUtils.getUserId();
-        List<Map<String,Object>> result = ardTankLockService.getLockByCarPlate(userId, (String) para.get("carPlate"));
+        Map<String,Object> result = ardTankLockService.getLockByCarPlate(userId, (String) para.get("carPlate"),(Integer) para.get("pageNum"), (Integer) para.get("pageSize"));
 
         TableDataInfo dataTable = new TableDataInfo();
-        dataTable.setRows(result);
-        dataTable.setTotal(result.size());
+        dataTable.setRows((List<Map<String,Object>>) result.get("list"));
+        dataTable.setTotal((Long) result.get("total"));
         dataTable.setCode(200);
         dataTable.setMsg("鏌ヨ鎴愬姛");
         return dataTable;
diff --git a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java
index 4c89d68..4845edf 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockMapper.java
@@ -73,4 +73,10 @@
     public int deleteArdTankLockByIdSet(@Param("idSet") Set<String> idSet);
 
     public Long selectArdTankLockTotal();
+
+    public List<ArdTankLock> getLockByCarIdList(@Param("carIdList") List<String> carIdList);
+
+    public Long selectArdTankLockAllTotal();
+
+    public Long selectArdTankLockTotalByCarIdList(@Param("carIdList") List<String> carIdList);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java b/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java
index d081f3d..bebf257 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java
@@ -71,5 +71,5 @@
 
     public int updateLockByCarId(Map<String,Object> para);
 
-    public List<Map<String, Object>> getLockByCarPlate(String usersId, String carPlate);
+    public Map<String,Object> getLockByCarPlate(String usersId, String carPlate, Integer pageNum, Integer pageSize);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
index c708f40..473148e 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java
@@ -2,6 +2,7 @@
 
 import java.util.*;
 
+import com.github.pagehelper.PageHelper;
 import com.ruoyi.common.core.domain.entity.SysConfig;
 import com.ruoyi.common.utils.uuid.IdUtils;
 import com.ruoyi.sy.domain.ArdSyUser;
@@ -324,36 +325,38 @@
     }
 
     @Override
-    public List<Map<String, Object>> getLockByCarPlate(String usersId, String carPlate) {
-        List<ArdTankLock> ardTankLockList = ardTankLockMapper.getAll();
+    public Map<String,Object> getLockByCarPlate(String usersId, String carPlate, Integer pageNum, Integer pageSize) {
         ArdSyUser ardSyUser = ardSyUserMapper.userById(usersId);
         if(ardSyUser == null){
-            return new ArrayList();
+            return new HashMap();
         }
         List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT");
         String syURL = "";
         if(syURLResult.size() != 0){
             syURL = syURLResult.get(0).getConfigValue();
         }else{
-            return new ArrayList();
+            return new HashMap();
         }
         String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword());
         Map<String, Object> LogInResult = sYClient.logIn(syURL, passwordMd5, ardSyUser.getUserId());
         String sessionId = (String) LogInResult.get("sessionId");
-        //List<ArdTankLock> ardTankLockList = ardTankLockMapper.getAll();
+        List<ArdTankLock> ardTankLockList = new ArrayList();
         List<Map<String,Object>> result = new ArrayList();
+        List<String> carIdList = new ArrayList();//璁板綍涓変竴杞﹁締涓婚敭
         if(!carPlate.equals("")){
             Map<String,Object> carMap = sYClient.getCarListByPlate(syURL,carPlate,ardSyUser.getUserId(),sessionId);//杞︾墝鍙锋ā绯婃悳绱㈣溅杈�
             List<Map<String,Object>> carList = new ArrayList();
             if(((String)carMap.get("rspCode")).equals("1")){
                 carList = (List<Map<String, Object>>) carMap.get("list");
             }else{
-                return new ArrayList();
+                return new HashMap();
             }
-            List<String> carIdList = new ArrayList();//璁板綍涓変竴杞﹁締涓婚敭
+            //List<String> carIdList = new ArrayList();//璁板綍涓変竴杞﹁締涓婚敭
             for(Map<String,Object> map : carList){
                 carIdList.add((String) map.get("carId"));
             }
+            PageHelper.startPage(pageNum, pageSize);//鍒嗛〉
+            ardTankLockList = ardTankLockMapper.getLockByCarIdList(carIdList);
             for(ArdTankLock ardTankLock : ardTankLockList){
                 if(carIdList.contains(ardTankLock.getCarId())){//杩斿洖鐨勮溅杈嗗寘鍚暟鎹簱褰曞叆鐨勮溅杈�
                     Map<String,Object> map = new HashMap();
@@ -382,6 +385,8 @@
                 }
             }
         }else{
+            PageHelper.startPage(pageNum, pageSize);//鍒嗛〉
+            ardTankLockList = ardTankLockMapper.getAll();
             for(ArdTankLock ardTankLock : ardTankLockList){
                 Map<String,Object> map = new HashMap();
                 map.put("id",ardTankLock.getId());
@@ -409,6 +414,15 @@
                 result.add(map);
             }
         }
-        return result;
+        Long total = Long.valueOf(0);
+        if(!carPlate.equals("")){
+            total = ardTankLockMapper.selectArdTankLockTotalByCarIdList(carIdList);
+        }else{
+            total = ardTankLockMapper.selectArdTankLockAllTotal();
+        }
+        Map<String,Object> mapResult = new HashMap();
+        mapResult.put("list",result);
+        mapResult.put("total",total);
+        return mapResult;
     }
 }
diff --git a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
index 1286241..a71f574 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
@@ -126,4 +126,23 @@
     <select id="selectArdTankLockTotal" resultType="java.lang.Long">
         select count(distinct atl.car_id) from ard_tank_lock atl
     </select>
+
+    <select id="getLockByCarIdList" >
+        select * from ard_tank_lock where id in
+        <foreach item="id" collection="carIdList" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+        order by atl.car_id,lock_num
+    </select>
+
+    <select id="selectArdTankLockAllTotal" resultType="java.lang.Long">
+        select count(*) from ard_tank_lock atl
+    </select>
+
+    <select id="selectArdTankLockTotalByCarIdList" >
+        select count(*) from ard_tank_lock where id in
+        <foreach item="id" collection="carIdList" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3