diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/impl/HomePageServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/impl/HomePageServiceImpl.java index 5d09155..0df805b 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/impl/HomePageServiceImpl.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/homepage/service/impl/HomePageServiceImpl.java @@ -355,11 +355,13 @@ public class HomePageServiceImpl implements IHomePageService { List collect1 = historicProcessInstanceStartList.stream().filter(process -> { String startUserId = process.getStartUserId(); User user = UserCache.getUser(Long.parseLong(startUserId)); - String userDept = user.getDeptId(); - List userDeptList = Func.toLongList(userDept); - for (Long l : userDeptList) { - if (nowUserDeptList.contains(l)) { - return true; + if (user != null) { + String userDept = user.getDeptId(); + List userDeptList = Func.toLongList(userDept); + for (Long l : userDeptList) { + if (nowUserDeptList.contains(l)) { + return true; + } } } return false; @@ -608,6 +610,7 @@ public class HomePageServiceImpl implements IHomePageService { //查询近一个月的 Date lastMonthDate = DateUtil.minusMonths(DateUtil.now(), 1); List historicProcessInstanceList = historyService.createHistoricProcessInstanceQuery().startedAfter(lastMonthDate) + .finished() .processInstanceTenantId(WfTaskUtil.getTenantId()) .list(); diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/ProjectDatabaseController.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/ProjectDatabaseController.java index e5e8637..5b102f8 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/ProjectDatabaseController.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/ProjectDatabaseController.java @@ -78,7 +78,7 @@ public class ProjectDatabaseController extends BladeController { if (CollectionUtils.isNotEmpty(dataTableList)) { for (ProjectDatabaseVo table : dataTableList) { table.setDeptName(sysClient.getDeptName(table.getDeptId()).getData()); - table.setCompanyName(userClient.userInfoById(table.getCompany()).getData().getName()); +// table.setCompanyName(userClient.userInfoById(table.getCompany()).getData().getName()); if (StringUtils.isNotBlank(table.getDataBaseAlias())) { table.setDatabaseProjectName(table.getDataBaseAlias() + "(" + table.getDatabaseProjectName() + ")"); } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/excel/DatabaseExcel.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/excel/DatabaseExcel.java index 6ddf0db..1678ab9 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/excel/DatabaseExcel.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/excel/DatabaseExcel.java @@ -20,7 +20,7 @@ public class DatabaseExcel implements Serializable { private String dataBasePort; @ColumnWidth(20) - @ExcelProperty("数据库/系统名称") + @ExcelProperty("部门系统") private String databaseProjectName; @ColumnWidth(20) @@ -40,7 +40,7 @@ public class DatabaseExcel implements Serializable { // private String systemModuleName; @ColumnWidth(20) - @ExcelProperty("管理部门") + @ExcelProperty("部门名称") private String deptId; @ColumnWidth(20) diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ModuleDatatableMapper.xml b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ModuleDatatableMapper.xml index 29c139b..187f6bc 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ModuleDatatableMapper.xml +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ModuleDatatableMapper.xml @@ -3,61 +3,63 @@ - - + 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 4c56d80..4ad453e 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,7 +1,6 @@ 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; @@ -10,7 +9,6 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import io.swagger.models.auth.In; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; @@ -25,6 +23,8 @@ import org.springblade.core.tool.utils.Func; import org.springblade.plugin.operation.task.entity.TaskInfo; import org.springblade.plugin.operation.task.service.ITaskInfoService; +import org.springblade.plugin.operation.webservice.WebServiceUtils; +import org.springblade.plugin.operation.workorder.entity.InsertTodealByPollCode; import org.springblade.system.cache.DictBizCache; import org.springblade.system.entity.DictBiz; import org.springframework.web.bind.annotation.*; @@ -32,6 +32,7 @@ import org.springframework.web.bind.annotation.*; import javax.validation.Valid; import java.util.ArrayList; import java.util.List; +import java.util.UUID; /** 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 e0dc8f7..0060d76 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 @@ -1,13 +1,11 @@ package org.springblade.plugin.operation.workorder.controller; import com.alibaba.fastjson.JSON; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; -import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tenant.annotation.NonDS; @@ -15,7 +13,6 @@ import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.plugin.operation.task.entity.TaskInfo; import org.springblade.plugin.operation.task.service.ITaskInfoService; -import org.springblade.plugin.operation.workorder.entity.InsertTodealByPollCode; import org.springblade.plugin.operation.workorder.entity.WorkOrder; import org.springblade.plugin.operation.workorder.service.IWorkOrderService; import org.springblade.system.cache.DictBizCache; @@ -24,14 +21,7 @@ import org.springblade.system.entity.DictBiz; import org.springblade.system.feign.ISysClient; import org.springblade.system.user.entity.User; import org.springblade.system.user.feign.IUserClient; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.MediaType; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; -import org.springframework.web.client.RestClientException; -import org.springframework.web.client.RestTemplate; import javax.servlet.http.HttpServletResponse; import java.text.ParseException; @@ -39,6 +29,7 @@ import java.util.*; /** * 工单 + * * @Description * @Author lt * @Date 2023年2月17日09:46:45 @@ -55,9 +46,6 @@ public class WorkOrderController extends BladeController { private final ISysClient sysClient; private final IUserClient userClient; - private RestTemplate restTemplate; -// private RestTemplateToInterface restTemplateToInterface; - /** * 流程中心 */ @@ -110,7 +98,7 @@ public class WorkOrderController extends BladeController { * 流程中心导出 */ @GetMapping("/exportExcel") - public void exportExcel(WorkOrder workOrder, HttpServletResponse response){ + public void exportExcel(WorkOrder workOrder, HttpServletResponse response) { workOrderService.exportExcel(workOrder, response); } @@ -130,75 +118,6 @@ public class WorkOrderController extends BladeController { */ @GetMapping("/workOrderRecord") public R> workOrderRecord(WorkOrder workOrder, Query query) { - InsertTodealByPollCode code = new InsertTodealByPollCode(); - code.setTodealGuid("{20180407-1554-0306-6507-00FF718FC7C2}"); - code.setFileGuid("{20180407-1554-0306-6507-00FF718FC7C2}"); -// code.setFlowGuid(""); - code.setTitle("测试标题"); - code.setDocType("2"); - code.setReceiveLocalPerson("qdsn.dsjyyk"); - code.setReceiveLocalPersonGuid("{9DEEE6C9-1419-47FF-B76D-4BF3753CC00A}"); - code.setSendperson("qdsn.dsjyyk"); - code.setSendpersonGuid("{9DEEE6C9-1419-47FF-B76D-4BF3753CC00A}"); - code.setTypeName("其他"); -// code.setKeyNumber("20"); - code.setIsout("0"); -// code.setUrl(""); - code.setOpenFlag("1"); - code.setIsReply("0"); - code.setIsTop("0"); - code.setFromExchangeCode("00020000000000000001"); - code.setToExchangeCode("00020000000000000001"); - code.setPollCode("000000"); - - - // String s = restTemplateToInterface.doPostWith1("http://15.72.158.155/jhoa200/OAReceiver/OuterSystemOAReceiver.asmx", code); - - HttpHeaders headers = new HttpHeaders(); - MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8"); - headers.setContentType(type); - headers.add("Accept", MediaType.APPLICATION_JSON.toString()); - - JSONObject param = new JSONObject(); - param.put("todealGuid", code.getTodealGuid()); - param.put("fileGuid", code.getFileGuid()); -// param.put("flowGuid", code.getTodealGuid()); - param.put("title", code.getTitle()); - param.put("docType", code.getDocType()); - param.put("receiveLocalPerson", code.getReceiveLocalPerson()); - param.put("receiveLocalPersonGuid", code.getReceiveLocalPersonGuid()); - param.put("sendperson", code.getSendperson()); - param.put("sendpersonGuid", code.getSendpersonGuid()); - param.put("typeName", code.getTypeName()); -// param.put("keyNumber", code.getTodealGuid()); - param.put("isout", code.getIsout()); -// param.put("url", code.getTodealGuid()); - param.put("openFlag", code.getOpenFlag()); - param.put("isReply", code.getIsReply()); - param.put("isTop", code.getIsTop()); - param.put("fromExchangeCode", code.getFromExchangeCode()); - param.put("toExchangeCode", code.getToExchangeCode()); - param.put("pollCode", code.getPollCode()); - // 2.设置请求体的参数 -// HttpEntity formEntity = new HttpEntity<>(code, headers); - HttpEntity formEntity = new HttpEntity<>(param, headers); - - System.out.println("============================================="); - System.out.println(code); - String url = "http://15.72.158.155/jhoa200/OAReceiver/OuterSystemOAReceiver.asmx"; - ResponseEntity responseEntity = null; - JSONObject object = null; - try { - object = restTemplate.postForObject(url, formEntity, JSONObject.class); - System.out.println("结果:" + object); - - responseEntity = restTemplate.postForEntity(url, param, JSONObject.class); - System.out.println("结果:" + responseEntity.getBody()); - } catch (RestClientException e) { - System.out.println(e.toString()); - } - System.out.println("============================================="); - return R.data(workOrderService.myPage(workOrder, query)); } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/excel/OrderExcel.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/excel/OrderExcel.java index ec732ee..184b1b2 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/excel/OrderExcel.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/excel/OrderExcel.java @@ -20,11 +20,11 @@ public class OrderExcel implements Serializable { private String taskType; @ColumnWidth(20) - @ExcelProperty("操作模块") + @ExcelProperty("操作对象") private String operationModule; @ColumnWidth(20) - @ExcelProperty("分管部门") + @ExcelProperty("部门名称") private String dept; @ColumnWidth(20) 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 0858d49..0c4094d 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 @@ -20,7 +20,7 @@ public class WorkOrderExcel implements Serializable { private String taskType; @ColumnWidth(20) - @ExcelProperty("操作模块") + @ExcelProperty("操作对象") private String operationModule; @ColumnWidth(20) @@ -28,7 +28,7 @@ public class WorkOrderExcel implements Serializable { private String currentResponsiblePerson; @ColumnWidth(20) - @ExcelProperty("分管部门") + @ExcelProperty("部门名称") private String dept; @ColumnWidth(20) 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 aec7b31..dd56154 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 @@ -226,7 +226,9 @@ public class WorkOrderServiceImpl extends BaseServiceImpl (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()); } // 排序 @@ -454,16 +456,16 @@ public class WorkOrderServiceImpl extends BaseServiceImpl varMap.put(var.getVariableName(), var.getValue())); - // 任务父类 - varMap.put("renwufulei", DictBizCache.getById(Long.parseLong(varMap.get("renwufulei").toString())).getDictValue()); - - ProjectDatabase byId = dataBaseService.getById(varMap.get("xitongmingchengshujuku").toString()); - if (byId != null) { - varMap.put("xitongmingchengshujuku", byId.getDatabaseProjectName()); - } - - // 运维公司 - varMap.put("yunweigongsi", userClient.userInfoById(Long.parseLong(varMap.get("yunweigongsi").toString())).getData().getRealName()); +// // 任务父类 +// varMap.put("renwufulei", DictBizCache.getById(Long.parseLong(varMap.get("renwufulei").toString())).getDictValue()); +// +// ProjectDatabase byId = dataBaseService.getById(varMap.get("xitongmingchengshujuku").toString()); +// if (byId != null) { +// varMap.put("xitongmingchengshujuku", byId.getDatabaseProjectName()); +// } +// +// // 运维公司 +// varMap.put("yunweigongsi", userClient.userInfoById(Long.parseLong(varMap.get("yunweigongsi").toString())).getData().getRealName()); Task task = taskService.createTaskQuery().processInstanceId(historicProcessInstance.getId()).singleResult(); if (task != null) { @@ -485,9 +487,9 @@ public class WorkOrderServiceImpl extends BaseServiceImpl order : workOrders) { WorkOrderExcel excel = new WorkOrderExcel(); excel.setTaskType(order.get("$renwuzhonglei").toString()); - excel.setTaskParent(order.get("renwufulei").toString()); - excel.setOperationModule(order.get("xitongmingchengshujuku").toString()); +// excel.setTaskParent(order.get("renwufulei").toString()); +// excel.setOperationModule(order.get("xitongmingchengshujuku").toString()); excel.setCurrentResponsiblePerson(order.get("currentResponsiblePerson").toString()); excel.setDept(order.get("$guanlibumen").toString()); excel.setLevel(order.get("$renwudengji").toString()); - excel.setCompany(order.get("yunweigongsi").toString()); - excel.setSponsor(order.get("startUserId").toString()); +// excel.setCompany(order.get("yunweigongsi").toString()); +// excel.setSponsor(order.get("startUserId").toString()); excel.setApprovalStatus(order.get("status").toString()); excel.setCreateTime(format.format(order.get("startTime"))); @@ -527,8 +529,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl page = page(Condition.getPage(query), wrapper); @@ -607,34 +609,20 @@ public class WorkOrderServiceImpl extends BaseServiceImpl> workOrders = new ArrayList<>(); - if (CollectionUtils.isNotEmpty(list)) { for (HistoricProcessInstance historicProcessInstance : list) { Map varMap = new HashMap<>(); List historicVars = historyService.createHistoricVariableInstanceQuery() .processInstanceId(historicProcessInstance.getId()).list(); - historicVars.forEach(var -> - varMap.put(var.getVariableName(), var.getValue())); + historicVars.forEach(var -> varMap.put(var.getVariableName(), var.getValue())); // 任务父类 varMap.put("renwufulei", DictBizCache.getById(Long.parseLong(varMap.get("renwufulei").toString())).getDictValue()); - // 操作模块 -// if ("1".equals(varMap.get("type").toString())) { -// varMap.put("xitongmingchengshujuku", projectInfoService.getById(varMap.get("xitongmingchengshujuku").toString()).getProjectName()); -// } else { ProjectDatabase byId = dataBaseService.getById(varMap.get("xitongmingchengshujuku").toString()); if (byId != null) { varMap.put("xitongmingchengshujuku", byId.getDatabaseProjectName()); } -// } - -// ProjectInfo projectInfo = projectInfoService.getById(varMap.get("xitongmingchengshujuku").toString()); -// if (projectInfo != null) { -// varMap.put("xitongmingchengshujuku", projectInfo.getProjectName()); -// } else { -// varMap.put("xitongmingchengshujuku", dataBaseService.getById(varMap.get("xitongmingchengshujuku").toString()).getDataBaseName()); -// } // 运维公司 varMap.put("yunweigongsi", userClient.userInfoById(Long.parseLong(varMap.get("yunweigongsi").toString())).getData().getRealName()); @@ -668,7 +656,6 @@ public class WorkOrderServiceImpl extends BaseServiceImpl taskInstanceList = historyService.createHistoricTaskInstanceQuery().processInstanceId(historicProcessInstance.getId()).orderByTaskCreateTime().desc().list(); - varMap.put("taskId", taskInstanceList.get(0).getId()); workOrders.add(varMap); } @@ -676,16 +663,17 @@ public class WorkOrderServiceImpl extends BaseServiceImpl> workOrderList = new ArrayList<>(); +// List> workOrderList = new ArrayList<>(); List deptIds = Func.toStrList(AuthUtil.getDeptId()); - workOrders.forEach(order -> { - String deptId = order.get("startDeptId").toString(); - if (deptIds.contains(deptId)) { - workOrderList.add(order); - } - }); - workOrders = workOrderList; +// workOrders.forEach(order -> { +// String deptId = order.get("startDeptId").toString(); +// if (deptIds.contains(deptId)) { +// workOrderList.add(order); +// } +// }); +// workOrders = workOrderList; + workOrders = workOrders.stream().filter(s -> deptIds.contains(s.get("guanlibumen").toString())).collect(Collectors.toList()); // 任务父类 if (StringUtils.isNotBlank(workOrder.getTaskParent())) { @@ -732,32 +720,16 @@ public class WorkOrderServiceImpl extends BaseServiceImpl { - if (s.get("endTime") != null) { - try { - return (format.parse(format.format(s.get("startTime"))).after(workOrder.getStartTime())) && - (format.parse(format.format(s.get("endTime"))).before(workOrder.getEndTime())); - } catch (ParseException e) { - e.printStackTrace(); - } + try { + return (format.parse(format.format(s.get("startTime"))).after(workOrder.getStartTime())) && + (format.parse(format.format(s.get("startTime"))).before(workOrder.getEndTime())); + } catch (ParseException e) { + e.printStackTrace(); } return false; }).collect(Collectors.toList()); } - // 结束时间范围 -// if (workOrder.getEndTime() != null) { -// workOrders = workOrders.stream().filter(s -> -// { -// if (s.get("endTime") != null) { -// try { -// return format.parse(format.format(s.get("endTime"))).before(workOrder.getEndTime()); -// } catch (ParseException e) { -// e.printStackTrace(); -// } -// } -// return false; -// }).collect(Collectors.toList()); -// } return workOrders; } } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/util/RestTemplateConfig.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/util/RestTemplateConfig.java deleted file mode 100644 index 1018c5a..0000000 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/util/RestTemplateConfig.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.springblade.plugin.operation.workorder.util; - -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.http.client.ClientHttpRequestFactory; -import org.springframework.http.client.SimpleClientHttpRequestFactory; -import org.springframework.web.client.RestTemplate; - -@Configuration -public class RestTemplateConfig { - -// @Bean -// public RestTemplate restTemplate(){ -// // RestTemplate restTemplate = new RestTemplate(); -// //设置中文乱码问题方式一 -// // restTemplate.getMessageConverters().add(1,new StringHttpMessageConverter(Charset.forName("UTF-8"))); -// // 设置中文乱码问题方式二 -// // restTemplate.getMessageConverters().set(1,new StringHttpMessageConverter(StandardCharsets.UTF_8)); // 支持中文编码 -// return new RestTemplate(); -// } - - @Bean - public RestTemplate restTemplate(ClientHttpRequestFactory factory){ - return new RestTemplate(factory); - } - - @Bean - public ClientHttpRequestFactory simpleClientHttpRequestFactory(){ - SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory(); - factory.setConnectTimeout(20000); - factory.setReadTimeout(30000); - return factory; - } - -} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java index ce02498..b987788 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java @@ -23,6 +23,8 @@ import org.springblade.plugin.operation.system.entity.ProjectInfo; import org.springblade.plugin.operation.system.service.IModuleInfoService; import org.springblade.plugin.operation.system.service.IProjectInfoService; import org.springblade.plugin.operation.task.service.ITaskInfoService; +import org.springblade.plugin.operation.webservice.WebServiceUtils; +import org.springblade.plugin.operation.workorder.entity.InsertTodealByPollCode; import org.springblade.plugin.operation.workorder.entity.WorkOrder; import org.springblade.plugin.operation.workorder.service.IWorkOrderService; import org.springblade.plugin.workbench.entity.AutoStartModel; @@ -39,6 +41,7 @@ import org.springblade.system.entity.Dept; import org.springblade.system.feign.ISysClient; import org.springblade.system.user.cache.UserCache; import org.springblade.system.user.entity.User; +import org.springblade.system.user.feign.IUserClient; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestBody; @@ -61,6 +64,8 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl autoStartModels = baseMapper.selectList(queryWrapper); - List> maps = new ArrayList<>(); - if(autoStartModels.size() > 0){ - autoStartModels.forEach(bl ->{ + List> maps = new ArrayList<>(); + if (autoStartModels.size() > 0) { + autoStartModels.forEach(bl -> { List variableList = historyService.createHistoricVariableInstanceQuery().processInstanceId(bl.getProcessInstanceId()).list(); - Map variable = new HashMap<>(); - variableList.forEach(va ->{ - variable.put(va.getVariableName(),va.getValue()); + Map variable = new HashMap<>(); + variableList.forEach(va -> { + variable.put(va.getVariableName(), va.getValue()); }); maps.add(variable); }); @@ -112,9 +117,9 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl setInfo(@NonNull List list){ + public List setInfo(@NonNull List list) { List lists = new ArrayList<>(); - list.forEach(l->{ + list.forEach(l -> { AutoStartModelVO copy = Func.copy(l, AutoStartModelVO.class); copy.setTaskType(taskInfoService.getById(l.getTaskType()).getTaskTypeName()); copy.setTaskParent(DictBizCache.getById(l.getTaskParent()).getDictValue()); @@ -153,9 +158,9 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl strings = Func.toStrList(ids); - for(String s : strings){ + for (String s : strings) { AutoStartModel autoStartModel = baseMapper.selectById(Long.valueOf(s)); - if(Func.isNotEmpty(autoStartModel)){ + if (Func.isNotEmpty(autoStartModel)) { autoStartModel.setIsBreak(1); autoStartModel.setStatus(1); autoStartModel.setBreakTime(DateUtil.now()); @@ -200,14 +205,15 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl variables){ + public boolean newWorkOrder(String processInstanceId, Map variables) { boolean save = false; WorkOrder workOrder = new WorkOrder(); - try{ + try { workOrder.setUploadRecord(JSON.toJSONString(variables.get("uploadrecord"))); workOrder.setOperateSys(variables.get("xitongmingchengshujuku").toString()); workOrder.setOperateModule(variables.get("xitongmokuaishujubiao").toString()); @@ -223,33 +229,37 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl variables){ - String result = ""; + public String saveStartProcess(String processinstanceId, Map variables) { + String result = ""; //保存新增工单和工单模板数据 返回结果: “1” 成功 或 “生成工单失败” 或 “保存工单模板数据失败” - result = this.newWorkOrderAndSaveModel(processinstanceId,variables); + result = this.newWorkOrderAndSaveModel(processinstanceId, variables); - if(!StringUtils.equals(result,"1")) { + if (!StringUtils.equals(result, "1")) { return result; - }else{ - //更新工单模板的nestStartTime和nextEndTime + } else { + //更新工单模板的nestStartTime和nextEndTime LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(); - wrapper.eq(AutoStartModel::getProcessInstanceId,processinstanceId).orderByDesc(AutoStartModel::getCreateTime).last("limit 1"); + wrapper.eq(AutoStartModel::getProcessInstanceId, processinstanceId).orderByDesc(AutoStartModel::getCreateTime).last("limit 1"); AutoStartModel autoStartModel = baseMapper.selectOne(wrapper); Date startTime = autoStartModel.getNextStartTime(); @@ -288,14 +298,14 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl 0){ + if (DateUtil.between(endTime, nextEndTime).getSeconds() > 0) { Date nextStartTime = this.setStartTime(nextEndTime, repeatMode); autoStartModel.setNextStartTime(nextStartTime); autoStartModel.setNextEndTime(nextEndTime); int i = baseMapper.updateById(autoStartModel); - if(i > 0) return "1"; + if (i > 0) return "1"; } } return "更新模板数据失败"; @@ -303,13 +313,14 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl variables){ + public String newWorkOrderAndSaveModel(String processinstanceId, Map variables) { String result = "1"; //根据流程表单数据创建AutoStartModel对象 AutoStartModel autoStartModel = new AutoStartModel(); @@ -340,17 +351,17 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl autoStartModelWrapper = Wrappers.lambdaQuery(); - autoStartModelWrapper.eq(AutoStartModel::getProcessInstanceId,processinstanceId); + autoStartModelWrapper.eq(AutoStartModel::getProcessInstanceId, processinstanceId); List autoStartModels = baseMapper.selectList(autoStartModelWrapper); - if(autoStartModels.size() > 0) return "数据库中已经有该工作数据了"; + if (autoStartModels.size() > 0) return "数据库中已经有该工作数据了"; - while(insertModel <= 0){ - try{ + while (insertModel <= 0) { + try { boolean save = this.save(autoStartModel); if (save) { insertModel = 1; } - }catch (Exception e){ + } catch (Exception e) { e.printStackTrace(); - }finally { - retrySaveOrder ++; + } finally { + retrySaveOrder++; } } //如果保存模板数据失败,返回失败信息 - if(insertModel <=0){ + if (insertModel <= 0) { result = "保存工单模板数据失败"; return result; } @@ -386,31 +397,31 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl wrapper = Wrappers.lambdaQuery(); @@ -527,9 +543,9 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl 1 || (list.size() == 1 && this.isMultiInstance(list.get(0).getTaskDefinitionKey(), list.get(0).getProcessDefinitionId()))) { // 多实例 int index = 0; diff --git a/lab-service-api/lab-user-api/src/main/java/org/springblade/system/user/entity/User.java b/lab-service-api/lab-user-api/src/main/java/org/springblade/system/user/entity/User.java index 329c8f5..1d14813 100644 --- a/lab-service-api/lab-user-api/src/main/java/org/springblade/system/user/entity/User.java +++ b/lab-service-api/lab-user-api/src/main/java/org/springblade/system/user/entity/User.java @@ -95,4 +95,14 @@ public class User extends TenantEntity { */ private Integer accountStatus; + /** + * GUID + */ + private String guid; + + /** + * 交换码 + */ + private String mobile; + } diff --git a/lab-service/lab-user/src/main/java/org/springblade/system/user/controller/UserController.java b/lab-service/lab-user/src/main/java/org/springblade/system/user/controller/UserController.java index c7ab7a1..80b017a 100644 --- a/lab-service/lab-user/src/main/java/org/springblade/system/user/controller/UserController.java +++ b/lab-service/lab-user/src/main/java/org/springblade/system/user/controller/UserController.java @@ -5,6 +5,7 @@ package org.springblade.system.user.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.core.toolkit.StringUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; @@ -16,6 +17,7 @@ import lombok.AllArgsConstructor; import org.springblade.core.cache.utils.CacheUtil; import org.springblade.core.excel.util.ExcelUtil; import org.springblade.core.log.annotation.ApiLog; +import org.springblade.core.mp.base.BaseEntity; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.secure.BladeUser; @@ -423,11 +425,11 @@ public class UserController { * 运维公司 */ @GetMapping("/maintenanceCompany") - public R> maintenanceCompany() { + public R> maintenanceCompany(Integer isDetail) { BladeUser user = AuthUtil.getUser(); List users = new ArrayList<>(); // 判断是否运维公司 - if ("运维公司".equals(user.getRoleName())) { + if (isDetail == 0 && "运维公司".equals(user.getRoleName())) { User byId = userService.getById(user.getUserId()); users.add(byId); return R.data(users); @@ -436,11 +438,21 @@ public class UserController { String roleId = sysClient.getRoleIdByAlias(AuthUtil.getTenantId(), "运维公司").getData(); // 查当前操作人部门下的运维公司 + List strings = Func.toStrList(user.getDeptId()); LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.in(User::getDeptId, Func.toStrList(user.getDeptId())); - wrapper.eq(User::getRoleId, roleId); - users = userService.list(wrapper); - return R.data(users); + + Set userSet = new TreeSet<>(Comparator.comparing(BaseEntity::getId)); + if (CollectionUtils.isNotEmpty(strings)) { + for (String string : strings) { + wrapper.like(User::getDeptId, string); + wrapper.eq(User::getRoleId, roleId); + users.addAll(userService.list(wrapper)); + wrapper.clear(); + } + } + userSet.addAll(users); + + return R.data(new ArrayList<>(userSet)); } } diff --git a/lab-service/lab-user/src/main/java/org/springblade/system/user/feign/UserClient.java b/lab-service/lab-user/src/main/java/org/springblade/system/user/feign/UserClient.java index c95a49c..0ed8cc7 100644 --- a/lab-service/lab-user/src/main/java/org/springblade/system/user/feign/UserClient.java +++ b/lab-service/lab-user/src/main/java/org/springblade/system/user/feign/UserClient.java @@ -37,7 +37,8 @@ public class UserClient implements IUserClient { @Override @GetMapping(USER_INFO_BY_ID) public R userInfoById(Long userId) { - return R.data(service.getById(userId)); +// return R.data(service.getById(userId)); + return R.data(service.getUserOne(userId)); } @Override diff --git a/lab-service/lab-user/src/main/java/org/springblade/system/user/mapper/UserMapper.java b/lab-service/lab-user/src/main/java/org/springblade/system/user/mapper/UserMapper.java index 692bd62..89a6c00 100644 --- a/lab-service/lab-user/src/main/java/org/springblade/system/user/mapper/UserMapper.java +++ b/lab-service/lab-user/src/main/java/org/springblade/system/user/mapper/UserMapper.java @@ -46,4 +46,6 @@ public interface UserMapper extends BaseMapper { List exportUser(@Param("ew") Wrapper queryWrapper); List userList (@Param("deptIdList") List deptIdList); + + User getUserOne(@Param("userId") Long userId); } diff --git a/lab-service/lab-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml b/lab-service/lab-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml index c6f59ef..8ebb4c9 100644 --- a/lab-service/lab-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml +++ b/lab-service/lab-user/src/main/java/org/springblade/system/user/mapper/UserMapper.xml @@ -87,4 +87,8 @@ ) + + diff --git a/lab-service/lab-user/src/main/java/org/springblade/system/user/service/IUserService.java b/lab-service/lab-user/src/main/java/org/springblade/system/user/service/IUserService.java index ab86d66..f94382a 100644 --- a/lab-service/lab-user/src/main/java/org/springblade/system/user/service/IUserService.java +++ b/lab-service/lab-user/src/main/java/org/springblade/system/user/service/IUserService.java @@ -216,4 +216,6 @@ public interface IUserService extends BaseService { * @return */ public List listRolebyId(String rolename); + + public User getUserOne(Long userId); } diff --git a/lab-service/lab-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java b/lab-service/lab-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java index 7ff8a77..de2bbcb 100644 --- a/lab-service/lab-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java +++ b/lab-service/lab-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java @@ -66,6 +66,7 @@ public class UserServiceImpl extends BaseServiceImpl implement private final ISysClient sysClient; private final BladeTenantProperties tenantProperties; private final IRoleClient roleClient; + private final UserMapper userMapper; @Override @Transactional(rollbackFor = Exception.class) @@ -610,5 +611,10 @@ public class UserServiceImpl extends BaseServiceImpl implement return null; } + @Override + public User getUserOne(Long userId) { + return userMapper.getUserOne(userId); + } + }