Commit f34cb0dc by 赵剑炜

修改审核流

parent d8c3eea1
......@@ -16,7 +16,7 @@ public class SuspendOrActivateDefinitionReq {
/**
* 表单
*/
private String TemplateId;
private String formId;
/**
* 备注信息
*/
......
......@@ -91,8 +91,8 @@ public class CounterSignListener implements ExecutionListener {
roleList = roleList.substring(0, roleList.length() - 1);
roleList+=")";//至此拼接完成
List<UserListDTO> userList=orgUserMapper.QueryUserByRoleId(roleList);
LoginUser StartUser= LoginContext.getContext().getLoginUser();
List<UserListDTO> userList=orgUserMapper.QueryUserByRoleId(roleList, StartUser.getUserId().toString());
for (UserListDTO userId :userList)
{
assigneeList.add(userId.getUserID());
......@@ -108,7 +108,7 @@ public class CounterSignListener implements ExecutionListener {
// List<UserListDTO> userList=orgUserMapper.QueryUserByRoleIdAndOrg(role);
List<String> Roles=group.getApproverIds();
List<String> Orgs=group.getOrgIds();
if (Roles.size()>0&&Orgs.size()>0)//角色不为空,组织机构不为空
if (Roles!=null&&Orgs!=null)//角色不为空,组织机构不为空
{
//开始拼接传入的多角色
String roleList="(";
......@@ -136,6 +136,10 @@ public class CounterSignListener implements ExecutionListener {
assigneeList.add(userId.getUserID());
}
}
else
{
throw new WorkFlowException("审核流配置不正确,无指定的组织机构!");
}
}
else if (Type.equals("1"))//上级审批
......
......@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.junmpProcess.dto.StartProcessInstanceDTO;
import com.junmp.junmpProcess.service.Bussiness.impl.WorkProcessServiceImpl;
import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.jyzb.api.bean.dto.OrderDetailDto;
import com.junmp.jyzb.api.bean.dto.OrderDto;
import com.junmp.jyzb.api.bean.dto.OrderMainDto;
......@@ -78,8 +79,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
@Resource
private OrderLogService orderLogService;
@Resource
private WorkProcessServiceImpl WorkProcessService;
private IFlowInstanceService FlowInstanceService;
@Resource
private OfficeExcelApi officeExcelApi;
......@@ -125,7 +125,7 @@ public class OrderMainServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain
startProcessInstanceDTO.setOrderId(id);
startProcessInstanceDTO.setOrderType("workOrder");
startProcessInstanceDTO.setUserId(req.getUserId());
String ProcessInstanceId= WorkProcessService.start(startProcessInstanceDTO);
String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
order.setProcessId(ProcessInstanceId);
}
orderDetailService.saveBatch(detailList);
......
......@@ -244,6 +244,14 @@
<groupId>com.junmp.jyzb</groupId>
<artifactId>jyzb-api</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>system-biz-user</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>system-biz-user</artifactId>
</dependency>
</dependencies>
......
package com.junmp.junmpProcess.controller;
import com.junmp.junmpProcess.common.utils.HttpStatus;
import com.junmp.junmpProcess.common.utils.ResponseResult;
import com.junmp.junmpProcess.common.utils.ReturnMsg;
import com.junmp.junmpProcess.dto.HandleDataDTO;
import com.junmp.junmpProcess.entity.ProcessTemplates;
import com.junmp.junmpProcess.service.Bussiness.WorkProcessService;
import com.junmp.junmpProcess.service.IFlowDefinitionService;
import com.junmp.junmpProcess.service.ISysFormService;
import com.junmp.junmpProcess.service.Repository.ProcessTemplateService;
import com.junmp.jyzb.api.bean.query.ProcessReq.SuspendOrActivateDefinitionReq;
import com.junmp.v2.common.bean.response.ApiRes;
import io.swagger.annotations.Api;
......@@ -24,7 +29,8 @@ import java.util.Map;
public class FlowDefinitionController {
@Autowired
private IFlowDefinitionService FlowDefinitionService;
@Autowired
private ProcessTemplateService processTemplateService;
@ApiOperation("停启用流程")
@PostMapping("StopProcessInstanceById")
public ApiRes<Boolean> stopProcessInstanceById(@RequestBody SuspendOrActivateDefinitionReq req) {
......@@ -36,4 +42,18 @@ public class FlowDefinitionController {
String temp= templateId.get("formId").toString();
return FlowDefinitionService.getLatestDefinitionId(temp);
}
/**
* 查询表单模板数据
*
* @param formId 模板id
* @return 模板详情数据
*/
@ApiOperation("根据ID获取表单信息")
@PostMapping(value = "getFormTemplateById")
public ResponseResult getFormTemplateById(@RequestBody Map<String,Object> formId) {
String temp= formId.get("formId").toString();
ProcessTemplates processTemplates = processTemplateService.getById(temp);
processTemplates.setFormId(processTemplates.getTemplateId());
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,processTemplates);
}
}
package com.junmp.junmpProcess.controller;
import com.junmp.junmpProcess.dto.HandleDataDTO;
import com.junmp.junmpProcess.dto.StartProcessInstanceDTO;
import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.junmpProcess.vo.TaskDetailVO;
import com.junmp.v2.common.bean.response.ApiRes;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@Slf4j
@RestController
@RequestMapping("/FlowInstance")
@Api(tags = "流程实例")
public class FlowInstanceController {
@Autowired
private IFlowInstanceService flowInstanceService;
@ApiOperation(value = "根据流程定义id启动流程实例")
@PostMapping("/startBy/{procDefId}")
public ApiRes startById(@RequestBody StartProcessInstanceDTO startProcessInstanceDTO) {
return ApiRes.success(flowInstanceService.startProcessInstanceById(startProcessInstanceDTO));
}
@ApiOperation(value = "激活或挂起流程实例")
@PostMapping(value = "/updateState")
public ApiRes updateState(@ApiParam(value = "1:激活,2:挂起", required = true) @RequestParam Integer state,
@ApiParam(value = "流程实例ID", required = true) @RequestParam String instanceId) {
flowInstanceService.updateState(state,instanceId);
return ApiRes.success();
}
@ApiOperation(value = "删除流程实例")
@DeleteMapping(value = "/delete/{instanceIds}")
public ApiRes delete(@ApiParam(value = "流程实例ID", required = true) @PathVariable String[] instanceIds,
@ApiParam(value = "删除原因") @RequestParam(required = false) String deleteReason) {
for (String instanceId : instanceIds) {
flowInstanceService.delete(instanceId,deleteReason);
}
return ApiRes.success();
}
}
package com.junmp.junmpProcess.controller;
import com.junmp.junmpProcess.common.utils.ResponseResult;
import com.junmp.junmpProcess.dto.ApplyDTO;
import com.junmp.junmpProcess.dto.HandleDataDTO;
import com.junmp.junmpProcess.dto.TaskDTO;
import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.junmpProcess.service.IFlowTaskService;
import com.junmp.junmpProcess.vo.HistoryProcessInstanceVO;
import com.junmp.junmpProcess.vo.TaskDetailVO;
import com.junmp.junmpProcess.vo.TaskVO;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Slf4j
@RestController
@RequestMapping("/FlowTask")
@Api(tags = "流程任务")
public class FlowTaskController {
@Autowired
private IFlowTaskService FlowTaskService;
@ApiOperation("同意按钮")
@PostMapping("agree")
public ResponseResult agree(@RequestBody HandleDataDTO handleDataDTO){
return FlowTaskService.agree(handleDataDTO);
}
@ApiOperation("拒绝按钮")
@PostMapping("refuse")
public ResponseResult refuse(@RequestBody HandleDataDTO handleDataDTO){
return FlowTaskService.refuse(handleDataDTO);
}
@ApiOperation("撤销按钮")
@PostMapping("revoke")
public ResponseResult revoke(@RequestBody HandleDataDTO handleDataDTO){
return FlowTaskService.revoke(handleDataDTO);
}
@ApiOperation("查看我的待办")
@PostMapping("toDoList")
public ApiRes<PageResult<TaskVO>> toDoList(@RequestBody TaskDTO taskDTO){
return ApiRes.success(FlowTaskService.toDoList(taskDTO));
}
@ApiOperation("查看我的已办")
@PostMapping("doneList")
public ApiRes<PageResult<TaskVO>> doneList(@RequestBody TaskDTO taskDTO){
return ApiRes.success(FlowTaskService.doneList(taskDTO));
}
@ApiOperation("查看我发起的流程")
@PostMapping("applyList")
public ApiRes<PageResult<HistoryProcessInstanceVO>> applyList(@RequestBody ApplyDTO ApplyDTO) {
return ApiRes.success(FlowTaskService.applyList(ApplyDTO));
}
@ApiOperation("通过流程实例查看审批记录")
@PostMapping("record")
public ApiRes<List<TaskDetailVO>> record(@RequestBody HandleDataDTO handleDataDTO) {
return FlowTaskService.record(handleDataDTO.getProcessInstanceId());
}
}
......@@ -12,7 +12,7 @@ public interface OrgUserMapper {
*
* @return
*/
public List<UserListDTO> QueryUserByRoleId(String roleId);
public List<UserListDTO> QueryUserByRoleId(String roleId,String userId);
/**
* @Author: Zhaojw
......
package com.junmp.junmpProcess.service.Bussiness;
/**
* @author : willian fu
* @version : 1.0
*/
public interface OrgUserAndDeptService {
/**
* 查询组织架构树
*
* @param deptId 部门id
* @return 组织架构树数据
*/
Object getOrgTreeData(Integer deptId, String type);
/**
* 模糊搜索用户
*
* @param userName 用户名/拼音/首字母
* @return 匹配到的用户
*/
Object getOrgTreeUser(String userName);
}
package com.junmp.junmpProcess.service.Bussiness.impl;
import cn.hutool.core.lang.Validator;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.junmp.junmpProcess.service.Bussiness.OrgUserAndDeptService;
import com.junmp.junmpProcess.service.Repository.DepartmentsService;
import com.junmp.junmpProcess.service.Repository.UserService;
import com.junmp.junmpProcess.common.R;
import com.junmp.junmpProcess.entity.Departments;
import com.junmp.junmpProcess.entity.Users;
import com.junmp.junmpProcess.vo.OrgTreeVo;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.*;
/**
* @author : willian fu
* @version : 1.0
*/
@Service
public class OrgUserAndDeptServiceImpl implements OrgUserAndDeptService {
@Resource
private DepartmentsService departmentsService;
@Resource
private UserService userService;
/**
* 查询组织架构树
*
* @param deptId 部门id
* @return 组织架构树数据
*/
@Override
public Object getOrgTreeData(Integer deptId, String type) {
LambdaQueryWrapper<Users> lambdaQueryWrapper = new LambdaQueryWrapper<>();
if (!ObjectUtils.isEmpty(deptId)) {
LambdaQueryWrapper<Departments> departmentsLambdaQueryWrapper = new LambdaQueryWrapper<>();
departmentsLambdaQueryWrapper.eq(Departments::getParentId, deptId);
lambdaQueryWrapper.like(Users::getDepartmentIds, "%" + deptId + "%")
.or()
.like(Users::getDepartmentIds, "%" + deptId + ",%")
.like(Users::getDepartmentIds, "%," + deptId + "%");
List<OrgTreeVo> orgTreeVos = new LinkedList<>();
departmentsService.list(departmentsLambdaQueryWrapper).forEach(dept -> {
orgTreeVos.add(OrgTreeVo.builder()
.id(dept.getDeptId())
.name(dept.getDeptName())
.selected(false)
.type("dept")
.build());
});
userService.list(lambdaQueryWrapper).forEach(user -> {
orgTreeVos.add(OrgTreeVo.builder()
.id(user.getUserId())
.name(user.getUserName())
.avatar(user.getAvatar())
.sex(user.getSex())
.type("user")
.selected(false)
.build());
});
return R.ok(orgTreeVos);
}
List<Users> users = userService.list();
List<Departments> departments = departmentsService.list();
//将人员按部门归类分组
Map<Long, List<Users>> deptUsers = new HashMap<>();
users.forEach(user -> {
for (String did : user.getDepartmentIds().split(",")) {
List<Users> usersList = deptUsers.get(Long.parseLong(did));
if (null == usersList) {
List<Users> list = new ArrayList<>();
list.add(user);
} else {
usersList.add(user);
}
}
});
//将部门及员工进行转换嵌套树形结构
departments.forEach(dept -> {
});
return R.ok(Collections.EMPTY_LIST);
}
/**
* 模糊搜索用户
*
* @param userName 用户名/拼音/首字母
* @return 匹配到的用户
*/
@Override
public Object getOrgTreeUser(String userName) {
LambdaQueryWrapper<Users> lambdaQueryWrapper = new LambdaQueryWrapper<>();
if (Validator.isChinese(userName)) {
lambdaQueryWrapper.like(Users::getUserName, "%" + userName + "%");
} else {
lambdaQueryWrapper.like(Users::getPingyin, "%" + userName + "%");
}
List<OrgTreeVo> list = new LinkedList<>();
userService.list(lambdaQueryWrapper).forEach(user -> {
list.add(OrgTreeVo.builder().type("user")
.sex(user.getSex())
.avatar(user.getAvatar())
.name(user.getUserName())
.id(user.getUserId())
.selected(false).build());
});
return R.ok(list);
}
}
......@@ -39,9 +39,12 @@ import com.junmp.v2.auth.api.bean.login.LoginUser;
import com.junmp.v2.auth.api.context.LoginContext;
import com.junmp.v2.common.bean.request.BaseRequest;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import com.junmp.v2.sys.user.entity.SysUser;
import com.junmp.v2.sys.user.service.SysUserService;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.flowable.bpmn.BpmnAutoLayout;
......@@ -98,6 +101,8 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
@Resource
private OrgUserMapper orgUserMapper;
@Resource
private SysUserService sysUserService;
@Resource
private RuntimeService runtimeService;
@Resource
private HistoryService historyService;
......@@ -652,9 +657,6 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
{
StartUser= LoginContext.getContext().getLoginUser();
}
// StartUser.setUserId(Long.valueOf("1694954953210986498"));
// StartUser= LoginContext.getContext().getLoginUser();
JSONObject formData = processInstanceDto.getFormData();
Authentication.setAuthenticatedUserId(StartUser.getUserId().toString());
......@@ -885,14 +887,15 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
*/
@Override
public PageResult<TaskVO> toDoList(TaskDTO taskDTO) {
LoginUser StartUser=new LoginUser();
SysUser StartUser=new SysUser();
if (taskDTO.getCurrentUserInfo().getUserId()!=null)//优先拿接口中的信息,方便调试
{
StartUser.setUserId(taskDTO.getCurrentUserInfo().getUserId());
StartUser = sysUserService.getById(taskDTO.getCurrentUserInfo().getUserId());
}
else
{
StartUser= LoginContext.getContext().getLoginUser();
StartUser= sysUserService.getById(LoginContext.getContext().getLoginUser());
}
List<Task> tasks = taskService.createTaskQuery().taskAssignee(StartUser.getUserId().toString())
......@@ -911,9 +914,8 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
taskVO.setTaskId(task.getId());
taskVO.setProcessInstanceId(task.getProcessInstanceId());
taskVO.setProcessDefinitionName(bpmnModel.getMainProcess().getName());
UserInfo user=new UserInfo();
user.setId(startUserId);
taskVO.setStartUser(user);
SysUser staruser= sysUserService.getById(startUserId);
taskVO.setStartUser(this.SetUser(staruser));
taskVO.setOrderId(MapUtil.getStr(processVariables, ORDER_ID));
taskVO.setOrderType(MapUtil.getStr(processVariables, ORDER_TYPE));
taskVO.setStartTime(processInstance.getStartTime());
......@@ -1681,7 +1683,22 @@ public class WorkProcessServiceImpl extends ServiceImpl<ProcessTemplatesMapper,
}
}
/**
* @Author: Zhaojw
* @Description: 为用户赋值
* @DateTime: 2023/9/27 16:00
* @Params:
* @Return
*/
private UserInfo SetUser(SysUser sysUser)
{
UserInfo userInfo=new UserInfo();
userInfo.setUserId(sysUser.getUserId());
userInfo.setId(sysUser.getUserId().toString());
userInfo.setName(sysUser.getRealName());
userInfo.setSex(sysUser.getSex());
return userInfo;
}
private String getCurrentName(String processInstanceId, Boolean flag, String processDefinitionId) {
if (flag) {
return "流程已结束";
......
package com.junmp.junmpProcess.service;
import com.junmp.junmpProcess.common.utils.ResponseResult;
import com.junmp.junmpProcess.dto.ApplyDTO;
import com.junmp.junmpProcess.dto.HandleDataDTO;
import com.junmp.junmpProcess.dto.TaskDTO;
import com.junmp.junmpProcess.vo.HistoryProcessInstanceVO;
import com.junmp.junmpProcess.vo.TaskDetailVO;
import com.junmp.junmpProcess.vo.TaskVO;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
public interface IFlowTaskService {
/**
* 同意
*
* @return
*/
ResponseResult agree(HandleDataDTO handleDataDTO);
/**
* 拒绝
*
* @return
*/
ResponseResult refuse(HandleDataDTO handleDataDTO);
/**
* 撤销
*
* @return
*/
ResponseResult revoke(HandleDataDTO handleDataDTO);
/**
* 查看我的待办
*
* @return
*/
PageResult<TaskVO> toDoList(TaskDTO taskDTO);
/**
* 查看我的已办
*
* @return
*/
PageResult<TaskVO> doneList(@RequestBody TaskDTO taskDTO);
/**
* 查看我发起的流程
*
* @return
*/
PageResult<HistoryProcessInstanceVO> applyList(ApplyDTO applyDTO);
/**
* 通过流程定义id启动流程
*
* @return
*/
ApiRes<List<TaskDetailVO>> record(String processInstanceId);
}
package com.junmp.junmpProcess.service.Repository;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.junmpProcess.entity.Departments;
/**
* @author : willian fu
* @version : 1.0
*/
public interface DepartmentsService extends IService<Departments> {
}
package com.junmp.junmpProcess.service.Repository;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.junmpProcess.entity.FormGroups;
/**
* @author : willian fu
* @version : 1.0
*/
public interface FormGroupService extends IService<FormGroups> {
}
package com.junmp.junmpProcess.service.Repository;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.junmpProcess.entity.TemplateGroup;
/**
* @author : willian fu
* @version : 1.0
*/
public interface TemplateGroupService extends IService<TemplateGroup> {
}
package com.junmp.junmpProcess.service.Repository;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.junmpProcess.entity.Users;
/**
* @author : willian fu
* @version : 1.0
*/
public interface UserService extends IService<Users> {
}
package com.junmp.junmpProcess.service.Repository;
/**
* @author : willian fu
* @version : 1.0
*/
public interface WorkspaceProcessService {
/**
* 获取用户可见表单
*
* @return
*/
Object getFormGroups(String name);
}
package com.junmp.junmpProcess.service.Repository.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.junmpProcess.service.Repository.DepartmentsService;
import com.junmp.junmpProcess.entity.Departments;
import com.junmp.junmpProcess.mapper.DepartmentsMapper;
import org.springframework.stereotype.Service;
/**
* @author : willian fu
* @version : 1.0
*/
@Service
class DepartmentsServiceImpl extends ServiceImpl<DepartmentsMapper, Departments> implements
DepartmentsService {
}
//package com.junmp.junmpProcess.service.Repository.impl;
//
//
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import com.junmp.junmpProcess.service.Repository.FormGroupService;
//import com.junmp.junmpProcess.entity.FormGroups;
//import com.junmp.junmpProcess.mapper.FormGroupsMapper;
//import org.springframework.stereotype.Service;
//
///**
// * @author : willian fu
// * @version : 1.0
// */
//@Service
//public class FormGroupServiceImpl extends ServiceImpl<FormGroupsMapper, FormGroups> implements
// FormGroupService {
//
//
//}
package com.junmp.junmpProcess.service.Repository.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.junmpProcess.entity.TemplateGroup;
import com.junmp.junmpProcess.mapper.TemplateGroupMapper;
import com.junmp.junmpProcess.service.Repository.TemplateGroupService;
import org.springframework.stereotype.Service;
/**
* @author : willian fu
* @version : 1.0
*/
@Service
public class TemplateGroupServiceImpl extends ServiceImpl<TemplateGroupMapper, TemplateGroup> implements
TemplateGroupService {
}
package com.junmp.junmpProcess.service.Repository.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.junmpProcess.service.Repository.UserService;
import com.junmp.junmpProcess.entity.Users;
import com.junmp.junmpProcess.mapper.UsersMapper;
import org.springframework.stereotype.Service;
/**
* @author : willian fu
* @version : 1.0
*/
@Service
public class UserServiceImpl extends ServiceImpl<UsersMapper, Users> implements UserService {
}
package com.junmp.junmpProcess.service.Repository.impl;
import com.junmp.junmpProcess.service.Repository.WorkspaceProcessService;
//import com.junmp.junmpProcess.service.Bussiness.SettingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
/**
* @author : willian fu
* @version : 1.0
*/
@Service
public class WorkspaceProcessServiceImpl implements WorkspaceProcessService {
// @Autowired
// private SettingService settingService;
/**
* 获取用户可见表单
*
* @return
*/
@Override
public Object getFormGroups(String name) {
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder
.getRequestAttributes();
// String token = CookieUtil.getCookieValue(servletRequestAttributes.getRequest(), "token");
return null;
}
}
......@@ -27,7 +27,7 @@ public class FlowDefinitionServiceImpl extends FlowServiceFactory implements IFl
@Override
public Boolean updateState(SuspendOrActivateDefinitionReq req) {
ProcessTemplates processTemplates = processTemplateService.getById(req.getTemplateId());
ProcessTemplates processTemplates = processTemplateService.getById(req.getFormId());
if (req.getIsStop() == true){
repositoryService.suspendProcessDefinitionById(req.getProcessDefinitionId(), true, null);
processTemplates.setIsStop(true);
......
......@@ -9,6 +9,8 @@ import com.junmp.junmpProcess.service.IFlowInstanceService;
import com.junmp.v2.auth.api.bean.login.LoginUser;
import com.junmp.v2.auth.api.context.LoginContext;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.sys.user.entity.SysUser;
import com.junmp.v2.sys.user.service.SysUserService;
import lombok.extern.slf4j.Slf4j;
import org.flowable.common.engine.api.FlowableObjectNotFoundException;
import org.flowable.common.engine.impl.identity.Authentication;
......@@ -20,6 +22,7 @@ import org.flowable.task.api.Task;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
......@@ -31,7 +34,8 @@ import static com.junmp.junmpProcess.common.CommonConstants.BUSINESS_STATUS_1;
@Service
@Slf4j
public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlowInstanceService {
@Resource
private SysUserService sysUserService;
@Override
public void updateState(Integer state, String instanceId) {
// 激活
......@@ -84,14 +88,14 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
@Override
public String startProcessInstanceById(StartProcessInstanceDTO processInstanceDto) {
LoginUser StartUser=new LoginUser();
SysUser StartUser=new SysUser();
if (processInstanceDto.getUserId()!=null)//优先拿接口中的信息,方便调试
{
StartUser.setUserId(Long.valueOf(processInstanceDto.getUserId()) );
StartUser = sysUserService.getById(processInstanceDto.getUserId());
}
else
{
StartUser= LoginContext.getContext().getLoginUser();
StartUser= sysUserService.getById(LoginContext.getContext().getLoginUser());
}
JSONObject formData = processInstanceDto.getFormData();
Authentication.setAuthenticatedUserId(StartUser.getUserId().toString());
......@@ -101,7 +105,7 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
processVariables.put(ORDER_TYPE,processInstanceDto.getOrderType());
processVariables.put(START_USER_INFO,JSONObject.toJSONString(StartUser));
processVariables.put(PROCESS_STATUS,BUSINESS_STATUS_1);
ArrayList<LoginUser> userInfos = CollUtil.newArrayList(StartUser);
if (formData!=null)
{
Map formValue = JSONObject.parseObject(formData.toJSONString(), new TypeReference<Map>() {
......
......@@ -9,9 +9,21 @@
</resultMap>
<select id="QueryUserByRoleId" resultMap="UserListDTO">
SELECT su.user_id,su.real_name FROM `sys_role` sr join sys_user_role sur on sr.role_id=sur.role_id JOIN sys_user su on sur.user_id=su.user_id
where sr.role_id in ${roleId}
GROUP BY su.user_id,su.real_name
SELECT su.user_id, su.real_name
FROM sys_user su
JOIN sys_user_role sur ON su.user_id = sur.user_id
JOIN sys_role sr ON sur.role_id = sr.role_id
WHERE sr.role_id in ${roleId} -- 角色ID
AND su.user_id IN (
SELECT suo.user_id
FROM sys_user_org suo
WHERE suo.org_id IN (
SELECT org_id
FROM sys_user_org
WHERE user_id = ${userId} -- 传入的用户ID
)
)
GROUP BY su.user_id, su.real_name;
</select>
<select id="QueryUserByRoleIdAndOrg" resultMap="UserListDTO">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论