首页曲线图数据修改

main
litao 3 years ago
parent 69e3816fee
commit e1456bdf93
  1. 19
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/controller/HomePageController.java
  2. 8
      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. 42
      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
* @Author ytl
* @Date 2023/2/14 0014 15:54
@ -42,22 +43,22 @@ public class HomePageController extends BladeController {
@GetMapping("/aboutMy")
@ApiOperationSupport(order = 1)
@ApiOperation(value = "我的相关", notes = "首页的“到期提醒”、“我的待办”、“今日新增”、“今日完成”的统计")
public R aboutMy() throws Exception{
public R aboutMy() throws Exception {
//当前获取登录人deptid
String deptId = AuthUtil.getDeptId();
String taskUser = WfTaskUtil.getTaskUser();
String taskGroup = WfTaskUtil.getCandidateGroup();
String tenantId = WfTaskUtil.getTenantId();
Future<Integer> expireNum = homePageService.expireNum(taskUser,taskGroup,deptId,tenantId);
Future<Integer> needDoNum = homePageService.needDoNum(taskUser,taskGroup,deptId,tenantId);
Future<Integer> todayAddNum = homePageService.todayAddNum(deptId,tenantId);
Future<Integer> todayFinishNum = homePageService.todayFinishNum(deptId,tenantId);
Future<Integer> expireNum = homePageService.expireNum(taskUser, taskGroup, deptId, tenantId);
Future<Integer> needDoNum = homePageService.needDoNum(taskUser, taskGroup, deptId, tenantId);
Future<Integer> todayAddNum = homePageService.todayAddNum(deptId, tenantId, taskUser);
Future<Integer> todayFinishNum = homePageService.todayFinishNum(deptId, tenantId, taskUser);
JSONObject result = new JSONObject();
result.put("needDoNum", needDoNum.get());
result.put("expireNum", expireNum.get());
result.put("todayAddNum" , todayAddNum.get());
result.put("todayAddNum", todayAddNum.get());
result.put("todayFinishNum", todayFinishNum.get());
return R.data(result);
@ -82,7 +83,7 @@ public class HomePageController extends BladeController {
@GetMapping("/flowListType")
@ApiOperationSupport(order = 3)
@ApiOperation(value = "种类统计,近一个月的", notes = "饼图")
public R flowListType(){
public R flowListType() {
return homePageService.flowListType();
}
@ -92,7 +93,7 @@ public class HomePageController extends BladeController {
@GetMapping("/flowStatus")
@ApiOperationSupport(order = 4)
@ApiOperation(value = "流程状态,近一个月的", notes = "饼图")
public R flowStatus(){
public R flowStatus() {
return homePageService.flowStatus();
}
@ -103,7 +104,7 @@ public class HomePageController extends BladeController {
@GetMapping("/flowTakeTime")
@ApiOperationSupport(order = 5)
@ApiOperation(value = "耗时统计", notes = "柱状图")
public R flowTakeTime(){
public R flowTakeTime() {
return homePageService.flowTakeTime();
}

@ -22,11 +22,11 @@ public interface IHomePageService {
R flowTakeTime();
Future<Integer> expireNum(String taskUser,String taskGroup,String deptId,String tenantId);
Future<Integer> expireNum(String taskUser, String taskGroup, String deptId, String tenantId);
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.nacos.shaded.com.google.gson.JsonObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import liquibase.pro.packaged.E;
import lombok.AllArgsConstructor;
import org.apache.commons.lang.StringUtils;
@ -193,9 +194,9 @@ public class HomePageServiceImpl implements IHomePageService {
// 工单记录待实施
LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(WorkOrder::getMaintenanceCompany, AuthUtil.getUserId());
wrapper.eq(WorkOrder::getMaintenanceCompany, taskUser);
wrapper.eq(WorkOrder::getIsFinish, 0);
wrapper.ge(WorkOrder::getExpectedCompletionTime, new Date());
wrapper.le(WorkOrder::getExpectedCompletionTime, new Date());
int count = workOrderService.count(wrapper);
return new AsyncResult<>(expireNum + count);
@ -221,7 +222,7 @@ public class HomePageServiceImpl implements IHomePageService {
// 工单记录待实施
LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(WorkOrder::getMaintenanceCompany, AuthUtil.getUserId());
wrapper.eq(WorkOrder::getMaintenanceCompany, taskUser);
wrapper.eq(WorkOrder::getIsFinish, 0);
int count = workOrderService.count(wrapper);
@ -230,7 +231,7 @@ public class HomePageServiceImpl implements IHomePageService {
@Async
@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);
@ -261,7 +262,7 @@ public class HomePageServiceImpl implements IHomePageService {
}
LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(WorkOrder::getMaintenanceCompany, AuthUtil.getUserId());
wrapper.eq(WorkOrder::getManagement, deptId);
wrapper.eq(WorkOrder::getIsFinish, 0);
wrapper.between(WorkOrder::getCreateTime, startTime(), endTime());
int count = workOrderService.count(wrapper);
@ -271,7 +272,7 @@ public class HomePageServiceImpl implements IHomePageService {
@Async
@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);
//4.与我相关的今日完成
@ -298,10 +299,8 @@ public class HomePageServiceImpl implements IHomePageService {
}
LambdaQueryWrapper<WorkOrder> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(WorkOrder::getMaintenanceCompany, AuthUtil.getUserId());
wrapper.eq(WorkOrder::getManagement, deptId);
wrapper.eq(WorkOrder::getIsFinish, 1);
wrapper.between(WorkOrder::getFinishTime, startTime(), endTime());
int count = workOrderService.count(wrapper);
@ -352,6 +351,7 @@ public class HomePageServiceImpl implements IHomePageService {
//当前获取登录人deptid
String deptId = AuthUtil.getDeptId();
List<Long> nowUserDeptList = Func.toLongList(deptId);
List<String> list = Func.toStrList(deptId);
//查询近一年开始的工单
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[] monthFinishNum = new int[12];
for (int j = 0; j < 12; j++) {
@ -423,6 +453,8 @@ public class HomePageServiceImpl implements IHomePageService {
return R.data(result);
}
/**
* 种类统计,近一个月的
*/

@ -105,7 +105,7 @@ public class WorkOrderController extends BladeController {
* 流程中心导出
*/
@GetMapping("/exportExcel")
public void exportExcel(WorkOrder workOrder, HttpServletResponse response) throws ParseException {
public void exportExcel(WorkOrder workOrder, HttpServletResponse 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.TableName;
import io.swagger.models.auth.In;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
@ -127,4 +128,7 @@ public class WorkOrder extends TenantEntity {
@TableField(exist = false)
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;
void exportExcel(WorkOrder workOrder, HttpServletResponse response) throws ParseException;
void exportExcel(WorkOrder workOrder, HttpServletResponse response) ;
IPage<WorkOrder> myPage(WorkOrder workOrder, Query query);

@ -92,7 +92,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
}
@Override
public IPage<WorkOrder> myToDo(WorkOrder workOrder, Query query) throws ParseException {
public IPage<WorkOrder> myToDo(WorkOrder workOrder, Query query) {
IPage<WorkOrder> page = new Page<>();
String taskUser = WfTaskUtil.getTaskUser();
@ -108,10 +108,10 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
.taskTenantId(WfTaskUtil.getTenantId())
.active();
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.list();
// List<Task> listNeedDo = taskQuery.listPage((query.getCurrent() - 1) * query.getSize(), query.getSize());
List<Task> listNeedDo = taskQuery.list();
List<WorkOrder> workOrders = new ArrayList<>();
@ -154,7 +154,11 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
if (variables.get("qiwangwanchengshijian") != null) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
order.setExpectedCompletionTime(dateFormat.parse(variables.get("qiwangwanchengshijian").toString()));
try {
order.setExpectedCompletionTime(dateFormat.parse(variables.get("qiwangwanchengshijian").toString()));
} catch (ParseException e) {
e.printStackTrace();
}
}
order.setTaskId(task.getId());
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<>();
wrapper.eq(WorkOrder::getMaintenanceCompany, AuthUtil.getUserId());
wrapper.eq(WorkOrder::getIsFinish, 0);
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> orders = iPage.getRecords();
List<WorkOrder> records = list(wrapper);
// 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())) {
@ -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());
}
// 总条数
page.setTotal(workOrders.size());
// 排序
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(0).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());
// 数据
page.setRecords(workOrders);

Loading…
Cancel
Save