| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- package com.goafanti.order.service.impl;
- import com.goafanti.common.constant.AFTConstants;
- import com.goafanti.common.dao.AdminMapper;
- import com.goafanti.common.utils.StringUtils;
- import com.goafanti.core.shiro.token.TokenManager;
- import com.goafanti.order.enums.ProcessStatus;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import java.util.List;
- @Service
- public class PushOrderService {
- public static String DEFAULTS_URL="/image/noPermission.jpg";
- @Autowired
- private AdminMapper adminMapper;
- /**
- * 根据角色判断是否可以查看合同图片
- * @param url 合同地址
- * @param aid 营销id
- * @param approval 特批
- * @param orderDep 订单编号
- * @return
- */
- public String ShiroConstant(String url,String aid,Integer approval,String orderDep){
- if (StringUtils.isNotNull(url)) {
- //暂时开放营销管理员可以查看
- if (TokenManager.hasRole(AFTConstants.SUPERADMIN) || TokenManager.hasRole(AFTConstants.APPROVAL_DECISION) ||
- TokenManager.hasRole(AFTConstants.CUSTOMER_SERVICE) || TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)
- || TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)|| TokenManager.hasRole(AFTConstants.OUTSOURCE_AUDITOR)) {
- return url;
- } else if (TokenManager.hasRole(AFTConstants.CED)) {
- if (approval == 1) {
- return url;
- } else {
- return url;
- }
- } else if (TokenManager.hasRole(AFTConstants.FINANCE)) {
- List<String> deps = adminMapper.getFinanceDep(TokenManager.getAdminId());
- boolean flag = false;
- for (String dep : deps) {
- if (dep.equals(orderDep)) {
- flag = true;
- break;
- }
- }
- if (flag) {
- return url;
- } else {
- return DEFAULTS_URL;
- }
- } else if (TokenManager.hasRole(AFTConstants.FINANCE_MANAGER)) {
- List<String> deps = adminMapper.getLowerFinanceDep(TokenManager.getAdminId());
- boolean flag = false;
- for (String dep : deps) {
- if (orderDep.equals(deps)) {
- flag = true;
- break;
- }
- }
- if (flag) {
- return url;
- } else {
- return DEFAULTS_URL;
- }
- } else if (TokenManager.hasRole(AFTConstants.SALESMAN)) {
- if (TokenManager.getAdminId().equals(aid)) {
- return url;
- } else {
- return DEFAULTS_URL;
- }
- } else {
- return DEFAULTS_URL;
- }
- }
- return null;
- }
- /**
- * 根据流程与角色判断是否可以查看订单合同
- * @param url
- * @param aid
- * @param processStatus
- * @return
- */
- public String processStatusConstant(String url,String aid,Integer processStatus){
- //流程状态 0-已派营销员,1-已派营销员管理员,2-已派财务管理员,3-已派财务专员,4-已派咨询师管理员,5-已部分派咨询师经理,6-已部全部派咨询师经理
- if (TokenManager.hasRole(AFTConstants.SUPERADMIN) || TokenManager.hasRole(AFTConstants.APPROVAL_DECISION) ||
- TokenManager.hasRole(AFTConstants.CED) ){
- return url;
- }else if (((TokenManager.hasRole(AFTConstants.SALESMAN)||TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)))&&
- TokenManager.getAdminId().equals(aid)){
- return url;
- }else if (TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)&&processStatus== ProcessStatus.YPYXGLY.getCode()){
- return url;
- }else if (TokenManager.hasRole(AFTConstants.FINANCE)&&processStatus== ProcessStatus.YPCWZY.getCode()){
- return url;
- }else if (TokenManager.hasRole(AFTConstants.TECH_ADMIN)&&processStatus== ProcessStatus.YPZXSGLY.getCode()){
- return url;
- }else{
- return DEFAULTS_URL;
- }
- }
- /**
- * 根据变更流程判断是否可以查看
- *
- * @param url
- * @param processStatus
- * @param status 在流程走完则要财务退票 状态 0草稿 1审核中 2通过 3驳回 4完成 5撤销 2是流程走完但是还停留在财务退票,4才是完全走完流程
- * @return
- */
- public String changeProcessStatusConstant(String url,Integer processStatus,Integer status){
- boolean flag=false;
- //流程状态 0营销员 1营销管理员 2技术员 3技术经理 4技术总监 5财务专员(退单) 6财务总监 7总裁 8董事长 9 财务专员(非退单)
- if (TokenManager.hasRole(AFTConstants.SUPERADMIN) || TokenManager.hasRole(AFTConstants.APPROVAL_DECISION) ||
- TokenManager.hasRole(AFTConstants.CED) ){
- flag=true;
- }else{
- switch (processStatus) {
- case 0:
- if(TokenManager.hasRole(AFTConstants.SALESMAN)||TokenManager.hasRole(AFTConstants.SALESMAN_MANAGER)){
- flag=true;
- }
- break;
- case 1:
- if(TokenManager.hasRole(AFTConstants.SALESMAN_ADMIN)){
- flag=true;
- }
- break;
- case 2:
- if(TokenManager.hasRole(AFTConstants.TECH)){
- flag=true;
- }
- break;
- case 3:
- if(TokenManager.hasRole(AFTConstants.TECH_MANAGER)){
- flag=true;
- }
- break;
- case 4:
- if(TokenManager.hasRole(AFTConstants.TECH_ADMIN)){
- flag=true;
- }
- break;
- case 5:
- if(TokenManager.hasRole(AFTConstants.FINANCE)){
- flag=true;
- }
- break;
- case 6:
- if(TokenManager.hasRole(AFTConstants.FINANCE_ADMIN)){
- flag=true;
- }
- break;
- case 7:
- if((TokenManager.hasRole(AFTConstants.CED)&&status!=2)||
- (TokenManager.hasRole(AFTConstants.FINANCE)&&status==2)){
- flag=true;
- }
- break;
- case 8:
- if((TokenManager.hasRole(AFTConstants.APPROVAL_DECISION)&&status!=2)||
- (TokenManager.hasRole(AFTConstants.FINANCE)&&status==2)){
- flag=true;
- }
- break;
- case 9:
- if(TokenManager.hasRole(AFTConstants.FINANCE)){
- flag=true;
- }
- break;
- }
- }
- if (flag){
- return url;
- }else {
- return DEFAULTS_URL;
- }
- }
- }
|