|
|
|
|
@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
import org.springblade.core.boot.ctrl.BladeController; |
|
|
|
|
import org.springblade.core.mp.base.BaseEntity; |
|
|
|
|
import org.springblade.core.secure.BladeUser; |
|
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
|
import org.springblade.core.tool.api.R; |
|
|
|
|
@ -22,7 +23,9 @@ import org.springblade.modules.business.service.IDeviceService; |
|
|
|
|
import org.springblade.modules.business.service.IMaintenancePlanService; |
|
|
|
|
import org.springblade.modules.business.service.IMaintenanceTaskService; |
|
|
|
|
import org.springblade.modules.business.service.IWorkOrderService; |
|
|
|
|
import org.springblade.modules.system.pojo.entity.Dept; |
|
|
|
|
import org.springblade.modules.system.pojo.entity.User; |
|
|
|
|
import org.springblade.modules.system.service.IDeptService; |
|
|
|
|
import org.springblade.modules.system.service.IUserService; |
|
|
|
|
import org.springframework.web.bind.annotation.GetMapping; |
|
|
|
|
import org.springframework.web.bind.annotation.RequestMapping; |
|
|
|
|
@ -34,6 +37,7 @@ import java.text.SimpleDateFormat; |
|
|
|
|
import java.time.*; |
|
|
|
|
import java.time.temporal.TemporalAdjusters; |
|
|
|
|
import java.util.*; |
|
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
import static org.springblade.modules.business.enums.MaintenanceStatusEnum.TASK_CUSTOMER_CONFIRM; |
|
|
|
|
import static org.springblade.modules.business.enums.WorkOrderStatusEnum.*; |
|
|
|
|
@ -55,6 +59,7 @@ public class WorkBenchesController extends BladeController { |
|
|
|
|
private final IWorkOrderService workOrderService; |
|
|
|
|
private final IDeviceService deviceService; |
|
|
|
|
private final IUserService userService; |
|
|
|
|
private final IDeptService deptService; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 工作台 |
|
|
|
|
@ -88,7 +93,12 @@ public class WorkBenchesController extends BladeController { |
|
|
|
|
// 设备报警数量
|
|
|
|
|
Map<String, Object> map3 = new HashMap<>(); |
|
|
|
|
map3.put("name", "设备报警"); |
|
|
|
|
map3.put("num", deviceService.count(Wrappers.lambdaQuery(Device.class).eq(Device::getRunStatus, 2))); |
|
|
|
|
LambdaQueryWrapper<Device> wrapper = Wrappers.lambdaQuery(Device.class); |
|
|
|
|
wrapper.eq(Device::getRunStatus, 2); |
|
|
|
|
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) { |
|
|
|
|
wrapper.eq(Device::getLimsId, bladeUser.getDeptId()); |
|
|
|
|
} |
|
|
|
|
map3.put("num", deviceService.count(wrapper)); |
|
|
|
|
list.add(map3); |
|
|
|
|
return R.data(list); |
|
|
|
|
} |
|
|
|
|
@ -107,7 +117,13 @@ public class WorkBenchesController extends BladeController { |
|
|
|
|
*/ |
|
|
|
|
@GetMapping("/deviceList") |
|
|
|
|
public R<List<Map<String, Object>>> deviceList() { |
|
|
|
|
List<Device> devices = deviceService.list(Wrappers.lambdaQuery(Device.class).eq(Device::getRunStatus, 2)); |
|
|
|
|
BladeUser bladeUser = AuthUtil.getUser(); |
|
|
|
|
LambdaQueryWrapper<Device> wrapper = Wrappers.lambdaQuery(Device.class); |
|
|
|
|
wrapper.eq(Device::getRunStatus, 2); |
|
|
|
|
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) { |
|
|
|
|
wrapper.eq(Device::getLimsId, bladeUser.getDeptId()); |
|
|
|
|
} |
|
|
|
|
List<Device> devices = deviceService.list(wrapper); |
|
|
|
|
List<Map<String, Object>> list = new ArrayList<>(); |
|
|
|
|
if (CollectionUtil.isNotEmpty(devices)) { |
|
|
|
|
devices.forEach(device -> { |
|
|
|
|
@ -128,6 +144,7 @@ public class WorkBenchesController extends BladeController { |
|
|
|
|
*/ |
|
|
|
|
@GetMapping("/upkeepStat") |
|
|
|
|
public R<Map<String, Object>> upkeepStat(@RequestParam String startTime, @RequestParam String endTime) throws ParseException { |
|
|
|
|
BladeUser bladeUser = AuthUtil.getUser(); |
|
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
|
List<String> xData = new ArrayList<>(); |
|
|
|
|
@ -139,11 +156,17 @@ public class WorkBenchesController extends BladeController { |
|
|
|
|
if (Func.isNotEmpty(startTime) && Func.isNotEmpty(endTime)) { |
|
|
|
|
orderWrappers.between(WorkOrder::getCreateTime, format.parse(startTime), format.parse(endTime)); |
|
|
|
|
} |
|
|
|
|
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) { |
|
|
|
|
orderWrappers.eq(BaseEntity::getCreateDept, bladeUser.getDeptId()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
LambdaQueryWrapper<MaintenanceTask> taskWrappers = Wrappers.lambdaQuery(MaintenanceTask.class); |
|
|
|
|
if (Func.isNotEmpty(startTime) && Func.isNotEmpty(endTime)) { |
|
|
|
|
taskWrappers.between(MaintenanceTask::getCreateTime, format.parse(startTime), format.parse(endTime)); |
|
|
|
|
} |
|
|
|
|
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) { |
|
|
|
|
taskWrappers.eq(MaintenanceTask::getDeptId, bladeUser.getDeptId()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
List<WorkOrder> workOrders = workOrderService.list(orderWrappers); |
|
|
|
|
List<MaintenanceTask> tasks = maintenanceTaskService.list(taskWrappers); |
|
|
|
|
@ -167,10 +190,15 @@ public class WorkBenchesController extends BladeController { |
|
|
|
|
*/ |
|
|
|
|
@GetMapping("/pieStat") |
|
|
|
|
public R<Map<String, Object>> pieStat(String startTime, String endTime) { |
|
|
|
|
BladeUser bladeUser = AuthUtil.getUser(); |
|
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
|
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime); |
|
|
|
|
Long limsId = null; |
|
|
|
|
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) { |
|
|
|
|
limsId = Long.parseLong(bladeUser.getDeptId()); |
|
|
|
|
} |
|
|
|
|
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime,limsId); |
|
|
|
|
map.put("fault", fault); |
|
|
|
|
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime); |
|
|
|
|
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime,limsId); |
|
|
|
|
map.put("device", device); |
|
|
|
|
return R.data(map); |
|
|
|
|
} |
|
|
|
|
@ -198,7 +226,7 @@ public class WorkBenchesController extends BladeController { |
|
|
|
|
public R<List<Map<String, Object>>> limsInspecList(String perType) { |
|
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
|
List<Map<String, Object>> list = new ArrayList<>(); |
|
|
|
|
List<MaintenanceTask> tasks = maintenanceTaskService.list(Wrappers.lambdaQuery(MaintenanceTask.class).isNotNull(MaintenanceTask::getStartTime).orderByDesc(MaintenanceTask::getStartTime)); |
|
|
|
|
List<MaintenanceTask> tasks = maintenanceTaskService.list(Wrappers.lambdaQuery(MaintenanceTask.class).isNotNull(MaintenanceTask::getStartTime).eq(BaseEntity::getCreateDept,AuthUtil.getDeptId()).orderByDesc(MaintenanceTask::getStartTime)); |
|
|
|
|
for (MaintenanceTask task : tasks) { |
|
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
|
map.put("name", task.getDeptName() + "-设备巡检"); |
|
|
|
|
@ -224,27 +252,34 @@ public class WorkBenchesController extends BladeController { |
|
|
|
|
int todoCount = 0; |
|
|
|
|
int finish = 0; |
|
|
|
|
|
|
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
|
List<String> deptIds = null; |
|
|
|
|
String deptId = user.getDeptId(); |
|
|
|
|
List<Dept> deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0)); |
|
|
|
|
if(CollectionUtil.isNotEmpty(deptList)){ |
|
|
|
|
deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList()); |
|
|
|
|
} |
|
|
|
|
if ("0".equals(perType)) { |
|
|
|
|
// 客服今日待办
|
|
|
|
|
todoCount = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).in(WorkOrder::getStatus, KH_ORDER_SUBMIT.getValue(), KH_EVALUATE_FINISH.getValue())); |
|
|
|
|
todoCount = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).in(WorkOrder::getStatus, KH_ORDER_SUBMIT.getValue(), KH_EVALUATE_FINISH.getValue()).in(BaseEntity::getCreateDept,deptIds)); |
|
|
|
|
// 客服今日已办
|
|
|
|
|
finish = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).between(WorkOrder::getDispatchTime, start, end)); |
|
|
|
|
finish = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).between(WorkOrder::getDispatchTime, start, end).in(BaseEntity::getCreateDept,deptIds)); |
|
|
|
|
} else if ("1".equals(perType)) { |
|
|
|
|
// 主管今日待办
|
|
|
|
|
todoCount = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, WX_REPAIR_PLAN_SUBMIT.getValue())); |
|
|
|
|
todoCount = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, WX_REPAIR_PLAN_SUBMIT.getValue()).in(BaseEntity::getCreateDept,deptIds)); |
|
|
|
|
// 主管今日已办
|
|
|
|
|
finish = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).between(WorkOrder::getDispatchTime, start, end)); |
|
|
|
|
finish = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).between(WorkOrder::getDispatchTime, start, end).in(BaseEntity::getCreateDept,deptIds)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
LocalDate now = LocalDate.now(); |
|
|
|
|
// 本月已办结-需求提报
|
|
|
|
|
int monthCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, KF_TICKET_FINISH.getValue()).between(WorkOrder::getSignatureTime, getMonthStartAsDate(now), getMonthEndAsDate(now))); |
|
|
|
|
int monthCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, KF_TICKET_FINISH.getValue()).between(WorkOrder::getSignatureTime, getMonthStartAsDate(now), getMonthEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds)); |
|
|
|
|
// 本月已办结-巡检任务
|
|
|
|
|
int monthCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue()).between(MaintenanceTask::getFinishTime, getMonthStartAsDate(now), getMonthEndAsDate(now))); |
|
|
|
|
int monthCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue()).between(MaintenanceTask::getFinishTime, getMonthStartAsDate(now), getMonthEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds)); |
|
|
|
|
// 今年已办结-需求提报
|
|
|
|
|
int yearCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, KF_TICKET_FINISH.getValue()).between(WorkOrder::getSignatureTime, getYearStartAsDate(now), getYearEndAsDate(now))); |
|
|
|
|
int yearCountWork = (int) workOrderService.count(Wrappers.lambdaQuery(WorkOrder.class).eq(WorkOrder::getStatus, KF_TICKET_FINISH.getValue()).between(WorkOrder::getSignatureTime, getYearStartAsDate(now), getYearEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds)); |
|
|
|
|
// 今年已办结-巡检任务
|
|
|
|
|
int yearCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue()).between(MaintenanceTask::getFinishTime, getYearStartAsDate(now), getYearEndAsDate(now))); |
|
|
|
|
int yearCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue()).between(MaintenanceTask::getFinishTime, getYearStartAsDate(now), getYearEndAsDate(now)).in(BaseEntity::getCreateDept,deptIds)); |
|
|
|
|
|
|
|
|
|
map1.put("title", "我的任务"); |
|
|
|
|
map1.put("mainName", "今日待办"); |
|
|
|
|
@ -263,9 +298,9 @@ public class WorkBenchesController extends BladeController { |
|
|
|
|
map3.put("mainName", "巡检签约"); |
|
|
|
|
map3.put("subName", "巡检"); |
|
|
|
|
// 巡检计划签约数量
|
|
|
|
|
int count = (int) maintenancePlanService.count(Wrappers.lambdaQuery(MaintenancePlan.class)); |
|
|
|
|
int count = (int) maintenancePlanService.count(Wrappers.lambdaQuery(MaintenancePlan.class).eq(BaseEntity::getCreateDept,user.getDeptId())); |
|
|
|
|
// 巡检次数
|
|
|
|
|
int xjCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue())); |
|
|
|
|
int xjCount = (int) maintenanceTaskService.count(Wrappers.lambdaQuery(MaintenanceTask.class).eq(MaintenanceTask::getTaskStatus, TASK_CUSTOMER_CONFIRM.getValue()).eq(BaseEntity::getCreateDept,user.getDeptId())); |
|
|
|
|
map3.put("num", count); |
|
|
|
|
map3.put("num1", xjCount); |
|
|
|
|
} else if ("1".equals(perType)) { |
|
|
|
|
@ -273,7 +308,7 @@ public class WorkBenchesController extends BladeController { |
|
|
|
|
map3.put("mainName", "在岗"); |
|
|
|
|
map3.put("subName", "总计"); |
|
|
|
|
// 维修人员数量
|
|
|
|
|
long count = userService.count(Wrappers.lambdaQuery(User.class).eq(User::getStatus, 1).eq(User::getRoleId, 1839552581620793346L)); |
|
|
|
|
long count = userService.count(Wrappers.lambdaQuery(User.class).eq(User::getStatus, 1).eq(User::getRoleId, 1839552581620793346L).eq(BaseEntity::getCreateDept,user.getDeptId())); |
|
|
|
|
map3.put("num", count); |
|
|
|
|
map3.put("num1", count); |
|
|
|
|
} |
|
|
|
|
@ -288,10 +323,17 @@ public class WorkBenchesController extends BladeController { |
|
|
|
|
*/ |
|
|
|
|
@GetMapping("/limsInspecChart") |
|
|
|
|
public R<Map<String, Object>> limsInspecChart(String startTime, String endTime, String perType) { |
|
|
|
|
BladeUser user = AuthUtil.getUser(); |
|
|
|
|
List<String> deptIds = null; |
|
|
|
|
String deptId = user.getDeptId(); |
|
|
|
|
List<Dept> deptList = deptService.list(Wrappers.lambdaQuery(Dept.class).eq(Dept::getParentId,deptId).eq(Dept::getIsDeleted,0)); |
|
|
|
|
if(CollectionUtil.isNotEmpty(deptList)){ |
|
|
|
|
deptIds = deptList.stream().map(Dept::getId).map(x->x+"").collect(Collectors.toList()); |
|
|
|
|
} |
|
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
|
List<String> xData = new ArrayList<>(); |
|
|
|
|
List<Integer> total = new ArrayList<>(); |
|
|
|
|
List<PieStatVO> list = workOrderService.selectDeptCount(startTime, endTime); |
|
|
|
|
List<PieStatVO> list = workOrderService.selectDeptCount(startTime, endTime, deptIds); |
|
|
|
|
for (PieStatVO pieStatVO : list) { |
|
|
|
|
xData.add(pieStatVO.getName()); |
|
|
|
|
total.add(pieStatVO.getValue()); |
|
|
|
|
@ -306,10 +348,15 @@ public class WorkBenchesController extends BladeController { |
|
|
|
|
*/ |
|
|
|
|
@GetMapping("/faultRatio") |
|
|
|
|
public R<Map<String, Object>> faultRatio(String startTime, String endTime, String perType) { |
|
|
|
|
BladeUser bladeUser = AuthUtil.getUser(); |
|
|
|
|
Map<String, Object> map = new HashMap<>(); |
|
|
|
|
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime); |
|
|
|
|
Long limsId = null; |
|
|
|
|
if (!bladeUser.getRoleName().contains("administrator") && !bladeUser.getRoleName().contains("admin")) { |
|
|
|
|
limsId = Long.parseLong(bladeUser.getDeptId()); |
|
|
|
|
} |
|
|
|
|
List<PieStatVO> fault = deviceService.selectTypeCount(startTime, endTime,limsId); |
|
|
|
|
map.put("fault", fault); |
|
|
|
|
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime); |
|
|
|
|
List<PieStatVO> device = deviceService.selectStatusCount(startTime, endTime,limsId); |
|
|
|
|
map.put("rate", device); |
|
|
|
|
return R.data(map); |
|
|
|
|
} |
|
|
|
|
|