|
@@ -17,6 +17,7 @@ import com.gyee.runeconomy.service.auto.ITurbineInfoDayService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.lang.reflect.Field;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.YearMonth;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
@@ -223,6 +224,7 @@ public class EarlyWarningReliableService {
|
|
|
.filter(iss -> !secondSortedIssues.contains(iss) && !firstSortedIssues.contains(iss)) // 排除已经设置为 "是" 的数据
|
|
|
.forEach(iss -> iss.setReliabilityIssue("否"));
|
|
|
|
|
|
+ fillEmptyFields(IssuesList);
|
|
|
// 调用 saveBatch 保存数据
|
|
|
boolean b = reliabilityIssuesService.saveBatch(IssuesList);
|
|
|
System.out.println("可靠性问题运行结束");
|
|
@@ -292,5 +294,38 @@ public class EarlyWarningReliableService {
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ public void fillEmptyFields(List<ReliabilityIssues> issuesList) {
|
|
|
+ if (issuesList == null) return;
|
|
|
+
|
|
|
+ for (ReliabilityIssues issue : issuesList) {
|
|
|
+ // 获取ReliabilityIssues类的所有字段
|
|
|
+ Field[] fields = ReliabilityIssues.class.getDeclaredFields();
|
|
|
+
|
|
|
+ for (Field field : fields) {
|
|
|
+ // 检查字段类型是否为String
|
|
|
+ if (field.getType() == String.class) {
|
|
|
+ try {
|
|
|
+ // 设置可访问性,以防字段是private的
|
|
|
+ field.setAccessible(true);
|
|
|
+
|
|
|
+ // 获取当前值
|
|
|
+ String value = (String) field.get(issue);
|
|
|
+
|
|
|
+ // 如果值为null或空字符串
|
|
|
+ if (value == null || value.trim().isEmpty()) {
|
|
|
+ // 根据字段名结尾决定填充值
|
|
|
+ if (field.getName().toLowerCase().endsWith("type")) {
|
|
|
+ field.set(issue, "无");
|
|
|
+ } else if (field.getName().endsWith("Hours")) {
|
|
|
+ field.set(issue, "0"); // 数据库是varchar,所以存为字符串"0"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (IllegalAccessException e) {
|
|
|
+ // 处理异常或记录日志
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|