From 30df94c05573a426d030510d4dd58ae1d93bfb7a Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Mon, 06 Dec 2021 14:03:37 +0800
Subject: [PATCH] 1.资格审查排序

---
 src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java |   74 ++++++++++++++++++++++++++++++++++++
 1 files changed, 73 insertions(+), 1 deletions(-)

diff --git a/src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java b/src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java
index af7be3b..49443c8 100644
--- a/src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java
+++ b/src/main/java/org/springblade/modules/location/service/impl/LiveLocationServiceImpl.java
@@ -9,6 +9,8 @@
 import org.springblade.modules.location.vo.LocusVo;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 /**
@@ -45,6 +47,7 @@
 	 */
 	@Override
 	public List<LocusVo> getLocusInfoList(LiveLocationVo liveLocationVo) {
+
 		return baseMapper.getLocusInfoList(liveLocationVo);
 	}
 
@@ -56,7 +59,19 @@
 	 */
 	@Override
 	public List<LiveLocationVo> getLiveLocationVoList(LiveLocationVo liveLocationVo) {
-		return baseMapper.selectLiveLocationPage(null,liveLocationVo);
+		//保安人员
+		if (liveLocationVo.getType()==1){
+			return baseMapper.getSecurityLocusInfoList(liveLocationVo);
+		}
+		//车辆
+		if (liveLocationVo.getType()==2){
+			return baseMapper.getCarLocusInfoList(liveLocationVo);
+		}
+		//枪支
+		if (liveLocationVo.getType()==3){
+			return baseMapper.getGunLocusInfoList(liveLocationVo);
+		}
+		return baseMapper.selectSecurityAndCarAndGunLiveLocationPage(liveLocationVo);
 	}
 
 	/**
@@ -68,4 +83,61 @@
 	public LiveLocation getLiveLocationInfo(LiveLocation liveLocation) {
 		return baseMapper.getLiveLocationInfo(liveLocation);
 	}
+
+
+	/**
+	 * 获取指令接收人的定位信息
+	 * @param liveLocationVo 定位数据信息
+	 * @return
+	 */
+	@Override
+	public List<LiveLocationVo> getDirectiveLiveLocationVoList(LiveLocationVo liveLocationVo) {
+		ArrayList<LiveLocationVo> arrayList = new ArrayList<>();
+		//人员
+		if (liveLocationVo.getType()==1){
+			String userIds = liveLocationVo.getUserIds();
+			if (null!=userIds && userIds!=""){
+				List<String> list = Arrays.asList(userIds.split(","));
+				if (list.size()>0){
+					list.forEach(userId->{
+						liveLocationVo.setWorkerId(Long.parseLong(userId));
+						LiveLocationVo directiveLiveLocationVo = baseMapper.getDirectiveLiveLocationVo(liveLocationVo);
+						//如果存在定位数据
+						if (null!=directiveLiveLocationVo){
+							arrayList.add(directiveLiveLocationVo);
+						}
+					});
+				}
+			}
+		}
+		return arrayList;
+	}
+
+	/**
+	 * 获取指令接收人的轨迹数据
+	 * @param liveLocationVo 实时对象信息
+	 * @return
+	 */
+	@Override
+	public List<List<LocusVo>> getDirectiveLocusInfoList(LiveLocationVo liveLocationVo) {
+		List<List<LocusVo>> arrayList = new ArrayList<>();
+		//人员
+		if (liveLocationVo.getType()==1){
+			String userIds = liveLocationVo.getUserIds();
+			if (null!=userIds && userIds!=""){
+				List<String> list = Arrays.asList(userIds.split(","));
+				if (list.size()>0){
+					list.forEach(userId->{
+						liveLocationVo.setWorkerId(Long.parseLong(userId));
+						List<LocusVo> directiveLocusInfoList = baseMapper.getDirectiveLocusInfoList(liveLocationVo);
+						//如果存在轨迹数据
+						if (directiveLocusInfoList.size()>0){
+							arrayList.add(directiveLocusInfoList);
+						}
+					});
+				}
+			}
+		}
+		return arrayList;
+	}
 }

--
Gitblit v1.9.3