From 76876a632f2dd61acefde9c4e75cb8242c658ca2 Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期一, 07 八月 2023 16:22:14 +0800 Subject: [PATCH] 三一车辆查询有历史轨迹日期提交 --- ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarDayService.java | 67 ++++++++ ard-work/src/main/resources/mapper/sy/ArdSyCarDayMapper.xml | 83 ++++++++++ ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarDayMapper.java | 74 +++++++++ ard-work/src/main/java/com/ruoyi/sy/domain/ArdSyCarDay.java | 93 +++++++++++ ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarDayServiceImpl.java | 120 +++++++++++++++ ard-work/src/main/java/com/ruoyi/sy/controller/ArdSyCarController.java | 3 ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java | 2 ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java | 17 ++ 8 files changed, 455 insertions(+), 4 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 9fc5f1c..3ecae28 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 @@ -3,7 +3,6 @@ import java.util.*; import javax.annotation.PostConstruct; import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.ruoyi.common.core.domain.entity.SysUser; @@ -34,8 +33,6 @@ import com.ruoyi.sy.service.IArdSyCarService; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.common.core.page.TableDataInfo; -import org.springframework.web.context.request.RequestContextHolder; -import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.multipart.MultipartFile; /** diff --git a/ard-work/src/main/java/com/ruoyi/sy/domain/ArdSyCarDay.java b/ard-work/src/main/java/com/ruoyi/sy/domain/ArdSyCarDay.java new file mode 100644 index 0000000..43a855f --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/sy/domain/ArdSyCarDay.java @@ -0,0 +1,93 @@ +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_sy_car_day + * + * @author ard + * @date 2023-08-07 + */ +public class ArdSyCarDay extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 涓婚敭 */ + private String id; + + /** 杞﹁締涓婚敭 */ + @Excel(name = "杞﹁締涓婚敭") + private String carId; + + /** 涓婃姤鏃ワ紙骞存湀鏃ワ級 */ + @Excel(name = "涓婃姤鏃�", readConverterExp = "骞�=鏈堟棩") + private String day; + + /** 棣栨涓婃姤鏃堕棿 */ + @Excel(name = "棣栨涓婃姤鏃堕棿") + private String firstTime; + + /** 鏈�鍚庝笂鎶ユ椂闂� */ + @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 setDay(String day) + { + this.day = day; + } + + public String getDay() + { + return day; + } + public void setFirstTime(String firstTime) + { + this.firstTime = firstTime; + } + + public String getFirstTime() + { + return firstTime; + } + 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("day", getDay()) + .append("firstTime", getFirstTime()) + .append("endTime", getEndTime()) + .toString(); + } +} diff --git a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java index 9025354..9be6f79 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java +++ b/ard-work/src/main/java/com/ruoyi/sy/gps31/PushClientImplPosition.java @@ -13,6 +13,7 @@ import com.gps31.push.netty.client.TcpClient; import com.gps31.push.util.MapUtil; import com.ruoyi.common.utils.spring.SpringUtils; +import com.ruoyi.sy.service.impl.ArdSyCarDayServiceImpl; import com.ruoyi.sy.service.impl.ArdSyCarServiceImpl; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -74,6 +75,7 @@ System.out.println(sdf.format(new Date())); log.error(String.format(" ---->鏀跺埌瀹氫綅鏁版嵁:%s",JSON.toJSONString(gpsMap)));*/ String carId = (String)gpsMap.get("carId"); + ((ArdSyCarDayServiceImpl)SpringUtils.getBean("ardSyCarDayServiceImpl")).insertArdSyCarDay(carId);//鏂板杞﹁締涓婃姤鏃堕棿 Map<String,Object> result = ((ArdSyCarServiceImpl)SpringUtils.getBean("ardSyCarServiceImpl")).getArdSyCarAndDeptByCarId(carId);//鏌ヨ杞﹁締鍙婇儴闂� if(result != null){ gpsMap.putAll(result); diff --git a/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarDayMapper.java b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarDayMapper.java new file mode 100644 index 0000000..997f050 --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/sy/mapper/ArdSyCarDayMapper.java @@ -0,0 +1,74 @@ +package com.ruoyi.sy.mapper; + +import java.util.List; +import com.ruoyi.sy.domain.ArdSyCarDay; +import org.apache.ibatis.annotations.Param; + +/** + * 涓変竴杞﹁締涓婃姤鏃堕棿Mapper鎺ュ彛 + * + * @author ard + * @date 2023-08-07 + */ +public interface ArdSyCarDayMapper +{ + /** + * 鏌ヨ涓変竴杞﹁締涓婃姤鏃堕棿 + * + * @param id 涓変竴杞﹁締涓婃姤鏃堕棿涓婚敭 + * @return 涓変竴杞﹁締涓婃姤鏃堕棿 + */ + public ArdSyCarDay selectArdSyCarDayById(String id); + + /** + * 鏌ヨ涓変竴杞﹁締涓婃姤鏃堕棿鍒楄〃 + * + * @param ardSyCarDay 涓変竴杞﹁締涓婃姤鏃堕棿 + * @return 涓変竴杞﹁締涓婃姤鏃堕棿闆嗗悎 + */ + public List<ArdSyCarDay> selectArdSyCarDayList(ArdSyCarDay ardSyCarDay); + + /** + * 鏂板涓変竴杞﹁締涓婃姤鏃堕棿 + * + * @param ardSyCarDay 涓変竴杞﹁締涓婃姤鏃堕棿 + * @return 缁撴灉 + */ + public int insertArdSyCarDay(ArdSyCarDay ardSyCarDay); + + /** + * 淇敼涓変竴杞﹁締涓婃姤鏃堕棿 + * + * @param ardSyCarDay 涓変竴杞﹁締涓婃姤鏃堕棿 + * @return 缁撴灉 + */ + public int updateArdSyCarDay(ArdSyCarDay ardSyCarDay); + + /** + * 鍒犻櫎涓変竴杞﹁締涓婃姤鏃堕棿 + * + * @param id 涓変竴杞﹁締涓婃姤鏃堕棿涓婚敭 + * @return 缁撴灉 + */ + public int deleteArdSyCarDayById(String id); + + /** + * 鎵归噺鍒犻櫎涓変竴杞﹁締涓婃姤鏃堕棿 + * + * @param ids 闇�瑕佸垹闄ょ殑鏁版嵁涓婚敭闆嗗悎 + * @return 缁撴灉 + */ + public int deleteArdSyCarDayByIds(String[] ids); + + /** + * 鏇存敼涓変竴杞﹁締涓婃姤鏃堕棿淇℃伅 + * + */ + public int updateArdSyCarDayByCarIdAndDay(@Param("carId")String carId, @Param("day")String day, @Param("endTime")String endTime); + + /** + * 鏍规嵁杞﹁締涓婚敭鍙婁笂浼犳棩鏈熸煡璇笁涓�杞﹁締涓婃姤鏃堕棿淇℃伅 + * + */ + public List<ArdSyCarDay> selectArdSyCarDayByCarIdAndDay(@Param("carId")String carId,@Param("day")String day); +} diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarDayService.java b/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarDayService.java new file mode 100644 index 0000000..c63994d --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/sy/service/IArdSyCarDayService.java @@ -0,0 +1,67 @@ +package com.ruoyi.sy.service; + +import java.util.List; +import com.ruoyi.sy.domain.ArdSyCarDay; + +/** + * 涓変竴杞﹁締涓婃姤鏃堕棿Service鎺ュ彛 + * + * @author ard + * @date 2023-08-07 + */ +public interface IArdSyCarDayService +{ + /** + * 鏌ヨ涓変竴杞﹁締涓婃姤鏃堕棿 + * + * @param id 涓変竴杞﹁締涓婃姤鏃堕棿涓婚敭 + * @return 涓変竴杞﹁締涓婃姤鏃堕棿 + */ + public ArdSyCarDay selectArdSyCarDayById(String id); + + /** + * 鏌ヨ涓変竴杞﹁締涓婃姤鏃堕棿鍒楄〃 + * + * @param ardSyCarDay 涓変竴杞﹁締涓婃姤鏃堕棿 + * @return 涓変竴杞﹁締涓婃姤鏃堕棿闆嗗悎 + */ + public List<ArdSyCarDay> selectArdSyCarDayList(ArdSyCarDay ardSyCarDay); + + /** + * 鏂板涓変竴杞﹁締涓婃姤鏃堕棿 + * + * @param ardSyCarDay 涓変竴杞﹁締涓婃姤鏃堕棿 + * @return 缁撴灉 + */ + public int insertArdSyCarDay(ArdSyCarDay ardSyCarDay); + + /** + * 淇敼涓変竴杞﹁締涓婃姤鏃堕棿 + * + * @param ardSyCarDay 涓変竴杞﹁締涓婃姤鏃堕棿 + * @return 缁撴灉 + */ + public int updateArdSyCarDay(ArdSyCarDay ardSyCarDay); + + /** + * 鎵归噺鍒犻櫎涓変竴杞﹁締涓婃姤鏃堕棿 + * + * @param ids 闇�瑕佸垹闄ょ殑涓変竴杞﹁締涓婃姤鏃堕棿涓婚敭闆嗗悎 + * @return 缁撴灉 + */ + public int deleteArdSyCarDayByIds(String[] ids); + + /** + * 鍒犻櫎涓変竴杞﹁締涓婃姤鏃堕棿淇℃伅 + * + * @param id 涓変竴杞﹁締涓婃姤鏃堕棿涓婚敭 + * @return 缁撴灉 + */ + public int deleteArdSyCarDayById(String id); + + /** + * 鏂板涓変竴杞﹁締涓婃姤鏃堕棿淇℃伅 + * + */ + public int insertArdSyCarDay(String carId); +} diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarDayServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarDayServiceImpl.java new file mode 100644 index 0000000..cc06e5f --- /dev/null +++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarDayServiceImpl.java @@ -0,0 +1,120 @@ +package com.ruoyi.sy.service.impl; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +import com.ruoyi.common.utils.uuid.IdUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.sy.mapper.ArdSyCarDayMapper; +import com.ruoyi.sy.domain.ArdSyCarDay; +import com.ruoyi.sy.service.IArdSyCarDayService; + +import javax.annotation.Resource; + +/** + * 涓変竴杞﹁締涓婃姤鏃堕棿Service涓氬姟灞傚鐞� + * + * @author ard + * @date 2023-08-07 + */ +@Service +public class ArdSyCarDayServiceImpl implements IArdSyCarDayService { + @Resource + private ArdSyCarDayMapper ardSyCarDayMapper; + + /** + * 鏌ヨ涓変竴杞﹁締涓婃姤鏃堕棿 + * + * @param id 涓変竴杞﹁締涓婃姤鏃堕棿涓婚敭 + * @return 涓変竴杞﹁締涓婃姤鏃堕棿 + */ + @Override + public ArdSyCarDay selectArdSyCarDayById(String id) { + return ardSyCarDayMapper.selectArdSyCarDayById(id); + } + + /** + * 鏌ヨ涓変竴杞﹁締涓婃姤鏃堕棿鍒楄〃 + * + * @param ardSyCarDay 涓変竴杞﹁締涓婃姤鏃堕棿 + * @return 涓変竴杞﹁締涓婃姤鏃堕棿 + */ + @Override + public List<ArdSyCarDay> selectArdSyCarDayList(ArdSyCarDay ardSyCarDay) { + return ardSyCarDayMapper.selectArdSyCarDayList(ardSyCarDay); + } + + /** + * 鏂板涓変竴杞﹁締涓婃姤鏃堕棿 + * + * @param ardSyCarDay 涓変竴杞﹁締涓婃姤鏃堕棿 + * @return 缁撴灉 + */ + @Override + public int insertArdSyCarDay(ArdSyCarDay ardSyCarDay) { + return ardSyCarDayMapper.insertArdSyCarDay(ardSyCarDay); + } + + /** + * 淇敼涓変竴杞﹁締涓婃姤鏃堕棿 + * + * @param ardSyCarDay 涓変竴杞﹁締涓婃姤鏃堕棿 + * @return 缁撴灉 + */ + @Override + public int updateArdSyCarDay(ArdSyCarDay ardSyCarDay) { + return ardSyCarDayMapper.updateArdSyCarDay(ardSyCarDay); + } + + /** + * 鎵归噺鍒犻櫎涓変竴杞﹁締涓婃姤鏃堕棿 + * + * @param ids 闇�瑕佸垹闄ょ殑涓変竴杞﹁締涓婃姤鏃堕棿涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteArdSyCarDayByIds(String[] ids) { + return ardSyCarDayMapper.deleteArdSyCarDayByIds(ids); + } + + /** + * 鍒犻櫎涓変竴杞﹁締涓婃姤鏃堕棿淇℃伅 + * + * @param id 涓変竴杞﹁締涓婃姤鏃堕棿涓婚敭 + * @return 缁撴灉 + */ + @Override + public int deleteArdSyCarDayById(String id) { + return ardSyCarDayMapper.deleteArdSyCarDayById(id); + } + + /** + * 鏂板涓変竴杞﹁締涓婃姤鏃堕棿淇℃伅 + * + */ + @Override + public int insertArdSyCarDay(String carId) { + String id = IdUtils.simpleUUID(); + SimpleDateFormat ymd = new SimpleDateFormat("yyyy-MM-dd"); + String day = ymd.format(new Date()); + ArdSyCarDay ardSyCarDay = new ArdSyCarDay(); + ardSyCarDay.setCarId(carId); + ardSyCarDay.setDay(day); + List<ArdSyCarDay> ardSyCarDayList = ardSyCarDayMapper.selectArdSyCarDayList(ardSyCarDay); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + int result = 0; + if(ardSyCarDayList.size() == 0){ + String time = sdf.format(new Date()); + ardSyCarDay.setFirstTime(time); + ardSyCarDay.setEndTime(time); + ardSyCarDay.setId(id); + result = ardSyCarDayMapper.insertArdSyCarDay(ardSyCarDay); + }else{ + String endTime = sdf.format(new Date()); + result = ardSyCarDayMapper.updateArdSyCarDayByCarIdAndDay(carId,ardSyCarDayList.get(0).getDay(),endTime); + } + return result; + } +} diff --git a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java index bf45df9..ff4c707 100644 --- a/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/sy/service/impl/ArdSyCarServiceImpl.java @@ -14,6 +14,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.uuid.IdUtils; +import com.ruoyi.sy.domain.ArdSyCarDay; +import com.ruoyi.sy.mapper.ArdSyCarDayMapper; import com.ruoyi.utils.websocket.util.WebSocketUtils; import com.ruoyi.device.hiksdk.config.MinioClientSingleton; import com.ruoyi.storage.minio.utils.MinioUtils; @@ -68,6 +70,9 @@ @Resource private SYClient sYClient; + + @Resource + private ArdSyCarDayMapper ardSyCarDayMapper; private Map<Integer,Map<String,String>> logInMap = new HashMap(); @@ -798,7 +803,7 @@ } } - @Override + /*@Override public Results getExistTraceByCarIdAndMonth(String userId, String carId, String time) { SysConfig config = new SysConfig(); config.setConfigKey("syCarPT"); @@ -820,6 +825,16 @@ return Results.succeed(existTraceMap); } } + }*/ + + @Override + public Results getExistTraceByCarIdAndMonth(String userId, String carId, String time) { + List<ArdSyCarDay> result = ardSyCarDayMapper.selectArdSyCarDayByCarIdAndDay(carId,time + "%"); + List<String> list = new ArrayList(); + for(ArdSyCarDay ardSyCarDay : result){ + list.add(ardSyCarDay.getDay().split("-")[2]); + } + return Results.succeed(list); } public Map<String,Integer> getExistTraceByCarIdAndMonth(String url,String usersId,String password,String carId,String time){ diff --git a/ard-work/src/main/resources/mapper/sy/ArdSyCarDayMapper.xml b/ard-work/src/main/resources/mapper/sy/ArdSyCarDayMapper.xml new file mode 100644 index 0000000..2d95fad --- /dev/null +++ b/ard-work/src/main/resources/mapper/sy/ArdSyCarDayMapper.xml @@ -0,0 +1,83 @@ +<?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.ArdSyCarDayMapper"> + + <resultMap type="ArdSyCarDay" id="ArdSyCarDayResult"> + <result property="id" column="id" /> + <result property="carId" column="car_id" /> + <result property="day" column="day" /> + <result property="firstTime" column="first_time" /> + <result property="endTime" column="end_time" /> + </resultMap> + + <sql id="selectArdSyCarDayVo"> + select id, car_id, day, first_time, end_time from ard_sy_car_day + </sql> + + <select id="selectArdSyCarDayList" parameterType="ArdSyCarDay" resultMap="ArdSyCarDayResult"> + <include refid="selectArdSyCarDayVo"/> + <where> + <if test="carId != null and carId != ''"> and car_id = #{carId}</if> + <if test="day != null and day != ''"> and day = #{day}</if> + <if test="firstTime != null and firstTime != ''"> and first_time = #{firstTime}</if> + <if test="endTime != null and endTime != ''"> and end_time = #{endTime}</if> + </where> + </select> + + <select id="selectArdSyCarDayById" parameterType="String" resultMap="ArdSyCarDayResult"> + <include refid="selectArdSyCarDayVo"/> + where id = #{id} + </select> + + <insert id="insertArdSyCarDay" parameterType="ArdSyCarDay"> + insert into ard_sy_car_day + <trim prefix="(" suffix=")" suffixOverrides=","> + <if test="id != null">id,</if> + <if test="carId != null">car_id,</if> + <if test="day != null">day,</if> + <if test="firstTime != null">first_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="day != null">#{day},</if> + <if test="firstTime != null">#{firstTime},</if> + <if test="endTime != null">#{endTime},</if> + </trim> + </insert> + + <update id="updateArdSyCarDay" parameterType="ArdSyCarDay"> + update ard_sy_car_day + <trim prefix="SET" suffixOverrides=","> + <if test="carId != null">car_id = #{carId},</if> + <if test="day != null">day = #{day},</if> + <if test="firstTime != null">first_time = #{firstTime},</if> + <if test="endTime != null">end_time = #{endTime},</if> + </trim> + where id = #{id} + </update> + + <delete id="deleteArdSyCarDayById" parameterType="String"> + delete from ard_sy_car_day where id = #{id} + </delete> + + <delete id="deleteArdSyCarDayByIds" parameterType="String"> + delete from ard_sy_car_day where id in + <foreach item="id" collection="array" open="(" separator="," close=")"> + #{id} + </foreach> + </delete> + + <update id="updateArdSyCarDayByCarIdAndDay" parameterType="java.lang.String"> + update ard_sy_car_day set end_time = #{endTime} where car_id = #{carId} and day = #{day} + </update> + + <select id="selectArdSyCarDayByCarIdAndDay" parameterType="java.lang.String" resultMap="ArdSyCarDayResult"> + select * from ard_sy_car_day ascd + where ascd.car_id = #{carId} and ascd.day like #{day} + order by ascd.day desc + </select> +</mapper> \ No newline at end of file -- Gitblit v1.9.3