From 179ace046094b9d84a8596ea78c9702390d5a56b Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期四, 25 三月 2021 15:34:44 +0800
Subject: [PATCH] fix(bug修复): excel导出日期处理
---
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java | 43 ++++++++++++++++++++++++++++++++++++++-----
1 files changed, 38 insertions(+), 5 deletions(-)
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 42ea780..c32a5db 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
@@ -24,6 +24,7 @@
import cc.mrbird.febs.server.hr.util.PoiExportExcel;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.IdcardUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -92,7 +93,7 @@
@Override
public IPage<EmpBaseInfo> findZsEmpBaseInfos(QueryRequest request, EmpBaseInfo empBaseInfo) {
Page<EmpBaseInfo> page = new Page<>(request.getPageNum(), request.getPageSize());
- SortUtil.handlePageSort(request, page, "createTime", FebsConstant.ORDER_DESC, true);
+ SortUtil.handlePageSort(request, page, "entryDate", FebsConstant.ORDER_ASC, true);
IPage<EmpBaseInfo> iPage = empBaseInfoMapper.selectPageVo(page, createQueryWrapper(empBaseInfo));
//设置部门
// List<EmpBaseInfo> list = setDeptName(iPage.getRecords());
@@ -173,8 +174,11 @@
public void createEmpBaseInfo(EmpBaseInfo empBaseInfo) {
String operatorId = Optional.of(FebsUtil.getUserId()).orElse("1");
EmpBaseInfo dbInfo = this.getEmpBaseInfo(empBaseInfo);
- if (dbInfo == null) {
- empBaseInfo.setEmpId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+ Long empId = SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE);
+ boolean saveDimissionLog = false;
+ if (dbInfo == null) {
+ empBaseInfo.setEmpId(empId);
+ saveDimissionLog = true;
} else {
empBaseInfo.setEmpId(dbInfo.getEmpId());
}
@@ -188,13 +192,26 @@
empBaseInfo.setCreator(operatorId);
empBaseInfo.setModifier(operatorId);
this.saveOrUpdate(empBaseInfo);
+
+ if(saveDimissionLog) {
+ EmpDimissionLog dimissionLog = new EmpDimissionLog();
+ dimissionLog.setCloseId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+ dimissionLog.setEmpId(empId);
+ dimissionLog.setEntryDate(empBaseInfo.getEntryDate());
+ dimissionLog.setDimissionType("20");
+ dimissionLog.setRemark(empBaseInfo.getRemark());
+ dimissionLog.setCreator(operatorId);
+ dimissionLog.setModifier(operatorId);
+
+ dimissionLogService.save(dimissionLog);
+ }
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateEmpBaseInfo(EmpBaseInfo empBaseInfo) {
String operatorId = Optional.of(FebsUtil.getUserId()).orElse("1");
- if (StrUtil.isNotBlank(empBaseInfo.getImagePath())) {
+ if (StrUtil.isNotBlank(empBaseInfo.getImagePath())&&empBaseInfo.getImagePath().indexOf(",")>0) {
String path = properties.getEmpBaseInfoPath() + empBaseInfo.getEmpId() + ".png";
if (MyUtil.generateImage(empBaseInfo.getImagePath(), path)) {
empBaseInfo.setImagePath(empBaseInfo.getEmpId() + ".png");
@@ -480,7 +497,22 @@
empBaseInfo.setJobId(position.getPositionId());
empBaseInfo.setJobName(list.get(3).toString());
empBaseInfo.setEmpName(list.get(4).toString());
- empBaseInfo.setCertificateNumb(list.get(5).toString());
+ try {
+ if(StrUtil.isNotBlank(list.get(5).toString())){
+ empBaseInfo.setCertificateNumb(list.get(5).toString());
+ if (IdcardUtil.isValidCard(list.get(5).toString())){
+ empBaseInfo.setAge(IdcardUtil.getAgeByIdCard(list.get(5).toString()));
+ empBaseInfo.setBirthdate(IdcardUtil.getBirthDate(list.get(5).toString()));
+ }
+ }
+
+ }catch (Exception e){
+ log.error("导入人员身份证异常:{}",e);
+ returnList.add(StrUtil.format("导入员工基本信息异常: 出现位置第{}行, 原因:{}检查身份证是否正确", listObject.indexOf(list) + 1, list.get(5).toString()));
+ continue;
+ }
+
+
empBaseInfo.setSex("男".equals(list.get(6).toString()) ? "1" : "2");
//民族
@@ -1117,6 +1149,7 @@
public EmpBaseInfo addInEmpBaseInfo(EmpBaseInfo empBaseInfo) {
EmpBaseInfo dbEmpInfo = this.getEmpBaseInfo(empBaseInfo);
if (dbEmpInfo == null) {
+ empBaseInfo.setDelFlag(0);
this.createEmpBaseInfo(empBaseInfo);
return null;
} else {
--
Gitblit v1.8.0