From 8d59289c2232f73ca663a1a45b74ab21386780ca Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期五, 19 二月 2021 17:27:14 +0800
Subject: [PATCH] Merge branch 'lybDevelop'

---
 febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/EmpBaseInfoServiceImpl.java |  329 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 327 insertions(+), 2 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 567e977..669faf1 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
@@ -8,6 +8,7 @@
 import cc.mrbird.febs.server.hr.service.IEmpJobChangeService;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
+import cc.mrbird.febs.server.hr.entity.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
@@ -52,6 +53,7 @@
     private final EmpBaseInfoMapper empBaseInfoMapper;
     private final IEmpDimissionLogService dimissionLogService;
     private final IEmpJobChangeService jobChangeService;
+
     private final String operatorId = Optional.ofNullable(FebsUtil.getCurrentUser())
             .map(u -> u.getUserId().toString())
             .orElse("1");
@@ -251,10 +253,9 @@
     @Override
     public EmpBaseInfo getEmpBaseInfo(EmpBaseInfo empBaseInfo) {
         QueryWrapper<EmpBaseInfo> queryWrapper = new QueryWrapper<>();
-        if(StringUtils.isEmpty(empBaseInfo.getCertificateNumb())){
+        if(StringUtils.isNotEmpty(empBaseInfo.getCertificateNumb())){
             queryWrapper.lambda().eq(EmpBaseInfo::getCertificateNumb, empBaseInfo.getCertificateNumb());
         }
-
         return this.getOne(queryWrapper);
     }
     /**
@@ -335,4 +336,328 @@
         mapParams.put("operatorId", operatorId);
         return empBaseInfoMapper.changeEmpJob(list,mapParams)>0;
     }
+
+    /**
+     * 导入员工
+     * @param listObject
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+	public void importEmpBaseInfo(List<List<Object>> listObject) {
+		for (List<Object> list : listObject) {
+			EmpBaseInfo empBaseInfo = new EmpBaseInfo();
+			empBaseInfo.setEmpId(SequenceUtil.generateId(0L, ModuleCode.HR_EMPLOYEE));
+			empBaseInfo.setEmpNumb(list.get(0).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.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());
+			if (StringUtils.isNotBlank(list.get(10).toString())) {
+				empBaseInfo.setEntryDate(DateUtil.parseDate(list.get(10).toString()));
+			}
+			empBaseInfo.setEmpStatus("0");
+			this.save(empBaseInfo);
+		}
+
+	}
+
+
+    @Override
+    public IPage<EmpBaseInfo> baseInfoList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name) {
+        Page<EmpBaseInfo> page = new Page<EmpBaseInfo>(new Long(pageNum), new Long(pageSize));
+        IPage<EmpBaseInfo> iPage =null;
+        if("1".equals(number)){ //在职员工
+            iPage = this.empBaseInfoMapper.zzbaseInfoList(page, index,btime,etime,name);
+        }else if("2".equals(number)){ //新进员工
+            iPage = this.empBaseInfoMapper.xjbaseInfoList(page, index,btime,etime,name);
+        }else if("3".equals(number)){ //正式员工
+            iPage = this.empBaseInfoMapper.zsbaseInfoList(page, index,btime,etime,name);
+        }else if("4".equals(number)){ //临时员工
+            iPage = this.empBaseInfoMapper.lsbaseInfoList(page, index,btime,etime,name);
+        }else if("5".equals(number)){ //超龄员工
+            iPage = this.empBaseInfoMapper.baseInfoList(page, index,btime,etime,name);
+        }else if("6".equals(number)){ //离职员工总数
+            iPage = this.empBaseInfoMapper.lzbaseInfoList(page, index,btime,etime,name);
+        }else if("7".equals(number)){ //辞职申请人数
+            iPage = this.empBaseInfoMapper.cjbaseInfoList(page, index,btime,etime,name);
+        }else if("8".equals(number) || "9".equals(number) || "10".equals(number)){ //正常离职人数 ,自动离职人数 ,公司辞退人数
+            iPage = this.empBaseInfoMapper.zcbaseInfoList(page, index,btime,etime,name,number);
+        }else if("11".equals(number)){ //身份证到期
+            iPage = this.empBaseInfoMapper.sfzbaseInfoList(page, index,btime,etime,name);
+        }
+        //设置部门
+        List<EmpBaseInfo> list = setDeptName(iPage.getRecords());
+        List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class);
+        list.forEach(p -> {
+            p.setSexName("1".equals(p.getSex()) ? "男" : "女");
+            if(StringUtils.isNotBlank(p.getEmpType())){
+                p.setEmpTypeName("1".equals(p.getEmpType()) ? "正式工" : "临时工");
+            }
+            if(StringUtils.isNotBlank(p.getDimissionType())){
+                if("1".equals(p.getDimissionType())){
+                    p.setDimissionTypeName("正常离职");
+                }else if("2".equals(p.getDimissionType())){
+                    p.setDimissionTypeName("自动离职");
+                }else if("3".equals(p.getDimissionType())){
+                    p.setDimissionTypeName("公司劝退");
+                }else if("4".equals(p.getDimissionType())){
+                    p.setDimissionTypeName("公司辞退");
+                }else if("5".equals(p.getDimissionType())){
+                    p.setDimissionTypeName("试用期内");
+                }
+            }
+            p.setInsuranceTypeName("1".equals(p.getInsuranceType()) ? "(深户)五险一档" : "(非深户)五险一档");
+            p.setArchivesStatusName("0".equals(p.getArchivesStatus()) ? "未移交" : "已移交");
+            // 设置民族
+            p.setNationName(dicItems.stream()
+                    .filter(k -> DicCode.NATION.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getNation()))
+                    .findFirst()
+                    .map(DicItem::getDicItemName)
+                    .orElse("汉族"));
+            // 设置政治面貌
+            p.setPoliticsName(dicItems.stream()
+                    .filter(k -> DicCode.PLITICAL.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getPolitics()))
+                    .findFirst()
+                    .map(DicItem::getDicItemName)
+                    .orElse("群众"));
+            // 设置婚姻状况
+            p.setMarriageName(dicItems.stream()
+                    .filter(k -> DicCode.MARRIAGE.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getMarriage()))
+                    .findFirst()
+                    .map(DicItem::getDicItemName)
+                    .orElse("未婚"));
+            // 设置学历
+            p.setEducationName(dicItems.stream()
+                    .filter(k -> DicCode.EDUCATION.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getEducation()))
+                    .findFirst()
+                    .map(DicItem::getDicItemName)
+                    .orElse("无学历"));
+            // 设置籍贯
+            p.setNativePlaceName(dicItems.stream()
+                    .filter(k -> DicCode.NATIVEPLACE.equals(k.getDicCode()) && k.getDicItemCode().equals(p.getNativePlace()))
+                    .findFirst()
+                    .map(DicItem::getDicItemName)
+                    .orElse("未知"));
+        });
+        iPage.setRecords(list);
+        return iPage;
+    }
+
+    @Override
+    public IPage<EmpBaseInfo> baseInfoHeList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name) {
+        Page<EmpBaseInfo> page = new Page<EmpBaseInfo>(new Long(pageNum), new Long(pageSize));
+        IPage<EmpBaseInfo> iPage =null;
+        if("11".equals(number) || "13".equals(number) || "14".equals(number)){ //有效合同   ,新签合同,续签合同
+            iPage = this.empBaseInfoMapper.yxbaseInfoList(page, index,btime,etime,name,number);
+        }else if("12".equals(number)){ //到期合同
+            iPage = this.empBaseInfoMapper.dqbaseInfoList(page, index,btime,etime,name);
+        }else if("15".equals(number)){ //解除合同
+            iPage = this.empBaseInfoMapper.jcseInfoList(page, index,btime,etime,name);
+        }
+        //设置部门
+        List<EmpBaseInfo> list = setDeptName(iPage.getRecords());
+        list.forEach(p -> {
+             if("1".equals(p.getContractStatus())){
+                 p.setContractStatus("新签");
+             }else if("2".equals(p.getContractStatus())){
+                 p.setContractStatus("续签");
+             }else if("3".equals(p.getContractStatus())){
+                 p.setContractStatus("解除");
+             }else if("4".equals(p.getContractStatus())){
+                 p.setContractStatus("到期");
+             }
+        });
+        iPage.setRecords(list);
+        return iPage;
+    }
+
+    @Override
+    public IPage<EmpDimissionAttend> empBaseInfoCqList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name) {
+        Page<EmpDimissionAttend> page = new Page<EmpDimissionAttend>(new Long(pageNum), new Long(pageSize));
+        IPage<EmpDimissionAttend> iPage =null;
+        //q出勤人数   员工加班   员工旷工
+        iPage = this.empBaseInfoMapper.empBaseInfoCqList(page, index,btime,etime,name,number);
+
+        return iPage;
+    }
+
+    @Override
+    public IPage<EmpLeaveInfo> empBaseInfoQjList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name) {
+        Page<EmpLeaveInfo> page = new Page<EmpLeaveInfo>(new Long(pageNum), new Long(pageSize));
+        IPage<EmpLeaveInfo> iPage =null;
+        //员工请假
+        iPage = this.empBaseInfoMapper.empBaseInfoQjList(page, index,btime,etime,name,number);
+        return iPage;
+    }
+
+    @Override
+    public IPage<EmpPhysicalExam> empBaseInfoTjList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name) {
+        Page<EmpPhysicalExam> page = new Page<EmpPhysicalExam>(new Long(pageNum), new Long(pageSize));
+        IPage<EmpPhysicalExam> iPage =null;
+        //员工体检
+        iPage = this.empBaseInfoMapper.empBaseInfoTjList(page, index,btime,etime,name,number);
+        return iPage;
+    }
+
+    @Override
+    public IPage<EmpLaborTrouble> empBaseInfoLzList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name) {
+        Page<EmpLaborTrouble> page = new Page<EmpLaborTrouble>(new Long(pageNum), new Long(pageSize));
+        IPage<EmpLaborTrouble> iPage =null;
+        //劳资案件
+        iPage = this.empBaseInfoMapper.empBaseInfoLzList(page, index,btime,etime,name,number);
+        return iPage;
+    }
+
+    @Override
+    public IPage<?> empBaseInfoTgList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name) {
+        return null;
+    }
+
+    @Override
+    public IPage<EmpOccupational> empBaseInfoGsList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name) {
+        Page<EmpOccupational> page = new Page<EmpOccupational>(new Long(pageNum), new Long(pageSize));
+        IPage<EmpOccupational> iPage =null;
+        //工伤案件
+        iPage = this.empBaseInfoMapper.empBaseInfoGsList(page, index,btime,etime,name,number);
+        return iPage;
+    }
+
+    @Override
+    public IPage<EmpAccidentCases> empBaseInfoYwList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name) {
+        Page<EmpAccidentCases> page = new Page<EmpAccidentCases>(new Long(pageNum), new Long(pageSize));
+        IPage<EmpAccidentCases> iPage =null;
+        //意外险案件
+        iPage = this.empBaseInfoMapper.empBaseInfoYwList(page, index,btime,etime,name,number);
+        return iPage;
+    }
+
+    @Override
+    public IPage<EmpInsurance> empBaseInfoSbList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name) {
+        Page<EmpInsurance> page = new Page<EmpInsurance>(new Long(pageNum), new Long(pageSize));
+        IPage<EmpInsurance> iPage =null;
+        //社保
+        iPage = this.empBaseInfoMapper.empBaseInfoSbList(page, index,btime,etime,name,number);
+        return iPage;
+    }
+
+    @Override
+    public IPage<EmpUnemployment> empBaseInfoSyjList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name) {
+        Page<EmpUnemployment> page = new Page<EmpUnemployment>(new Long(pageNum), new Long(pageSize));
+        IPage<EmpUnemployment> iPage =null;
+        //失业金
+        iPage = this.empBaseInfoMapper.empBaseInfoSyjList(page, index,btime,etime,name,number);
+        return iPage;
+    }
+
+    @Override
+    public IPage<EmpBadRecord> empBaseInfoBlList(String index, String btime, String etime, String pageSize, String pageNum, String number, String name) {
+        Page<EmpBadRecord> page = new Page<EmpBadRecord>(new Long(pageNum), new Long(pageSize));
+        IPage<EmpBadRecord> iPage =null;
+        //不良记录
+        iPage = this.empBaseInfoMapper.empBaseInfoBlList(page, index,btime,etime,name,number);
+        return iPage;
+    }
+
+    @Override
+    public Map<String, Object> countBaseInfoList(String index, String btime, String etime) {
+        //在职员工,正式员工,临时员工,正常离职,自动离职,公司辞退        判断条件离职申请日期
+        Map<String, Object> stringObjectMap = this.baseMapper.countBaseInfoList(index,btime,etime);
+        //新进员工      判断条件入职日期
+        Integer xjygObjectMap =this.baseMapper.countXjygBaseInfoList(index,btime,etime);
+        if(xjygObjectMap!=null){
+            stringObjectMap.put("xjyg",xjygObjectMap);
+        }
+        //离职员工总数,解除合同        判断条件离职申请日期
+        Map<String, Object> lzygObjectMap =this.baseMapper.countLzygBaseInfoList(index,btime,etime);
+        if(lzygObjectMap!=null){
+            stringObjectMap.put("lzyg",lzygObjectMap.get("lzyg").toString());
+            stringObjectMap.put("jcht",lzygObjectMap.get("jcht").toString());
+        }
+        //辞职申请员工总数     判断条件辞职申请日期
+        Integer czygObjectMap =this.baseMapper.countCzygBaseInfoList(index,btime,etime);
+        if(czygObjectMap!=null){
+            stringObjectMap.put("czyg",czygObjectMap);
+        }
+        //有效合同,新签合同,续签合同    判断条件合同签订日期
+        Map<String, Object> yxhtObjectMap =this.baseMapper.countYxhtBaseInfoList(index,btime,etime);
+        if(yxhtObjectMap!=null){
+            stringObjectMap.put("yxht",yxhtObjectMap.get("yxht").toString());
+            stringObjectMap.put("xinqht",yxhtObjectMap.get("xinqht").toString());
+            stringObjectMap.put("xqht",yxhtObjectMap.get("xqht").toString());
+        }
+        //到期合同     判断条件合同结束时间
+        Integer dqhtObjectMap =this.baseMapper.countDqhtBaseInfoList(index,btime,etime);
+        if(dqhtObjectMap!=null){
+            stringObjectMap.put("dqht",dqhtObjectMap);
+        }
+
+        //出勤人数,员工加班,员工旷工    判断条件考勤月份    本年,本月
+        Map<String, Object> cqrsObjectMap =this.baseMapper.countCqrsBaseInfoList(index,btime,etime);
+        if(cqrsObjectMap!=null){
+            stringObjectMap.put("cqrs",cqrsObjectMap.get("cqrs").toString());
+            stringObjectMap.put("ygjb",cqrsObjectMap.get("ygjb").toString());
+            stringObjectMap.put("ygkg",cqrsObjectMap.get("ygkg").toString());
+        }
+
+        //员工请假     判断条件到岗时间
+        Integer ygqjObjectMap =this.baseMapper.countYgqjBaseInfoList(index,btime,etime);
+        if(ygqjObjectMap!=null){
+            stringObjectMap.put("ygqj",ygqjObjectMap);
+        }
+
+        //劳资案件     判断条件仲裁日期
+        Integer lzajObjectMap =this.baseMapper.countLzajBaseInfoList(index,btime,etime);
+        if(lzajObjectMap!=null){
+            stringObjectMap.put("lzaj",lzajObjectMap);
+        }
+        //工伤案件,意外险案件     判断条件受伤日期
+        Map<String, Object> gsajObjectMap =this.baseMapper.countGsajBaseInfoList(index,btime,etime);
+        if(gsajObjectMap!=null){
+            stringObjectMap.put("gsaj",gsajObjectMap.get("gsaj").toString());
+            stringObjectMap.put("ywxaj",gsajObjectMap.get("ywxaj").toString());
+        }
+        //社保申请     判断条件社保申请日期
+        Integer sbsqObjectMap =this.baseMapper.countSbsqBaseInfoList(index,btime,etime);
+        if(sbsqObjectMap!=null){
+            stringObjectMap.put("sbsq",sbsqObjectMap);
+        }
+        //失业金领取     判断条件失业金申请日期
+        Integer syjObjectMap =this.baseMapper.countSyjBaseInfoList(index,btime,etime);
+        if(syjObjectMap!=null){
+            stringObjectMap.put("syj",syjObjectMap);
+        }
+        //员工体检     判断条件体检日期
+        Integer ygtjObjectMap =this.baseMapper.countYgtjBaseInfoList(index,btime,etime);
+        if(ygtjObjectMap!=null){
+            stringObjectMap.put("ygtj",ygtjObjectMap);
+        }
+        //身份证到期     判断条件身份证有效时间
+        Integer sfzObjectMap =this.baseMapper.countSfzBaseInfoList(index,btime,etime);
+        if(sfzObjectMap!=null){
+            stringObjectMap.put("sfz",sfzObjectMap);
+        }
+
+        //员工调岗     判断条件身份证有效时间
+        Integer ygtgObjectMap =this.baseMapper.countYgtgBaseInfoList(index,btime,etime);
+        if(ygtgObjectMap!=null){
+            stringObjectMap.put("ygtg",ygtgObjectMap);
+        }
+
+        //不良记录     判断条件身份证有效时间
+        Integer bljlObjectMap =this.baseMapper.countBljlBaseInfoList(index,btime,etime);
+        if(bljlObjectMap!=null){
+            stringObjectMap.put("bljl",bljlObjectMap);
+        }
+        return stringObjectMap;
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0