package com.t0906.eHR.biz.impl;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import com.t0906.eHR.biz.ISalaryStandardBIZ;
import com.t0906.eHR.dao.ICommonDao;
import com.t0906.eHR.entity.SalaryStandard;
public class SalaryStandardBIZ implements ISalaryStandardBIZ {
ICommonDao salaryStandardDAO;
public void setSalaryStandardDAO(ICommonDao salaryStandardDAO) {
this.salaryStandardDAO = salaryStandardDAO;
}
/**
* 生成的薪酬标准编号
*
* @author zwn
* @return String
*/
public String getStandardCode() {
// 根据最大的自动生成的主键ID排序,获取数据库中最后一条薪酬编号
String hql = "FROM SalaryStandard as ss order by ss.standardId desc";
String code = "";
List list = salaryStandardDAO.searchTopHQL(hql, 0, 1);// 排序 top 1
if (list != null && list.size() == 1) {// 判断是否只有一条记录
SalaryStandard ss = (SalaryStandard) list.get(0);// 获取结果,并强转
code = ss.getStandardCode();// 获取最后一条薪酬编号
code = code.substring(2);// 截取薪酬编号“xc”后面的数字
Integer intcode = Integer.parseInt(code) + 1;// 强转后+1
code = "XC" + intcode.toString();// 转化为字符串后,得到新的薪酬编号
} else {// 一条记录也没有表示还未插入任何数据,所以初始化为"XC1"
code = "XC1";
}
return code;
}
/**
* 获取当前时间:格式为 yyyy-MM-dd HH:mm:ss
*
* @author zwn
* @return String
*/
public String getNowDate() {
Date currentTime = new Date();// 获取当前时间
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 转化格式
String dateString = formatter.format(currentTime);// 转化为字符串类型
// ParsePosition pos = new ParsePosition(8);//设置长度
// Date currentTime_2 = formatter.parse(dateString, pos);//转化为Date类型
return dateString;
}
/**
* 添加薪酬标准登记
*
* @author zwnboy
* @param ss
* @return boolean
*/
public boolean addRegister(SalaryStandard ss) {
salaryStandardDAO.save(ss);
if (ss.getStandardId() != null) {
return true;
}
return false;
}
/**
* 判断薪酬标准名称是否已存在
*
* @param name
* @return List
* @author zwn
*/
public List checkStandardName(String name) {
String hql = "select ss from SalaryStandard ss where ss.standardName='"
+ name + "'";
List list = salaryStandardDAO.searchHQL(hql);
if (list.size() > 0) {
return list;
}
return null;
}
/**
* 判断薪酬标准编号是否重名
*
* @param code
* @return List
* @author zwn
*/
public List checkStandardCode(String code) {
String hql = "select ss from SalaryStandard ss where ss.standardCode='"
+ code + "'";
List list = salaryStandardDAO.searchHQL(hql);
if (list.size() > 0) {
return list;
}
return null;
}
/**
* 根据复核状态查询全部信息,1表示已符合,0表示未符合
*
* @param status
* @return List
* @author zwn
*/
public List findAllByStatus(Integer status) {
String hql = "select ss from SalaryStandard ss where ss.checkStatus="
+ status + " order by ss.standardId desc";
List list = salaryStandardDAO.searchHQL(hql);
return list;
}
/**
* 根据ID 删除登记
*
* @param Integer
* @return boolean
* @author zwn
*/
public boolean DelRigister(Short id) {
// 根据主键ID获取对象
String hql = "from SalaryStandard ss where ss.standardId=" + id;
List list = salaryStandardDAO.searchHQL(hql);
if (list.size() > 0) {
SalaryStandard ss = (SalaryStandard) list.get(0);
try {
salaryStandardDAO.delete(ss);// 删除
return true;// 未报异常则删除成功
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
return false;
}
/**
* 删除登记
*
* @param SalaryStandard
* @return boolean
* @author zwn
*/
public boolean DelRigister(SalaryStandard ss) {
salaryStandardDAO.delete(ss);
if (ss.getStandardId() == null) {
return true;
}
return false;
}
/**
* 根据参数查询所有记录
*
* @return List
* @author zwnboy
*/
public List findAllByParam(String code, String select, String userName,
String begTime, String endTime) {
String hql = "from SalaryStandard ss where 1=1 ";// 查询全部
// 模糊查询薪酬编号
if (code != null && !code.equals("")) {
hql += " and ss.standardCode like " + "'%" + code + "%'";
}
// 模糊查询下拉框选中的值
if (select != null && !select.equals("") && userName != null
&& !userName.equals("")) {
hql += " and ss." + select + " like " + "'%" + userName + "%'";
}
// 查询只输入开始时间
if (begTime != null && !begTime.equals("")
&& (endTime == null || endTime.equals(""))) {
hql += " and ss.registTime >=" + "'"
+ java.sql.Date.valueOf(begTime) + "'";
}
// 查询只输入结束时间
if (begTime == null || begTime.equals("")
&& (endTime != null && !endTime.equals(""))) {
hql += " and ss.registTime <=" + "'"
+ java.sql.Date.valueOf(endTime) + "'";
}
// 查询开始时间至结束时间
if (begTime != null && !begTime.equals("") && endTime != null
&& !endTime.equals("")) {
hql += " and ss.registTime between '"
+ java.sql.Date.valueOf(begTime) + "' and '"
+ java.sql.Date.valueOf(endTime) + "' ";
}
System.out.println("********************/t" + hql);
return salaryStandardDAO
.searchHQL(hql + " order by ss.standardId desc");
}
/*
* (非 Javadoc)
*
* @see com.t0906.eHR.biz.impl.ISalaryStandardBiz#update(com.t0906.eHR.entity.SalaryStandard)
*/
public void update(SalaryStandard salaryStandard) {
salaryStandardDAO.update(salaryStandard);
}
/*
* (非 Javadoc)
*
* @see com.t0906.eHR.biz.impl.ISalaryStandardBiz#findById(java.lang.Integer)
*/
public SalaryStandard findById(Short id) {
return (SalaryStandard) salaryStandardDAO.findById(
SalaryStandard.class, id);
}
/*
* (非 Javadoc)
*
* @see com.t0906.eHR.biz.impl.ISalaryStandardBiz#queryHQL(com.t0906.eHR.entity.SalaryStandard)
*/
public List findAll(SalaryStandard salaryStandard) {
String hql = "from SalaryStandard ss order by ss.standardId desc ";
return salaryStandardDAO.searchHQL(hql);
}
}