|
@@ -93,142 +93,162 @@ public class HistoryLoopHealthLevelController {
|
|
|
beginDate = formatMonth.format(beginDated);
|
|
|
endDate = formatMonth.format(endDated);
|
|
|
loopHealthLevelMap = dashboardService.getLoopHealthLevelsMonth(deviceName, sysName, beginDate,endDate);
|
|
|
- if (loopHealthLevelMap.size() == 0){
|
|
|
- YearMonth startMonth = YearMonth.parse(beginDate, dateFormatter);
|
|
|
- YearMonth endMonth = YearMonth.parse(endDate, dateFormatter);
|
|
|
- YearMonth currentYearMonth = startMonth.plusMonths(1);
|
|
|
-
|
|
|
- ArrayList<LoopHealthLevel> aList = new ArrayList<>();
|
|
|
- ArrayList<LoopHealthLevel> bList = new ArrayList<>();
|
|
|
- ArrayList<LoopHealthLevel> cList = new ArrayList<>();
|
|
|
- ArrayList<LoopHealthLevel> dList = new ArrayList<>();
|
|
|
- while (!currentYearMonth.isAfter(endMonth)){
|
|
|
- LoopHealthLevel loopHealthLevelA = new LoopHealthLevel();
|
|
|
- loopHealthLevelA.setLevel("A");
|
|
|
- loopHealthLevelA.setNumber("0");
|
|
|
- loopHealthLevelA.setTime(currentYearMonth.format(dateFormatter));
|
|
|
- aList.add(loopHealthLevelA);
|
|
|
-
|
|
|
- LoopHealthLevel loopHealthLevelB = new LoopHealthLevel();
|
|
|
- loopHealthLevelB.setLevel("B");
|
|
|
- loopHealthLevelB.setNumber("0");
|
|
|
- loopHealthLevelB.setTime(currentYearMonth.format(dateFormatter));
|
|
|
- bList.add(loopHealthLevelB);
|
|
|
-
|
|
|
- LoopHealthLevel loopHealthLevelC = new LoopHealthLevel();
|
|
|
- loopHealthLevelC.setLevel("C");
|
|
|
- loopHealthLevelC.setNumber("0");
|
|
|
- loopHealthLevelC.setTime(currentYearMonth.format(dateFormatter));
|
|
|
- cList.add(loopHealthLevelC);
|
|
|
-
|
|
|
- LoopHealthLevel loopHealthLevelD = new LoopHealthLevel();
|
|
|
- loopHealthLevelD.setLevel("D");
|
|
|
- loopHealthLevelD.setNumber("0");
|
|
|
- loopHealthLevelD.setTime(currentYearMonth.format(dateFormatter));
|
|
|
- dList.add(loopHealthLevelD);
|
|
|
-
|
|
|
- currentYearMonth = currentYearMonth.plusMonths(1);
|
|
|
- }
|
|
|
-
|
|
|
- loopHealthLevelMap.put("A",aList);
|
|
|
- loopHealthLevelMap.put("B",bList);
|
|
|
- loopHealthLevelMap.put("C",cList);
|
|
|
- loopHealthLevelMap.put("D",dList);
|
|
|
- }
|
|
|
+ //if (loopHealthLevelMap.size() == 0){
|
|
|
+ // YearMonth startMonth = YearMonth.parse(beginDate, dateFormatter);
|
|
|
+ // YearMonth endMonth = YearMonth.parse(endDate, dateFormatter);
|
|
|
+ // YearMonth currentYearMonth = startMonth.plusMonths(1);
|
|
|
+ //
|
|
|
+ // ArrayList<LoopHealthLevel> aList = new ArrayList<>();
|
|
|
+ // ArrayList<LoopHealthLevel> bList = new ArrayList<>();
|
|
|
+ // ArrayList<LoopHealthLevel> cList = new ArrayList<>();
|
|
|
+ // ArrayList<LoopHealthLevel> dList = new ArrayList<>();
|
|
|
+ // while (!currentYearMonth.isAfter(endMonth)){
|
|
|
+ // LoopHealthLevel loopHealthLevelA = new LoopHealthLevel();
|
|
|
+ // loopHealthLevelA.setLevel("A");
|
|
|
+ // loopHealthLevelA.setNumber("0");
|
|
|
+ // loopHealthLevelA.setTime(currentYearMonth.format(dateFormatter));
|
|
|
+ // aList.add(loopHealthLevelA);
|
|
|
+ //
|
|
|
+ // LoopHealthLevel loopHealthLevelB = new LoopHealthLevel();
|
|
|
+ // loopHealthLevelB.setLevel("B");
|
|
|
+ // loopHealthLevelB.setNumber("0");
|
|
|
+ // loopHealthLevelB.setTime(currentYearMonth.format(dateFormatter));
|
|
|
+ // bList.add(loopHealthLevelB);
|
|
|
+ //
|
|
|
+ // LoopHealthLevel loopHealthLevelC = new LoopHealthLevel();
|
|
|
+ // loopHealthLevelC.setLevel("C");
|
|
|
+ // loopHealthLevelC.setNumber("0");
|
|
|
+ // loopHealthLevelC.setTime(currentYearMonth.format(dateFormatter));
|
|
|
+ // cList.add(loopHealthLevelC);
|
|
|
+ //
|
|
|
+ // LoopHealthLevel loopHealthLevelD = new LoopHealthLevel();
|
|
|
+ // loopHealthLevelD.setLevel("D");
|
|
|
+ // loopHealthLevelD.setNumber("0");
|
|
|
+ // loopHealthLevelD.setTime(currentYearMonth.format(dateFormatter));
|
|
|
+ // dList.add(loopHealthLevelD);
|
|
|
+ //
|
|
|
+ // currentYearMonth = currentYearMonth.plusMonths(1);
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // loopHealthLevelMap.put("A",aList);
|
|
|
+ // loopHealthLevelMap.put("B",bList);
|
|
|
+ // loopHealthLevelMap.put("C",cList);
|
|
|
+ // loopHealthLevelMap.put("D",dList);
|
|
|
+ //}
|
|
|
}else {
|
|
|
loopHealthLevelMap = dashboardService.getLoopHealthLevels(deviceName, sysName, beginDate,endDate);
|
|
|
- if (loopHealthLevelMap.size() == 0){
|
|
|
-
|
|
|
- ArrayList<LoopHealthLevel> aList = new ArrayList<>();
|
|
|
- ArrayList<LoopHealthLevel> bList = new ArrayList<>();
|
|
|
- ArrayList<LoopHealthLevel> cList = new ArrayList<>();
|
|
|
- ArrayList<LoopHealthLevel> dList = new ArrayList<>();
|
|
|
-
|
|
|
- // 解析为 LocalDate 对象
|
|
|
- LocalDate start = LocalDate.parse(beginDate, dateFormatterDay);
|
|
|
- LocalDate end = LocalDate.parse(endDate, dateFormatterDay);
|
|
|
-
|
|
|
- // 获取输入日期的月份和年份
|
|
|
- int year = end.getYear();
|
|
|
- int month = end.getMonthValue();
|
|
|
-
|
|
|
- // 创建该月份的开始和结束日期
|
|
|
- LocalDate monthStart = LocalDate.of(year, month, 1);
|
|
|
- LocalDate monthEnd = monthStart.withDayOfMonth(monthStart.lengthOfMonth());
|
|
|
-
|
|
|
- // 如果 endDate 之后的月份,则将结束日期限制在该月的最后一天
|
|
|
- if (end.isAfter(monthEnd)) {
|
|
|
- end = monthEnd;
|
|
|
- }
|
|
|
- LocalDate currentDate = start;
|
|
|
- while (!currentDate.isAfter(end)) {
|
|
|
- if (!currentDate.isBefore(monthStart) && !currentDate.isAfter(monthEnd)) {
|
|
|
- LoopHealthLevel loopHealthLevelA = new LoopHealthLevel();
|
|
|
- loopHealthLevelA.setLevel("A");
|
|
|
- loopHealthLevelA.setNumber("0");
|
|
|
- loopHealthLevelA.setTime(currentDate.format(dateFormatterDay));
|
|
|
- aList.add(loopHealthLevelA);
|
|
|
-
|
|
|
- LoopHealthLevel loopHealthLevelB = new LoopHealthLevel();
|
|
|
- loopHealthLevelB.setLevel("B");
|
|
|
- loopHealthLevelB.setNumber("0");
|
|
|
- loopHealthLevelB.setTime(currentDate.format(dateFormatterDay));
|
|
|
- bList.add(loopHealthLevelB);
|
|
|
-
|
|
|
- LoopHealthLevel loopHealthLevelC = new LoopHealthLevel();
|
|
|
- loopHealthLevelC.setLevel("C");
|
|
|
- loopHealthLevelC.setNumber("0");
|
|
|
- loopHealthLevelC.setTime(currentDate.format(dateFormatterDay));
|
|
|
- cList.add(loopHealthLevelC);
|
|
|
-
|
|
|
- LoopHealthLevel loopHealthLevelD = new LoopHealthLevel();
|
|
|
- loopHealthLevelD.setLevel("D");
|
|
|
- loopHealthLevelD.setNumber("0");
|
|
|
- loopHealthLevelD.setTime(currentDate.format(dateFormatterDay));
|
|
|
- dList.add(loopHealthLevelD);
|
|
|
- }
|
|
|
- currentDate = currentDate.plusDays(1);
|
|
|
- }
|
|
|
-
|
|
|
- loopHealthLevelMap.put("A",aList);
|
|
|
- loopHealthLevelMap.put("B",bList);
|
|
|
- loopHealthLevelMap.put("C",cList);
|
|
|
- loopHealthLevelMap.put("D",dList);
|
|
|
- }
|
|
|
+ //if (loopHealthLevelMap.size() == 0){
|
|
|
+ //
|
|
|
+ // ArrayList<LoopHealthLevel> aList = new ArrayList<>();
|
|
|
+ // ArrayList<LoopHealthLevel> bList = new ArrayList<>();
|
|
|
+ // ArrayList<LoopHealthLevel> cList = new ArrayList<>();
|
|
|
+ // ArrayList<LoopHealthLevel> dList = new ArrayList<>();
|
|
|
+ //
|
|
|
+ // // 解析为 LocalDate 对象
|
|
|
+ // LocalDate start = LocalDate.parse(beginDate, dateFormatterDay);
|
|
|
+ // LocalDate end = LocalDate.parse(endDate, dateFormatterDay);
|
|
|
+ //
|
|
|
+ // // 获取输入日期的月份和年份
|
|
|
+ // int year = end.getYear();
|
|
|
+ // int month = end.getMonthValue();
|
|
|
+ //
|
|
|
+ // // 创建该月份的开始和结束日期
|
|
|
+ // LocalDate monthStart = LocalDate.of(year, month, 1);
|
|
|
+ // LocalDate monthEnd = monthStart.withDayOfMonth(monthStart.lengthOfMonth());
|
|
|
+ //
|
|
|
+ // // 如果 endDate 之后的月份,则将结束日期限制在该月的最后一天
|
|
|
+ // if (end.isAfter(monthEnd)) {
|
|
|
+ // end = monthEnd;
|
|
|
+ // }
|
|
|
+ // LocalDate currentDate = start;
|
|
|
+ // while (!currentDate.isAfter(end)) {
|
|
|
+ // if (!currentDate.isBefore(monthStart) && !currentDate.isAfter(monthEnd)) {
|
|
|
+ // LoopHealthLevel loopHealthLevelA = new LoopHealthLevel();
|
|
|
+ // loopHealthLevelA.setLevel("A");
|
|
|
+ // loopHealthLevelA.setNumber("0");
|
|
|
+ // loopHealthLevelA.setTime(currentDate.format(dateFormatterDay));
|
|
|
+ // aList.add(loopHealthLevelA);
|
|
|
+ //
|
|
|
+ // LoopHealthLevel loopHealthLevelB = new LoopHealthLevel();
|
|
|
+ // loopHealthLevelB.setLevel("B");
|
|
|
+ // loopHealthLevelB.setNumber("0");
|
|
|
+ // loopHealthLevelB.setTime(currentDate.format(dateFormatterDay));
|
|
|
+ // bList.add(loopHealthLevelB);
|
|
|
+ //
|
|
|
+ // LoopHealthLevel loopHealthLevelC = new LoopHealthLevel();
|
|
|
+ // loopHealthLevelC.setLevel("C");
|
|
|
+ // loopHealthLevelC.setNumber("0");
|
|
|
+ // loopHealthLevelC.setTime(currentDate.format(dateFormatterDay));
|
|
|
+ // cList.add(loopHealthLevelC);
|
|
|
+ //
|
|
|
+ // LoopHealthLevel loopHealthLevelD = new LoopHealthLevel();
|
|
|
+ // loopHealthLevelD.setLevel("D");
|
|
|
+ // loopHealthLevelD.setNumber("0");
|
|
|
+ // loopHealthLevelD.setTime(currentDate.format(dateFormatterDay));
|
|
|
+ // dList.add(loopHealthLevelD);
|
|
|
+ // }
|
|
|
+ // currentDate = currentDate.plusDays(1);
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // loopHealthLevelMap.put("A",aList);
|
|
|
+ // loopHealthLevelMap.put("B",bList);
|
|
|
+ // loopHealthLevelMap.put("C",cList);
|
|
|
+ // loopHealthLevelMap.put("D",dList);
|
|
|
+ //}
|
|
|
}
|
|
|
|
|
|
- for (String key : loopHealthLevelMap.keySet()) {
|
|
|
- ResultD<String[]> result = new ResultD<>();
|
|
|
- switch (key){
|
|
|
- case "A":
|
|
|
- result.setTarget(key+"-健康");
|
|
|
- break;
|
|
|
- case "B":
|
|
|
- result.setTarget(key+"-故障");
|
|
|
- break;
|
|
|
- case "C":
|
|
|
- result.setTarget(key+"-严重故障");
|
|
|
- break;
|
|
|
- case "D":
|
|
|
- result.setTarget(key+"-失效");
|
|
|
- break;
|
|
|
- }
|
|
|
- //result.setTarget(key);
|
|
|
+ if(loopHealthLevelMap.size() == 0){
|
|
|
ArrayList<String[]> strings = new ArrayList<>();
|
|
|
- List<LoopHealthLevel> itemList = loopHealthLevelMap.get(key);
|
|
|
- for (LoopHealthLevel item : itemList) {
|
|
|
- Date dateTime = new Date();
|
|
|
- if ("now/y".equals(fromType)){
|
|
|
- dateTime = formatMonth.parse(item.getTime());
|
|
|
- }else {
|
|
|
- dateTime = format.parse(item.getTime());
|
|
|
+ ResultD<String[]> resultA = new ResultD<>();
|
|
|
+ resultA.setTarget("A-健康");
|
|
|
+ resultA.setDatapoints(strings);
|
|
|
+ ResultD<String[]> resultB = new ResultD<>();
|
|
|
+ resultB.setTarget("B-故障");
|
|
|
+ resultB.setDatapoints(strings);
|
|
|
+ ResultD<String[]> resultC = new ResultD<>();
|
|
|
+ resultC.setTarget("C-严重故障");
|
|
|
+ resultC.setDatapoints(strings);
|
|
|
+ ResultD<String[]> resultD = new ResultD<>();
|
|
|
+ resultD.setTarget("D-失效");
|
|
|
+ resultD.setDatapoints(strings);
|
|
|
+ list.add(resultA);
|
|
|
+ list.add(resultB);
|
|
|
+ list.add(resultC);
|
|
|
+ list.add(resultD);
|
|
|
+ }else {
|
|
|
+ for (String key : loopHealthLevelMap.keySet()) {
|
|
|
+ ResultD<String[]> result = new ResultD<>();
|
|
|
+ switch (key){
|
|
|
+ case "A":
|
|
|
+ result.setTarget(key+"-健康");
|
|
|
+ break;
|
|
|
+ case "B":
|
|
|
+ result.setTarget(key+"-故障");
|
|
|
+ break;
|
|
|
+ case "C":
|
|
|
+ result.setTarget(key+"-严重故障");
|
|
|
+ break;
|
|
|
+ case "D":
|
|
|
+ result.setTarget(key+"-失效");
|
|
|
+ break;
|
|
|
}
|
|
|
+ //result.setTarget(key);
|
|
|
+ ArrayList<String[]> strings = new ArrayList<>();
|
|
|
+ List<LoopHealthLevel> itemList = loopHealthLevelMap.get(key);
|
|
|
+ for (LoopHealthLevel item : itemList) {
|
|
|
+ Date dateTime = new Date();
|
|
|
+ if ("now/y".equals(fromType)){
|
|
|
+ dateTime = formatMonth.parse(item.getTime());
|
|
|
+ }else {
|
|
|
+ dateTime = format.parse(item.getTime());
|
|
|
+ }
|
|
|
|
|
|
- String[] v = new String[]{item.getNumber(),String.valueOf(dateTime.getTime())};
|
|
|
- strings.add(v);
|
|
|
+ String[] v = new String[]{item.getNumber(),String.valueOf(dateTime.getTime())};
|
|
|
+ strings.add(v);
|
|
|
+ }
|
|
|
+ result.setDatapoints(strings);
|
|
|
+ list.add(result);
|
|
|
}
|
|
|
- result.setDatapoints(strings);
|
|
|
- list.add(result);
|
|
|
}
|
|
|
|
|
|
|