wenhongquan пре 1 година
родитељ
комит
d12e1fde21

+ 1 - 0
ruoyi-admin/src/main/java/org/dromara/DromaraApplication.java

@@ -1,6 +1,7 @@
 package org.dromara;
 package org.dromara;
 
 
 import com.dtflys.forest.springboot.annotation.ForestScan;
 import com.dtflys.forest.springboot.annotation.ForestScan;
+import org.dromara.util.DistanceCalculator;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;
 import org.springframework.boot.context.metrics.buffering.BufferingApplicationStartup;

+ 2 - 2
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/service/impl/TblCarScheduleServiceImpl.java

@@ -82,8 +82,8 @@ public class TblCarScheduleServiceImpl implements ITblCarScheduleService {
             }
             }
             if(bo.getParams().get("scheduleDate")!=null){
             if(bo.getParams().get("scheduleDate")!=null){
                 try{
                 try{
-                    String start= bo.getParams().get("scheduleDate").toString()+" 00:00:00";
-                    String end= bo.getParams().get("scheduleDate").toString()+" 23:59:59";
+                    String start= bo.getParams().get("scheduleDate").toString();
+                    String end= bo.getParams().get("scheduleDate").toString();
                     lqw.gt(bo.getParams().get("scheduleDate")!=null, TblCarSchedule::getScheduleDate, start);
                     lqw.gt(bo.getParams().get("scheduleDate")!=null, TblCarSchedule::getScheduleDate, start);
                     lqw.lt(bo.getParams().get("scheduleDate")!=null, TblCarSchedule::getScheduleDate, end);
                     lqw.lt(bo.getParams().get("scheduleDate")!=null, TblCarSchedule::getScheduleDate, end);
 
 

+ 9 - 8
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/util/CamelDataUtil.java

@@ -136,10 +136,12 @@ public class CamelDataUtil {
                                     try{
                                     try{
                                         JSONArray lines = JSONUtil.parseObj(scheduleVo.getPathInfo()).getJSONArray("pathLine");
                                         JSONArray lines = JSONUtil.parseObj(scheduleVo.getPathInfo()).getJSONArray("pathLine");
                                         List<JSONObject> lines1 = new ArrayList<>();
                                         List<JSONObject> lines1 = new ArrayList<>();
+                                        String text = SpringUtils.getBean(ISysConfigService.class).selectConfigByKey("sys.car.text");
                                         RedisUtils.setCacheObject(StringUtils.format("car_{}_{}_current_station",carInfoVo1.getCarNum(),DateFormatUtils.format( scheduleVo.getScheduleDate(),DateUtils.YYYYMMDDHHMMSS)),"");
                                         RedisUtils.setCacheObject(StringUtils.format("car_{}_{}_current_station",carInfoVo1.getCarNum(),DateFormatUtils.format( scheduleVo.getScheduleDate(),DateUtils.YYYYMMDDHHMMSS)),"");
                                         for (JSONObject jsonObject : lines.toList(JSONObject.class)) {
                                         for (JSONObject jsonObject : lines.toList(JSONObject.class)) {
                                             double distance =  DistanceCalculator.calculateDistance(jsonObject.getStr("location"),StringUtils.format("{},{}", gpsData.getLng(),gpsData.getLat()));
                                             double distance =  DistanceCalculator.calculateDistance(jsonObject.getStr("location"),StringUtils.format("{},{}", gpsData.getLng(),gpsData.getLat()));
                                             String configdistance = SpringUtils.getBean(ISysConfigService.class).selectConfigByKey("sys.car.distance");
                                             String configdistance = SpringUtils.getBean(ISysConfigService.class).selectConfigByKey("sys.car.distance");
+
                                             if(Double.parseDouble(configdistance)>distance){
                                             if(Double.parseDouble(configdistance)>distance){
                                                 String stations = RedisUtils.getCacheObject(StringUtils.format("car_{}_{}_current_station",carInfoVo1.getCarNum(),DateFormatUtils.format( scheduleVo.getScheduleDate(),DateUtils.YYYYMMDDHHMMSS)));
                                                 String stations = RedisUtils.getCacheObject(StringUtils.format("car_{}_{}_current_station",carInfoVo1.getCarNum(),DateFormatUtils.format( scheduleVo.getScheduleDate(),DateUtils.YYYYMMDDHHMMSS)));
                                                 RedisUtils.setCacheObject(StringUtils.format("car_{}_{}_current_station",carInfoVo1.getCarNum(),DateFormatUtils.format( scheduleVo.getScheduleDate(),DateUtils.YYYYMMDDHHMMSS)),stations+","+jsonObject.getStr("stationName"));
                                                 RedisUtils.setCacheObject(StringUtils.format("car_{}_{}_current_station",carInfoVo1.getCarNum(),DateFormatUtils.format( scheduleVo.getScheduleDate(),DateUtils.YYYYMMDDHHMMSS)),stations+","+jsonObject.getStr("stationName"));
@@ -210,7 +212,7 @@ public class CamelDataUtil {
 
 
 
 
                                                 //满足条件播报(led or 广播)
                                                 //满足条件播报(led or 广播)
-                                                String message = StringUtils.format("{}即将到达{},即将到达,请准备接货。", carInfoVo1.getCarNum(),stations.get(0).getDictLabel());
+                                                String message = StringUtils.format(text, carInfoVo1.getCarNum(),stations.get(0).getDictLabel());
                                                 if(StringUtils.isNotEmpty(stations.get(0).getRemark())){
                                                 if(StringUtils.isNotEmpty(stations.get(0).getRemark())){
                                                     List<JSONObject> devicedatas = JSONUtil.parseArray( stations.get(0).getRemark()).toList(JSONObject.class);
                                                     List<JSONObject> devicedatas = JSONUtil.parseArray( stations.get(0).getRemark()).toList(JSONObject.class);
                                                     for (JSONObject i :devicedatas) {
                                                     for (JSONObject i :devicedatas) {
@@ -237,13 +239,12 @@ public class CamelDataUtil {
                                         log.error("---------------------");
                                         log.error("---------------------");
                                     }
                                     }
                                 }
                                 }
-                            }
-
-                            else{
+                            }else{
                                 //无路线无排班车辆
                                 //无路线无排班车辆
 
 
                                 String configdistance = SpringUtils.getBean(ISysConfigService.class).selectConfigByKey("sys.car5.distance");
                                 String configdistance = SpringUtils.getBean(ISysConfigService.class).selectConfigByKey("sys.car5.distance");
                                 String configtime = SpringUtils.getBean(ISysConfigService.class).selectConfigByKey("sys.car5.time");
                                 String configtime = SpringUtils.getBean(ISysConfigService.class).selectConfigByKey("sys.car5.time");
+                                String text = SpringUtils.getBean(ISysConfigService.class).selectConfigByKey("sys.car5.text");
                                 if(StrUtil.isEmptyIfStr(configdistance)) configdistance="500";
                                 if(StrUtil.isEmptyIfStr(configdistance)) configdistance="500";
                                 if(StrUtil.isEmptyIfStr(configtime)) configtime="180000";
                                 if(StrUtil.isEmptyIfStr(configtime)) configtime="180000";
                                 //查询所有站点经纬
                                 //查询所有站点经纬
@@ -272,8 +273,8 @@ public class CamelDataUtil {
                                                     }
                                                     }
                                                 }
                                                 }
                                                 if(canbobao){
                                                 if(canbobao){
-                                                   Long lastStationCode =  RedisUtils.getCacheObject(StringUtils.format("car_{}_last_bb_station",carInfoVo1.getCarNum()));
-                                                   if(lastStationCode!=null && lastStationCode.equals(station.getDictCode())){
+                                                   String lastStationCode =  RedisUtils.getCacheObject(StringUtils.format("car_{}_last_bb_station",carInfoVo1.getCarNum()));
+                                                   if(lastStationCode!=null && lastStationCode.equals(station.getDictCode().toString())){
                                                        canbobao = false;
                                                        canbobao = false;
                                                    }
                                                    }
                                                 }
                                                 }
@@ -282,10 +283,10 @@ public class CamelDataUtil {
                                                     //设置播报站播报时间
                                                     //设置播报站播报时间
                                                     RedisUtils.setCacheObject(StringUtils.format("car_{}_{}_station",carInfoVo1.getCarNum(),station.getDictCode()),DateUtil.current());
                                                     RedisUtils.setCacheObject(StringUtils.format("car_{}_{}_station",carInfoVo1.getCarNum(),station.getDictCode()),DateUtil.current());
                                                     //设置播报站
                                                     //设置播报站
-                                                    RedisUtils.setCacheObject(StringUtils.format("car_{}_last_bb_station",carInfoVo1.getCarNum()),station.getDictCode());
+                                                    RedisUtils.setCacheObject(StringUtils.format("car_{}_last_bb_station",carInfoVo1.getCarNum()),station.getDictCode().toString());
 
 
                                                     //满足条件播报(led or 广播)
                                                     //满足条件播报(led or 广播)
-                                                    String message = StringUtils.format("{}即将到达{},即将到达,请准备接货。", carInfoVo1.getCarNum(),station.getDictLabel());
+                                                    String message = StringUtils.format(text, carInfoVo1.getCarNum(),station.getDictLabel());
                                                     if(StringUtils.isNotEmpty(station.getRemark())){
                                                     if(StringUtils.isNotEmpty(station.getRemark())){
                                                         List<JSONObject> devicedatas = JSONUtil.parseArray( station.getRemark()).toList(JSONObject.class);
                                                         List<JSONObject> devicedatas = JSONUtil.parseArray( station.getRemark()).toList(JSONObject.class);
                                                         for (JSONObject i :devicedatas) {
                                                         for (JSONObject i :devicedatas) {