首页曲线图数据修改

main
litao 3 years ago
parent 69e3816fee
commit e1456bdf93
  1. 5
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/controller/HomePageController.java
  2. 4
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/IHomePageService.java
  3. 50
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/impl/HomePageServiceImpl.java
  4. 2
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/controller/WorkOrderController.java
  5. 4
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/entity/WorkOrder.java
  6. 2
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/IWorkOrderService.java
  7. 40
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/impl/WorkOrderServiceImpl.java

@ -19,6 +19,7 @@ import java.util.concurrent.Future;
/** /**
* 首页 * 首页
*
* @Description * @Description
* @Author ytl * @Author ytl
* @Date 2023/2/14 0014 15:54 * @Date 2023/2/14 0014 15:54
@ -51,8 +52,8 @@ public class HomePageController extends BladeController {
Future<Integer> expireNum = homePageService.expireNum(taskUser, taskGroup, deptId, tenantId); Future<Integer> expireNum = homePageService.expireNum(taskUser, taskGroup, deptId, tenantId);
Future<Integer> needDoNum = homePageService.needDoNum(taskUser, taskGroup, deptId, tenantId); Future<Integer> needDoNum = homePageService.needDoNum(taskUser, taskGroup, deptId, tenantId);
Future<Integer> todayAddNum = homePageService.todayAddNum(deptId,tenantId); Future<Integer> todayAddNum = homePageService.todayAddNum(deptId, tenantId, taskUser);
Future<Integer> todayFinishNum = homePageService.todayFinishNum(deptId,tenantId); Future<Integer> todayFinishNum = homePageService.todayFinishNum(deptId, tenantId, taskUser);
JSONObject result = new JSONObject(); JSONObject result = new JSONObject();
result.put("needDoNum", needDoNum.get()); result.put("needDoNum", needDoNum.get());

@ -26,7 +26,7 @@ public interface IHomePageService {
Future<Integer> needDoNum(String taskUser, String taskGroup, String deptId, String tenantId); Future<Integer> needDoNum(String taskUser, String taskGroup, String deptId, String tenantId);
Future<Integer> todayAddNum(String deptId,String tenantId); Future<Integer> todayAddNum(String deptId, String tenantId, String taskUser);
Future<Integer> todayFinishNum(String deptId,String tenantId); Future<Integer> todayFinishNum(String deptId, String tenantId, String taskUser);
} }

@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.nacos.shaded.com.google.gson.JsonObject; import com.alibaba.nacos.shaded.com.google.gson.JsonObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import liquibase.pro.packaged.E; import liquibase.pro.packaged.E;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
@ -193,9 +194,9 @@ public class HomePageServiceImpl implements IHomePageService {
// 工单记录待实施 // 工单记录待实施
LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(WorkOrder::getMaintenanceCompany, AuthUtil.getUserId()); wrapper.eq(WorkOrder::getMaintenanceCompany, taskUser);
wrapper.eq(WorkOrder::getIsFinish, 0); wrapper.eq(WorkOrder::getIsFinish, 0);
wrapper.ge(WorkOrder::getExpectedCompletionTime, new Date()); wrapper.le(WorkOrder::getExpectedCompletionTime, new Date());
int count = workOrderService.count(wrapper); int count = workOrderService.count(wrapper);
return new AsyncResult<>(expireNum + count); return new AsyncResult<>(expireNum + count);
@ -221,7 +222,7 @@ public class HomePageServiceImpl implements IHomePageService {
// 工单记录待实施 // 工单记录待实施
LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(WorkOrder::getMaintenanceCompany, AuthUtil.getUserId()); wrapper.eq(WorkOrder::getMaintenanceCompany, taskUser);
wrapper.eq(WorkOrder::getIsFinish, 0); wrapper.eq(WorkOrder::getIsFinish, 0);
int count = workOrderService.count(wrapper); int count = workOrderService.count(wrapper);
@ -230,7 +231,7 @@ public class HomePageServiceImpl implements IHomePageService {
@Async @Async
@Override @Override
public Future<Integer> todayAddNum(String deptId, String tenantId) { public Future<Integer> todayAddNum(String deptId, String tenantId, String taskUser) {
List<Long> nowUserDepts = Func.toLongList(deptId); List<Long> nowUserDepts = Func.toLongList(deptId);
@ -261,7 +262,7 @@ public class HomePageServiceImpl implements IHomePageService {
} }
LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(WorkOrder::getMaintenanceCompany, AuthUtil.getUserId()); wrapper.eq(WorkOrder::getManagement, deptId);
wrapper.eq(WorkOrder::getIsFinish, 0); wrapper.eq(WorkOrder::getIsFinish, 0);
wrapper.between(WorkOrder::getCreateTime, startTime(), endTime()); wrapper.between(WorkOrder::getCreateTime, startTime(), endTime());
int count = workOrderService.count(wrapper); int count = workOrderService.count(wrapper);
@ -271,7 +272,7 @@ public class HomePageServiceImpl implements IHomePageService {
@Async @Async
@Override @Override
public Future<Integer> todayFinishNum(String deptId, String tenantId) { public Future<Integer> todayFinishNum(String deptId, String tenantId, String taskUser) {
List<Long> nowUserDepts = Func.toLongList(deptId); List<Long> nowUserDepts = Func.toLongList(deptId);
//4.与我相关的今日完成 //4.与我相关的今日完成
@ -298,10 +299,8 @@ public class HomePageServiceImpl implements IHomePageService {
} }
LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(WorkOrder::getMaintenanceCompany, AuthUtil.getUserId()); wrapper.eq(WorkOrder::getManagement, deptId);
wrapper.eq(WorkOrder::getIsFinish, 1); wrapper.eq(WorkOrder::getIsFinish, 1);
wrapper.between(WorkOrder::getFinishTime, startTime(), endTime()); wrapper.between(WorkOrder::getFinishTime, startTime(), endTime());
int count = workOrderService.count(wrapper); int count = workOrderService.count(wrapper);
@ -352,6 +351,7 @@ public class HomePageServiceImpl implements IHomePageService {
//当前获取登录人deptid //当前获取登录人deptid
String deptId = AuthUtil.getDeptId(); String deptId = AuthUtil.getDeptId();
List<Long> nowUserDeptList = Func.toLongList(deptId); List<Long> nowUserDeptList = Func.toLongList(deptId);
List<String> list = Func.toStrList(deptId);
//查询近一年开始的工单 //查询近一年开始的工单
List<HistoricProcessInstance> historicProcessInstanceStartList = historyService.createHistoricProcessInstanceQuery().processInstanceTenantId(WfTaskUtil.getTenantId()) List<HistoricProcessInstance> historicProcessInstanceStartList = historyService.createHistoricProcessInstanceQuery().processInstanceTenantId(WfTaskUtil.getTenantId())
@ -409,6 +409,36 @@ public class HomePageServiceImpl implements IHomePageService {
} }
}); });
LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>();
wrapper.in(WorkOrder::getManagement, list);
List<WorkOrder> orders = workOrderService.list(wrapper);
if (CollectionUtils.isNotEmpty(orders)) {
orders.forEach(workOrder -> {
Date startTime = workOrder.getCreateTime();
String format = DateUtil.format(startTime, "yyyy-MM");
if (mapMonthAdd.containsKey(format)) {
int num = mapMonthAdd.get(format);
mapMonthAdd.put(format, num + 1);
}
});
}
wrapper.clear();
wrapper.eq(WorkOrder::getIsFinish, 1);
wrapper.in(WorkOrder::getManagement, list);
List<WorkOrder> workOrders = workOrderService.list(wrapper);
if (CollectionUtils.isNotEmpty(workOrders)) {
workOrders.forEach(workOrder -> {
Date startTime = workOrder.getFinishTime();
String format = DateUtil.format(startTime, "yyyy-MM");
if (mapMonthFinish.containsKey(format)) {
int num = mapMonthFinish.get(format);
mapMonthFinish.put(format, num + 1);
}
});
}
int[] monthAddNum = new int[12]; int[] monthAddNum = new int[12];
int[] monthFinishNum = new int[12]; int[] monthFinishNum = new int[12];
for (int j = 0; j < 12; j++) { for (int j = 0; j < 12; j++) {
@ -423,6 +453,8 @@ public class HomePageServiceImpl implements IHomePageService {
return R.data(result); return R.data(result);
} }
/** /**
* 种类统计,近一个月的 * 种类统计,近一个月的
*/ */

@ -105,7 +105,7 @@ public class WorkOrderController extends BladeController {
* 流程中心导出 * 流程中心导出
*/ */
@GetMapping("/exportExcel") @GetMapping("/exportExcel")
public void exportExcel(WorkOrder workOrder, HttpServletResponse response) throws ParseException { public void exportExcel(WorkOrder workOrder, HttpServletResponse response){
workOrderService.exportExcel(workOrder, response); workOrderService.exportExcel(workOrder, response);
} }

@ -2,6 +2,7 @@ package org.springblade.plugin.operation.workorder.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.models.auth.In;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity; import org.springblade.core.tenant.mp.TenantEntity;
@ -127,4 +128,7 @@ public class WorkOrder extends TenantEntity {
@TableField(exist = false) @TableField(exist = false)
private List<Map> uploadRecords; private List<Map> uploadRecords;
@TableField(exist = false)
private Integer isBecomeDue;
} }

@ -25,7 +25,7 @@ public interface IWorkOrderService extends BaseService<WorkOrder> {
IPage<WorkOrder> myToDo(WorkOrder workOrder, Query query) throws ParseException; IPage<WorkOrder> myToDo(WorkOrder workOrder, Query query) throws ParseException;
void exportExcel(WorkOrder workOrder, HttpServletResponse response) throws ParseException; void exportExcel(WorkOrder workOrder, HttpServletResponse response) ;
IPage<WorkOrder> myPage(WorkOrder workOrder, Query query); IPage<WorkOrder> myPage(WorkOrder workOrder, Query query);

@ -92,7 +92,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
} }
@Override @Override
public IPage<WorkOrder> myToDo(WorkOrder workOrder, Query query) throws ParseException { public IPage<WorkOrder> myToDo(WorkOrder workOrder, Query query) {
IPage<WorkOrder> page = new Page<>(); IPage<WorkOrder> page = new Page<>();
String taskUser = WfTaskUtil.getTaskUser(); String taskUser = WfTaskUtil.getTaskUser();
@ -108,10 +108,10 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
.taskTenantId(WfTaskUtil.getTenantId()) .taskTenantId(WfTaskUtil.getTenantId())
.active(); .active();
taskQuery.taskCandidateOrAssigned(taskUser); taskQuery.taskCandidateOrAssigned(taskUser);
long count = taskQuery.count(); // long count = taskQuery.count();
List<Task> listNeedDo = taskQuery.listPage((query.getCurrent() - 1) * query.getSize(), query.getSize()); // List<Task> listNeedDo = taskQuery.listPage((query.getCurrent() - 1) * query.getSize(), query.getSize());
// List<Task> listNeedDo = taskQuery.list(); List<Task> listNeedDo = taskQuery.list();
List<WorkOrder> workOrders = new ArrayList<>(); List<WorkOrder> workOrders = new ArrayList<>();
@ -154,7 +154,11 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
if (variables.get("qiwangwanchengshijian") != null) { if (variables.get("qiwangwanchengshijian") != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
order.setExpectedCompletionTime(dateFormat.parse(variables.get("qiwangwanchengshijian").toString())); order.setExpectedCompletionTime(dateFormat.parse(variables.get("qiwangwanchengshijian").toString()));
} catch (ParseException e) {
e.printStackTrace();
}
} }
order.setTaskId(task.getId()); order.setTaskId(task.getId());
order.setProcessInstanceId(task.getProcessInstanceId()); order.setProcessInstanceId(task.getProcessInstanceId());
@ -163,22 +167,27 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
} }
// 工单记录 // 工单记录
Page<WorkOrder> objectPage = new Page<>(query.getCurrent() - (count / query.getSize()), query.getSize()); // Page<WorkOrder> objectPage = new Page<>(query.getCurrent() - (count / query.getSize()), query.getSize());
LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(WorkOrder::getMaintenanceCompany, AuthUtil.getUserId()); wrapper.eq(WorkOrder::getMaintenanceCompany, AuthUtil.getUserId());
wrapper.eq(WorkOrder::getIsFinish, 0); wrapper.eq(WorkOrder::getIsFinish, 0);
wrapper.orderByDesc(WorkOrder::getCreateTime); wrapper.orderByDesc(WorkOrder::getCreateTime);
IPage<WorkOrder> iPage = page(objectPage, wrapper); if (workOrder.getIsBecomeDue() == 1) {
wrapper.le(WorkOrder::getExpectedCompletionTime, new Date());
}
// IPage<WorkOrder> iPage = page(objectPage, wrapper);
// 总条数
page.setTotal(count + iPage.getTotal());
// List<WorkOrder> records = list(wrapper); List<WorkOrder> records = list(wrapper);
List<WorkOrder> orders = iPage.getRecords(); // List<WorkOrder> orders = iPage.getRecords();
setAllName(orders); setAllName(records);
workOrders.addAll(orders); workOrders.addAll(records);
if (workOrder.getIsBecomeDue() == 1) {
workOrders = workOrders.stream().filter(s -> new Date().after(s.getExpectedCompletionTime())).collect(Collectors.toList());
}
// 任务父类 // 任务父类
if (StringUtils.isNotBlank(workOrder.getTaskParentName())) { if (StringUtils.isNotBlank(workOrder.getTaskParentName())) {
@ -215,12 +224,15 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
workOrders = workOrders.stream().filter(s -> (s.getCreateTime().after(workOrder.getStartTime())) && (s.getCreateTime().before(workOrder.getEndTime()))).collect(Collectors.toList()); workOrders = workOrders.stream().filter(s -> (s.getCreateTime().after(workOrder.getStartTime())) && (s.getCreateTime().before(workOrder.getEndTime()))).collect(Collectors.toList());
} }
// 总条数
page.setTotal(workOrders.size());
// 排序 // 排序
workOrders = workOrders.stream().sorted(Comparator.comparing(WorkOrder::getCreateTime).reversed()).collect(Collectors.toList()); workOrders = workOrders.stream().sorted(Comparator.comparing(WorkOrder::getCreateTime).reversed()).collect(Collectors.toList());
// 分页 // 分页
// workOrders = workOrders.stream().skip((query.getCurrent() - 1) * query.getSize()).limit(query.getSize()).collect(Collectors.toList()); workOrders = workOrders.stream().skip((query.getCurrent() - 1) * query.getSize()).limit(query.getSize()).collect(Collectors.toList());
workOrders = workOrders.stream().skip(0).limit(query.getSize()).collect(Collectors.toList()); // workOrders = workOrders.stream().skip(0).limit(query.getSize()).collect(Collectors.toList());
// 数据 // 数据
page.setRecords(workOrders); page.setRecords(workOrders);

Loading…
Cancel
Save