数据运维相关接口

main
litao 3 years ago
parent 137a4a68c4
commit 075abef752
  1. 8
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/DataBaseController.java
  2. 4
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataBaseServiceImpl.java
  3. 2
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataTableServiceImpl.java
  4. 3
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/controller/ProjectInfoController.java
  5. 36
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/service/impl/ModuleInfoServiceImpl.java
  6. 21
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/controller/TaskInfoController.java
  7. 3
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/controller/WorkOrderController.java
  8. 8
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/excel/WorkOrderExcel.java
  9. 3
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/IWorkOrderService.java
  10. 55
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/impl/WorkOrderServiceImpl.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);

@ -51,7 +51,9 @@ public class DataBaseServiceImpl extends BaseServiceImpl<DataBaseMapper, DataBas
LambdaQueryWrapper<DataBase> 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) {
// 数据库

@ -25,7 +25,7 @@ public class DataTableServiceImpl extends BaseServiceImpl<DataTableMapper, DataT
@Override
public IPage<DataBaseVO> pageVO(IPage<DataBaseVO> 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()));
}
}

@ -144,7 +144,8 @@ public class ProjectInfoController extends BladeController {
// 系统名称数据
QueryWrapper<ModuleInfo> 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<ModuleInfo> moduleInfoList = moduleInfoService.list(queryWrapper);
if (CollectionUtils.isNotEmpty(moduleInfoList)) {
for (ModuleInfo moduleInfo : moduleInfoList) {

@ -38,33 +38,45 @@ public class ModuleInfoServiceImpl extends BaseServiceImpl<ModuleInfoMapper, Mod
public boolean saveProAndMod(ModuleInfo moduleInfo) {
ProjectInfo projectInfo = projectInfoService.getById(moduleInfo.getProjectName());
if (projectInfo == null) {
LambdaQueryWrapper<ProjectInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(ProjectInfo::getProjectName, moduleInfo.getProjectName());
List<ProjectInfo> list = projectInfoService.list(wrapper);
if (CollectionUtils.isEmpty(list)) {
// LambdaQueryWrapper<ProjectInfo> wrapper = new LambdaQueryWrapper<>();
// wrapper.eq(ProjectInfo::getProjectName, moduleInfo.getProjectName());
// List<ProjectInfo> 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 {
try {
throw new Exception("名称重复!");
} catch (Exception e) {
e.printStackTrace();
}
}
} else {
moduleInfo.setProjectInfoId(Long.parseLong(moduleInfo.getProjectName()));
moduleInfo.setProjectInfoId(projectInfo.getId());
}
List<ModuleInfo> infoList = new ArrayList<>();
List<ModuleInfo> nameList = moduleInfo.getModuleNameList();
if (CollectionUtils.isNotEmpty(nameList)) {
LambdaQueryWrapper<ModuleInfo> wrapper = new LambdaQueryWrapper<>();
for (ModuleInfo name : nameList) {
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);
}

@ -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;
@ -84,10 +85,18 @@ public class TaskInfoController extends BladeController {
@PostMapping("/save")
@ApiOperationSupport(order = 3)
@ApiOperation(value = "新增", notes = "传入dataScope")
public R save(@Valid @RequestBody TaskInfo taskInfo) {
public R save(@Valid @RequestBody TaskInfo taskInfo) throws Exception {
LambdaQueryWrapper<TaskInfo> 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 {
taskInfo.setCreateUserName(AuthUtil.getNickName());
return R.status(taskInfoService.save(taskInfo));
}
}
/**
* 修改
@ -96,9 +105,17 @@ public class TaskInfoController extends BladeController {
@PostMapping("/update")
@ApiOperationSupport(order = 4)
@ApiOperation(value = "修改", notes = "传入dataScope")
public R update(@Valid @RequestBody TaskInfo taskInfo) {
public R update(@Valid @RequestBody TaskInfo taskInfo) throws Exception {
LambdaQueryWrapper<TaskInfo> 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));
}
}
/**
* 新增或修改

@ -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);
}

@ -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;

@ -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<WorkOrder> myToDo(WorkOrder workOrder, Query query);
void exportExcel(WorkOrder workOrder, HttpServletResponse response);
void exportExcel(WorkOrder workOrder, HttpServletResponse response) throws ParseException;
}

@ -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<Map<String, Object>> 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());
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<WorkOrderExcel> excels = new ArrayList<>();
List<Map<String, Object>> 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<HistoricTaskInstance> taskInstanceList = historyService.createHistoricTaskInstanceQuery().processInstanceId(historicProcessInstance.getId()).orderByTaskCreateTime().desc().list();
varMap.put("taskId", taskInstanceList.get(0).getId());
workOrders.add(varMap);
}
}
// 只看本部门数据权限
List<Map<String, Object>> workOrderList = new ArrayList<>();
List<String> deptIds = Func.toStrList(AuthUtil.getDeptId());
workOrders.forEach(order -> {
List<String> 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());

Loading…
Cancel
Save