PushOrderService.java 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. package com.goafanti.order.service.impl;
  2. import com.goafanti.common.constant.AFTConstants;
  3. import com.goafanti.common.dao.AdminMapper;
  4. import com.goafanti.common.utils.StringUtils;
  5. import com.goafanti.core.shiro.token.TokenManager;
  6. import com.goafanti.order.bo.TOrderNewBo;
  7. import com.goafanti.order.enums.ApprovalNewState;
  8. import com.goafanti.order.enums.ProcessStatus;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import java.util.List;
  12. @Service
  13. public class PushOrderService {
  14. public static final String DEFAULTS_URL="/image/noPermission.jpg";
  15. /**
  16. * 根据流程与角色判断是否可以查看订单合同
  17. * @return 超级管理员、运营决策者、总裁、外包审核与可以查看;营销员与经理可以查看自己的订单;
  18. * 营销管理员、财务专员、咨询师管理员可以看到在自己手上的合同;其他只能获取到无权限查看的图片
  19. *
  20. */
  21. public String processStatusConstant(TOrderNewBo t){
  22. //tOrder.getContractPictureUrl(),tOrder.getSalesmanId(),tOrder.getProcessStatus(),tOrder.getApproval()
  23. //流程状态 0-已派营销员,1-已派营销员管理员,2-已派财务管理员,3-已派财务专员,4-已派咨询师管理员,5-已部分派咨询师经理,6-已部全部派咨询师经理
  24. if (TokenManager.hasRole(AFTConstants.SUPERADMIN) || TokenManager.hasRole(AFTConstants.APPROVAL_DECISION) ){
  25. return t.getContractPictureUrl();
  26. }else if(TokenManager.hasRole(AFTConstants.CED)){
  27. if (t.getApproval()== ApprovalNewState.ZCDSH.getCode()){
  28. return t.getContractPictureUrl();
  29. }else if (t.getSalesmanId().equals(AFTConstants.CAOJIN_AID)){
  30. return DEFAULTS_URL;
  31. }else {
  32. return t.getContractPictureUrl();
  33. }
  34. }else if (TokenManager.hasRole(AFTConstants.SALESMAN)&&
  35. TokenManager.getAdminId().equals(t.getSalesmanId())){
  36. return t.getContractPictureUrl();
  37. }else if (TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)&&
  38. TokenManager.getAdminId().equals(t.getSalesmanId())){
  39. return t.getContractPictureUrl();
  40. }else if (TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)&& !TokenManager.getAdminId().equals(t.getSalesmanId())){
  41. if (TokenManager.getAdminId().equals(t.getManagerId())&&t.getProcessStatus()==ProcessStatus.YPYXJL.getCode()){
  42. return t.getContractPictureUrl();
  43. }else {
  44. return DEFAULTS_URL;
  45. }
  46. }else if (TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)&&t.getProcessStatus()== ProcessStatus.YPYXGLY.getCode()){
  47. return t.getContractPictureUrl();
  48. }else if (TokenManager.hasRole(AFTConstants.FINANCE)&&t.getProcessStatus()== ProcessStatus.YPCWZY.getCode()){
  49. return t.getContractPictureUrl();
  50. }else if (TokenManager.hasRole(AFTConstants.TECH_ADMIN)&&t.getProcessStatus()== ProcessStatus.YPZXSGLY.getCode()){
  51. return t.getContractPictureUrl();
  52. }else if (TokenManager.hasRole(AFTConstants.OUTSOURCE_AUDITOR)){
  53. return t.getContractPictureUrl();
  54. }else{
  55. return DEFAULTS_URL;
  56. }
  57. }
  58. /**
  59. * 根据变更流程判断是否可以查看
  60. *
  61. * @param url
  62. * @param processStatus
  63. * @param status 在流程走完则要财务退票 状态 0草稿 1审核中 2通过 3驳回 4完成 5撤销 2是流程走完但是还停留在财务退票,4才是完全走完流程
  64. * @return
  65. */
  66. public String changeProcessStatusConstant(String url,String aid,Integer processStatus,Integer status){
  67. boolean flag=false;
  68. //流程状态 0营销员 1营销管理员 2技术员 3技术经理 4技术总监 5财务专员(退单) 6财务总监 7总裁 8董事长 9 财务专员(非退单)
  69. if (TokenManager.hasRole(AFTConstants.SUPERADMIN) || TokenManager.hasRole(AFTConstants.APPROVAL_DECISION) ||
  70. TokenManager.hasRole(AFTConstants.CED) ||TokenManager.hasRole(AFTConstants.CED_ASSISTANT)){
  71. flag=true;
  72. } else if(TokenManager.hasRole(AFTConstants.SALESMAN)||TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)){
  73. flag=true;
  74. }else{
  75. switch (processStatus) {
  76. case 2:
  77. if(TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)){
  78. flag=true;
  79. }
  80. break;
  81. case 3:
  82. if(TokenManager.hasRole(AFTConstants.TECH)){
  83. flag=true;
  84. }
  85. break;
  86. case 4:
  87. if(TokenManager.hasRole(AFTConstants.TECH_MANAGER)){
  88. flag=true;
  89. }
  90. break;
  91. case 5:
  92. if(TokenManager.hasRole(AFTConstants.TECH_ADMIN)){
  93. flag=true;
  94. }
  95. break;
  96. case 6:
  97. if(TokenManager.hasRole(AFTConstants.FINANCE)){
  98. flag=true;
  99. }
  100. break;
  101. case 7:
  102. if(TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)){
  103. flag=true;
  104. }
  105. break;
  106. case 8:
  107. if((TokenManager.hasRole(AFTConstants.CED)&&status!=2)||
  108. (TokenManager.hasRole(AFTConstants.FINANCE)&&status==2)){
  109. flag=true;
  110. }
  111. break;
  112. case 9:
  113. if((TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)||(TokenManager.hasRole(AFTConstants.APPROVAL_DECISION_AUDITOR))&&status!=2)||
  114. (TokenManager.hasRole(AFTConstants.FINANCE)&&status==2)){
  115. flag=true;
  116. }
  117. break;
  118. }
  119. }
  120. if (flag){
  121. return url;
  122. }else {
  123. return DEFAULTS_URL;
  124. }
  125. }
  126. }