lxw
2020-06-16 12901f1550d9dc592aef1e2251fda632a913662c
修改用户管理穿梭框
3个文件已修改
2456 ■■■■ 已修改文件
zijing/src/com/fgkj/actions/User_infAction.java 542 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zijing/src/com/fgkj/dao/impl/User_infImpl.java 1186 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zijing/src/com/fgkj/services/User_infService.java 728 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zijing/src/com/fgkj/actions/User_infAction.java
@@ -1,267 +1,275 @@
package com.fgkj.actions;
import java.util.List;
import com.fgkj.dao.UinfDaoFactory;
import com.fgkj.dao.UtilityFactory;
import com.fgkj.dto.Batt_User_Permit;
import com.fgkj.dto.Battalarm_data;
import com.fgkj.dto.Page;
import com.fgkj.dto.ServiceModel;
import com.fgkj.dto.User_inf;
import com.fgkj.dto.User_log;
import com.fgkj.services.User_infService;
import com.fgkj.services.User_logService;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.opensymphony.xwork2.ActionSupport;
public class User_infAction extends ActionSupport{
    private User_infService service=new User_infService();
    private User_logService uservice=new User_logService();
    private Batt_User_Permit bup;
    private ServiceModel model;
    private User_inf uif;
    private String result;
    private String addjson;            //添加用户的用户json数组
    private String upjson;            //更新用户的用户json数组
    //添加用户
    public String add() {
        uif=ActionUtil.getGson("yyyy-MM-dd").fromJson(addjson, User_inf.class);
        uif.setUpassword(ActionUtil.EncryptionMD5(uif.getUpassword()).toString());
        model = service.add(uif);
        {
            String msg="添加新用户:"+uif.getUName();
            User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Increase, msg);
            uservice.add(ulog);//将用户的操作记录下来
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //修改用户信息
    public String update() {
        uif=ActionUtil.getGson("yyyy-MM-dd").fromJson(upjson, User_inf.class);
        model = service.update(uif);
        {
            String msg="修改"+uif.getUName()+"的用户信息";
            User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Alter, msg);
            uservice.add(ulog);//将用户的操作记录下来
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //删除用户信息
    public String delete() {
        model=new ServiceModel();
        if(upjson!=null && upjson.length()>0){
            Gson gson=new Gson();
            uif=gson.fromJson(upjson, User_inf.class);
            model = service.delete(uif);
            {
                String msg="删除"+uif.getUName()+"的用户信息";
                User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Delete, msg);
                uservice.add(ulog);//将用户的操作记录下来
            }
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    public String serchByCondition() {
        model = service.serchByCondition(uif);
        result = ActionUtil.tojson(model);
        //System.out.println(result);
        return SUCCESS;
    }
    public String searchAll() {
        if(bup==null){
            model=service.searchAll();
        }else{
            model = service.searchAll(bup);
        }
        result = ActionUtil.tojson(model);
        //System.out.println(result);
        return SUCCESS;
    }
    //根据员工信息和员工编号去匹配合适的员工
    public String searchByNameOrId() {
        bup=ActionUtil.getGson("yyyy-MM-dd").fromJson(upjson, Batt_User_Permit.class);
        model = service.searchByNameOrId(bup);
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //重置用户密码
    public String resetPassword(){
        uif=ActionUtil.getGson("yyyy-MM-dd").fromJson(upjson, User_inf.class);
        model=service.resetPassword(uif);
        {
            String msg="重置"+uif.getUName()+"用户的密码";
            User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Alter, msg);
            uservice.add(ulog);//将用户的操作记录下来
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //根据用户的id查询用户所在的包机组
    public String serchByInfo(){
        //System.out.println(uif);
        ServiceModel model=service.serchByInfo(uif);
        result=ActionUtil.tojson(model);
        return SUCCESS;
    }
    //添加新的用户模板
    public String createNewUser(){
        User_inf uinf=UtilityFactory.CreateUinf();
        ServiceModel model=new ServiceModel();
        if(uinf!=null){
            model.setCode(1);
            model.setData(uinf);
        }
        result=ActionUtil.tojson(model);
        return SUCCESS;
    }
    //更新多个用户
    public String updateUser(){
        Gson gson=ActionUtil.getGson("yyyy-MM-dd");
        String msg="";
        model=new ServiceModel();
        if(addjson!=null && addjson.length()>0){
            List<User_inf> addlist=gson.fromJson(addjson, new TypeToken<List<User_inf>>(){}.getType());
            if(addlist!=null && addlist.size()>0){
                //System.out.println(addlist);
                model=service.add(addlist);
                msg+=model.getMsg();
            }
        }
        if(upjson!=null && upjson.length()>0){
            List<User_inf> uplist=gson.fromJson(upjson, new TypeToken<List<User_inf>>(){}.getType());
            if(uplist!=null && uplist.size()>0){
                model=service.update(uplist);
                msg+=model.getMsg();
            }
        }
        model.setMsg(msg);
        result=ActionUtil.tojson(model);
        //System.out.println(result);
        return SUCCESS;
    }
    //修改多个用户
    public String addUser(){
        if(addjson!=null && addjson.length()>0){
            Gson gson=new Gson();
            List<Battalarm_data> list=gson.fromJson(addjson, new TypeToken<List<User_inf>>(){}.getType());
        }
        return SUCCESS;
    }
    //修改密码
    public String updatePassword(){
        User_inf uinf=(User_inf)ActionUtil.getUser();
        if(uinf!=null && uif!=null){
            uinf.setUSnId(uif.getUSnId());
            model=service.updatePassword(uinf);
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //查询当前用户的信息
    public String serchUserfromSession(){
        Object obj=ActionUtil.getUser();
        result =ActionUtil.tojson(obj);
        return SUCCESS;
    }
    //检查用户的密码
    public String checkUserPass(){
        User_inf user = (User_inf)ActionUtil.getUser();
        ServiceModel model = new ServiceModel();
        if(user != null && user.getUpassword().equals(addjson)){
            model.setCode(1);
        }else{
            model.setCode(0);
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //查询当前用户的用户名
    public String searchUname(){
        User_inf user = (User_inf)ActionUtil.getUser();
        ServiceModel model = new ServiceModel();
        if(user != null){
            model.setCode(1);
            model.setMsgN(user.getUName());
        }else{
            model.setCode(0);
            model.setMsg(getText("You are not logged in, please log in"));
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //界面请求监测服务是否断开
    public String checkService(){
        return SUCCESS;
    }
    public String test(){
        System.out.println(upjson);
        System.out.println(uif);
        return SUCCESS;
    }
    public void setBup(Batt_User_Permit bup) {
        this.bup = bup;
    }
    public String getResult() {
        return result;
    }
    public void setResult(String result) {
        this.result = result;
    }
    public User_inf getUif() {
        return uif;
    }
    public void setUif(User_inf uif) {
        this.uif = uif;
    }
    public Batt_User_Permit getBup() {
        return bup;
    }
    public String getAddjson() {
        return addjson;
    }
    public void setAddjson(String addjson) {
        this.addjson = addjson;
    }
    public String getUpjson() {
        return upjson;
    }
    public void setUpjson(String upjson) {
        this.upjson = upjson;
    }
    public static void main(String[] args) {
        User_infAction ua=new User_infAction();
        //Batt_User_Permit bup=new Batt_User_Permit();
        ua.searchAll();
    }
}
package com.fgkj.actions;
import java.util.List;
import com.fgkj.dao.UinfDaoFactory;
import com.fgkj.dao.UtilityFactory;
import com.fgkj.dto.Batt_User_Permit;
import com.fgkj.dto.Battalarm_data;
import com.fgkj.dto.Page;
import com.fgkj.dto.ServiceModel;
import com.fgkj.dto.User_inf;
import com.fgkj.dto.User_log;
import com.fgkj.services.User_infService;
import com.fgkj.services.User_logService;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.reflect.TypeToken;
import com.opensymphony.xwork2.ActionSupport;
public class User_infAction extends ActionSupport{
    private User_infService service=new User_infService();
    private User_logService uservice=new User_logService();
    private Batt_User_Permit bup;
    private ServiceModel model;
    private User_inf uif;
    private String result;
    private String addjson;            //添加用户的用户json数组
    private String upjson;            //更新用户的用户json数组
    //添加用户
    public String add() {
        uif=ActionUtil.getGson("yyyy-MM-dd").fromJson(addjson, User_inf.class);
        uif.setUpassword(ActionUtil.EncryptionMD5(uif.getUpassword()).toString());
        model = service.add(uif);
        {
            String msg="添加新用户:"+uif.getUName();
            User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Increase, msg);
            uservice.add(ulog);//将用户的操作记录下来
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //修改用户信息
    public String update() {
        uif=ActionUtil.getGson("yyyy-MM-dd").fromJson(upjson, User_inf.class);
        model = service.update(uif);
        {
            String msg="修改"+uif.getUName()+"的用户信息";
            User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Alter, msg);
            uservice.add(ulog);//将用户的操作记录下来
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //删除用户信息
    public String delete() {
        model=new ServiceModel();
        if(upjson!=null && upjson.length()>0){
            Gson gson=new Gson();
            uif=gson.fromJson(upjson, User_inf.class);
            model = service.delete(uif);
            {
                String msg="删除"+uif.getUName()+"的用户信息";
                User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Delete, msg);
                uservice.add(ulog);//将用户的操作记录下来
            }
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    public String serchByCondition() {
        model = service.serchByCondition(uif);
        result = ActionUtil.tojson(model);
        //System.out.println(result);
        return SUCCESS;
    }
    public String searchAll() {
        if(bup==null){
            model=service.searchAll();
        }else{
            model = service.searchAll(bup);
        }
        result = ActionUtil.tojson(model);
        //System.out.println(result);
        return SUCCESS;
    }
    //根据员工信息和员工编号去匹配合适的员工
    public String searchByNameOrId() {
        bup=ActionUtil.getGson("yyyy-MM-dd").fromJson(upjson, Batt_User_Permit.class);
        model = service.searchByNameOrId(bup);
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //重置用户密码
    public String resetPassword(){
        uif=ActionUtil.getGson("yyyy-MM-dd").fromJson(upjson, User_inf.class);
        model=service.resetPassword(uif);
        {
            String msg="重置"+uif.getUName()+"用户的密码";
            User_log ulog=UinfDaoFactory.CreateULog(UinfDaoFactory.Alter, msg);
            uservice.add(ulog);//将用户的操作记录下来
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //根据用户的id查询用户所在的包机组
    public String serchByInfo(){
        //System.out.println(uif);
        ServiceModel model=service.serchByInfo(uif);
        result=ActionUtil.tojson(model);
        return SUCCESS;
    }
    //添加新的用户模板
    public String createNewUser(){
        User_inf uinf=UtilityFactory.CreateUinf();
        ServiceModel model=new ServiceModel();
        if(uinf!=null){
            model.setCode(1);
            model.setData(uinf);
        }
        result=ActionUtil.tojson(model);
        return SUCCESS;
    }
    //更新多个用户
    public String updateUser(){
        Gson gson=ActionUtil.getGson("yyyy-MM-dd");
        String msg="";
        model=new ServiceModel();
        if(addjson!=null && addjson.length()>0){
            List<User_inf> addlist=gson.fromJson(addjson, new TypeToken<List<User_inf>>(){}.getType());
            if(addlist!=null && addlist.size()>0){
                //System.out.println(addlist);
                model=service.add(addlist);
                msg+=model.getMsg();
            }
        }
        if(upjson!=null && upjson.length()>0){
            List<User_inf> uplist=gson.fromJson(upjson, new TypeToken<List<User_inf>>(){}.getType());
            if(uplist!=null && uplist.size()>0){
                model=service.update(uplist);
                msg+=model.getMsg();
            }
        }
        model.setMsg(msg);
        result=ActionUtil.tojson(model);
        //System.out.println(result);
        return SUCCESS;
    }
    //修改多个用户
    public String addUser(){
        if(addjson!=null && addjson.length()>0){
            Gson gson=new Gson();
            List<Battalarm_data> list=gson.fromJson(addjson, new TypeToken<List<User_inf>>(){}.getType());
        }
        return SUCCESS;
    }
    //修改密码
    public String updatePassword(){
        User_inf uinf=(User_inf)ActionUtil.getUser();
        if(uinf!=null && uif!=null){
            uinf.setUSnId(uif.getUSnId());
            model=service.updatePassword(uinf);
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //查询当前用户的信息
    public String serchUserfromSession(){
        Object obj=ActionUtil.getUser();
        result =ActionUtil.tojson(obj);
        return SUCCESS;
    }
    //检查用户的密码
    public String checkUserPass(){
        User_inf user = (User_inf)ActionUtil.getUser();
        ServiceModel model = new ServiceModel();
        if(user != null && user.getUpassword().equals(addjson)){
            model.setCode(1);
        }else{
            model.setCode(0);
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //查询当前用户的用户名
    public String searchUname(){
        User_inf user = (User_inf)ActionUtil.getUser();
        ServiceModel model = new ServiceModel();
        if(user != null){
            model.setCode(1);
            model.setMsgN(user.getUName());
        }else{
            model.setCode(0);
            model.setMsg(getText("You are not logged in, please log in"));
        }
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    //界面请求监测服务是否断开
    public String checkService(){
        return SUCCESS;
    }
    //包机组重做(穿梭框)查询所有的用户
    public String searchCS_All() {
        ServiceModel model=service.searchCS_All();
        result = ActionUtil.tojson(model);
        return SUCCESS;
    }
    public String test(){
        System.out.println(upjson);
        System.out.println(uif);
        return SUCCESS;
    }
    public void setBup(Batt_User_Permit bup) {
        this.bup = bup;
    }
    public String getResult() {
        return result;
    }
    public void setResult(String result) {
        this.result = result;
    }
    public User_inf getUif() {
        return uif;
    }
    public void setUif(User_inf uif) {
        this.uif = uif;
    }
    public Batt_User_Permit getBup() {
        return bup;
    }
    public String getAddjson() {
        return addjson;
    }
    public void setAddjson(String addjson) {
        this.addjson = addjson;
    }
    public String getUpjson() {
        return upjson;
    }
    public void setUpjson(String upjson) {
        this.upjson = upjson;
    }
    public static void main(String[] args) {
        User_infAction ua=new User_infAction();
        //Batt_User_Permit bup=new Batt_User_Permit();
        ua.searchAll();
    }
}
zijing/src/com/fgkj/dao/impl/User_infImpl.java
@@ -1,572 +1,614 @@
package com.fgkj.dao.impl;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.fgkj.actions.ActionUtil;
import com.fgkj.dao.BaseDAO;
import com.fgkj.dao.CallBack;
import com.fgkj.dao.DAOHelper;
import com.fgkj.dao.LimitNumberFactory;
import com.fgkj.dao.UinfDaoFactory;
import com.fgkj.db.DBUtil;
import com.fgkj.db.IDatabaseName;
import com.fgkj.dto.BattInf;
import com.fgkj.dto.Batt_User_Permit;
import com.fgkj.dto.Page;
import com.fgkj.dto.User_battgroup_baojigroup;
import com.fgkj.dto.User_battgroup_baojigroup_battgroup;
import com.fgkj.dto.User_inf;
import com.fgkj.dto.User_task_batt_template;
public class User_infImpl implements BaseDAO, CallBack {
    public List getResults(ResultSet rs) {
        List list = new ArrayList();
        try {
            while (rs.next()) {
                User_inf userinf = new User_inf();
                userinf.setUId(rs.getInt("uId"));
                userinf.setUSnId(rs.getString("uSnId"));
                userinf.setUName(rs.getString("uName"));
                userinf.setUShenFenId(rs.getString("uShenFenId"));
                userinf.setUEmployeeId(rs.getString("uEmployeeId"));
                userinf.setUTelephone(rs.getString("uTelephone"));
                userinf.setUMobilephone(rs.getString("uMobilephone"));
                userinf.setUEmail(rs.getString("uEmail"));
                userinf.setUAddr(rs.getString("uAddr"));
                userinf.setUBirthDay((Date) rs.getObject("uBirthDay"));
                userinf.setUAccessionDay((Date) rs.getObject("uAccessionDay"));
                userinf.setUSex(rs.getString("uSex"));
                userinf.setUDepartment(rs.getString("uDepartment"));
                userinf.setUProTitle(rs.getString("uProTitle"));
                userinf.setUAuthority(rs.getString("uAuthority"));
                userinf.setUJobGroup(rs.getString("uJobGroup"));
                userinf.setUDuties(rs.getString("uDuties"));
                userinf.setUTasks(rs.getString("uTasks"));
                userinf.setUBaojiusr(Integer.parseInt(rs.getString("uBaojiUsr")));
                userinf.setUNote(rs.getString("uNote"));
                //userinf.setUpassword(rs.getString("upassword"));
                list.add(userinf);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }
    //5.1用户管理(添加)
    public boolean add(Object obj) {
        User_inf uinf=(User_inf) obj;
        String sql="insert into db_user.tb_user_inf(uSnId,uPassword,uName,uShenFenId,uEmployeeId,uTelephone,uMobilephone,uEmail,uAddr,uBirthday,uAccessionDay," +
                "uSex,uDepartment,uProTitle,uAuthority,uJobGroup,uDuties,uTasks,uBaojiusr,uNote) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
        Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{uinf.getUSnId(),uinf.getUpassword(),uinf.getUName(),uinf.getUShenFenId(),
            uinf.getUEmployeeId(),uinf.getUTelephone(),uinf.getUMobilephone(),uinf.getUEmail(),uinf.getUAddr(),uinf.getUBirthDay(),uinf.getUAccessionDay(),
            uinf.getUSex(),uinf.getUDepartment(),uinf.getUProTitle(),uinf.getUAuthority(),uinf.getUJobGroup(),uinf.getUDuties(),uinf.getUTasks(),uinf.getUBaojiusr(),
            uinf.getUNote()});
        return bl;
    }
    //5.1用户管理(添加时判断用户名是否重复)
    public int addJudge(Object obj){
        User_inf uinf=(User_inf) obj;
        String sql=" select count(uid) as nums from db_user.tb_user_inf where uname=? limit 1";
        List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUName()}, new CallBack() {
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        int nums=rs.getInt("nums");
                        list.add(nums);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        int flag=1;
        if(list!=null&&list.size()>0){
            int nums=(Integer) list.get(list.size()-1);
            //System.out.println(nums);
            if(nums>0){
                flag=0;
            }else{
                flag=1;
            }
        }
        return flag;
    }
    //5.1用户管理(编辑)
    public boolean update(Object obj) {
        User_inf uinf=(User_inf) obj;
        String sql="update db_user.tb_user_inf set uName=?,uShenFenId=?,uEmployeeId=?,uTelephone=?,uMobilephone=?,uEmail=?,uAddr=?,uBirthday=?,uAccessionDay=?," +
                "uSex=?,uDepartment=?,uProTitle=?,uAuthority=?,uJobGroup=?,uDuties=?,uTasks=?,uBaojiusr=?,uNote=? where uId=?";
        Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{uinf.getUName(),uinf.getUShenFenId(),
            uinf.getUEmployeeId(),uinf.getUTelephone(),uinf.getUMobilephone(),uinf.getUEmail(),uinf.getUAddr(),uinf.getUBirthDay(),uinf.getUAccessionDay(),
            uinf.getUSex(),uinf.getUDepartment(),uinf.getUProTitle(),uinf.getUAuthority(),uinf.getUJobGroup(),uinf.getUDuties(),uinf.getUTasks(),uinf.getUBaojiusr(),
            uinf.getUNote(),uinf.getUId()});
        return bl;
    }
    //5.1用户管理(删除)
    public boolean del(Object obj) {
        User_inf uinf=(User_inf) obj;
        boolean bl = false;
        String sql="delete from db_user.tb_user_inf where uId=? ";
        bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{uinf.getUId()});
        return bl;
    }
    //首页会根据uname查询用户信息
    public List serchByCondition(Object obj) {
        User_inf uinf=(User_inf) obj;
        String sql = "select uid,uname,uSnId,upassword,unote from db_user.tb_user_inf where uname=?";
        List list = DAOHelper
                .executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUName()},
                        new CallBack() {
                            public List getResults(ResultSet rs) {
                                List list=new ArrayList();
                                try {
                                    while(rs.next()){
                                        User_inf uinf=new User_inf();
                                        uinf.setUId(rs.getInt("uId"));
                                        uinf.setUName(rs.getString("uName"));
                                        uinf.setUSnId(rs.getString("uSnId"));
                                        uinf.setUNote(rs.getString("uNote"));
                                        uinf.setUpassword(rs.getString("upassword"));
                                        list.add(uinf);
                                    }
                                } catch (SQLException e) {
                                    e.printStackTrace();
                                }
                                return list;
                            }
                        });
        return list;
    }
    //查询当前库中存在的name名字的排序(模糊)
    public List serchinfoUname() {
        String sql = "select uid,uname from db_user.tb_user_inf where uname like '%name%' order by uname";
        List list = DAOHelper
                .executeQuery(sql, DBUtil.getConn(),null,
                        new CallBack() {
                            public List getResults(ResultSet rs) {
                                List list=new ArrayList();
                                try {
                                    while(rs.next()){
                                        User_inf uinf=new User_inf();
                                        uinf.setUId(rs.getInt("uId"));
                                        uinf.setUName(rs.getString("uName"));
                                        list.add(uinf);
                                    }
                                } catch (SQLException e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                }
                                return list;
                            }
                        });
        return list;
    }
    //5.3根据uid查包机组
    public List serchByInfo(Object obj) {
        User_inf uinf=(User_inf) obj;
        String sql = "select distinct(baoji_group_name) " +
                "from db_user.tb_user_battgroup_baojigroup,db_user.tb_user_battgroup_baojigroup_usr  " +
                "where tb_user_battgroup_baojigroup_usr.baoji_group_id=tb_user_battgroup_baojigroup.baoji_group_id " +
                "and tb_user_battgroup_baojigroup_usr.uId=?";
        List list = DAOHelper
                .executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()},
                        new CallBack() {
                            public List getResults(ResultSet rs) {
                                List list=new ArrayList();
                                    try {
                                        while(rs.next()){
                                            User_battgroup_baojigroup u=new User_battgroup_baojigroup();
                                            u.setBaoji_group_name(rs.getString("baoji_group_name"));
                                            list.add(u);
                                        }
                                    } catch (SQLException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    }
                                    return list;
                            }
                        });
        return list;
    }
    //根据battgroupid查对应的包机人
    public List searchByBattGroupId(Object obj){
        User_battgroup_baojigroup_battgroup ugroup=(User_battgroup_baojigroup_battgroup) obj;
        String sql="select distinct(db_user.tb_user_inf.uid),db_user.tb_user_inf.uName,db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId " +
                "from db_user.tb_user_inf ,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr " +
                "where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id " +
                "and db_user.tb_user_battgroup_baojigroup_usr.uId=db_user.tb_user_inf.uid " +
                "and db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=? and db_user.tb_user_inf.uBaojiUsr=1 ";
        //System.out.println(sql);
        List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{ugroup.getBattGroupId()}, new CallBack() {
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        User_inf uinf=new User_inf();
                        uinf.setUSnId(Integer.toString((rs.getInt("battgroupid"))));
                        uinf.setUId(rs.getInt("uId"));
                        uinf.setUName(rs.getString("uName"));
                        list.add(uinf);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        return list;
    }
    //根据uId查用户姓名
    public List serchUname(Object obj) {
        User_inf uinf=(User_inf) obj;
        String sql = "select uName from db_user.tb_user_inf where uId=?";
        List list = DAOHelper
                .executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()},
                        new CallBack() {
                            public List getResults(ResultSet rs) {
                                List list=new ArrayList();
                                    try {
                                        while(rs.next()){
                                            User_inf uinf=new User_inf();
                                            uinf.setUName(rs.getString("uName"));
                                            list.add(uinf);
                                        }
                                    } catch (SQLException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    }
                                    return list;
                            }
                        });
        return list;
    }
    //查询所有uid在字符串objs中的所有用户名,并且用,连接多个用户名
    public List searchUnams(Object objs){
        String sql = "SELECT GROUP_CONCAT(DISTINCT(uname))as unames from db_user.tb_user_inf where locate(uid,?);";
        return DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{objs.toString()}, new CallBack() {
            public List getResults(ResultSet rs) {
                List list = new ArrayList();
                try {
                    while(rs.next()){
                        String uname = rs.getString("unames");
                        if(uname != null && uname.length() >0){
                            list.add(rs.getString("unames"));
                        }
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                return list;
            }
        });
    }
    //5.1查询所有员工信息
    public List searchAll(Object obj) {
        Batt_User_Permit bup=(Batt_User_Permit) obj;
        //System.out.println(bup);
        String sql = "select distinct(tb_user_inf.uid),uSnId,uName,uShenFenId,uEmployeeId,uTelephone,uMobilephone,uEmail,uAddr,uBirthday,uAccessionDay,uSex,uDepartment,uProTitle,uAuthority,uJobGroup,uDuties,uTasks,uBaojiusr,uNote" +
                ",permit_group_name " +
                "from db_user.tb_user_inf " +
                "left outer join db_user.tb_user_permitgroup_data on db_user.tb_user_inf.uid=db_user.tb_user_permitgroup_data.uid " +
                "left outer join db_user.tb_user_permitgroup on db_user.tb_user_permitgroup.permit_group_id=db_user.tb_user_permitgroup_data.permit_group_id " +
                "where  tb_user_inf.uid!=1002 " +
                "order by uid";
        List list = DAOHelper
                .executeQuery(sql, DBUtil.getConn(), null,
                        new CallBack() {
                    public List getResults(ResultSet rs) {
                        List list = new ArrayList();
                        int id=0;
                        String permit="";
                        try {
                            while (rs.next()) {
                                Batt_User_Permit bup=new Batt_User_Permit();
                                User_inf userinf = new User_inf();
                                userinf.setUId(rs.getInt("uId"));
                                if(id==rs.getInt("uId")){
                                    continue;
                                }else{
                                    id=rs.getInt("uId");
                                }
                                userinf.setUSnId(rs.getString("uSnId"));
                                userinf.setUName(rs.getString("uName"));
                                userinf.setUShenFenId(rs.getString("uShenFenId"));
                                userinf.setUEmployeeId(rs.getString("uEmployeeId"));
                                userinf.setUTelephone(rs.getString("uTelephone"));
                                userinf.setUMobilephone(rs.getString("uMobilephone"));
                                userinf.setUEmail(rs.getString("uEmail"));
                                userinf.setUAddr(rs.getString("uAddr"));
                                userinf.setUBirthDay((Date) rs.getObject("uBirthDay"));
                                userinf.setUAccessionDay((Date) rs.getObject("uAccessionDay"));
                                userinf.setUSex(rs.getString("uSex"));
                                userinf.setUDepartment(rs.getString("uDepartment"));
                                userinf.setUProTitle(rs.getString("uProTitle"));
                                userinf.setUAuthority(rs.getString("uAuthority"));
                                userinf.setUJobGroup(rs.getString("uJobGroup"));
                                userinf.setUDuties(rs.getString("uDuties"));
                                userinf.setUTasks(rs.getString("uTasks"));
                                userinf.setUBaojiusr(Integer.parseInt(rs.getString("uBaojiUsr")));
                                userinf.setUNote(rs.getString("uNote"));
                                Page page=new Page();
                                bup.setUinf(userinf);
                                bup.setPage(page);
                                list.add(bup);
                            }
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                        return list;
                    }
                        });
        List<Batt_User_Permit> listd=new ArrayList();
        /*for(int i=0;i<list.size();i++){
            System.out.println(((Batt_Maint_Dealarm)list.get(i)).getBinf().getBattGroupId());
        }*/
        int index=0;
        //System.out.println(list);
        for(int i=(bup.getPage().getPageCurr()-1)*bup.getPage().getPageSize();i<bup.getPage().getPageSize()*bup.getPage().getPageCurr()&&i<list.size();i++){
            listd.add((Batt_User_Permit) list.get(i));
            //System.out.println(list.get(i));
            ((Batt_User_Permit)listd.get(index++)).getPage().setPageAll(list.size());
        }
        return listd;
    }
    //5.1查询所有员工信息
    public List searchAll() {
        String sql = "select distinct(tb_user_inf.uid),uSnId,uName,uShenFenId,uEmployeeId,uTelephone,uMobilephone,uEmail,uAddr,uBirthday,uAccessionDay,uSex,uDepartment,uProTitle,uAuthority,uJobGroup,uDuties,uTasks,uBaojiusr,uNote" +
                ",permit_group_name " +
                "from db_user.tb_user_inf " +
                "left outer join db_user.tb_user_permitgroup_data on db_user.tb_user_inf.uid=tb_user_permitgroup_data.uid " +
                "left outer join db_user.tb_user_permitgroup on db_user.tb_user_permitgroup.permit_group_id=tb_user_permitgroup_data.permit_group_id " +
                "where  tb_user_inf.uid!=1002 " +
                "order by uid";
        List list = DAOHelper
                .executeQuery(sql, DBUtil.getConn(), null,
                        new CallBack() {
                    public List getResults(ResultSet rs) {
                        List list = new ArrayList();
                        int id=0;
                        String permit="";
                        try {
                            while (rs.next()) {
                                User_inf userinf = new User_inf();
                                userinf.setUId(rs.getInt("uId"));
                                if(id==rs.getInt("uId")){
                                    continue;
                                }else{
                                    id=rs.getInt("uId");
                                }
                                userinf.setUSnId(rs.getString("uSnId"));
                                userinf.setUName(rs.getString("uName"));
                                userinf.setUShenFenId(rs.getString("uShenFenId"));
                                userinf.setUEmployeeId(rs.getString("uEmployeeId"));
                                userinf.setUTelephone(rs.getString("uTelephone"));
                                userinf.setUMobilephone(rs.getString("uMobilephone"));
                                userinf.setUEmail(rs.getString("uEmail"));
                                userinf.setUAddr(rs.getString("uAddr"));
                                userinf.setUBirthDay(rs.getTimestamp("uBirthDay"));
                                userinf.setUAccessionDay(rs.getTimestamp("uAccessionDay"));
                                userinf.setUSex(rs.getString("uSex"));
                                userinf.setUDepartment(rs.getString("uDepartment"));
                                userinf.setUProTitle(rs.getString("uProTitle"));
                                userinf.setUAuthority(rs.getString("uAuthority"));
                                userinf.setUJobGroup(rs.getString("uJobGroup"));
                                userinf.setUDuties(rs.getString("uDuties"));
                                userinf.setUTasks(rs.getString("uTasks"));
                                userinf.setUBaojiusr(Integer.parseInt(rs.getString("uBaojiUsr")));
                                userinf.setUNote(rs.getString("uNote"));
                                list.add(userinf);
                            }
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                        return list;
                    }
                        });
        return list;
    }
    //4.1查询维护区对应的维护人员个数(由模板创建作业时)
    public List serchDepNum(Object obj){
        User_task_batt_template utem=(User_task_batt_template) obj;
        String sql="select distinct(uid) from db_user.tb_user_inf where db_user.tb_user_inf.ubaojiusr=1 and db_user.tb_user_inf.udepartment=? ";
        List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{utem.getQuyu_name()}, new CallBack() {
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        User_inf uinf=new User_inf();
                        uinf.setUId(rs.getInt("uId"));
                        list.add(uinf);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        return list;
    }
    //修改用户密码
    public boolean updatePassword(Object obj){
        User_inf uinf=(User_inf) obj;
        String sql="update db_user.tb_user_inf set usnid=? , upassword=? where uid=?";
        Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{uinf.getUSnId(),uinf.getUpassword(),uinf.getUId()});
        return bl;
    }
    //重置用户密码
    public boolean resetPassword(Object obj){
        User_inf uinf=(User_inf) obj;
        String sql="update db_user.tb_user_inf set usnid=?,upassword=? where uid=?";
        Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{UinfDaoFactory.MR_PWD,(String)ActionUtil.EncryptionMD5(UinfDaoFactory.MR_PWD),uinf.getUId()});
        return bl;
    }
    //根据员工信息和员工编号去匹配合适的员工
    public List searchByNameOrId(Object obj){
        Batt_User_Permit bup=(Batt_User_Permit) obj;
        User_inf uinf=bup.getUinf();
        Page p=bup.getPage();
        Connection conn=DBUtil.getConn();
        String numberSql=" SELECT FOUND_ROWS() number";
        String sql="select SQL_CALC_FOUND_ROWS distinct(uid),uSnId,uName,uShenFenId,uEmployeeId,uTelephone,uMobilephone,uEmail,uAddr,uBirthday,uAccessionDay,uSex,uDepartment,uProTitle,uAuthority,uJobGroup,uDuties,uTasks,uBaojiusr,uNote" +
                " from db_user.tb_user_inf " +
                " where  uName like ? or uEmployeeId like ? " +
                " order by uid " +
                " limit ?,?";
        //System.out.println(sql);
        List<User_inf> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{"%"+uinf.getUName()+"%","%"+uinf.getUEmployeeId()+"%",(p.getPageCurr()-1)*p.getPageSize(),p.getPageSize()}, new CallBack() {
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        User_inf userinf = new User_inf();
                        userinf.setUId(rs.getInt("uId"));
                        userinf.setUSnId(rs.getString("uSnId"));
                        userinf.setUName(rs.getString("uName"));
                        userinf.setUShenFenId(rs.getString("uShenFenId"));
                        userinf.setUEmployeeId(rs.getString("uEmployeeId"));
                        userinf.setUTelephone(rs.getString("uTelephone"));
                        userinf.setUMobilephone(rs.getString("uMobilephone"));
                        userinf.setUEmail(rs.getString("uEmail"));
                        userinf.setUAddr(rs.getString("uAddr"));
                        userinf.setUBirthDay(rs.getTimestamp("uBirthDay"));
                        userinf.setUAccessionDay(rs.getTimestamp("uAccessionDay"));
                        userinf.setUSex(rs.getString("uSex"));
                        userinf.setUDepartment(rs.getString("uDepartment"));
                        userinf.setUProTitle(rs.getString("uProTitle"));
                        userinf.setUAuthority(rs.getString("uAuthority"));
                        userinf.setUJobGroup(rs.getString("uJobGroup"));
                        userinf.setUDuties(rs.getString("uDuties"));
                        userinf.setUTasks(rs.getString("uTasks"));
                        userinf.setUBaojiusr(Integer.parseInt(rs.getString("uBaojiUsr")));
                        userinf.setUNote(rs.getString("uNote"));
                        list.add(userinf);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        //去掉limit条件后的总数
        int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
        if(list!=null&&list.size()>0){
            list.get(list.size()-1).setUNote(String.valueOf(number));
        }
        return list;
    }
    public static void main(String[] args) {
        User_infImpl ui= new User_infImpl();
        List<User_inf> list=ui.searchAll();
        for (User_inf u : list) {
            System.out.println(u);
        }
        User_inf u=new User_inf();
        u.setUId(1003);
//        List<User_inf> list=ui.serchByCondition(u);
//        for (User_inf uu : list) {
//            System.out.println(uu);
//        }
        Batt_User_Permit bup=new Batt_User_Permit();
        Page page=new Page();
        page.setPageSize(2);
        page.setPageCurr(1);
        bup.setPage(page);
//        List<Batt_User_Permit> list=ui.searchAll(bup);
//        for (Batt_User_Permit object : list) {
//            System.out.println(object);
//        }
        ui.searchUnams("01001,01002,01003");
    }
}
package com.fgkj.dao.impl;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.fgkj.actions.ActionUtil;
import com.fgkj.dao.BaseDAO;
import com.fgkj.dao.CallBack;
import com.fgkj.dao.DAOHelper;
import com.fgkj.dao.LimitNumberFactory;
import com.fgkj.dao.UinfDaoFactory;
import com.fgkj.db.DBUtil;
import com.fgkj.db.IDatabaseName;
import com.fgkj.dto.BattInf;
import com.fgkj.dto.Batt_User_Permit;
import com.fgkj.dto.Page;
import com.fgkj.dto.User_battgroup_baojigroup;
import com.fgkj.dto.User_battgroup_baojigroup_battgroup;
import com.fgkj.dto.User_inf;
import com.fgkj.dto.User_task_batt_template;
public class User_infImpl implements BaseDAO, CallBack {
    public List getResults(ResultSet rs) {
        List list = new ArrayList();
        try {
            while (rs.next()) {
                User_inf userinf = new User_inf();
                userinf.setUId(rs.getInt("uId"));
                userinf.setUSnId(rs.getString("uSnId"));
                userinf.setUName(rs.getString("uName"));
                userinf.setUShenFenId(rs.getString("uShenFenId"));
                userinf.setUEmployeeId(rs.getString("uEmployeeId"));
                userinf.setUTelephone(rs.getString("uTelephone"));
                userinf.setUMobilephone(rs.getString("uMobilephone"));
                userinf.setUEmail(rs.getString("uEmail"));
                userinf.setUAddr(rs.getString("uAddr"));
                userinf.setUBirthDay((Date) rs.getObject("uBirthDay"));
                userinf.setUAccessionDay((Date) rs.getObject("uAccessionDay"));
                userinf.setUSex(rs.getString("uSex"));
                userinf.setUDepartment(rs.getString("uDepartment"));
                userinf.setUProTitle(rs.getString("uProTitle"));
                userinf.setUAuthority(rs.getString("uAuthority"));
                userinf.setUJobGroup(rs.getString("uJobGroup"));
                userinf.setUDuties(rs.getString("uDuties"));
                userinf.setUTasks(rs.getString("uTasks"));
                userinf.setUBaojiusr(Integer.parseInt(rs.getString("uBaojiUsr")));
                userinf.setUNote(rs.getString("uNote"));
                //userinf.setUpassword(rs.getString("upassword"));
                list.add(userinf);
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return list;
    }
    //5.1用户管理(添加)
    public boolean add(Object obj) {
        User_inf uinf=(User_inf) obj;
        String sql="insert into db_user.tb_user_inf(uSnId,uPassword,uName,uShenFenId,uEmployeeId,uTelephone,uMobilephone,uEmail,uAddr,uBirthday,uAccessionDay," +
                "uSex,uDepartment,uProTitle,uAuthority,uJobGroup,uDuties,uTasks,uBaojiusr,uNote) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
        Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{uinf.getUSnId(),uinf.getUpassword(),uinf.getUName(),uinf.getUShenFenId(),
            uinf.getUEmployeeId(),uinf.getUTelephone(),uinf.getUMobilephone(),uinf.getUEmail(),uinf.getUAddr(),uinf.getUBirthDay(),uinf.getUAccessionDay(),
            uinf.getUSex(),uinf.getUDepartment(),uinf.getUProTitle(),uinf.getUAuthority(),uinf.getUJobGroup(),uinf.getUDuties(),uinf.getUTasks(),uinf.getUBaojiusr(),
            uinf.getUNote()});
        return bl;
    }
    //5.1用户管理(添加时判断用户名是否重复)
    public int addJudge(Object obj){
        User_inf uinf=(User_inf) obj;
        String sql=" select count(uid) as nums from db_user.tb_user_inf where uname=? limit 1";
        List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUName()}, new CallBack() {
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        int nums=rs.getInt("nums");
                        list.add(nums);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        int flag=1;
        if(list!=null&&list.size()>0){
            int nums=(Integer) list.get(list.size()-1);
            //System.out.println(nums);
            if(nums>0){
                flag=0;
            }else{
                flag=1;
            }
        }
        return flag;
    }
    //5.1用户管理(编辑)
    public boolean update(Object obj) {
        User_inf uinf=(User_inf) obj;
        String sql="update db_user.tb_user_inf set uName=?,uShenFenId=?,uEmployeeId=?,uTelephone=?,uMobilephone=?,uEmail=?,uAddr=?,uBirthday=?,uAccessionDay=?," +
                "uSex=?,uDepartment=?,uProTitle=?,uAuthority=?,uJobGroup=?,uDuties=?,uTasks=?,uBaojiusr=?,uNote=? where uId=?";
        Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{uinf.getUName(),uinf.getUShenFenId(),
            uinf.getUEmployeeId(),uinf.getUTelephone(),uinf.getUMobilephone(),uinf.getUEmail(),uinf.getUAddr(),uinf.getUBirthDay(),uinf.getUAccessionDay(),
            uinf.getUSex(),uinf.getUDepartment(),uinf.getUProTitle(),uinf.getUAuthority(),uinf.getUJobGroup(),uinf.getUDuties(),uinf.getUTasks(),uinf.getUBaojiusr(),
            uinf.getUNote(),uinf.getUId()});
        return bl;
    }
    //5.1用户管理(删除)
    public boolean del(Object obj) {
        User_inf uinf=(User_inf) obj;
        boolean bl = false;
        String sql="delete from db_user.tb_user_inf where uId=? ";
        bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{uinf.getUId()});
        return bl;
    }
    //首页会根据uname查询用户信息
    public List serchByCondition(Object obj) {
        User_inf uinf=(User_inf) obj;
        String sql = "select uid,uname,uSnId,upassword,unote from db_user.tb_user_inf where uname=?";
        List list = DAOHelper
                .executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUName()},
                        new CallBack() {
                            public List getResults(ResultSet rs) {
                                List list=new ArrayList();
                                try {
                                    while(rs.next()){
                                        User_inf uinf=new User_inf();
                                        uinf.setUId(rs.getInt("uId"));
                                        uinf.setUName(rs.getString("uName"));
                                        uinf.setUSnId(rs.getString("uSnId"));
                                        uinf.setUNote(rs.getString("uNote"));
                                        uinf.setUpassword(rs.getString("upassword"));
                                        list.add(uinf);
                                    }
                                } catch (SQLException e) {
                                    e.printStackTrace();
                                }
                                return list;
                            }
                        });
        return list;
    }
    //查询当前库中存在的name名字的排序(模糊)
    public List serchinfoUname() {
        String sql = "select uid,uname from db_user.tb_user_inf where uname like '%name%' order by uname";
        List list = DAOHelper
                .executeQuery(sql, DBUtil.getConn(),null,
                        new CallBack() {
                            public List getResults(ResultSet rs) {
                                List list=new ArrayList();
                                try {
                                    while(rs.next()){
                                        User_inf uinf=new User_inf();
                                        uinf.setUId(rs.getInt("uId"));
                                        uinf.setUName(rs.getString("uName"));
                                        list.add(uinf);
                                    }
                                } catch (SQLException e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                }
                                return list;
                            }
                        });
        return list;
    }
    //5.3根据uid查包机组
    public List serchByInfo(Object obj) {
        User_inf uinf=(User_inf) obj;
        String sql = "select distinct(baoji_group_name) " +
                "from db_user.tb_user_battgroup_baojigroup,db_user.tb_user_battgroup_baojigroup_usr  " +
                "where tb_user_battgroup_baojigroup_usr.baoji_group_id=tb_user_battgroup_baojigroup.baoji_group_id " +
                "and tb_user_battgroup_baojigroup_usr.uId=?";
        List list = DAOHelper
                .executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()},
                        new CallBack() {
                            public List getResults(ResultSet rs) {
                                List list=new ArrayList();
                                    try {
                                        while(rs.next()){
                                            User_battgroup_baojigroup u=new User_battgroup_baojigroup();
                                            u.setBaoji_group_name(rs.getString("baoji_group_name"));
                                            list.add(u);
                                        }
                                    } catch (SQLException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    }
                                    return list;
                            }
                        });
        return list;
    }
    //根据battgroupid查对应的包机人
    public List searchByBattGroupId(Object obj){
        User_battgroup_baojigroup_battgroup ugroup=(User_battgroup_baojigroup_battgroup) obj;
        String sql="select distinct(db_user.tb_user_inf.uid),db_user.tb_user_inf.uName,db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId " +
                "from db_user.tb_user_inf ,db_user.tb_user_battgroup_baojigroup_battgroup,db_user.tb_user_battgroup_baojigroup_usr " +
                "where db_user.tb_user_battgroup_baojigroup_battgroup.baoji_group_id=db_user.tb_user_battgroup_baojigroup_usr.baoji_group_id " +
                "and db_user.tb_user_battgroup_baojigroup_usr.uId=db_user.tb_user_inf.uid " +
                "and db_user.tb_user_battgroup_baojigroup_battgroup.BattGroupId=? and db_user.tb_user_inf.uBaojiUsr=1 ";
        //System.out.println(sql);
        List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{ugroup.getBattGroupId()}, new CallBack() {
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        User_inf uinf=new User_inf();
                        uinf.setUSnId(Integer.toString((rs.getInt("battgroupid"))));
                        uinf.setUId(rs.getInt("uId"));
                        uinf.setUName(rs.getString("uName"));
                        list.add(uinf);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        return list;
    }
    //根据uId查用户姓名
    public List serchUname(Object obj) {
        User_inf uinf=(User_inf) obj;
        String sql = "select uName from db_user.tb_user_inf where uId=?";
        List list = DAOHelper
                .executeQuery(sql, DBUtil.getConn(), new Object[]{uinf.getUId()},
                        new CallBack() {
                            public List getResults(ResultSet rs) {
                                List list=new ArrayList();
                                    try {
                                        while(rs.next()){
                                            User_inf uinf=new User_inf();
                                            uinf.setUName(rs.getString("uName"));
                                            list.add(uinf);
                                        }
                                    } catch (SQLException e) {
                                        // TODO Auto-generated catch block
                                        e.printStackTrace();
                                    }
                                    return list;
                            }
                        });
        return list;
    }
    //查询所有uid在字符串objs中的所有用户名,并且用,连接多个用户名
    public List searchUnams(Object objs){
        String sql = "SELECT GROUP_CONCAT(DISTINCT(uname))as unames from db_user.tb_user_inf where locate(uid,?);";
        return DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{objs.toString()}, new CallBack() {
            public List getResults(ResultSet rs) {
                List list = new ArrayList();
                try {
                    while(rs.next()){
                        String uname = rs.getString("unames");
                        if(uname != null && uname.length() >0){
                            list.add(rs.getString("unames"));
                        }
                    }
                } catch (SQLException e) {
                    e.printStackTrace();
                }
                return list;
            }
        });
    }
    //5.1查询所有员工信息
    public List searchAll(Object obj) {
        Batt_User_Permit bup=(Batt_User_Permit) obj;
        //System.out.println(bup);
        String sql = "select distinct(tb_user_inf.uid),uSnId,uName,uShenFenId,uEmployeeId,uTelephone,uMobilephone,uEmail,uAddr,uBirthday,uAccessionDay,uSex,uDepartment,uProTitle,uAuthority,uJobGroup,uDuties,uTasks,uBaojiusr,uNote" +
                ",permit_group_name " +
                "from db_user.tb_user_inf " +
                "left outer join db_user.tb_user_permitgroup_data on db_user.tb_user_inf.uid=db_user.tb_user_permitgroup_data.uid " +
                "left outer join db_user.tb_user_permitgroup on db_user.tb_user_permitgroup.permit_group_id=db_user.tb_user_permitgroup_data.permit_group_id " +
                "where  tb_user_inf.uid!=1002 " +
                "order by uid";
        List list = DAOHelper
                .executeQuery(sql, DBUtil.getConn(), null,
                        new CallBack() {
                    public List getResults(ResultSet rs) {
                        List list = new ArrayList();
                        int id=0;
                        String permit="";
                        try {
                            while (rs.next()) {
                                Batt_User_Permit bup=new Batt_User_Permit();
                                User_inf userinf = new User_inf();
                                userinf.setUId(rs.getInt("uId"));
                                if(id==rs.getInt("uId")){
                                    continue;
                                }else{
                                    id=rs.getInt("uId");
                                }
                                userinf.setUSnId(rs.getString("uSnId"));
                                userinf.setUName(rs.getString("uName"));
                                userinf.setUShenFenId(rs.getString("uShenFenId"));
                                userinf.setUEmployeeId(rs.getString("uEmployeeId"));
                                userinf.setUTelephone(rs.getString("uTelephone"));
                                userinf.setUMobilephone(rs.getString("uMobilephone"));
                                userinf.setUEmail(rs.getString("uEmail"));
                                userinf.setUAddr(rs.getString("uAddr"));
                                userinf.setUBirthDay((Date) rs.getObject("uBirthDay"));
                                userinf.setUAccessionDay((Date) rs.getObject("uAccessionDay"));
                                userinf.setUSex(rs.getString("uSex"));
                                userinf.setUDepartment(rs.getString("uDepartment"));
                                userinf.setUProTitle(rs.getString("uProTitle"));
                                userinf.setUAuthority(rs.getString("uAuthority"));
                                userinf.setUJobGroup(rs.getString("uJobGroup"));
                                userinf.setUDuties(rs.getString("uDuties"));
                                userinf.setUTasks(rs.getString("uTasks"));
                                userinf.setUBaojiusr(Integer.parseInt(rs.getString("uBaojiUsr")));
                                userinf.setUNote(rs.getString("uNote"));
                                Page page=new Page();
                                bup.setUinf(userinf);
                                bup.setPage(page);
                                list.add(bup);
                            }
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                        return list;
                    }
                        });
        List<Batt_User_Permit> listd=new ArrayList();
        /*for(int i=0;i<list.size();i++){
            System.out.println(((Batt_Maint_Dealarm)list.get(i)).getBinf().getBattGroupId());
        }*/
        int index=0;
        //System.out.println(list);
        for(int i=(bup.getPage().getPageCurr()-1)*bup.getPage().getPageSize();i<bup.getPage().getPageSize()*bup.getPage().getPageCurr()&&i<list.size();i++){
            listd.add((Batt_User_Permit) list.get(i));
            //System.out.println(list.get(i));
            ((Batt_User_Permit)listd.get(index++)).getPage().setPageAll(list.size());
        }
        return listd;
    }
    //5.1查询所有员工信息
    public List searchAll() {
        String sql = "select distinct(tb_user_inf.uid),uSnId,uName,uShenFenId,uEmployeeId,uTelephone,uMobilephone,uEmail,uAddr,uBirthday,uAccessionDay,uSex,uDepartment,uProTitle,uAuthority,uJobGroup,uDuties,uTasks,uBaojiusr,uNote" +
                ",permit_group_name " +
                "from db_user.tb_user_inf " +
                "left outer join db_user.tb_user_permitgroup_data on db_user.tb_user_inf.uid=tb_user_permitgroup_data.uid " +
                "left outer join db_user.tb_user_permitgroup on db_user.tb_user_permitgroup.permit_group_id=tb_user_permitgroup_data.permit_group_id " +
                "where  tb_user_inf.uid!=1002 " +
                "order by uid";
        List list = DAOHelper
                .executeQuery(sql, DBUtil.getConn(), null,
                        new CallBack() {
                    public List getResults(ResultSet rs) {
                        List list = new ArrayList();
                        int id=0;
                        String permit="";
                        try {
                            while (rs.next()) {
                                User_inf userinf = new User_inf();
                                userinf.setUId(rs.getInt("uId"));
                                if(id==rs.getInt("uId")){
                                    continue;
                                }else{
                                    id=rs.getInt("uId");
                                }
                                userinf.setUSnId(rs.getString("uSnId"));
                                userinf.setUName(rs.getString("uName"));
                                userinf.setUShenFenId(rs.getString("uShenFenId"));
                                userinf.setUEmployeeId(rs.getString("uEmployeeId"));
                                userinf.setUTelephone(rs.getString("uTelephone"));
                                userinf.setUMobilephone(rs.getString("uMobilephone"));
                                userinf.setUEmail(rs.getString("uEmail"));
                                userinf.setUAddr(rs.getString("uAddr"));
                                userinf.setUBirthDay(rs.getTimestamp("uBirthDay"));
                                userinf.setUAccessionDay(rs.getTimestamp("uAccessionDay"));
                                userinf.setUSex(rs.getString("uSex"));
                                userinf.setUDepartment(rs.getString("uDepartment"));
                                userinf.setUProTitle(rs.getString("uProTitle"));
                                userinf.setUAuthority(rs.getString("uAuthority"));
                                userinf.setUJobGroup(rs.getString("uJobGroup"));
                                userinf.setUDuties(rs.getString("uDuties"));
                                userinf.setUTasks(rs.getString("uTasks"));
                                userinf.setUBaojiusr(Integer.parseInt(rs.getString("uBaojiUsr")));
                                userinf.setUNote(rs.getString("uNote"));
                                list.add(userinf);
                            }
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                        return list;
                    }
                        });
        return list;
    }
    //4.1查询维护区对应的维护人员个数(由模板创建作业时)
    public List serchDepNum(Object obj){
        User_task_batt_template utem=(User_task_batt_template) obj;
        String sql="select distinct(uid) from db_user.tb_user_inf where db_user.tb_user_inf.ubaojiusr=1 and db_user.tb_user_inf.udepartment=? ";
        List list=DAOHelper.executeQuery(sql, DBUtil.getConn(), new Object[]{utem.getQuyu_name()}, new CallBack() {
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        User_inf uinf=new User_inf();
                        uinf.setUId(rs.getInt("uId"));
                        list.add(uinf);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        return list;
    }
    //修改用户密码
    public boolean updatePassword(Object obj){
        User_inf uinf=(User_inf) obj;
        String sql="update db_user.tb_user_inf set usnid=? , upassword=? where uid=?";
        Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{uinf.getUSnId(),uinf.getUpassword(),uinf.getUId()});
        return bl;
    }
    //重置用户密码
    public boolean resetPassword(Object obj){
        User_inf uinf=(User_inf) obj;
        String sql="update db_user.tb_user_inf set usnid=?,upassword=? where uid=?";
        Boolean bl=DAOHelper.executeUpdate(DBUtil.getConn(), sql, new Object[]{UinfDaoFactory.MR_PWD,(String)ActionUtil.EncryptionMD5(UinfDaoFactory.MR_PWD),uinf.getUId()});
        return bl;
    }
    //根据员工信息和员工编号去匹配合适的员工
    public List searchByNameOrId(Object obj){
        Batt_User_Permit bup=(Batt_User_Permit) obj;
        User_inf uinf=bup.getUinf();
        Page p=bup.getPage();
        Connection conn=DBUtil.getConn();
        String numberSql=" SELECT FOUND_ROWS() number";
        String sql="select SQL_CALC_FOUND_ROWS distinct(uid),uSnId,uName,uShenFenId,uEmployeeId,uTelephone,uMobilephone,uEmail,uAddr,uBirthday,uAccessionDay,uSex,uDepartment,uProTitle,uAuthority,uJobGroup,uDuties,uTasks,uBaojiusr,uNote" +
                " from db_user.tb_user_inf " +
                " where  uName like ? or uEmployeeId like ? " +
                " order by uid " +
                " limit ?,?";
        //System.out.println(sql);
        List<User_inf> list=DAOHelper.executeQueryLimit(sql, conn, new Object[]{"%"+uinf.getUName()+"%","%"+uinf.getUEmployeeId()+"%",(p.getPageCurr()-1)*p.getPageSize(),p.getPageSize()}, new CallBack() {
            public List getResults(ResultSet rs) {
                List list=new ArrayList();
                try {
                    while(rs.next()){
                        User_inf userinf = new User_inf();
                        userinf.setUId(rs.getInt("uId"));
                        userinf.setUSnId(rs.getString("uSnId"));
                        userinf.setUName(rs.getString("uName"));
                        userinf.setUShenFenId(rs.getString("uShenFenId"));
                        userinf.setUEmployeeId(rs.getString("uEmployeeId"));
                        userinf.setUTelephone(rs.getString("uTelephone"));
                        userinf.setUMobilephone(rs.getString("uMobilephone"));
                        userinf.setUEmail(rs.getString("uEmail"));
                        userinf.setUAddr(rs.getString("uAddr"));
                        userinf.setUBirthDay(rs.getTimestamp("uBirthDay"));
                        userinf.setUAccessionDay(rs.getTimestamp("uAccessionDay"));
                        userinf.setUSex(rs.getString("uSex"));
                        userinf.setUDepartment(rs.getString("uDepartment"));
                        userinf.setUProTitle(rs.getString("uProTitle"));
                        userinf.setUAuthority(rs.getString("uAuthority"));
                        userinf.setUJobGroup(rs.getString("uJobGroup"));
                        userinf.setUDuties(rs.getString("uDuties"));
                        userinf.setUTasks(rs.getString("uTasks"));
                        userinf.setUBaojiusr(Integer.parseInt(rs.getString("uBaojiUsr")));
                        userinf.setUNote(rs.getString("uNote"));
                        list.add(userinf);
                    }
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                return list;
            }
        });
        //去掉limit条件后的总数
        int number=LimitNumberFactory.GetLimtitNumber(conn, numberSql);
        if(list!=null&&list.size()>0){
            list.get(list.size()-1).setUNote(String.valueOf(number));
        }
        return list;
    }
    //包机组重做(穿梭框)查询所有的用户
    public List searchCS_All() {
        String sql = "select distinct(tb_user_inf.uid),uSnId,uName,uShenFenId,uEmployeeId,uTelephone,uMobilephone,uEmail,uAddr,uBirthday,uAccessionDay,uSex,uDepartment,uProTitle,uAuthority,uJobGroup,uDuties,uTasks,uBaojiusr,uNote "+
                " from db_user.tb_user_inf " +
                " order by uid ";
        List list = DAOHelper
                .executeQuery(sql, DBUtil.getConn(), null,
                        new CallBack() {
                    public List getResults(ResultSet rs) {
                        List list = new ArrayList();
                        try {
                            while (rs.next()) {
                                User_inf userinf = new User_inf();
                                userinf.setUSnId(rs.getString("uSnId"));
                                userinf.setUName(rs.getString("uName"));
                                userinf.setUShenFenId(rs.getString("uShenFenId"));
                                userinf.setUEmployeeId(rs.getString("uEmployeeId"));
                                userinf.setUTelephone(rs.getString("uTelephone"));
                                userinf.setUMobilephone(rs.getString("uMobilephone"));
                                userinf.setUEmail(rs.getString("uEmail"));
                                userinf.setUAddr(rs.getString("uAddr"));
                                userinf.setUBirthDay(rs.getTimestamp("uBirthDay"));
                                userinf.setUAccessionDay(rs.getTimestamp("uAccessionDay"));
                                userinf.setUSex(rs.getString("uSex"));
                                userinf.setUDepartment(rs.getString("uDepartment"));
                                userinf.setUProTitle(rs.getString("uProTitle"));
                                userinf.setUAuthority(rs.getString("uAuthority"));
                                userinf.setUJobGroup(rs.getString("uJobGroup"));
                                userinf.setUDuties(rs.getString("uDuties"));
                                userinf.setUTasks(rs.getString("uTasks"));
                                userinf.setUBaojiusr(Integer.parseInt(rs.getString("uBaojiUsr")));
                                userinf.setUNote(rs.getString("uNote"));
                                list.add(userinf);
                            }
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                        return list;
                    }
                        });
        return list;
    }
    public static void main(String[] args) {
        User_infImpl ui= new User_infImpl();
        List<User_inf> list=ui.searchAll();
        for (User_inf u : list) {
            System.out.println(u);
        }
        User_inf u=new User_inf();
        u.setUId(1003);
//        List<User_inf> list=ui.serchByCondition(u);
//        for (User_inf uu : list) {
//            System.out.println(uu);
//        }
        Batt_User_Permit bup=new Batt_User_Permit();
        Page page=new Page();
        page.setPageSize(2);
        page.setPageCurr(1);
        bup.setPage(page);
//        List<Batt_User_Permit> list=ui.searchAll(bup);
//        for (Batt_User_Permit object : list) {
//            System.out.println(object);
//        }
        ui.searchUnams("01001,01002,01003");
    }
}
zijing/src/com/fgkj/services/User_infService.java
@@ -1,356 +1,372 @@
package com.fgkj.services;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import com.fgkj.actions.ActionUtil;
import com.fgkj.dao.BaseDAO;
import com.fgkj.dao.BaseDAOFactory;
import com.fgkj.dao.impl.User_infImpl;
import com.fgkj.dto.Batt_User_Permit;
import com.fgkj.dto.Page;
import com.fgkj.dto.ServiceModel;
import com.fgkj.dto.UserClient;
import com.fgkj.dto.User_battgroup_baojigroup;
import com.fgkj.dto.User_battgroup_baojigroup_battgroup;
import com.fgkj.dto.User_inf;
import com.fgkj.dto.User_permitgroup;
public class User_infService extends ActionUtil {
    private ServiceModel model;
    private User_permitgroupService upservice;
    private BaseDAO dao;
    public User_infService() {
        model = new ServiceModel();
        dao = BaseDAOFactory.getBaseDAO(BaseDAO.USER_INF);
        upservice = new User_permitgroupService();
    }
    //5.1用户管理(添加)
    public ServiceModel add(Object obj) {
        int flag=((User_infImpl)dao).addJudge(obj);
        //System.out.println(flag);
        if(flag!=0){
            Boolean bl=dao.add(obj);
            if(bl){
                model.setCode(1);
                model.setMsg("添加成功!");
            }
            else{
                model.setCode(0);
                model.setMsg("添加失败!");
            }
        }else{
            model.setCode(0);
            model.setMsg("用户名存在,请重新输入!");
        }
        return model;
    }
    // 5.1用户管理(编辑)
    public ServiceModel update(Object obj) {
        Boolean bl = false;
        bl=dao.update(obj);
        if(bl){
            model.setCode(1);
            model.setMsg("修改成功");
        }else{
            model.setCode(0);
            model.setMsg("修改失败");
        }
        return model;
    }
    // 5.1用户管理(删除)
    public ServiceModel delete(Object obj) {
        Boolean bl = dao.del(obj);
        //System.out.println(obj);
        if (bl) {
            model.setCode(1);
            model.setMsg("删除成功!");
        } else {
            model.setMsg("删除失败!");
        }
        return model;
    }
    public ServiceModel serchByCondition(Object obj) {
        List list = dao.serchByCondition(obj);
        /*
         * for (Object object : list) { System.out.println(object); }
         */
        if (list != null && list.size() > 0) {
            model.setCode(1);
            model.setData(list);
        }
        // System.out.println(model);
        return model;
    }
    public ServiceModel searchAll() {
        List<User_inf> list = dao.searchAll();
        /*
         * for (User_inf u : list) { System.out.println(u); }
         */
        if (list != null && list.size() > 0) {
            model.setCode(1);
            model.setData(list);
        }
        return model;
    }
    // 根据battgroupid查对应的包机人
    public ServiceModel searchByBattGroupId(Object obj) {
        model = new ServiceModel();
        List<User_inf> list = ((User_infImpl) dao).searchByBattGroupId(obj);
        // System.out.println(list.size());
        /*
         * for(User_inf u:list){ System.out.println(u); }
         */
        if (list != null && list.size() > 0) {
            model.setCode(1);
            model.setData(list);
            // battgroupid对应的所有包机人姓名和id
            String uStrN = "";
            String uStrI = "";
            for (int i = 0; i < list.size(); i++) {
                uStrN += ",";
                uStrI += ",";
                uStrN += list.get(i).getUName().toString();
                uStrI += list.get(i).getUId().toString();
            }
            uStrN = uStrN.substring(1, uStrN.length());
            uStrI = uStrI.substring(1, uStrI.length());
            model.setMsg(uStrN);
            model.setMsgO(uStrI);
        } else {
            model.setCode(0);
        }
        // System.out.println(model.getMsg());
        // System.out.println(model);
        return model;
    }
    // 3.1根据uid查用户信息(uname)
    public ServiceModel serchuName(Object obj) {
        model = new ServiceModel();
        List list = ((User_infImpl) dao).serchUname(obj);
        if (list != null && list.size() > 0) {
            model.setCode(1);
            model.setData(list);
        } else {
            model.setCode(0);
        }
        // System.out.println(model);
        return model;
    }
    // 5.1查询员工的所有信息
    public ServiceModel searchAll(Object obj) {
        // System.out.println((Batt_User_Permit)obj);
        model = new ServiceModel();
        Batt_User_Permit bup = new Batt_User_Permit();
        User_permitgroup usergroup = new User_permitgroup();
        List<Batt_User_Permit> list = ((User_infImpl) dao).searchAll(obj);// 存放的是员工信息
        if (list != null && list.size() > 0) {
            model.setCode(1);
            for (int i = 0; i < list.size(); i++) {
                ServiceModel model1 = upservice.serchByCondition(list.get(i).getUinf());// 存放权限
                // System.out.println(model1.getMsgN());
                if (model1.getCode() > 0) {
                    list.get(i).getUinf().setPermitgroupName(model1.getMsgN());
                } else {
                    list.get(i).getUinf().setPermitgroupName("");
                }
            }
            model.setData(list);
        }
        // System.out.println(model);
        return model;
    }
    // 5.3根据uid查所在的包机组
    public ServiceModel serchByInfo(Object obj) {
        model = new ServiceModel();
        List<User_battgroup_baojigroup> list = dao.serchByInfo(obj);
        // System.out.println(list.size());
        // for(User_battgroup_baojigroup u:list){
        // System.out.println(u);
        // }
        if (list != null && list.size() > 0) {
            model.setCode(1);
            model.setData(list);
        } else {
            model.setCode(0);
        }
        // System.out.println(model);
        return model;
    }
    // 用户登录
    public ServiceModel login(Object obj) {
        User_inf uinf = (User_inf) obj;
        //String usnId64 = (String) ActionUtil.DecryptionBase64(uinf.getUpassword());
        //String usnIdMd5 = (String) ActionUtil.EncryptionMD5(usnId64);
        // System.out.println(uinf.getUSnId()+"    "+usnId64+"   "+usnIdMd5+"     :service");
        //uinf.setUpassword(usnIdMd5);
        List list = dao.serchByCondition(uinf);
        if (list == null || list.size() < 1) {
            model.setMsg(this.getText("Username_error"));
            // System.out.println("用户名不存在");
        } else {
            User_inf u = (User_inf) list.get(0);
            //System.out.println(uinf.getUpassword());
            // System.out.println(uinf.getUSnId()+"=="+u.getUNote());
            if (!uinf.getUpassword().equals(u.getUpassword())) {
                System.out.println("密码错误"+uinf.getUpassword()+"=="+u.getUpassword());
                model.setMsg(getText("Password_error"));
            } else {
                uinf.setUSnId(u.getUSnId());
                model.setCode(1);
                model.setMsg("index.jsp");
                //model.setMsg("index-outline.jsp");
                // 将登陆成功的用户存入session
                ActionUtil.getSession().setAttribute("user", u);
                //设置session不活动时间为30分
                ActionUtil.getSession().setMaxInactiveInterval(60*30);
                ActionUtil.getSession().setAttribute("ip",ActionUtil.getRequest().getRemoteAddr());
                User_permitgroupService upgs=new User_permitgroupService();
                ServiceModel model1=upgs.serchItem(u);
                //System.out.println(model.getData());
                if(model1.getCode()==1){
                    ActionUtil.getSession().setAttribute("permits", ActionUtil.tojson(model1.getData()));
                }else{
                    model.setCode(0);
                    model.setMsg("还未分配权限");
                }
                //将新登录的用户存入application
                setApplication(u);
            }
        }
        return model;
    }
    // 将所有登陆的用户的信息存到application中
    public void setApplication(User_inf user) {
        ServletContext application = ActionUtil.getApplication();
        Map<String, UserClient> map = (Map) application.getAttribute("users");
        if (map == null) {
            map = new HashMap<String, UserClient>();
        } else {
            UserClient client = map.get(user.getUName());
            if (client != null) {
                map.remove(user.getUName());
            }
        }
        Long login_time = new Date().getTime();
        ActionUtil.getSession().setAttribute("login_time", login_time);
        map.put(user.getUName(), new UserClient(ActionUtil.getRequest().getRemoteAddr(),user,login_time));
        application.setAttribute("users", map);
    }
    /**
     * 开始查看application中是否有另一用使用该账号登陆
     *
     * @return
     */
    public ServiceModel checkUser() {
        Map<String, UserClient> map = (Map) ActionUtil.getApplication().getAttribute("users");
        // System.out.println(map);
        if (map != null && map.size() > 0) {
            User_inf user = (User_inf) ActionUtil.getSession().getAttribute("user");
            Long login_time = (Long) ActionUtil.getSession().getAttribute("login_time");
            if (user != null && login_time != null) {
                UserClient client = map.get(user.getUName());
                if (client != null) {
                    if (login_time != client.getLogin_times()) {
                        model.setCode(1);
                        model.setMsg(getText("The landing on the account in another host, please log in again"));
                    }
                }
            } else {
                model.setCode(1);
                model.setMsg(getText("You are not logged in, please log in"));
            }
        } else {
            model.setCode(1);
            model.setMsg(getText("You are not logged in, please log in"));
        }
        return model;
    }
    //修改用户密码
    public ServiceModel updatePassword(Object obj){
        User_inf uinf=(User_inf) obj;
        uinf.setUpassword((String)ActionUtil.EncryptionMD5(uinf.getUSnId()));
        //System.out.println(uinf);
        Boolean bl=((User_infImpl)dao).updatePassword(uinf);
        if(bl){
            model.setCode(1);
            model.setMsg("修改成功!");
        }
        else{
            model.setMsg("修改失败!");
        }
        return model;
    }
    //根据员工信息和员工编号去匹配合适的员工
    public ServiceModel searchByNameOrId(Object obj){
        List<User_inf> list=((User_infImpl)dao).searchByNameOrId(obj);
        if(list!=null&&list.size()>0){
            model.setCode(1);
            model.setData(list);
            model.setMsg("查询成功!");
        }
        else{
            model.setCode(0);
            model.setMsg("查询失败!");
        }
        return model;
    }
    //重置用户密码
    public ServiceModel resetPassword(Object obj){
        Boolean bl=((User_infImpl)dao).resetPassword(obj);
        if(bl){
            model.setCode(1);
            model.setMsg("修改成功!");
        }
        else{
            model.setMsg("修改失败!");
        }
        return model;
    }
    public static void main(String[] args) {
        User_infService us = new User_infService();
        User_inf u = new User_inf();
        u.setUName("a");
        u.setUEmployeeId("a");
        u.setUId(1003);
        Batt_User_Permit bup = new Batt_User_Permit();
        Page page = new Page();
        page.setPageSize(10);
        page.setPageCurr(1);
        bup.setPage(page);
        bup.setUinf(u);
        //User_battgroup_baojigroup_battgroup ub = new User_battgroup_baojigroup_battgroup();
        // ub.setBattGroupId(1000012);
        // us.searchByBattGroupId(ub);
        // us.serchByInfo(u);
        // System.out.println(us.searchAll(bup).getData());
        us.searchByNameOrId(bup);
    }
}
package com.fgkj.services;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletContext;
import com.fgkj.actions.ActionUtil;
import com.fgkj.dao.BaseDAO;
import com.fgkj.dao.BaseDAOFactory;
import com.fgkj.dao.impl.User_infImpl;
import com.fgkj.dto.Batt_User_Permit;
import com.fgkj.dto.Page;
import com.fgkj.dto.ServiceModel;
import com.fgkj.dto.UserClient;
import com.fgkj.dto.User_battgroup_baojigroup;
import com.fgkj.dto.User_battgroup_baojigroup_battgroup;
import com.fgkj.dto.User_inf;
import com.fgkj.dto.User_permitgroup;
public class User_infService extends ActionUtil {
    private ServiceModel model;
    private User_permitgroupService upservice;
    private BaseDAO dao;
    public User_infService() {
        model = new ServiceModel();
        dao = BaseDAOFactory.getBaseDAO(BaseDAO.USER_INF);
        upservice = new User_permitgroupService();
    }
    //5.1用户管理(添加)
    public ServiceModel add(Object obj) {
        int flag=((User_infImpl)dao).addJudge(obj);
        //System.out.println(flag);
        if(flag!=0){
            Boolean bl=dao.add(obj);
            if(bl){
                model.setCode(1);
                model.setMsg("添加成功!");
            }
            else{
                model.setCode(0);
                model.setMsg("添加失败!");
            }
        }else{
            model.setCode(0);
            model.setMsg("用户名存在,请重新输入!");
        }
        return model;
    }
    // 5.1用户管理(编辑)
    public ServiceModel update(Object obj) {
        Boolean bl = false;
        bl=dao.update(obj);
        if(bl){
            model.setCode(1);
            model.setMsg("修改成功");
        }else{
            model.setCode(0);
            model.setMsg("修改失败");
        }
        return model;
    }
    // 5.1用户管理(删除)
    public ServiceModel delete(Object obj) {
        Boolean bl = dao.del(obj);
        //System.out.println(obj);
        if (bl) {
            model.setCode(1);
            model.setMsg("删除成功!");
        } else {
            model.setMsg("删除失败!");
        }
        return model;
    }
    public ServiceModel serchByCondition(Object obj) {
        List list = dao.serchByCondition(obj);
        /*
         * for (Object object : list) { System.out.println(object); }
         */
        if (list != null && list.size() > 0) {
            model.setCode(1);
            model.setData(list);
        }
        // System.out.println(model);
        return model;
    }
    public ServiceModel searchAll() {
        List<User_inf> list = dao.searchAll();
        /*
         * for (User_inf u : list) { System.out.println(u); }
         */
        if (list != null && list.size() > 0) {
            model.setCode(1);
            model.setData(list);
        }
        return model;
    }
    // 根据battgroupid查对应的包机人
    public ServiceModel searchByBattGroupId(Object obj) {
        model = new ServiceModel();
        List<User_inf> list = ((User_infImpl) dao).searchByBattGroupId(obj);
        // System.out.println(list.size());
        /*
         * for(User_inf u:list){ System.out.println(u); }
         */
        if (list != null && list.size() > 0) {
            model.setCode(1);
            model.setData(list);
            // battgroupid对应的所有包机人姓名和id
            String uStrN = "";
            String uStrI = "";
            for (int i = 0; i < list.size(); i++) {
                uStrN += ",";
                uStrI += ",";
                uStrN += list.get(i).getUName().toString();
                uStrI += list.get(i).getUId().toString();
            }
            uStrN = uStrN.substring(1, uStrN.length());
            uStrI = uStrI.substring(1, uStrI.length());
            model.setMsg(uStrN);
            model.setMsgO(uStrI);
        } else {
            model.setCode(0);
        }
        // System.out.println(model.getMsg());
        // System.out.println(model);
        return model;
    }
    // 3.1根据uid查用户信息(uname)
    public ServiceModel serchuName(Object obj) {
        model = new ServiceModel();
        List list = ((User_infImpl) dao).serchUname(obj);
        if (list != null && list.size() > 0) {
            model.setCode(1);
            model.setData(list);
        } else {
            model.setCode(0);
        }
        // System.out.println(model);
        return model;
    }
    // 5.1查询员工的所有信息
    public ServiceModel searchAll(Object obj) {
        // System.out.println((Batt_User_Permit)obj);
        model = new ServiceModel();
        Batt_User_Permit bup = new Batt_User_Permit();
        User_permitgroup usergroup = new User_permitgroup();
        List<Batt_User_Permit> list = ((User_infImpl) dao).searchAll(obj);// 存放的是员工信息
        if (list != null && list.size() > 0) {
            model.setCode(1);
            for (int i = 0; i < list.size(); i++) {
                ServiceModel model1 = upservice.serchByCondition(list.get(i).getUinf());// 存放权限
                // System.out.println(model1.getMsgN());
                if (model1.getCode() > 0) {
                    list.get(i).getUinf().setPermitgroupName(model1.getMsgN());
                } else {
                    list.get(i).getUinf().setPermitgroupName("");
                }
            }
            model.setData(list);
        }
        // System.out.println(model);
        return model;
    }
    // 5.3根据uid查所在的包机组
    public ServiceModel serchByInfo(Object obj) {
        model = new ServiceModel();
        List<User_battgroup_baojigroup> list = dao.serchByInfo(obj);
        // System.out.println(list.size());
        // for(User_battgroup_baojigroup u:list){
        // System.out.println(u);
        // }
        if (list != null && list.size() > 0) {
            model.setCode(1);
            model.setData(list);
        } else {
            model.setCode(0);
        }
        // System.out.println(model);
        return model;
    }
    // 用户登录
    public ServiceModel login(Object obj) {
        User_inf uinf = (User_inf) obj;
        //String usnId64 = (String) ActionUtil.DecryptionBase64(uinf.getUpassword());
        //String usnIdMd5 = (String) ActionUtil.EncryptionMD5(usnId64);
        // System.out.println(uinf.getUSnId()+"    "+usnId64+"   "+usnIdMd5+"     :service");
        //uinf.setUpassword(usnIdMd5);
        List list = dao.serchByCondition(uinf);
        if (list == null || list.size() < 1) {
            model.setMsg(this.getText("Username_error"));
            // System.out.println("用户名不存在");
        } else {
            User_inf u = (User_inf) list.get(0);
            //System.out.println(uinf.getUpassword());
            // System.out.println(uinf.getUSnId()+"=="+u.getUNote());
            if (!uinf.getUpassword().equals(u.getUpassword())) {
                System.out.println("密码错误"+uinf.getUpassword()+"=="+u.getUpassword());
                model.setMsg(getText("Password_error"));
            } else {
                uinf.setUSnId(u.getUSnId());
                model.setCode(1);
                model.setMsg("index.jsp");
                //model.setMsg("index-outline.jsp");
                // 将登陆成功的用户存入session
                ActionUtil.getSession().setAttribute("user", u);
                //设置session不活动时间为30分
                ActionUtil.getSession().setMaxInactiveInterval(60*30);
                ActionUtil.getSession().setAttribute("ip",ActionUtil.getRequest().getRemoteAddr());
                User_permitgroupService upgs=new User_permitgroupService();
                ServiceModel model1=upgs.serchItem(u);
                //System.out.println(model.getData());
                if(model1.getCode()==1){
                    ActionUtil.getSession().setAttribute("permits", ActionUtil.tojson(model1.getData()));
                }else{
                    model.setCode(0);
                    model.setMsg("还未分配权限");
                }
                //将新登录的用户存入application
                setApplication(u);
            }
        }
        return model;
    }
    // 将所有登陆的用户的信息存到application中
    public void setApplication(User_inf user) {
        ServletContext application = ActionUtil.getApplication();
        Map<String, UserClient> map = (Map) application.getAttribute("users");
        if (map == null) {
            map = new HashMap<String, UserClient>();
        } else {
            UserClient client = map.get(user.getUName());
            if (client != null) {
                map.remove(user.getUName());
            }
        }
        Long login_time = new Date().getTime();
        ActionUtil.getSession().setAttribute("login_time", login_time);
        map.put(user.getUName(), new UserClient(ActionUtil.getRequest().getRemoteAddr(),user,login_time));
        application.setAttribute("users", map);
    }
    /**
     * 开始查看application中是否有另一用使用该账号登陆
     *
     * @return
     */
    public ServiceModel checkUser() {
        Map<String, UserClient> map = (Map) ActionUtil.getApplication().getAttribute("users");
        // System.out.println(map);
        if (map != null && map.size() > 0) {
            User_inf user = (User_inf) ActionUtil.getSession().getAttribute("user");
            Long login_time = (Long) ActionUtil.getSession().getAttribute("login_time");
            if (user != null && login_time != null) {
                UserClient client = map.get(user.getUName());
                if (client != null) {
                    if (login_time != client.getLogin_times()) {
                        model.setCode(1);
                        model.setMsg(getText("The landing on the account in another host, please log in again"));
                    }
                }
            } else {
                model.setCode(1);
                model.setMsg(getText("You are not logged in, please log in"));
            }
        } else {
            model.setCode(1);
            model.setMsg(getText("You are not logged in, please log in"));
        }
        return model;
    }
    //修改用户密码
    public ServiceModel updatePassword(Object obj){
        User_inf uinf=(User_inf) obj;
        uinf.setUpassword((String)ActionUtil.EncryptionMD5(uinf.getUSnId()));
        //System.out.println(uinf);
        Boolean bl=((User_infImpl)dao).updatePassword(uinf);
        if(bl){
            model.setCode(1);
            model.setMsg("修改成功!");
        }
        else{
            model.setMsg("修改失败!");
        }
        return model;
    }
    //根据员工信息和员工编号去匹配合适的员工
    public ServiceModel searchByNameOrId(Object obj){
        List<User_inf> list=((User_infImpl)dao).searchByNameOrId(obj);
        if(list!=null&&list.size()>0){
            model.setCode(1);
            model.setData(list);
            model.setMsg("查询成功!");
        }
        else{
            model.setCode(0);
            model.setMsg("查询失败!");
        }
        return model;
    }
    //重置用户密码
    public ServiceModel resetPassword(Object obj){
        Boolean bl=((User_infImpl)dao).resetPassword(obj);
        if(bl){
            model.setCode(1);
            model.setMsg("修改成功!");
        }
        else{
            model.setMsg("修改失败!");
        }
        return model;
    }
    //包机组重做(穿梭框)查询所有的用户
    public ServiceModel searchCS_All() {
        List list=((User_infImpl)dao).searchCS_All();
        if(list!=null&&list.size()>0){
            model.setCode(1);
            model.setData(list);
            model.setMsg("查询成功!");
        }
        else{
            model.setCode(0);
            model.setMsg("查询失败!");
        }
        return model;
    }
    public static void main(String[] args) {
        User_infService us = new User_infService();
        User_inf u = new User_inf();
        u.setUName("a");
        u.setUEmployeeId("a");
        u.setUId(1003);
        Batt_User_Permit bup = new Batt_User_Permit();
        Page page = new Page();
        page.setPageSize(10);
        page.setPageCurr(1);
        bup.setPage(page);
        bup.setUinf(u);
        //User_battgroup_baojigroup_battgroup ub = new User_battgroup_baojigroup_battgroup();
        // ub.setBattGroupId(1000012);
        // us.searchByBattGroupId(ub);
        // us.serchByInfo(u);
        // System.out.println(us.searchAll(bup).getData());
        us.searchByNameOrId(bup);
    }
}