diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/DataBaseController.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/DataBaseController.java index 9dc7e9b..8667a41 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/DataBaseController.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/DataBaseController.java @@ -39,6 +39,7 @@ import javax.validation.Valid; import java.io.File; import java.io.FileInputStream; import java.io.IOException; +import java.text.SimpleDateFormat; import java.util.*; @@ -175,7 +176,8 @@ public class DataBaseController extends BladeController { String fileName = UUID.randomUUID().toString() + suffix; // 3、创建一个目录对象 - String basePath = "D://用户签名//"; + SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd"); + String basePath = "D://用户签名//" + format.format(new Date()); File dir = new File(basePath); //判断当前目录是否存在 if (!dir.exists()) { @@ -185,13 +187,13 @@ public class DataBaseController extends BladeController { try { // 4、将临时文件转存到指定位置 - file.transferTo(new File(basePath + fileName)); + file.transferTo(new File(basePath + "//" + fileName)); } catch (IOException e) { e.printStackTrace(); } UploadReturn uploadReturn = new UploadReturn(); uploadReturn.setName(originalFilename); - uploadReturn.setPath(basePath + fileName); + uploadReturn.setPath(basePath + "//" + fileName); uploadReturn.setCreateUser(AuthUtil.getNickName()); uploadReturn.setCreateTime(new Date()); return R.data(uploadReturn); diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataBaseServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataBaseServiceImpl.java index da98870..2bdee77 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataBaseServiceImpl.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataBaseServiceImpl.java @@ -51,7 +51,9 @@ public class DataBaseServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); wrapper.select(DataBase::getId); wrapper.eq(DataBase::getDataBaseName, item.getDataBaseName()); - wrapper.eq(DataBase::getDataBaseType, databaseType); +// wrapper.eq(DataBase::getDataBaseType, databaseType); + wrapper.eq(DataBase::getDataBaseIp, item.getDataBaseIp()); + wrapper.eq(DataBase::getDataBasePort,item.getDataBasePort()); DataBase base = getOne(wrapper); if (base == null) { // 数据库 diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataTableServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataTableServiceImpl.java index 71fb473..89579f7 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataTableServiceImpl.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataTableServiceImpl.java @@ -25,7 +25,7 @@ public class DataTableServiceImpl extends BaseServiceImpl pageVO(IPage page, DataBase dataBase) { page.setTotal(dataTableMapper.dataCount(dataBase)); - return page.setRecords(dataTableMapper.page(dataBase, page.getCurrent(), page.getSize())); + return page.setRecords(dataTableMapper.page(dataBase, (page.getCurrent() - 1) * page.getSize(), page.getSize())); } } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/controller/ProjectInfoController.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/controller/ProjectInfoController.java index 126bde7..b8f8a20 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/controller/ProjectInfoController.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/controller/ProjectInfoController.java @@ -144,7 +144,8 @@ public class ProjectInfoController extends BladeController { // 系统名称数据 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.select("DISTINCT project_info_id"); - queryWrapper.eq("project_info_id", id); +// queryWrapper.eq("project_info_id", id); + queryWrapper.eq("maintenance_dept_id", id); List moduleInfoList = moduleInfoService.list(queryWrapper); if (CollectionUtils.isNotEmpty(moduleInfoList)) { for (ModuleInfo moduleInfo : moduleInfoList) { diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/service/impl/ModuleInfoServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/service/impl/ModuleInfoServiceImpl.java index f3e5a46..5f30e36 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/service/impl/ModuleInfoServiceImpl.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/service/impl/ModuleInfoServiceImpl.java @@ -38,33 +38,45 @@ public class ModuleInfoServiceImpl extends BaseServiceImpl wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(ProjectInfo::getProjectName, moduleInfo.getProjectName()); - List list = projectInfoService.list(wrapper); - if (CollectionUtils.isEmpty(list)) { - ProjectInfo info = new ProjectInfo(); - info.setProjectName(moduleInfo.getProjectName()); - projectInfoService.save(info); - moduleInfo.setProjectInfoId(info.getId()); - } else { - try { - throw new Exception("名称重复!"); - } catch (Exception e) { - e.printStackTrace(); - } - } +// LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); +// wrapper.eq(ProjectInfo::getProjectName, moduleInfo.getProjectName()); +// List list = projectInfoService.list(wrapper); +// if (CollectionUtils.isEmpty(list)) { +// ProjectInfo info = new ProjectInfo(); +// info.setProjectName(moduleInfo.getProjectName()); +// projectInfoService.save(info); +// moduleInfo.setProjectInfoId(info.getId()); +// } else { +// try { +// throw new Exception("名称重复!"); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// } + ProjectInfo info = new ProjectInfo(); + info.setProjectName(moduleInfo.getProjectName()); + projectInfoService.save(info); + moduleInfo.setProjectInfoId(info.getId()); } else { - moduleInfo.setProjectInfoId(Long.parseLong(moduleInfo.getProjectName())); + moduleInfo.setProjectInfoId(projectInfo.getId()); } List infoList = new ArrayList<>(); List nameList = moduleInfo.getModuleNameList(); if (CollectionUtils.isNotEmpty(nameList)) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); for (ModuleInfo name : nameList) { - ModuleInfo info = BeanUtil.copy(moduleInfo, ModuleInfo.class); - info.setModuleName(name.getModuleName()); - infoList.add(info); + wrapper.eq(ModuleInfo::getProjectInfoId, moduleInfo.getProjectInfoId()); + wrapper.eq(ModuleInfo::getModuleName, name.getModuleName()); + int count = count(wrapper); + if (count == 0) { + ModuleInfo info = BeanUtil.copy(moduleInfo, ModuleInfo.class); + info.setModuleName(name.getModuleName()); + infoList.add(info); + } + wrapper.clear(); } } + return saveBatch(infoList); } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/controller/TaskInfoController.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/controller/TaskInfoController.java index 8f53ed4..f6f8b61 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/controller/TaskInfoController.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/controller/TaskInfoController.java @@ -1,6 +1,7 @@ package org.springblade.plugin.operation.task.controller; +import com.alibaba.nacos.common.utils.CollectionUtils; import com.alibaba.nacos.common.utils.StringUtils; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -42,115 +43,131 @@ import java.util.List; @Api(value = "接口权限", tags = "接口权限") public class TaskInfoController extends BladeController { - private final ITaskInfoService taskInfoService; - - /** - * 详情 - */ - @GetMapping("/detail") - @ApiOperationSupport(order = 1) - @ApiOperation(value = "详情", notes = "传入dataScope") - public R detail(TaskInfo taskInfo) { - TaskInfo detail = taskInfoService.getOne(Condition.getQueryWrapper(taskInfo)); - return R.data(detail); - } - - /** - * 分页 - */ - @GetMapping("/list") - @ApiOperationSupport(order = 2) - @ApiOperation(value = "分页", notes = "传入dataScope") - public R> list(TaskInfo taskInfo, Query query) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(taskInfo); - // 创建人模糊查 - if (StringUtils.isNotBlank(taskInfo.getCreateUserName())) { - wrapper.like(TaskInfo::getCreateUserName, taskInfo.getCreateUserName()); - } - // 创建时间 - if (taskInfo.getStartTime() != null && taskInfo.getEndTime() != null) { - wrapper.between(TaskInfo::getCreateTime, taskInfo.getStartTime(), taskInfo.getEndTime()); - } - // 倒序 - wrapper.orderByDesc(TaskInfo::getCreateTime); - IPage pages = taskInfoService.page(Condition.getPage(query), wrapper); - return R.data(pages); - } - - /** - * 新增 - */ - @ApiLog("数据运维-新增任务种类") - @PostMapping("/save") - @ApiOperationSupport(order = 3) - @ApiOperation(value = "新增", notes = "传入dataScope") - public R save(@Valid @RequestBody TaskInfo taskInfo) { - taskInfo.setCreateUserName(AuthUtil.getNickName()); - return R.status(taskInfoService.save(taskInfo)); - } - - /** - * 修改 - */ - @ApiLog("数据运维-修改任务种类") - @PostMapping("/update") - @ApiOperationSupport(order = 4) - @ApiOperation(value = "修改", notes = "传入dataScope") - public R update(@Valid @RequestBody TaskInfo taskInfo) { - return R.status(taskInfoService.updateById(taskInfo)); - } - - /** - * 新增或修改 - */ - @PostMapping("/submit") - @ApiOperationSupport(order = 5) - @ApiOperation(value = "新增或修改", notes = "传入dataScope") - public R submit(@Valid @RequestBody TaskInfo taskInfo) { - return R.status(taskInfoService.saveOrUpdate(taskInfo)); - } - - /** - * 删除 - */ - @ApiLog("数据运维-删除任务种类") - @PostMapping("/remove") - @ApiOperationSupport(order = 6) - @ApiOperation(value = "逻辑删除", notes = "传入ids") - public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { - return R.status(taskInfoService.deleteLogic(Func.toLongList(ids))); - } - - /** - * 任务种类去重返回 - */ - @GetMapping("/taskTypeData") - public R taskTypeData(String parentId) { - QueryWrapper wrapper = new QueryWrapper<>(); - if (StringUtils.isNotBlank(parentId)) { - wrapper.eq("task_parent_id", parentId); + private final ITaskInfoService taskInfoService; + + /** + * 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "详情", notes = "传入dataScope") + public R detail(TaskInfo taskInfo) { + TaskInfo detail = taskInfoService.getOne(Condition.getQueryWrapper(taskInfo)); + return R.data(detail); + } + + /** + * 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "分页", notes = "传入dataScope") + public R> list(TaskInfo taskInfo, Query query) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(taskInfo); + // 创建人模糊查 + if (StringUtils.isNotBlank(taskInfo.getCreateUserName())) { + wrapper.like(TaskInfo::getCreateUserName, taskInfo.getCreateUserName()); + } + // 创建时间 + if (taskInfo.getStartTime() != null && taskInfo.getEndTime() != null) { + wrapper.between(TaskInfo::getCreateTime, taskInfo.getStartTime(), taskInfo.getEndTime()); + } + // 倒序 + wrapper.orderByDesc(TaskInfo::getCreateTime); + IPage pages = taskInfoService.page(Condition.getPage(query), wrapper); + return R.data(pages); + } + + /** + * 新增 + */ + @ApiLog("数据运维-新增任务种类") + @PostMapping("/save") + @ApiOperationSupport(order = 3) + @ApiOperation(value = "新增", notes = "传入dataScope") + public R save(@Valid @RequestBody TaskInfo taskInfo) throws Exception { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TaskInfo::getTaskTypeName, taskInfo.getTaskTypeName()); + wrapper.eq(TaskInfo::getTaskParentId, taskInfo.getTaskParentId()); + int count = taskInfoService.count(wrapper); + if (count > 0) { + throw new Exception("数据重复!"); } else { - wrapper.select("DISTINCT task_type_name"); + taskInfo.setCreateUserName(AuthUtil.getNickName()); + return R.status(taskInfoService.save(taskInfo)); } - return R.data(taskInfoService.list(wrapper)); - } - - /** - * 任务等级 - */ - @GetMapping("/taskLevel") - public R taskParent() { - List taskParent = DictBizCache.getList("task_level"); - if ("运维公司".equals(AuthUtil.getUser().getRoleName())) { - return R.data(taskParent); - } - List taskParents = new ArrayList<>(); - for (DictBiz dictBiz : taskParent) { - if (!"3".equals(dictBiz.getDictKey())) { - taskParents.add(dictBiz); - } + } + + /** + * 修改 + */ + @ApiLog("数据运维-修改任务种类") + @PostMapping("/update") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "修改", notes = "传入dataScope") + public R update(@Valid @RequestBody TaskInfo taskInfo) throws Exception { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(TaskInfo::getTaskTypeName, taskInfo.getTaskTypeName()); + wrapper.eq(TaskInfo::getTaskParentId, taskInfo.getTaskParentId()); + TaskInfo info = taskInfoService.getOne(wrapper); + if (info != null && !taskInfo.getId().equals(info.getId())) { + throw new Exception("数据重复!"); + } else { + return R.status(taskInfoService.updateById(taskInfo)); } - return R.data(taskParents); - } + } + + /** + * 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 5) + @ApiOperation(value = "新增或修改", notes = "传入dataScope") + public R submit(@Valid @RequestBody TaskInfo taskInfo) { + return R.status(taskInfoService.saveOrUpdate(taskInfo)); + } + + /** + * 删除 + */ + @ApiLog("数据运维-删除任务种类") + @PostMapping("/remove") + @ApiOperationSupport(order = 6) + @ApiOperation(value = "逻辑删除", notes = "传入ids") + public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { + return R.status(taskInfoService.deleteLogic(Func.toLongList(ids))); + } + + /** + * 任务种类去重返回 + */ + @GetMapping("/taskTypeData") + public R taskTypeData(String parentId) { + QueryWrapper wrapper = new QueryWrapper<>(); + if (StringUtils.isNotBlank(parentId)) { + wrapper.eq("task_parent_id", parentId); + } else { + wrapper.select("DISTINCT task_type_name"); + } + return R.data(taskInfoService.list(wrapper)); + } + + /** + * 任务等级 + */ + @GetMapping("/taskLevel") + public R taskParent() { + List taskParent = DictBizCache.getList("task_level"); + if ("运维公司".equals(AuthUtil.getUser().getRoleName())) { + return R.data(taskParent); + } + List taskParents = new ArrayList<>(); + for (DictBiz dictBiz : taskParent) { + if (!"3".equals(dictBiz.getDictKey())) { + taskParents.add(dictBiz); + } + } + return R.data(taskParents); + } } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/controller/WorkOrderController.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/controller/WorkOrderController.java index d73b874..0bcd87e 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/controller/WorkOrderController.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/controller/WorkOrderController.java @@ -30,6 +30,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletResponse; +import java.text.ParseException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -108,7 +109,7 @@ public class WorkOrderController extends BladeController { * excel导出 */ @GetMapping("/exportExcel") - public void exportExcel(WorkOrder workOrder, HttpServletResponse response) { + public void exportExcel(WorkOrder workOrder, HttpServletResponse response) throws ParseException { workOrderService.exportExcel(workOrder, response); } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/excel/WorkOrderExcel.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/excel/WorkOrderExcel.java index 262c63b..0858d49 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/excel/WorkOrderExcel.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/excel/WorkOrderExcel.java @@ -11,14 +11,14 @@ public class WorkOrderExcel implements Serializable { private static final long serialVersionUID = 1L; - @ColumnWidth(20) - @ExcelProperty("任务种类") - private String taskType; - @ColumnWidth(20) @ExcelProperty("任务父类") private String taskParent; + @ColumnWidth(20) + @ExcelProperty("任务种类") + private String taskType; + @ColumnWidth(20) @ExcelProperty("操作模块") private String operationModule; diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/IWorkOrderService.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/IWorkOrderService.java index faa2ec8..42884ad 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/IWorkOrderService.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/IWorkOrderService.java @@ -8,6 +8,7 @@ import org.springblade.plugin.operation.workorder.entity.WorkOrder; import org.springblade.plugin.workflow.process.model.WfProcess; import javax.servlet.http.HttpServletResponse; +import java.text.ParseException; import java.util.Map; /** @@ -21,5 +22,5 @@ public interface IWorkOrderService { IPage myToDo(WorkOrder workOrder, Query query); - void exportExcel(WorkOrder workOrder, HttpServletResponse response); + void exportExcel(WorkOrder workOrder, HttpServletResponse response) throws ParseException; } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/impl/WorkOrderServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/impl/WorkOrderServiceImpl.java index eef9924..35aac1d 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/impl/WorkOrderServiceImpl.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/impl/WorkOrderServiceImpl.java @@ -12,6 +12,7 @@ import org.flowable.engine.history.HistoricProcessInstance; import org.flowable.engine.history.HistoricProcessInstanceQuery; import org.flowable.task.api.Task; import org.flowable.task.api.TaskQuery; +import org.flowable.task.api.history.HistoricTaskInstance; import org.flowable.task.api.history.HistoricTaskInstanceQuery; import org.flowable.variable.api.history.HistoricVariableInstance; import org.springblade.core.excel.util.ExcelUtil; @@ -59,6 +60,8 @@ public class WorkOrderServiceImpl implements IWorkOrderService { List> workOrders = getList(workOrder); + page.setTotal(workOrders.size()); + // 分页 workOrders = workOrders.stream().skip((query.getCurrent() - 1) * query.getSize()).limit(query.getSize()).collect(Collectors.toList()); @@ -68,9 +71,9 @@ public class WorkOrderServiceImpl implements IWorkOrderService { // 数据 page.setRecords(workOrders); // 总条数 - page.setTotal(historyService.createHistoricProcessInstanceQuery() - .processInstanceTenantId(WfTaskUtil.getTenantId()) - .orderByProcessInstanceDuration().desc().list().size()); +// page.setTotal(historyService.createHistoricProcessInstanceQuery() +// .processInstanceTenantId(WfTaskUtil.getTenantId()) +// .orderByProcessInstanceDuration().desc().list().size()); // 当前页数 page.setCurrent(query.getCurrent()); // 当前条数 @@ -137,7 +140,10 @@ public class WorkOrderServiceImpl implements IWorkOrderService { } order.setCreateTime(historicProcessInstance.getStartTime()); order.setEndTime(historicProcessInstance.getEndTime()); - order.setExpectedCompletionTime(variables.get("qiwangwanchengshijian").toString()); + + if (variables.get("qiwangwanchengshijian") != null) { + order.setExpectedCompletionTime(variables.get("qiwangwanchengshijian").toString()); + } order.setTaskId(task.getId()); order.setProcessInstanceId(task.getProcessInstanceId()); workOrders.add(order); @@ -183,6 +189,8 @@ public class WorkOrderServiceImpl implements IWorkOrderService { 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().skip((query.getCurrent() - 1) * query.getSize()).limit(query.getSize()).collect(Collectors.toList()); @@ -193,11 +201,11 @@ public class WorkOrderServiceImpl implements IWorkOrderService { page.setRecords(workOrders); // 总条数 - page.setTotal(taskService.createTaskQuery() - .orderByTaskCreateTime() - .desc() - .taskTenantId(WfTaskUtil.getTenantId()) - .active().taskCandidateOrAssigned(taskUser).count()); +// page.setTotal(taskService.createTaskQuery() +// .orderByTaskCreateTime() +// .desc() +// .taskTenantId(WfTaskUtil.getTenantId()) +// .active().taskCandidateOrAssigned(taskUser).count()); // 当前页数 page.setCurrent(query.getCurrent()); @@ -208,10 +216,11 @@ public class WorkOrderServiceImpl implements IWorkOrderService { } @Override - public void exportExcel(WorkOrder workOrder, HttpServletResponse response) { + public void exportExcel(WorkOrder workOrder, HttpServletResponse response) throws ParseException { List excels = new ArrayList<>(); List> workOrders = new ArrayList<>(); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if (StringUtils.isNotBlank(workOrder.getTaskType()) || StringUtils.isNotBlank(workOrder.getTaskParent()) || StringUtils.isNotBlank(workOrder.getCurrentResponsiblePerson()) || @@ -224,7 +233,7 @@ public class WorkOrderServiceImpl implements IWorkOrderService { workOrders = getList(workOrder); } else { - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Calendar c = Calendar.getInstance(); //过去三个月 c.setTime(new Date()); @@ -306,10 +315,10 @@ public class WorkOrderServiceImpl implements IWorkOrderService { excel.setCompany(order.get("yunweigongsi").toString()); excel.setSponsor(order.get("startUserId").toString()); excel.setApprovalStatus(order.get("status").toString()); - excel.setCreateTime(order.get("startTime").toString()); + excel.setCreateTime(format.format(order.get("startTime"))); if (order.get("endTime") != null) { - excel.setEndTime(order.get("endTime").toString()); + excel.setEndTime(format.format(order.get("endTime"))); } else { excel.setEndTime("未结束"); } @@ -359,7 +368,6 @@ public class WorkOrderServiceImpl implements IWorkOrderService { } else { varMap.put("currentResponsiblePerson", "--"); } - // 审批状态 if (task.getName().contains("审批")) { varMap.put("status", "审批中"); @@ -373,12 +381,31 @@ public class WorkOrderServiceImpl implements IWorkOrderService { varMap.put("startTime", historicProcessInstance.getStartTime()); varMap.put("endTime", historicProcessInstance.getEndTime()); varMap.put("startUserId", userClient.userInfoById(Long.parseLong(historicProcessInstance.getStartUserId())).getData().getRealName()); + varMap.put("startDeptId", userClient.userInfoById(Long.parseLong(historicProcessInstance.getStartUserId())).getData().getDeptId()); varMap.put("processInstanceId", historicProcessInstance.getId()); - varMap.put("taskId", ""); + + List taskInstanceList = historyService.createHistoricTaskInstanceQuery().processInstanceId(historicProcessInstance.getId()).orderByTaskCreateTime().desc().list(); + + varMap.put("taskId", taskInstanceList.get(0).getId()); workOrders.add(varMap); } } + + // 只看本部门数据权限 + List> workOrderList = new ArrayList<>(); + List deptIds = Func.toStrList(AuthUtil.getDeptId()); + workOrders.forEach(order -> { + List deptId = Func.toStrList(order.get("startDeptId").toString()); + for (String s : deptId) { + if (deptIds.contains(s)) { + workOrderList.add(order); + } + } + }); + workOrders = workOrderList; + + // 任务父类 if (StringUtils.isNotBlank(workOrder.getTaskParent())) { workOrders = workOrders.stream().filter(s -> s.get("renwufulei").equals(workOrder.getTaskParent())).collect(Collectors.toList());