更新 RuoYi-Vue-Oracle/src/main/java/com/ruoyi/project/outside/service/impl/OutSideServiceImpl.java

日期格式修复
This commit is contained in:
bieshande 2025-02-08 12:01:06 +08:00
parent feba70636d
commit 51a92e9796
1 changed files with 47 additions and 47 deletions

View File

@ -11,9 +11,14 @@ import com.ruoyi.project.outside.service.OutSideService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.YearMonth; import java.time.YearMonth;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.TimeZone;
@Service @Service
public class OutSideServiceImpl implements OutSideService { public class OutSideServiceImpl implements OutSideService {
@ -31,7 +36,6 @@ public class OutSideServiceImpl implements OutSideService {
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
JsonNode rootNode = objectMapper.readTree(jsonData); JsonNode rootNode = objectMapper.readTree(jsonData);
for (JsonNode sensorNode : rootNode.get("sensorDatas")) { for (JsonNode sensorNode : rootNode.get("sensorDatas")) {
if (sensorNode.get("flag").asInt()==1) {
sensorData.setSn(sn); sensorData.setSn(sn);
sensorData.setFlag(sensorNode.get("flag").asText()); sensorData.setFlag(sensorNode.get("flag").asText());
sensorData.setDs(sensorNode.get("gas_value").asText()); sensorData.setDs(sensorNode.get("gas_value").asText());
@ -52,7 +56,6 @@ public class OutSideServiceImpl implements OutSideService {
sensorData.setReportTime(DateUtils.getTime()); sensorData.setReportTime(DateUtils.getTime());
outSideMapper.insertDevice(sensorData); outSideMapper.insertDevice(sensorData);
} }
}
return 1; return 1;
} catch (Exception e) { } catch (Exception e) {
System.out.println(e); System.out.println(e);
@ -73,13 +76,8 @@ public class OutSideServiceImpl implements OutSideService {
String lastMonth = previousMonth.format(formatter); String lastMonth = previousMonth.format(formatter);
List<SensorMonth> list = outSideMapper.queryMonth(lastMonth); List<SensorMonth> list = outSideMapper.queryMonth(lastMonth);
if(list.size()>0){
outSideMapper.insertMonth(list); outSideMapper.insertMonth(list);
return 1; return 1;
}else{
return 0;
}
} }
@Override @Override
@ -89,42 +87,44 @@ public class OutSideServiceImpl implements OutSideService {
// 判断是否是数组 // 判断是否是数组
if (rootNode.isArray()) { if (rootNode.isArray()) {
for (JsonNode node : rootNode) { for (JsonNode node : rootNode) {
if (node.get("type").asInt()==5) {
SensorData sd = insertOldData(node); SensorData sd = insertOldData(node);
outSideMapper.deleteSampleDevice(sd.getSn(),sd.getReportTime());
outSideMapper.insertDevice(sd); outSideMapper.insertDevice(sd);
} }
} else {
SensorData sd = insertOldData(rootNode);
outSideMapper.insertDevice(sd);
} }
}
// else {
// SensorData sd = insertOldData(rootNode);
// outSideMapper.insertDevice(sd);
// }
return 0; return 0;
} }
@Override
public Integer updateData(String date) {
return outSideMapper.updateData(date);
}
private static SensorData insertOldData(JsonNode node) { private static SensorData insertOldData(JsonNode node) {
/** /**
* sn: equipmentUId * sn: equipmentUId
* ds: vocRtd * ds: vocRtd
* report_time: vocTime * report_time: vocTime
* zt: vocRtd > 4 ? '一级报警' : '正常' * zt: vocRtd > 5 ? '一级报警' : '正常'
*/ */
SensorData sensorData = new SensorData(); SensorData sensorData = new SensorData();
sensorData.setSn(node.get("equipmentUId").asText()); sensorData.setSn(node.get("equipmentUId").asText());
sensorData.setDs(node.get("vocRtd").asText()); sensorData.setDs(node.get("vocRtd").asText());
sensorData.setDw("mg/m3"); sensorData.setDw(getUnitDescription(5));
// "vocTime":"2024-10-30T07:19:20.000+0000" 转为 yyyy-MM-dd HH:mm:ss // "vocTime":"2024-10-30T07:19:20.000+0000" 转为 yyyy-MM-dd HH:mm:ss
String reportTime = node.get("vocTime").asText().replace("T", " ").substring(0, 19); //String reportTime = node.get("vocTime").asText().replace("T", " ").substring(0, 19);
sensorData.setReportTime(reportTime);
sensorData.setZt(node.get("vocRtd").asInt() > 4 ? "一级报警" : "正常"); DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss.SSSZ");
String reportTime = "";
try {
Date result = df.parse(node.get("vocTime").asText());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getDefault());
reportTime = sdf.format(result);
sensorData.setReportTime(reportTime);
} catch (ParseException e) {
e.printStackTrace();
}
sensorData.setZt(node.get("vocRtd").asInt() > 5 ? "一级报警" : "正常");
return sensorData; return sensorData;
} }