|
|
@@ -1011,8 +1011,23 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
|
|
|
userExt.setSalesLevel("diysfa_level");
|
|
|
if (m.getBusinessUnit().equals("DIY")) {
|
|
|
Map<Integer, Map<String, Map<String, String>>> salesTreeMap = getDiySalesOrgTree();
|
|
|
- userExt.setOrgName(m.getStext4());
|
|
|
- setExtOrgCodeOn3(salesTreeMap, userExt);
|
|
|
+ Set<String> companySet = getConfigValueSet("libang_company_level_postname");
|
|
|
+ if(companySet.contains(postName)){
|
|
|
+ //先处理特殊的第三级 区公司级别
|
|
|
+ userExt.setOrgName(m.getStext4());
|
|
|
+ setExtOrgCodeOn3(salesTreeMap,userExt);
|
|
|
+
|
|
|
+ }else {
|
|
|
+ //判断用户u岗位是否在销售员敢为、销售分部岗位、销售部岗位、销售大区岗位中
|
|
|
+ //获取最后所属的部门名称
|
|
|
+ String orgName = getStextSfa(m,"DIY");
|
|
|
+ if(orgName.indexOf("通路推广组")!=-1){
|
|
|
+ orgName = getStextSecond(m);
|
|
|
+ }
|
|
|
+ userExt.setOrgName(orgName);
|
|
|
+ int i = getLevel(userExt,salesTreeMap);
|
|
|
+
|
|
|
+ }
|
|
|
} else if (m.getBusinessUnit().equals("CW")) {
|
|
|
Map<Integer, Map<String, Map<String, String>>> salesTreeMap = getDiySalesOrgTreeY9();
|
|
|
Set<String> deptPostNameSet = getConfigValueSet("cw_dept_postname");
|
|
|
@@ -1027,6 +1042,10 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
|
|
|
} else if (empPostNameSet.contains(postName)) {
|
|
|
userExt.setOrgName(m.getStext5());
|
|
|
userExt.setOrgCode(m.getSapEmployeeId());
|
|
|
+ }else{
|
|
|
+ String orgName = getStextSfa(m,"CW");
|
|
|
+ userExt.setOrgName(orgName);
|
|
|
+ int i = getLevelSapCw(userExt,salesTreeMap);
|
|
|
}
|
|
|
} else if (m.getBusinessUnit().equals("YSL")) {
|
|
|
Map<Integer, Map<String, Map<String, String>>> salesTreeMap = getDiyYSLSalesOrgTree();
|
|
|
@@ -1148,8 +1167,23 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
|
|
|
userExt.setSalesLevel("diysfa_level");
|
|
|
if(m.getBusinessUnit().equals("DIY")){
|
|
|
Map<Integer,Map<String,Map<String,String>>> salesTreeMap = getDiySalesOrgTree();
|
|
|
- userExt.setOrgName(m.getStext4());
|
|
|
- setExtOrgCodeOn3(salesTreeMap,userExt);
|
|
|
+ Set<String> companySet = getConfigValueSet("libang_company_level_postname");
|
|
|
+ if(companySet.contains(postName)){
|
|
|
+ //先处理特殊的第三级 区公司级别
|
|
|
+ userExt.setOrgName(m.getStext4());
|
|
|
+ setExtOrgCodeOn3(salesTreeMap,userExt);
|
|
|
+
|
|
|
+ }else {
|
|
|
+ //判断用户u岗位是否在销售员敢为、销售分部岗位、销售部岗位、销售大区岗位中
|
|
|
+ //获取最后所属的部门名称
|
|
|
+ String orgName = getStextSfa(m,"DIY");
|
|
|
+ if(orgName.indexOf("通路推广组")!=-1){
|
|
|
+ orgName = getStextSecond(m);
|
|
|
+ }
|
|
|
+ userExt.setOrgName(orgName);
|
|
|
+ int i = getLevel(userExt,salesTreeMap);
|
|
|
+
|
|
|
+ }
|
|
|
}else if(m.getBusinessUnit().equals("CW")){
|
|
|
Map<Integer, Map<String, Map<String, String>>> salesTreeMap = getDiySalesOrgTreeY9();
|
|
|
Set<String> deptPostNameSet = getConfigValueSet("cw_dept_postname");
|
|
|
@@ -1164,6 +1198,10 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
|
|
|
} else if (empPostNameSet.contains(postName)) {
|
|
|
userExt.setOrgName(m.getStext5());
|
|
|
userExt.setOrgCode(m.getSapEmployeeId());
|
|
|
+ }else{
|
|
|
+ String orgName = getStextSfa(m,"CW");
|
|
|
+ userExt.setOrgName(orgName);
|
|
|
+ int i = getLevelSapCw(userExt,salesTreeMap);
|
|
|
}
|
|
|
}else if(m.getBusinessUnit().equals("YSL")){
|
|
|
Map<Integer, Map<String, Map<String, String>>> salesTreeMap = getDiyYSLSalesOrgTree();
|
|
|
@@ -1259,6 +1297,23 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
|
|
|
}
|
|
|
throw new NotOrgNameException(m);
|
|
|
}
|
|
|
+
|
|
|
+ public String getStextSfa(MetaEmployeeDiy m,String type){
|
|
|
+ if("DIY".equals(type)){
|
|
|
+ if(m.getStext5()!=null&&!m.getStext5().trim().equals("")){
|
|
|
+ return m.getStext5();
|
|
|
+ }
|
|
|
+ } if(m.getStext4()!=null&&!m.getStext4().trim().equals("")){
|
|
|
+ return m.getStext4();
|
|
|
+ }else if(m.getStext3()!=null&&!m.getStext3().trim().equals("")){
|
|
|
+ return m.getStext3();
|
|
|
+ }else if(m.getStext2()!=null&&!m.getStext2().trim().equals("")){
|
|
|
+ return m.getStext2();
|
|
|
+ }else if(m.getStext1()!=null&&!m.getStext1().trim().equals("")){
|
|
|
+ return m.getStext1();
|
|
|
+ }
|
|
|
+ throw new NotOrgNameException(m);
|
|
|
+ }
|
|
|
/**
|
|
|
* 获取用户最后的stext
|
|
|
* @param m
|
|
|
@@ -1414,6 +1469,25 @@ public class AnalysisSysUserService implements IAnalysisSysUserService {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ public int getLevelSapCw(SysUserExt userExt,Map<Integer,Map<String,Map<String,String>>> salesTree){
|
|
|
+ String orgName = userExt.getOrgName();
|
|
|
+ String s ="销售大区";
|
|
|
+ String s1 = orgName.replace(s,"");
|
|
|
+ /* if (orgNameTmp != null && orgNameTmp.startsWith("36城-")) {
|
|
|
+ orgNameTmp = orgNameTmp.replaceAll("36城-", "");
|
|
|
+ }*/
|
|
|
+ for(int i =6;i>2;i--){
|
|
|
+ if(salesTree.containsKey(i)){
|
|
|
+ Map<String,Map<String,String>> temp = salesTree.get(i);
|
|
|
+ if(temp.containsKey(s1)){
|
|
|
+ userExt.setOrgCode(temp.get(s1).get("orgcode"));
|
|
|
+ return i;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return -1;
|
|
|
+
|
|
|
+ }
|
|
|
/**
|
|
|
* 获取销售组织架构树
|
|
|
* @return
|