From cbbea55a92b178b75f58e7c468f7e8d8ae417c9d Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期四, 11 七月 2024 13:18:38 +0800
Subject: [PATCH] 电磁锁手动操控提交
---
ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockProcessLogService.java | 65 +++++
ard-work/src/main/java/com/ruoyi/sy/controller/ArdTankLockController.java | 17 +
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockProcessLogMapper.java | 61 +++++
ard-work/src/main/java/com/ruoyi/sy/domain/ArdTankLockProcessLog.java | 191 +++++++++++++++
ard-work/src/main/resources/mapper/sy/ArdTankLockProcessLogMapper.xml | 108 +++++++++
ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml | 6
ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallMapper.java | 2
ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java | 236 +++++++++++++++++++
8 files changed, 686 insertions(+), 0 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 86cc3c3..fe15822 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
@@ -9,6 +9,7 @@
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.sy.domain.ArdTankWall;
+import com.ruoyi.sy.service.IArdTankLockProcessLogService;
import com.ruoyi.sy.service.IArdTankWallLockService;
import com.ruoyi.sy.service.IArdTankWallService;
import com.ruoyi.utils.result.Results;
@@ -51,6 +52,9 @@
@Autowired
private IArdTankWallLockService ardTankWallLockService;
+
+ @Autowired
+ private IArdTankLockProcessLogService ardTankLockProcessLogService;
/**
* 鏌ヨ鐢电閿佸垪琛�
@@ -318,4 +322,17 @@
public AjaxResult deleteArdTankWallLockByLockId(@PathVariable String id) {
return toAjax(ardTankWallLockService.deleteArdTankWallLockByLockId(id));
}
+
+ /**
+ * 鎿嶆帶鐢电閿�
+ */
+ @ApiOperation("鎿嶆帶鐢电閿�")
+ @PreAuthorize("@ss.hasPermi('sy:lock:processArdTankLockByLockId')")
+ @Log(title = "鐢电閿�" , businessType = BusinessType.INSERT)
+ @PostMapping("/processArdTankLockByLockId")
+ public AjaxResult processArdTankLockByLockId(@RequestBody Map<String,String> para) {
+ String userId = SecurityUtils.getUserId();
+ String username = SecurityUtils.getUsername();
+ return AjaxResult.success(ardTankLockProcessLogService.processArdTankLockByLockId(userId,username,para));
+ }
}
diff --git a/ard-work/src/main/java/com/ruoyi/sy/domain/ArdTankLockProcessLog.java b/ard-work/src/main/java/com/ruoyi/sy/domain/ArdTankLockProcessLog.java
new file mode 100644
index 0000000..f3f7c8c
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/sy/domain/ArdTankLockProcessLog.java
@@ -0,0 +1,191 @@
+package com.ruoyi.sy.domain;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 缃愯溅閿佹搷鎺ф棩蹇楀璞� ard_tank_lock_process_log
+ *
+ * @author ard
+ * @date 2024-07-10
+ */
+public class ArdTankLockProcessLog extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 涓婚敭 */
+ private String id;
+
+ /** 閿佷富閿� */
+ @Excel(name = "閿佷富閿�")
+ private String lockId;
+
+ /** 閿佺紪鍙� */
+ @Excel(name = "閿佺紪鍙�")
+ private String lockNum;
+
+ /** 涓変竴杞﹁締涓婚敭 */
+ @Excel(name = "涓変竴杞﹁締涓婚敭")
+ private String carId;
+
+ /** 杞︾墝鍙� */
+ @Excel(name = "杞︾墝鍙�")
+ private String carPlate;
+
+ /** 鎿嶄綔鐢ㄦ埛涓婚敭 */
+ @Excel(name = "鎿嶄綔鐢ㄦ埛涓婚敭")
+ private String userId;
+
+ /** 鎿嶄綔鐢ㄦ埛璐﹀彿 */
+ @Excel(name = "鎿嶄綔鐢ㄦ埛璐﹀彿")
+ private String userName;
+
+ /** 鎿嶄綔 */
+ @Excel(name = "鎿嶄綔")
+ private String process;
+
+ /** 鎿嶄綔鍘熷洜 */
+ @Excel(name = "鎿嶄綔鍘熷洜")
+ private String processReason;
+
+ /** 缁忓害 */
+ @Excel(name = "缁忓害")
+ private String longitude;
+
+ /** 绾害 */
+ @Excel(name = "绾害")
+ private String latitude;
+
+ /** 鎿嶄綔鏃堕棿 */
+ @Excel(name = "鎿嶄綔鏃堕棿")
+ private String processTime;
+
+ public void setId(String id)
+ {
+ this.id = id;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+ public void setLockId(String lockId)
+ {
+ this.lockId = lockId;
+ }
+
+ public String getLockId()
+ {
+ return lockId;
+ }
+ public void setLockNum(String lockNum)
+ {
+ this.lockNum = lockNum;
+ }
+
+ public String getLockNum()
+ {
+ return lockNum;
+ }
+ public void setCarId(String carId)
+ {
+ this.carId = carId;
+ }
+
+ public String getCarId()
+ {
+ return carId;
+ }
+ public void setCarPlate(String carPlate)
+ {
+ this.carPlate = carPlate;
+ }
+
+ public String getCarPlate()
+ {
+ return carPlate;
+ }
+ public void setUserId(String userId)
+ {
+ this.userId = userId;
+ }
+
+ public String getUserId()
+ {
+ return userId;
+ }
+ public void setUserName(String userName)
+ {
+ this.userName = userName;
+ }
+
+ public String getUserName()
+ {
+ return userName;
+ }
+ public void setProcess(String process)
+ {
+ this.process = process;
+ }
+
+ public String getProcess()
+ {
+ return process;
+ }
+ public void setProcessReason(String processReason)
+ {
+ this.processReason = processReason;
+ }
+
+ public String getProcessReason()
+ {
+ return processReason;
+ }
+ public void setLongitude(String longitude)
+ {
+ this.longitude = longitude;
+ }
+
+ public String getLongitude()
+ {
+ return longitude;
+ }
+ public void setLatitude(String latitude)
+ {
+ this.latitude = latitude;
+ }
+
+ public String getLatitude()
+ {
+ return latitude;
+ }
+ public void setProcessTime(String processTime)
+ {
+ this.processTime = processTime;
+ }
+
+ public String getProcessTime()
+ {
+ return processTime;
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+ .append("id", getId())
+ .append("lockId", getLockId())
+ .append("lockNum", getLockNum())
+ .append("carId", getCarId())
+ .append("carPlate", getCarPlate())
+ .append("userId", getUserId())
+ .append("userName", getUserName())
+ .append("process", getProcess())
+ .append("processReason", getProcessReason())
+ .append("longitude", getLongitude())
+ .append("latitude", getLatitude())
+ .append("processTime", getProcessTime())
+ .toString();
+ }
+}
diff --git a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockProcessLogMapper.java b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockProcessLogMapper.java
new file mode 100644
index 0000000..7ff13ba
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankLockProcessLogMapper.java
@@ -0,0 +1,61 @@
+package com.ruoyi.sy.mapper;
+
+import java.util.List;
+import com.ruoyi.sy.domain.ArdTankLockProcessLog;
+
+/**
+ * 缃愯溅閿佹搷鎺ф棩蹇桵apper鎺ュ彛
+ *
+ * @author ard
+ * @date 2024-07-10
+ */
+public interface ArdTankLockProcessLogMapper
+{
+ /**
+ * 鏌ヨ缃愯溅閿佹搷鎺ф棩蹇�
+ *
+ * @param id 缃愯溅閿佹搷鎺ф棩蹇椾富閿�
+ * @return 缃愯溅閿佹搷鎺ф棩蹇�
+ */
+ public ArdTankLockProcessLog selectArdTankLockProcessLogById(String id);
+
+ /**
+ * 鏌ヨ缃愯溅閿佹搷鎺ф棩蹇楀垪琛�
+ *
+ * @param ardTankLockProcessLog 缃愯溅閿佹搷鎺ф棩蹇�
+ * @return 缃愯溅閿佹搷鎺ф棩蹇楅泦鍚�
+ */
+ public List<ArdTankLockProcessLog> selectArdTankLockProcessLogList(ArdTankLockProcessLog ardTankLockProcessLog);
+
+ /**
+ * 鏂板缃愯溅閿佹搷鎺ф棩蹇�
+ *
+ * @param ardTankLockProcessLog 缃愯溅閿佹搷鎺ф棩蹇�
+ * @return 缁撴灉
+ */
+ public int insertArdTankLockProcessLog(ArdTankLockProcessLog ardTankLockProcessLog);
+
+ /**
+ * 淇敼缃愯溅閿佹搷鎺ф棩蹇�
+ *
+ * @param ardTankLockProcessLog 缃愯溅閿佹搷鎺ф棩蹇�
+ * @return 缁撴灉
+ */
+ public int updateArdTankLockProcessLog(ArdTankLockProcessLog ardTankLockProcessLog);
+
+ /**
+ * 鍒犻櫎缃愯溅閿佹搷鎺ф棩蹇�
+ *
+ * @param id 缃愯溅閿佹搷鎺ф棩蹇椾富閿�
+ * @return 缁撴灉
+ */
+ public int deleteArdTankLockProcessLogById(String id);
+
+ /**
+ * 鎵归噺鍒犻櫎缃愯溅閿佹搷鎺ф棩蹇�
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎
+ * @return 缁撴灉
+ */
+ public int deleteArdTankLockProcessLogByIds(String[] ids);
+}
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 f6ffff2..c88f8a1 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
@@ -70,4 +70,6 @@
public List<ArdTankWall> getDistinctArdTankWallByCarId(String carId);
public int deleteArdTankAbnormalParkAlarmByCarId(String carId);
+
+ public List<ArdTankWall> getArdTankWallProcessByLockId(String lockId);
}
diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockProcessLogService.java b/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockProcessLogService.java
new file mode 100644
index 0000000..28cfcce
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/IArdTankLockProcessLogService.java
@@ -0,0 +1,65 @@
+package com.ruoyi.sy.service;
+
+import java.util.List;
+import java.util.Map;
+
+import com.ruoyi.sy.domain.ArdTankLockProcessLog;
+
+/**
+ * 缃愯溅閿佹搷鎺ф棩蹇桽ervice鎺ュ彛
+ *
+ * @author ard
+ * @date 2024-07-10
+ */
+public interface IArdTankLockProcessLogService
+{
+ /**
+ * 鏌ヨ缃愯溅閿佹搷鎺ф棩蹇�
+ *
+ * @param id 缃愯溅閿佹搷鎺ф棩蹇椾富閿�
+ * @return 缃愯溅閿佹搷鎺ф棩蹇�
+ */
+ public ArdTankLockProcessLog selectArdTankLockProcessLogById(String id);
+
+ /**
+ * 鏌ヨ缃愯溅閿佹搷鎺ф棩蹇楀垪琛�
+ *
+ * @param ardTankLockProcessLog 缃愯溅閿佹搷鎺ф棩蹇�
+ * @return 缃愯溅閿佹搷鎺ф棩蹇楅泦鍚�
+ */
+ public List<ArdTankLockProcessLog> selectArdTankLockProcessLogList(ArdTankLockProcessLog ardTankLockProcessLog);
+
+ /**
+ * 鏂板缃愯溅閿佹搷鎺ф棩蹇�
+ *
+ * @param ardTankLockProcessLog 缃愯溅閿佹搷鎺ф棩蹇�
+ * @return 缁撴灉
+ */
+ public int insertArdTankLockProcessLog(ArdTankLockProcessLog ardTankLockProcessLog);
+
+ /**
+ * 淇敼缃愯溅閿佹搷鎺ф棩蹇�
+ *
+ * @param ardTankLockProcessLog 缃愯溅閿佹搷鎺ф棩蹇�
+ * @return 缁撴灉
+ */
+ public int updateArdTankLockProcessLog(ArdTankLockProcessLog ardTankLockProcessLog);
+
+ /**
+ * 鎵归噺鍒犻櫎缃愯溅閿佹搷鎺ф棩蹇�
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑缃愯溅閿佹搷鎺ф棩蹇椾富閿泦鍚�
+ * @return 缁撴灉
+ */
+ public int deleteArdTankLockProcessLogByIds(String[] ids);
+
+ /**
+ * 鍒犻櫎缃愯溅閿佹搷鎺ф棩蹇椾俊鎭�
+ *
+ * @param id 缃愯溅閿佹搷鎺ф棩蹇椾富閿�
+ * @return 缁撴灉
+ */
+ public int deleteArdTankLockProcessLogById(String id);
+
+ public String processArdTankLockByLockId(String userId, String username, Map<String,String> para);
+}
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
new file mode 100644
index 0000000..3021d43
--- /dev/null
+++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankLockProcessLogServiceImpl.java
@@ -0,0 +1,236 @@
+package com.ruoyi.sy.service.impl;
+
+import java.awt.geom.Point2D;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+import com.ruoyi.common.core.domain.entity.SysConfig;
+import com.ruoyi.common.utils.uuid.IdUtils;
+import com.ruoyi.sy.domain.ArdSyUser;
+import com.ruoyi.sy.domain.ArdTankLock;
+import com.ruoyi.sy.domain.ArdTankWall;
+import com.ruoyi.sy.mapper.ArdSyUserMapper;
+import com.ruoyi.sy.mapper.ArdTankLockMapper;
+import com.ruoyi.sy.mapper.ArdTankWallMapper;
+import com.ruoyi.system.mapper.SysConfigMapper;
+import com.ruoyi.utils.forest.SYClient;
+import com.ruoyi.utils.gps.GeoTools;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.sy.mapper.ArdTankLockProcessLogMapper;
+import com.ruoyi.sy.domain.ArdTankLockProcessLog;
+import com.ruoyi.sy.service.IArdTankLockProcessLogService;
+
+import javax.annotation.Resource;
+
+/**
+ * 缃愯溅閿佹搷鎺ф棩蹇桽ervice涓氬姟灞傚鐞�
+ *
+ * @author ard
+ * @date 2024-07-10
+ */
+@Service
+public class ArdTankLockProcessLogServiceImpl implements IArdTankLockProcessLogService {
+ @Resource
+ private ArdTankLockProcessLogMapper ardTankLockProcessLogMapper;
+
+ @Resource
+ private ArdTankWallMapper ardTankWallMapper;
+
+ @Resource
+ private ArdSyUserMapper ardSyUserMapper;
+
+ @Resource
+ private SysConfigMapper sysConfigMapper;
+
+ @Resource
+ private ArdTankLockMapper ardTankLockMapper;
+
+ @Resource
+ private SYClient sYClient;
+
+ private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+ /**
+ * 鏌ヨ缃愯溅閿佹搷鎺ф棩蹇�
+ *
+ * @param id 缃愯溅閿佹搷鎺ф棩蹇椾富閿�
+ * @return 缃愯溅閿佹搷鎺ф棩蹇�
+ */
+ @Override
+ public ArdTankLockProcessLog selectArdTankLockProcessLogById(String id) {
+ return ardTankLockProcessLogMapper.selectArdTankLockProcessLogById(id);
+ }
+
+ /**
+ * 鏌ヨ缃愯溅閿佹搷鎺ф棩蹇楀垪琛�
+ *
+ * @param ardTankLockProcessLog 缃愯溅閿佹搷鎺ф棩蹇�
+ * @return 缃愯溅閿佹搷鎺ф棩蹇�
+ */
+ @Override
+ public List<ArdTankLockProcessLog> selectArdTankLockProcessLogList(ArdTankLockProcessLog ardTankLockProcessLog) {
+ return ardTankLockProcessLogMapper.selectArdTankLockProcessLogList(ardTankLockProcessLog);
+ }
+
+ /**
+ * 鏂板缃愯溅閿佹搷鎺ф棩蹇�
+ *
+ * @param ardTankLockProcessLog 缃愯溅閿佹搷鎺ф棩蹇�
+ * @return 缁撴灉
+ */
+ @Override
+ public int insertArdTankLockProcessLog(ArdTankLockProcessLog ardTankLockProcessLog) {
+ ardTankLockProcessLog.setId(IdUtils.simpleUUID());
+ ardTankLockProcessLog.setUserId(SecurityUtils.getUserId());
+ return ardTankLockProcessLogMapper.insertArdTankLockProcessLog(ardTankLockProcessLog);
+ }
+
+ /**
+ * 淇敼缃愯溅閿佹搷鎺ф棩蹇�
+ *
+ * @param ardTankLockProcessLog 缃愯溅閿佹搷鎺ф棩蹇�
+ * @return 缁撴灉
+ */
+ @Override
+ public int updateArdTankLockProcessLog(ArdTankLockProcessLog ardTankLockProcessLog) {
+ return ardTankLockProcessLogMapper.updateArdTankLockProcessLog(ardTankLockProcessLog);
+ }
+
+ /**
+ * 鎵归噺鍒犻櫎缃愯溅閿佹搷鎺ф棩蹇�
+ *
+ * @param ids 闇�瑕佸垹闄ょ殑缃愯溅閿佹搷鎺ф棩蹇椾富閿�
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteArdTankLockProcessLogByIds(String[] ids) {
+ return ardTankLockProcessLogMapper.deleteArdTankLockProcessLogByIds(ids);
+ }
+
+ /**
+ * 鍒犻櫎缃愯溅閿佹搷鎺ф棩蹇椾俊鎭�
+ *
+ * @param id 缃愯溅閿佹搷鎺ф棩蹇椾富閿�
+ * @return 缁撴灉
+ */
+ @Override
+ public int deleteArdTankLockProcessLogById(String id) {
+ return ardTankLockProcessLogMapper.deleteArdTankLockProcessLogById(id);
+ }
+
+ @Override
+ public String processArdTankLockByLockId(String userId, String username, Map<String,String> para) {
+ String lockId = para.get("lockId");
+ String lockNum = para.get("lockNum");
+ String carId = para.get("carId");
+ String process = para.get("process");//01:寮�,02:鍏�
+ String processReason = para.get("processReason");//鎿嶆帶鍘熷洜
+
+ //鍒ゆ柇浣胯兘
+ ArdTankLock ardTankLock = ardTankLockMapper.selectArdTankLockById(lockId);
+ if(ardTankLock.getEnable().equals("false")){
+ return "璇ラ攣浣胯兘鍏抽棴锛屾棤娉曟搷鎺�";
+ }
+
+
+ ArdSyUser ardSyUser = ardSyUserMapper.userById(userId);
+ if(ardSyUser == null){
+ return "鏈寕鎺ヤ笁涓�璐﹀彿";
+ }
+ List<SysConfig> syURLResult = sysConfigMapper.selectByType("syCarPT");
+ String syURL = "";
+ if(syURLResult.size() != 0){
+ syURL = syURLResult.get(0).getConfigValue();
+ }else{
+ return "涓変竴骞冲彴鏈綍鍏�";
+ }
+ String passwordMd5 = DigestUtils.md5Hex(ardSyUser.getPassword());
+ Map<String, Object> LogInResult = sYClient.logIn(syURL, passwordMd5, ardSyUser.getUserId());
+ String sessionId = (String) LogInResult.get("sessionId");
+
+ String lng = "";
+ String lat = "";
+ String carPlate = "";
+ Map<String,Object> syResult = sYClient.getCarNearPositionByCarId(syURL, carId, ardSyUser.getUserId(), sessionId);
+ if(((String)syResult.get("rspCode")).equals("1")){
+ Map<String,Object> carMap = ((List<Map<String,Object>>)syResult.get("list")).get(0);
+ lng = (String) carMap.get("lng");
+ lat = (String) carMap.get("lat");
+ carPlate = (String) carMap.get("carName");
+
+ }else{
+ return "涓変竴骞冲彴鎶ラ敊";
+ }
+
+ List<ArdTankWall> ardTankWallList = ardTankWallMapper.getArdTankWallProcessByLockId(lockId);//鏌ヨ閿佹寕鎺ョ殑鍏ㄩ儴闇�瑕佸姩浣滅殑鐢靛瓙鍥存爮
+ if(!ardTankWallList.isEmpty()){//鎸傛帴浜嗗姩浣滅數瀛愬洿鏍�
+ Point2D.Double point = new Point2D.Double(Double.parseDouble(lng), Double.parseDouble(lat));//杞﹁締褰撳墠浣嶇疆
+ List<Point2D.Double> pts = new ArrayList<Point2D.Double>();
+ for(ArdTankWall ardTankWall : ardTankWallList){
+ pts.clear();
+ String[] wallpoiArro = ardTankWall.getWallPoi().split(",");
+ for (int j = 0; j < wallpoiArro.length; j = j + 3) {//鏋勫缓澶氳竟褰�
+ pts.add(new Point2D.Double(Double.parseDouble(wallpoiArro[j]), Double.parseDouble(wallpoiArro[j+1])));
+ }
+ if(GeoTools.IsPtInPoly(point, pts)){//鍦ㄤ换鎰忕數瀛愬洿鏍忓唴锛屼笉鎶ヨ
+ return "褰撳墠杞﹁締姝e鍦�" + ardTankWall.getWallName() + "涓�";
+ }
+ }
+ return "褰撳墠杞﹁締姝e鍦ㄧ數瀛愬洿鏍忓";
+ }else{
+ try{
+ String lockNumHead = lockNum.substring(0,2);
+ String lockNumTail = lockNum.substring(2,4);
+ String checkNum = Integer.toHexString(Integer.parseInt(lockNumHead, 16)//閿佺紪鍙烽珮8浣�
+ + Integer.parseInt(lockNumTail, 16)//閿佺紪鍙蜂綆8浣�
+ + Integer.parseInt("02", 16)//璁剧疆閿佽姱鐘舵�佸姛鑳界爜02
+ + Integer.parseInt(process, 16));//鎿嶄綔
+ if(checkNum.length() == 1){
+ checkNum = "0" + checkNum;
+ }
+ if(checkNum.length() > 2){
+ checkNum = checkNum.substring(checkNum.length() - 2,checkNum.length());
+ }
+
+ String paramsStr = lockNum + "02" + process + checkNum;
+ paramsStr = "%7B%22type%22%3A%22ff%22%2C%22dataCnt%22%3A%22" + paramsStr + "%22%7D";
+
+ Map<String,Object> result = sYClient.sendCmd(syURL, ardSyUser.getUserId(), carId, 199, "DataDownTransfer", paramsStr, sessionId);
+
+
+ if(((String)result.get("rspCode")).equals("0")){
+ //鍏ュ簱鎿嶄綔
+ ArdTankLockProcessLog ardTankLockProcessLog = new ArdTankLockProcessLog();
+ ardTankLockProcessLog.setId(IdUtils.simpleUUID());
+ ardTankLockProcessLog.setLockId(lockId);
+ ardTankLockProcessLog.setLockNum(lockNum);
+ ardTankLockProcessLog.setCarId(carId);
+ ardTankLockProcessLog.setCarPlate(carPlate);
+ ardTankLockProcessLog.setUserId(userId);
+ ardTankLockProcessLog.setUserName(username);
+ if(process.equals("01")){
+ ardTankLockProcessLog.setProcess("寮�鍔ㄤ綔");
+ }else if(process.equals("02")){
+ ardTankLockProcessLog.setProcess("鍏冲姩浣�");
+ }
+ ardTankLockProcessLog.setProcessReason(processReason);
+ ardTankLockProcessLog.setLongitude(lng);
+ ardTankLockProcessLog.setLatitude(lat);
+ ardTankLockProcessLog.setProcessTime(this.sdf.format(new Date()));
+ ardTankLockProcessLogMapper.insertArdTankLockProcessLog(ardTankLockProcessLog);
+ return "鍙戦�佹垚鍔�";
+ }else{
+ return "鍙戦�佸け璐�";
+ }
+ }catch(Exception e){
+ e.printStackTrace();
+ return "鍙戦�佸け璐�";
+ }
+ }
+ }
+}
diff --git a/ard-work/src/main/resources/mapper/sy/ArdTankLockProcessLogMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdTankLockProcessLogMapper.xml
new file mode 100644
index 0000000..0e43b9b
--- /dev/null
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankLockProcessLogMapper.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.sy.mapper.ArdTankLockProcessLogMapper">
+
+ <resultMap type="ArdTankLockProcessLog" id="ArdTankLockProcessLogResult">
+ <result property="id" column="id" />
+ <result property="lockId" column="lock_id" />
+ <result property="lockNum" column="lock_num" />
+ <result property="carId" column="car_id" />
+ <result property="carPlate" column="car_plate" />
+ <result property="userId" column="user_id" />
+ <result property="userName" column="user_name" />
+ <result property="process" column="process" />
+ <result property="processReason" column="process_reason" />
+ <result property="longitude" column="longitude" />
+ <result property="latitude" column="latitude" />
+ <result property="processTime" column="process_time" />
+ </resultMap>
+
+ <sql id="selectArdTankLockProcessLogVo">
+ select id, lock_id, lock_num, car_id, car_plate, user_id, user_name, process, process_reason, longitude, latitude, process_time from ard_tank_lock_process_log
+ </sql>
+
+ <select id="selectArdTankLockProcessLogList" parameterType="ArdTankLockProcessLog" resultMap="ArdTankLockProcessLogResult">
+ <include refid="selectArdTankLockProcessLogVo"/>
+ <where>
+ <if test="lockId != null and lockId != ''"> and lock_id = #{lockId}</if>
+ <if test="lockNum != null and lockNum != ''"> and lock_num = #{lockNum}</if>
+ <if test="carId != null and carId != ''"> and car_id = #{carId}</if>
+ <if test="carPlate != null and carPlate != ''"> and car_plate = #{carPlate}</if>
+ <if test="userId != null and userId != ''"> and user_id = #{userId}</if>
+ <if test="userName != null and userName != ''"> and user_name like '%'||#{userName}||'%'</if>
+ <if test="process != null and process != ''"> and process = #{process}</if>
+ <if test="processReason != null and processReason != ''"> and process_reason = #{processReason}</if>
+ <if test="longitude != null and longitude != ''"> and longitude = #{longitude}</if>
+ <if test="latitude != null and latitude != ''"> and latitude = #{latitude}</if>
+ <if test="processTime != null and processTime != ''"> and process_time = #{processTime}</if>
+ </where>
+ </select>
+
+ <select id="selectArdTankLockProcessLogById" parameterType="String" resultMap="ArdTankLockProcessLogResult">
+ <include refid="selectArdTankLockProcessLogVo"/>
+ where id = #{id}
+ </select>
+
+ <insert id="insertArdTankLockProcessLog" parameterType="ArdTankLockProcessLog">
+ insert into ard_tank_lock_process_log
+ <trim prefix="(" suffix=")" suffixOverrides=",">
+ <if test="id != null">id,</if>
+ <if test="lockId != null">lock_id,</if>
+ <if test="lockNum != null">lock_num,</if>
+ <if test="carId != null">car_id,</if>
+ <if test="carPlate != null">car_plate,</if>
+ <if test="userId != null">user_id,</if>
+ <if test="userName != null">user_name,</if>
+ <if test="process != null">process,</if>
+ <if test="processReason != null">process_reason,</if>
+ <if test="longitude != null">longitude,</if>
+ <if test="latitude != null">latitude,</if>
+ <if test="processTime != null">process_time,</if>
+ </trim>
+ <trim prefix="values (" suffix=")" suffixOverrides=",">
+ <if test="id != null">#{id},</if>
+ <if test="lockId != null">#{lockId},</if>
+ <if test="lockNum != null">#{lockNum},</if>
+ <if test="carId != null">#{carId},</if>
+ <if test="carPlate != null">#{carPlate},</if>
+ <if test="userId != null">#{userId},</if>
+ <if test="userName != null">#{userName},</if>
+ <if test="process != null">#{process},</if>
+ <if test="processReason != null">#{processReason},</if>
+ <if test="longitude != null">#{longitude},</if>
+ <if test="latitude != null">#{latitude},</if>
+ <if test="processTime != null">#{processTime},</if>
+ </trim>
+ </insert>
+
+ <update id="updateArdTankLockProcessLog" parameterType="ArdTankLockProcessLog">
+ update ard_tank_lock_process_log
+ <trim prefix="SET" suffixOverrides=",">
+ <if test="lockId != null">lock_id = #{lockId},</if>
+ <if test="lockNum != null">lock_num = #{lockNum},</if>
+ <if test="carId != null">car_id = #{carId},</if>
+ <if test="carPlate != null">car_plate = #{carPlate},</if>
+ <if test="userId != null">user_id = #{userId},</if>
+ <if test="userName != null">user_name = #{userName},</if>
+ <if test="process != null">process = #{process},</if>
+ <if test="processReason != null">process_reason = #{processReason},</if>
+ <if test="longitude != null">longitude = #{longitude},</if>
+ <if test="latitude != null">latitude = #{latitude},</if>
+ <if test="processTime != null">process_time = #{processTime},</if>
+ </trim>
+ where id = #{id}
+ </update>
+
+ <delete id="deleteArdTankLockProcessLogById" parameterType="String">
+ delete from ard_tank_lock_process_log where id = #{id}
+ </delete>
+
+ <delete id="deleteArdTankLockProcessLogByIds" parameterType="String">
+ delete from ard_tank_lock_process_log where id in
+ <foreach item="id" collection="array" open="(" separator="," close=")">
+ #{id}
+ </foreach>
+ </delete>
+</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 94fe588..d582bc2 100644
--- a/ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml
+++ b/ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml
@@ -88,4 +88,10 @@
inner join ard_tank_wall atw on atwl.wall_id = atw.id
where atl.car_id = #{carId}
</select>
+
+ <select id="getArdTankWallProcessByLockId" resultMap="ArdTankWallResult" parameterType="java.lang.String">
+ select atw.* from ard_tank_wall_lock atwl
+ inner join ard_tank_wall atw on atwl.wall_id = atw.id
+ where atwl.lock_id = #{lockId} and atwl.process_type != '0'
+ </select>
</mapper>
\ No newline at end of file
--
Gitblit v1.9.3