فهرست منبع

数据团队逻辑调整

wu 6 ماه پیش
والد
کامیت
9536da4432

+ 1 - 0
src/custom/restcontroller/system/datateam/SQL/数据团队人员选择_企业.sql

@@ -1,5 +1,6 @@
 select t1.userid,
        t1.name,
+       t1.hrid,
        t4.name                                               as username,
        t1.phonenumber,
        t2.depname,

+ 47 - 68
src/custom/restcontroller/system/datateam/datateam.java

@@ -11,6 +11,7 @@ import common.annotation.API;
 import common.annotation.CACHEING;
 import common.annotation.CACHEING_CLEAN;
 import common.data.*;
+import org.apache.commons.lang.StringUtils;
 import restcontroller.R;
 import restcontroller.webmanage.executorService.Executor;
 
@@ -75,9 +76,9 @@ public class datateam extends Controller {
         long ownerid = content.getLong("ownerid");
         int editPermissions = editPermissions(ownertable, ownerid);
         if (editPermissions == 1) {
-            return getReturnObject().setCode("0136",new String[0]).toString();//非任务创建人及负责人不可进行团队维护
+            return getReturnObject().setCode("0136", new String[0]).toString();//非任务创建人及负责人不可进行团队维护
         } else if (editPermissions == 2) {
-            return getReturnObject().setCode("0137",new String[0]).toString();//非团队负责人不可进行团队维护
+            return getReturnObject().setCode("0137", new String[0]).toString();//非团队负责人不可进行团队维护
         }
         JSONArray useridsArray = content.getJSONArray("userids");
         boolean justuserids = content.getBooleanValue("justuserids");
@@ -165,15 +166,15 @@ public class datateam extends Controller {
         long leader_userid = content.getLong("userid");
         int editPermissions = editPermissions(ownertable, ownerid);
         if (editPermissions == 1) {
-            return getReturnObject().setCode("0136",new String[0]).toString();//非任务创建人及负责人不可进行团队维护
+            return getReturnObject().setCode("0136", new String[0]).toString();//非任务创建人及负责人不可进行团队维护
 
         } else if (editPermissions == 2) {
-            return getReturnObject().setCode("0137",new String[0]).toString();//非团队负责人不可进行团队维护
+            return getReturnObject().setCode("0137", new String[0]).toString();//非团队负责人不可进行团队维护
 
         }
-        if(ownertable.equals("sa_project")){
-            Rows rows=dbConnect.runSqlQuery("SELECT * from sys_datatag WHERE ownertable='sa_project' and tag='报备中' and ownerid="+ownerid+" and siteid='"+siteid+"'");
-            if(rows.isNotEmpty()){
+        if (ownertable.equals("sa_project")) {
+            Rows rows = dbConnect.runSqlQuery("SELECT * from sys_datatag WHERE ownertable='sa_project' and tag='报备中' and ownerid=" + ownerid + " and siteid='" + siteid + "'");
+            if (rows.isNotEmpty()) {
                 return getReturnObject().setCode("0689").toString();//非团队负责人不可进行团队维护
             }
 
@@ -184,7 +185,7 @@ public class datateam extends Controller {
             Rows phonerbookRows = dbConnect.runSqlQuery("select phonenumber from sys_phonebook where siteid='" + siteid + "' and sys_phonebookid=" + ownerid);
             if (phonerbookRows.isNotEmpty()) {
                 if (PhoneBook.verifyphonenumber(this, phonerbookRows.get(0).getString("phonenumber"), leader_userid, ownerid)) {
-                    return getReturnObject().setCode("0138",new String[]{user.getString("name")}).toString();//user.getString("name") + "通讯录中已存在该联系人手机号
+                    return getReturnObject().setCode("0138", new String[]{user.getString("name")}).toString();//user.getString("name") + "通讯录中已存在该联系人手机号
                 }
             }
         }
@@ -277,10 +278,10 @@ public class datateam extends Controller {
         long ownerid = content.getLong("ownerid");
         int editPermissions = editPermissions(ownertable, ownerid);
         if (editPermissions == 1) {
-            return getReturnObject().setCode("0136",new String[0]).toString();//非任务创建人及负责人不可进行团队维护
+            return getReturnObject().setCode("0136", new String[0]).toString();//非任务创建人及负责人不可进行团队维护
 
         } else if (editPermissions == 2) {
-            return getReturnObject().setCode("0137",new String[0]).toString();//非团队负责人不可进行团队维护
+            return getReturnObject().setCode("0137", new String[0]).toString();//非团队负责人不可进行团队维护
 
         }
         if (content.containsKey("userid")) {
@@ -307,68 +308,46 @@ public class datateam extends Controller {
     public String teamUserSelect() throws YosException {
         String ownertable = content.getString("ownertable");
         long ownerid = content.getLong("ownerid");
-        if (sys_enterpriseid > 0) {
-            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.name like'%").append(whereObject.getString("condition")).append("%' ");
-                    where.append("or t1.phonenumber like'%").append(whereObject.getString("condition")).append("%' ");
-                    where.append("or t1.position like'%").append(whereObject.getString("condition")).append("%' ");
-                    where.append(")");
-                }
-                if (whereObject.getBooleanValue("withoutselect")) {
-                    where.append(" and t3.sys_datateamid is null");
-                }
-            }
-            SQLFactory sqlFactory = new SQLFactory(this, "数据团队人员选择_商户", pageSize, pageNumber, pageSorting);
-            sqlFactory.addParameter("siteid", siteid);
-            sqlFactory.addParameter("ownertable", ownertable);
-            sqlFactory.addParameter("ownerid", ownerid);
-            sqlFactory.addParameter("sys_enterpriseid", sys_enterpriseid);
-            sqlFactory.addParameter_SQL("where", where);
-            Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
-            for (Row row : rows) {
-                row.put("headpic", getHeadPic(row.getLong("userid")));
-                Rows rolerows = dbConnect.runSqlQuery("select t2.rolename,t2.remarks from sys_userrole t1 inner join sys_role t2 on t1.siteid=t2.siteid and t1.roleid=t2.roleid where t1.userid='" + row.getLong("userid") + "' and t1.siteid='" + siteid + "'");
-                row.put("userrole", rolerows);
-            }
-            return getSucReturnObject().setData(rows).toString();
-        } else {
 
-            if (getHr(userid).isEmpty()) {
-                //如果当前账号不在组织架构中,则直接返回空
-                return getSucReturnObject().setData(new Rows()).toString();
-            }
-            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.name like'%").append(whereObject.getString("condition")).append("%' ");
-                    where.append("or t1.phonenumber like'%").append(whereObject.getString("condition")).append("%' ");
-                    where.append("or t1.position like'%").append(whereObject.getString("condition")).append("%' ");
-                    where.append(")");
-                }
-                if (whereObject.getBooleanValue("withoutselect")) {
-                    where.append(" and t3.sys_datateamid is null");
-                }
-                if (whereObject.getBooleanValue("justsaler")) {
-                    where.append(" and exists(select * from sa_salearea_hr where t1.siteid=sa_salearea_hr.siteid and t1.hrid=sa_salearea_hr.hrid)");
-                }
+
+        if (getHr(userid).isEmpty()) {
+            //如果当前账号不在组织架构中,则直接返回空
+            return getSucReturnObject().setData(new Rows()).toString();
+        }
+        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.name like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t1.phonenumber like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append("or t1.position like'%").append(whereObject.getString("condition")).append("%' ");
+                where.append(")");
             }
-            SQLFactory sqlFactory = new SQLFactory(this, "数据团队人员选择_企业", pageSize, pageNumber, pageSorting);
-            sqlFactory.addParameter("siteid", siteid);
-            sqlFactory.addParameter("ownertable", ownertable);
-            sqlFactory.addParameter("ownerid", ownerid);
-            sqlFactory.addParameter_SQL("where", where);
-            Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
-            for (Row row : rows) {
-                row.put("headpic", getHeadPic(row.getLong("userid")));
+            if (whereObject.getBooleanValue("withoutselect")) {
+                where.append(" and t3.sys_datateamid is null");
             }
-            return getSucReturnObject().setData(rows).toString();
+
         }
+        where.append(" and exists(select * from sa_salearea_hr where t1.siteid=sa_salearea_hr.siteid and t1.hrid=sa_salearea_hr.hrid)");
+        SQLFactory sqlFactory = new SQLFactory(this, "数据团队人员选择_企业", pageSize, pageNumber, pageSorting);
+        sqlFactory.addParameter("siteid", siteid);
+        sqlFactory.addParameter("ownertable", ownertable);
+        sqlFactory.addParameter("ownerid", ownerid);
+        sqlFactory.addParameter_SQL("where", where);
+        Rows rows = dbConnect.runSqlQuery(sqlFactory.getSQL());
+
+        RowsMap areaRowsMap = dbConnect.runSqlQuery(" SELECT DISTINCT t2.areaname,t1.hrid  from sa_salearea_hr t1 " +
+                " INNER JOIN sa_salearea t2 ON t2.sa_saleareaid=t1.sa_saleareaid " +
+                " WHERE t1.siteid='YOSTEST1'").toRowsMap("hrid");
+
+        for (Row row : rows) {
+            row.put("headpic", getHeadPic(row.getLong("userid")));
+            Rows areaRows = areaRowsMap.getOrDefault(row.getString("hrid"), new Rows());
+            row.put("areanames", StringUtils.join(areaRows.toArrayList("areaname"), ","));
+        }
+        return getSucReturnObject().setData(rows).toString();
+
     }
 
     /**