大屏接口修改
This commit is contained in:
		| @ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; | |||||||
| import jakarta.annotation.Resource; | import jakarta.annotation.Resource; | ||||||
| import jakarta.validation.constraints.NotNull; | import jakarta.validation.constraints.NotNull; | ||||||
| import lombok.RequiredArgsConstructor; | import lombok.RequiredArgsConstructor; | ||||||
|  | import org.dromara.bigscreen.domain.dto.TanchuangInfoReq; | ||||||
| import org.dromara.bigscreen.domain.dto.Ys7DeviceUpdateReq; | import org.dromara.bigscreen.domain.dto.Ys7DeviceUpdateReq; | ||||||
| import org.dromara.bigscreen.domain.vo.ProjectImageProgressVo; | import org.dromara.bigscreen.domain.vo.ProjectImageProgressVo; | ||||||
| import org.dromara.bigscreen.domain.vo.ProjectLandVo; | import org.dromara.bigscreen.domain.vo.ProjectLandVo; | ||||||
| @ -418,4 +419,12 @@ public class ProjectBigScreenController extends BaseController { | |||||||
|         projectBigScreenService.setWrjHc(); |         projectBigScreenService.setWrjHc(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 更新无人机缓存 | ||||||
|  |      */ | ||||||
|  |     @GetMapping("/getInfoData") | ||||||
|  |     public R<Map<String, Map<String, Object>>> getInfoData(TanchuangInfoReq req){ | ||||||
|  |         return R.ok(projectBigScreenService.getInfoData(req)); | ||||||
|  |     } | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -8,8 +8,4 @@ import java.io.Serializable; | |||||||
| public class TanchuangInfoReq implements Serializable { | public class TanchuangInfoReq implements Serializable { | ||||||
|  |  | ||||||
|     private Long id; |     private Long id; | ||||||
|  |  | ||||||
|     private String sn; |  | ||||||
|  |  | ||||||
|     private Integer type; |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -53,22 +53,30 @@ public class RedisMessageListener implements MessageListener { | |||||||
|             key = "wrj:osd2:"+gateway; |             key = "wrj:osd2:"+gateway; | ||||||
|         }else if (JSONUtil.parseObj(stringRedisTemplate.getStringSerializer().deserialize(message.getBody())).getJSONObject("data").get("network_state") != null) { |         }else if (JSONUtil.parseObj(stringRedisTemplate.getStringSerializer().deserialize(message.getBody())).getJSONObject("data").get("network_state") != null) { | ||||||
|             key = "wrj:osd3:"+gateway; |             key = "wrj:osd3:"+gateway; | ||||||
|  |             DroProjectDrone droProjectDrone = droProjectDroneService.getBaseMapper().selectOne(new LambdaQueryWrapper<DroProjectDrone>().eq(DroProjectDrone::getDroneSn, gateway)); | ||||||
|  |             setWs(message, gateway, droProjectDrone); | ||||||
|         }else{ |         }else{ | ||||||
|             key = "wrj:osd4:"+gateway; |             key = "wrj:osd4:"+gateway; | ||||||
|  |             DroProjectDrone droProjectDrone = droProjectDroneService.getBaseMapper().selectOne(new LambdaQueryWrapper<DroProjectDrone>().eq(DroProjectDrone::getDroneSn, gateway)); | ||||||
|  |             setWs(message, gateway, droProjectDrone); | ||||||
|  |  | ||||||
|         } |         } | ||||||
|         stringRedisTemplate |         stringRedisTemplate | ||||||
|             .opsForValue() |             .opsForValue() | ||||||
|             .set(key |             .set(key | ||||||
|                 , Objects.requireNonNull(stringRedisTemplate.getStringSerializer().deserialize(message.getBody()))); |                 , Objects.requireNonNull(stringRedisTemplate.getStringSerializer().deserialize(message.getBody()))); | ||||||
|         DroProjectDrone droProjectDrone = droProjectDroneService.getBaseMapper().selectOne(new LambdaQueryWrapper<DroProjectDrone>().eq(DroProjectDrone::getDroneSn, gateway)); |  | ||||||
|         String pushContent = buildPushMessage(gateway,stringRedisTemplate.getStringSerializer().deserialize(message.getBody()),droProjectDrone.getProjectId()); |     } | ||||||
|  |  | ||||||
|  |     private void setWs(Message message, String gateway, DroProjectDrone droProjectDrone) { | ||||||
|  |         String pushContent = buildPushMessage(gateway,stringRedisTemplate.getStringSerializer().deserialize(message.getBody()), droProjectDrone.getProjectId()); | ||||||
|         // 发送给指定用户(equipment.getUserId()) |         // 发送给指定用户(equipment.getUserId()) | ||||||
|         WebSocketMessageDto messageDto = new WebSocketMessageDto(); |         WebSocketMessageDto messageDto = new WebSocketMessageDto(); | ||||||
|         messageDto.setMessage(pushContent); |         messageDto.setMessage(pushContent); | ||||||
|         messageDto.setSessionKeys(Collections.singletonList(droProjectDrone.getProjectId())); |         messageDto.setSessionKeys(Collections.singletonList(droProjectDrone.getProjectId())); | ||||||
|         WebSocketUtils.publishMessage(messageDto); |         WebSocketUtils.publishMessage(messageDto); | ||||||
|  |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private String buildPushMessage(String key, String message, Long projectId) { |     private String buildPushMessage(String key, String message, Long projectId) { | ||||||
|         JSONObject messageObj = new JSONObject(); |         JSONObject messageObj = new JSONObject(); | ||||||
|         messageObj.put("type", "wrj_DATA_UPDATE"); |         messageObj.put("type", "wrj_DATA_UPDATE"); | ||||||
|  | |||||||
| @ -77,7 +77,7 @@ public class RedisSubscribeManager { | |||||||
|      * 4. 定时任务:定期更新订阅(每5分钟执行一次,可调整cron表达式) |      * 4. 定时任务:定期更新订阅(每5分钟执行一次,可调整cron表达式) | ||||||
|      * cron格式:秒 分 时 日 月 周 年(示例:0 0/5 * * * ? 表示每5分钟) |      * cron格式:秒 分 时 日 月 周 年(示例:0 0/5 * * * ? 表示每5分钟) | ||||||
|      */ |      */ | ||||||
|     @Scheduled(cron = "0 0/5 * * * ?") |     @Scheduled(cron = "0 0/6 * * * ?") | ||||||
|     public void dynamicUpdateSubscribe() { |     public void dynamicUpdateSubscribe() { | ||||||
|         try { |         try { | ||||||
|             Object object = RedisUtils.getCacheObject("xmjdap:ws"); |             Object object = RedisUtils.getCacheObject("xmjdap:ws"); | ||||||
|  | |||||||
| @ -1,5 +1,6 @@ | |||||||
| package org.dromara.bigscreen.service; | package org.dromara.bigscreen.service; | ||||||
|  |  | ||||||
|  | import org.dromara.bigscreen.domain.dto.TanchuangInfoReq; | ||||||
| import org.dromara.bigscreen.domain.vo.ProjectImageProgressVo; | import org.dromara.bigscreen.domain.vo.ProjectImageProgressVo; | ||||||
| import org.dromara.bigscreen.domain.vo.ProjectPeopleVo; | import org.dromara.bigscreen.domain.vo.ProjectPeopleVo; | ||||||
| import org.dromara.bigscreen.domain.vo.ProjectSafetyInspectionVo; | import org.dromara.bigscreen.domain.vo.ProjectSafetyInspectionVo; | ||||||
| @ -84,4 +85,5 @@ public interface ProjectBigScreenService { | |||||||
|      */ |      */ | ||||||
|     void setWrjHc(); |     void setWrjHc(); | ||||||
|  |  | ||||||
|  |     Map<String, Map<String, Object>> getInfoData(TanchuangInfoReq req); | ||||||
| } | } | ||||||
|  | |||||||
| @ -5,6 +5,7 @@ import cn.hutool.json.JSONArray; | |||||||
| import cn.hutool.json.JSONObject; | import cn.hutool.json.JSONObject; | ||||||
| import cn.hutool.json.JSONUtil; | import cn.hutool.json.JSONUtil; | ||||||
| import jakarta.annotation.Resource; | import jakarta.annotation.Resource; | ||||||
|  | import org.dromara.bigscreen.domain.dto.TanchuangInfoReq; | ||||||
| import org.dromara.bigscreen.domain.vo.ProjectImageProgressVo; | import org.dromara.bigscreen.domain.vo.ProjectImageProgressVo; | ||||||
| import org.dromara.bigscreen.domain.vo.ProjectPeopleVo; | import org.dromara.bigscreen.domain.vo.ProjectPeopleVo; | ||||||
| import org.dromara.bigscreen.domain.vo.ProjectSafetyInspectionVo; | import org.dromara.bigscreen.domain.vo.ProjectSafetyInspectionVo; | ||||||
| @ -18,7 +19,9 @@ import org.dromara.contractor.domain.SubConstructionUser; | |||||||
| import org.dromara.contractor.service.ISubConstructionUserService; | import org.dromara.contractor.service.ISubConstructionUserService; | ||||||
| import org.dromara.drone.service.IDroProjectDroneService; | import org.dromara.drone.service.IDroProjectDroneService; | ||||||
| import org.dromara.gps.domain.bo.GpsEquipmentBo; | import org.dromara.gps.domain.bo.GpsEquipmentBo; | ||||||
|  | import org.dromara.gps.domain.vo.DeviceVo; | ||||||
| import org.dromara.gps.domain.vo.GpsEquipmentSonVo; | import org.dromara.gps.domain.vo.GpsEquipmentSonVo; | ||||||
|  | import org.dromara.gps.service.IDeviceService; | ||||||
| import org.dromara.gps.service.IGpsEquipmentService; | import org.dromara.gps.service.IGpsEquipmentService; | ||||||
| import org.dromara.manager.weathermanager.vo.WeatherVo; | import org.dromara.manager.weathermanager.vo.WeatherVo; | ||||||
| import org.dromara.other.domain.OthYs7Device; | import org.dromara.other.domain.OthYs7Device; | ||||||
| @ -88,6 +91,9 @@ public class ProjectBigScreenServiceImpl implements ProjectBigScreenService { | |||||||
|     @Lazy |     @Lazy | ||||||
|     private StringRedisTemplate stringRedisTemplate; |     private StringRedisTemplate stringRedisTemplate; | ||||||
|  |  | ||||||
|  |     @Resource | ||||||
|  |     private IDeviceService deviceService; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 获取项目天气 |      * 获取项目天气 | ||||||
|      * |      * | ||||||
| @ -473,6 +479,7 @@ public class ProjectBigScreenServiceImpl implements ProjectBigScreenService { | |||||||
|         LocalDateTime now = LocalDateTime.now(); |         LocalDateTime now = LocalDateTime.now(); | ||||||
|         List<GpsEquipmentSonVo> voList = gpsEquipmentService.getClientList(projectId, startOfDay, now); |         List<GpsEquipmentSonVo> voList = gpsEquipmentService.getClientList(projectId, startOfDay, now); | ||||||
|         List<GpsEquipmentSonVo> appList = gpsEquipmentService.getUserListByProjectId(projectId, startOfDay, now); |         List<GpsEquipmentSonVo> appList = gpsEquipmentService.getUserListByProjectId(projectId, startOfDay, now); | ||||||
|  |         List<DeviceVo> anqmList = deviceService.getUserListByProjectId(projectId, startOfDay, now); | ||||||
|         List<OthYs7Device> othYs7DeviceList = othYs7DeviceService.lambdaQuery() |         List<OthYs7Device> othYs7DeviceList = othYs7DeviceService.lambdaQuery() | ||||||
|             .eq(OthYs7Device::getProjectId, projectId) |             .eq(OthYs7Device::getProjectId, projectId) | ||||||
|             .between(OthYs7Device::getUpdateTime, startOfDay, now) |             .between(OthYs7Device::getUpdateTime, startOfDay, now) | ||||||
| @ -515,6 +522,7 @@ public class ProjectBigScreenServiceImpl implements ProjectBigScreenService { | |||||||
|             for (GpsEquipmentSonVo item : voList) { |             for (GpsEquipmentSonVo item : voList) { | ||||||
|                 Map<String, Object> gps = new HashMap<>(); |                 Map<String, Object> gps = new HashMap<>(); | ||||||
|                 gps.put("id", item.getClientId()); |                 gps.put("id", item.getClientId()); | ||||||
|  |                 gps.put("userId", item.getUserId()); | ||||||
|                 gps.put("label", item.getClientId()); |                 gps.put("label", item.getClientId()); | ||||||
|                 gps.put("name", item.getDeviceName()); |                 gps.put("name", item.getDeviceName()); | ||||||
|                 gps.put("type", "gps"); |                 gps.put("type", "gps"); | ||||||
| @ -528,6 +536,7 @@ public class ProjectBigScreenServiceImpl implements ProjectBigScreenService { | |||||||
|             for (GpsEquipmentSonVo item : appList) { |             for (GpsEquipmentSonVo item : appList) { | ||||||
|                 Map<String, Object> app = new HashMap<>(); |                 Map<String, Object> app = new HashMap<>(); | ||||||
|                 app.put("id", item.getClientId()); |                 app.put("id", item.getClientId()); | ||||||
|  |                 app.put("userId", item.getUserId()); | ||||||
|                 app.put("label", item.getClientId()); |                 app.put("label", item.getClientId()); | ||||||
|                 app.put("name", item.getDeviceName()); |                 app.put("name", item.getDeviceName()); | ||||||
|                 app.put("type", "app"); |                 app.put("type", "app"); | ||||||
| @ -554,6 +563,12 @@ public class ProjectBigScreenServiceImpl implements ProjectBigScreenService { | |||||||
|         if (wrjKeys != null && !wrjKeys.isEmpty()) { |         if (wrjKeys != null && !wrjKeys.isEmpty()) { | ||||||
|             for (String key : wrjKeys) { |             for (String key : wrjKeys) { | ||||||
|                 Object object = stringRedisTemplate.opsForValue().get("wrj:osd4:" + key); |                 Object object = stringRedisTemplate.opsForValue().get("wrj:osd4:" + key); | ||||||
|  |                 Object object6 = stringRedisTemplate.opsForValue().get("wrj:osd2:" + key); | ||||||
|  |                 String status = ""; | ||||||
|  |                 if (object6 != null) { | ||||||
|  |                     JSONObject object1 = JSONUtil.parseObj(object6); | ||||||
|  |                     status = object1.getJSONObject("data").get("flighttask_step_code").toString(); | ||||||
|  |                 } | ||||||
|                 if (object != null) { |                 if (object != null) { | ||||||
|                     JSONObject object1 = JSONUtil.parseObj(object); |                     JSONObject object1 = JSONUtil.parseObj(object); | ||||||
|                     Map<String, Object> wrj = new HashMap<>(); |                     Map<String, Object> wrj = new HashMap<>(); | ||||||
| @ -561,9 +576,26 @@ public class ProjectBigScreenServiceImpl implements ProjectBigScreenService { | |||||||
|                     wrj.put("label", key); |                     wrj.put("label", key); | ||||||
|                     wrj.put("name", key); |                     wrj.put("name", key); | ||||||
|                     wrj.put("type", "wurenji"); |                     wrj.put("type", "wurenji"); | ||||||
|  |                     wrj.put("status", status); | ||||||
|                     wrj.put("lat", object1.getJSONObject("data").get("latitude")); |                     wrj.put("lat", object1.getJSONObject("data").get("latitude")); | ||||||
|                     wrj.put("lng", object1.getJSONObject("data").get("longitude")); |                     wrj.put("lng", object1.getJSONObject("data").get("longitude")); | ||||||
|  |                     wrj.put("alt", object1.getJSONObject("data").get("height")); | ||||||
|                     wrjChildrenMap.add(wrj); |                     wrjChildrenMap.add(wrj); | ||||||
|  |                 }else { | ||||||
|  |                     Object object2 = stringRedisTemplate.opsForValue().get("wrj:osd3:" + key); | ||||||
|  |                     if (object2 != null) { | ||||||
|  |                         JSONObject object3 = JSONUtil.parseObj(object2); | ||||||
|  |                         Map<String, Object> wrj = new HashMap<>(); | ||||||
|  |                         wrj.put("id", key); | ||||||
|  |                         wrj.put("label", key); | ||||||
|  |                         wrj.put("name", key); | ||||||
|  |                         wrj.put("type", "wurenji"); | ||||||
|  |                         wrj.put("status", status); | ||||||
|  |                         wrj.put("lat", object3.getJSONObject("data").get("latitude")); | ||||||
|  |                         wrj.put("lng", object3.getJSONObject("data").get("longitude")); | ||||||
|  |                         wrj.put("alt", object3.getJSONObject("data").get("height")); | ||||||
|  |                         wrjChildrenMap.add(wrj); | ||||||
|  |                     } | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| @ -601,4 +633,9 @@ public class ProjectBigScreenServiceImpl implements ProjectBigScreenService { | |||||||
|     public void setWrjHc() { |     public void setWrjHc() { | ||||||
|         RedisUtils.setCacheObject("xmjdap:ws",System.currentTimeMillis() ); |         RedisUtils.setCacheObject("xmjdap:ws",System.currentTimeMillis() ); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public Map<String, Map<String, Object>> getInfoData(TanchuangInfoReq req) { | ||||||
|  |         return projectService.getInfoData(req); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -25,7 +25,7 @@ public interface GpsEquipmentSonMapper extends BaseMapperPlus<GpsEquipmentSon, G | |||||||
|         "        gps_equipment_son \n" + |         "        gps_equipment_son \n" + | ||||||
|         "WHERE \n" + |         "WHERE \n" + | ||||||
|         "project_id = #{projectId} \n " + |         "project_id = #{projectId} \n " + | ||||||
|         "AND create_time BETWEEN #{startTime} AND #{endTime}\n" + | //        "AND create_time BETWEEN #{startTime} AND #{endTime}\n" + | ||||||
|         ")\n" + |         ")\n" + | ||||||
|         "SELECT\n" + |         "SELECT\n" + | ||||||
|         "    *\n" + |         "    *\n" + | ||||||
| @ -67,7 +67,7 @@ public interface GpsEquipmentSonMapper extends BaseMapperPlus<GpsEquipmentSon, G | |||||||
|         "WHERE \n" + |         "WHERE \n" + | ||||||
|         "project_id = #{projectId}\n " + |         "project_id = #{projectId}\n " + | ||||||
|         "AND client_id IS NULL \n" + |         "AND client_id IS NULL \n" + | ||||||
|         "AND create_time BETWEEN #{startTime} AND #{endTime} \n" + | //        "AND create_time BETWEEN #{startTime} AND #{endTime} \n" + | ||||||
|         ")\n" + |         ")\n" + | ||||||
|         "SELECT\n" + |         "SELECT\n" + | ||||||
|         "    *\n" + |         "    *\n" + | ||||||
|  | |||||||
| @ -3,9 +3,11 @@ package org.dromara.gps.mapper; | |||||||
| import org.apache.ibatis.annotations.Param; | import org.apache.ibatis.annotations.Param; | ||||||
| import org.apache.ibatis.annotations.Select; | import org.apache.ibatis.annotations.Select; | ||||||
| import org.dromara.gps.domain.Location; | import org.dromara.gps.domain.Location; | ||||||
|  | import org.dromara.gps.domain.vo.DeviceVo; | ||||||
| import org.dromara.gps.domain.vo.LocationVo; | import org.dromara.gps.domain.vo.LocationVo; | ||||||
| import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; | import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; | ||||||
|  |  | ||||||
|  | import java.time.LocalDateTime; | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  |  | ||||||
| /** | /** | ||||||
| @ -28,4 +30,23 @@ public interface LocationMapper extends BaseMapperPlus<Location, LocationVo> { | |||||||
|         "FROM ges " + |         "FROM ges " + | ||||||
|         "WHERE rn=1;") |         "WHERE rn=1;") | ||||||
|     List<LocationVo> selectVoFristList(@Param("projectId") Long projectId); |     List<LocationVo> selectVoFristList(@Param("projectId") Long projectId); | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     @Select("WITH RankedData AS (\n" + | ||||||
|  |         "    SELECT\n" + | ||||||
|  |         "        *,\n" + | ||||||
|  |         "        ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY create_time DESC) AS rn\n" + | ||||||
|  |         "    FROM\n" + | ||||||
|  |         "        location \n " + | ||||||
|  |         "WHERE \n" + | ||||||
|  |         "project_id = #{projectId}\n " + | ||||||
|  | //        "AND create_time BETWEEN #{startTime} AND #{endTime} \n" + | ||||||
|  |         ")\n" + | ||||||
|  |         "SELECT\n" + | ||||||
|  |         "    *\n" + | ||||||
|  |         "FROM\n" + | ||||||
|  |         "    RankedData\n" + | ||||||
|  |         "WHERE\n" + | ||||||
|  |         "    rn = 1;") | ||||||
|  |     List<DeviceVo> getUserListByProjectId(Long projectId, LocalDateTime startOfDay, LocalDateTime now); | ||||||
| } | } | ||||||
|  | |||||||
| @ -10,6 +10,7 @@ import org.dromara.common.mybatis.core.page.PageQuery; | |||||||
| import com.baomidou.mybatisplus.extension.service.IService; | import com.baomidou.mybatisplus.extension.service.IService; | ||||||
| import org.dromara.gps.domain.vo.GpsProjectVo; | import org.dromara.gps.domain.vo.GpsProjectVo; | ||||||
|  |  | ||||||
|  | import java.time.LocalDateTime; | ||||||
| import java.util.Collection; | import java.util.Collection; | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  |  | ||||||
| @ -76,4 +77,6 @@ public interface IDeviceService extends IService<Device>{ | |||||||
|     Boolean bindManmachine(DeviceBo bo); |     Boolean bindManmachine(DeviceBo bo); | ||||||
|  |  | ||||||
|     Boolean unbindManmachine(DeviceBo bo); |     Boolean unbindManmachine(DeviceBo bo); | ||||||
|  |  | ||||||
|  |     List<DeviceVo> getUserListByProjectId(Long projectId, LocalDateTime startOfDay, LocalDateTime now); | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,5 +1,6 @@ | |||||||
| package org.dromara.gps.service; | package org.dromara.gps.service; | ||||||
|  |  | ||||||
|  | import org.dromara.gps.domain.vo.DeviceVo; | ||||||
| import org.dromara.gps.domain.vo.LocationVo; | import org.dromara.gps.domain.vo.LocationVo; | ||||||
| import org.dromara.gps.domain.bo.LocationBo; | import org.dromara.gps.domain.bo.LocationBo; | ||||||
| import org.dromara.gps.domain.Location; | import org.dromara.gps.domain.Location; | ||||||
| @ -7,6 +8,8 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; | |||||||
| import org.dromara.common.mybatis.core.page.PageQuery; | import org.dromara.common.mybatis.core.page.PageQuery; | ||||||
|  |  | ||||||
| import com.baomidou.mybatisplus.extension.service.IService; | import com.baomidou.mybatisplus.extension.service.IService; | ||||||
|  |  | ||||||
|  | import java.time.LocalDateTime; | ||||||
| import java.util.Collection; | import java.util.Collection; | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  |  | ||||||
| @ -69,4 +72,6 @@ public interface ILocationService extends IService<Location>{ | |||||||
|     Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); |     Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid); | ||||||
|  |  | ||||||
|     List<LocationVo> getLargerScreenList(LocationBo bo); |     List<LocationVo> getLargerScreenList(LocationBo bo); | ||||||
|  |  | ||||||
|  |     List<DeviceVo> getUserListByProjectId(Long projectId, LocalDateTime startOfDay, LocalDateTime now); | ||||||
| } | } | ||||||
|  | |||||||
| @ -17,6 +17,7 @@ import org.dromara.gps.domain.GpsEquipment; | |||||||
| import org.dromara.gps.domain.GpsManmachine; | import org.dromara.gps.domain.GpsManmachine; | ||||||
| import org.dromara.gps.domain.vo.GpsProjectVo; | import org.dromara.gps.domain.vo.GpsProjectVo; | ||||||
| import org.dromara.gps.mapper.AnqmManmachineMapper; | import org.dromara.gps.mapper.AnqmManmachineMapper; | ||||||
|  | import org.dromara.gps.service.ILocationService; | ||||||
| import org.dromara.project.domain.vo.project.BusProjectVo; | import org.dromara.project.domain.vo.project.BusProjectVo; | ||||||
| import org.dromara.project.service.IBusProjectService; | import org.dromara.project.service.IBusProjectService; | ||||||
| import org.springframework.beans.factory.annotation.Autowired; | import org.springframework.beans.factory.annotation.Autowired; | ||||||
| @ -28,6 +29,7 @@ import org.dromara.gps.mapper.DeviceMapper; | |||||||
| import org.dromara.gps.service.IDeviceService; | import org.dromara.gps.service.IDeviceService; | ||||||
| import org.springframework.transaction.annotation.Transactional; | import org.springframework.transaction.annotation.Transactional; | ||||||
|  |  | ||||||
|  | import java.time.LocalDateTime; | ||||||
| import java.util.ArrayList; | import java.util.ArrayList; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| @ -51,6 +53,9 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme | |||||||
|     @Autowired |     @Autowired | ||||||
|     private AnqmManmachineMapper anqmManmachineMapper; |     private AnqmManmachineMapper anqmManmachineMapper; | ||||||
|  |  | ||||||
|  |     @Autowired | ||||||
|  |     private ILocationService locationService; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 查询安全帽设备 |      * 查询安全帽设备 | ||||||
|      * |      * | ||||||
| @ -212,4 +217,9 @@ public class DeviceServiceImpl extends ServiceImpl<DeviceMapper, Device> impleme | |||||||
|         return anqmManmachineMapper.delete(new LambdaQueryWrapper<AnqmManmachine>() |         return anqmManmachineMapper.delete(new LambdaQueryWrapper<AnqmManmachine>() | ||||||
|             .eq(AnqmManmachine::getClientId, gpsManmachine.getClientId()))> 0; |             .eq(AnqmManmachine::getClientId, gpsManmachine.getClientId()))> 0; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public List<DeviceVo> getUserListByProjectId(Long projectId, LocalDateTime startOfDay, LocalDateTime now) { | ||||||
|  |         return locationService.getUserListByProjectId(projectId,startOfDay,now); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | |||||||
| import com.baomidou.mybatisplus.core.toolkit.Wrappers; | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||||
| import lombok.RequiredArgsConstructor; | import lombok.RequiredArgsConstructor; | ||||||
| import org.dromara.gps.domain.GpsEquipmentSon; | import org.dromara.gps.domain.GpsEquipmentSon; | ||||||
|  | import org.dromara.gps.domain.vo.DeviceVo; | ||||||
| import org.dromara.gps.domain.vo.GpsEquipmentSonVo; | import org.dromara.gps.domain.vo.GpsEquipmentSonVo; | ||||||
| import org.dromara.system.domain.vo.SysUserVo; | import org.dromara.system.domain.vo.SysUserVo; | ||||||
| import org.dromara.system.service.ISysUserService; | import org.dromara.system.service.ISysUserService; | ||||||
| @ -22,6 +23,7 @@ import org.dromara.gps.domain.Location; | |||||||
| import org.dromara.gps.mapper.LocationMapper; | import org.dromara.gps.mapper.LocationMapper; | ||||||
| import org.dromara.gps.service.ILocationService; | import org.dromara.gps.service.ILocationService; | ||||||
|  |  | ||||||
|  | import java.time.LocalDateTime; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| import java.util.Map; | import java.util.Map; | ||||||
| import java.util.Collection; | import java.util.Collection; | ||||||
| @ -152,4 +154,9 @@ public class LocationServiceImpl extends ServiceImpl<LocationMapper, Location> i | |||||||
|         } |         } | ||||||
|         return gpsEquipmentSonVoList; |         return gpsEquipmentSonVoList; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public List<DeviceVo> getUserListByProjectId(Long projectId, LocalDateTime startOfDay, LocalDateTime now) { | ||||||
|  |         return baseMapper.getUserListByProjectId(projectId,startOfDay,now); | ||||||
|  |     } | ||||||
| } | } | ||||||
|  | |||||||
| @ -5,6 +5,7 @@ import cn.hutool.core.bean.BeanUtil; | |||||||
| import cn.hutool.core.collection.CollUtil; | import cn.hutool.core.collection.CollUtil; | ||||||
| import cn.hutool.core.util.PhoneUtil; | import cn.hutool.core.util.PhoneUtil; | ||||||
| import cn.hutool.core.util.RandomUtil; | import cn.hutool.core.util.RandomUtil; | ||||||
|  | import cn.hutool.json.JSONObject; | ||||||
| import cn.hutool.json.JSONUtil; | import cn.hutool.json.JSONUtil; | ||||||
| import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||||
| import com.baomidou.mybatisplus.core.toolkit.Wrappers; | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||||
| @ -28,7 +29,9 @@ import org.dromara.common.core.utils.StringUtils; | |||||||
| import org.dromara.common.mybatis.core.page.PageQuery; | import org.dromara.common.mybatis.core.page.PageQuery; | ||||||
| import org.dromara.common.mybatis.core.page.TableDataInfo; | import org.dromara.common.mybatis.core.page.TableDataInfo; | ||||||
| import org.dromara.common.satoken.utils.LoginHelper; | import org.dromara.common.satoken.utils.LoginHelper; | ||||||
|  | import org.dromara.contractor.domain.SubConstructionUser; | ||||||
| import org.dromara.contractor.domain.SubContractor; | import org.dromara.contractor.domain.SubContractor; | ||||||
|  | import org.dromara.contractor.service.ISubConstructionUserService; | ||||||
| import org.dromara.contractor.service.ISubContractorService; | import org.dromara.contractor.service.ISubContractorService; | ||||||
| import org.dromara.design.service.IDesTechnicalStandardService; | import org.dromara.design.service.IDesTechnicalStandardService; | ||||||
| import org.dromara.facility.domain.FacMatrix; | import org.dromara.facility.domain.FacMatrix; | ||||||
| @ -38,6 +41,8 @@ import org.dromara.facility.service.IFacMatrixService; | |||||||
| import org.dromara.manager.weathermanager.WeatherConstant; | import org.dromara.manager.weathermanager.WeatherConstant; | ||||||
| import org.dromara.manager.weathermanager.WeatherManager; | import org.dromara.manager.weathermanager.WeatherManager; | ||||||
| import org.dromara.manager.weathermanager.vo.WeatherVo; | import org.dromara.manager.weathermanager.vo.WeatherVo; | ||||||
|  | import org.dromara.other.domain.OthYs7Device; | ||||||
|  | import org.dromara.other.service.IOthYs7DeviceService; | ||||||
| import org.dromara.progress.domain.PgsProgressCategory; | import org.dromara.progress.domain.PgsProgressCategory; | ||||||
| import org.dromara.progress.domain.enums.PgsRelevancyStructureEnum; | import org.dromara.progress.domain.enums.PgsRelevancyStructureEnum; | ||||||
| import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryStructureVo; | import org.dromara.progress.domain.vo.progresscategory.PgsProgressCategoryStructureVo; | ||||||
| @ -142,6 +147,10 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj | |||||||
|     @Resource |     @Resource | ||||||
|     private ISysDictDataService dictDataService; |     private ISysDictDataService dictDataService; | ||||||
|  |  | ||||||
|  |     @Resource | ||||||
|  |     @Lazy | ||||||
|  |     private ISubConstructionUserService constructionUserService; | ||||||
|  |  | ||||||
|     private final Cache<String, String> WEATHER_CACHE = |     private final Cache<String, String> WEATHER_CACHE = | ||||||
|         Caffeine.newBuilder().initialCapacity(1024) |         Caffeine.newBuilder().initialCapacity(1024) | ||||||
|             .maximumSize(10000L) |             .maximumSize(10000L) | ||||||
| @ -1180,21 +1189,17 @@ public class BusProjectServiceImpl extends ServiceImpl<BusProjectMapper, BusProj | |||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public Map<String, Map<String, Object>> getInfoData(TanchuangInfoReq req) { |     public Map<String, Map<String, Object>> getInfoData(TanchuangInfoReq req) { | ||||||
|         switch (req.getType()) { |         Map<String, Map<String, Object>> map = new HashMap<>(); | ||||||
|             case 1: |         SubConstructionUser byUserId = constructionUserService.getByUserId(req.getId()); | ||||||
|                 break; |         SubContractor contractor = contractorService.getById(byUserId.getContractorId()); | ||||||
|             case 2: |         Map<String, Object> renyuan = new HashMap<>(); | ||||||
|                 break; |         renyuan.put("name", byUserId.getUserName()); | ||||||
|             case 3: |         renyuan.put("teamName", byUserId.getTeamName()); | ||||||
|                 break; |         renyuan.put("phone", byUserId.getPhone()); | ||||||
|             case 4: |         renyuan.put("typeOfWork", dictDataService.selectDictLabel("type_of_work", byUserId.getTypeOfWork())); | ||||||
|                 break; |         renyuan.put("contractorNmae", contractor.getName()); | ||||||
|             case 5: |         map.put("renyuan", renyuan); | ||||||
|                 break; |         return map; | ||||||
|             case 6: |  | ||||||
|                 break; |  | ||||||
|         } |  | ||||||
|         return Map.of(); |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user