From c979b4824ab9a28392696dc829cd01f65b54e83b Mon Sep 17 00:00:00 2001
From: yijiusmile <253281376@qq.com>
Date: 星期日, 21 二月 2021 17:08:06 +0800
Subject: [PATCH] 增加导入员工其它信息

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpResignService.java                  |    2 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLaborTroubleServiceImpl.java    |   41 +++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBadRecordService.java               |    2 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpWorkExperienceService.java          |    2 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBadRecordServiceImpl.java       |   30 ++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpLaborTroubleService.java            |    2 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java                        |   64 +++++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpOccupational.java                     |   13 +
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpOccupationalService.java            |    2 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccidentCasesService.java           |    2 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpInsuranceServiceImpl.java       |   37 +++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpOccupationalServiceImpl.java    |   63 +++++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java           |   48 +++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpRemarkinfoService.java              |    2 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpDimissionAttendService.java         |    2 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpWorkExperienceServiceImpl.java  |   23 +
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpPhysicalExamServiceImpl.java    |   34 ++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpUnemploymentServiceImpl.java    |   32 ++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpUnemploymentService.java            |    2 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccidentCasesServiceImpl.java   |   63 +++++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpPhysicalExamService.java            |    2 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpContractInfoServiceImpl.java    |   33 ++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpRemarkInfoServiceImpl.java      |   29 ++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionAttendServiceImpl.java |   42 +++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpInsuranceService.java               |    2 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpResignServiceImpl.java          |   30 ++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLeaveInfoServiceImpl.java       |   41 +++
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java        |   52 +++-
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpContractInfoService.java            |    2 
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpLeaveInfoService.java               |    2 
 30 files changed, 679 insertions(+), 22 deletions(-)

diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java
index c14b771..9decba8 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/controller/EmpBaseInfoController.java
@@ -29,7 +29,20 @@
 import cc.mrbird.febs.server.hr.entity.EmpBaseInfo;
 import cc.mrbird.febs.server.hr.feign.IRemoteDeptService;
 import cc.mrbird.febs.server.hr.feign.IRemoteUserService;
+import cc.mrbird.febs.server.hr.service.IEmpAccidentCasesService;
+import cc.mrbird.febs.server.hr.service.IEmpBadRecordService;
 import cc.mrbird.febs.server.hr.service.IEmpBaseInfoService;
+import cc.mrbird.febs.server.hr.service.IEmpContractInfoService;
+import cc.mrbird.febs.server.hr.service.IEmpDimissionAttendService;
+import cc.mrbird.febs.server.hr.service.IEmpInsuranceService;
+import cc.mrbird.febs.server.hr.service.IEmpLaborTroubleService;
+import cc.mrbird.febs.server.hr.service.IEmpLeaveInfoService;
+import cc.mrbird.febs.server.hr.service.IEmpOccupationalService;
+import cc.mrbird.febs.server.hr.service.IEmpPhysicalExamService;
+import cc.mrbird.febs.server.hr.service.IEmpRemarkinfoService;
+import cc.mrbird.febs.server.hr.service.IEmpResignService;
+import cc.mrbird.febs.server.hr.service.IEmpUnemploymentService;
+import cc.mrbird.febs.server.hr.service.IEmpWorkExperienceService;
 import cc.mrbird.febs.server.hr.util.PoiExportExcel;
 import cc.mrbird.febs.server.hr.util.PoiImportExcel;
 import cn.hutool.core.date.DateUtil;
@@ -56,6 +69,19 @@
 public class EmpBaseInfoController {
 
     private final IEmpBaseInfoService empBaseInfoService;
+    private final IEmpWorkExperienceService empWorkExperienceService;
+    private final IEmpPhysicalExamService empPhysicalExamService;
+    private final IEmpContractInfoService empContractInfoService;
+    private final IEmpDimissionAttendService empDimissionAttendService;
+    private final IEmpLeaveInfoService empLeaveInfoService;
+    private final IEmpResignService empResignService;
+    private final IEmpUnemploymentService empUnemploymentService;
+    private final IEmpInsuranceService empInsuranceService;
+    private final IEmpAccidentCasesService empAccidentCasesService;
+    private final IEmpOccupationalService empOccupationalService;
+    private final IEmpLaborTroubleService empLaborTroubleService;
+    private final IEmpBadRecordService empBadRecordService;
+    private final IEmpRemarkinfoService empRemarkinfoService;
     private final IRemoteUserService remoteUserService;
     private final IRemoteDeptService remoteDeptService;
 
@@ -161,22 +187,34 @@
         ExcelKit.$Export(EmpBaseInfo.class, response).downXlsx(records, false);
 	}
 
-	@ApiOperation(value = "导入员工")
+    @ApiOperation(value = "导入员工")
 	@PostMapping("importEmp")
 	public void importEmp(MultipartFile file) throws IOException {
 		InputStream in = null;
-		List<List<Object>> listObject = null;
+		List<List<List<Object>>> listObject = null;
 		try {
 			if (!file.isEmpty()) {
 				in = file.getInputStream();
-				listObject = new PoiImportExcel().getListByExcel(in, file.getOriginalFilename());
+				listObject = PoiImportExcel.getMulitListByExcel(in, file.getOriginalFilename());
 				in.close();
-				empBaseInfoService.importEmpBaseInfo(listObject);
+				empBaseInfoService.importEmpBaseInfo(listObject.get(0));
+				empWorkExperienceService.importEmpWorkExperience(listObject.get(1));
+				empPhysicalExamService.importEmpPhysicalExam(listObject.get(2));
+				empContractInfoService.importEmpContractInfo(listObject.get(3));
+				empDimissionAttendService.importEmpDimissionAttend(listObject.get(4));
+				empLeaveInfoService.importEmpLeaveInfo(listObject.get(5));
+				empResignService.importEmpResign(listObject.get(6));
+				empUnemploymentService.importEmpUnemployment(listObject.get(7));
+				empInsuranceService.importEmpInsurance(listObject.get(8));
+				empAccidentCasesService.importEmpAccidentCases(listObject.get(9));
+				empOccupationalService.importEmpOccupational(listObject.get(10));
+				empLaborTroubleService.importEmpLaborTrouble(listObject.get(11));
+				empBadRecordService.importEmpBadRecord(listObject.get(12));
+				empRemarkinfoService.importEmpBadRecord(listObject.get(13));
 			}
 		} catch (Exception e) {
 			log.error("导入员工", e);
 		}
-		
 	}
 
     @ApiOperation(value = "关闭员工档案")
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpOccupational.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpOccupational.java
index e54d053..828a8c6 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpOccupational.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/entity/EmpOccupational.java
@@ -271,6 +271,19 @@
     @TableField("remark")
     private String remark = "";
     
+    @FieldInfo(name = "expenseReport", type = "varchar", explain = "报单号")
+    @TableField("expenseReport")
+    @ExcelField(value = "报单号")
+    private String expenseReport = "";
+    
+    @FieldInfo(name = "settleDate", type = "date", explain = "案结日期")
+    @TableField("settleDate")
+    @JsonSerialize(using = DateSerializer.class)
+    @JsonDeserialize(using = DateDeSerializer.class)
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @ExcelField(value = "案结日期", writeConverter = TimeConverter.class)
+    private Date settleDate;
+    
     @TableField(exist = false)
 	private String hrDoDateStr= "";
     
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccidentCasesService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccidentCasesService.java
index 981b130..dae1a44 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccidentCasesService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpAccidentCasesService.java
@@ -77,4 +77,6 @@
      * @author: luoyibo
      */
     boolean momentToNormal(String ids);
+
+	void importEmpAccidentCases(List<List<Object>> listObject);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBadRecordService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBadRecordService.java
index 8942369..5279cee 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBadRecordService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpBadRecordService.java
@@ -77,4 +77,6 @@
      * @author: luoyibo
      */
     boolean momentToNormal(String ids);
+
+	void importEmpBadRecord(List<List<Object>> listObject);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpContractInfoService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpContractInfoService.java
index 437ffa0..0e5b686 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpContractInfoService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpContractInfoService.java
@@ -77,4 +77,6 @@
      * @author: luoyibo
      */
     boolean momentToNormal(String ids);
+
+	void importEmpContractInfo(List<List<Object>> listObject);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpDimissionAttendService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpDimissionAttendService.java
index b966daf..f8a1cf1 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpDimissionAttendService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpDimissionAttendService.java
@@ -77,4 +77,6 @@
      * @author: luoyibo
      */
     boolean momentToNormal(String ids);
+
+	void importEmpDimissionAttend(List<List<Object>> listObject);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpInsuranceService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpInsuranceService.java
index edf799a..6e2b10f 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpInsuranceService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpInsuranceService.java
@@ -77,4 +77,6 @@
      * @author: luoyibo
      */
     boolean momentToNormal(String ids);
+
+	void importEmpInsurance(List<List<Object>> listObject);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpLaborTroubleService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpLaborTroubleService.java
index 6c43e4e..6f25cb4 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpLaborTroubleService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpLaborTroubleService.java
@@ -77,4 +77,6 @@
      * @author: luoyibo
      */
     boolean momentToNormal(String ids);
+
+	void importEmpLaborTrouble(List<List<Object>> listObject);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpLeaveInfoService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpLeaveInfoService.java
index 67a5916..824ae66 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpLeaveInfoService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpLeaveInfoService.java
@@ -77,4 +77,6 @@
      * @author: luoyibo
      */
     boolean momentToNormal(String ids);
+
+	void importEmpLeaveInfo(List<List<Object>> listObject);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpOccupationalService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpOccupationalService.java
index 4a6a98b..deaedb0 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpOccupationalService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpOccupationalService.java
@@ -77,4 +77,6 @@
      * @author: luoyibo
      */
     boolean momentToNormal(String ids);
+
+	void importEmpOccupational(List<List<Object>> listObject);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpPhysicalExamService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpPhysicalExamService.java
index 7afef25..5f323c5 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpPhysicalExamService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpPhysicalExamService.java
@@ -77,4 +77,6 @@
      * @author: luoyibo
      */
     boolean momentToNormal(String ids);
+
+	void importEmpPhysicalExam(List<List<Object>> listObject);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpRemarkinfoService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpRemarkinfoService.java
index d2839a4..eb0d8be 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpRemarkinfoService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpRemarkinfoService.java
@@ -77,4 +77,6 @@
      * @author: luoyibo
      */
     boolean momentToNormal(String ids);
+
+	void importEmpBadRecord(List<List<Object>> listObject);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpResignService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpResignService.java
index 004862f..3f48f5c 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpResignService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpResignService.java
@@ -77,4 +77,6 @@
      * @author: luoyibo
      */
     boolean momentToNormal(String ids);
+
+	void importEmpResign(List<List<Object>> listObject);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpUnemploymentService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpUnemploymentService.java
index 1f3db07..c1049e0 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpUnemploymentService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpUnemploymentService.java
@@ -77,4 +77,6 @@
      * @author: luoyibo
      */
     boolean momentToNormal(String ids);
+
+	void importEmpUnemployment(List<List<Object>> listObject);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpWorkExperienceService.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpWorkExperienceService.java
index 4232a10..73eac0a 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpWorkExperienceService.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/IEmpWorkExperienceService.java
@@ -77,4 +77,6 @@
      * @author: luoyibo
      */
     boolean momentToNormal(String ids);
+
+	void importEmpWorkExperience(List<List<Object>> listObject);
 }
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccidentCasesServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccidentCasesServiceImpl.java
index 2bc41d7..ace68c2 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccidentCasesServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpAccidentCasesServiceImpl.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.server.hr.service.impl;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
@@ -18,11 +19,15 @@
 
 import cc.mrbird.febs.common.core.constant.ModuleCode;
 import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.common.core.entity.system.Dept;
+import cc.mrbird.febs.common.core.utils.CastUtil;
 import cc.mrbird.febs.common.core.utils.FebsUtil;
 import cc.mrbird.febs.common.core.utils.SequenceUtil;
+import cc.mrbird.febs.common.redis.service.RedisService;
 import cc.mrbird.febs.server.hr.entity.EmpAccidentCases;
 import cc.mrbird.febs.server.hr.mapper.EmpAccidentCasesMapper;
 import cc.mrbird.febs.server.hr.service.IEmpAccidentCasesService;
+import cn.hutool.core.date.DateUtil;
 import lombok.RequiredArgsConstructor;
 
 /**
@@ -39,6 +44,7 @@
 class EmpAccidentCasesServiceImpl extends ServiceImpl<EmpAccidentCasesMapper, EmpAccidentCases>
 		implements IEmpAccidentCasesService {
 
+	private final RedisService redisService;
 	private final EmpAccidentCasesMapper empAccidentcasesMapper;
 	private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()).map(u -> u.getUserId().toString())
 			.orElse("1");
@@ -148,4 +154,61 @@
 		List<String> list = new ArrayList<>(Arrays.asList(str));
 		return empAccidentcasesMapper.momentToNormal(list, operatorId) > 0;
 	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void importEmpAccidentCases(List<List<Object>> listObject) {
+		for (List<Object> list : listObject) {
+			EmpAccidentCases empAccidentcases=new EmpAccidentCases();
+			empAccidentcases.setAccidentId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+			empAccidentcases.setEmpNumb(list.get(0).toString());
+			List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+			Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get()
+					.getDeptId();
+			empAccidentcases.setDeptName(list.get(1).toString());
+			empAccidentcases.setDeptId(deptId);
+			empAccidentcases.setJobName(list.get(2).toString());
+			empAccidentcases.setEmpName(list.get(3).toString());
+			empAccidentcases.setCertificateNumb(list.get(4).toString());
+			if (StringUtils.isNotBlank(list.get(5).toString())) {
+				empAccidentcases.setInjuredTime(DateUtil.parseDateTime(list.get(5).toString()));
+			}
+			empAccidentcases.setInjuredAddress(list.get(6).toString());
+			empAccidentcases.setInjuredPart(list.get(7).toString());
+			empAccidentcases.setInjuredDescribe(list.get(8).toString());
+			empAccidentcases.setInjuredDiacrisis(list.get(9).toString());
+			empAccidentcases.setHospitalName(list.get(10).toString());
+			empAccidentcases.setTreatmentName(list.get(11).toString());
+			if (StringUtils.isNotBlank(list.get(12).toString())) {
+				empAccidentcases.setHospitalizatioFlag("未住院".equals(list.get(12).toString()) ? 0 : 1);
+			}
+			if (StringUtils.isNotBlank(list.get(13).toString())) {
+				empAccidentcases.setBedNumb(Integer.valueOf(list.get(14).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(14).toString())) {
+				empAccidentcases.setReprotTime(DateUtil.parseDate(list.get(14).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(15).toString())) {
+				empAccidentcases.setSubmitTime(DateUtil.parseDate(list.get(15).toString()));
+			}
+			empAccidentcases.setSbumitBy(list.get(16).toString());
+			if (StringUtils.isNotBlank(list.get(17).toString())) {
+				empAccidentcases.setExpensesFee(new BigDecimal(list.get(17).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(18).toString())) {
+				empAccidentcases.setInnsureFee(new BigDecimal(list.get(18).toString()));
+			}
+			empAccidentcases.setExpenseReport(list.get(19).toString());
+			if (StringUtils.isNotBlank(list.get(20).toString())) {
+				empAccidentcases.setHrDoDate(DateUtil.parseDate(list.get(20).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(21).toString())) {
+				empAccidentcases.setSettleStatus("未结案".equals(list.get(21).toString()) ? 0 : 1);
+			}
+			if (StringUtils.isNotBlank(list.get(22).toString())) {
+				empAccidentcases.setSettleDate(DateUtil.parseDate(list.get(22).toString()));
+			}
+			this.save(empAccidentcases);
+		}
+	}
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBadRecordServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBadRecordServiceImpl.java
index f86fcb1..9be1689 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBadRecordServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBadRecordServiceImpl.java
@@ -5,6 +5,7 @@
 import cc.mrbird.febs.server.hr.entity.EmpBadRecord;
 import cc.mrbird.febs.server.hr.mapper.EmpBadRecordMapper;
 import cc.mrbird.febs.server.hr.service.IEmpBadRecordService;
+import cn.hutool.core.date.DateUtil;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
@@ -16,8 +17,11 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.common.core.entity.system.Dept;
+import cc.mrbird.febs.common.core.utils.CastUtil;
 import cc.mrbird.febs.common.core.utils.FebsUtil;
 import cc.mrbird.febs.common.core.utils.SequenceUtil;
+import cc.mrbird.febs.common.redis.service.RedisService;
 
 import java.util.*;
 
@@ -35,6 +39,7 @@
 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
 class EmpBadRecordServiceImpl extends ServiceImpl<EmpBadRecordMapper, EmpBadRecord> implements IEmpBadRecordService {
 
+	private final RedisService redisService;
     private final EmpBadRecordMapper empBadrecordMapper;
     private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
             .map(u -> u.getUserId().toString())
@@ -126,4 +131,29 @@
         List<String> list = new ArrayList<>(Arrays.asList(str));
         return empBadrecordMapper.momentToNormal(list, operatorId) > 0;
     }
+
+    @Override
+	@Transactional(rollbackFor = Exception.class)
+    public void importEmpBadRecord(List<List<Object>> listObject) {
+    	for (List<Object> list : listObject) {
+    		EmpBadRecord empBadrecord=new EmpBadRecord();
+    		empBadrecord.setBadId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+    		empBadrecord.setEmpNumb(list.get(0).toString());
+			List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+			Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get()
+					.getDeptId();
+			empBadrecord.setDeptName(list.get(1).toString());
+			empBadrecord.setDeptId(deptId);
+			empBadrecord.setJobName(list.get(2).toString());
+			empBadrecord.setEmpName(list.get(3).toString());
+			empBadrecord.setCertificateNumb(list.get(4).toString());
+			if (StringUtils.isNotBlank(list.get(5).toString())) {
+				empBadrecord.setBadDate(DateUtil.parseDateTime(list.get(5).toString()));
+			}
+			empBadrecord.setBadContent(list.get(6).toString());
+			empBadrecord.setReporter(list.get(7).toString());
+			empBadrecord.setRemark(list.get(8).toString());
+			this.save(empBadrecord);
+    	}
+	}
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
index 291d4d1..25736f0 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java
@@ -440,28 +440,50 @@
 		for (List<Object> list : listObject) {
 			EmpBaseInfo empBaseInfo = new EmpBaseInfo();
 			empBaseInfo.setEmpId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
-			empBaseInfo.setEmpNumb(list.get(0).toString());
+			empBaseInfo.setArchivesNumb(list.get(0).toString());
+			empBaseInfo.setEmpNumb(list.get(1).toString());
+			empBaseInfo.setEmpName(list.get(2).toString());
 			List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
-			empBaseInfo.setDeptName(list.get(1).toString());
-			Long deptId=depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get().getDeptId();
+			empBaseInfo.setDeptName(list.get(3).toString());
+			Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(3).toString())).findFirst().get()
+					.getDeptId();
 			empBaseInfo.setDeptId(deptId);
-			empBaseInfo.setJobName(list.get(2).toString());
-			empBaseInfo.setEmpName(list.get(3).toString());
-			empBaseInfo.setCertificateNumb(list.get(4).toString());
-			empBaseInfo.setSex("男".equals(list.get(5).toString())?"1":"0");
-			if (StringUtils.isNotBlank(list.get(6).toString())) {
-				empBaseInfo.setAge(Integer.valueOf(list.get(6).toString()));
-			}
-			empBaseInfo.setEducation(list.get(7).toString());
-			empBaseInfo.setNativePlace(list.get(8).toString());
-			empBaseInfo.setTelePhone(list.get(9).toString());
+			empBaseInfo.setJobName(list.get(4).toString());
+			empBaseInfo.setEmpType(list.get(5).toString());
+			empBaseInfo.setSex("男".equals(list.get(6).toString()) ? "1" : "2");
+			empBaseInfo.setNation(list.get(7).toString());
+			empBaseInfo.setCertificateNumb(list.get(8).toString());
+			empBaseInfo.setMarriage(list.get(9).toString());
 			if (StringUtils.isNotBlank(list.get(10).toString())) {
-				empBaseInfo.setEntryDate(DateUtil.parseDate(list.get(10).toString()));
+				empBaseInfo.setStature(Integer.valueOf(list.get(10).toString()));
 			}
+			empBaseInfo.setPolitics(list.get(11).toString());
+			if (StringUtils.isNotBlank(list.get(12).toString())) {
+				empBaseInfo.setEntryDate(DateUtil.parseDate(list.get(12).toString()));
+			}
+			empBaseInfo.setEducation(list.get(13).toString());
+			if (StringUtils.isNotBlank(list.get(14).toString())) {
+				empBaseInfo.setSeniority(Integer.valueOf(list.get(14).toString()));
+			}
+			empBaseInfo.setNativePlace(list.get(15).toString());
+			empBaseInfo.setCensusAddress(list.get(16).toString());
+			empBaseInfo.setCurrentAddress(list.get(17).toString());
+			empBaseInfo.setGuardNumb(list.get(18).toString());
+			empBaseInfo.setReturnReceipt(list.get(19).toString());
+			empBaseInfo.setTelePhone(list.get(20).toString());
+			empBaseInfo.setIntroducer(list.get(21).toString());
+			empBaseInfo.setBankName(list.get(22).toString());
+			empBaseInfo.setBankNumb(list.get(23).toString());
+			empBaseInfo.setInsuranceType(list.get(24).toString());
+			empBaseInfo.setSocialNumb(list.get(25).toString());
+			empBaseInfo.setFamily(list.get(26).toString());
+			empBaseInfo.setUrgencyPhone(list.get(27).toString());
+			empBaseInfo.setHandbookStatus(list.get(28).toString());
+			empBaseInfo.setEmpCardStatus(list.get(29).toString());
+			empBaseInfo.setCertificateList(list.get(30).toString());
 			empBaseInfo.setEmpStatus("0");
 			this.save(empBaseInfo);
 		}
-
 	}
 
 
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpContractInfoServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpContractInfoServiceImpl.java
index 0e59cd7..8d0c3c8 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpContractInfoServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpContractInfoServiceImpl.java
@@ -7,6 +7,7 @@
 import java.util.Optional;
 
 import cc.mrbird.febs.common.core.constant.DicCode;
+import cc.mrbird.febs.common.core.entity.system.Dept;
 import cc.mrbird.febs.common.core.entity.system.DicItem;
 import cc.mrbird.febs.common.core.utils.CastUtil;
 import cc.mrbird.febs.common.redis.service.RedisService;
@@ -29,6 +30,7 @@
 import cc.mrbird.febs.server.hr.entity.EmpContractInfo;
 import cc.mrbird.febs.server.hr.mapper.EmpContractInfoMapper;
 import cc.mrbird.febs.server.hr.service.IEmpContractInfoService;
+import cn.hutool.core.date.DateUtil;
 import lombok.RequiredArgsConstructor;
 
 /**
@@ -157,4 +159,35 @@
         List<String> list = new ArrayList<>(Arrays.asList(str));
         return empContractinfoMapper.momentToNormal(list, operatorId) > 0;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+	public void importEmpContractInfo(List<List<Object>> listObject) {
+		for (List<Object> list : listObject) {
+			EmpContractInfo contractInfo = new EmpContractInfo();
+			contractInfo.setContractId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+			contractInfo.setEmpNumb(list.get(0).toString());
+			List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+			Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get()
+					.getDeptId();
+			contractInfo.setDeptName(list.get(1).toString());
+			contractInfo.setDeptId(deptId);
+			contractInfo.setJobName(list.get(2).toString());
+			contractInfo.setEmpName(list.get(3).toString());
+			contractInfo.setCertificateNumb(list.get(4).toString());
+			if (StringUtils.isNotBlank(list.get(5).toString())) {
+				contractInfo.setSigningDate(DateUtil.parseDate(list.get(5).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(6).toString())) {
+				contractInfo.setEndDate(DateUtil.parseDate(list.get(6).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(7).toString())) {
+				contractInfo.setContractPeriod(Integer.valueOf(list.get(7).toString()));
+			}
+			contractInfo.setContractStatus(list.get(8).toString());
+			contractInfo.setTransactor(list.get(9).toString());
+			contractInfo.setRemark(list.get(10).toString());
+			this.save(contractInfo);
+		}
+	}
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionAttendServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionAttendServiceImpl.java
index bd375a5..d0ddb58 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionAttendServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpDimissionAttendServiceImpl.java
@@ -17,9 +17,13 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.common.core.entity.system.Dept;
+import cc.mrbird.febs.common.core.utils.CastUtil;
 import cc.mrbird.febs.common.core.utils.FebsUtil;
 import cc.mrbird.febs.common.core.utils.SequenceUtil;
+import cc.mrbird.febs.common.redis.service.RedisService;
 
+import java.math.BigDecimal;
 import java.util.*;
 
 /**
@@ -36,6 +40,7 @@
 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
 class EmpDimissionAttendServiceImpl extends ServiceImpl<EmpDimissionAttendMapper, EmpDimissionAttend> implements IEmpDimissionAttendService {
 
+	private final RedisService redisService;
     private final EmpDimissionAttendMapper empDimissionattendMapper;
     private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
             .map(u -> u.getUserId().toString())
@@ -132,4 +137,41 @@
         List<String> list = new ArrayList<>(Arrays.asList(str));
         return empDimissionattendMapper.momentToNormal(list, operatorId)>0;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+	public void importEmpDimissionAttend(List<List<Object>> listObject) {
+		for (List<Object> list : listObject) {
+			EmpDimissionAttend dimissionAttend = new EmpDimissionAttend();
+			dimissionAttend.setDimissionAttendId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+			dimissionAttend.setEmpNumb(list.get(0).toString());
+			List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+			Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get()
+					.getDeptId();
+			dimissionAttend.setDeptName(list.get(1).toString());
+			dimissionAttend.setDeptId(deptId);
+			dimissionAttend.setJobName(list.get(2).toString());
+			dimissionAttend.setEmpName(list.get(3).toString());
+			dimissionAttend.setCertificateNumb(list.get(4).toString());
+			dimissionAttend.setAttendMonth(list.get(5).toString());
+			if (StringUtils.isNotBlank(list.get(6).toString())) {
+				dimissionAttend.setAttendDays(new BigDecimal(list.get(6).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(7).toString())) {
+				dimissionAttend.setOvertimeDay(new BigDecimal(list.get(7).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(8).toString())) {
+				dimissionAttend.setOvertimeHour(new BigDecimal(list.get(8).toString()));
+			}
+			dimissionAttend.setDeduct(list.get(9).toString());
+			if (StringUtils.isNotBlank(list.get(10).toString())) {
+				dimissionAttend.setLeaveDay(new BigDecimal(list.get(10).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(11).toString())) {
+				dimissionAttend.setAbsenteeism(new BigDecimal(list.get(11).toString()));
+			}
+			dimissionAttend.setRemark(list.get(12).toString());
+			this.save(dimissionAttend);
+		}
+	}
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpInsuranceServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpInsuranceServiceImpl.java
index 42d8e87..709b38e 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpInsuranceServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpInsuranceServiceImpl.java
@@ -7,6 +7,7 @@
 import cc.mrbird.febs.server.hr.entity.EmpInsurance;
 import cc.mrbird.febs.server.hr.mapper.EmpInsuranceMapper;
 import cc.mrbird.febs.server.hr.service.IEmpInsuranceService;
+import cn.hutool.core.date.DateUtil;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
@@ -18,8 +19,11 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.common.core.entity.system.Dept;
+import cc.mrbird.febs.common.core.utils.CastUtil;
 import cc.mrbird.febs.common.core.utils.FebsUtil;
 import cc.mrbird.febs.common.core.utils.SequenceUtil;
+import cc.mrbird.febs.common.redis.service.RedisService;
 
 import java.util.*;
 
@@ -36,6 +40,7 @@
 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
 class EmpInsuranceServiceImpl extends ServiceImpl<EmpInsuranceMapper, EmpInsurance> implements IEmpInsuranceService {
 
+	private final RedisService redisService;
 	private final EmpInsuranceMapper empInsuranceMapper;
 	private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser()).map(u -> u.getUserId().toString())
 			.orElse("1");
@@ -133,4 +138,36 @@
 		List<String> list = new ArrayList<>(Arrays.asList(str));
 		return empInsuranceMapper.momentToNormal(list, operatorId) > 0;
 	}
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void importEmpInsurance(List<List<Object>> listObject) {
+		for (List<Object> list : listObject) {
+			EmpInsurance empInsurance=new EmpInsurance();
+			empInsurance.setInsuranceId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+			empInsurance.setEmpNumb(list.get(0).toString());
+			List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+			Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get()
+					.getDeptId();
+			empInsurance.setDeptName(list.get(1).toString());
+			empInsurance.setDeptId(deptId);
+			empInsurance.setJobName(list.get(2).toString());
+			empInsurance.setEmpName(list.get(3).toString());
+			empInsurance.setCertificateNumb(list.get(4).toString());
+			if (StringUtils.isNotBlank(list.get(5).toString())) {
+				empInsurance.setApplayDate(DateUtil.parseDate(list.get(5).toString()));
+			}
+			empInsurance.setProposer(list.get(6).toString());
+			empInsurance.setInsuranceGaers(list.get(7).toString());
+			if (StringUtils.isNotBlank(list.get(8).toString())) {
+				empInsurance.setReportStatus("未报告".equals(list.get(8).toString()) ? 0: 1);
+			}
+			if (StringUtils.isNotBlank(list.get(8).toString())) {
+				empInsurance.setApplayStatus("未申请".equals(list.get(8).toString()) ? 0: 1);
+			}
+			empInsurance.setAuditor(list.get(9).toString());
+			empInsurance.setRemark(list.get(10).toString());
+			this.save(empInsurance);
+		}
+	}
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLaborTroubleServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLaborTroubleServiceImpl.java
index ff3cbb7..2636619 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLaborTroubleServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLaborTroubleServiceImpl.java
@@ -6,6 +6,7 @@
 import cc.mrbird.febs.server.hr.entity.EmpLaborTrouble;
 import cc.mrbird.febs.server.hr.mapper.EmpLaborTroubleMapper;
 import cc.mrbird.febs.server.hr.service.IEmpLaborTroubleService;
+import cn.hutool.core.date.DateUtil;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
@@ -17,9 +18,13 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.common.core.entity.system.Dept;
+import cc.mrbird.febs.common.core.utils.CastUtil;
 import cc.mrbird.febs.common.core.utils.FebsUtil;
 import cc.mrbird.febs.common.core.utils.SequenceUtil;
+import cc.mrbird.febs.common.redis.service.RedisService;
 
+import java.math.BigDecimal;
 import java.util.*;
 
 /**
@@ -36,6 +41,7 @@
 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
 class EmpLaborTroubleServiceImpl extends ServiceImpl<EmpLaborTroubleMapper, EmpLaborTrouble> implements IEmpLaborTroubleService {
 
+	private final RedisService redisService;
     private final EmpLaborTroubleMapper empLabortroubleMapper;
     private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
             .map(u -> u.getUserId().toString())
@@ -140,4 +146,39 @@
         List<String> list = new ArrayList<>(Arrays.asList(str));
         return empLabortroubleMapper.momentToNormal(list, operatorId)>0;
     }
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void importEmpLaborTrouble(List<List<Object>> listObject) {
+		for (List<Object> list : listObject) {
+			EmpLaborTrouble empLabortrouble = new EmpLaborTrouble();
+			empLabortrouble.setArbitrationId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+			empLabortrouble.setEmpNumb(list.get(0).toString());
+			List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+			Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get()
+					.getDeptId();
+			empLabortrouble.setDeptName(list.get(1).toString());
+			empLabortrouble.setDeptId(deptId);
+			empLabortrouble.setJobName(list.get(2).toString());
+			empLabortrouble.setEmpName(list.get(3).toString());
+			empLabortrouble.setCertificateNumb(list.get(4).toString());
+			if (StringUtils.isNotBlank(list.get(5).toString())) {
+				empLabortrouble.setArbitrationDate(DateUtil.parseDateTime(list.get(5).toString()));
+			}
+			empLabortrouble.setArbitrationType(list.get(6).toString());
+			empLabortrouble.setArbitrationReason(list.get(7).toString());
+			empLabortrouble.setReporter(list.get(8).toString());
+			empLabortrouble.setRemark(list.get(9).toString());
+			if (StringUtils.isNotBlank(list.get(10).toString())) {
+				empLabortrouble.setArbitrationPay(new BigDecimal(list.get(10).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(11).toString())) {
+				empLabortrouble.setArbitrationStatus("未结案".equals(list.get(11).toString()) ? 0 : 1);
+			}
+			if (StringUtils.isNotBlank(list.get(12).toString())) {
+				empLabortrouble.setSettleDate(DateUtil.parseDate(list.get(12).toString()));
+			}
+			this.save(empLabortrouble);
+		}
+	}
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLeaveInfoServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLeaveInfoServiceImpl.java
index c14918c..b39e144 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLeaveInfoServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpLeaveInfoServiceImpl.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.server.hr.service.impl;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
@@ -18,11 +19,16 @@
 
 import cc.mrbird.febs.common.core.constant.ModuleCode;
 import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.common.core.entity.system.Dept;
+import cc.mrbird.febs.common.core.utils.CastUtil;
 import cc.mrbird.febs.common.core.utils.FebsUtil;
 import cc.mrbird.febs.common.core.utils.SequenceUtil;
+import cc.mrbird.febs.common.redis.service.RedisService;
+import cc.mrbird.febs.server.hr.entity.EmpDimissionAttend;
 import cc.mrbird.febs.server.hr.entity.EmpLeaveInfo;
 import cc.mrbird.febs.server.hr.mapper.EmpLeaveInfoMapper;
 import cc.mrbird.febs.server.hr.service.IEmpLeaveInfoService;
+import cn.hutool.core.date.DateUtil;
 import lombok.RequiredArgsConstructor;
 
 /**
@@ -39,6 +45,7 @@
 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
 class EmpLeaveInfoServiceImpl extends ServiceImpl<EmpLeaveInfoMapper, EmpLeaveInfo> implements IEmpLeaveInfoService {
 
+	private final RedisService redisService;
     private final EmpLeaveInfoMapper empLeaveinfoMapper;
     private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
             .map(u -> u.getUserId().toString())
@@ -130,4 +137,38 @@
         List<String> list = new ArrayList<>(Arrays.asList(str));
         return empLeaveinfoMapper.momentToNormal(list, operatorId)>0;
     }
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void importEmpLeaveInfo(List<List<Object>> listObject) {
+		for (List<Object> list : listObject) {
+			EmpLeaveInfo leaveInfo = new EmpLeaveInfo();
+			leaveInfo.setLeaveId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+			leaveInfo.setEmpNumb(list.get(0).toString());
+			List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+			Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get()
+					.getDeptId();
+			leaveInfo.setDeptName(list.get(1).toString());
+			leaveInfo.setDeptId(deptId);
+			leaveInfo.setJobName(list.get(2).toString());
+			leaveInfo.setEmpName(list.get(3).toString());
+			leaveInfo.setCertificateNumb(list.get(4).toString());
+			if (StringUtils.isNotBlank(list.get(5).toString())) {
+				leaveInfo.setBeginTime(DateUtil.parseDate(list.get(5).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(6).toString())) {
+				leaveInfo.setEndTime(DateUtil.parseDate(list.get(6).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(7).toString())) {
+				leaveInfo.setLeaveDay(new BigDecimal(list.get(7).toString()));
+			}
+			leaveInfo.setLeaveType(list.get(8).toString());
+			if (StringUtils.isNotBlank(list.get(9).toString())) {
+				leaveInfo.setReturnDate(DateUtil.parseDate(list.get(9).toString()));
+			}
+			leaveInfo.setReporter(list.get(10).toString());
+			leaveInfo.setRemark(list.get(11).toString());
+			this.save(leaveInfo);
+		}
+	}
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpOccupationalServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpOccupationalServiceImpl.java
index 1892772..bf459e3 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpOccupationalServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpOccupationalServiceImpl.java
@@ -1,5 +1,6 @@
 package cc.mrbird.febs.server.hr.service.impl;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
@@ -18,11 +19,15 @@
 
 import cc.mrbird.febs.common.core.constant.ModuleCode;
 import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.common.core.entity.system.Dept;
+import cc.mrbird.febs.common.core.utils.CastUtil;
 import cc.mrbird.febs.common.core.utils.FebsUtil;
 import cc.mrbird.febs.common.core.utils.SequenceUtil;
+import cc.mrbird.febs.common.redis.service.RedisService;
 import cc.mrbird.febs.server.hr.entity.EmpOccupational;
 import cc.mrbird.febs.server.hr.mapper.EmpOccupationalMapper;
 import cc.mrbird.febs.server.hr.service.IEmpOccupationalService;
+import cn.hutool.core.date.DateUtil;
 import lombok.RequiredArgsConstructor;
 
 /**
@@ -39,6 +44,7 @@
 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
 class EmpOccupationalServiceImpl extends ServiceImpl<EmpOccupationalMapper, EmpOccupational> implements IEmpOccupationalService {
 
+	private final RedisService redisService;
     private final EmpOccupationalMapper empOccupationalMapper;
     private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
             .map(u -> u.getUserId().toString())
@@ -149,4 +155,61 @@
         List<String> list = new ArrayList<>(Arrays.asList(str));
         return empOccupationalMapper.momentToNormal(list, operatorId)>0;
     }
+
+    @Override
+	@Transactional(rollbackFor = Exception.class)
+    public void importEmpOccupational(List<List<Object>> listObject) {
+    	for (List<Object> list : listObject) {
+    		EmpOccupational empOccupational=new EmpOccupational();
+    		empOccupational.setOccupationalId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+    		empOccupational.setEmpNumb(list.get(0).toString());
+			List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+			Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get()
+					.getDeptId();
+			empOccupational.setDeptName(list.get(1).toString());
+			empOccupational.setDeptId(deptId);
+			empOccupational.setJobName(list.get(2).toString());
+			empOccupational.setEmpName(list.get(3).toString());
+			empOccupational.setCertificateNumb(list.get(4).toString());
+			if (StringUtils.isNotBlank(list.get(5).toString())) {
+				empOccupational.setInjuredTime(DateUtil.parseDateTime(list.get(5).toString()));
+			}
+			empOccupational.setInjuredAddress(list.get(6).toString());
+			empOccupational.setInjuredPart(list.get(7).toString());
+			empOccupational.setInjuredDescribe(list.get(8).toString());
+			empOccupational.setInjuredDiacrisis(list.get(9).toString());
+			empOccupational.setHospitalName(list.get(10).toString());
+			empOccupational.setTreatmentName(list.get(11).toString());
+			if (StringUtils.isNotBlank(list.get(12).toString())) {
+				empOccupational.setHospitalizatioFlag("未住院".equals(list.get(12).toString()) ? 0 : 1);
+			}
+			if (StringUtils.isNotBlank(list.get(13).toString())) {
+				empOccupational.setBedNumb(Integer.valueOf(list.get(14).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(14).toString())) {
+				empOccupational.setReportTime(DateUtil.parseDate(list.get(14).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(15).toString())) {
+				empOccupational.setSubmitTime(DateUtil.parseDate(list.get(15).toString()));
+			}
+			empOccupational.setSbumitBy(list.get(16).toString());
+			if (StringUtils.isNotBlank(list.get(17).toString())) {
+				empOccupational.setExpensesFee(new BigDecimal(list.get(17).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(18).toString())) {
+				empOccupational.setCompensated(new BigDecimal(list.get(18).toString()));
+			}
+			empOccupational.setExpenseReport(list.get(19).toString());
+			if (StringUtils.isNotBlank(list.get(20).toString())) {
+				empOccupational.setHrDoDate(DateUtil.parseDate(list.get(20).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(21).toString())) {
+				empOccupational.setSettleStatus("未结案".equals(list.get(21).toString()) ? 0 : 1);
+			}
+			if (StringUtils.isNotBlank(list.get(22).toString())) {
+				empOccupational.setSettleDate(DateUtil.parseDate(list.get(22).toString()));
+			}
+			this.save(empOccupational);
+    	}
+    }
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpPhysicalExamServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpPhysicalExamServiceImpl.java
index 296a10b..c9f84e1 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpPhysicalExamServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpPhysicalExamServiceImpl.java
@@ -7,6 +7,7 @@
 import java.util.Optional;
 
 import cc.mrbird.febs.common.core.constant.DicCode;
+import cc.mrbird.febs.common.core.entity.system.Dept;
 import cc.mrbird.febs.common.core.entity.system.DicItem;
 import cc.mrbird.febs.common.core.utils.CastUtil;
 import cc.mrbird.febs.common.redis.service.RedisService;
@@ -28,6 +29,7 @@
 import cc.mrbird.febs.server.hr.entity.EmpPhysicalExam;
 import cc.mrbird.febs.server.hr.mapper.EmpPhysicalExamMapper;
 import cc.mrbird.febs.server.hr.service.IEmpPhysicalExamService;
+import cn.hutool.core.date.DateUtil;
 import lombok.RequiredArgsConstructor;
 
 /**
@@ -161,4 +163,36 @@
         List<String> list = new ArrayList<>(Arrays.asList(str));
         return empPhysicalexamMapper.momentToNormal(list, operatorId) > 0;
     }
+
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+	public void importEmpPhysicalExam(List<List<Object>> listObject) {
+		for (List<Object> list : listObject) {
+			EmpPhysicalExam physicalExam = new EmpPhysicalExam();
+			physicalExam.setPhysicalExamId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+			physicalExam.setEmpNumb(list.get(0).toString());
+			physicalExam.setDeptName(list.get(1).toString());
+			List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+			Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get()
+					.getDeptId();
+			physicalExam.setDeptId(deptId);
+			physicalExam.setJobName(list.get(2).toString());
+			physicalExam.setEmpName(list.get(3).toString());
+			physicalExam.setCertificateNumb(list.get(4).toString());
+			physicalExam.setSex("男".equals(list.get(5).toString()) ? "1" : "2");
+			physicalExam.setHospital(list.get(6).toString());
+			if (StringUtils.isNotBlank(list.get(7).toString())) {
+				physicalExam.setPhysicalExamDate(DateUtil.parseDate(list.get(7).toString()));
+			}
+			physicalExam.setPhysicalExamType(list.get(8).toString());
+			physicalExam.setBloodPressure(list.get(9).toString());
+			physicalExam.setTransaminase(list.get(10).toString());
+			physicalExam.setEcg(list.get(11).toString());
+			physicalExam.setConclusion(list.get(12).toString());
+			physicalExam.setReviewRecord(list.get(13).toString());
+			physicalExam.setRemark(list.get(14).toString());
+			this.save(physicalExam);
+		}
+	}
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpRemarkInfoServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpRemarkInfoServiceImpl.java
index dce0f6f..8047a05 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpRemarkInfoServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpRemarkInfoServiceImpl.java
@@ -1,10 +1,12 @@
 package cc.mrbird.febs.server.hr.service.impl;
 
 import cc.mrbird.febs.common.core.constant.ModuleCode;
+import cc.mrbird.febs.server.hr.entity.EmpBadRecord;
 import cc.mrbird.febs.server.hr.entity.EmpRemarkInfo;
 import cc.mrbird.febs.server.hr.entity.EmpRemarkInfo;
 import cc.mrbird.febs.server.hr.mapper.EmpRemarkInfoMapper;
 import cc.mrbird.febs.server.hr.service.IEmpRemarkinfoService;
+import cn.hutool.core.date.DateUtil;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
@@ -16,8 +18,11 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.common.core.entity.system.Dept;
+import cc.mrbird.febs.common.core.utils.CastUtil;
 import cc.mrbird.febs.common.core.utils.FebsUtil;
 import cc.mrbird.febs.common.core.utils.SequenceUtil;
+import cc.mrbird.febs.common.redis.service.RedisService;
 
 import java.util.*;
 
@@ -35,6 +40,7 @@
 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
 class EmpRemarkInfoServiceImpl extends ServiceImpl<EmpRemarkInfoMapper, EmpRemarkInfo> implements IEmpRemarkinfoService {
 
+	private final RedisService redisService;
     private final EmpRemarkInfoMapper empRemarkinfoMapper;
     private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
             .map(u -> u.getUserId().toString())
@@ -126,4 +132,27 @@
         List<String> list = new ArrayList<>(Arrays.asList(str));
         return empRemarkinfoMapper.momentToNormal(list, operatorId)>0;
     }
+
+    @Override
+	@Transactional(rollbackFor = Exception.class)
+    public void importEmpBadRecord(List<List<Object>> listObject) {
+    	for (List<Object> list : listObject) {
+    		EmpRemarkInfo empRemarkinfo=new EmpRemarkInfo();
+    		empRemarkinfo.setRemarkId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+    		empRemarkinfo.setEmpNumb(list.get(0).toString());
+			List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+			Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get()
+					.getDeptId();
+			empRemarkinfo.setDeptName(list.get(1).toString());
+			empRemarkinfo.setDeptId(deptId);
+			empRemarkinfo.setJobName(list.get(2).toString());
+			empRemarkinfo.setEmpName(list.get(3).toString());
+			empRemarkinfo.setCertificateNumb(list.get(4).toString());
+			if (StringUtils.isNotBlank(list.get(5).toString())) {
+				empRemarkinfo.setRemarkDate(DateUtil.parseDateTime(list.get(5).toString()));
+			}
+			empRemarkinfo.setRemarkContent(list.get(6).toString());
+			this.save(empRemarkinfo);
+    	}
+    }
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpResignServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpResignServiceImpl.java
index c50839a..687f61e 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpResignServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpResignServiceImpl.java
@@ -5,6 +5,7 @@
 import cc.mrbird.febs.server.hr.entity.EmpResign;
 import cc.mrbird.febs.server.hr.mapper.EmpResignMapper;
 import cc.mrbird.febs.server.hr.service.IEmpResignService;
+import cn.hutool.core.date.DateUtil;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
@@ -16,8 +17,11 @@
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.common.core.entity.system.Dept;
+import cc.mrbird.febs.common.core.utils.CastUtil;
 import cc.mrbird.febs.common.core.utils.FebsUtil;
 import cc.mrbird.febs.common.core.utils.SequenceUtil;
+import cc.mrbird.febs.common.redis.service.RedisService;
 
 import java.util.*;
 
@@ -35,6 +39,7 @@
 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
 class EmpResignServiceImpl extends ServiceImpl<EmpResignMapper, EmpResign> implements IEmpResignService {
 
+	private final RedisService redisService;
     private final EmpResignMapper empResignMapper;
     private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
             .map(u -> u.getUserId().toString())
@@ -125,4 +130,29 @@
         List<String> list = new ArrayList<>(Arrays.asList(str));
         return empResignMapper.momentToNormal(list, operatorId)>0;
     }
+
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	public void importEmpResign(List<List<Object>> listObject) {
+		for (List<Object> list : listObject) {
+			EmpResign resign = new EmpResign();
+			resign.setResignId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+			resign.setEmpNumb(list.get(0).toString());
+			List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+			Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get()
+					.getDeptId();
+			resign.setDeptName(list.get(1).toString());
+			resign.setDeptId(deptId);
+			resign.setJobName(list.get(2).toString());
+			resign.setEmpName(list.get(3).toString());
+			resign.setCertificateNumb(list.get(4).toString());
+			if (StringUtils.isNotBlank(list.get(5).toString())) {
+				resign.setApplayDate(DateUtil.parseDate(list.get(5).toString()));
+			}
+			resign.setReason(list.get(6).toString());
+			resign.setReporter(list.get(7).toString());
+			resign.setRemark(list.get(8).toString());
+			this.save(resign);
+		}
+	}
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpUnemploymentServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpUnemploymentServiceImpl.java
index 6cf699e..1b2cbdf 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpUnemploymentServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpUnemploymentServiceImpl.java
@@ -18,11 +18,15 @@
 
 import cc.mrbird.febs.common.core.constant.ModuleCode;
 import cc.mrbird.febs.common.core.entity.QueryRequest;
+import cc.mrbird.febs.common.core.entity.system.Dept;
+import cc.mrbird.febs.common.core.utils.CastUtil;
 import cc.mrbird.febs.common.core.utils.FebsUtil;
 import cc.mrbird.febs.common.core.utils.SequenceUtil;
+import cc.mrbird.febs.common.redis.service.RedisService;
 import cc.mrbird.febs.server.hr.entity.EmpUnemployment;
 import cc.mrbird.febs.server.hr.mapper.EmpUnemploymentMapper;
 import cc.mrbird.febs.server.hr.service.IEmpUnemploymentService;
+import cn.hutool.core.date.DateUtil;
 import lombok.RequiredArgsConstructor;
 
 /**
@@ -39,6 +43,7 @@
 @Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
 class EmpUnemploymentServiceImpl extends ServiceImpl<EmpUnemploymentMapper, EmpUnemployment> implements IEmpUnemploymentService {
 
+	private final RedisService redisService;
     private final EmpUnemploymentMapper empUnemploymentMapper;
     private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
             .map(u -> u.getUserId().toString())
@@ -129,4 +134,31 @@
         List<String> list = new ArrayList<>(Arrays.asList(str));
         return empUnemploymentMapper.momentToNormal(list, operatorId)>0;
     }
+
+
+    @Override
+	@Transactional(rollbackFor = Exception.class)
+    public void importEmpUnemployment(List<List<Object>> listObject) {
+    	for (List<Object> list : listObject) {
+    		EmpUnemployment empUnemployment=new EmpUnemployment();
+    		empUnemployment.setUnemploymentId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+    		empUnemployment.setEmpNumb(list.get(0).toString());
+			List<Dept> depts = CastUtil.castList(redisService.get("depts"), Dept.class);
+			Long deptId = depts.stream().filter(d -> d.getDeptName().equals(list.get(1).toString())).findFirst().get()
+					.getDeptId();
+			empUnemployment.setDeptName(list.get(1).toString());
+			empUnemployment.setDeptId(deptId);
+			empUnemployment.setJobName(list.get(2).toString());
+			empUnemployment.setEmpName(list.get(3).toString());
+			empUnemployment.setCertificateNumb(list.get(4).toString());
+			if (StringUtils.isNotBlank(list.get(5).toString())) {
+				empUnemployment.setApplayDate(DateUtil.parseDate(list.get(5).toString()));
+			}
+			empUnemployment.setApplayReason(list.get(6).toString());
+			empUnemployment.setReporter(list.get(7).toString());
+			empUnemployment.setAuditor(list.get(8).toString());
+			empUnemployment.setRemark(list.get(9).toString());
+			this.save(empUnemployment);
+    	}
+	}
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpWorkExperienceServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpWorkExperienceServiceImpl.java
index 358b468..3b85814 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpWorkExperienceServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpWorkExperienceServiceImpl.java
@@ -7,6 +7,7 @@
 import cc.mrbird.febs.server.hr.entity.EmpWorkExperience;
 import cc.mrbird.febs.server.hr.mapper.EmpWorkExperienceMapper;
 import cc.mrbird.febs.server.hr.service.IEmpWorkExperienceService;
+import cn.hutool.core.date.DateUtil;
 
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
@@ -125,4 +126,26 @@
         List<String> list = new ArrayList<>(Arrays.asList(str));
         return empWorkexperienceMapper.momentToNormal(list, operatorId)>0;
     }
+
+    @Override
+	@Transactional(rollbackFor = Exception.class)
+	public void importEmpWorkExperience(List<List<Object>> listObject) {
+		for (List<Object> list : listObject) {
+			EmpWorkExperience workExperience = new EmpWorkExperience();
+			workExperience.setWorkExperienceId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+			workExperience.setEmpNumb(list.get(0).toString());
+			workExperience.setEmpName(list.get(1).toString());
+			workExperience.setCertificateNumb(list.get(2).toString());
+			workExperience.setSex("男".equals(list.get(3).toString()) ? "1" : "2");
+			workExperience.setWorkUnit(list.get(4).toString());
+			if (StringUtils.isNotBlank(list.get(5).toString())) {
+				workExperience.setBeginDate(DateUtil.parseDate(list.get(5).toString()));
+			}
+			if (StringUtils.isNotBlank(list.get(6).toString())) {
+				workExperience.setBeginDate(DateUtil.parseDate(list.get(6).toString()));
+			}
+			workExperience.setJobContent(list.get(7).toString());
+			this.save(workExperience);
+		}
+	}
 }
\ No newline at end of file
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java
index f73ff68..de94684 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/util/PoiImportExcel.java
@@ -79,8 +79,8 @@
 		// 遍历当前sheet中的所有行
 		/*
 		 * int countCellNum = 0; for (int j = sheet.getFirstRowNum(); j <=
-		 * sheet.getLastRowNum(); j++) { row = sheet.getRow(j); if (row == null
-		 * || row.getFirstCellNum() == j) { if (row != null) countCellNum =
+		 * sheet.getLastRowNum(); j++) { row = sheet.getRow(j); if (row == null ||
+		 * row.getFirstCellNum() == j) { if (row != null) countCellNum =
 		 * row.getLastCellNum(); continue; }
 		 * 
 		 * // 遍历所有的列 List<Object> li = new ArrayList<Object>(); for (int y = row
@@ -95,6 +95,66 @@
 	}
 
 	/**
+	 * 描述:获取IO流中的数据,组装成List<List<List<Object>>>对象,多个sheet
+	 * 
+	 * @param in,fileName
+	 * @return
+	 * @throws IOException
+	 */
+	public static List<List<List<Object>>> getMulitListByExcel(InputStream in, String fileName) throws Exception {
+		List<List<Object>> list = null;
+
+		// 创建Excel工作薄
+		Workbook work = getWorkbook(in, fileName);
+		if (null == work) {
+			throw new Exception("创建Excel工作薄为空!");
+		}
+		List<List<List<Object>>> returnList = new ArrayList<List<List<Object>>>();
+		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();
+			}
+
+			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) {
+					// 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<>());
+				}
+			}
+
+			work.close();
+			returnList.add(list);
+		}
+		
+		return returnList;
+	}
+
+	/**
 	 * 描述:根据文件后缀,自适应上传文件的版本
 	 * 
 	 * @param inStr,fileName

--
Gitblit v1.8.0