Parcourir la source

服务人员查询优化

hxh il y a 2 semaines
Parent
commit
0c9daf2dfa

+ 38 - 19
src/custom/restcontroller/webmanage/sale/workorder/SQL/服务人员列表查询.sql

@@ -1,20 +1,39 @@
-select t1.userid,
-       t1.name,
-       t1.createby,
-       t1.createdate,
-       t1.changeby,
-       t1.remarks,
-       t1.changedate,
-       t1.phonenumber,
-       t1.status,
-       t1.accountno,
-       t2.siteid,
-       t2.usertype
-from sys_users t1
-         inner join sys_usersite t2 on t1.userid = t2.userid and t2.siteid = $siteid$
-         inner join sys_enterprise_hr t4 on t1.userid = t4.userid
-         inner join sa_agents t5 on t5.sys_enterpriseid = t4.sys_enterpriseid
-where exists(select userid,rolename from  sys_userrole a1 inner join sys_role a2 on a1.roleid=a2.roleid and userid=t1.userid and rolename like '%AGENT_FWRY%') and $where$
-  and t1.status!='DELETED' and t5.isservice=1
+select * from (select t1.userid,
+                      t1.name,
+                      t1.createby,
+                      t1.createdate,
+                      t1.changeby,
+                      t1.remarks,
+                      t1.changedate,
+                      t1.phonenumber,
+                      t1.status,
+                      t1.accountno,
+                      t2.siteid,
+                      t2.usertype
+               from sys_users t1
+                        inner join sys_usersite t2 on t1.userid = t2.userid and t2.siteid ='md'
+                        inner join sys_enterprise_hr t4 on t1.userid = t4.userid
+                        inner join sa_agents t5 on t5.sys_enterpriseid = t4.sys_enterpriseid
+               where exists(select userid,rolename from  sys_userrole a1 inner join sys_role a2 on a1.roleid=a2.roleid and userid=t1.userid and rolename like '%AGENT_FWRY%')
+                 and t1.status='ACTIVE' and t5.isservice=1
+               union all
+               select t1.userid,
+                      t1.name,
+                      t1.createby,
+                      t1.createdate,
+                      t1.changeby,
+                      t1.remarks,
+                      t1.changedate,
+                      t1.phonenumber,
+                      t1.status,
+                      t1.accountno,
+                      t2.siteid,
+                      t2.usertype
+               from sys_users t1
+                        inner join sys_usersite t2 on t1.userid = t2.userid and t2.siteid ='md'
+                        inner join sys_enterprise_hr t4 on t1.userid = t4.userid
+                        inner join sa_agents t5 on t5.sys_enterpriseid = t4.sys_enterpriseid
+               where t1.status='ACTIVE' and t5.isservice=1 and t2.usertype=21) t1 where $where$
 group by t1.userid, t1.name, t1.createby, t1.createdate, t1.changeby, t1.remarks,
-    t1.changedate, t1.phonenumber, t1.status, t1.accountno, t2.siteid, t2.usertype
+         t1.changedate, t1.phonenumber, t1.status, t1.accountno, t1.siteid, t1.usertype
+

+ 3 - 2
src/custom/restcontroller/webmanage/sale/workorder/workorder.java

@@ -175,13 +175,13 @@ public class workorder extends Controller {
             }
             if (whereObject.containsKey("usertype") && !"".equals(whereObject.getString("usertype"))) {
                 where.append(" and(");
-                where.append("t2.usertype ='").append(whereObject.getString("usertype")).append("' ");
+                where.append("t1.usertype ='").append(whereObject.getString("usertype")).append("' ");
                 where.append(")");
             }
         }
         if (sys_enterpriseid > 0) {
             where.append(" and(");
-            where.append("t4.sys_enterpriseid ='").append(sys_enterpriseid).append("' ");
+            where.append("t1.sys_enterpriseid ='").append(sys_enterpriseid).append("' ");
             where.append(")");
         }
 
@@ -194,6 +194,7 @@ public class workorder extends Controller {
         querySQL.setTableAlias("t0");
         querySQL.addJoinTable(JOINTYPE.right, sqlFactory, "t1", "t0.siteid='111'", "*");
         querySQL.setPage(pageSize, pageNumber);
+        querySQL.setOrderBy("t1.usertype asc");
         Rows rows = querySQL.query();
         return getSucReturnObject().setData(rows).toString();
     }