4,3+3人力资源网系统(重要代码分析公司信息和职位信息的模糊查询)

//根据多个条件进行查询得到公司信息的列表
    public Vector getCompanyJobs(String tempPosition, String jobsName,
                                 String lastDate) {
        Vector vt = new Vector();
        String sql = "";
        int day = 0;
        if (!lastDate.equals("")) {
            day = Integer.parseInt(lastDate);
        }
        Connection conn = DB.getConn(); //连接对象
        if (tempPosition.equals("0")) {
            if (!jobsName.equals("")) {
                if (!lastDate.equals("")) { //根据有效时间和职位名称二者连接进行模糊查询
                    sql = "SELECT JobInfo.jobId, CompanyInfo.compId, CompanyInfo.companyName, JobInfo.jobsname, JobInfo.tempposition," +
                          " JobInfo.lastdate,  JobInfo.number FROM JobInfo , CompanyInfo where  JobInfo.compId = CompanyInfo.compId and  DATEDIFF(day,getdate(),lastdate) Between 0  and "+
                          day+" and jobsName like '%" +  jobsName + "%'";


                } else { //根据工作名称来进行查询======= 计算两个日期间的间隔。DATEDIFF(day,getdate(),lastdate) > 5
                    sql = "SELECT JobInfo.jobId, CompanyInfo.compId, CompanyInfo.companyName, JobInfo.jobsname, JobInfo.tempposition," +
                          " JobInfo.lastdate,  JobInfo.number FROM JobInfo , CompanyInfo where  JobInfo.compId = CompanyInfo.compId and jobsName like '%" +
                          jobsName + "%'";
                }
            } else { //根据有效时间进行查询
                if (!lastDate.equals("")) {
                    sql = "SELECT JobInfo.jobId, CompanyInfo.compId, CompanyInfo.companyName, JobInfo.jobsname, JobInfo.tempposition," +
                          " JobInfo.lastdate,  JobInfo.number FROM JobInfo , CompanyInfo where  JobInfo.compId = CompanyInfo.compId and DATEDIFF(day,getdate(),lastdate) Between 0  and "+ day;
                } else { //无条件的全部查询
                    sql = "SELECT JobInfo.jobId, CompanyInfo.compId, CompanyInfo.companyName, JobInfo.jobsname, JobInfo.tempposition, JobInfo.lastdate,  JobInfo.number FROM JobInfo , CompanyInfo where  JobInfo.compId = CompanyInfo.compId";
                } //根据行业类别和职位名称(***工程师***)来模糊查询
            }
        } else { //
            if (!jobsName.equals("")) {
                if (!lastDate.equals("")) { //根据行业名称和有效时间和职位名称三者连接进行模糊查询
                    sql = "SELECT JobInfo.jobId, CompanyInfo.compId, CompanyInfo.companyName, JobInfo.jobsname, JobInfo.tempposition," +
                          " JobInfo.lastdate,  JobInfo.number FROM JobInfo , CompanyInfo where  JobInfo.compId = CompanyInfo.compId and jobsName like '%" +
                          jobsName + "%' and tempPosition like '%" +
                          tempPosition +
                          "%' and DATEDIFF(day,getdate(),lastdate) Between 0  and "+ day;
                } else { //根据工作名称和行业名称来进行模糊查询===========根据行业类别和职位名称(***工程师***)来模糊查询
                    sql = "SELECT JobInfo.jobId, CompanyInfo.compId, CompanyInfo.companyName, JobInfo.jobsname, JobInfo.tempposition," +
                          " JobInfo.lastdate,  JobInfo.number FROM JobInfo , CompanyInfo where  JobInfo.compId = CompanyInfo.compId and jobsName like '%" +
                          jobsName + "%' and tempPosition like '%" +
                          tempPosition + "%'";
                }
            } else {
                if (!lastDate.equals("")) { //根据行业名称和有效时间进行查询
                    sql = "SELECT JobInfo.jobId, CompanyInfo.compId, CompanyInfo.companyName, JobInfo.jobsname, JobInfo.tempposition," +
                          " JobInfo.lastdate,  JobInfo.number FROM JobInfo , CompanyInfo where  JobInfo.compId = CompanyInfo.compId and tempPosition like '%" +
                          tempPosition +
                          "%' and DATEDIFF(day,getdate(),lastdate) Between 0  and "+ day;
                } else { //根据行业名称条件的来进行模糊查询
                    sql = "SELECT JobInfo.jobId, CompanyInfo.compId, CompanyInfo.companyName, JobInfo.jobsname, JobInfo.tempposition," +
                          " JobInfo.lastdate,  JobInfo.number FROM JobInfo , CompanyInfo where  JobInfo.compId = CompanyInfo.compId and tempPosition like '%" +
                          tempPosition + "%'";
                }
            }
        }
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ResultSet rs = ps.executeQuery(); //获得记录集
            while (rs.next()) {
                Vector v = new Vector(); //一个单独的一行
                v.add(rs.getInt("jobId") + ""); //工作编号0
                v.add(rs.getInt("compId") + ""); //公司编号1
                v.add(rs.getString("companyName")); //公司名称2
                v.add(rs.getString("jobsname")); //工作名称3
                v.add(rs.getString("tempposition")); //岗位类别属于哪一个行业4
                v.add(rs.getString("lastdate")); //有效时间5
                v.add(rs.getInt("number") + ""); //招聘人数6
                vt.add(v); //添加到集合中去
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return vt; //返回一个像表一样的集合
    }

//根据当前行业//学历要求//性别要求来查询人才的集合

    public Vector getPersonJobs(String currentway, String degree, String sex2) {
        Vector vt = new Vector(); //
        String sql = ""; //
        Connection conn = DB.getConn(); //连接对象
        if (currentway.equals("0")) {   //WorkExperience  workId  Education educationId
            if (!degree.equals("10")) {
                if (!sex2.equals("不限")) { //根据学历和性别二者连接进行模糊查询
                   sql = "SELECT PersonInfo.personId, name, personType, currentWay, degree, sex ,workId,educationId FROM PersonInfo,WorkExperience,Education where Education.personId = PersonInfo.personId and PersonInfo.personId = WorkExperience.personId and  degree ='" + degree + "' and sex ='"+ sex2+"'";
                } else { //根据学历来进行查询======= 计算两个日期间的间隔。

                  DATEDIFF(day,getdate(),lastdate) > 5
                    sql = "SELECT PersonInfo.personId, name, personType, currentWay, degree, sex,workId,educationId FROM PersonInfo,WorkExperience,Education where Education.personId = PersonInfo.personId and PersonInfo.personId = WorkExperience.personId and degree ='" + degree + "'";
                }
            } else {
                if (!sex2.equals("不限")) {//根据性别进行查询
                    sql = "SELECT PersonInfo.personId, name, personType, currentWay, degree, sex,workId,educationId FROM PersonInfo,WorkExperience,Education where Education.personId = PersonInfo.personId and PersonInfo.personId = WorkExperience.personId and sex = '" + sex2 + "'";
                } else { //无条件的全部查询
                    sql = "SELECT PersonInfo.personId, name, personType, currentWay, degree, sex,workId,educationId FROM PersonInfo,WorkExperience,Education where Education.personId = PersonInfo.personId and PersonInfo.personId = WorkExperience.personId ";
                }
            }
        } else {
            if (!degree.equals("10")) {
                if (!sex2.equals("不限")) { //根据行业名称和学历和性别三者连接进行模糊查询
                     sql = "SELECT PersonInfo.personId, name, personType, currentWay, degree, sex ,workId,educationId FROM PersonInfo,WorkExperience,Education where Education.personId = PersonInfo.personId and PersonInfo.personId = WorkExperience.personId and  degree ='" + degree + "' and sex ='"+ sex2+"' and currentway like '%" + currentway+ "%'";
                } else { //根据学历和行业名称来进行模糊查询===========
                    sql = "SELECT PersonInfo.personId, name, personType, currentWay, degree, sex ,workId,educationId FROM PersonInfo,WorkExperience,Education where Education.personId = PersonInfo.personId and PersonInfo.personId = WorkExperience.personId and degree ='" + degree + "'  and currentway like '%" + currentway+ "%'";
            }
            } else {
                if (!sex2.equals("不限")) { //根据行业名称和性别进行查询
                    sql = "SELECT PersonInfo.personId, name, personType, currentWay, degree, sex ,workId,educationId FROM PersonInfo,WorkExperience,Education where Education.personId = PersonInfo.personId and PersonInfo.personId = WorkExperience.personId and  sex ='"+ sex2+"' and currentway like '%" + currentway+ "%'";
               } else { //根据行业名称条件的来进行模糊查询
                    sql = "SELECT PersonInfo.personId, name, personType, currentWay, degree, sex ,workId,educationId FROM PersonInfo,WorkExperience,Education where Education.personId = PersonInfo.personId and PersonInfo.personId = WorkExperience.personId and  currentway like '%" + currentway+ "%'";
               }
            }
        }
        try {
            PreparedStatement ps = conn.prepareStatement(sql);
            ResultSet rs = ps.executeQuery(); //获得记录集
            while (rs.next()) {
                Vector v = new Vector(); //一个单独的一行
                v.add(rs.getInt("personId")+"");  // //====== 0====personId
                v.add(rs.getString("name"));//==========1======== name
                v.add(rs.getString("personType"));//====2====personType
                v.add(rs.getString("currentWay"));//==3==currentWay
                v.add(rs.getString("degree"));//4degree
                v.add(rs.getString("sex"));//5sex
                v.add(rs.getInt("workId")+"");  //6
                v.add(rs.getInt("educationId")+"");  //7educationId
                vt.add(v); //添加到集合中去
            }
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return vt; //返回一个像表一样的集合
    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值