jsp (<%@ include file="/js/extends/jquery.form.js" %>)
<div id="uploadDiv">
<form id="uploadForm" enctype="multipart/form-data">
<input id="departmentIdImp" name="departmentIdImp" type="hidden" />
<input id="departmentNameImp" name="departmentNameImp" type="hidden" />
<table class="inputTable">
<caption id="uploadDivOrgName"></caption>
<tr>
<td class="staticTdNW" style="width: 20%;">附件:</td>
<td class="dynamicNW" style="width: 80%;">
<input id="templateFile" name="templateFile" />
</td>
</tr>
</table>
</form>
</div>
js
$("#uploadForm").ajaxSubmit({//此方法使用需要单独引用/js/extends/jquery.form.js
type: 'post', // 提交方式 get/post
url: "<c:url value='/hrPerson/saveFile' />", // 需要提交的 url
datatype: "json",
success: function(msg){
var flag = "500";
try{
if(JSON.parse(msg).state=="200"){
flag = "200";
}else if(JSON.parse(msg).state=="500" && JSON.parse(msg).err!=""){
flag = "500";
}else{
flag = "600";
}
}catch(e){
flag = "600";
}
if(flag == "200"){
$.messager.alert("提示","导入成功");
searchPerson();
$("#uploadDiv").dialog('close');
}else if(flag == "500"){
$.messager.alert("提示","该excel表中姓名为:"+JSON.parse(msg).err+"的人员工号重复!");
searchPerson();
}else{
$.messager.alert("提示","导入失败");
}
}
});
controller
@RequestMapping(value = "/hrPerson/saveFile", method = RequestMethod.POST)
@ResponseBody
public void saveFile(HttpServletResponse response, HttpServletRequest request, String departmentIdImp, String departmentNameImp){
Map<String,Object> map = new HashMap<String,Object>();
try {
UserInfoEx userInfoEx = (UserInfoEx) request.getSession().getAttribute(UserInfoEx.USERINFO_EX);
List<SynUserManagement> sumList = new ArrayList<SynUserManagement>();
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
MultipartFile templateFile = multipartRequest.getFile("templateFile");
XSSFWorkbook work = new XSSFWorkbook(templateFile.getInputStream());// 得到这个excel表格对象
XSSFSheet sheet = work.getSheetAt(0); // 得到第一个sheet
int rowNo = sheet.getPhysicalNumberOfRows(); // 得到行数
//工号重复人员名单
String workNumberIsThereName = "";
for(int i=1; i<rowNo; i++){
if(sheet.getRow(i)!=null){
XSSFRow row = sheet.getRow(i);
SynUserManagement sum = new SynUserManagement();
int j = 0;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setWorkNumber(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setTheName(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setPositions(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setJobs(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setSex(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setIdNumber(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_NUMERIC);
sum.setDateOfBirth(row.getCell(j).getDateCellValue());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setAge(row.getCell(j).getStringCellValue().trim().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setPoliticalLandscape(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setTheTitle(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_NUMERIC);
sum.setTheTitleTime(row.getCell(j).getDateCellValue());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setTitleProfessional(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setQualificationCertificate(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setNationals(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setNativePlace(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setRegisteredResidence(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_NUMERIC);
sum.setWorkingHours(row.getCell(j).getDateCellValue());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setLengthService(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_NUMERIC);
sum.setInTheTime(row.getCell(j).getDateCellValue());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setFullTimeInstitutions(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setRecordFormalSchool(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setProfessional(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setHeightRecordFormalSchool(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setHighestEducaInstitution(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setHighestDegreeMajor(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setOriginalWorkUnit(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setOwuDepartment(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setOwuJobs(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setFileInto(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_NUMERIC);
sum.setTermOfLaborContract(row.getCell(j).getDateCellValue());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setNumLaborContractsSigned(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_NUMERIC);
sum.setStimeLaborContract(row.getCell(j).getDateCellValue());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_NUMERIC);
sum.setEtimeLaborContract(row.getCell(j).getDateCellValue());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setMaritalStatus(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setHomeAddress(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setContactPhoneNumber(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setHousingFundAccount(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setBasePay(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setSpouseName(row.getCell(j).getStringCellValue().trim());
j++;
row.getCell(j).setCellType(Cell.CELL_TYPE_STRING);
sum.setSpouseUnit(row.getCell(j).getStringCellValue().trim());
sum.setFounder(userInfoEx.getUserInfo().getName());
sum.setFounderUuid(userInfoEx.getUserInfo().getPersonUuid());
sum.setCreationTime(new Date());
sum.setDepartmentId(departmentIdImp);
sum.setDepartment(departmentNameImp);
sum.setDeleteState("1");
sum.setId(StringUtil.getUUID());
if(synUserManagementService.workNumberIsNotThere(sum)){
workNumberIsThereName+=sum.getTheName()+",";
}else{
sumList.add(sum);
}
}else{
continue;
}
}
int j = 0;
String err = "";
for(SynUserManagement sum : sumList){
if(synUserManagementService.insterUserObject(sum)==1){
j++;
}
}
if(j==rowNo-1){
map.put("state", "200");
}else{
map.put("state", "500");
if(workNumberIsThereName!=""){
map.put("err", workNumberIsThereName);
}else{
map.put("err", "");
}
}
} catch (Exception e) {
LogUtil.errorLog(e);
map.put("state", "500");
map.put("err", "");
}
JSONObject retVal = new JSONObject(map);
try {
response.getWriter().write(retVal.toString());
} catch (IOException e) {
LogUtil.errorLog(e);
}
}