2023年7月4日10:06:36

main
litao 3 years ago
parent b14e20bb3a
commit 8a349674aa
  1. 2
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/ProjectDatabaseController.java
  2. 4
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/ProjectDatabaseMapper.xml
  3. 29
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/ProjectDatabaseServiceImpl.java
  4. 3
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/controller/TaskInfoController.java
  5. 8
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/controller/WorkOrderController.java
  6. 1
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/IWorkOrderService.java
  7. 95
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/workorder/service/impl/WorkOrderServiceImpl.java
  8. 27
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workbench/service/impl/AutoStartModelServiceImpl.java
  9. 7
      lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/workflow/process/service/impl/WfProcessService.java
  10. 3
      lab-service/lab-system/src/main/java/org/springblade/system/feign/SysClient.java
  11. 72
      lab-service/lab-system/src/main/java/org/springblade/system/mapper/DeptMapper.java
  12. 4
      lab-service/lab-system/src/main/java/org/springblade/system/mapper/DeptMapper.xml
  13. 1
      lab-service/lab-system/src/main/java/org/springblade/system/service/IDeptService.java
  14. 5
      lab-service/lab-system/src/main/java/org/springblade/system/service/impl/DeptServiceImpl.java

@ -77,7 +77,7 @@ public class ProjectDatabaseController extends BladeController {
List<ProjectDatabaseVo> dataTableList = pages.getRecords();
if (CollectionUtils.isNotEmpty(dataTableList)) {
for (ProjectDatabaseVo table : dataTableList) {
table.setDeptName(sysClient.getDeptName(table.getDeptId()).getData());
table.setDeptName(sysClient.getDept(table.getDeptId()).getData().getDeptName());
// table.setCompanyName(userClient.userInfoById(table.getCompany()).getData().getName());
if (StringUtils.isNotBlank(table.getDataBaseAlias())) {
table.setDatabaseProjectName(table.getDataBaseAlias() + "(" + table.getDatabaseProjectName() + ")");

@ -5,9 +5,11 @@
<select id="getAll" resultType="org.springblade.plugin.operation.database.entity.ProjectDatabaseVo">
SELECT
a.*,
u.name as companyName
u.name as companyName,
d.dept_name as deptName
FROM t_project_database a
left join lims.blade_user u ON u.id = a.company
left join lims.blade_dept d ON d.id = a.dept_id
WHERE a.is_deleted = 0
order by a.create_time DESC
</select>

@ -52,8 +52,12 @@ public class ProjectDatabaseServiceImpl extends BaseServiceImpl<ProjectDatabaseM
int total = excelList.size();
int success = 0;
int lose = 0;
String typeNo = "";
String userNo = "";
String dataNo = "";
if (CollectionUtils.isNotEmpty(excelList)) {
for (DatabaseExcel item : excelList) {
for (int i = 0; i < excelList.size(); i++) {
DatabaseExcel item = excelList.get(i);
// 如果类型不存在,跳过这条数据
if (StringUtils.isBlank(DictBizCache.getKey("database_type", item.getType())) ||
StringUtils.isBlank(item.getDatabaseProjectName()) ||
@ -61,11 +65,20 @@ public class ProjectDatabaseServiceImpl extends BaseServiceImpl<ProjectDatabaseM
StringUtils.isBlank(item.getDeptId()) ||
StringUtils.isBlank(item.getCompany())) {
lose++;
typeNo += (i + 1) + ",";
continue;
}
Integer databaseType = Integer.parseInt(DictBizCache.getKey("database_type", item.getType()));
String data = sysClient.getDeptIds(AuthUtil.getTenantId(), item.getDeptId()).getData();
User user = userClient.userInfoByName(AuthUtil.getTenantId(), item.getCompany()).getData();
System.out.println("user:" + user);
System.out.println("=======================================================");
// 如果部门或用户是手动输入查不到的跳过
if (data == null || user == null || user.getId() == null) {
lose++;
userNo += (i + 1) + ",";
continue;
}
LambdaQueryWrapper<ProjectDatabase> wrapper = new LambdaQueryWrapper<>();
// wrapper.select(ProjectDatabase::getId);
@ -107,10 +120,10 @@ public class ProjectDatabaseServiceImpl extends BaseServiceImpl<ProjectDatabaseM
!user.getId().equals(base.getCompany())
) {
lose++;
dataNo += (i + 1) + ",";
continue;
}
LambdaQueryWrapper<ModuleDatatable> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ModuleDatatable::getProjectDatabaseId, base.getId());
queryWrapper.eq(ModuleDatatable::getDatatableModuleName, item.getDatatableModuleName());
@ -125,7 +138,17 @@ public class ProjectDatabaseServiceImpl extends BaseServiceImpl<ProjectDatabaseM
}
}
}
return "共" + total + "条数据,导入成功" + (total - lose - success) + "条;导入失败" + lose + "条;数据重复" + success + "条!";
String message = "共" + total + "条数据,导入成功" + (total - lose - success) + "条;导入失败" + lose + "条;数据重复" + success + "条!";
if (StringUtils.isNotBlank(typeNo)) {
message += "第" + typeNo.substring(0, typeNo.length() - 1) + "条的类型不属于系统中数据。";
}
if (StringUtils.isNotBlank(userNo)) {
message += "第" + userNo.substring(0, userNo.length() - 1) + "条的用户或部门不属于系统中数据。";
}
if (StringUtils.isNotBlank(dataNo)) {
message += "第" + dataNo.substring(0, dataNo.length() - 1) + "条的数据库/系统数据已存在,请检查信息是否一致。";
}
return message;
}
return "数据为空,无法导入!";
}

@ -163,6 +163,9 @@ public class TaskInfoController extends BladeController {
@GetMapping("/taskLevel")
public R taskParent(Integer isDetail) {
List<DictBiz> taskParent = DictBizCache.getList("task_level");
System.out.println(AuthUtil.getUser());
System.out.println(isDetail);
System.out.println("=============================================================");
if ("运维公司".equals(AuthUtil.getUser().getRoleName()) || isDetail == 1) {
return R.data(taskParent);
}

@ -158,4 +158,12 @@ public class WorkOrderController extends BladeController {
workOrderService.workOrderExcel(response, workOrderList);
}
/**
* 工单记录详情
*/
@GetMapping("/detail")
public R<WorkOrder> detail(String id) {
return R.data(workOrderService.detail(id));
}
}

@ -31,4 +31,5 @@ public interface IWorkOrderService extends BaseService<WorkOrder> {
void workOrderExcel(HttpServletResponse response, List<WorkOrder> workOrderList);
WorkOrder detail(String id);
}

@ -460,8 +460,14 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
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());
if (StringUtils.isNotBlank(varMap.get("xitongmingchengshujuku").toString())) {
if (byId != null) {
varMap.put("xitongmingchengshujuku", byId.getDatabaseProjectName());
} else {
varMap.put("xitongmingchengshujuku", varMap.get("xitongmingchengshujuku").toString());
}
} else {
varMap.put("xitongmingchengshujuku", "--");
}
// // 运维公司
@ -549,12 +555,16 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
excel.setTaskType(taskInfoService.getById(record.getTaskType()).getTaskTypeName());
excel.setTaskParent(DictBizCache.getById(Long.parseLong(record.getTaskParent())).getDictValue());
ProjectDatabase byId = dataBaseService.getById(record.getOperateSys());
if (byId != null) {
excel.setOperationModule(byId.getSystemName());
if (StringUtils.isNotBlank(record.getOperateSys())) {
if (byId != null) {
excel.setOperationModule(byId.getDatabaseProjectName());
} else {
excel.setOperationModule(record.getOperateSys());
}
} else {
excel.setOperationModule(record.getOperateSys());
excel.setOperationModule("--");
}
excel.setDept(sysClient.getDeptName(Long.parseLong(record.getManagement())).getData());
excel.setDept(sysClient.getDept(Long.parseLong(record.getManagement())).getData().getDeptName());
excel.setLevel(DictBizCache.getById(Long.parseLong(record.getTaskLevel())).getDictValue());
excel.setCompany(userClient.userInfoById(Long.parseLong(record.getMaintenanceCompany())).getData().getName());
excel.setSponsor(userClient.userInfoById(Long.parseLong(record.getApplyUser())).getData().getName());
@ -577,27 +587,39 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
ExcelUtil.export(response, "工单记录" + DateUtil.time(), "工单记录", excels, OrderExcel.class);
}
@Override
public WorkOrder detail(String id) {
WorkOrder record = this.getById(id);
if (record != null) {
setData(record);
}
return record;
}
private void setAllName(List<WorkOrder> records) {
if (CollectionUtils.isNotEmpty(records)) {
for (WorkOrder record : records) {
record.setTaskTypeName(taskInfoService.getById(record.getTaskType()).getTaskTypeName());
record.setTaskParentName(DictBizCache.getById(Long.parseLong(record.getTaskParent())).getDictValue());
record.setManagementName(sysClient.getDeptName(Long.parseLong(record.getManagement())).getData());
record.setTaskLevelName(DictBizCache.getById(Long.parseLong(record.getTaskLevel())).getDictValue());
record.setRepeatModeName(DictBizCache.getById(Long.parseLong(record.getRepeatMode())).getDictValue());
record.setMaintenanceCompanyName(userClient.userInfoById(Long.parseLong(record.getMaintenanceCompany())).getData().getName());
record.setApplyUserName(userClient.userInfoById(Long.parseLong(record.getApplyUser())).getData().getName());
record.setCurrentResponsiblePerson(userClient.userInfoById(AuthUtil.getUserId()).getData().getName());
record.setApprovalStatus("待实施");
record.setUploadRecords(JSONObject.parseArray(record.getUploadRecord(), Map.class));
ProjectDatabase database = dataBaseService.getById(record.getOperateSys());
if (database != null) {
record.setOperateSysName(database.getDatabaseProjectName());
}
ModuleDatatable datatable = dataTableService.getById(record.getOperateModule());
if (datatable != null) {
record.setOperateModuleName(datatable.getDatatableModuleName());
}
setData(record);
// record.setTaskTypeName(taskInfoService.getById(record.getTaskType()).getTaskTypeName());
// record.setTaskParentName(DictBizCache.getById(Long.parseLong(record.getTaskParent())).getDictValue());
// record.setManagementName(sysClient.getDept(Long.parseLong(record.getManagement())).getData().getDeptName());
// record.setTaskLevelName(DictBizCache.getById(Long.parseLong(record.getTaskLevel())).getDictValue());
// record.setRepeatModeName(DictBizCache.getById(Long.parseLong(record.getRepeatMode())).getDictValue());
// record.setMaintenanceCompanyName(userClient.userInfoById(Long.parseLong(record.getMaintenanceCompany())).getData().getName());
// record.setApplyUserName(userClient.userInfoById(Long.parseLong(record.getApplyUser())).getData().getName());
// record.setCurrentResponsiblePerson(userClient.userInfoById(AuthUtil.getUserId()).getData().getName());
// record.setApprovalStatus("待实施");
// record.setUploadRecords(JSONObject.parseArray(record.getUploadRecord(), Map.class));
// ProjectDatabase database = dataBaseService.getById(record.getOperateSys());
// if (database != null) {
// record.setOperateSysName(database.getDatabaseProjectName());
// } else {
// record.setOperateSysName(record.getOperateSys());
// }
// ModuleDatatable datatable = dataTableService.getById(record.getOperateModule());
// if (datatable != null) {
// record.setOperateModuleName(datatable.getDatatableModuleName());
// }
}
}
}
@ -622,6 +644,8 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
ProjectDatabase byId = dataBaseService.getById(varMap.get("xitongmingchengshujuku").toString());
if (byId != null) {
varMap.put("xitongmingchengshujuku", byId.getDatabaseProjectName());
} else {
varMap.put("xitongmingchengshujuku", varMap.get("xitongmingchengshujuku").toString());
}
// 运维公司
@ -732,4 +756,27 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
return workOrders;
}
private void setData(WorkOrder record) {
record.setTaskTypeName(taskInfoService.getById(record.getTaskType()).getTaskTypeName());
record.setTaskParentName(DictBizCache.getById(Long.parseLong(record.getTaskParent())).getDictValue());
record.setManagementName(sysClient.getDept(Long.parseLong(record.getManagement())).getData().getDeptName());
record.setTaskLevelName(DictBizCache.getById(Long.parseLong(record.getTaskLevel())).getDictValue());
record.setRepeatModeName(DictBizCache.getById(Long.parseLong(record.getRepeatMode())).getDictValue());
record.setMaintenanceCompanyName(userClient.userInfoById(Long.parseLong(record.getMaintenanceCompany())).getData().getName());
record.setApplyUserName(userClient.userInfoById(Long.parseLong(record.getApplyUser())).getData().getName());
record.setCurrentResponsiblePerson(userClient.userInfoById(AuthUtil.getUserId()).getData().getName());
record.setApprovalStatus("待实施");
record.setUploadRecords(JSONObject.parseArray(record.getUploadRecord(), Map.class));
ProjectDatabase database = dataBaseService.getById(record.getOperateSys());
if (database != null) {
record.setOperateSysName(database.getDatabaseProjectName());
} else {
record.setOperateSysName(record.getOperateSys());
}
ModuleDatatable datatable = dataTableService.getById(record.getOperateModule());
if (datatable != null) {
record.setOperateModuleName(datatable.getDatatableModuleName());
}
}
}

@ -1,6 +1,7 @@
package org.springblade.plugin.workbench.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.AllArgsConstructor;
@ -11,6 +12,7 @@ import org.flowable.task.api.history.HistoricTaskInstance;
import org.flowable.variable.api.history.HistoricVariableInstance;
import org.springblade.core.log.model.LogError;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
@ -126,7 +128,7 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl<BladeManMadeMappe
copy.setApplyUser(UserCache.getUser(l.getApplyUser()).getName());
String dept = sysClient.getDeptName(l.getManagement()).getData();
Dept dept1 = SysCache.getDept(l.getManagement());
copy.setDeptName(sysClient.getDeptName(l.getManagement()).getData());
copy.setDeptName(sysClient.getDept(l.getManagement()).getData().getDeptName());
copy.setRepeatMode(DictBizCache.getById(l.getRepeatMode()).getDictValue());
copy.setMaintenanceCompany(UserCache.getUser(l.getMaintenanceCompany()).getName());
@ -239,13 +241,15 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl<BladeManMadeMappe
if (StringUtils.equals(roleId, "1623514957507272705") && StringUtils.equals(variables.get("renwudengji").toString(), "1625035000825049090")) {
workOrder.setIsFinish(1);
workOrder.setFinishTime(new Date());
save = workOrderService.save(workOrder);
} else {
workOrder.setIsFinish(0);
save = workOrderService.save(workOrder);
// 消息推送
messagePush(variables.get("applyUser").toString(), variables.get("yunweigongsi").toString());
messagePush(variables.get("applyUser").toString(), variables.get("yunweigongsi").toString(), workOrder);
}
save = workOrderService.save(workOrder);
// save = workOrderService.save(workOrder);
int retryNum = 0;
while (retryNum < 5 && !save) {
@ -481,15 +485,17 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl<BladeManMadeMappe
workOrder.setIsFinish(0);
workOrder.setDetail(autoStartModel.getDetail());
//如果是运维公司发起的日常任务(普通),生成工单,并标记为已完成
workOrder.setExpectedCompletionTime(autoStartModel.getNextEndTime());
if (StringUtils.equals(autoStartModel.getApplyRole(), "运维公司") && StringUtils.equals(autoStartModel.getTaskLevel().toString(), "1625035000825049090")) {
workOrder.setIsFinish(1);
workOrder.setFinishTime(new Date());
save = workOrderService.save(workOrder);
} else {
save = workOrderService.save(workOrder);
// 消息推送
messagePush(workOrder.getApplyUser(), workOrder.getMaintenanceCompany());
messagePush(workOrder.getApplyUser(), workOrder.getMaintenanceCompany(), workOrder);
}
workOrder.setExpectedCompletionTime(autoStartModel.getNextEndTime());
save = workOrderService.save(workOrder);
return save;
}
@ -516,7 +522,7 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl<BladeManMadeMappe
workOrder.setExpectedCompletionTime(autoStartModel.getNextEndTime());
save = workOrderService.save(workOrder);
// 消息推送
messagePush(workOrder.getApplyUser(), workOrder.getMaintenanceCompany());
messagePush(workOrder.getApplyUser(), workOrder.getMaintenanceCompany(), workOrder);
return save;
}
@ -565,7 +571,7 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl<BladeManMadeMappe
}
}
private void messagePush(String applyUserId,String userId) {
private void messagePush(String applyUserId, String userId, WorkOrder workOrder) {
// 发起人
User startUser = userClient.userInfoById(Long.parseLong(applyUserId)).getData();
// 接收人
@ -585,6 +591,9 @@ public class AutoStartModelServiceImpl extends BaseServiceImpl<BladeManMadeMappe
code.setSendpersonGuid(startUser.getGuid());
code.setFromExchangeCode(startUser.getMobile());
}
WebServiceUtils.InsertTodealByPollCode(WebServiceUtils.getData(code));
code.setUrl("http://10.133.191.105/#/workflow/process/effect?id=" + workOrder.getId());
System.out.println("workUrl===" + code.getUrl());
// WebServiceUtils.InsertTodealByPollCode(WebServiceUtils.getData(code));
}
}

@ -1,6 +1,7 @@
package org.springblade.plugin.workflow.process.service.impl;
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;
@ -70,8 +71,10 @@ import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.AsyncResult;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import sun.misc.BASE64Encoder;
import javax.annotation.Nullable;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.util.*;
import java.util.concurrent.Future;
@ -1663,7 +1666,9 @@ public class WfProcessService implements IWfProcessService {
code.setSendpersonGuid(startUser.getGuid());
code.setFromExchangeCode(startUser.getMobile());
}
WebServiceUtils.InsertTodealByPollCode(WebServiceUtils.getData(code));
code.setUrl("http://10.133.191.105/#/workflow/process/details?taskId=" + list.get(0).getId() + "&processInsId=" + processInsId);
System.out.println("url====" + code.getUrl());
// WebServiceUtils.InsertTodealByPollCode(WebServiceUtils.getData(code));
/*====================================消息推送=====================================*/
String[] ids = assignee.toString().split(",");

@ -49,7 +49,8 @@ public class SysClient implements ISysClient {
@Override
@GetMapping(DEPT)
public R<Dept> getDept(Long id) {
return R.data(deptService.getById(id));
// return R.data(deptService.getById(id));
return R.data(deptService.getDeptOne(id));
}
@Override

@ -2,6 +2,7 @@
package org.springblade.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.springblade.system.entity.Dept;
import org.springblade.system.vo.DeptVO;
@ -15,39 +16,40 @@ import java.util.Map;
*/
public interface DeptMapper extends BaseMapper<Dept> {
/**
* 懒加载部门列表
*
* @param tenantId
* @param parentId
* @param param
* @return
*/
List<DeptVO> lazyList(String tenantId, Long parentId, Map<String, Object> param);
/**
* 获取树形节点
*
* @param tenantId
* @return
*/
List<DeptVO> tree(String tenantId);
/**
* 懒加载获取树形节点
*
* @param tenantId
* @param parentId
* @return
*/
List<DeptVO> lazyTree(String tenantId, Long parentId);
/**
* 获取部门名
*
* @param ids
* @return
*/
List<String> getDeptNames(Long[] ids);
/**
* 懒加载部门列表
*
* @param tenantId
* @param parentId
* @param param
* @return
*/
List<DeptVO> lazyList(String tenantId, Long parentId, Map<String, Object> param);
/**
* 获取树形节点
*
* @param tenantId
* @return
*/
List<DeptVO> tree(String tenantId);
/**
* 懒加载获取树形节点
*
* @param tenantId
* @param parentId
* @return
*/
List<DeptVO> lazyTree(String tenantId, Long parentId);
/**
* 获取部门名
*
* @param ids
* @return
*/
List<String> getDeptNames(Long[] ids);
Dept getDeptOne(@Param("id") Long id);
}

@ -112,4 +112,8 @@
and is_deleted = 0
</select>
<select id="getDeptOne" resultType="org.springblade.system.entity.Dept">
SELECT id,dept_name FROM blade_dept WHERE id = #{id}
</select>
</mapper>

@ -101,4 +101,5 @@ public interface IDeptService extends IService<Dept> {
*/
List<DeptVO> search(String deptName, Long parentId);
Dept getDeptOne(Long id);
}

@ -156,4 +156,9 @@ public class DeptServiceImpl extends ServiceImpl<DeptMapper, Dept> implements ID
return DeptWrapper.build().listNodeVO(deptList);
}
@Override
public Dept getDeptOne(Long id) {
return baseMapper.getDeptOne(id);
}
}

Loading…
Cancel
Save