ActRoleController.java 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package com.chinaitop.depot.act.controller;
  2. import com.chinaitop.depot.act.service.ActTaskService;
  3. import com.chinaitop.depot.business.model.RoleInfo;
  4. import com.chinaitop.depot.business.model.RoleInfoExample;
  5. import com.chinaitop.depot.business.model.UserInfo;
  6. import com.chinaitop.depot.business.service.RoleInfoService;
  7. import org.activiti.engine.delegate.Expression;
  8. import org.activiti.engine.impl.task.TaskDefinition;
  9. import org.springframework.web.bind.annotation.RequestMapping;
  10. import org.springframework.web.bind.annotation.RequestMethod;
  11. import org.springframework.web.bind.annotation.RestController;
  12. import javax.annotation.Resource;
  13. import java.util.*;
  14. @RestController
  15. @RequestMapping(value = "/act/roleList")
  16. public class ActRoleController {
  17. @Resource
  18. private ActTaskService actTaskService;
  19. @Resource
  20. private RoleInfoService roleInfoService;
  21. /**
  22. * 查看下一个流程定义的人
  23. * @throws Exception
  24. * @param procInstId 流程定义的id
  25. */
  26. @RequestMapping(value="/getUserList", method=RequestMethod.GET)
  27. public Map<String, Object> getUserList(String procInstId, String type,Integer orgId) throws Exception{
  28. /*procInstId = "190075";*/
  29. int roleId = 0 ;
  30. Map <String, Object> modelMap = new HashMap<String, Object>();
  31. TaskDefinition nextTaskDefinition = actTaskService.nextTaskDefinition(procInstId);
  32. if(nextTaskDefinition!=null){
  33. Set<Expression> candidateGroupIdExpressions = nextTaskDefinition.getCandidateGroupIdExpressions();
  34. List<RoleInfo> roleInfoList = new ArrayList<RoleInfo>();
  35. for (Expression expression : candidateGroupIdExpressions) {
  36. String string = expression.toString();
  37. roleId = Integer.parseInt(string);
  38. RoleInfo roleInfo = roleInfoService.findById(roleId);
  39. if(roleInfo != null){
  40. RoleInfoExample example = new RoleInfoExample();
  41. RoleInfoExample.Criteria createCriteria = example.createCriteria();
  42. createCriteria.andRoleNameEqualTo(roleInfo.getRoleName());
  43. createCriteria.andOrgIdEqualTo(orgId);
  44. roleInfoList.addAll(roleInfoService.queryByExample(example));
  45. }
  46. }
  47. List<UserInfo> userByRoleId = new ArrayList<UserInfo>();
  48. if(type.equals("transferContract")){
  49. for(RoleInfo r : roleInfoList){
  50. if(r.getRoleName().equals("中转部经理") || r.getRoleName().equals("库领导") ){
  51. userByRoleId = actTaskService.getUserByRoleId(r.getRoleId(),orgId);
  52. break;
  53. }
  54. }
  55. }else{
  56. for(RoleInfo r : roleInfoList){
  57. if(r.getRoleName().equals("经营部经理") || r.getRoleName().equals("库领导") || r.getRoleName().equals("财务") ){
  58. userByRoleId = actTaskService.getUserByRoleId(r.getRoleId(),orgId);
  59. break;
  60. }
  61. }
  62. }
  63. if(userByRoleId.size()>0&&userByRoleId!=null){
  64. modelMap.put("userByRoleId", userByRoleId);
  65. }else {
  66. modelMap.put("isEnd", true);
  67. modelMap.put("msg", "没有下一个审批角色或没有角色对应的审批人");
  68. }
  69. }else {
  70. modelMap.put("isEnd", true);
  71. modelMap.put("msg", "没有检测到流程数据信息");
  72. }
  73. return modelMap;
  74. }
  75. }