ソースを参照

9648 【普瑞】【经销商管理】问题:在【全部区域】可查到上级区域人员授权的经销商

wu 2 ヶ月 前
コミット
e2385e9840

+ 19 - 5
src/custom/restcontroller/webmanage/sale/salearea/salearea.java

@@ -89,18 +89,32 @@ public class salearea extends Controller {
             if (userInfo.isSaler()) {
                 ArrayList<Long> saleAreaids = SaleArea.getSubSaleAreaIds(this, userInfo.getHrSaleAreaIds(hrid));
                 saleAreaids.addAll(userInfo.getHrSaleAreaIds(hrid));
-                saleAreaids.add(-1L);
-                if (sa_saleareaidsList.size() > 0) {
-                    String sqlStr = " and t1.sys_enterpriseid in (SELECT DISTINCT sys_enterpriseid from sys_enterprise_tradefield WHERE sa_saleareaid in " + saleAreaids + " and hrid ='" + hrid + "' )";
-                    sqlStr = sqlStr.replace("[", "(").replace("]", ")");
-                    where.append(sqlStr);
+                if (saleAreaids.size() == 0) {
+                    saleAreaids.add(-1L);
                 }
+                String sqlStr = " and t1.sys_enterpriseid in (SELECT DISTINCT sys_enterpriseid from sys_enterprise_tradefield WHERE sa_saleareaid in " + saleAreaids + " and hrid ='" + hrid + "' )";
+                sqlStr = sqlStr.replace("[", "(").replace("]", ")");
+                where.append(sqlStr);
             }
             if (sa_saleareaidsList.size() > 0) {
                 String sqlStr = " and t1.sys_enterpriseid in (SELECT DISTINCT sys_enterpriseid from sys_enterprise_tradefield WHERE sa_saleareaid in " + sa_saleareaidsList + " )";
                 sqlStr = sqlStr.replace("[", "(").replace("]", ")");
                 where.append(sqlStr);
             }
+        }else{
+            if (userInfo.isSaler()) {
+                ArrayList<Long> saleAreaids = SaleArea.getSubSaleAreaIds(this, userInfo.getHrSaleAreaIds(hrid));
+                saleAreaids.addAll(userInfo.getHrSaleAreaIds(hrid));
+                if (saleAreaids.size() == 0) {
+                    saleAreaids.add(-1L);
+                }
+                    String sqlStr = " and t1.sys_enterpriseid in (SELECT DISTINCT sys_enterpriseid from sys_enterprise_tradefield WHERE sa_saleareaid in " + saleAreaids + " and hrid ='" + hrid + "' " +
+                            " UNION " +
+                            " SELECT sys_enterpriseid FROM sa_agents WHERE sys_enterpriseid NOT IN ( " +
+                            " SELECT sys_enterpriseid FROM sys_enterprise_tradefield) ) ";
+                sqlStr = sqlStr.replace("[", "(").replace("]", ")");
+                where.append(sqlStr);
+            }
         }
 
         SQLFactory sqlFactory = new SQLFactory(this, "查询经销商业务员");