Browse Source

门店用户区分

njs 3 years ago
parent
commit
1dbaa385be

+ 78 - 4
suishenbang-sync/suishenbang-sync-common/src/main/java/com/dgtly/sync/service/impl/AnalysisSysUserService.java

@@ -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