From 06842b9c367083c3bf77b8b54a1e1a32b68a2e5e Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期六, 06 七月 2024 09:02:33 +0800
Subject: [PATCH] 电磁锁分页bug修改提交

---
 ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallService.java             |    4 +
 ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java        |   90 ++++++++++++++++++++++++++---
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallServiceImpl.java     |    8 ++
 ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockService.java             |    2 
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java |   35 +++++++++++
 ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml                  |    8 ++
 ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml                      |    9 +++
 ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallMapper.java                |    4 +
 ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java            |    2 
 ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallLockService.java         |    6 ++
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java     |   11 ++-
 11 files changed, 162 insertions(+), 17 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 5a47087..3dfbfd2 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
@@ -4,9 +4,12 @@
 import java.util.Map;
 import javax.servlet.http.HttpServletResponse;
 
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.uuid.IdUtils;
 import com.ruoyi.sy.domain.ArdTankWall;
+import com.ruoyi.sy.service.IArdTankWallLockService;
 import com.ruoyi.sy.service.IArdTankWallService;
 import com.ruoyi.utils.result.Results;
 import io.swagger.annotations.Api;
@@ -45,6 +48,9 @@
 
     @Autowired
     private IArdTankWallService ardTankWallService;
+
+    @Autowired
+    private IArdTankWallLockService ardTankWallLockService;
 
     /**
      * 鏌ヨ鐢电閿佸垪琛�
@@ -142,12 +148,24 @@
 
     @ApiOperation("鏌ヨ鍏ㄩ儴鐢电閿�")
     @PreAuthorize("@ss.hasPermi('sy:lock:getAll')")
-    @GetMapping("/getAll")
-    public TableDataInfo getAll() {
-        startPage();
+    //@GetMapping("/getAll")
+    @PostMapping("/getAll")
+    public TableDataInfo getAll(@RequestBody Map<String,Integer> para) {
+        /*startPage();
         String userId = SecurityUtils.getUserId();
         List<Map<String,Object>> result = ardTankLockService.getAll(userId);
-        return getDataTable(result);
+        return getDataTable(result);*/
+
+        PageHelper.startPage((Integer) para.get("pageNum"), (Integer) para.get("pageSize"));
+        String userId = SecurityUtils.getUserId();
+        List<Map<String,Object>> result = ardTankLockService.getAll(userId);
+
+        TableDataInfo dataTable = new TableDataInfo();
+        dataTable.setRows(result);
+        dataTable.setTotal(result.size());
+        dataTable.setCode(200);
+        dataTable.setMsg("鏌ヨ鎴愬姛");
+        return dataTable;
     }
 
     /**
@@ -223,10 +241,23 @@
     @ApiOperation("鏌ヨ鍏ㄩ儴鐢靛瓙鍥存爮")
     @PreAuthorize("@ss.hasPermi('sy:lock:getAllArdTankWall')")
     @PostMapping("/getAllArdTankWall")
-    public TableDataInfo getAllArdTankWall(@RequestBody ArdTankWall ardTankWall) {
-        startPage();
+    public TableDataInfo getAllArdTankWall(@RequestBody Map<String,Object> para) {
+        /*startPage();
+        ArdTankWall ardTankWall = new ArdTankWall();
+        ardTankWall.setWallName((String) para.get("wallName"));
         List<ArdTankWall> list = ardTankWallService.selectArdTankWallList(ardTankWall);
-        return getDataTable(list);
+        return getDataTable(list);*/
+        PageHelper.startPage((Integer) para.get("pageNum"), (Integer) para.get("pageSize"));
+        ArdTankWall ardTankWall = new ArdTankWall();
+        ardTankWall.setWallName((String) para.get("wallName"));
+        List<ArdTankWall> list = ardTankWallService.selectArdTankWallList(ardTankWall);
+
+        TableDataInfo dataTable = new TableDataInfo();
+        dataTable.setRows(list);
+        dataTable.setTotal(list.size());
+        dataTable.setCode(200);
+        dataTable.setMsg("鏌ヨ鎴愬姛");
+        return dataTable;
     }
 
     @ApiOperation("鏍规嵁涓婚敭鑾峰彇鐢电閿佺數瀛愬洿鏍�")
@@ -242,10 +273,49 @@
     @ApiOperation("妯$硦鏌ヨ鐢电閿佸強鎸傛帴鐨勮溅杈�")
     @PreAuthorize("@ss.hasPermi('sy:lock:getLockByCarPlate')")
     @PostMapping("/getLockByCarPlate")
-    public TableDataInfo getLockByCarPlate(@RequestBody Map<String,String> para) {
-        startPage();
+    public TableDataInfo getLockByCarPlate(@RequestBody Map<String,Object> para) {
+        /*startPage();
         String userId = SecurityUtils.getUserId();
         List<Map<String,String>> result = ardTankLockService.getLockByCarPlate(userId,para.get("carPlate"));
-        return getDataTable(result);
+        return getDataTable(result);*/
+        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"));
+
+        TableDataInfo dataTable = new TableDataInfo();
+        dataTable.setRows(result);
+        dataTable.setTotal(result.size());
+        dataTable.setCode(200);
+        dataTable.setMsg("鏌ヨ鎴愬姛");
+        return dataTable;
+    }
+
+    @ApiOperation("鏍规嵁閿佷富閿幏鍙栫數瀛愬洿鏍�")
+    @PreAuthorize("@ss.hasPermi('sy:tankWall:getArdTankWallByLockId')")
+    @GetMapping(value = "/getArdTankWallByLockId/{id}")
+    public AjaxResult getArdTankWallByLockId(@PathVariable String id) {
+        return success(ardTankWallService.getArdTankWallByLockId(id));
+    }
+
+    /**
+     * 鎸傛帴鐢电閿佸強鐢靛瓙鍥存爮
+     */
+    @ApiOperation("鎸傛帴鐢电閿佸強鐢靛瓙鍥存爮")
+    @PreAuthorize("@ss.hasPermi('sy:lock:insertWallLock')")
+    @PostMapping("/insertWallLock")
+    public AjaxResult insertWallLock(@RequestBody Map<String,Object> para) {
+        int result = ardTankWallLockService.insertWallLock(para);
+        return toAjax(result);
+    }
+
+    /**
+     * 鏍规嵁閿佷富閿垹闄ゆ寕鎺ョ殑鐢靛瓙鍥存爮
+     */
+    @ApiOperation("鏍规嵁閿佷富閿垹闄ゆ寕鎺ョ殑鐢靛瓙鍥存爮")
+    @PreAuthorize("@ss.hasPermi('sy:lock:deleteArdTankWallLockByLockId')")
+    @Log(title = "鐢电閿�" , businessType = BusinessType.DELETE)
+    @DeleteMapping("/deleteArdTankWallLockByLockId/{id}")
+    public AjaxResult deleteArdTankWallLockByLockId(@PathVariable String id) {
+        return toAjax(ardTankWallLockService.deleteArdTankWallLockByLockId(id));
     }
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java
index 6cf096c..3aa9cdf 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallLockMapper.java
@@ -62,4 +62,6 @@
     public int deleteArdTankWallLockByLockId(String lockId);
 
     public int deleteArdTankWallLockByWallId(String wallId);
+
+    public int updateArdTankWallLockByWallIdAndLockId(ArdTankWallLock ardTankWallLock);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallMapper.java b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallMapper.java
index e213b13..2cb362c 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallMapper.java
@@ -1,6 +1,8 @@
 package com.ruoyi.sy.mapper;
 
 import java.util.List;
+import java.util.Map;
+
 import com.ruoyi.sy.domain.ArdTankWall;
 
 /**
@@ -60,4 +62,6 @@
     public int deleteArdTankWallByIds(String[] ids);
 
     public List<ArdTankWall> getAllArdTankWall();
+
+    public List<Map<String,String>> getArdTankWallByLockId(String id);
 }
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 ef31435..5a32b74 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, String>> getLockByCarPlate(String usersId, String carPlate);
+    public List<Map<String, Object>> getLockByCarPlate(String usersId, String carPlate);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallLockService.java b/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallLockService.java
index 5ce129a..b485833 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallLockService.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallLockService.java
@@ -1,6 +1,8 @@
 package com.ruoyi.sy.service;
 
 import java.util.List;
+import java.util.Map;
+
 import com.ruoyi.sy.domain.ArdTankWallLock;
 
 /**
@@ -58,4 +60,8 @@
      * @return 缁撴灉
      */
     public int deleteArdTankWallLockByProcessType(String processType);
+
+    public int insertWallLock(Map<String,Object> para);
+
+    public int deleteArdTankWallLockByLockId(String id);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallService.java b/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallService.java
index 97073e5..d4d3c0a 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallService.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankWallService.java
@@ -1,6 +1,8 @@
 package com.ruoyi.sy.service;
 
 import java.util.List;
+import java.util.Map;
+
 import com.ruoyi.sy.domain.ArdTankWall;
 
 /**
@@ -60,4 +62,6 @@
     public int deleteArdTankWallById(String id);
 
     public List<ArdTankWall> getAllArdTankWall();
+
+    public List<Map<String,String>> getArdTankWallByLockId(String id);
 }
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 95d0239..8b84e12 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
@@ -320,7 +320,8 @@
     }
 
     @Override
-    public List<Map<String, String>> getLockByCarPlate(String usersId, String carPlate) {
+    public List<Map<String, Object>> getLockByCarPlate(String usersId, String carPlate) {
+        List<ArdTankLock> ardTankLockList = ardTankLockMapper.getAll();
         ArdSyUser ardSyUser = ardSyUserMapper.userById(usersId);
         if(ardSyUser == null){
             return new ArrayList();
@@ -335,8 +336,8 @@
         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<Map<String,String>> result = new ArrayList();
+        //List<ArdTankLock> ardTankLockList = ardTankLockMapper.getAll();
+        List<Map<String,Object>> result = new ArrayList();
         if(!carPlate.equals("")){
             Map<String,Object> carMap = sYClient.getCarListByPlate(syURL,carPlate,ardSyUser.getUserId(),sessionId);//杞︾墝鍙锋ā绯婃悳绱㈣溅杈�
             List<Map<String,Object>> carList = new ArrayList();
@@ -351,7 +352,7 @@
             }
             for(ArdTankLock ardTankLock : ardTankLockList){
                 if(carIdList.contains(ardTankLock.getCarId())){//杩斿洖鐨勮溅杈嗗寘鍚暟鎹簱褰曞叆鐨勮溅杈�
-                    Map<String,String> map = new HashMap();
+                    Map<String,Object> map = new HashMap();
                     map.put("id",ardTankLock.getId());
                     map.put("lockNum",ardTankLock.getLockNum());
                     map.put("lockName",ardTankLock.getLockName());
@@ -378,7 +379,7 @@
             }
         }else{
             for(ArdTankLock ardTankLock : ardTankLockList){
-                Map<String,String> map = new HashMap();
+                Map<String,Object> map = new HashMap();
                 map.put("id",ardTankLock.getId());
                 map.put("lockNum",ardTankLock.getLockNum());
                 map.put("lockName",ardTankLock.getLockName());
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java
index 350f42e..4bee365 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallLockServiceImpl.java
@@ -6,11 +6,15 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import java.util.ArrayList;
+import java.util.Map;
+
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.sy.mapper.ArdTankWallLockMapper;
 import com.ruoyi.sy.domain.ArdTankWallLock;
 import com.ruoyi.sy.service.IArdTankWallLockService;
+
+import javax.annotation.Resource;
 
 /**
  * 鐢靛瓙鍥存爮鐢电閿丼ervice涓氬姟灞傚鐞�
@@ -20,7 +24,7 @@
  */
 @Service
 public class ArdTankWallLockServiceImpl implements IArdTankWallLockService {
-    @Autowired
+    @Resource
     private ArdTankWallLockMapper ardTankWallLockMapper;
 
     /**
@@ -89,4 +93,33 @@
     public int deleteArdTankWallLockByProcessType(String processType) {
         return ardTankWallLockMapper.deleteArdTankWallLockByProcessType(processType);
     }
+
+    @Override
+    public int insertWallLock(Map<String, Object> para) {
+        String id = (String) para.get("id");//閿佷富閿�
+        List<Map<String,String>> tankWallLockList = (List<Map<String, String>>) para.get("tankWallLockList");
+        //List<ArdTankWallLock> tankWallLocks = new ArrayList();
+        int result = 0;
+        for(Map<String,String> map : tankWallLockList){
+            ArdTankWallLock ardTankWallLock = new ArdTankWallLock();
+            ardTankWallLock.setWallId(map.get("wallId"));
+            ardTankWallLock.setLockId(id);
+            List<ArdTankWallLock> ardTankWallLockList = ardTankWallLockMapper.selectArdTankWallLockList(ardTankWallLock);
+            if(ardTankWallLockList.size() != 0){
+                ardTankWallLock.setProcessType(map.get("processType"));
+                result = result + ardTankWallLockMapper.updateArdTankWallLockByWallIdAndLockId(ardTankWallLock);
+            }else{
+                ardTankWallLock.setProcessType(map.get("processType"));
+                ardTankWallLock.setId(IdUtils.simpleUUID());
+                result = result + ardTankWallLockMapper.insertArdTankWallLock(ardTankWallLock);
+            }
+        }
+        return result;
+    }
+
+    @Override
+    public int deleteArdTankWallLockByLockId(String id) {
+        int result = ardTankWallLockMapper.deleteArdTankWallLockByLockId(id);
+        return result;
+    }
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallServiceImpl.java
index f5fbc50..a6ad35a 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankWallServiceImpl.java
@@ -7,6 +7,8 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import java.util.ArrayList;
+import java.util.Map;
+
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.sy.mapper.ArdTankWallMapper;
@@ -105,4 +107,10 @@
         List<ArdTankWall> result = ardTankWallMapper.getAllArdTankWall();
         return result;
     }
+
+    @Override
+    public List<Map<String,String>> getArdTankWallByLockId(String id) {
+        List<Map<String,String>> result = ardTankWallMapper.getArdTankWallByLockId(id);
+        return result;
+    }
 }
diff --git a/ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml
index 8085bea..1de0fbe 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankWallLockMapper.xml
@@ -73,4 +73,12 @@
     <delete id="deleteArdTankWallLockByWallId" parameterType="java.lang.String">
         delete from ard_tank_wall_lock where wall_id = #{wallId}
     </delete>
+
+    <update id="updateArdTankWallLockByWallIdAndLockId" parameterType="ArdTankWallLock">
+        update ard_tank_wall_lock
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="processType != null">process_type = #{processType},</if>
+        </trim>
+        where wall_id = #{wallId} and lock_id = #{lockId}
+    </update>
 </mapper>
\ No newline at end of file
diff --git a/ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml
index 19cc695..1ae019e 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml
@@ -65,4 +65,13 @@
     <select id="getAllArdTankWall" resultMap="ArdTankWallResult">
         select * from ard_tank_wall order by wall_name
     </select>
+
+    <select id="getArdTankWallByLockId" resultType="java.util.Map" parameterType="java.lang.String">
+        select atw.id,atw.wall_name as "wallName",atw.wall_poi as "wallPoi",
+        atwl.process_type as "processType",case process_type when '-1' then '鍏冲姩浣�'
+        when '0' then '鏃犲姩浣�' when '1' then '寮�鍔ㄤ綔' end as process
+        from ard_tank_wall_lock atwl
+        inner join ard_tank_wall atw on atwl.wall_id = atw.id
+        where atwl.lock_id = #{id}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3