标签:打开 name function sel highlight osi 完成 turn int
public void saveWageEmployeeInfo() throws FileNotFoundException {
//wage_employee_info先删除M1,M2
String sqlM1M2 = "delete wage.wage_employee_info where wage_level in(‘M1‘,‘M2‘)";
int sqlM1M2Count = wageJobMapper.delSql(sqlM1M2);
System.out.println("删除wage.wage_employee_info 包含M1M2的数据"+sqlM1M2Count);
String time = getMonday();
// String filename = "D:/微信文件/WeChat Files/Huangpeideng2015/FileStorage/File/2019-12/人员明细表+"+time+".XLSX";
String filename = "D:\\微信文件\\WeChat Files\\Huangpeideng2015\\FileStorage\\File\\2019-12\\12.13\\12.13\\人员明细表+20191216.XLSX";
FileInputStream in = new FileInputStream(filename);
Workbook wk = StreamingReader.builder()
.rowCacheSize(10) //缓存到内存中的行数,默认是10
.bufferSize(4096) //读取资源时,缓存到内存的字节大小,默认是1024
.open(in); //打开资
String sqlEmployeeInfo = "insert into wage.wage_employee_info(employee_nbr,hrms_id,employee_group,employee_subgroup," +
"wage_range,center_code,major_department_code,major_department,small_department," +
"functional_group,[group],position_description,wage_level) values";
String delEmployeeInfo = "delete wage.wage_employee_info\n" +
"where id in(select min(id)\n" +
"from wage.wage_employee_info\n" +
"group by hrms_id\n" +
"having count(1) >1) or hrms_id = 0 or hrms_id is null";
String sqlPT = "insert into wage.employee_pt_st_info(hrms_id,wage_level) values";
String delPT = "delete wage.employee_pt_st_info\n" +
"where id in(select min(id)\n" +
"from wage.employee_pt_st_info\n" +
"group by hrms_id\n" +
"having count(1) >1) or hrms_id = 0 or hrms_id is null";
//遍历工作表
Sheet sheet = wk.getSheetAt(0);
int i = 0;
List<String> containIPT = new ArrayList<>();
containIPT.add("IH");
containIPT.add("PH");
containIPT.add("TH");
List<String> contain = Arrays.asList("M","M1","M2");
for (Row row:sheet) {
if(i>0){
List<String> list = new ArrayList<>();
for(int j=0;j<14;j++){
if (j != 2){//排除门店
list.add(row.getCell(j).getStringCellValue());
}
}
if (row.getCell(3).getStringCellValue().equals("学生")&&!contain.contains(row.getCell(13).getStringCellValue())){
list.set(12,"IH");
}
if (row.getCell(3).getStringCellValue().equals("临时用工")&&!contain.contains(row.getCell(13).getStringCellValue())){
list.set(12,"TH");
}
if (row.getCell(11).getStringCellValue()==null||row.getCell(11).getStringCellValue().equals("")){
list.set(10,row.getCell(10).getStringCellValue());
}
sqlEmployeeInfo += String.format(" \n (‘%s‘,‘%s‘,‘%s‘,‘%s‘,‘%s‘,‘%s‘,‘%s‘,‘%s‘,‘%s‘,‘%s‘,‘%s‘,‘%s‘,‘%s‘),",list.toArray());
String wage_level = list.get(12);
if (containIPT.contains(wage_level)){
sqlPT += String.format(" \n (‘%s‘,‘%s‘),",list.get(1),wage_level);
}
if (i%1000==0){
sqlEmployeeInfo = save2(sqlEmployeeInfo);
sqlPT = save(sqlPT);
}
}
i++;
}
save2(sqlEmployeeInfo);
save(sqlPT);
int delCount = wageJobMapper.delSql(delEmployeeInfo);
System.out.println("EmployeeInfo去重"+delCount);
int delCount2 = wageJobMapper.delSql(delPT);
System.out.println("employee_pt_st_info去重"+delCount2);
System.out.println("操作完成。。。。。。。。。。");
}
private String save(String sql){
int num = wageJobMapper.addSql(sql.substring(0,sql.length()-1));
System.out.println(String.format("成功保存%s条信息",num));
sql = "insert into wage.employee_pt_st_info(hrms_id,wage_level) values";
return sql;
}
private String save2(String sql) {
int num = wageJobMapper.addSql(sql.substring(0, sql.length() - 1));
System.out.println(String.format("成功保存%s条信息", num));
sql = "insert into wage.wage_employee_info(employee_nbr,hrms_id,employee_group,employee_subgroup," +
"wage_range,center_code,major_department_code,major_department,small_department," +
"functional_group,[group],position_description,wage_level) values";
return sql;
}
标签:打开 name function sel highlight osi 完成 turn int
原文地址:https://www.cnblogs.com/huangpeideng/p/12083719.html