Browse Source

修复 insertormodify_team 接口问题:
- roleid 参数空指针保护
- agentRows 查询移至新增分支,避免修改时多余查询
- 新增用户返回值改用 userid 查询,修复 sys_enterprise_hrid=0 查询不到的问题

wu 1 tuần trước cách đây
mục cha
commit
e40f8d0e99
1 tập tin đã thay đổi với 15 bổ sung7 xóa
  1. 15 7
      src/custom/restcontroller/sale/team/team.java

+ 15 - 7
src/custom/restcontroller/sale/team/team.java

@@ -119,6 +119,9 @@ public class team extends Controller {
         String position = content.getString("position");
         String remarks = content.getString("remarks");
         JSONArray roleidArray = content.getJSONArray("roleid");
+        if (roleidArray == null) {
+            roleidArray = new JSONArray();
+        }
         String password = content.getString("password");//md5加密
         boolean userdatalimit = content.getBoolean("userdatalimit");//仅可查询本人客户、客户订单
         boolean storedatalimit = content.getBoolean("storedatalimit");//仅可处理门店数据
@@ -126,19 +129,22 @@ public class team extends Controller {
         for (Object o : roleidArray) {
             newroleidList.add(Long.parseLong(String.valueOf(o)));
         }
-        /*
-          根据用户类型查找新账号默认角色
-         */
-//        Rows defaultrole = dbConnect.runSqlQuery("select roleid from sys_role where siteid='" + siteid + "' and usertype='" + usertype + "' and issystem=1");
-//        newroleidList.addAll(defaultrole.toArrayList("roleid", new ArrayList<>()));
+        int usertype = 22;//经销商子账号用户类型
         Rows sys_enterprise_hrRows = dbConnect.runSqlQuery("select userid from sys_enterprise_hr where siteid='" + siteid + "'and sys_enterpriseid='" + sys_enterpriseid + "' and sys_enterprise_hrid=" + sys_enterprise_hrid);
+        Row returnRow;
         if (sys_enterprise_hrid <= 0 || sys_enterprise_hrRows.isEmpty()) {
-            long id = User.createUser(this, sys_enterpriseid, name, phonenumber, false, position, 21, ArrayUtils.toPrimitive(newroleidList.toArray(new Long[]{})), "");
+            Rows agentRows = dbConnect.runSqlQuery("select * from sa_agents where siteid='" + siteid + "' and sys_enterpriseid=" + sys_enterpriseid);
+            String accountno = agentRows.get(0).getString("agentnum");
+            int count = dbConnect.runSqlQuery(0, "SELECT count(1) count from sys_enterprise_hr WHERE sys_enterpriseid=" + sys_enterpriseid + " and isleader=0").getInteger("count");
+            String paddedNumber = String.format("%0" + 3 + "d", count + 1);
+            accountno = accountno + "-" + paddedNumber;
+            Long id = User.createUser(this, sys_enterpriseid, accountno, name, phonenumber, false, position, usertype, ArrayUtils.toPrimitive(newroleidList.toArray(new Long[]{})), remarks);
             UpdateSQL sysEnterpriseHr = SQLFactory.createUpdateSQL(this, "sys_enterprise_hr");
             sysEnterpriseHr.setValue("userdatalimit", userdatalimit);
             sysEnterpriseHr.setValue("storedatalimit", storedatalimit);
             sysEnterpriseHr.setValue("password", UserPassword.create(password));
             sysEnterpriseHr.setSiteid(siteid).setWhere("sys_enterpriseid", sys_enterpriseid).setWhere("userid", id);
+            returnRow = dbConnect.runSqlQuery("select * from sys_enterprise_hr where siteid='" + siteid + "' and sys_enterpriseid=" + sys_enterpriseid + " and userid=" + id).get(0);
         } else {
             SQLList sqllist = new SQLList();
             SQLFactory modifyusersql = new SQLFactory(this, "团队成员修改");
@@ -201,8 +207,10 @@ public class team extends Controller {
                 }
             }
             dbConnect.runSqlUpdate(sqllist);
+            returnRow = dbConnect.runSqlQuery("select * from sys_enterprise_hr where siteid='" + siteid + "' and sys_enterpriseid=" + sys_enterpriseid + " and sys_enterprise_hrid=" + sys_enterprise_hrid).get(0);
         }
-        return getSucReturnObject().toString();
+
+        return getSucReturnObject().setData(returnRow).toString();
     }
 
     /**