代码更新
This commit is contained in:
@@ -0,0 +1,97 @@
|
|||||||
|
package org.nl.wms.ext.bigScreen.autoTask;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.IdUtil;
|
||||||
|
import cn.hutool.core.util.NumberUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nl.wql.core.bean.WQLObject;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||||
|
import org.springframework.data.mongodb.core.query.Criteria;
|
||||||
|
import org.springframework.data.mongodb.core.query.Query;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.ArrayDeque;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Component
|
||||||
|
public class AutoAgvStatus {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private MongoTemplate mongoTemplate;
|
||||||
|
|
||||||
|
public void run() {
|
||||||
|
|
||||||
|
WQLObject agv_status = WQLObject.getWQLObject("DS_AGV_AgvStatus");
|
||||||
|
WQLObject agv_point = WQLObject.getWQLObject("DS_AGV_PointCoordinateRelate");
|
||||||
|
|
||||||
|
for (int i = 1; i <= 7; i++) {
|
||||||
|
String device_code = String.valueOf(i);
|
||||||
|
|
||||||
|
Query query = new Query();
|
||||||
|
query.addCriteria(Criteria.where("device_code").is(device_code));
|
||||||
|
List<JSONObject> avg_all = mongoTemplate.find(query, JSONObject.class, "agv_test");
|
||||||
|
|
||||||
|
JSONObject jsonAgv = agv_status.query("agv_code = '" + device_code + "'").uniqueResult(0);
|
||||||
|
String real_x_coor = "";
|
||||||
|
String real_y_coor = "";
|
||||||
|
for (JSONObject json : avg_all) {
|
||||||
|
String key = json.getString("key");
|
||||||
|
|
||||||
|
switch (key) {
|
||||||
|
case "pic_name" :
|
||||||
|
jsonAgv.put("pic_name",json.getString("value"));
|
||||||
|
break;
|
||||||
|
case "agv_power" :
|
||||||
|
jsonAgv.put("agv_power",json.getString("value"));
|
||||||
|
break;
|
||||||
|
case "agv_stateType" :
|
||||||
|
jsonAgv.put("agv_statetype",json.getString("value"));
|
||||||
|
break;
|
||||||
|
case "x_coordinate" :
|
||||||
|
String value = NumberUtil.div(json.getString("value"), "100").toString();
|
||||||
|
real_x_coor = NumberUtil.round(value, 0).toString();
|
||||||
|
break;
|
||||||
|
case "y_coordinate" :
|
||||||
|
String value2 = NumberUtil.div(json.getString("value"), "100").toString();
|
||||||
|
real_y_coor = NumberUtil.round(value2, 0).toString();
|
||||||
|
break;
|
||||||
|
case "error_status" :
|
||||||
|
jsonAgv.put("error_status",json.getString("value"));
|
||||||
|
break;
|
||||||
|
case "error_info" :
|
||||||
|
jsonAgv.put("error_info",json.getString("value"));
|
||||||
|
break;
|
||||||
|
case "direction_type" :
|
||||||
|
jsonAgv.put("direction_type",json.getString("value"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
JSONObject jsonPoint = agv_point.query("real_x_coor = '" + real_x_coor + "' and real_y_coor = '" + real_y_coor + "'").uniqueResult(0);
|
||||||
|
if (ObjectUtil.isNotEmpty(jsonPoint)) {
|
||||||
|
jsonAgv.put("x_coordinate", jsonPoint.getString("web_x_coor"));
|
||||||
|
jsonAgv.put("y_coordinate", jsonPoint.getString("web_y_coor"));
|
||||||
|
}
|
||||||
|
jsonAgv.put("update_datetime", DateUtil.now());
|
||||||
|
agv_status.update(jsonAgv);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
ArrayList<Integer> objects = new ArrayList<>();
|
||||||
|
objects.add(null);
|
||||||
|
LinkedList<Object> objects1 = new LinkedList<>();
|
||||||
|
objects1.add(4);
|
||||||
|
objects1.add(4.4);
|
||||||
|
objects1.add(null);
|
||||||
|
|
||||||
|
ArrayDeque<Object> objects2 = new ArrayDeque<>();
|
||||||
|
System.out.println(objects1);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@ package org.nl.wms.ext.bigScreen.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.mongodb.MongoClient;
|
import com.mongodb.MongoClient;
|
||||||
@@ -14,6 +15,7 @@ import org.nl.wql.core.bean.WQLObject;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@@ -33,7 +35,7 @@ public class AgvBigScreenServiceImpl implements AgvBigScreenService {
|
|||||||
map.put("today", "%"+today+"%");
|
map.put("today", "%"+today+"%");
|
||||||
JSONObject jsonAll = WQL.getWO("AGVBIGSCREEN01").addParamMap(map).process().uniqueResult(0);
|
JSONObject jsonAll = WQL.getWO("AGVBIGSCREEN01").addParamMap(map).process().uniqueResult(0);
|
||||||
if (ObjectUtil.isNotEmpty(jsonAll)) {
|
if (ObjectUtil.isNotEmpty(jsonAll)) {
|
||||||
param.put("all_task_number",jsonAll.getString("jsonAllTsk"));
|
param.put("all_task_number",jsonAll.getString("all_task_number"));
|
||||||
} else {
|
} else {
|
||||||
param.put("all_task_number","0");
|
param.put("all_task_number","0");
|
||||||
}
|
}
|
||||||
@@ -77,38 +79,53 @@ public class AgvBigScreenServiceImpl implements AgvBigScreenService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public JSONObject getAgvMsg(JSONObject whereJson) {
|
public JSONObject getAgvMsg(JSONObject whereJson) {
|
||||||
|
|
||||||
// 连接到 mongodb 服务并连接到数据库
|
|
||||||
MongoClient mongoClient = new MongoClient( "47.111.78.178" , 27017 );
|
|
||||||
MongoDatabase db = mongoClient.getDatabase("device_log");
|
|
||||||
|
|
||||||
JSONObject result = new JSONObject();
|
JSONObject result = new JSONObject();
|
||||||
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
|
try {
|
||||||
WQLObject agvTab = WQLObject.getWQLObject("DS_AGV_AgvStatus");
|
WQLObject agvTab = WQLObject.getWQLObject("DS_AGV_AgvStatus");
|
||||||
|
JSONObject srb = new JSONObject();
|
||||||
|
JSONArray errorArr = new JSONArray();
|
||||||
|
|
||||||
JSONArray agv_info = new JSONArray();
|
JSONArray agv_info = new JSONArray();
|
||||||
for (int i = 1; i <= 7; i++) {
|
for (int i = 1; i <= 7; i++) {
|
||||||
JSONObject json = new JSONObject();
|
JSONObject json = new JSONObject();
|
||||||
String agv_code = String.valueOf(i);
|
String agv_code = String.valueOf(i);
|
||||||
JSONObject jsonAgv = agvTab.query("agv_code = '" + agv_code + "'").uniqueResult(0);
|
JSONObject jsonAgv = agvTab.query("agv_code = '" + agv_code + "'").uniqueResult(0);
|
||||||
// 1.车号
|
// 1.车号
|
||||||
json.put("agv_code", agv_code);
|
json.put("agv_code", agv_code);
|
||||||
// 2.任务: 0为无任务、1为有任务
|
// 2.任务: 0为无任务、1为有任务
|
||||||
json.put("agv_stateType", jsonAgv.getString("agv_stateType"));
|
json.put("agv_statetype", jsonAgv.getString("agv_statetype"));
|
||||||
// 3.电量
|
// 3.电量
|
||||||
json.put("agv_power", jsonAgv.getString("agv_power"));
|
json.put("agv_power", jsonAgv.getString("agv_power"));
|
||||||
// 4.预警: 0为正常,1为报警
|
// 4.预警: 0为正常,1为报警
|
||||||
|
String error_status = jsonAgv.getString("error_status");
|
||||||
// 5.预警信息
|
if (StrUtil.equals(error_status,"1")) {
|
||||||
|
// 只要有一辆车有报警信息 状态则为1
|
||||||
|
srb.put("error_status", "1");
|
||||||
|
// 5.预警信息
|
||||||
|
errorArr.add(jsonAgv.getString("error_info"));
|
||||||
|
}
|
||||||
|
// 6.agv名称
|
||||||
|
json.put("agv_name", jsonAgv.getString("agv_name"));
|
||||||
|
// 7.x坐标
|
||||||
|
json.put("x_coordinate", jsonAgv.getString("x_coordinate"));
|
||||||
|
// 8.y坐标
|
||||||
|
json.put("y_coordinate", jsonAgv.getString("y_coordinate"));
|
||||||
|
// 9.方向类型
|
||||||
|
json.put("direction_type", jsonAgv.getString("direction_type"));
|
||||||
|
|
||||||
agv_info.add(json);
|
agv_info.add(json);
|
||||||
|
}
|
||||||
|
srb.put("agv_info_arr", agv_info);
|
||||||
|
srb.put("agv_error_arr", errorArr);
|
||||||
|
|
||||||
|
result.put("srb", srb);
|
||||||
|
result.put("code", "1");
|
||||||
|
result.put("desc", "查询成功");
|
||||||
|
} catch (Exception e) {
|
||||||
|
result.put("code", "0");
|
||||||
|
result.put("desc", "查询失败:"+e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
||||||
result.put("agv_info_arr", agv_info);
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,7 +92,7 @@
|
|||||||
IF 输入.flag = "4"
|
IF 输入.flag = "4"
|
||||||
QUERY
|
QUERY
|
||||||
SELECT
|
SELECT
|
||||||
count(task.task_id) AS cancel_task_number
|
count(task.task_id) AS not_finish_task_number
|
||||||
FROM
|
FROM
|
||||||
SCH_BASE_Task task
|
SCH_BASE_Task task
|
||||||
WHERE
|
WHERE
|
||||||
|
|||||||
Reference in New Issue
Block a user