Kaynağa Gözat

门店人员启用停用

eganwu 1 yıl önce
ebeveyn
işleme
524fa42725

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

@@ -6190,6 +6190,13 @@ public class R {
         }
     }
 
+    public static class ID20240428091402 {
+        public static class v1 {
+
+
+        }
+    }
+
 
 }
 

+ 4 - 2
src/custom/restcontroller/webmanage/saletool/store/StoreAgent.java

@@ -1,6 +1,7 @@
 package restcontroller.webmanage.saletool.store;
 
 import beans.attachment.Attachment;
+import beans.parameter.Parameter;
 import beans.time.Time;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -373,8 +374,9 @@ public class StoreAgent extends Controller {
                 , "sa_store_hrid");
         querySQL.addJoinTable(JOINTYPE.left, "sys_users", "t3", "t3.userid=t1.userid "
                 , "accountno");
-        querySQL.addJoinTable(JOINTYPE.left,"sys_usersite","t4","t4.userid=t1.userid and t4.siteid=t1.siteid");
-        querySQL.addQueryFields("status","case when t4.userid >0 then '启用' else '停用' end");
+        querySQL.addJoinTable(JOINTYPE.left,"sys_userrole","t4","t4.userid=t1.userid and t4.siteid=t1.siteid");
+        querySQL.addJoinTable(JOINTYPE.left,"sys_role","t5","t5.roleid=t4.roleid and t5.siteid=t4.siteid and t5.rolename='"+ Parameter.get("storerolename") +"'");
+        querySQL.addQueryFields("status","case when t5.roleid >0 then '启用' else '停用' end");
         querySQL.setSiteid(siteid);
         querySQL.setWhere("t2.sa_storeid", sa_storeid);
         querySQL.setPage(pageSize, pageNumber).setOrderBy(pageSorting);

+ 49 - 4
src/custom/restcontroller/webmanage/saletool/store/StoreTeam.java

@@ -1,6 +1,7 @@
 package restcontroller.webmanage.saletool.store;
 
 import beans.datacontrllog.DataContrlLog;
+import beans.parameter.Parameter;
 import beans.user.User;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -8,6 +9,7 @@ import common.Controller;
 import common.YosException;
 import common.annotation.API;
 import common.data.*;
+import common.data.db.DBConnect;
 import org.apache.commons.lang.StringUtils;
 import restcontroller.R;
 
@@ -151,7 +153,7 @@ public class StoreTeam extends Controller {
 
 
         QuerySQL querySQL = SQLFactory.createQuerySQL(controller, "sys_enterprise_hr"
-                        , "sys_enterprise_hrid", "name", "position", "phonenumber", "isleader", "userid","createby","createdate","changeby","changedate")
+                        , "sys_enterprise_hrid", "name", "position", "phonenumber", "isleader", "userid", "createby", "createdate", "changeby", "changedate")
                 .setTableAlias("t1");
         querySQL.addJoinTable(JOINTYPE.inner, "sa_store_hr", "t2", "t2.sys_enterprise_hrid=t1.sys_enterprise_hrid and t2.siteid=t1.siteid"
                 , "sa_store_hrid");
@@ -170,13 +172,13 @@ public class StoreTeam extends Controller {
             row.put("headpic", getHeadPic(row.getLong("userid")));
             Rows roleRows = roleRowsMap.getOrDefault(row.getString("userid"), new Rows());
             row.put("rolenames", String.join(",", roleRows.toArrayList("rolename")));
-            row.put("roleids", roleRows.toArrayList("roleid",new ArrayList<Long>()));
+            row.put("roleids", roleRows.toArrayList("roleid", new ArrayList<Long>()));
 
             Rows storeRows = storeRowsMap.getOrDefault(row.getString("sys_enterprise_hrid"), new Rows());
             row.put("storenames", String.join(",", storeRows.toArrayList("storename")));
 
-            row.putIfAbsent("createdate","");
-            row.putIfAbsent("changedate","");
+            row.putIfAbsent("createdate", "");
+            row.putIfAbsent("changedate", "");
         }
         Row detailRow = rows.isNotEmpty() ? rows.get(0) : new Row();
 
@@ -223,6 +225,49 @@ public class StoreTeam extends Controller {
         }
 
 
+        return getSucReturnObject().toString();
+    }
+
+    @API(title = "门店人员的状态通过设置角色来实现启用停用", apiversion = R.ID20240428091402.v1.class)
+    public String updateRole() throws YosException {
+
+        String paramname = "storerolename";
+        String rolename = "";
+
+        boolean enable = content.getBooleanValue("enable");
+        long userid = content.getLongValue("userid");
+
+        Rows rows = dbConnect.runSqlQuery("select * from sys_parameter where paramname='" + paramname + "'");
+        if (rows.isEmpty()) {
+            Parameter.create(controller, paramname, "", "门店人员的状态通过设置角色来实现启用停用");
+            rolename = "";
+        } else {
+            rolename = Parameter.get(paramname);
+        }
+
+        rows = dbConnect.runSqlQuery("select * from sys_role where rolename='" + rolename + "' and siteid='" + siteid + "'");
+        if (rows.isEmpty()) {
+            return getErrReturnObject().setErrMsg("启用停用失败,未找到对应角色").toString();
+        }
+
+        long roleid = rows.get(0).getLong("roleid");
+
+        if (enable) {
+            InsertSQL insertSQL = SQLFactory.createInsertSQL(this, "sys_userrole");
+            insertSQL.setUniqueid(createTableID("sys_userrole"));
+            insertSQL.setSiteid(siteid);
+            insertSQL.setValue("userid", userid);
+            insertSQL.setValue("roleid", roleid);
+            insertSQL.insert();
+        } else {
+            DeleteSQL deleteSQL = SQLFactory.createDeleteSQL(this, "sys_userrole");
+            deleteSQL.setSiteid(siteid);
+            deleteSQL.setWhere("userid", userid);
+            deleteSQL.setWhere("roleid", roleid);
+            deleteSQL.delete();
+        }
+
+
         return getSucReturnObject().toString();
     }