package openapi.restcontroller.housekeeper.user; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import openapi.base.Controller; import openapi.base.SQLFactory; import openapi.base.data.Row; import openapi.base.data.Rows; import openapi.base.data.db.DBConnect; import openapi.tools.UserCreaterUtil; import org.apache.commons.lang.StringUtils; import p2.p2server.P2Server; import p2.pao.PaoRemote; import p2.pao.PaoSetRemote; import p2.util.P2Exception; public class User extends Controller { public User(JSONObject content) { super(content); } /**人员列表**/ public String userlist(){ if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString(); if(StringUtils.isBlank(fagentnum))return getReturnObject_err("fagentnum为空").toString(); if(StringUtils.isBlank(siteid))return getReturnObject_err("siteid为空").toString(); JSONObject where = content.getJSONObject("where"); String wherestr="1=1"; if(where!=null){ DBConnect dbConnect=new DBConnect(); if(where.containsKey("fname")&&!StringUtils.isBlank(where.getString("fname"))){ wherestr+=" and (fname like '%"+where.getString("fname")+"%' or phone like '%"+where.getString("fname")+"%')"; } SQLFactory factory=new SQLFactory(this,"经销商员工列表查询",pageSize,pageNumber,"t.createdate desc"); factory.addParameter("fagentnum",fagentnum); factory.addParameter("siteid",siteid); factory.addParameter_SQL("where",wherestr); Rows rows = dbConnect.runSqlQuery(factory.getSQL()); return getReturnObject_suc_page(rows,false,0).toString(); } return getReturnObject_err("缺少where参数").toString(); } /**人员添加**/ public String useradd(){ if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString(); if(StringUtils.isBlank(fagentnum))return getReturnObject_err("fagentnum为空").toString(); if(StringUtils.isBlank(siteid))return getReturnObject_err("siteid为空").toString(); JSONObject where = content.getJSONObject("where"); String s[]={"phone","password","fname","role"}; for (String s1 : s) { if(!where.containsKey(s1)||StringUtils.isBlank(where.getString(s1)))return getReturnObject_err("缺少"+s1+"参数").toString(); } if(where!=null) { if (where.getString("password").length() < 6) getReturnObject_err("密码不能小于6位").toString(); try { PaoSetRemote staff = P2Server.getP2Server().getPaoSet("staff", P2Server.getP2Server().getSystemUserInfo()); staff.setInsertSite(siteid); staff.setWhere("phone='" + where.getString("phone") + "'"); staff.reset(); if (!staff.isEmpty()) return getReturnObject_err("已存在该人员").toString(); PaoRemote staffpao = staff.addAtEnd(); staffpao.setValue("phone", where.getString("phone"), 2l); staffpao.setValue("FAGENTNUM", fagentnum, 11l); staffpao.setValue("fname", where.getString("fname"), 11l); staffpao.setValue("role", where.getString("role"), 11l); if (where.containsKey("fnotes")) staffpao.setValue("fnotes", where.getString("fnotes"), 11l); if (where.containsKey("fsex")) staffpao.setValue("fsex", where.getString("fsex"), 11l); if (where.containsKey("authority")) { JSONArray authority = where.getJSONArray("authority"); PaoSetRemote staff_authority = staffpao.getPaoSet("staff_authority"); for (int i = 0; i < authority.size(); i++) { JSONObject o = (JSONObject) authority.get(i); String authoritymodule = o.getString("authoritymodule"); boolean fisedit = o.getBoolean("fisedit"); boolean fisquery = o.getBoolean("fisquery"); PaoRemote remote = staff_authority.addAtEnd(); remote.setValue("Authoritymodule", authoritymodule, 2l); remote.setValue("fisedit", fisedit, 11l); remote.setValue("fisquery", fisquery, 11l); } } staff.save(); UserCreaterUtil.createuser(siteid, where.getString("phone"), where.getString("password"), where.getString("fname"), "经销商员工账号", new String[]{}); return getReturnObject_suc().toString(); } catch (P2Exception e) { return getReturnObject_err(e.getMessage()).toString(); } } return getReturnObject_err("缺少where参数").toString(); } /**人员更新**/ public String userupdate(){ if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString(); if(StringUtils.isBlank(fagentnum))return getReturnObject_err("fagentnum为空").toString(); if(StringUtils.isBlank(siteid))return getReturnObject_err("siteid为空").toString(); JSONObject where = content.getJSONObject("where"); String s[]={"phone"}; for (String s1 : s) { if(!where.containsKey(s1)||StringUtils.isBlank(where.getString(s1)))return getReturnObject_err("缺少"+s1+"参数").toString(); } if(where!=null){ try { PaoSetRemote staff = P2Server.getP2Server().getPaoSet("staff", P2Server.getP2Server().getSystemUserInfo()); staff.setInsertSite(siteid); staff.setWhere("phone='"+where.getString("phone")+"'"); staff.reset(); if(!staff.isEmpty()){ PaoRemote staffpao = staff.getPao(0); if(where.containsKey("fname")&&!StringUtils.isBlank(where.getString("fname"))){ staffpao.setValue("fname",where.getString("fname"),11l); PaoSetRemote pp_hr = P2Server.getP2Server().getPaoSet("PP_HR", P2Server.getP2Server().getSystemUserInfo()); pp_hr.setWhere("hrid='"+where.getString("phone")+"'"); pp_hr.reset(); if(!pp_hr.isEmpty())pp_hr.getPao(0).setValue("DISPLAYNAME",where.getString("fname"),11l); } if(where.containsKey("fsex")&&!StringUtils.isBlank(where.getString("fsex"))){ staffpao.setValue("fsex",where.getString("fsex"),11l); } if(where.containsKey("role")&&!StringUtils.isBlank(where.getString("role"))){ staffpao.setValue("role",where.getString("role"),11l); } if(where.containsKey("fnotes")&&!StringUtils.isBlank(where.getString("fnotes"))){ staffpao.setValue("fnotes",where.getString("fnotes"),11l); } if(where.containsKey("fisused")){ staffpao.setValue("fisused",where.getBoolean("fisused"),11l); } if(where.containsKey("authority")){ JSONArray authority = where.getJSONArray("authority"); PaoSetRemote staff_authority = staffpao.getPaoSet("staff_authority"); for (int i = 0; i < authority.size(); i++) { JSONObject o = (JSONObject) authority.get(i); String authoritymodule = o.getString("authoritymodule"); boolean fisedit = o.getBoolean("fisedit"); boolean fisquery = o.getBoolean("fisquery"); PaoSetRemote staff_authority1 = staffpao.getPaoSet("staff_authority"); staff_authority1.setWhere("authoritymodule='"+authoritymodule+"'"); staff_authority1.reset(); if(staff_authority1.isEmpty()){ PaoRemote remote = staff_authority.addAtEnd(); remote.setValue("Authoritymodule",authoritymodule,2l); remote.setValue("fisedit",fisedit,11l); remote.setValue("fisquery",fisquery,11l); }else{ PaoRemote pao = staff_authority1.getPao(0); pao.setValue("fisedit",fisedit,11l); pao.setValue("fisquery",fisquery,11l); } staff_authority1.save(); } } staff.save(); return getReturnObject_suc().toString(); } return getReturnObject_err("该人员不存在").toString(); } catch (P2Exception e) { return getReturnObject_err(e.getMessage()).toString(); } } return getReturnObject_err("缺少where参数").toString(); } /**人员删除**/ public String userdelete(){ if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString(); if(StringUtils.isBlank(fagentnum))return getReturnObject_err("fagentnum为空").toString(); if(StringUtils.isBlank(siteid))return getReturnObject_err("siteid为空").toString(); JSONObject where = content.getJSONObject("where"); String s[]={"phone"}; for (String s1 : s) { if(!where.containsKey(s1)||StringUtils.isBlank(where.getString(s1)))return getReturnObject_err("缺少"+s1+"参数").toString(); } if(where!=null){ try { PaoSetRemote staff = P2Server.getP2Server().getPaoSet("staff", P2Server.getP2Server().getSystemUserInfo()); staff.setInsertSite(siteid); staff.setWhere("phone='"+where.getString("phone")+"'"); if(!staff.isEmpty()){ PaoRemote staffpao = staff.getPao(0); staffpao.delete(); staff.save(); return getReturnObject_suc().toString(); } return getReturnObject_err("该人员不存在").toString(); } catch (P2Exception e) { return getReturnObject_err(e.getMessage()).toString(); } } return getReturnObject_err("缺少where参数").toString(); } /**人员详情**/ public String userdetail(){ if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString(); if(StringUtils.isBlank(fagentnum))return getReturnObject_err("fagentnum为空").toString(); if(StringUtils.isBlank(siteid))return getReturnObject_err("siteid为空").toString(); JSONObject where = content.getJSONObject("where"); String s[]={"phone"}; for (String s1 : s) { if(!where.containsKey(s1)||StringUtils.isBlank(where.getString(s1)))return getReturnObject_err("缺少"+s1+"参数").toString(); } if(where!=null){ DBConnect dbConnect=new DBConnect(); SQLFactory factory=new SQLFactory(this,"经销商员工详情"); factory.addParameter("fagentnum",fagentnum); factory.addParameter("siteid",siteid); factory.addParameter("phone",where.getString("phone")); Rows rows = dbConnect.runSqlQuery(factory.getSQL()); if(!rows.isEmpty()){ Row row = rows.get(0); Rows onwerid = dbConnect.runSqlQuery("select t.authoritymodule,\n" + "t.authorityname,\n" + "case when EXISTS(select 1 from staff_authority t1 where t1.Authoritymodule=t.Authoritymodule and t1.fparentid="+row.getInteger("onwerid")+" and fisedit=1) then 1 else 0 end fisedit,\n" + "case when EXISTS(select 1 from staff_authority t1 where t1.Authoritymodule=t.Authoritymodule and t1.fparentid="+row.getInteger("onwerid")+" and fisquery=1) then 1 else 0 end fisquery\n" + "from staffauthority t"); row.put("authority",onwerid); return getReturnObject_suc(row,false).toString(); } return getReturnObject_err("该人员不存在").toString(); } return getReturnObject_err("缺少where参数").toString(); } /**权限名称查询**/ public String authority(){ if(StringUtils.isBlank(hrid))return getReturnObject_err("hrid为空").toString(); if(StringUtils.isBlank(fagentnum))return getReturnObject_err("fagentnum为空").toString(); if(StringUtils.isBlank(siteid))return getReturnObject_err("siteid为空").toString(); JSONObject where = content.getJSONObject("where"); if(where!=null){ DBConnect dbConnect=new DBConnect(); Rows rows = dbConnect.runSqlQuery("select authoritymodule,authorityname from staffauthority where siteid='" + siteid + "'"); return getReturnObject_suc(rows,false).toString(); } return getReturnObject_err("缺少where参数").toString(); } }