1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package com.chinaitop.depot.act.controller;
- import com.chinaitop.depot.act.service.ActTaskService;
- import com.chinaitop.depot.business.model.RoleInfo;
- import com.chinaitop.depot.business.model.RoleInfoExample;
- import com.chinaitop.depot.business.model.UserInfo;
- import com.chinaitop.depot.business.service.RoleInfoService;
- import org.activiti.engine.delegate.Expression;
- import org.activiti.engine.impl.task.TaskDefinition;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import javax.annotation.Resource;
- import java.util.*;
- @RestController
- @RequestMapping(value = "/act/roleList")
- public class ActRoleController {
- @Resource
- private ActTaskService actTaskService;
- @Resource
- private RoleInfoService roleInfoService;
- /**
- * 查看下一个流程定义的人
- * @throws Exception
- * @param procInstId 流程定义的id
- */
- @RequestMapping(value="/getUserList", method=RequestMethod.GET)
- public Map<String, Object> getUserList(String procInstId, String type,Integer orgId) throws Exception{
- /*procInstId = "190075";*/
- int roleId = 0 ;
- Map <String, Object> modelMap = new HashMap<String, Object>();
- TaskDefinition nextTaskDefinition = actTaskService.nextTaskDefinition(procInstId);
- if(nextTaskDefinition!=null){
- Set<Expression> candidateGroupIdExpressions = nextTaskDefinition.getCandidateGroupIdExpressions();
- List<RoleInfo> roleInfoList = new ArrayList<RoleInfo>();
- for (Expression expression : candidateGroupIdExpressions) {
- String string = expression.toString();
- roleId = Integer.parseInt(string);
- RoleInfo roleInfo = roleInfoService.findById(roleId);
- if(roleInfo != null){
- RoleInfoExample example = new RoleInfoExample();
- RoleInfoExample.Criteria createCriteria = example.createCriteria();
- createCriteria.andRoleNameEqualTo(roleInfo.getRoleName());
- createCriteria.andOrgIdEqualTo(orgId);
- roleInfoList.addAll(roleInfoService.queryByExample(example));
- }
- }
- List<UserInfo> userByRoleId = new ArrayList<UserInfo>();
- if(type.equals("transferContract")){
- for(RoleInfo r : roleInfoList){
- if(r.getRoleName().equals("中转部经理") || r.getRoleName().equals("库领导") ){
- userByRoleId = actTaskService.getUserByRoleId(r.getRoleId(),orgId);
- break;
- }
- }
- }else{
- for(RoleInfo r : roleInfoList){
- if(r.getRoleName().equals("经营部经理") || r.getRoleName().equals("库领导") || r.getRoleName().equals("财务") ){
- userByRoleId = actTaskService.getUserByRoleId(r.getRoleId(),orgId);
- break;
- }
- }
- }
- if(userByRoleId.size()>0&&userByRoleId!=null){
- modelMap.put("userByRoleId", userByRoleId);
- }else {
- modelMap.put("isEnd", true);
- modelMap.put("msg", "没有下一个审批角色或没有角色对应的审批人");
- }
- }else {
- modelMap.put("isEnd", true);
- modelMap.put("msg", "没有检测到流程数据信息");
- }
- return modelMap;
- }
- }
|