|
|
@@ -28,6 +28,9 @@ import com.sckw.system.api.RemoteSystemService;
|
|
|
import com.sckw.system.api.model.dto.res.EntCacheResDto;
|
|
|
import com.sckw.system.api.model.dto.res.SysDictResDto;
|
|
|
import com.sckw.system.api.model.dto.res.UserCacheResDto;
|
|
|
+import com.sckw.transport.api.dubbo.TransportDubboService;
|
|
|
+import com.sckw.transport.api.model.dto.RWaybillOrderDto;
|
|
|
+import com.sckw.transport.api.model.vo.RWaybillOrderVo;
|
|
|
import org.apache.dubbo.config.annotation.DubboReference;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
@@ -63,6 +66,8 @@ public class KwfTruckService {
|
|
|
KwfFleetTruckMapper fleetTruckDao;
|
|
|
@DubboReference(version = "1.0.0", group = "design", check = false)
|
|
|
private RemoteSystemService remoteSystemService;
|
|
|
+ @DubboReference(version = "1.0.0", group = "design", check = false)
|
|
|
+ private TransportDubboService transportDubboService;
|
|
|
|
|
|
/**
|
|
|
* @param key 主键id
|
|
|
@@ -634,7 +639,7 @@ public class KwfTruckService {
|
|
|
public List<KwfTruckGpsVo> findTruckGps(List<String> truckNos) {
|
|
|
/**车辆查询**/
|
|
|
List<KwfTruckGpsVo> truckGpsList = new ArrayList<>();
|
|
|
- Map queryParams = new HashMap<>(Global.NUMERICAL_SIXTEEN){{ put("truckNos", truckNos);}};
|
|
|
+ Map<String, Object> queryParams = new HashMap<>(Global.NUMERICAL_SIXTEEN){{ put("truckNos", truckNos);}};
|
|
|
List<KwfTruckMonitorVo> truckList = findTruckMonitor(queryParams);
|
|
|
if (truckList == null || truckList.size() == 0) {
|
|
|
return truckGpsList;
|
|
|
@@ -682,27 +687,36 @@ public class KwfTruckService {
|
|
|
* @date 2023/9/6
|
|
|
**/
|
|
|
public Map<String, Object> findDetailByTruckNo(String truckNo) {
|
|
|
+ //定位信息
|
|
|
+ KwfTruckGpsVo truckGps = findTruckLocate(truckNo);
|
|
|
+ //运单信息
|
|
|
+ RWaybillOrderVo waybillOrder = getWaybillOrder(truckNo, Global.NUMERICAL_THREE);
|
|
|
+ String firmName = LoginEntHolder.getFirmName();
|
|
|
+ if (LoginUserHolder.getSystemType() == SystemTypeEnum.MANAGE.getCode()) {
|
|
|
+ List<KwfTruck> trucks = truckDao.findTruck(new HashMap<>(Global.NUMERICAL_SIXTEEN){{put("truckNo", truckNo);}});
|
|
|
+ KwfTruck truck = CollectionUtils.isEmpty(trucks) ? null : trucks.get(Global.NUMERICAL_ZERO);
|
|
|
+ if (truck != null) {
|
|
|
+ //企业数据集
|
|
|
+ List<Long> entIds = new ArrayList<>() {{
|
|
|
+ add(truck.getEntId());
|
|
|
+ }};
|
|
|
+ Map<Long, EntCacheResDto> ents = remoteSystemService.queryEntCacheMapByIds(entIds);
|
|
|
+ EntCacheResDto ent = ents == null ? null : ents.get(truck.getEntId());
|
|
|
+ firmName = ent != null ? ent.getFirmName() : null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
Map<String, Object> detail = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
detail.put("truckNo", truckNo);
|
|
|
- detail.put("firmName", LoginEntHolder.getFirmName());
|
|
|
- /*
|
|
|
- 鲁EH2975 承运单位:东营启正运输有限公司
|
|
|
- 当前位置:山东省东营市垦利区昊隆路西100米
|
|
|
- GPS状态:77km/h
|
|
|
- 定位时间:2023-01-01 13:21:47
|
|
|
- 张晓波 18508243826
|
|
|
- 车辆轨迹 运单开始时间-结束时间
|
|
|
- 关联订单:202305010001*/
|
|
|
-
|
|
|
- /*detail.put("truckNo", truckNo);
|
|
|
- detail.put("driverName", "赵先生");
|
|
|
- detail.put("driverPhone", "17358629955");
|
|
|
- detail.put("firmName", "东旭物流有限公司");
|
|
|
- detail.put("detailAddress", "四川省成都市xxx路10号");
|
|
|
- detail.put("lat", "29.48"+new Random().nextInt(10000));
|
|
|
- detail.put("lng", "103.53"+new Random().nextInt(10000));
|
|
|
- detail.put("speed", new Random().nextInt(100));
|
|
|
- detail.put("gpsTime", DateUtils.getCurrentTime());*/
|
|
|
+ detail.put("firmName", firmName);
|
|
|
+ detail.put("detailAddress", truckGps != null ? truckGps.getDetailAddress() : null);
|
|
|
+ detail.put("speed", truckGps != null ? truckGps.getSpeed() : null);
|
|
|
+ detail.put("gpsTime", truckGps != null ? truckGps.getGpsTime() : null);
|
|
|
+ detail.put("driverName", waybillOrder != null ? waybillOrder.getDriverName() : null);
|
|
|
+ detail.put("driverPhone", waybillOrder != null ? waybillOrder.getDriverPhone() : null);
|
|
|
+ detail.put("startTime", waybillOrder != null ? DateUtils.formatV1(waybillOrder.getDepartureTime()) : null);
|
|
|
+ detail.put("endTime", waybillOrder != null && waybillOrder.getDepartureTime() != null ? DateUtils.getCurrentTime() : null);
|
|
|
+ detail.put("orderNo", waybillOrder != null ? waybillOrder.getWOrderNo() : null);
|
|
|
return detail;
|
|
|
}
|
|
|
|
|
|
@@ -839,6 +853,25 @@ public class KwfTruckService {
|
|
|
return truckGpsMap;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @param truckNos 车牌号
|
|
|
+ * @desc 查询车辆定位数据
|
|
|
+ * @author zk
|
|
|
+ * @date 2023/9/5
|
|
|
+ **/
|
|
|
+ public RWaybillOrderVo getWaybillOrder(String truckNo, int busStatus) {
|
|
|
+ try {
|
|
|
+ List<RWaybillOrderVo> waybillOrders = transportDubboService.findWaybillOrder(new RWaybillOrderDto(truckNo, busStatus));
|
|
|
+ if (CollectionUtils.isEmpty(waybillOrders)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return waybillOrders.get(Global.NUMERICAL_ZERO);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
@Value("${external.openapi.queryLocate}")
|
|
|
private String queryLocate;
|
|
|
|
|
|
@@ -889,7 +922,7 @@ public class KwfTruckService {
|
|
|
|
|
|
/**
|
|
|
* @param truckNos 车牌号
|
|
|
- * @desc 查询车辆定位数据
|
|
|
+ * @desc 查询车辆定位数据-单车牌号
|
|
|
* @author zk
|
|
|
* @date 2023/9/5
|
|
|
**/
|