yubo
2026-04-11 4e55bd9cee8e44f7a7a0d9185d8323fc7be9193d
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/ExportPdfServiceImpl.java
@@ -25,6 +25,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@Service
public class ExportPdfServiceImpl implements ExportPdfService {
@@ -105,7 +106,7 @@
         }
         //社保档位
         Map<String,String> insuranceGaers = new HashMap<>();
         for (DicItem m:   empAccessoryMapper.getDictType("insuranceGaers")) {
         for (DicItem m:   empAccessoryMapper.getDictType("INSURANCETYPE")) {
            insuranceGaers.put(m.getDicItemCode(),m.getDicItemName());
         }
         //社保是否已经报告
@@ -217,7 +218,7 @@
                  .orElse(""));
            empBaseInfo.setInsuranceTypeName(INSURANCETYPE.get(empBaseInfo.getInsuranceType()==null?"":empBaseInfo.getInsuranceType()));
            empBaseInfo.setHandbookStatusName(handbookStatus.get(empBaseInfo.getHandbookStatus()==null?"":empBaseInfo.getHandbookStatus()));
            empBaseInfo.setCertificateListName(certificateList.get(empBaseInfo.getCertificateList()==null?"":empBaseInfo.getCertificateList()));
            empBaseInfo.setCertificateListName(getCertificateListName(empBaseInfo.getCertificateList(), certificateList));
            empBaseInfo.setEmpStatusName("0".equals(empBaseInfo.getEmpStatus()) ? "在职" : "离职");
            empBaseInfo.setEntryTypeName(dicItems.stream()
                  .filter(k -> DicCode.IN_OUT_TYPE.equals(k.getDicCode()) && k.getDicItemCode().equals(empBaseInfo.getEntryType()))
@@ -225,6 +226,7 @@
                  .map(DicItem::getDicItemName)
                  .orElse(""));
         }
         EmpBaseInfo empBaseInfo = empBaseInfoList.get(0);
         //工作经历
         String[] workhead = { "开始时间", "结束时间", "工作单位", "主要工作内容"};
         EmpWorkExperience empWorkExperiences=new EmpWorkExperience();
@@ -245,7 +247,7 @@
         String[] empContractInfo = {  "合同签订日期", "合同结束日期", "合同期限(年)", "合同状态", "合同办理人","备注"};
         EmpContractInfo empContractInfo1=new EmpContractInfo();
         empContractInfo1.setCertificateNumb(empNum);
         empContractInfo1.setEmpStatus(empBaseInfo.getEmpStatus());
         List<EmpContractInfo> empContractInfos = iEmpContractInfoService.findEmpContractinfos(queryRequest, empContractInfo1).getRecords();
         for (EmpContractInfo empCon:empContractInfos){
            empCon.setContractStatusName(contractstatus.get(empCon.getContractStatus()==null?"":empCon.getContractStatus()));
@@ -254,7 +256,7 @@
         String[] empJobChange = {  "现部门", "现岗位", "姓名", "原部门", "原岗位", "调岗日期", "调岗类型", "调岗理由"};
         EmpJobChange empJobChange1=new EmpJobChange();
         empJobChange1.setCertificateNumb(empNum);
         empJobChange1.setEmpStatus(empBaseInfo.getEmpStatus());
         List<Map<String, Object>> empJobChangeList = iEmpJobChangeService.findEmpJobChanges(queryRequest, empJobChange1).getRecords();
         for (Map<String, Object> map:empJobChangeList){
            map.put("changeType",changeType.get(map.get("changeType")==null?"":map.get("changeType").toString()));
@@ -272,7 +274,7 @@
         String[] resign = {  "辞职申请日期", "辞职事由", "汇报人", "备注"};
         EmpResign empResign=new EmpResign();
         empResign.setCertificateNumb(empNum);
         empResign.setEmpStatus(empBaseInfo.getEmpStatus());
         List<EmpResign> empResigns = iEmpResignService.findEmpResigns(queryRequest, empResign).getRecords();
         //离职当月考勤
         String[] dimissionAttend = {  "离职考勤月份", "出勤天数", "加班(天)", "加班(小时)", "有无代扣款项", "请假(天)", "旷工(天)", "备注"};
@@ -281,10 +283,10 @@
         
         List<EmpDimissionAttend> dimissionAttends = iEmpDimissionAttendService.findEmpDimissionattends(queryRequest, empDimissionAttend).getRecords();
            //入离职记录
         String[] dimissionLog = {  "入职日期", "离职日期", "离职类型", "自离天数", "报备人", "备注"};
         String[] dimissionLog = { "部门/护卫点", "入职日期", "离职日期", "离职类型", "自离天数", "报备人", "备注"};
         EmpDimissionLog empDimissionLog=new EmpDimissionLog();
         empDimissionLog.setCertificateNumb(empNum);
         empDimissionLog.setEmpId(empBaseInfo.getEmpId());
         empDimissionLog.setEmpStatus(empBaseInfo.getEmpStatus());
         List<Map<String, Object>> records1 = iEmpDimissionLogService.findEmpDimissionLogs(queryRequest, empDimissionLog).getRecords();
         for (Map<String, Object> objectMap:records1){
            objectMap.put("dimissionType",lztype.get(objectMap.get("dimissionType")==null?"":objectMap.get("dimissionType").toString()));
@@ -293,7 +295,7 @@
         String[] unemployment = {  "失业金申请日期", "申报事由", "汇报人", "审核人", "备注"};
         EmpUnemployment empUnemployment=new EmpUnemployment();
         empUnemployment.setCertificateNumb(empNum);
         empUnemployment.setEmpStatus(empBaseInfo.getEmpStatus());
         List<EmpUnemployment> empUnemployments = iEmpUnemploymentService.findEmpUnemployments(queryRequest, empUnemployment).getRecords();
           //社保申请
         String[] insurance = {  "社保申请日期", "申请人", "社保档位", "是否已报告", "状态", "审核人", "备注"};
@@ -340,13 +342,13 @@
         String[] badRecord = {  "不良记录日期", "不良记录描述", "汇报人", "备注"};
         EmpBadRecord empBadRecord=new EmpBadRecord();
         empBadRecord.setCertificateNumb(empNum);
         empBadRecord.setEmpStatus(empBaseInfo.getEmpStatus());
         List<EmpBadRecord> empBadRecords = iEmpBadRecordService.findEmpBadrecords(queryRequest, empBadRecord).getRecords();
         //备注
         String[] remarkInfo = {  "备注日期", "备注信息"};
         EmpRemarkInfo empRemarkInfo=new EmpRemarkInfo();
         empRemarkInfo.setCertificateNumb(empNum);
         empRemarkInfo.setEmpStatus(empBaseInfo.getEmpStatus());
         List<EmpRemarkInfo> empRemarkInfos = iEmpRemarkinfoService.findEmpRemarkinfos(queryRequest, empRemarkInfo).getRecords();
         String filePath = new CreatePdf().generatePDFs(baseinfo,empBaseInfoList,workhead, empWorkExperiences1,empPhysicalhead,records,
               empContractInfo,empContractInfos,
@@ -407,4 +409,22 @@
      }
      return null;
   }
    private String getCertificateListName(String certificateList, Map<String,String> mapCertificate) {
        String tempName;
        List<String> nameList = new ArrayList<>();
        String[] tempList = certificateList.split(",");
        // certificateList.get(empBaseInfo.getCertificateList()
        if (tempList.length > 0) {
            for (int i = 0, len = tempList.length; i < len; i++) {
                String tempValue = tempList[i];
                tempName = mapCertificate.get(tempValue)==null?tempValue:mapCertificate.get(tempValue);
                nameList.add(tempName);
            }
            tempName = nameList.stream().collect(Collectors.joining(", "));
        } else {
            tempName = "";
        }
        return tempName;
    }
}