Przeglądaj źródła

当前账号授权的并且启用的经销商

wu 4 miesięcy temu
rodzic
commit
b941223dd2

+ 5 - 0
src/custom/restcontroller/R.java

@@ -7718,6 +7718,11 @@ public class R {
         public static class v1 {
         }
     }
+
+    public static class ID2025123116453802 {
+        public static class v1 {
+        }
+    }
 }
 
 

+ 87 - 6
src/custom/restcontroller/webmanage/sale/salearea/salearea.java

@@ -136,6 +136,87 @@ public class salearea extends Controller {
         return getSucReturnObject().setData(rows).toString();
     }
 
+    @API(title = "当前账号授权的并且启用的经销商", apiversion = R.ID2025123116453802.v1.class)
+    public String query_agent2() throws YosException {
+                /*
+          过滤条件设置
+         */
+        StringBuffer where = new StringBuffer(" 1=1 ");
+        if (content.containsKey("where")) {
+            JSONObject whereObject = content.getJSONObject("where");
+            if (whereObject.containsKey("condition") && !"".equals(whereObject.getString("condition"))) {
+                where.append(" and(");
+                where.append("t1.agentnum like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t2.enterprisename like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t2.province like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t2.city like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t2.county like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t2.address like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t3.erpagentnum like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t5.salernames like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("startdate") && !"".equals(whereObject.getString("startdate"))) {
+                where.append(" and(");
+                where.append("t1.createdate >='").append(whereObject.getString("startdate")).append(" 00:00:00' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("enddate") && !"".equals(whereObject.getString("enddate"))) {
+                where.append(" and(");
+                where.append("t1.createdate <='").append(whereObject.getString("enddate")).append(" 23:59:59' ");
+                where.append(")");
+            }
+            if (whereObject.containsKey("status") && !"".equals(whereObject.getString("status"))) {
+                where.append(" and ");
+                where.append("t1.status = '").append(whereObject.getString("status")).append("' ");
+            }
+            if (whereObject.containsKey("cooperatetype") && !"".equals(whereObject.getString("cooperatetype"))) {
+                where.append(" and ");
+                where.append("t1.cooperatetype = '").append(whereObject.getString("cooperatetype")).append("' ");
+            }
+        }
+
+        where.append(" and t1.status ='启用' ");
+
+
+        String sqlStr = " and t1.sys_enterpriseid in (SELECT DISTINCT sys_enterpriseid from sys_enterprise_tradefield WHERE  hrid ='" + hrid + "' )";
+        sqlStr = sqlStr.replace("[", "(").replace("]", ")");
+        where.append(sqlStr);
+
+
+        SQLFactory sqlFactory = new SQLFactory(this, "查询经销商业务员");
+        sqlFactory.addParameter("siteid", siteid);
+
+        QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sa_agents",
+                        "sa_agentsid", "sys_enterpriseid", "gmname", "gmphonenumber", "agentnum", "cooperatetype", "remarks", "status", "createdate", "scale", "mainproducts").
+                setTableAlias("t1");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_enterprise", "t2", "t1.siteid = t2.siteid and t1.sys_enterpriseid = t2.sys_enterpriseid",
+                "enterprisename", "province", "city", "county", "address");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_dataextend", "t3", "t1.sys_enterpriseid = t3.ownerid and ownertable = 'sys_enterprise' and t1.siteid = t3.siteid",
+                "erpagentnum");
+        querySQL.addJoinTable(JOINTYPE.left, "sys_dataextend", "t4", "t1.siteid = t4.siteid and t1.sa_agentsid = t4.ownerid and t4.ownertable = 'sa_agents'",
+                "deletereason");
+        querySQL.addJoinTable(JOINTYPE.left, sqlFactory, "t5", "t5.sa_agentsid = t1.sa_agentsid", "salernames");
+        querySQL.addQueryFields("deletechangedate", "t4.changedate");
+        querySQL.addQueryFields("deletechangeby", "t4.changeby");
+        querySQL.setSiteid(siteid);
+        querySQL.setWhere(where);
+
+        querySQL.setPage(pageSize, pageNumber);
+
+        querySQL.setOrderBy("t1.createdate desc");
+        Rows rows = querySQL.query();
+
+        RowsMap areaRowsMap = CommonHepler.getAreaRowsMap(this, rows.toArrayList("sa_agentsid", new ArrayList<>()));
+        for (Row row : rows) {
+            row.put("p_c_c", row.getString("province") + "-" + row.getString("city") + "-" + row.getString("county"));
+            Rows areaRows = areaRowsMap.getOrDefault(row.getString("sa_agentsid"), new Rows());
+            row.put("areanames", StringUtils.join(areaRows.toArrayList("areaname"), ","));
+        }
+        return getSucReturnObject().setData(rows).toString();
+    }
+
+
     @API(title = "营销区域列表查询")
     @CACHEING
     public String query_area() throws YosException {
@@ -385,18 +466,18 @@ public class salearea extends Controller {
 
         QuerySQL querySQL = SQLFactory.createQuerySQL(this, "sys_hr", "t1.*").setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.inner, "sys_department", "t2", "t1.siteid = t2.siteid and t1.departmentid = t2.departmentid",
-                "depname","depfullname");
+                "depname", "depfullname");
         querySQL.addJoinTable(JOINTYPE.left, "sys_hr", "t3", "t1.siteid = t3.siteid and t1.reporthrid = t3.hrid");
-        querySQL.addJoinTable(JOINTYPE.inner, "sa_salearea_hr", "t4", "t1.siteid = t4.siteid and t1.hrid = t4.hrid","sa_salearea_hrid");
+        querySQL.addJoinTable(JOINTYPE.inner, "sa_salearea_hr", "t4", "t1.siteid = t4.siteid and t1.hrid = t4.hrid", "sa_salearea_hrid");
         querySQL.addJoinTable(JOINTYPE.inner, "sa_salearea", "t5", "t4.siteid = t5.siteid and t4.sa_saleareaid = t5.sa_saleareaid",
-                "sa_saleareaid","areaname","areafullname");
+                "sa_saleareaid", "areaname", "areafullname");
         querySQL.addJoinTable(JOINTYPE.left, "sys_users", "t6", "t1.userid = t6.userid",
                 "accountno");
-        querySQL.addQueryFields("reporthrname","t3.name");
-        querySQL.addQueryFields("userphonenumber","t6.phonenumber");
+        querySQL.addQueryFields("reporthrname", "t3.name");
+        querySQL.addQueryFields("userphonenumber", "t6.phonenumber");
         querySQL.setSiteid(siteid);
         querySQL.setWhere("t5.sa_saleareaid", list);
-        querySQL.setWhere(  where);
+        querySQL.setWhere(where);
         querySQL.setPage(pageSize, pageNumber);
         Rows rows = querySQL.query();