febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
@@ -103,8 +103,8 @@ list.forEach(p -> { p.setSexName("1".equals(p.getSex()) ? "男" : "女"); p.setArchivesStatusName("0".equals(p.getArchivesStatus()) ? "未移交" : "已移交"); p.setEmpCardStatusName("1".equals(p.getEmpCardStatus()) ? "未发" : "已发"); p.setHandbookStatusName("1".equals(p.getHandbookStatus()) ? "未发" : "已发"); p.setEmpCardStatusName("0".equals(p.getEmpCardStatus()) ? "未发" : "已发"); p.setHandbookStatusName("0".equals(p.getHandbookStatus()) ? "未发" : "已发"); p.setEmpStatusName("0".equals(p.getEmpStatus()) ? "在职" : "离职"); //保险类型 p.setInsuranceTypeName(dicItems.stream() @@ -210,6 +210,21 @@ empBaseInfo.setModifier(operatorId); this.saveOrUpdate(empBaseInfo); addEmpDimissLog(empBaseInfo, operatorId, empId); } /** * * 增加员工后同步增加入职记录 * * date 2021-07-30 09:12 * @author: luoyibo * @param empBaseInfo 员工信息 * @param operatorId 操作员Id * @param empId 员工Id * @return void */ private void addEmpDimissLog(EmpBaseInfo empBaseInfo, String operatorId, Long empId) { EmpDimissionLog dimissionLog = new EmpDimissionLog(); dimissionLog.setCloseId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); dimissionLog.setEmpId(empId); @@ -474,6 +489,10 @@ returnList.add(StrUtil.format("导入员工基本信息异常: 出现位置第{}行, 原因:{}员工编号重复", listObject.indexOf(list) + 1, list.get(1).toString())); continue; } if (this.count(new LambdaQueryWrapper<EmpBaseInfo>().eq(EmpBaseInfo::getCertificateNumb, list.get(1).toString()).ne(EmpBaseInfo::getDelFlag, 1)) > 0) { returnList.add(StrUtil.format("导入员工基本信息异常: 出现位置第{}行, 原因:{}身份证号重复", listObject.indexOf(list) + 1, list.get(1).toString())); continue; } EmpBaseInfo empBaseInfo = new EmpBaseInfo(); empBaseInfo.setEmpId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE)); empBaseInfo.setArchivesNumb(list.get(0).toString()); @@ -636,6 +655,8 @@ } empBaseInfo.setEmpStatus("0"); this.save(empBaseInfo); //新入职员工需要增加一条入职记录 this.addEmpDimissLog(empBaseInfo,"2",empBaseInfo.getEmpId()); } } febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java
@@ -9,6 +9,7 @@ import java.util.List; import cn.hutool.core.util.StrUtil; import com.esotericsoftware.minlog.Log; import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -111,56 +112,60 @@ throw new Exception("创建Excel工作薄为空!"); } List<List<List<Object>>> returnList = new ArrayList<List<List<Object>>>(); for (Sheet sheet : work) { Row row = null; Cell cell = null; try { for (Sheet sheet : work) { Row row = null; Cell cell = null; list = new ArrayList<List<Object>>(); if (sheet == null) { continue; } // 取得Excel的总列数,总行数 int columns = 0; Row firstRow = sheet.getRow((short) 0); if (firstRow != null) { columns = firstRow.getPhysicalNumberOfCells(); } list = new ArrayList<List<Object>>(); if (sheet == null) { continue; } // 取得Excel的总列数,总行数 int columns = 0; Row firstRow = sheet.getRow((short) 0); if (firstRow != null) { columns = firstRow.getPhysicalNumberOfCells(); } int rows = sheet.getPhysicalNumberOfRows(); List<Object> dataRow = null; int rows = sheet.getPhysicalNumberOfRows(); List<Object> dataRow = null; // 首行为定义标题的行,数据从第2行开始 for (int i = 1; i < rows; i++) { dataRow = new ArrayList<Object>(); // 获取行 row = sheet.getRow(i); if (row == null) { break; } // 首行为定义标题的行,数据从第2行开始 for (int i = 1; i < rows; i++) { dataRow = new ArrayList<Object>(); // 获取行 row = sheet.getRow(i); if (row == null) { break; } cell = row.getCell(0); if (StrUtil.isBlank(getCellValue(cell).toString())) { break; } cell = row.getCell(0); if (StrUtil.isBlank(getCellValue(cell).toString())) { break; } if (row != null) { // columns=row.getPhysicalNumberOfCells();//不在这里设置,通过firstRow来获取列数信息。 for (int j = 0; j < columns; j++) { // 获取某行某列的某一个单元格 cell = row.getCell(j); if (row != null) { // columns=row.getPhysicalNumberOfCells();//不在这里设置,通过firstRow来获取列数信息。 for (int j = 0; j < columns; j++) { // 获取某行某列的某一个单元格 cell = row.getCell(j); // 往dataRow存值 dataRow.add(getCellValue(cell)); } list.add(dataRow); } else { list.add(new ArrayList<>()); } } // 往dataRow存值 dataRow.add(getCellValue(cell)); } list.add(dataRow); } else { list.add(new ArrayList<>()); } } work.close(); returnList.add(list); } work.close(); returnList.add(list); } } catch (Exception e){ Log.error(e.getMessage()); } return returnList; }