代码更新

This commit is contained in:
2022-07-29 08:57:00 +08:00
parent b628e03405
commit 2a35785f71
3 changed files with 143 additions and 29 deletions

View File

@@ -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);
}
}

View File

@@ -2,6 +2,7 @@ package org.nl.wms.ext.bigScreen.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.mongodb.MongoClient;
@@ -14,6 +15,7 @@ import org.nl.wql.core.bean.WQLObject;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
@Service
@@ -33,7 +35,7 @@ public class AgvBigScreenServiceImpl implements AgvBigScreenService {
map.put("today", "%"+today+"%");
JSONObject jsonAll = WQL.getWO("AGVBIGSCREEN01").addParamMap(map).process().uniqueResult(0);
if (ObjectUtil.isNotEmpty(jsonAll)) {
param.put("all_task_number",jsonAll.getString("jsonAllTsk"));
param.put("all_task_number",jsonAll.getString("all_task_number"));
} else {
param.put("all_task_number","0");
}
@@ -77,38 +79,53 @@ public class AgvBigScreenServiceImpl implements AgvBigScreenService {
@Override
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();
WQLObject taskTab = WQLObject.getWQLObject("SCH_BASE_Task");
WQLObject agvTab = WQLObject.getWQLObject("DS_AGV_AgvStatus");
try {
WQLObject agvTab = WQLObject.getWQLObject("DS_AGV_AgvStatus");
JSONObject srb = new JSONObject();
JSONArray errorArr = new JSONArray();
JSONArray agv_info = new JSONArray();
for (int i = 1; i <= 7; i++) {
JSONObject json = new JSONObject();
String agv_code = String.valueOf(i);
JSONObject jsonAgv = agvTab.query("agv_code = '" + agv_code + "'").uniqueResult(0);
// 1.车号
json.put("agv_code", agv_code);
// 2.任务: 0为无任务、1为有任务
json.put("agv_stateType", jsonAgv.getString("agv_stateType"));
// 3.电量
json.put("agv_power", jsonAgv.getString("agv_power"));
// 4.预警: 0为正常1为报警
// 5.预警信息
JSONArray agv_info = new JSONArray();
for (int i = 1; i <= 7; i++) {
JSONObject json = new JSONObject();
String agv_code = String.valueOf(i);
JSONObject jsonAgv = agvTab.query("agv_code = '" + agv_code + "'").uniqueResult(0);
// 1.车号
json.put("agv_code", agv_code);
// 2.任务: 0为无任务、1为有任务
json.put("agv_statetype", jsonAgv.getString("agv_statetype"));
// 3.电量
json.put("agv_power", jsonAgv.getString("agv_power"));
// 4.预警: 0为正常1为报警
String error_status = jsonAgv.getString("error_status");
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;
}
public static void main(String[] args) {
}
}

View File

@@ -92,7 +92,7 @@
IF 输入.flag = "4"
QUERY
SELECT
count(task.task_id) AS cancel_task_number
count(task.task_id) AS not_finish_task_number
FROM
SCH_BASE_Task task
WHERE