From 9aac460a313ac8284e0fd633183c93815f95e0de Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期三, 24 七月 2024 17:21:57 +0800
Subject: [PATCH] 实时状态预提交修改提交

---
 ard-work/src/main/resources/mapper/sy/ArdTankLockStateMapper.xml                       |   16 ++++++++
 ard-work/src/main/resources/mapper/sy/ArdSyCarMapper.xml                               |   17 ++++++++
 ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java                         |    2 +
 ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml                            |    1 
 ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java                 |    5 +-
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java |    5 +-
 ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockStateMapper.java                 |    2 +
 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockServiceImpl.java           |   38 ++++++++++++++----
 8 files changed, 73 insertions(+), 13 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
index 1412e50..9441272 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -206,7 +206,8 @@
                 thread.start();
             }
         };
-        lockStateTimer.scheduleAtFixedRate(lockStateTask,date,3000);
+        //lockStateTimer.scheduleAtFixedRate(lockStateTask,date,3000);
+        lockStateTimer.scheduleAtFixedRate(lockStateTask,date,5000);
 
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         Timer lockCheckTimeTimer = new Timer();//瀹氭椂鏍″噯鏃堕棿
@@ -323,7 +324,7 @@
                 }
             }
         };
-        sendTimer.scheduleAtFixedRate(sendLockStateTask,date,3000);
+        //sendTimer.scheduleAtFixedRate(sendLockStateTask,date,3000);
 
 
     }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java
index a99f360..e73605b 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java
@@ -92,4 +92,6 @@
     public long getCountByCarIdList(@Param("carIdList") List<String> carIdList);
 
     public List<ArdSyCar> getCarListByDeptIdList(@Param("deptIdList") List<Long> deptIdList);
+
+    public List<ArdSyCar> selectArdSyCarAndTankLockByUserId(String userId);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockStateMapper.java b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockStateMapper.java
index f84c4a9..d18bf37 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockStateMapper.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockStateMapper.java
@@ -60,4 +60,6 @@
     public int deleteArdTankLockStateByIds(String[] ids);
 
     public int insertOrUpdateArdTankLockState(ArdTankLockState ardTankLockState);
+
+    public ArdTankLockState selectArdTankLockStateByLockIdLimitOne(String lockId);
 }
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java
index 396fc26..1072653 100644
--- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java
@@ -205,11 +205,12 @@
 
                 String paramsStr = lockNum + "02" + process + checkNum;
                 paramsStr = "%7B%22type%22%3A%22ff%22%2C%22dataCnt%22%3A%22" + paramsStr + "%22%7D";
+                System.out.println(paramsStr);
                 Map<String,Object> result = sendCmd(syURL, ardSyUser.getUserId(), carId, 199, "DataDownTransfer", paramsStr, sessionId);
                 System.out.println("111111111111");
                 System.out.println(result);
                 if(((String)result.get("rspCode")).equals("0")){
-                    /*ArdTankLockProcessLog ardTankLockProcessLog = new ArdTankLockProcessLog();
+                    ArdTankLockProcessLog ardTankLockProcessLog = new ArdTankLockProcessLog();
                     ardTankLockProcessLog.setId(IdUtils.simpleUUID());
                     ardTankLockProcessLog.setLockId(lockId);
                     ardTankLockProcessLog.setLockNum(lockNum);
@@ -226,7 +227,7 @@
                     ardTankLockProcessLog.setLongitude(lng);
                     ardTankLockProcessLog.setLatitude(lat);
                     ardTankLockProcessLog.setProcessTime(this.sdf.format(new Date()));
-                    ardTankLockProcessLogMapper.insertArdTankLockProcessLog(ardTankLockProcessLog);*/
+                    ardTankLockProcessLogMapper.insertArdTankLockProcessLog(ardTankLockProcessLog);
                     return "鍙戦�佹垚鍔�";
                 }else{
                     return "鍙戦�佸け璐�";
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 f882b22..f3eeefd 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
@@ -5,11 +5,10 @@
 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.ArdSyCar;
 import com.ruoyi.sy.domain.ArdSyUser;
 import com.ruoyi.sy.domain.ArdTankLockState;
-import com.ruoyi.sy.mapper.ArdSyUserMapper;
-import com.ruoyi.sy.mapper.ArdTankWallLockMapper;
-import com.ruoyi.sy.mapper.ArdTankWallLockTemporaryMapper;
+import com.ruoyi.sy.mapper.*;
 import com.ruoyi.system.mapper.SysConfigMapper;
 import com.ruoyi.utils.forest.SYClient;
 import org.apache.commons.codec.digest.DigestUtils;
@@ -17,7 +16,6 @@
 
 import java.util.stream.Collectors;
 
-import com.ruoyi.sy.mapper.ArdTankLockMapper;
 import com.ruoyi.sy.domain.ArdTankLock;
 import com.ruoyi.sy.service.IArdTankLockService;
 
@@ -45,6 +43,12 @@
 
     @Resource
     private SysConfigMapper sysConfigMapper;
+
+    @Resource
+    private ArdSyCarMapper ardSyCarMapper;
+
+    @Resource
+    private ArdTankLockStateMapper ardTankLockStateMapper;
 
     @Resource
     private SYClient sYClient;
@@ -461,9 +465,6 @@
 
     @Override
     public void sendLockState(String userId, String syUserId, String syPassword) {
-
-
-
         /*List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT");
         String syURL = "";
         if(syURLResult.size() != 0){
@@ -474,7 +475,26 @@
         String passwordMd5 = DigestUtils.md5Hex(syPassword);
         Map<String, Object> LogInResult = sYClient.logIn(syURL, passwordMd5, syUserId);
         String sessionId = (String) LogInResult.get("sessionId");
-        List<ArdTankLock> ardTankLockList = ardTankLockMapper.getLockByCarId(carId);
-        Map<String,Object> syResult = sYClient.getCarNearPositionByCarId(syURL, carId, ardSyUser.getUserId(), sessionId);*/
+        Map<String,Object> syResult = sYClient.getCarNearPositionByCarId(syURL, carId, syUserId, sessionId);
+
+        List<Map<String,Object>> result = new ArrayList();
+        List<ArdSyCar> ardSyCarResult = ardSyCarMapper.selectArdSyCarAndTankLockByUserId(userId);
+        for(ArdSyCar ardSyCar : ardSyCarResult){
+            Map<String,Object> map = new HashMap();
+            map.put("id",ardSyCar.getId());
+            map.put("carId",ardSyCar.getCarId());
+            map.put("carModel",ardSyCar.getCarModel());
+            map.put("carType",ardSyCar.getCarType());
+            map.put("carBrand",ardSyCar.getCarBrand());
+            map.put("deptId",ardSyCar.getDeptId());
+
+
+
+
+            List<ArdTankLock> ardTankLockList = ardSyCar.getArdTankLockList();
+            for(ArdTankLock ardTankLock : ardTankLockList){
+                ArdTankLockState ardTankLockStateResult = ardTankLockStateMapper.selectArdTankLockStateByLockIdLimitOne(ardTankLock.getId());
+            }
+        }*/
     }
 }
diff --git a/ard-work/src/main/resources/mapper/sy/ArdSyCarMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdSyCarMapper.xml
index 277904e..19c8ba2 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdSyCarMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdSyCarMapper.xml
@@ -163,4 +163,21 @@
             #{deptId}
         </foreach>
     </select>
+    <select id="selectArdSyCarAndTankLockByUserId" resultMap="ArdSyCarLockResult">
+        select "asc".id,"asc".car_id,"asc".car_model,"asc".car_type,
+        "asc".car_brand,"asc".dept_id,"asc".car_picture,atl.id as lid,
+        atl.lock_num,atl.lock_name,atl.img_position_top,atl.img_position_left,
+        atl.car_id as lcar_id,atl.enable,coalesce(atl.restart_state,'') as restart_state,
+        coalesce(atl.online_time,'') as online_time
+        from ard_sy_car "asc"
+        inner join ard_tank_lock atl on "asc".car_id = atl.car_id
+        where "asc".dept_id in (
+        with recursive rsd as (
+            select sd.dept_id from sys_dept sd where sd.dept_id =
+            (select dept_id from sys_user su where su.user_id = #{userId})
+            union
+            select csd.dept_id from sys_dept csd inner join rsd on rsd.dept_id = csd.parent_id
+        )
+        select dept_id from rsd) order by "asc".car_id desc,atl.lock_num
+    </select>
 </mapper>
\ No newline at end of file
diff --git a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
index 6608f8d..bbd54d8 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankLockMapper.xml
@@ -144,6 +144,7 @@
         case atls.lock_state
         when '鍏抽攣鐘舵��' then false
         when '寮傚父鐘舵��' then false
+        when '鍔ㄤ綔鐘舵��' then false
         when '寮�閿佺姸鎬�' then true
         end as lock_state_mark
         from ard_tank_lock atl
diff --git a/ard-work/src/main/resources/mapper/sy/ArdTankLockStateMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdTankLockStateMapper.xml
index 180db6b..d8ef601 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdTankLockStateMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankLockStateMapper.xml
@@ -110,4 +110,20 @@
                 #{uniqueMark,jdbcType=VARCHAR})
             on conflict(unique_mark) do update set upload_time=#{uploadTime,jdbcType=VARCHAR}
     </insert>
+
+    <select id="selectArdTankLockStateByLockIdLimitOne" parameterType="java.lang.String" resultMap="ArdTankLockStateResult">
+        select atls.id,atls.lock_id,atls.lock_num as slock_num,
+        atls.lock_state,atls.lock_position_state,atls.lock_shell_state,
+        atls.restart_state as srestart_state,atls.batter_voltage,
+        atls.power_voltage,atls.upload_time,atls.unique_mark,
+        case atls.lock_state
+        when '鍏抽攣鐘舵��' then false
+        when '寮傚父鐘舵��' then false
+        when '鍔ㄤ綔鐘舵��' then false
+        when '寮�閿佺姸鎬�' then true
+        end as lock_state_mark
+        from ard_tank_lock_state atls
+        where atls.lock_id = #{lockId} order by atls.upload_time desc
+        limit 1
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3