eims-ui/apps/web-antd/src/views/eims/maint-report/index.vue
@@ -139,11 +139,19 @@ let className = ''; switch (value) { case '保养中': { className = 'dot-blue'; break; } case '已完成': { className = 'dot-green'; break; } case '未完成': { case '待保养': { className = 'dot-gray'; break; } case '待验证': { className = 'dot-orange'; break; } @@ -168,10 +176,10 @@ <template> <Page :auto-content-height="true"> <div class="flex h-full gap-[8px]"> <BasicTable class="flex-1 overflow-hidden" table-title="试产列表"> <BasicTable class="flex-1 overflow-hidden" table-title="保养报表"> <template #toolbar-tools> <Space> <span class="ml-4 mr-2">-</span>未生成计划 <span class="dot-orange ml-4"></span>未完成 <span class="dot-green ml-4"></span>已完成 <span class="ml-4 mr-2">-</span>未生成计划 <span class="dot-gray ml-4"></span>待保养 <span class="dot-blue ml-4"></span>保养中 <span class="dot-orange ml-4"></span>待验证 <span class="dot-green ml-4"></span>已完成 </Space> </template> </BasicTable> @@ -210,4 +218,11 @@ border-radius: 50%; background-color: #8a2ad8; } :deep(.dot-gray) { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background-color: #d9d9d9; } </style> eims/ruoyi-modules/lb-eims/src/main/java/org/dromara/eims/service/impl/ReportServiceImpl.java
@@ -274,12 +274,23 @@ order -> String.valueOf(order.getPlanTime().toInstant() .atZone(ZoneId.systemDefault()) .toLocalDate().getMonthValue()), // 按月份分组后,判断该月是否全部status=3 Collectors.collectingAndThen( Collectors.toList(), orders -> orders.stream().allMatch(o -> o.getStatus().equals("3")) ? "已完成" : "未完成" orders -> { boolean allZero = orders.stream().allMatch(o -> o.getStatus().equals("0")); if (allZero) { return MAINT_0; // 待保养 } boolean allGtOne = orders.stream().allMatch(o -> Integer.parseInt(o.getStatus()) > 1); if (allGtOne) { return MAINT_2; // 待验证 } boolean allGtTwo = orders.stream().allMatch(o -> Integer.parseInt(o.getStatus()) > 2); if (allGtTwo) { return MAINT_3; // 已完成 } return "保养中"; } ) )); Map<String, EimsMaintPlan> planMap = equMaintPlanList.stream() @@ -295,7 +306,7 @@ for (int month = 1; month <= monthInYear; month++) { String monthKey = "month_" + month; if (planMap.containsKey(String.valueOf(month))) { item.put(monthKey, UNCHECKED); item.put(monthKey, MAINT_0); } else if (orderMap.containsKey(String.valueOf(month))) { String result = orderMap.get(String.valueOf(month)); item.put(monthKey, result);