从本机电脑导入excel到服务器中 ,首先要把文件上传到服务器中,这时候,我使用的是strus2 接受上传的文件;
package ht.humanResources.action;
import ht.humanResources.model.HtglNew;
import ht.humanResources.service.HrHtglService;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class HtImportAction extends ActionSupport{
private HrHtglService hrHtglService;
private File file;
private String fileFileName;
private String fileContentType;
private HttpServletRequest req;
public String upload() throws IOException{
req=ServletActionContext.getRequest();
req.setCharacterEncoding("utf-8");
//文件上传到服务器,指定一个保存文件的位置,文件以Post 方式提交到服务器,提交过程中文件在表单中
String realPath= ServletActionContext.getServletContext().getRealPath("/upload/htImport/");
String name=this.getFileFileName();
//方法1 开始
// if (file != null) {
// File savefile = new File(new File(realPath), this.getFileFileName());
// if (!savefile.getParentFile().exists()){
// savefile.getParentFile().mkdirs();
// }
// FileUtils.copyFile(file, savefile);
// }
//---方法1结束
try {
String filename = realPath+File.separator+name;
copyfile(filename);
List<HtglNew>list= DaoruExcelUtil.getList(filename);
List list2=DaoruExcelUtil.reclist;
this.getHrHtglService().saveHtglNew(list);
this.getHrHtglService().saveHtglRec(list2);
req.setAttribute("success", "1");
} catch (Exception e) {
e.printStackTrace();
req.setAttribute("success", "0");
}
return "success";
}
public void copyfile(String path) throws IOException{
//方法2开始
//将文件写到服务器指定位置的代码
File outfile=new File(path);
if(!outfile.getParentFile().exists()){
outfile.getParentFile().mkdirs();
}
InputStream is=new FileInputStream(this.getFile());
FileOutputStream out=new FileOutputStream(outfile);
byte[] buffer=new byte[1024];
int len=0;
while(( len=is.read(buffer))!=-1){
out.write(buffer);
}
out.close();
is.close();
//方法2结束
}
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
public String getFileContentType() {
return fileContentType;
}
public void setFileContentType(String fileContentType) {
this.fileContentType = fileContentType;
}
public String getFileFileName() {
return fileFileName;
}
public void setFileFileName(String fileFileName) {
this.fileFileName = fileFileName;
}
public HrHtglService getHrHtglService() {
return hrHtglService;
}
public void setHrHtglService(HrHtglService hrHtglService) {
this.hrHtglService = hrHtglService;
}
}
将导入excel的业务提取写出来 ,需要注意的是去excel中各种不同的数据类型的数据,我这次导入,时读取固定的模板的文件;模板文件放出来供大家参考;
劳动合同管理台账 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
单位名称:有限责任公司 | 总人数:__295人 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
序号 | 个人编号 | 姓名 | 性别 | 年龄 | 状态 | 劳动合同签订 | 编码 | 第一次劳动合同续签 | 编码 | 第二次劳动合同续签 | 编码 | 辞职日期 | 当前日期 | 到期提醒 | 备注 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
期限 | 起止时间 | 期限 | 起止时间 | 期限 | 起止时间 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1 | 0002 | 张三 | 男 | 1960年8月10日 | 57 | 在职 | 无固定 |
| 201501060002 | 2015.8.25 |
先将本地文件上传到服务器制定路径,然后读取Excel文件内容,保存到数据库,下面是读取文件中数据的类
package ht.humanResources.action;
import ht.humanResources.model.HtglNew;
import ht.humanResources.model.HtglRec;
import ht.util.UuidGenerator;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.FormulaEvaluator;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.context.support.StaticApplicationContext;
public class DaoruExcelUtil {
public static List reclist=new ArrayList<HtglRec>();
static Logger logger=Logger.getLogger(DaoruExcelUtil.class);
private static SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
private static SimpleDateFormat sdf2=new SimpleDateFormat("yyyy.MM.dd");
private static SimpleDateFormat sdf3=new SimpleDateFormat("yyyy年MM月dd日");
//传入文件名,读取文件数据
public static List<HtglNew> getList(String filepath) throws IOException{
List <HtglNew> list=new ArrayList<HtglNew>();
String sheetname=null;
Sheet sheet=null;
FileInputStream in=new FileInputStream(new File(filepath));
Workbook wb=null;
int rowCount;
Row row=null;
int cellCount;
Cell cell;
int cellType;
String empname;
String depname;
Object cellValue=null;
boolean isExcel2007=false;
boolean isExcel2003=false;
if(filepath.endsWith(".xlsx")){
isExcel2007=true;
}else if(filepath.endsWith(".xls")){
isExcel2003=true;
}else {
logger.info("不是excel文件");
return null;
}
if(isExcel2007){
wb=new XSSFWorkbook(in);
}else if(isExcel2003){
wb=new HSSFWorkbook(in);
}
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
try{
//s计算sheet的数量
int sheetCount= wb.getNumberOfSheets();
for (int i = 0; i < sheetCount; i++) {
//遍历得到每一个sheet
sheet= wb.getSheetAt(i);
//得到excel的行数
sheetname= sheet.getSheetName();
logger.info("正在操作"+sheetname+"sheet");
//得到总行数
rowCount= sheet.getLastRowNum()+1;
logger.info("总行数为"+rowCount);
depname= sheet.getRow(1).getCell(0).getStringCellValue();
for (int j = 4; j < rowCount; j++) {
// 遍历每行
row= sheet.getRow(j);
cellCount= row.getPhysicalNumberOfCells();
logger.info("总列数为"+cellCount);
logger.info("总行数为"+rowCount);
logger.info("正在操作第"+j+"行");
HtglNew htglNew=new HtglNew();
String key=UuidGenerator.createId();
htglNew.setId(key);
htglNew.setDepname(depname);
cellValue=getCellValue(2,row, evaluator);
if(cellValue!=""){
htglNew.setEmpname((String)cellValue);
}
cellValue=getCellValue(3,row,evaluator);
if(cellValue!=""){
htglNew.setXingbie((String)cellValue);
}
cellValue=getCellValue(4,row,evaluator);
if(cellValue!=""){
if(cellValue instanceof Date){
htglNew.setBirthday((Date)cellValue);
}else if(cellValue instanceof String){
htglNew.setBirthday(sdf3.parse((String)cellValue));
}
// htglNew.setBirthday((Date)cellValue);
}
cellValue=getCellValue(5,row,evaluator);
if(cellValue!=""){
htglNew.setAge(((Double)cellValue).intValue());
}
htglNew.setStatus((String)getCellValue(6,row,evaluator));
htglNew.setBz((String)getCellValue(22,row,evaluator));
//htglNew.setRecord(getrecord(row));
// 合同记录表
int col=7;
for (int k = 0; k < 3; k++) {
//7 8 9 10 /11 12 13 14 /
HtglRec rec=new HtglRec();
rec.setId(UuidGenerator.createId());
rec.setHtglId(key);
cellValue= getCellValue(col,row,evaluator);
if(cellValue!=""){
rec.setContinueYear((String)cellValue);
}
cellValue= getCellValue(col+1,row,evaluator);
if(cellValue!=""){
if(cellValue instanceof Date){
rec.setStartTime((Date)cellValue);
}else if(cellValue instanceof String){
if(!((String)cellValue).trim().equals("")){
rec.setStartTime(sdf2.parse((String)cellValue));
}
}
}
cellValue= getCellValue(col+2,row,evaluator);
if(cellValue!=""){
rec.setEndTime((Date)cellValue);
}
cellValue= getCellValue(col+3,row,evaluator);
if(cellValue!=""){
rec.setHtcode((String)cellValue);
}
col=col+4;
reclist.add(rec);
}
list.add(htglNew);
}
}
}catch (Exception e) {
e.printStackTrace();
}
return list;
}
// private static String getrecord(Row row){
// String s="";
// try {
// String ss="至";
// String s1=String.valueOf(getCellValue(7,row)) ;
// String s2=String.valueOf( getCellValue(8,row));
// String s3=String.valueOf( getCellValue(10,row));
// String s4=String.valueOf( getCellValue(11,row));
// String s5=String.valueOf( getCellValue(13,row));
// String s6=String.valueOf( getCellValue(14,row));
// if(s1!=""){
// s=s1;
// if(!"".equals(s2)){
// s=s1+ss+s2;
// if(!"".equals(s3)){
// s=s+ss+s3;
// if(!"".equals(s4)){
// s=s+ss+s4;
// if(!"".equals(s5)){
// s=s+ss+s5;
// if(!"".equals(s6)){
// s=s+ss+s6;
// }
// }
// }
// }
// }
// }
// } catch (Exception e) {
// e.printStackTrace();
// return s;
// }
// return s;
// }
private static Object getCellValue(int i,Row row,FormulaEvaluator evaluator){
Date dd=null;
Object value=null;
try {
Cell cell=row.getCell(i);
int cellType= cell.getCellType();
switch (cellType) {
case Cell.CELL_TYPE_STRING:
value=cell.getStringCellValue();
break;
case Cell.CELL_TYPE_FORMULA://公式
// value=cell.getCellFormula();
value= evaluator.evaluate(cell).getNumberValue();
//value="";
break;
case Cell.CELL_TYPE_NUMERIC:
if( cell.getCellStyle().getDataFormat()==28||cell.getCellStyle().getDataFormat()==31){
value= cell.getDateCellValue();
break;
}
if (HSSFDateUtil.isCellDateFormatted(cell)) {
// 如果是date类型则 ,获取该cell的date值
Date d= HSSFDateUtil.getJavaDate(cell.getNumericCellValue());
value=d;
} else { // 纯数字
value = cell.getNumericCellValue();
}
// value=cell.getNumericCellValue();
break;
case Cell.CELL_TYPE_BOOLEAN:
value=cell.getBooleanCellValue();
break;
case Cell.CELL_TYPE_BLANK:
value="";
break;
case Cell.CELL_TYPE_ERROR:
value="";
break;
default:
value="";
break;
}
} catch (Exception e) {
e.printStackTrace();
}
return value;
}
}
//SERVICE 操作 保存 从文件中提取出的对象集合
package ht.humanResources.service;
import ht.humanResources.dao.HrHtglDao;
import ht.humanResources.dao.HtglNewDao;
import ht.humanResources.dao.HtglRecDao;
import ht.humanResources.model.HrHtgl;
import ht.humanResources.model.HtglNew;
import ht.humanResources.model.HtglRec;
import ht.util.StringToDate;
import ht.util.UuidGenerator;
import ht.util.hibernate.HibernateUtil;
import ht.util.page.PageBean;
import ht.util.page.PageResult;
import ht.util.page.PageService;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONObject;
import org.apache.log4j.Logger;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
import Login.Loginer;
//合同管理 zrj 20160302
public class HrHtglService extends Action{
private HrHtglDao hrHtglDao;
private HtglNewDao htglNewDao;
private PageService pageService;
static Logger logger=Logger.getLogger(HrXbbmbSerivce.class);
private HtglRecDao htglRecDao;
public HtglRecDao getHtglRecDao() {
return htglRecDao;
}
public void setHtglRecDao(HtglRecDao htglRecDao) {
this.htglRecDao = htglRecDao;
}
/**
* 根据id查数据去修改页面
* @param request
* @return
* @throws UnsupportedEncodingException
*/
public boolean findHtById(HttpServletRequest request) throws UnsupportedEncodingException{
boolean isSucc=false;
logger.info("begin finding.......");
try {
String id=request.getParameter("id");
HrHtgl hrHtglListaaa=this.getHrHtglDao().findById(id);
request.setAttribute("hrHtglListaaa", hrHtglListaaa);
isSucc=true;
logger.equals("find successful.............");
} catch (RuntimeException e) {
isSucc = false;
logger.error("find failed", e);
}
return isSucc;
}
public boolean findHtByIdNew(HttpServletRequest request) throws UnsupportedEncodingException{
boolean isSucc=false;
logger.info("begin finding.......");
try {
String id=request.getParameter("id");
HtglNew hrHtglListaaa=this.getHtglNewDao().findById(id);
List<HtglRec> list= this.getHtglRecDao().findByHql("from HtglRec where htglId='"+id+"' order by startTime");
request.setAttribute("htglNew", hrHtglListaaa);
request.setAttribute("list", list);
// String sql="select c.*,d.* from htgl_new c,htgl_rec d where c.id=d.htgl_id and c.id='"+id+"'";
// this.getHrHtglDao().findBySQL(sql);
isSucc=true;
logger.equals("find successful.............");
} catch (RuntimeException e) {
isSucc = false;
logger.error("find failed", e);
}
return isSucc;
}
/**
* 删除
* @param request
* @param response
* @return
* @throws IOException
*/
public boolean delete(HttpServletRequest request,HttpServletResponse response) throws IOException{
logger.debug("deleting message.....");
boolean isSucc=false;
PrintWriter pw;
try {
pw=response.getWriter();
String id="";
if(request.getParameter("id")!=null){
id=(String)request.getParameter("id");
}
if(!id.equals("")){
HrHtgl hh=this.getHrHtglDao().findById(id);
this.getHrHtglDao().delete(hh);
this.getHtglRecDao().deleteByProperty("htglId", id);
pw.print("0");
logger.info("delete successful.....");
isSucc=true;
}else{
pw.print("1");
}
} catch (RuntimeException re) {
isSucc=false;
logger.error("delete failed.....");
throw re;
}
return isSucc;
}
public void deleteNew(HttpServletRequest request,HttpServletResponse response) throws IOException{
logger.debug("deleting message.....");
boolean isSucc=false;
PrintWriter pw;
try {
pw=response.getWriter();
String id="";
if(request.getParameter("id")!=null){
id=(String)request.getParameter("id");
}
if(!id.equals("")){
HtglNew hh=this.getHtglNewDao().findById(id);
this.getHtglNewDao().delete(hh);
pw.print("0");
logger.info("delete successful.....");
}else{
pw.print("1");
}
pw.flush();
} catch (RuntimeException re) {
isSucc=false;
logger.error("delete failed.....");
throw re;
}
}
public void deleteRec(HttpServletRequest request,HttpServletResponse response) throws IOException{
logger.debug("deleting message.....");
boolean isSucc=false;
PrintWriter pw;
try {
pw=response.getWriter();
String id="";
if(request.getParameter("id")!=null){
id=(String)request.getParameter("id");
}
if(!id.equals("")){
HtglNew hh=this.getHtglNewDao().findById(id);
this.getHtglNewDao().delete(hh);
pw.print("0");
logger.info("delete successful.....");
}else{
pw.print("1");
}
pw.flush();
} catch (RuntimeException re) {
isSucc=false;
logger.error("delete failed.....");
throw re;
}
}
/**
* 修改
* @param request
* @return
* @throws ParseException
*/
public boolean updHt(HttpServletRequest request) throws ParseException{
logger.debug("saveOrUpdating polrole message......");
boolean isSucc=false;
try {
String id=request.getParameter("id");
String htbh=request.getParameter("htbh");
String qddate =request.getParameter("qddate");
String htmc=request.getParameter("htmc");
String htzt=request.getParameter("htzt");
String htjf=request.getParameter("htjf");
String htyf=request.getParameter("htyf");
String kssj=request.getParameter("kssj");
String jssj=request.getParameter("jssj");
String htnx=request.getParameter("htnx");
String qdr=request.getParameter("qdr");
String bz=request.getParameter("bz");
HrHtgl hh=new HrHtgl();
hh.setId(id);
hh.setHtbh(htbh);
hh.setHtmc(htmc);
hh.setHtzt(htzt);
hh.setHtjf(htjf);
hh.setHtyf(htyf);
hh.setHtnx(htnx);
hh.setQdr(qdr);
hh.setBz(bz);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
hh.setQddate(sdf.parse(qddate));
hh.setKssj(sdf.parse(kssj));
hh.setJssj(sdf.parse(jssj));
this.getHrHtglDao().update(hh);
ActionMessages messages = new ActionMessages();
messages.add("save_success",new ActionMessage("save.success"));
saveMessages(request, messages);
saveErrors(request, messages);
isSucc=true;
} catch (RuntimeException re) {
// re.printStackTrace();
logger.error("saveOrUpdate failed,error:"+re);
isSucc=false;
throw re;
}
return isSucc;
}
public boolean updHtNew(HttpServletRequest request) throws ParseException{
logger.debug("saveOrUpdating polrole message......");
boolean isSucc=false;
try {
String id=request.getParameter("id");
String depname=request.getParameter("depname");
String empname =request.getParameter("empname");
String xingbie=request.getParameter("xingbie");
String status=request.getParameter("status");
String limit=request.getParameter("limit");
String bz=request.getParameter("bz");
int age= Integer.parseInt(request.getParameter("age"));
//int limitYear=Integer.parseInt(request.getParameter("limitYear"));
String birthday=request.getParameter("birthday");
String quittime=request.getParameter("quittime");
String[] limitYear=request.getParameterValues("limitYear");
String[] htcode=request.getParameterValues("htcode");
String [] starttime=request.getParameterValues("starttime");
String [] endtime=request.getParameterValues("endtime");
String [] recid=request.getParameterValues("recid");
HtglNew hh=new HtglNew();
// String key = Login.Loginer.getNewID(null,null,null);
hh.setId(id);
hh.setDepname(depname);
hh.setEmpname(empname);
hh.setXingbie(xingbie);
hh.setStatus(status);
hh.setLimit(limit);
hh.setAge(age);
hh.setBz(bz);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if(birthday!=null&&!birthday.equals("")){
hh.setBirthday(sdf.parse(birthday));
}
if(quittime!=null&&!quittime.equals("")){
hh.setQuittime(sdf.parse(quittime));
}
this.getHtglNewDao().update(hh);
for (int i = 0; i < endtime.length; i++) {
HtglRec rec=new HtglRec();
rec.setId(recid[i]);
if(starttime[i]!=null&&!starttime[i].equals("")){
rec.setStartTime(sdf.parse(starttime[i]));
}
if(endtime[i]!=null&&!endtime[i].equals("")){
rec.setEndTime(sdf.parse(endtime[i]));
}
rec.setHtglId(id);
rec.setHtcode(htcode[i]);
rec.setContinueYear(limitYear[i]);
this.getHtglRecDao().update(rec);
}
isSucc=true;
} catch (RuntimeException re) {
// re.printStackTrace();
logger.error("saveOrUpdate failed,error:"+re);
isSucc=false;
throw re;
}
return isSucc;
}
/**
* 添加合同
* @param request
* @return
* @throws ParseException
*/
public boolean addHt(HttpServletRequest request) throws ParseException{
logger.debug("saveOrUpdating polrole message......");
boolean isSucc=false;
try {
String htbh=request.getParameter("htbh");
String qddate =request.getParameter("qddate");
String htmc=request.getParameter("htmc");
String htzt=request.getParameter("htzt");
String htjf=request.getParameter("htjf");
String htyf=request.getParameter("htyf");
String kssj=request.getParameter("kssj");
String jssj=request.getParameter("jssj");
String htnx=request.getParameter("htnx");
String qdr=request.getParameter("qdr");
String bz=request.getParameter("bz");
HrHtgl hh=new HrHtgl();
String key = Login.Loginer.getNewID(null,null,null);
hh.setId(key);
hh.setHtbh(htbh);
hh.setHtmc(htmc);
hh.setHtzt(htzt);
hh.setHtjf(htjf);
hh.setHtyf(htyf);
hh.setHtnx(htnx);
hh.setQdr(qdr);
hh.setBz(bz);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
hh.setQddate(sdf.parse(qddate));
hh.setKssj(sdf.parse(kssj));
hh.setJssj(sdf.parse(jssj));
this.getHrHtglDao().save(hh);
ActionMessages messages = new ActionMessages();
messages.add("save_success",new ActionMessage("save.success"));
saveMessages(request, messages);
saveErrors(request, messages);
isSucc=true;
} catch (RuntimeException re) {
// re.printStackTrace();
logger.error("saveOrUpdate failed,error:"+re);
isSucc=false;
throw re;
}
return isSucc;
}
public void getHtDaoqi(HttpServletRequest req,HttpServletResponse res) throws IOException{
PrintWriter pr=null;
Loginer lo=(Loginer) req.getSession().getAttribute("loginer");
String empname=lo.getEmpName();
pr=res.getWriter();
List<Object[]> list= this.getHtglNewDao().findBySQL("select empname,endtime from htgl_rec a, htgl_new b where a.endtime is not null and a.continue_year != '无固定' and a.htgl_id = b.id and a.endtime >= sysdate and a.endtime< add_months(sysdate,1)");
for(Object[] o:list){
if(((String)o[0]).equals(empname)){
JSONObject jo=new JSONObject();
jo.put("empname", empname);
jo.put("endtime",StringToDate.dateToString((Date)o[1]) );
pr.print(jo.toString());
break;
}
}
}
/**
* 添加合同
* @param request
* @return
* @throws ParseException
*/
public boolean addHtNew(HttpServletRequest request) throws ParseException{
logger.debug("saveOrUpdating polrole message......");
boolean isSucc=false;
try {
String depname=request.getParameter("depname");
String empname =request.getParameter("empname");
String xingbie=request.getParameter("xingbie");
String record=request.getParameter("record");
String status=request.getParameter("status");
String limit=request.getParameter("limit");
String bz=request.getParameter("bz");
int age= Integer.parseInt(request.getParameter("age"));
// int limitYear=Integer.parseInt(request.getParameter("limitYear"));
String birthday=request.getParameter("birthday");
String quittime=request.getParameter("quittime");
String[] limitYear=request.getParameterValues("limitYear");
String[] htcode=request.getParameterValues("htcode");
String []starttime=request.getParameterValues("starttime");
String []endtime=request.getParameterValues("endtime");
HtglNew hh=new HtglNew();
String key = Login.Loginer.getNewID(null,null,null);
hh.setId(key);
hh.setDepname(depname);
hh.setEmpname(empname);
hh.setXingbie(xingbie);
hh.setRecord(record);
hh.setStatus(status);
hh.setLimit(limit);
hh.setAge(age);
hh.setBz(bz);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if(birthday!=null&&!birthday.equals("")){
hh.setBirthday(sdf.parse(birthday));
}
if(quittime!=null&&!quittime.equals("")){
hh.setQuittime(sdf.parse(quittime));
}
this.getHtglNewDao().save(hh);
for (int i = 0; i < endtime.length; i++) {
HtglRec rec=new HtglRec();
rec.setId(UuidGenerator.createId());
if(starttime[i]!=null&&!starttime[i].equals("")){
rec.setStartTime(sdf.parse(starttime[i]));
}
if(endtime[i]!=null&&!endtime[i].equals("")){
rec.setEndTime(sdf.parse(endtime[i]));
}
rec.setHtglId(key);
rec.setHtcode(htcode[i]);
rec.setContinueYear(limitYear[i]);
this.getHtglRecDao().save(rec);
}
// ActionMessages messages = new ActionMessages();
// messages.add("save_success",new ActionMessage("save.success"));
// saveMessages(request, messages);
// saveErrors(request, messages);
isSucc=true;
} catch (RuntimeException re) {
// re.printStackTrace();
logger.error("saveOrUpdate failed,error:"+re);
isSucc=false;
throw re;
}
return isSucc;
}
/**
* 查询所有合同
* @param request
* @param response
* @return
*/
public boolean showHtglList(HttpServletRequest request,HttpServletResponse response){
boolean isSucc = false;
logger.info("begin finding.......");
try {
StringBuffer hql=new StringBuffer();
hql.append(" from HrHtgl ");
String status=request.getParameter("status");
request.setAttribute("status",status);
if(status!=null && !status.equals(""))
{
if(status.equals("0")) hql.append(" order by qddate desc");
else if(status.equals("1")) hql.append(" order by htbh asc");
else if(status.equals("2")) hql.append(" order by htbh desc");
}else hql.append(" order by qddate asc");
PageBean pageBean = PageBean.getPageBean(request,response,10);
PageResult pageresult = this.getPageService().findByConditionsForDBPage(hql.toString(), pageBean);
request.setAttribute("pageresult", pageresult);
isSucc = true;
logger.equals("find successful.............");
} catch (RuntimeException e) {
isSucc = false;
logger.error("find failed", e);
}
return isSucc;
}
public boolean showHtglListNew(HttpServletRequest request,HttpServletResponse response){
boolean isSucc = false;
logger.info("begin finding.......");
try {
String ss="update htgl_new set record='1' where id in ( select b.id from htgl_rec a, htgl_new b where a.endtime is not null and a.continue_year != '无固定' and a.htgl_id = b.id and a.endtime >= sysdate and a.endtime < add_months(sysdate, 1))";
HibernateUtil.updateBySql(ss);
StringBuffer hql=new StringBuffer();
String status=request.getParameter("status");
String empname1= request.getParameter("empname1");
hql.append(" select b.id,b.depname,b.empname,b.status,fun_get_ht_rec(b.id),b.record from htgl_rec a, htgl_new b");
hql.append(" where a.endtime is not null and a.continue_year != '无固定' and a.htgl_id = b.id and a.endtime >= sysdate and a.endtime < add_months(sysdate, 1)");
hql.append(" union all select a.id,a.depname,a.empname,a.status,fun_get_ht_rec(a.id),a.record from htgl_new a where a.id not in(select b.id");
hql.append(" from htgl_rec a, htgl_new b where a.endtime is not null and a.continue_year != '无固定' and a.htgl_id = b.id");
hql.append(" and a.endtime >= sysdate and a.endtime < add_months(sysdate, 1))");
if(!"".equals(empname1)&&empname1!=null){
hql.append("and a.empname like '%"+empname1+"%'");
}
// request.setAttribute("status",status);
// if(status!=null && !status.equals(""))
// {
// if(status.equals("0")) hql.append(" order by qddate desc");
// else if(status.equals("1")) hql.append(" order by htbh asc");
// else if(status.equals("2")) hql.append(" order by htbh desc");
// }else hql.append(" order by qddate asc");
PageBean pageBean = PageBean.getPageBean(request,response,10);
PageResult pageresult = this.getPageService().findByConditionsForDBPageSQL(hql.toString(), pageBean);
request.setAttribute("empname1", empname1);
List<Object[]> li1= this.getHtglNewDao().findBySQL("select empname,endtime from htgl_rec a, htgl_new b where a.endtime is not null and a.continue_year != '无固定' and a.htgl_id = b.id and a.endtime >= sysdate and a.endtime< add_months(sysdate,1)");
request.setAttribute("count", li1.size());
request.setAttribute("pageresult", pageresult);
isSucc = true;
logger.equals("find successful.............");
} catch (RuntimeException e) {
isSucc = false;
e.printStackTrace();
logger.error("find failed", e);
}
return isSucc;
}
public boolean saveHtglNew(List<HtglNew> list) throws ParseException{
logger.debug("saveOrUpdating polrole message......");
boolean isSucc=false;
try {
for (int i = 0; i < list.size(); i++) {
HtglNew hh= list.get(i);
this.getHtglNewDao().save(hh);
}
isSucc=true;
} catch (RuntimeException re) {
// re.printStackTrace();
logger.error("saveOrUpdate failed,error:"+re);
isSucc=false;
throw re;
}
return isSucc;
}
public boolean saveHtglRec(List<HtglRec> list) throws ParseException{
logger.debug("saveOrUpdating polrole message......");
boolean isSucc=false;
try {
for (int i = 0; i < list.size(); i++) {
HtglRec rec= list.get(i);
this.getHtglRecDao().saveOrUpdate(rec);
}
isSucc=true;
} catch (RuntimeException re) {
// re.printStackTrace();
logger.error("saveOrUpdate failed,error:"+re);
isSucc=false;
throw re;
}
return isSucc;
}
public HrHtglDao getHrHtglDao() {
return hrHtglDao;
}
public void setHrHtglDao(HrHtglDao hrHtglDao) {
this.hrHtglDao = hrHtglDao;
}
public PageService getPageService() {
return pageService;
}
public void setPageService(PageService pageService) {
this.pageService = pageService;
}
public static Logger getLogger() {
return logger;
}
public static void setLogger(Logger logger) {
HrHtglService.logger = logger;
}
public HtglNewDao getHtglNewDao() {
return htglNewDao;
}
public void setHtglNewDao(HtglNewDao htglNewDao) {
this.htglNewDao = htglNewDao;
}
}