package com.codelibs.ehr.dao;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import com.codelibs.ehr.entities.Syqyg;
public class SyqygcxDao extends BaseDao_DG {
boolean bl;
// 生成sql语句 sb
StringBuilder sb = new StringBuilder(
"select employee.em_name,probation.pr_id,"
+ "probation.em_id,probation.prob_start,"
+ "probation.prob_end,probation.prob_reviews,"
+ "probation.prob_results,probation.prob_date,"
+ "probation.prob_notes,dept.dept_name,job.job_name,probation.dept_id,"
+ "probation.job_id from probation,employee,dept,job "
+ "where probation.em_id=employee.em_id and probation.dept_id=dept.dept_id "
+ "and probation.job_id=job.job_id");
// 生成为?赋值的字符串数组
StringBuilder arr = new StringBuilder("");
String args[];
DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
public ArrayList<Syqyg> find(Syqyg s) {
// 员工编号
if (s.getEm_id() != 0) {
sb.append(" and probation.em_id=?");
arr.append(s.getEm_id() + " ");
System.out.println("DAO ------编号:"+s.getEm_id());
}
// 员工姓名
if (s.getEm_name() !=""&&s.getEm_name()!=null) {
sb.append(" and employee.em_name=?");
arr.append(s.getEm_name() + " ");
System.out.println("DAO -------姓名:"+s.getEm_name());
}
//部门名称
if (!s.getDept().equals("全部") ) {
sb.append(" and dept.dept_name=?");
arr.append(s.getDept() + " ");
System.out.println("Dao -------部门:"+s.getDept());
}
//考核状态
System.out.println("Dao------考核状态:"+!s.getProb_results().equals("全部"));
if (!s.getProb_results().equals("全部")) {
sb.append(" and probation.prob_results =?");
if(s.getProb_results().equals("转正")) {
arr.append("1"+" ");
}
if (s.getProb_results().equals("试用期")) {
arr.append("2"+" ");
}
if (s.getProb_results().equals("试用期延期")) {
arr.append("3"+" ");
}
if (s.getProb_results().equals("试用期不通过")) {
arr.append("4"+" ");
}
if (s.getProb_results().equals("待转正")) {
arr.append("5"+" ");
}
System.out.println("Dao ------考核状态:"+s.getProb_results());
}
//试用期开始时间
if (s.getProb_start()!=null) {
sb.append(" and probation.prob_start>= to_date( ? ,'yyyy-MM-dd')");
String ds = df.format(s.getProb_start());
System.out.println(ds);
arr.append(ds+" ");
}
System.out.println("Dao------开始时间:"+s.getProb_start());
//试用期结束时间
if (s.getProb_end() != null) {
sb.append(" and probation.prob_end<=to_date( ? ,'yyyy-MM-dd')");
String de = df.format(s.getProb_end());
arr.append(de + " ");
}
System.out.println("Dao ------结束时间"+s.getProb_end());
String sql = sb.toString();
String arg = arr.toString();
args = arg.trim().split(" ");
if(args.length==1&&args[0].equals("")) {
bl = super.query(sql,null);
}else {
bl = super.query(sql,args);
}
System.out.println(args.length);
System.out.println(args[0].length());
for(int i = 0;i<args.length;i++) {
System.out.println(args[i]);
}
//boolean bl = super.query(sql, args);
ArrayList<Syqyg> sg = new ArrayList<Syqyg>();
if (!bl) {
System.out.println("没有查出来");
return null;
}
try {
while (resultSet.next()) {
sg.add(ORM2Syqyg(resultSet));
}
} catch (SQLException e) {
System.out.println("映射关系出错");
e.printStackTrace();
}
return sg;
}
public Syqyg ORM2Syqyg(ResultSet resultSet) throws SQLException {
Syqyg ss = new Syqyg();
// System.out.println(resultSet.getInt("em_id"));
// System.out.println(resultSet.getString("em_name"));
//
// System.out.println(resultSet.getInt("prob_results"));
// System.out.println(resultSet.getString("prob_reviews"));
// System.out.println(resultSet.getString("prob_notes"));
// System.out.println(resultSet.getString("dept_name"));
// System.out.println(resultSet.getString("job_name"));
// System.out.println(resultSet.getDate("prob_start"));
// System.out.println(resultSet.getDate("prob_end"));
// System.out.println(resultSet.getDate("prob_date"));
ss.setEm_id(resultSet.getInt("em_id"));
ss.setEm_name(resultSet.getString("em_name"));
ss.setPr_id(resultSet.getInt("pr_id"));
ss.setProb_reviews(resultSet.getString("prob_reviews"));
if(resultSet.getInt("prob_results")==1) {
ss.setProb_results("转正");
}else if(resultSet.getInt("prob_results")==2) {
ss.setProb_results("试用期");
}else if(resultSet.getInt("prob_results")==3) {
ss.setProb_results("试用期延期");
}else if(resultSet.getInt("prob_results")==4) {
ss.setProb_results("试用期不通过");
}else {
ss.setProb_results("待转正");
}
ss.setProb_notes(resultSet.getString("prob_notes"));
ss.setDept(resultSet.getString("dept_name"));
ss.setJob(resultSet.getString("job_name"));
ss.setProb_start(resultSet.getDate("prob_start"));
ss.setProb_end(resultSet.getDate("prob_end"));
ss.setProb_date(resultSet.getDate("prob_date"));
return ss;
}
}
基于BaseDao的动态sql生成方式
最新推荐文章于 2023-02-11 14:32:02 发布