广深高速焊接bug修复

This commit is contained in:
guoshengxiong 2025-12-12 13:37:26 +08:00
parent c43d8b3406
commit 1e4ef9ab25

View File

@ -1,8 +1,6 @@
package com.zhgd.xmgl.task; package com.zhgd.xmgl.task;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
@ -15,10 +13,8 @@ import com.zhgd.redis.lock.RedisRepository;
import com.zhgd.xmgl.modules.basicdata.entity.SysConfig; import com.zhgd.xmgl.modules.basicdata.entity.SysConfig;
import com.zhgd.xmgl.modules.basicdata.service.ISysConfigService; import com.zhgd.xmgl.modules.basicdata.service.ISysConfigService;
import com.zhgd.xmgl.modules.gs.entity.GsWeldingDev; import com.zhgd.xmgl.modules.gs.entity.GsWeldingDev;
import com.zhgd.xmgl.modules.gs.entity.GsWeldingDevDailyRecord;
import com.zhgd.xmgl.modules.gs.entity.GsWeldingRecord; import com.zhgd.xmgl.modules.gs.entity.GsWeldingRecord;
import com.zhgd.xmgl.modules.gs.entity.GsWeldingWaveform; import com.zhgd.xmgl.modules.gs.entity.GsWeldingWaveform;
import com.zhgd.xmgl.modules.gs.service.IGsWeldingDevDailyRecordService;
import com.zhgd.xmgl.modules.gs.service.IGsWeldingDevService; import com.zhgd.xmgl.modules.gs.service.IGsWeldingDevService;
import com.zhgd.xmgl.modules.gs.service.IGsWeldingRecordService; import com.zhgd.xmgl.modules.gs.service.IGsWeldingRecordService;
import com.zhgd.xmgl.modules.gs.service.IGsWeldingWaveformService; import com.zhgd.xmgl.modules.gs.service.IGsWeldingWaveformService;
@ -28,7 +24,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
@ -187,14 +182,15 @@ public class GsWeldingTask {
List<GsWeldingWaveform> gsWeldingWaveformList = Lists.newArrayList(); List<GsWeldingWaveform> gsWeldingWaveformList = Lists.newArrayList();
for (int i = 0; i < dates.size() - 1; i++) { for (int i = 0; i < dates.size() - 1; i++) {
JSONObject jsonObject = SxHttpUtil.getGsWaveforms(dates.get(i), dates.get(i + 1), dev.getDevSn(), token); JSONObject jsonObject = SxHttpUtil.getGsWaveforms(dates.get(i), dates.get(i + 1), dev.getDevSn(), token);
if (!Objects.equals(jsonObject.getInteger("Execution"), 0)) { checkErr(jsonObject, "请求获取设备实时数据历史异常");
throw new OpenAlertException("请求获取设备实时数据历史异常");
}
JSONArray dataList = jsonObject.getJSONArray("dataList"); JSONArray dataList = jsonObject.getJSONArray("dataList");
if (CollUtil.isEmpty(dataList)) { if (CollUtil.isEmpty(dataList)) {
return gsWeldingWaveformList; return gsWeldingWaveformList;
} }
JSONArray list = dataList.getJSONObject(0).getJSONArray("list"); JSONArray list = dataList.getJSONObject(0).getJSONArray("list");
if (CollUtil.isEmpty(list) || CollUtil.isEmpty(list.getJSONObject(0))) {
return gsWeldingWaveformList;
}
for (int j = 0; j < list.size(); j++) { for (int j = 0; j < list.size(); j++) {
JSONObject jo1 = list.getJSONObject(j); JSONObject jo1 = list.getJSONObject(j);
GsWeldingWaveform waveform = new GsWeldingWaveform(); GsWeldingWaveform waveform = new GsWeldingWaveform();
@ -214,14 +210,15 @@ public class GsWeldingTask {
private List<GsWeldingRecord> buildGsWeldingRecord(JSONObject jsonObject, GsWeldingDev dev) { private List<GsWeldingRecord> buildGsWeldingRecord(JSONObject jsonObject, GsWeldingDev dev) {
List<GsWeldingRecord> gsWeldingRecordList = Lists.newArrayList(); List<GsWeldingRecord> gsWeldingRecordList = Lists.newArrayList();
if (!Objects.equals(jsonObject.getInteger("Execution"), 0)) { checkErr(jsonObject, "请求查询设备焊接记录历史异常");
throw new OpenAlertException("请求查询设备焊接记录历史异常");
}
JSONArray dataList = jsonObject.getJSONArray("dataList"); JSONArray dataList = jsonObject.getJSONArray("dataList");
if (CollUtil.isEmpty(dataList)) { if (CollUtil.isEmpty(dataList)) {
return gsWeldingRecordList; return gsWeldingRecordList;
} }
JSONArray list = dataList.getJSONObject(0).getJSONArray("list"); JSONArray list = dataList.getJSONObject(0).getJSONArray("list");
if (CollUtil.isEmpty(list) || CollUtil.isEmpty(list.getJSONObject(0))) {
return gsWeldingRecordList;
}
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
JSONObject jo1 = list.getJSONObject(i); JSONObject jo1 = list.getJSONObject(i);
GsWeldingRecord record = new GsWeldingRecord(); GsWeldingRecord record = new GsWeldingRecord();
@ -241,6 +238,13 @@ public class GsWeldingTask {
return gsWeldingRecordList; return gsWeldingRecordList;
} }
private void checkErr(JSONObject jsonObject, String errMsg) {
Integer execution = jsonObject.getInteger("Execution");
if (!Objects.equals(execution, 0) && !Objects.equals(execution, 3) && !Objects.equals(execution, 4)) {
throw new OpenAlertException(errMsg);
}
}
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void saveToDb(String queryTimeKey, String end, List<GsWeldingRecord> addGsWeldingRecords, List<GsWeldingWaveform> addGsWeldingWaveforms) { public void saveToDb(String queryTimeKey, String end, List<GsWeldingRecord> addGsWeldingRecords, List<GsWeldingWaveform> addGsWeldingWaveforms) {
if (CollUtil.isNotEmpty(addGsWeldingRecords)) { if (CollUtil.isNotEmpty(addGsWeldingRecords)) {
@ -347,11 +351,9 @@ public class GsWeldingTask {
List<GsWeldingDev> devs = gsWeldingDevService.list(null); List<GsWeldingDev> devs = gsWeldingDevService.list(null);
for (GsWeldingDev dev : devs) { for (GsWeldingDev dev : devs) {
JSONObject jsonObject = SxHttpUtil.getWeldingDevRealTimes(dev.getDevSn(), token); JSONObject jsonObject = SxHttpUtil.getWeldingDevRealTimes(dev.getDevSn(), token);
if (!Objects.equals(jsonObject.getInteger("Execution"), 0)) { checkErr(jsonObject, "定时请求设备实时数据接口异常");
throw new OpenAlertException("定时请求设备实时数据接口异常");
}
JSONArray dataList = jsonObject.getJSONArray("dataList"); JSONArray dataList = jsonObject.getJSONArray("dataList");
if (CollUtil.isEmpty(dataList)) { if (CollUtil.isEmpty(dataList) || CollUtil.isEmpty(dataList.getJSONObject(0))) {
continue; continue;
} }
for (int i = 0; i < dataList.size(); i++) { for (int i = 0; i < dataList.size(); i++) {
@ -387,10 +389,14 @@ public class GsWeldingTask {
private Integer getEquipmentStatus(String d03) { private Integer getEquipmentStatus(String d03) {
switch (d03) { switch (d03) {
//1待机2焊接3报警4关机 //1待机2焊接3报警4关机
case "待机": return 1; case "待机":
case "焊接": return 2; return 1;
case "报警": return 3; case "焊接":
case "关机": return 4; return 2;
case "报警":
return 3;
case "关机":
return 4;
default: default:
return null; return null;
} }