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