工作台接口

master
litao 1 year ago
parent 396ea76562
commit 231c97c180
  1. 99
      src/main/java/org/springblade/modules/business/contraller/WorkBenchesController.java

@ -3,6 +3,7 @@ package org.springblade.modules.business.contraller;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor;
import org.springblade.common.cache.UserCache;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@ -26,10 +27,12 @@ import org.springframework.web.bind.annotation.RestController;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.time.*;
import java.time.temporal.TemporalAdjusters;
import java.util.*;
import static org.springblade.modules.business.enums.MaintenanceStatusEnum.TASK_CUSTOMER_CONFIRM;
import static org.springblade.modules.business.enums.WorkOrderStatusEnum.*;
/**
* 工作台 控制器
@ -185,30 +188,65 @@ public class WorkBenchesController extends BladeController {
Map<String, Object> map1 = new HashMap<>();
Map<String, Object> map2 = new HashMap<>();
Map<String, Object> map3 = new HashMap<>();
// 今日开始时间
Date start = Date.from(LocalDateTime.now().with(LocalTime.MIN).atZone(ZoneId.systemDefault()).toInstant());
// 今日结束时间
Date end = Date.from(LocalDateTime.now().with(LocalTime.MAX).atZone(ZoneId.systemDefault()).toInstant());
int todoCount = 0;
int finish = 0;
if ("0".equals(perType)) {
// 客服今日待办
todoCount = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).in(WorkOrder::getStatus, CUSTOMER_SUBMIT, EVALUATE_FINISH));
// 客服今日已办
finish = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).between(WorkOrder::getDispatchTime, start, end));
} else if ("1".equals(perType)) {
// 主管今日待办
todoCount = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, SUPERVISOR_CONFIRM));
// 主管今日已办
finish = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).between(WorkOrder::getDispatchTime, start, end));
}
LocalDate now = LocalDate.now();
// 本月已办结-需求提报
int monthCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, TICKET).between(WorkOrder::getDispatchTime, getMonthStartAsDate(now), getMonthEndAsDate(now)));
// 本月已办结-巡检任务
int monthCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM).between(MaintenanceTask::getFinishTime, getMonthStartAsDate(now), getMonthEndAsDate(now)));
// 今年已办结-需求提报
int yearCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, TICKET).between(WorkOrder::getDispatchTime, getYearStartAsDate(now), getYearEndAsDate(now)));
// 今年已办结-巡检任务
int yearCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getStatus, TASK_CUSTOMER_CONFIRM).between(MaintenanceTask::getFinishTime, getYearStartAsDate(now), getYearEndAsDate(now)));
map1.put("title", "我的任务");
map1.put("mainName", "今日待办");
map1.put("subName", "今日已办");
map1.put("num", 5);
map1.put("num1", 10);
map1.put("num", todoCount);
map1.put("num1", finish);
map2.put("title", "维修已办结");
map2.put("mainName", "本月");
map2.put("subName", "本年");
map2.put("num", 16);
map2.put("num1", 129);
map2.put("num", monthCountWork + monthCount);
map2.put("num1", yearCountWork + yearCount);
if ("0".equals(perType)) {
map3.put("title", "巡检计划");
map3.put("mainName", "巡检签约");
map3.put("subName", "巡检");
map3.put("num", 22);
map3.put("num1", 159);
// 巡检计划签约数量
int count = (int) maintenancePlanService.count(Wrappers.lambdaQuery(MaintenancePlan.class));
// 巡检次数
int xjCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getStatus, TASK_CUSTOMER_CONFIRM));
map3.put("num", count);
map3.put("num1", xjCount);
} else if ("1".equals(perType)) {
map3.put("title", "维修人员");
map3.put("mainName", "在岗");
map3.put("subName", "总计");
map3.put("num", 22);
map3.put("num1", 159);
// 维修人员数量
long count = userService.count(Wrappers.lambdaQuery(User.class).eq(User::getStatus, 1).eq(User::getRoleId, 1839552581620793346L));
map3.put("num", count);
map3.put("num1", count);
}
list.add(map1);
list.add(map2);
@ -240,19 +278,32 @@ public class WorkBenchesController extends BladeController {
@GetMapping("/faultRatio")
public R<Map<String, Object>> faultRatio(String startTime, String endTime, String perType) {
Map<String, Object> map = new HashMap<>();
List<Map<String, Object>> fault = new ArrayList<>();
Map<String, Object> fault1 = new HashMap<>();
fault1.put("name", "空调");
fault1.put("value", 115);
fault.add(fault1);
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime);
map.put("fault", fault);
List<Map<String, Object>> rate = new ArrayList<>();
Map<String, Object> device1 = new HashMap<>();
device1.put("name", "正常数量");
device1.put("value", 115);
rate.add(device1);
map.put("rate", rate);
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime);
map.put("rate", device);
return R.data(map);
}
public static Date getMonthStartAsDate(LocalDate date) {
LocalDate startOfMonth = date.with(TemporalAdjusters.firstDayOfMonth());
return Date.from(startOfMonth.atStartOfDay(ZoneId.systemDefault()).toInstant());
}
public static Date getMonthEndAsDate(LocalDate date) {
YearMonth yearMonth = YearMonth.from(date);
int lastDayOfMonth = yearMonth.lengthOfMonth();
LocalDate endOfMonth = date.withDayOfMonth(lastDayOfMonth);
return Date.from(endOfMonth.atTime(23, 59, 59).atZone(ZoneId.systemDefault()).toInstant());
}
public static Date getYearStartAsDate(LocalDate date) {
LocalDate startOfYear = date.with(TemporalAdjusters.firstDayOfYear());
return Date.from(startOfYear.atStartOfDay(ZoneId.systemDefault()).toInstant());
}
public static Date getYearEndAsDate(LocalDate date) {
LocalDate endOfYear = date.with(TemporalAdjusters.lastDayOfYear());
return Date.from(endOfYear.atTime(23, 59, 59).atZone(ZoneId.systemDefault()).toInstant());
}
}

Loading…
Cancel
Save