diff --git a/src/main/java/com/xdap/self_development/controller/PermissionController.java b/src/main/java/com/xdap/self_development/controller/PermissionController.java index ab1ee96..e6b8794 100644 --- a/src/main/java/com/xdap/self_development/controller/PermissionController.java +++ b/src/main/java/com/xdap/self_development/controller/PermissionController.java @@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.constraints.NotBlank; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -139,5 +140,13 @@ public class PermissionController { List list = parameterService.getAllParameters(subsystem); return Response.ok().data(list); } + // 查看角色绑定的人员或部门列表 + @GetMapping("/selectUserOrDeptByRole") + public Response selectUserOrDeptByRole( + @NotBlank String roleID + ) { + HashMap> map = modelRoleService.selectUserOrDeptByRole(roleID); + return Response.ok().data(map); + } } diff --git a/src/main/java/com/xdap/self_development/listener/EngineModelListener.java b/src/main/java/com/xdap/self_development/listener/EngineModelListener.java index 0531360..17a6a8d 100644 --- a/src/main/java/com/xdap/self_development/listener/EngineModelListener.java +++ b/src/main/java/com/xdap/self_development/listener/EngineModelListener.java @@ -33,7 +33,7 @@ public class EngineModelListener implements ReadListener> selectUserOrDeptByRole(@NotBlank String roleID); } diff --git a/src/main/java/com/xdap/self_development/service/impl/ActivitiProcessServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ActivitiProcessServiceImpl.java index aeea9a7..f23582e 100644 --- a/src/main/java/com/xdap/self_development/service/impl/ActivitiProcessServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/ActivitiProcessServiceImpl.java @@ -196,16 +196,27 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { .doUpdate(EngineParamDetailPojo.class); } + boolean b = false; // 保存审批环节配置 for (ApprovalNodeDTO nodeDTO : approvalNodeRequest.getNodeList()) { + + if (ObjectUtils.isEmpty(nodeDTO.getAssignees())) { + b = true; + continue; + } + Integer nodeOrder = nodeDTO.getNodeOrder(); + if (b) { + nodeOrder = nodeOrder - 1; + } ApprovalConfigPojo config = new ApprovalConfigPojo(); config.setApprovalId(approvalId); config.setNodeName(nodeDTO.getNodeName()); config.setAssignees(String.join(",", nodeDTO.getAssignees())); - config.setNodeOrder(nodeDTO.getNodeOrder()); + config.setNodeOrder(nodeOrder); config.setCreatedBy(userId); config.setCreationDate(new Date()); sw.buildFromDatasource("xdap_app_223770822127386625").doInsert(config); + b = false; } //记录审批提交操作 ParamApprovalRecordPojo record = new ParamApprovalRecordPojo(); @@ -416,11 +427,11 @@ public class ActivitiProcessServiceImpl implements ActivitiProcessService { .collect(Collectors.toList()); //已完成人的待办is_delete=1 - sw.buildFromDatasource("xdap_app_223770822127386625") - .update("is_delete", 1) - .update("last_update_date", new Date()) - .eq("document_no", approvalId) - .doUpdate(TodoTaskPojo.class); + sw.buildFromDatasource("xdap_app_223770822127386625") + .update("is_delete", 1) + .update("last_update_date", new Date()) + .eq("document_no", approvalId) + .doUpdate(TodoTaskPojo.class); for (String remainingAssignee : remainingAssignees) { TodoTaskPojo todoTaskPojo = new TodoTaskPojo(); diff --git a/src/main/java/com/xdap/self_development/service/impl/DataEntryEngineModelServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/DataEntryEngineModelServiceImpl.java index 68a074d..8b62011 100644 --- a/src/main/java/com/xdap/self_development/service/impl/DataEntryEngineModelServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/DataEntryEngineModelServiceImpl.java @@ -60,7 +60,7 @@ public class DataEntryEngineModelServiceImpl implements DataEntryEngineModelServ private int page = 1; private int size = 10; - private Integer versionNumber = 0; + private Integer versionNumber = 1; @Override diff --git a/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java index 73dc9b6..0c29ae9 100644 --- a/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/EngineParamDetailServiceImpl.java @@ -297,7 +297,20 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { .doUpdate(EngineParamDetailPojo.class); } else if (engineParamDetailPojo.getOperation().equals(String.valueOf(ParamOperation.INSERT))) { - //应该不会有新增参数 要不然还要给参数绑定部门,责任人,填写人 + + } + //填写后消除待办 + String id = engineParamDetailPojo.getId(); + EngineParamDetailPojo engineParamDetailPojo1 = selectById(id); + String filledBy = engineParamDetailPojo1.getFilledBy(); + sw.buildFromDatasource("xdap_app_223770822127386625") + .update("is_delete", 1) + .update("last_update_date", new Date()) + .eq("owner_id", filledBy) + .eq("current_node","数据维护") + .doUpdate(TodoTaskPojo.class); + + //应该不会有新增参数 要不然还要给参数绑定部门,责任人,填写人 // EngineParamDetailPojo ei = new EngineParamDetailPojo(); // // BeanUtils.copyProperties(engineParamDetailPojo, ei,"id","majorVersion"); @@ -345,7 +358,7 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { // } else { // throw new RuntimeException("有数据并非草稿或最新版本或超出最新版本,请检查后更新"); // } - } + } //分解任务 @@ -395,20 +408,21 @@ public class EngineParamDetailServiceImpl implements EngineParamDetailService { List detailPojos = selectByResId(userID); List paramDetailPojos = detailPojos.stream() .filter(x -> x.getEngineModelId().equals(engineModelId) && ObjectUtils.isEmpty(x.getFilledBy())).collect(Collectors.toList()); - if (ObjectUtils.isNotEmpty(paramDetailPojos)) { + if (ObjectUtils.isEmpty(paramDetailPojos)) { //软删除这个代办人的任务 sw.buildFromDatasource("xdap_app_223770822127386625") .eq("owner_id", userID) .eq("model_id", engineModelId) + .eq("current_node", "任务分解") .update("is_delete", 1) .doUpdate(TodoTaskPojo.class); - //机型的分发状态改为已分发 - DistributeStatusEnum byDesc = DistributeStatusEnum.getByDesc("已分发"); - Integer status = byDesc != null ? byDesc.getCode() : null; - sw.buildFromDatasource("xdap_app_223770822127386625") - .eq("id", engineModelId) - .update("status", status) - .doUpdate(DataEntryEngineModelPojo.class); +// //机型的分发状态改为已分发 +// DistributeStatusEnum byDesc = DistributeStatusEnum.getByDesc("已分发"); +// Integer status = byDesc != null ? byDesc.getCode() : null; +// sw.buildFromDatasource("xdap_app_223770822127386625") +// .eq("id", engineModelId) +// .update("status", status) +// .doUpdate(DataEntryEngineModelPojo.class); } } diff --git a/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java index 7e5bcf2..2432314 100644 --- a/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/ModelRoleServiceImpl.java @@ -1,6 +1,8 @@ package com.xdap.self_development.service.impl; +import com.xdap.api.moudle.department.pojo.entity.XdapDepartments; +import com.xdap.api.moudle.user.pojo.XdapUsers; import com.xdap.self_development.config.BusinessDatabase; import com.xdap.self_development.controller.request.ModelRolesRequest; import com.xdap.self_development.controller.request.RolePerJoinRequest; @@ -13,6 +15,7 @@ import com.xdap.self_development.pojo.view.MenuListView; import com.xdap.self_development.pojo.view.MenuParamView; import com.xdap.self_development.service.ModelMenuPermissionService; import com.xdap.self_development.service.ModelRoleService; +import com.xdap.self_development.service.XdapDeptUsersService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.BeanUtils; @@ -32,6 +35,8 @@ public class ModelRoleServiceImpl implements ModelRoleService { BusinessDatabase businessDatabase; @Autowired ModelMenuPermissionService modelMenuPermissionService; + @Autowired + XdapDeptUsersService xdapDeptUsersService; @Override public void addRoles(ModelRolesRequest request) { @@ -226,6 +231,7 @@ public class ModelRoleServiceImpl implements ModelRoleService { businessDatabase.getBusinessDatabase() .update("is_enable", 0) .eq("role_id", roleId) + .eq("is_dep",isDept) .doUpdate(ModelDepUserRolePojo.class); } for (String userOrDeptId : userRoleBindingRequest.getUserOrDeptIds()) { @@ -244,4 +250,36 @@ public class ModelRoleServiceImpl implements ModelRoleService { } + @Override + public HashMap> selectUserOrDeptByRole(String roleID) { + if (ObjectUtils.isEmpty(roleID)) { + return null; + } + List modelDepUserRolePojos = businessDatabase.getBusinessDatabase() + .eq("role_id", roleID) + .eq("is_enable", 1) + .doQuery(ModelDepUserRolePojo.class); + HashMap> map = new HashMap<>(); + if (ObjectUtils.isNotEmpty(modelDepUserRolePojos)) { + List deptList = modelDepUserRolePojos.stream().filter(x -> x.getIsDep() == 1).collect(Collectors.toList()); + List userList = modelDepUserRolePojos.stream().filter(x -> x.getIsDep() == 0).collect(Collectors.toList()); + ArrayList stringsDept = new ArrayList<>(); + ArrayList stringsUser = new ArrayList<>(); + for (ModelDepUserRolePojo userRolePojo : deptList) { + String depId = userRolePojo.getUserOrDep(); + XdapDepartments xdapDepartments = xdapDeptUsersService.selectDeptByID(depId); + stringsDept.add(xdapDepartments.getName()); + } + map.put("部门", stringsDept); + for (ModelDepUserRolePojo userRolePojo : userList) { + String userId = userRolePojo.getUserOrDep(); + XdapUsers xdapUsers = xdapDeptUsersService.selectUserByID(userId); + stringsUser.add(xdapUsers.getUsername()+"-"+xdapUsers.getAccount()); + } + map.put("人员", stringsUser); + return map; + } + return null; + } + } diff --git a/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java b/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java index bf2a3fd..d4cd8de 100644 --- a/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java +++ b/src/main/java/com/xdap/self_development/service/impl/TodoTaskServiceImpl.java @@ -6,6 +6,7 @@ import com.xdap.api.moudle.user.pojo.XdapUsers; import com.xdap.self_development.controller.request.TodoReturnRequest; import com.xdap.self_development.controller.request.TodoTaskRequest; import com.xdap.self_development.enums.CurrentNodeEnum; +import com.xdap.self_development.enums.DistributeStatusEnum; import com.xdap.self_development.pojo.*; import com.xdap.self_development.pojo.dto.EngineParamDetailDTO; import com.xdap.self_development.pojo.dto.PageResultDTO; @@ -155,6 +156,18 @@ public class TodoTaskServiceImpl implements TodoTaskService { todoTaskPojos.add(todoTaskPojo); } batchInsertTodoTask(todoTaskPojos); + List detailPojos = engineParamDetailService.selectByModelNewVersion(modelId); + List paramDetailPojos = detailPojos.stream() + .filter(x -> ObjectUtils.isEmpty(x.getResponsiblePersonId())).collect(Collectors.toList()); +// 机型的分发状态改为已分发 + if (ObjectUtils.isEmpty(paramDetailPojos)) { + DistributeStatusEnum byDesc = DistributeStatusEnum.getByDesc("已分发"); + Integer status = byDesc != null ? byDesc.getCode() : null; + sw.buildFromDatasource("xdap_app_223770822127386625") + .eq("id", modelId) + .update("distribute_status", status) + .doUpdate(DataEntryEngineModelPojo.class); + } } @Override