From cdcd2d540de3e6ba4c2e9e7c6a879416da78c17b Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Thu, 16 Dec 2021 10:53:51 +0800
Subject: [PATCH] 保安员导出过多导致报错问题处理

---
 src/main/java/org/springblade/modules/equipage/controller/fixed.java |  158 +++++++++++++++++++++++++++-------------------------
 1 files changed, 83 insertions(+), 75 deletions(-)

diff --git a/src/main/java/org/springblade/modules/equipage/controller/fixed.java b/src/main/java/org/springblade/modules/equipage/controller/fixed.java
index 74f46ea..b010abf 100644
--- a/src/main/java/org/springblade/modules/equipage/controller/fixed.java
+++ b/src/main/java/org/springblade/modules/equipage/controller/fixed.java
@@ -107,7 +107,7 @@
 				status = liveLocationService.save(liveLocation);
 				//数据推送
 				String s1 =
-					"insert into sys_live_location(id,type,worker_id,longitude,latitude,record_time,location) " +
+					"insert into sys_live_location(id,type,worker_id,longitude,latitude,record_time) " +
 						"values(" + "'" + liveLocation.getId() + "'" + "," +
 						"'" + liveLocation.getType() + "'" + "," +
 						"'" + liveLocation.getWorkerId() + "'" + "," +
@@ -138,6 +138,7 @@
 	 */
 	@Scheduled(cron = "0 0 * * * ?")
 	public void Peog() throws Exception {
+		System.out.println("押运人员");
 		String url = "http://47.104.104.46/api/client/getgistrack.php";
 		Calendar calendar = Calendar.getInstance();
 		calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - 1);
@@ -163,36 +164,41 @@
 			JSONArray jsonArray = JSONArray.fromObject(a);
 			String s1 = "";
 			String track = jsonArray.getJSONObject(0).get("track").toString();
-			JSONArray jsonArray1 = JSONArray.fromObject(track);
-			for (int j = 0; j < jsonArray1.size(); j++) {
-				String gis_jd = jsonArray1.getJSONObject(j).get("gis_jd").toString();
-				String gis_wd = jsonArray1.getJSONObject(j).get("gis_wd").toString();
-				String date = jsonArray1.getJSONObject(j).get("date").toString();
-				SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-				try {
-					//使用SimpleDateFormat的parse()方法生成Date
-					Date dates = sf.parse(date);
-					locus.setRecordTime(dates);
-					//打印Date
-				} catch (ParseException e) {
-					e.printStackTrace();
-				}
-				locus.setLongitude(gis_jd);
-				locus.setLatitude(gis_wd);
-				locusService.save(locus);
-				//数据推送
-				s1 += "insert into sys_locus(id,type,worker_id,longitude,latitude,record_time) values" +
-					" (" + "'" + locus.getId() + "'" + "," +
-					"'" + locus.getType() + "'" + "," +
-					"'" + locus.getWorkerId() + "'" + "," +
-					"'" + locus.getLongitude() + "'" + "," +
-					"'" + locus.getLatitude() + "'" + "," +
-					"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(locus.getRecordTime()) + "'" + ")";
-				if (j != jsonArray1.size() - 1) {
-					s1 += ";";
-				}
+			if (track.equals("[]")){
+				System.out.println("数据为空");
 			}
-			FtpUtil.sqlFileUpload(s1);
+			else {
+				JSONArray jsonArray1 = JSONArray.fromObject(track);
+				for (int j = 0; j < jsonArray1.size(); j++) {
+					String gis_jd = jsonArray1.getJSONObject(j).get("gis_jd").toString();
+					String gis_wd = jsonArray1.getJSONObject(j).get("gis_wd").toString();
+					String date = jsonArray1.getJSONObject(j).get("date").toString();
+					SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+					try {
+						//使用SimpleDateFormat的parse()方法生成Date
+						Date dates = sf.parse(date);
+						locus.setRecordTime(dates);
+						//打印Date
+					} catch (ParseException e) {
+						e.printStackTrace();
+					}
+					locus.setLongitude(gis_jd);
+					locus.setLatitude(gis_wd);
+					locusService.save(locus);
+					//数据推送
+					s1 += "insert into sys_locus(id,type,worker_id,longitude,latitude,record_time) values" +
+						" (" + "'" + locus.getId() + "'" + "," +
+						"'" + locus.getType() + "'" + "," +
+						"'" + locus.getWorkerId() + "'" + "," +
+						"'" + locus.getLongitude() + "'" + "," +
+						"'" + locus.getLatitude() + "'" + "," +
+						"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(locus.getRecordTime()) + "'" + ")";
+					if (j != jsonArray1.size() - 1) {
+						s1 += ";";
+					}
+				}
+				FtpUtil.sqlFileUpload(s1);
+			}
 		}
 	}
 
@@ -222,50 +228,53 @@
 				res = HttpReqUtil.getInstance().doPost(url, params, null);
 				String a = "[" + res + "]";
 				JSONArray jsonArray = JSONArray.fromObject(a);
-				String data = jsonArray.getJSONObject(0).get("data").toString();
-				String b = "[" + data + "]";
-				JSONArray jsonArrayb = JSONArray.fromObject(b);
-				String x = jsonArrayb.getJSONObject(0).get("x").toString();
-				String y = jsonArrayb.getJSONObject(0).get("y").toString();
-				String timestamp = jsonArrayb.getJSONObject(0).get("timestamp").toString();
-				//实时位置实体类
-				LiveLocation liveLocation = new LiveLocation();
-				liveLocation.setType(2);
-				String carnumber = maps.get(i).get("carnumber").toString();
-				liveLocation.setWorkerId(carnumber);
-				//经度
-				liveLocation.setLongitude(x);
-				//纬度
-				liveLocation.setLatitude(y);
-				Date date = timeStamp2Date(timestamp);
-				liveLocation.setRecordTime(date);
-				//先查询是否已有实时位置信息,如果有,则更新,没有则插入
-				LiveLocation liveLocationInfo = liveLocationService.getLiveLocationInfo(liveLocation);
-				boolean status = false;
-				if (null == liveLocationInfo) {
-					//新增
-					status = liveLocationService.save(liveLocation);
-					//数据推送
-					String s1 =
-						"insert into sys_live_location(id,type,worker_id,longitude,latitude,record_time,location) " +
-							"values(" + "'" + liveLocation.getId() + "'" + "," +
-							"'" + liveLocation.getType() + "'" + "," +
-							"'" + liveLocation.getWorkerId() + "'" + "," +
-							"'" + liveLocation.getLongitude() + "'" + "," +
-							"'" + liveLocation.getLatitude() + "'" + "," +
-							"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'"  + ")";
-					FtpUtil.sqlFileUpload(s1);
-				} else {
-					status = liveLocationService.updateById(liveLocationInfo);
-					//内网同步
-					String s1 =
-						"update sys_live_location set type = " + "'" + liveLocationInfo.getType() + "'" +
-							",worker_id = " + "'" + liveLocationInfo.getWorkerId() + "'" +
-							",longitude = " + "'" + liveLocationInfo.getLongitude() + "'" +
-							",latitude = " + "'" + liveLocationInfo.getLatitude() + "'" +
-							",record_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocationInfo.getRecordTime()) + "'" +
-							" " + "where id = " + "'" + liveLocationInfo.getId() + "'";
-					FtpUtil.sqlFileUpload(s1);
+				String code = jsonArray.getJSONObject(0).get("code").toString();
+				if (Integer.parseInt(code)==200) {
+					String data = jsonArray.getJSONObject(0).get("data").toString();
+					String b = "[" + data + "]";
+					JSONArray jsonArrayb = JSONArray.fromObject(b);
+					String x = jsonArrayb.getJSONObject(0).get("x").toString();
+					String y = jsonArrayb.getJSONObject(0).get("y").toString();
+					String timestamp = jsonArrayb.getJSONObject(0).get("timestamp").toString();
+					//实时位置实体类
+					LiveLocation liveLocation = new LiveLocation();
+					liveLocation.setType(2);
+					String carnumber = maps.get(i).get("carnumber").toString();
+					liveLocation.setWorkerId(carnumber);
+					//经度
+					liveLocation.setLongitude(x);
+					//纬度
+					liveLocation.setLatitude(y);
+					Date date = timeStamp2Date(timestamp);
+					liveLocation.setRecordTime(date);
+					//先查询是否已有实时位置信息,如果有,则更新,没有则插入
+					LiveLocation liveLocationInfo = liveLocationService.getLiveLocationInfo(liveLocation);
+					boolean status = false;
+					if (null == liveLocationInfo) {
+						//新增
+						status = liveLocationService.save(liveLocation);
+						//数据推送
+						String s1 =
+							"insert into sys_live_location(id,type,worker_id,longitude,latitude,record_time) " +
+								"values(" + "'" + liveLocation.getId() + "'" + "," +
+								"'" + liveLocation.getType() + "'" + "," +
+								"'" + liveLocation.getWorkerId() + "'" + "," +
+								"'" + liveLocation.getLongitude() + "'" + "," +
+								"'" + liveLocation.getLatitude() + "'" + "," +
+								"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocation.getRecordTime()) + "'" + ")";
+						FtpUtil.sqlFileUpload(s1);
+					} else {
+						status = liveLocationService.updateById(liveLocationInfo);
+						//内网同步
+						String s1 =
+							"update sys_live_location set type = " + "'" + liveLocationInfo.getType() + "'" +
+								",worker_id = " + "'" + liveLocationInfo.getWorkerId() + "'" +
+								",longitude = " + "'" + liveLocationInfo.getLongitude() + "'" +
+								",latitude = " + "'" + liveLocationInfo.getLatitude() + "'" +
+								",record_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(liveLocationInfo.getRecordTime()) + "'" +
+								" " + "where id = " + "'" + liveLocationInfo.getId() + "'";
+						FtpUtil.sqlFileUpload(s1);
+					}
 				}
 			} catch (Exception e) {
 				e.printStackTrace();
@@ -292,7 +301,6 @@
 	 */
 	@Scheduled(cron = "0 0 * * * ?")
 	public void locationhistoryTrack() {
-		System.out.println("车辆轨迹");
 		Calendar calendar = Calendar.getInstance();
 		/* HOUR_OF_DAY 指示一天中的小时 */
 		calendar.set(Calendar.HOUR_OF_DAY, calendar.get(Calendar.HOUR_OF_DAY) - 1);

--
Gitblit v1.9.3