ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java
@@ -14,6 +14,7 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.sy.param.ArdSyCarParam; import com.ruoyi.sy.service.IArdTankAbnormalParkAlarmService; import com.ruoyi.sy.vo.ArdSyCarVo; import com.ruoyi.sy.domain.ArdSyUser; import com.ruoyi.sy.gps31.PositionContainer; @@ -71,6 +72,9 @@ @Autowired private ISysDeptService sysDeptService; @Autowired private IArdTankAbnormalParkAlarmService ardTankAbnormalParkAlarmService; @Resource private SYClient sYClient; @@ -126,6 +130,9 @@ PushClientImplAlarm pushClientImplAlarm = new PushClientImplAlarm(ip,userId,password); Thread pushClientImplAlarmThread = new Thread(pushClientImplAlarm); pushClientImplAlarmThread.start(); //å é¤ç»ææ¶é´ä¸ºnullçè®°å½ int result = ardTankAbnormalParkAlarmService.deleteArdTankAbnormalParkAlarmByEndTime(); } /** ard-work/src/main/java/com/ruoyi/sy/domain/ArdTankAbnormalParkAlarm.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,121 @@ 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_abnormal_park_alarm * * @author ard * @date 2024-07-08 */ public class ArdTankAbnormalParkAlarm extends BaseEntity { private static final long serialVersionUID = 1L; /** ä¸»é® */ private String id; /** ä¸ä¸è½¦è¾ä¸»é® */ @Excel(name = "ä¸ä¸è½¦è¾ä¸»é®") private String carId; /** ä¸ä¸è½¦è¾åç§° */ @Excel(name = "ä¸ä¸è½¦è¾åç§°") private String carName; /** ç»åº¦ */ @Excel(name = "ç»åº¦") private String longitude; /** 纬度 */ @Excel(name = "纬度") private String latitude; /** å¼å§æ¶é´ */ @Excel(name = "å¼å§æ¶é´") private String beginTime; /** ç»ææ¶é´ */ @Excel(name = "ç»ææ¶é´") private String endTime; public void setId(String id) { this.id = id; } public String getId() { return id; } public void setCarId(String carId) { this.carId = carId; } public String getCarId() { return carId; } public void setCarName(String carName) { this.carName = carName; } public String getCarName() { return carName; } 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 setBeginTime(String beginTime) { this.beginTime = beginTime; } public String getBeginTime() { return beginTime; } public void setEndTime(String endTime) { this.endTime = endTime; } public String getEndTime() { return endTime; } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("id", getId()) .append("carId", getCarId()) .append("carName", getCarName()) .append("longitude", getLongitude()) .append("latitude", getLatitude()) .append("beginTime", getBeginTime()) .append("endTime", getEndTime()) .toString(); } } ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java
@@ -376,6 +376,14 @@ }*/ Thread tankCarParkingAlarmThread = new Thread(){//å建线ç¨å¤æç½è½¦å¼å¸¸å车æ¥è¦ @Override public void run() { ((ArdTankAbnormalParkAlarmServiceImpl)SpringUtils.getBean("ardTankAbnormalParkAlarmServiceImpl")).insertArdTankAbnormalParkAlarm(gpsMap); } }; tankCarParkingAlarmThread.start(); gpsMap.putAll(result); String ancestors = (String) gpsMap.get("ancestors");//è·åç¶çº§é¨é¨ String[] ancestorsArray = ancestors.split(","); ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarMapper.java
@@ -86,4 +86,6 @@ public Map<String, Object> getArdSyCarAndDeptByCarId(String carId); public List<String> selectArdSyCarByDeptIds(@Param("deptIdList") List<Long> deptIdList); public ArdSyCar getArdSyTankCarByCarId(String carId); } ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankAbnormalParkAlarmMapper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,67 @@ package com.ruoyi.sy.mapper; import java.util.List; import com.ruoyi.sy.domain.ArdTankAbnormalParkAlarm; /** * ç½è½¦å¼å¸¸å车æ¥è¦è®°å½Mapperæ¥å£ * * @author ard * @date 2024-07-08 */ public interface ArdTankAbnormalParkAlarmMapper { /** * æ¥è¯¢ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * * @param id ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ä¸»é® * @return ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ */ public ArdTankAbnormalParkAlarm selectArdTankAbnormalParkAlarmById(String id); /** * æ¥è¯¢ç½è½¦å¼å¸¸å车æ¥è¦è®°å½å表 * * @param ardTankAbnormalParkAlarm ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * @return ç½è½¦å¼å¸¸å车æ¥è¦è®°å½éå */ public List<ArdTankAbnormalParkAlarm> selectArdTankAbnormalParkAlarmList(ArdTankAbnormalParkAlarm ardTankAbnormalParkAlarm); /** * æ°å¢ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * * @param ardTankAbnormalParkAlarm ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * @return ç»æ */ public int insertArdTankAbnormalParkAlarm(ArdTankAbnormalParkAlarm ardTankAbnormalParkAlarm); /** * ä¿®æ¹ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * * @param ardTankAbnormalParkAlarm ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * @return ç»æ */ public int updateArdTankAbnormalParkAlarm(ArdTankAbnormalParkAlarm ardTankAbnormalParkAlarm); /** * å é¤ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * * @param id ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ä¸»é® * @return ç»æ */ public int deleteArdTankAbnormalParkAlarmById(String id); /** * æ¹éå é¤ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * * @param ids éè¦å é¤çæ°æ®ä¸»é®éå * @return ç»æ */ public int deleteArdTankAbnormalParkAlarmByIds(String[] ids); public ArdTankAbnormalParkAlarm selectArdTankAbnormalParkAlarmByCarIdAndEndTimeIsNull(String carId); public int deleteArdTankAbnormalParkAlarmByCarId(String carId); public int deleteArdTankAbnormalParkAlarmByEndTime(); } ard-work/src/main/java/com/ruoyi/sy/mapper/ArdTankWallMapper.java
@@ -66,4 +66,8 @@ public List<Map<String,String>> getArdTankWallByLockId(String id); public Long selectArdTankWallTotal(String wallName); public List<ArdTankWall> getDistinctArdTankWallByCarId(String carId); public int deleteArdTankAbnormalParkAlarmByCarId(String carId); } ard-work/src/main/java/com/ruoyi/sy/service/IArdTankAbnormalParkAlarmService.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,60 @@ package com.ruoyi.sy.service; import java.util.List; import java.util.Map; import com.ruoyi.sy.domain.ArdTankAbnormalParkAlarm; /** * ç½è½¦å¼å¸¸å车æ¥è¦è®°å½Serviceæ¥å£ * * @author ard * @date 2024-07-08 */ public interface IArdTankAbnormalParkAlarmService { /** * æ¥è¯¢ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * * @param id ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ä¸»é® * @return ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ */ public ArdTankAbnormalParkAlarm selectArdTankAbnormalParkAlarmById(String id); /** * æ¥è¯¢ç½è½¦å¼å¸¸å车æ¥è¦è®°å½å表 * * @param ardTankAbnormalParkAlarm ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * @return ç½è½¦å¼å¸¸å车æ¥è¦è®°å½éå */ public List<ArdTankAbnormalParkAlarm> selectArdTankAbnormalParkAlarmList(ArdTankAbnormalParkAlarm ardTankAbnormalParkAlarm); //public int insertArdTankAbnormalParkAlarm(ArdTankAbnormalParkAlarm ardTankAbnormalParkAlarm); public int insertArdTankAbnormalParkAlarm(Map<String,Object> gpsMap); /** * ä¿®æ¹ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * * @param ardTankAbnormalParkAlarm ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * @return ç»æ */ public int updateArdTankAbnormalParkAlarm(ArdTankAbnormalParkAlarm ardTankAbnormalParkAlarm); /** * æ¹éå é¤ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * * @param ids éè¦å é¤çç½è½¦å¼å¸¸å车æ¥è¦è®°å½ä¸»é®éå * @return ç»æ */ public int deleteArdTankAbnormalParkAlarmByIds(String[] ids); /** * å é¤ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ä¿¡æ¯ * * @param id ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ä¸»é® * @return ç»æ */ public int deleteArdTankAbnormalParkAlarmById(String id); public int deleteArdTankAbnormalParkAlarmByEndTime(); } ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdTankAbnormalParkAlarmServiceImpl.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,219 @@ package com.ruoyi.sy.service.impl; import java.awt.geom.Point2D; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; import com.alibaba.fastjson.JSON; import com.ruoyi.common.core.domain.entity.SysConfig; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.uuid.IdUtils; import com.ruoyi.sy.domain.ArdSyCar; import com.ruoyi.sy.domain.ArdTankWall; import com.ruoyi.sy.mapper.ArdSyCarMapper; import com.ruoyi.sy.mapper.ArdTankWallMapper; import com.ruoyi.system.mapper.SysConfigMapper; import com.ruoyi.system.mapper.SysDeptMapper; import com.ruoyi.system.mapper.SysUserMapper; import com.ruoyi.utils.gps.GeoTools; import com.ruoyi.utils.websocket.util.WebSocketUtils; 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.ArdTankAbnormalParkAlarmMapper; import com.ruoyi.sy.domain.ArdTankAbnormalParkAlarm; import com.ruoyi.sy.service.IArdTankAbnormalParkAlarmService; import javax.annotation.Resource; import static com.ruoyi.utils.websocket.util.WebSocketUtils.ONLINE_USER_SESSIONS; /** * ç½è½¦å¼å¸¸å车æ¥è¦è®°å½Serviceä¸å¡å±å¤ç * * @author ard * @date 2024-07-08 */ @Service public class ArdTankAbnormalParkAlarmServiceImpl implements IArdTankAbnormalParkAlarmService { @Resource private ArdTankAbnormalParkAlarmMapper ardTankAbnormalParkAlarmMapper; @Resource private ArdSyCarMapper ardSyCarMapper; @Resource private ArdTankWallMapper ardTankWallMapper; @Resource private SysConfigMapper sysConfigMapper; @Resource private SysDeptMapper sysDeptMapper; @Resource private SysUserMapper sysUserMapper; private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); /** * æ¥è¯¢ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * * @param id ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ä¸»é® * @return ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ */ @Override public ArdTankAbnormalParkAlarm selectArdTankAbnormalParkAlarmById(String id) { return ardTankAbnormalParkAlarmMapper.selectArdTankAbnormalParkAlarmById(id); } /** * æ¥è¯¢ç½è½¦å¼å¸¸å车æ¥è¦è®°å½å表 * * @param ardTankAbnormalParkAlarm ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * @return ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ */ @Override public List<ArdTankAbnormalParkAlarm> selectArdTankAbnormalParkAlarmList(ArdTankAbnormalParkAlarm ardTankAbnormalParkAlarm) { return ardTankAbnormalParkAlarmMapper.selectArdTankAbnormalParkAlarmList(ardTankAbnormalParkAlarm); } /*@Override public int insertArdTankAbnormalParkAlarm(ArdTankAbnormalParkAlarm ardTankAbnormalParkAlarm) { ardTankAbnormalParkAlarm.setId(IdUtils.simpleUUID()); return ardTankAbnormalParkAlarmMapper.insertArdTankAbnormalParkAlarm(ardTankAbnormalParkAlarm); }*/ @Override public int insertArdTankAbnormalParkAlarm(Map<String,Object> gpsMap) { if(((Number)gpsMap.get("speed")).intValue() != 0){//é度ä¸ä¸º0ï¼ä¸æ¯å¼å¸¸å车 int result = ardTankAbnormalParkAlarmMapper.deleteArdTankAbnormalParkAlarmByCarId((String)gpsMap.get("carId")); return result; }else { ArdSyCar ardSyCarResult = ardSyCarMapper.getArdSyTankCarByCarId((String)gpsMap.get("carId")); if(ardSyCarResult == null){//没æåé æéææ²¡æææ¥çµç£éï¼ä¸æ¯ç½è½¦ return 0; }else{ Boolean alarmFlag = true;//æ¥è¦æ è®°,true为记å½,falseä¸ºå¿½ç¥ List<ArdTankWall> ardTankWallResult = ardTankWallMapper.getDistinctArdTankWallByCarId((String)gpsMap.get("carId"));//å»éæ¥è¯¢è½¦è¾ææ¥ççµç£éææ¥ççµåå´æ Point2D.Double point = new Point2D.Double(Double.parseDouble(String.valueOf((Number)gpsMap.get("lng"))), Double.parseDouble(String.valueOf((Number)gpsMap.get("lat"))));//车è¾å½åä½ç½® List<Point2D.Double> pts = new ArrayList<Point2D.Double>(); for(ArdTankWall ardTankWall : ardTankWallResult){ 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)){//å¨ä»»æçµåå´æ å ï¼ä¸æ¥è¦ int result = ardTankAbnormalParkAlarmMapper.deleteArdTankAbnormalParkAlarmByCarId((String)gpsMap.get("carId")); alarmFlag = false; return result; } } if(alarmFlag){ ArdTankAbnormalParkAlarm ardTankAbnormalParkAlarmResult = ardTankAbnormalParkAlarmMapper.selectArdTankAbnormalParkAlarmByCarIdAndEndTimeIsNull((String)gpsMap.get("carId")); if(ardTankAbnormalParkAlarmResult == null){//æè®°å½ç»ææ¶é´ï¼åæ°å¢æä½ ArdTankAbnormalParkAlarm ardTankAbnormalParkAlarm = new ArdTankAbnormalParkAlarm(); ardTankAbnormalParkAlarm.setId(IdUtils.simpleUUID()); ardTankAbnormalParkAlarm.setCarId((String)gpsMap.get("carId")); ardTankAbnormalParkAlarm.setCarName((String)gpsMap.get("carName")); ardTankAbnormalParkAlarm.setLongitude(String.valueOf((Number)gpsMap.get("lng"))); ardTankAbnormalParkAlarm.setLatitude(String.valueOf((Number)gpsMap.get("lat"))); ardTankAbnormalParkAlarm.setBeginTime(sdf.format(new Date())); return ardTankAbnormalParkAlarmMapper.insertArdTankAbnormalParkAlarm(ardTankAbnormalParkAlarm); }else{//æè®°å½ç»ææ¶é´ï¼åä¿®æ¹æä½ Integer abnormalParkingInterval = 5;//é»è®¤æ¶é´ä¸º5min SysConfig sysConfig = sysConfigMapper.checkConfigKeyUnique("abnormalParkingInterval");//æ¥è¯¢æ¶é´é´é if(sysConfig != null){ abnormalParkingInterval = Integer.parseInt(sysConfig.getConfigValue()); } Date beginDate = null; try { beginDate = this.sdf.parse(ardTankAbnormalParkAlarmResult.getBeginTime()); } catch (ParseException e) { e.printStackTrace(); return 0; } Date endDate = new Date(); if(endDate.getTime() - beginDate.getTime() >= abnormalParkingInterval * 60 * 1000){//å½åæ¶é´è¶ è¿å¼å¯æ¶é´è®¾å®éå¼ ardTankAbnormalParkAlarmResult.setEndTime(sdf.format(endDate)); //æ ¹æ®æé忥è¦websocketæ¨é List<SysDept> sysDeptList = sysDeptMapper.getParentsDeptListByDeptId(Long.parseLong(ardSyCarResult.getDeptId())); List<Long> deptIdList = new ArrayList(); for(SysDept sysDept : sysDeptList){ deptIdList.add(sysDept.getDeptId()); } List<SysUser> sysUserList = sysUserMapper.selectUserByDeptIdList(deptIdList); for(SysUser sysUser : sysUserList){ Map<String,Object> map = new HashMap(); map.put("carId",ardTankAbnormalParkAlarmResult.getCarId()); map.put("carName",ardTankAbnormalParkAlarmResult.getCarName()); map.put("alarmTime",ardTankAbnormalParkAlarmResult.getEndTime()); map.put("longitude",ardTankAbnormalParkAlarmResult.getLongitude()); map.put("latitude",ardTankAbnormalParkAlarmResult.getLatitude()); map.put("alarmInfo","å¼å¸¸å车"); Map<String,Map<String,Object>> data = new HashMap(); data.put("40001",map); for (String key : ONLINE_USER_SESSIONS.keySet()) { if(key.startsWith(sysUser.getUserId() + "_")){ WebSocketUtils.sendMessage(ONLINE_USER_SESSIONS.get(key), JSON.toJSONString(data)); } } } return ardTankAbnormalParkAlarmMapper.updateArdTankAbnormalParkAlarm(ardTankAbnormalParkAlarmResult); }else{ return 0; } } }else{ return 0; } } } } /** * ä¿®æ¹ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * * @param ardTankAbnormalParkAlarm ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * @return ç»æ */ @Override public int updateArdTankAbnormalParkAlarm(ArdTankAbnormalParkAlarm ardTankAbnormalParkAlarm) { return ardTankAbnormalParkAlarmMapper.updateArdTankAbnormalParkAlarm(ardTankAbnormalParkAlarm); } /** * æ¹éå é¤ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ * * @param ids éè¦å é¤çç½è½¦å¼å¸¸å车æ¥è¦è®°å½ä¸»é® * @return ç»æ */ @Override public int deleteArdTankAbnormalParkAlarmByIds(String[] ids) { return ardTankAbnormalParkAlarmMapper.deleteArdTankAbnormalParkAlarmByIds(ids); } /** * å é¤ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ä¿¡æ¯ * * @param id ç½è½¦å¼å¸¸å车æ¥è¦è®°å½ä¸»é® * @return ç»æ */ @Override public int deleteArdTankAbnormalParkAlarmById(String id) { return ardTankAbnormalParkAlarmMapper.deleteArdTankAbnormalParkAlarmById(id); } @Override public int deleteArdTankAbnormalParkAlarmByEndTime() { int result = ardTankAbnormalParkAlarmMapper.deleteArdTankAbnormalParkAlarmByEndTime(); return result; } } ard-work/src/main/resources/mapper/sy/ArdSyCarMapper.xml
@@ -121,4 +121,9 @@ #{deptId} </foreach> </select> <select id="getArdSyTankCarByCarId" parameterType="java.lang.String" resultMap="ArdSyCarResult"> select distinct "asc".* from ard_sy_car "asc" inner join ard_tank_lock atl on "asc".car_id = atl.car_id where "asc".car_id = #{carId} </select> </mapper> ard-work/src/main/resources/mapper/sy/ArdTankAbnormalParkAlarmMapper.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,97 @@ <?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.ArdTankAbnormalParkAlarmMapper"> <resultMap type="ArdTankAbnormalParkAlarm" id="ArdTankAbnormalParkAlarmResult"> <result property="id" column="id" /> <result property="carId" column="car_id" /> <result property="carName" column="car_name" /> <result property="longitude" column="longitude" /> <result property="latitude" column="latitude" /> <result property="beginTime" column="begin_time" /> <result property="endTime" column="end_time" /> </resultMap> <sql id="selectArdTankAbnormalParkAlarmVo"> select id, car_id, car_name, longitude, latitude, begin_time, end_time from ard_tank_abnormal_park_alarm </sql> <select id="selectArdTankAbnormalParkAlarmList" parameterType="ArdTankAbnormalParkAlarm" resultMap="ArdTankAbnormalParkAlarmResult"> <include refid="selectArdTankAbnormalParkAlarmVo"/> <where> <if test="carId != null and carId != ''"> and car_id = #{carId}</if> <if test="carName != null and carName != ''"> and car_name like '%'||#{carName}||'%'</if> <if test="longitude != null and longitude != ''"> and longitude = #{longitude}</if> <if test="latitude != null and latitude != ''"> and latitude = #{latitude}</if> <if test="beginTime != null and beginTime != ''"> and begin_time = #{beginTime}</if> <if test="endTime != null and endTime != ''"> and end_time = #{endTime}</if> </where> </select> <select id="selectArdTankAbnormalParkAlarmById" parameterType="String" resultMap="ArdTankAbnormalParkAlarmResult"> <include refid="selectArdTankAbnormalParkAlarmVo"/> where id = #{id} </select> <insert id="insertArdTankAbnormalParkAlarm" parameterType="ArdTankAbnormalParkAlarm"> insert into ard_tank_abnormal_park_alarm <trim prefix="(" suffix=")" suffixOverrides=","> <if test="id != null">id,</if> <if test="carId != null">car_id,</if> <if test="carName != null">car_name,</if> <if test="longitude != null">longitude,</if> <if test="latitude != null">latitude,</if> <if test="beginTime != null">begin_time,</if> <if test="endTime != null">end_time,</if> </trim> <trim prefix="values (" suffix=")" suffixOverrides=","> <if test="id != null">#{id},</if> <if test="carId != null">#{carId},</if> <if test="carName != null">#{carName},</if> <if test="longitude != null">#{longitude},</if> <if test="latitude != null">#{latitude},</if> <if test="beginTime != null">#{beginTime},</if> <if test="endTime != null">#{endTime},</if> </trim> </insert> <update id="updateArdTankAbnormalParkAlarm" parameterType="ArdTankAbnormalParkAlarm"> update ard_tank_abnormal_park_alarm <trim prefix="SET" suffixOverrides=","> <if test="carId != null">car_id = #{carId},</if> <if test="carName != null">car_name = #{carName},</if> <if test="longitude != null">longitude = #{longitude},</if> <if test="latitude != null">latitude = #{latitude},</if> <if test="beginTime != null">begin_time = #{beginTime},</if> <if test="endTime != null">end_time = #{endTime},</if> </trim> where id = #{id} </update> <delete id="deleteArdTankAbnormalParkAlarmById" parameterType="String"> delete from ard_tank_abnormal_park_alarm where id = #{id} </delete> <delete id="deleteArdTankAbnormalParkAlarmByIds" parameterType="String"> delete from ard_tank_abnormal_park_alarm where id in <foreach item="id" collection="array" open="(" separator="," close=")"> #{id} </foreach> </delete> <select id="selectArdTankAbnormalParkAlarmByCarIdAndEndTimeIsNull" parameterType="java.lang.String" resultMap="ArdTankAbnormalParkAlarmResult"> select * from ard_tank_abnormal_park_alarm atapa where atapa.car_id = #{carId} and atapa.end_time is null </select> <delete id="deleteArdTankAbnormalParkAlarmByCarId" parameterType="java.lang.String"> delete from ard_tank_abnormal_park_alarm atapa where atapa.car_id = #{carId} and atapa.end_time is null </delete> <delete id="deleteArdTankAbnormalParkAlarmByEndTime" > delete from ard_tank_abnormal_park_alarm atapa where atapa.end_time is null </delete> </mapper> ard-work/src/main/resources/mapper/sy/ArdTankWallMapper.xml
@@ -81,4 +81,11 @@ <if test="wallName != null and wallName != ''"> and wall_name like '%'||#{wallName}||'%'</if> </where> </select> <select id="getDistinctArdTankWallByCarId" resultMap="ArdTankWallResult" parameterType="java.lang.String"> select distinct atw.* from ard_tank_lock atl inner join ard_tank_wall_lock atwl on atl.id = atwl.lock_id inner join ard_tank_wall atw on atwl.wall_id = atw.id where atl.car_id = #{carId} </select> </mapper> ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java
@@ -148,4 +148,6 @@ List<SysUser> getOwnAndChildrenOnlineSoilderList(@Param("deptIdList")List<Long> deptIdList); List<SysUser> getOwnAndChildrenSoilderListAll(@Param("deptIdList")List<Long> deptIdList); List<SysUser> selectUserByDeptIdList(@Param("deptIdList")List<Long> deptIdList); } ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
@@ -371,4 +371,12 @@ and su.status = '0' and su.del_flag = '0' order by su.dept_id asc </select> <select id="selectUserByDeptIdList" resultMap="SysUserOnlyResult"> select * from sys_user su where su.dept_id in <foreach collection="deptIdList" item="deptId" open="(" close=")" separator=","> #{deptId} </foreach> and su.status = '0' </select> </mapper>