xx
孔祥富
2021-03-09 17e79b16f252d46deffb9e0223a45cb14f930448
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/ExportPdfServiceImpl.java
@@ -4,6 +4,7 @@
import cc.mrbird.febs.common.core.entity.system.DicItem;
import cc.mrbird.febs.server.hr.entity.*;
import cc.mrbird.febs.server.hr.feign.IRemoteDicItemService;
import cc.mrbird.febs.server.hr.mapper.EmpAccessoryMapper;
import cc.mrbird.febs.server.hr.po.AvailableResult;
import cc.mrbird.febs.server.hr.po.User;
import cc.mrbird.febs.server.hr.service.*;
@@ -60,6 +61,8 @@
   private    IEmpAccidentCasesService iEmpAccidentCasesService;
   @Autowired
   private EmpAccessoryMapper empAccessoryMapper;
   @Autowired
         private IRemoteDicItemService iRemoteDicItemService;
   Logger logger = LoggerFactory.getLogger(ExportPdfServiceImpl.class);
   @Override
@@ -67,114 +70,121 @@
      try {
         //体检类型
         Map<String,String> physicalExamType = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("PHYSICALEXAMTYPE")) {
         List<DicItem> list=empAccessoryMapper.getDictType("PHYSICALEXAMTYPE");
         for (DicItem m:    list) {
            physicalExamType.put(m.getDicItemCode(),m.getDicItemName());
         }
         //心电图
         Map<String,String> ecg = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("ECG")) {
         for (DicItem m:    empAccessoryMapper.getDictType("ECG")) {
            ecg.put(m.getDicItemCode(),m.getDicItemName());
         }
         //合同状态
         Map<String,String> contractstatus = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("CONTRACTSTATUS")) {
         for (DicItem m:  empAccessoryMapper.getDictType("CONTRACTSTATUS")) {
            contractstatus.put(m.getDicItemCode(),m.getDicItemName());
         }
         //调岗类型
         Map<String,String> changeType = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("changeType")) {
         for (DicItem m:  empAccessoryMapper.getDictType("changeType")) {
            changeType.put(m.getDicItemCode(),m.getDicItemName());
         }
         //请假类型
         Map<String,String> leavetype = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("LEAVETYPE")) {
         for (DicItem m:   empAccessoryMapper.getDictType("LEAVETYPE")) {
            leavetype.put(m.getDicItemCode(),m.getDicItemName());
         }
         //入离职类型
         Map<String,String> lztype = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("LZTYPE")) {
         for (DicItem m:   empAccessoryMapper.getDictType("LZTYPE")) {
            lztype.put(m.getDicItemCode(),m.getDicItemName());
         }
         //社保档位
         Map<String,String> insuranceGaers = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("insuranceGaers")) {
         for (DicItem m:   empAccessoryMapper.getDictType("insuranceGaers")) {
            insuranceGaers.put(m.getDicItemCode(),m.getDicItemName());
         }
         //社保是否已经报告
         Map<String,String> reportStatus = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("reportStatus")) {
         for (DicItem m:  empAccessoryMapper.getDictType("reportStatus")) {
            reportStatus.put(m.getDicItemCode(),m.getDicItemName());
         }
         //社保状态
         Map<String,String> applayStatus = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("applayStatus")) {
         for (DicItem m:  empAccessoryMapper.getDictType("applayStatus")) {
            applayStatus.put(m.getDicItemCode(),m.getDicItemName());
         }
         //是否住院
         Map<String,String> hospitalizatioFlag = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("hospitalizatioFlag")) {
         for (DicItem m:  empAccessoryMapper.getDictType("hospitalizatioFlag")) {
            hospitalizatioFlag.put(m.getDicItemCode(),m.getDicItemName());
         }
         //仲裁类型
         Map<String,String> zctype = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("ZCTYPE")) {
         for (DicItem m:  empAccessoryMapper.getDictType("ZCTYPE")) {
            zctype.put(m.getDicItemCode(),m.getDicItemName());
         }
         //结案状态
         Map<String,String> settleStatus = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("settleStatus")) {
         for (DicItem m:   empAccessoryMapper.getDictType("settleStatus")) {
            settleStatus.put(m.getDicItemCode(),m.getDicItemName());
         }
         //性别
         Map<String,String> sex = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("sex")) {
         for (DicItem m:  empAccessoryMapper.getDictType("sex")) {
            sex.put(m.getDicItemCode(),m.getDicItemName());
         }
         //员工类别
         Map<String,String> empType = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("EMPTYPE")) {
         for (DicItem m:  empAccessoryMapper.getDictType("EMPTYPE")) {
            empType.put(m.getDicItemCode(),m.getDicItemName());
         }
         //民族
         Map<String,String> NATION = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("NATION")) {
         for (DicItem m:  empAccessoryMapper.getDictType("NATION")) {
            NATION.put(m.getDicItemCode(),m.getDicItemName());
         }
         //婚姻状态
         Map<String,String> MARRIAGE = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("MARRIAGE")) {
         for (DicItem m:  empAccessoryMapper.getDictType("MARRIAGE")) {
            MARRIAGE.put(m.getDicItemCode(),m.getDicItemName());
         }
         //政治面貌
         Map<String,String> PLITICAL = new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("PLITICAL")) {
         for (DicItem m:  empAccessoryMapper.getDictType("PLITICAL")) {
            PLITICAL.put(m.getDicItemCode(),m.getDicItemName());
         }
         //最高学历
         Map<String,String> EDUCATION= new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("EDUCATION")) {
         for (DicItem m:  empAccessoryMapper.getDictType("EDUCATION") ) {
            EDUCATION.put(m.getDicItemCode(),m.getDicItemName());
         }
         //籍贯
         Map<String,String> NATIVEPLACE= new HashMap<>();
         /*for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("NATIVEPLACE")) {
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("NATIVEPLACE")) {
            NATIVEPLACE.put(m.getDicItemCode(),m.getDicItemName());
         }*/
         }
         //保险类型
         Map<String,String> INSURANCETYPE= new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("INSURANCETYPE")) {
         for (DicItem m:   empAccessoryMapper.getDictType("INSURANCETYPE")) {
            INSURANCETYPE.put(m.getDicItemCode(),m.getDicItemName());
         }
         //员工手册
         Map<String,String> handbookStatus= new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("handbookStatus")) {
         for (DicItem m:  empAccessoryMapper.getDictType("handbookStatus") ) {
            handbookStatus.put(m.getDicItemCode(),m.getDicItemName());
         }
         //相关证件
         Map<String,String> certificateList= new HashMap<>();
         for (DicItem m:    (List<DicItem>)iRemoteDicItemService.dictType("certificateList")) {
         for (DicItem m:  empAccessoryMapper.getDictType("certificateList")) {
            certificateList.put(m.getDicItemCode(),m.getDicItemName());
         }
         //相关证件
         Map<String,String> archivesStatus= new HashMap<>();
         for (DicItem m:  empAccessoryMapper.getDictType("archivesStatus")) {
            archivesStatus.put(m.getDicItemCode(),m.getDicItemName());
         }
         logger.info(">>>>>>>>>>开始导出pdf>>>>>>>>>>");
         //基本信息
            String[] baseinfo = { "档案号", "姓名", "性别", "部门(护卫点)", "岗位", "员工类别", "民族", "年龄", "婚姻状态", "身份证有效期"
@@ -185,10 +195,11 @@
               , "保险类型", "社保电脑号", "招聘介绍人", "入司工龄", "工作证", "家庭成员及关系", "紧急联系电话", "员工手册", "相关证件"
               , "身份证号码"};
         EmpBaseInfo baseInfo=new EmpBaseInfo();
         baseInfo.setEmpNumb(empNum);
         baseInfo.setCertificateNumb(empNum);
         List<EmpBaseInfo> empBaseInfoList = iEmpBaseInfoService.findEmpBaseInfos(queryRequest, baseInfo).getRecords();
         for (EmpBaseInfo empBaseInfo: empBaseInfoList){
            empBaseInfo.setArchivesStatusName(archivesStatus.get(empBaseInfo.getArchivesStatus()==null?"":empBaseInfo.getArchivesStatus()));
            empBaseInfo.setSexName(sex.get(empBaseInfo.getSex()==null?"":empBaseInfo.getSex()));
            empBaseInfo.setEmpTypeName(empType.get(empBaseInfo.getEmpType()==null?"":empBaseInfo.getEmpType()));
            empBaseInfo.setNationName(NATION.get(empBaseInfo.getNation()==null?"":empBaseInfo.getNation()));
@@ -203,14 +214,14 @@
         //工作经历
         String[] workhead = { "开始时间", "结束时间", "工作单位", "主要工作内容"};
         EmpWorkExperience empWorkExperiences=new EmpWorkExperience();
         empWorkExperiences.setEmpNumb(empNum);
         empWorkExperiences.setCertificateNumb(empNum);
         empWorkExperiences.setDelFlag(0);
         
         List<EmpWorkExperience> empWorkExperiences1 = iEmpWorkExperienceService.findEmpWorkExperiences(queryRequest, empWorkExperiences).getRecords();
         //体检信息
         String[] empPhysicalhead = { "体检医院", "体检日期", "体检类型", "血压", "转氨酶", "心电图", "体检结论", "复查记录", "备注"};
         EmpPhysicalExam empPhysicalExam=new EmpPhysicalExam();
         empPhysicalExam.setEmpNumb(empNum);
         empPhysicalExam.setCertificateNumb(empNum);
         
         List<EmpPhysicalExam> records = iEmpPhysicalExamService.findEmpPhysicalExams(queryRequest, empPhysicalExam).getRecords();
         for (EmpPhysicalExam empPhysicalExam1:records){
@@ -219,7 +230,7 @@
         //合同信息
         String[] empContractInfo = { "合同签订日期", "合同结束日期", "合同期限(年)", "合同状态", "合同办理人"};
         EmpContractInfo empContractInfo1=new EmpContractInfo();
         empContractInfo1.setEmpNumb(empNum);
         empContractInfo1.setCertificateNumb(empNum);
         
         List<EmpContractInfo> empContractInfos = iEmpContractInfoService.findEmpContractinfos(queryRequest, empContractInfo1).getRecords();
         for (EmpContractInfo empCon:empContractInfos){
@@ -228,7 +239,7 @@
         //调岗记录
         String[] empJobChange = { "现部门", "现岗位", "姓名", "原部门", "原岗位", "调岗日期", "调岗类型"};
         EmpJobChange empJobChange1=new EmpJobChange();
         empJobChange1.setEmpNumb(empNum);
         empJobChange1.setCertificateNumb(empNum);
         
         List<Map<String, Object>> empJobChangeList = iEmpJobChangeService.findEmpJobChanges(queryRequest, empJobChange1).getRecords();
         for (Map<String, Object> map:empJobChangeList){
@@ -237,7 +248,7 @@
         //请假记录
         String[] leaveInfo = { "开始时间", "结束时间", "请假天数", "请假类型", "到岗时间", "报备人", "备注"};
         EmpLeaveInfo empLeaveInfo=new EmpLeaveInfo();
         empLeaveInfo.setEmpNumb(empNum);
         empLeaveInfo.setCertificateNumb(empNum);
         
         List<EmpLeaveInfo> empLeaveInfos = iEmpLeaveInfoService.findEmpLeaveInfos(queryRequest, empLeaveInfo).getRecords();
         for (EmpLeaveInfo leaveInfo1:empLeaveInfos){
@@ -246,19 +257,19 @@
         //辞职申请
         String[] resign = { "辞职申请日期", "辞职事由", "汇报人", "备注"};
         EmpResign empResign=new EmpResign();
         empResign.setEmpNumb(empNum);
         empResign.setCertificateNumb(empNum);
         
         List<EmpResign> empResigns = iEmpResignService.findEmpResigns(queryRequest, empResign).getRecords();
         //离职当月考勤
         String[] dimissionAttend = { "离职考勤月份", "出勤天数", "加班(天)", "加班(小时)", "有无代扣款项", "请假(天)", "旷工(天)", "备注"};
         EmpDimissionAttend empDimissionAttend=new EmpDimissionAttend();
         empDimissionAttend.setEmpNumb(empNum);
         empDimissionAttend.setCertificateNumb(empNum);
         
         List<EmpDimissionAttend> dimissionAttends = iEmpDimissionAttendService.findEmpDimissionattends(queryRequest, empDimissionAttend).getRecords();
            //入离职记录
         String[] dimissionLog = { "入职日期", "离职日期", "离职类型", "自离天数", "报备人", "备注"};
         EmpDimissionLog empDimissionLog=new EmpDimissionLog();
         empDimissionLog.setEmpNumb(empNum);
         empDimissionLog.setCertificateNumb(empNum);
         
         List<Map<String, Object>> records1 = iEmpDimissionLogService.findEmpDimissionLogs(queryRequest, empDimissionLog).getRecords();
         for (Map<String, Object> objectMap:records1){
@@ -267,13 +278,13 @@
         //失业金领取
         String[] unemployment = { "失业金申请日期", "申报事由", "汇报人", "审核人", "备注"};
         EmpUnemployment empUnemployment=new EmpUnemployment();
         empUnemployment.setEmpNumb(empNum);
         empUnemployment.setCertificateNumb(empNum);
         
         List<EmpUnemployment> empUnemployments = iEmpUnemploymentService.findEmpUnemployments(queryRequest, empUnemployment).getRecords();
           //社保申请
         String[] insurance = { "社保申请日期", "申请人", "社保档位", "是否已报告", "状态", "审核人", "备注"};
         EmpInsurance empInsurance=new EmpInsurance();
         empInsurance.setEmpNumb(empNum);
         empInsurance.setCertificateNumb(empNum);
         
         List<EmpInsurance> empInsurances = iEmpInsuranceService.findEmpInsurances(queryRequest, empInsurance).getRecords();
         for (EmpInsurance leaveInfo1:empInsurances){
@@ -284,7 +295,7 @@
         //意外险案件
         String[] accidentCases = { "受伤日期", "受伤地点", "受伤部位", "受伤经过描述", "意外险诊断", "就诊医院", "是否住院", "床号", "报案时间", "递交资料时间", "递交人", "医疗总费用", "保险赔付费用"};
         EmpAccidentCases empAccidentCases=new EmpAccidentCases();
         empAccidentCases.setEmpNumb(empNum);
         empAccidentCases.setCertificateNumb(empNum);
         
         List<EmpAccidentCases> empAccidentCases1 = iEmpAccidentCasesService.findEmpAccidentcasess(queryRequest, empAccidentCases).getRecords();
         for (EmpAccidentCases leaveInfo1:empAccidentCases1){
@@ -293,7 +304,7 @@
         //工伤案件
         String[] occupational = { "受伤日期", "受伤地点", "受伤部位", "受伤经过描述", "工伤诊断", "就诊医院", "就诊科室", "是否住院", "床号", "报案时间", "递交资料时间", "递交人", "医疗总费用", "已赔付医药费用"};
         EmpOccupational empOccupational=new EmpOccupational();
         empOccupational.setEmpNumb(empNum);
         empOccupational.setCertificateNumb(empNum);
         
         List<EmpOccupational> empOccupationals = iEmpOccupationalService.findEmpOccupationals(queryRequest, empOccupational).getRecords();
         for (EmpOccupational leaveInfo1:empOccupationals){
@@ -302,7 +313,7 @@
         //劳资案件
         String[] laborTrouble = { "仲裁日期", "仲裁类型", "仲裁事由", "报备人", "备注", "仲裁赔付(元)", "状态", "案结日期"};
         EmpLaborTrouble empLaborTrouble=new EmpLaborTrouble();
         empLaborTrouble.setEmpNumb(empNum);
         empLaborTrouble.setCertificateNumb(empNum);
         
         List<EmpLaborTrouble> empLaborTroubles = iEmpLaborTroubleService.findEmpLabortroubles(queryRequest, empLaborTrouble).getRecords();
         for (EmpLaborTrouble leaveInfo1:empLaborTroubles){
@@ -312,13 +323,13 @@
         //不良记录
         String[] badRecord = { "不良记录日期", "不良记录描述", "汇报人", "备注"};
         EmpBadRecord empBadRecord=new EmpBadRecord();
         empBadRecord.setEmpNumb(empNum);
         empBadRecord.setCertificateNumb(empNum);
         
         List<EmpBadRecord> empBadRecords = iEmpBadRecordService.findEmpBadrecords(queryRequest, empBadRecord).getRecords();
         //备注
         String[] remarkInfo = { "备注日期", "备注信息"};
         EmpRemarkInfo empRemarkInfo=new EmpRemarkInfo();
         empRemarkInfo.setEmpNumb(empNum);
         empRemarkInfo.setCertificateNumb(empNum);
         
         List<EmpRemarkInfo> empRemarkInfos = iEmpRemarkinfoService.findEmpRemarkinfos(queryRequest, empRemarkInfo).getRecords();
         String filePath = new CreatePdf().generatePDFs(baseinfo,empBaseInfoList,workhead, empWorkExperiences1,empPhysicalhead,records,