|
|
@@ -14,11 +14,13 @@ import cn.start.tz.module.pressure2.dal.mysql.equipboiler.EquipBoilerMapper;
|
|
|
import cn.start.tz.module.system.api.user.AdminUserApi;
|
|
|
import cn.start.tz.module.system.api.user.dto.AdminUserRespDTO;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
+import com.alibaba.fastjson2.JSONWriter;
|
|
|
import jakarta.annotation.Resource;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
|
|
|
@Service
|
|
|
public class AutoDataBoilerService {
|
|
|
@@ -78,13 +80,16 @@ public class AutoDataBoilerService {
|
|
|
BoilerTaskOrderDO taskOrderDO = boilerTaskOrderMapper.selectById(itemReportDO.getOrderId());
|
|
|
BoilerTaskOrderItemDO itemDO = boilerTaskOrderItemMapper.selectById(itemReportDO.getOrderItemId());
|
|
|
if (itemDO != null) {
|
|
|
- // 获取锅炉设备详细信息并转换为 JSON
|
|
|
- EquipBoilerReportVO boilerDO = equipBoilerMapper.selectDetailsById(itemDO.getEquipId());
|
|
|
- JSONObject boilerInfo = JSONObject.from(boilerDO);
|
|
|
+ EquipBoilerDO boilerDO = equipBoilerMapper.selectById(itemDO.getEquipId());
|
|
|
+ String boilerJson = JSONObject.toJSONString(boilerDO, JSONWriter.Feature.WriteMapNullValue);
|
|
|
+ JSONObject boilerInfo = JSONObject.parseObject(boilerJson);
|
|
|
// 自动转换所有字段为字符串格式
|
|
|
JsonConvertUtil.convertAllFieldsToString(boilerInfo);
|
|
|
// 合并 json
|
|
|
- jsonObject.putAll(boilerInfo);
|
|
|
+ for (String key : boilerInfo.keySet()) {
|
|
|
+ String str = (String) boilerInfo.get(key);
|
|
|
+ jsonObject.put(key, Objects.requireNonNullElse(str, "-"));
|
|
|
+ }
|
|
|
}
|
|
|
// 设置报告编号
|
|
|
jsonObject.put("reportNo", itemReportDO.getReportNo());
|
|
|
@@ -129,16 +134,17 @@ public class AutoDataBoilerService {
|
|
|
BoilerTaskOrderDO taskOrderDO = boilerTaskOrderMapper.selectById(itemReportDO.getOrderId());
|
|
|
BoilerTaskOrderItemDO itemDO = boilerTaskOrderItemMapper.selectById(itemReportDO.getOrderItemId());
|
|
|
if (itemDO != null) {
|
|
|
- // 获取锅炉设备详细信息并转换为 JSON
|
|
|
- EquipBoilerReportVO boilerDO = equipBoilerMapper.selectDetailsById(itemDO.getEquipId());
|
|
|
- JSONObject boilerInfo = JSONObject.from(boilerDO);
|
|
|
+ EquipBoilerDO boilerDO = equipBoilerMapper.selectById(itemDO.getEquipId());
|
|
|
+ String boilerJson = JSONObject.toJSONString(boilerDO, JSONWriter.Feature.WriteMapNullValue);
|
|
|
+ JSONObject boilerInfo = JSONObject.parseObject(boilerJson);
|
|
|
// 自动转换所有字段为字符串格式(包括日期、数字、布尔等)
|
|
|
JsonConvertUtil.convertAllFieldsToString(boilerInfo);
|
|
|
// 合并 json
|
|
|
for (String key : boilerInfo.keySet()) {
|
|
|
// 没有这个key或者为null或者为空字符串时put
|
|
|
if (!jsonObject.containsKey(key) || jsonObject.get(key) == null || jsonObject.get(key).toString().isEmpty()) {
|
|
|
- jsonObject.put(key, boilerInfo.get(key));
|
|
|
+ String str = (String) boilerInfo.get(key);
|
|
|
+ jsonObject.put(key, Objects.requireNonNullElse(str, "-"));
|
|
|
}
|
|
|
}
|
|
|
}
|