From d89118c8c2f83e4d39f05b774e9019141f0a6341 Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期三, 24 九月 2025 09:35:11 +0800
Subject: [PATCH] fix: 修复数据库表名大小写不一致问题及SQL查询错误
---
febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/ExportPdfServiceImpl.java | 96 +++++++++++++++++++++++++++++++++---------------
1 files changed, 66 insertions(+), 30 deletions(-)
diff --git a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/ExportPdfServiceImpl.java b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/ExportPdfServiceImpl.java
index 6058d1e..736f0b5 100644
--- a/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/ExportPdfServiceImpl.java
+++ b/febs-server/febs-server-hr/src/main/java/cc/mrbird/febs/server/hr/service/impl/ExportPdfServiceImpl.java
@@ -1,7 +1,10 @@
package cc.mrbird.febs.server.hr.service.impl;
+import cc.mrbird.febs.common.core.constant.DicCode;
import cc.mrbird.febs.common.core.entity.QueryRequest;
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;
import cc.mrbird.febs.server.hr.entity.*;
import cc.mrbird.febs.server.hr.feign.IRemoteDicItemService;
import cc.mrbird.febs.server.hr.mapper.EmpAccessoryMapper;
@@ -22,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 {
@@ -59,7 +63,8 @@
private IEmpUnemploymentService iEmpUnemploymentService;
@Autowired
private IEmpAccidentCasesService iEmpAccidentCasesService;
-
+ @Autowired
+ private RedisService redisService;
@Autowired
private EmpAccessoryMapper empAccessoryMapper;
@Autowired
@@ -101,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());
}
//社保是否已经报告
@@ -160,10 +165,10 @@
EDUCATION.put(m.getDicItemCode(),m.getDicItemName());
}
//籍贯
- Map<String,String> NATIVEPLACE= new HashMap<>();
+ /*Map<String,String> NATIVEPLACE= new HashMap<>();
for (DicItem m: empAccessoryMapper.getDictType("NATIVEPLACE")) {
NATIVEPLACE.put(m.getDicItemCode(),m.getDicItemName());
- }
+ }*/
//保险类型
Map<String,String> INSURANCETYPE= new HashMap<>();
for (DicItem m: empAccessoryMapper.getDictType("INSURANCETYPE")) {
@@ -196,7 +201,7 @@
, "身份证号码"};
EmpBaseInfo baseInfo=new EmpBaseInfo();
baseInfo.setCertificateNumb(empNum);
-
+ List<DicItem> dicItems = CastUtil.castList(redisService.get("dicItems"), DicItem.class);
List<EmpBaseInfo> empBaseInfoList = iEmpBaseInfoService.findEmpBaseInfos(queryRequest, baseInfo).getRecords();
for (EmpBaseInfo empBaseInfo: empBaseInfoList){
empBaseInfo.setArchivesStatusName(archivesStatus.get(empBaseInfo.getArchivesStatus()==null?"":empBaseInfo.getArchivesStatus()));
@@ -206,11 +211,22 @@
empBaseInfo.setMarriageName(MARRIAGE.get(empBaseInfo.getMarriage()==null?"":empBaseInfo.getMarriage()));
empBaseInfo.setPoliticsName(PLITICAL.get(empBaseInfo.getPolitics()==null?"":empBaseInfo.getPolitics()));
empBaseInfo.setEducationName(EDUCATION.get(empBaseInfo.getEducation()==null?"":empBaseInfo.getEducation()));
- empBaseInfo.setNativePlaceName(NATIVEPLACE.get(empBaseInfo.getNativePlace()==null?"":empBaseInfo.getNativePlace()));
+ empBaseInfo.setNativePlaceName(dicItems.stream()
+ .filter(k -> DicCode.NATIVEPLACE.equals(k.getDicCode()) && k.getDicItemCode().equals(empBaseInfo.getNativePlace()==null?"":empBaseInfo.getNativePlace()))
+ .findFirst()
+ .map(DicItem::getDicItemName)
+ .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()))
+ .findFirst()
+ .map(DicItem::getDicItemName)
+ .orElse(""));
}
+ EmpBaseInfo empBaseInfo = empBaseInfoList.get(0);
//工作经历
String[] workhead = { "开始时间", "结束时间", "工作单位", "主要工作内容"};
EmpWorkExperience empWorkExperiences=new EmpWorkExperience();
@@ -219,7 +235,7 @@
List<EmpWorkExperience> empWorkExperiences1 = iEmpWorkExperienceService.findEmpWorkExperiences(queryRequest, empWorkExperiences).getRecords();
//体检信息
- String[] empPhysicalhead = { "体检医院", "体检日期", "体检类型", "血压", "转氨酶", "心电图", "体检结论", "复查记录", "备注"};
+ String[] empPhysicalhead = { "体检医院", "体检日期", "体检类型", "血压", "转氨酶", "心电图", "体检结论", "复查日期", "备注"};
EmpPhysicalExam empPhysicalExam=new EmpPhysicalExam();
empPhysicalExam.setCertificateNumb(empNum);
@@ -228,25 +244,25 @@
empPhysicalExam1.setPhysicalExamTypeName(physicalExamType.get(empPhysicalExam1.getPhysicalExamType()==null?"":empPhysicalExam1.getPhysicalExamType()));
}
//合同信息
- String[] empContractInfo = { "合同签订日期", "合同结束日期", "合同期限(年)", "合同状态", "合同办理人"};
+ 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()));
}
//调岗记录
- String[] empJobChange = { "现部门", "现岗位", "姓名", "原部门", "原岗位", "调岗日期", "调岗类型"};
+ 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()));
}
//请假记录
- String[] leaveInfo = { "开始时间", "结束时间", "请假天数", "请假类型", "到岗时间", "报备人", "备注"};
+ String[] leaveInfo = { "开始时间", "结束时间", "请假天数", "请假类型", "到岗时间", "报备人", "备注"};
EmpLeaveInfo empLeaveInfo=new EmpLeaveInfo();
empLeaveInfo.setCertificateNumb(empNum);
@@ -255,34 +271,34 @@
leaveInfo1.setLeaveTypeName(leavetype.get(leaveInfo1.getLeaveType()==null?"":leaveInfo1.getLeaveType()));
}
//辞职申请
- String[] resign = { "辞职申请日期", "辞职事由", "汇报人", "备注"};
+ String[] resign = { "辞职申请日期", "辞职事由", "汇报人", "备注"};
EmpResign empResign=new EmpResign();
empResign.setCertificateNumb(empNum);
-
+ empResign.setEmpStatus(empBaseInfo.getEmpStatus());
List<EmpResign> empResigns = iEmpResignService.findEmpResigns(queryRequest, empResign).getRecords();
//离职当月考勤
- String[] dimissionAttend = { "离职考勤月份", "出勤天数", "加班(天)", "加班(小时)", "有无代扣款项", "请假(天)", "旷工(天)", "备注"};
+ String[] dimissionAttend = { "离职考勤月份", "出勤天数", "加班(天)", "加班(小时)", "有无代扣款项", "请假(天)", "旷工(天)", "备注"};
EmpDimissionAttend empDimissionAttend=new EmpDimissionAttend();
empDimissionAttend.setCertificateNumb(empNum);
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()));
}
//失业金领取
- String[] unemployment = { "失业金申请日期", "申报事由", "汇报人", "审核人", "备注"};
+ String[] unemployment = { "失业金申请日期", "申报事由", "汇报人", "审核人", "备注"};
EmpUnemployment empUnemployment=new EmpUnemployment();
empUnemployment.setCertificateNumb(empNum);
-
+ empUnemployment.setEmpStatus(empBaseInfo.getEmpStatus());
List<EmpUnemployment> empUnemployments = iEmpUnemploymentService.findEmpUnemployments(queryRequest, empUnemployment).getRecords();
//社保申请
- String[] insurance = { "社保申请日期", "申请人", "社保档位", "是否已报告", "状态", "审核人", "备注"};
+ String[] insurance = { "社保申请日期", "申请人", "社保档位", "是否已报告", "状态", "审核人", "备注"};
EmpInsurance empInsurance=new EmpInsurance();
empInsurance.setCertificateNumb(empNum);
@@ -293,44 +309,46 @@
leaveInfo1.setApplayStatusName(applayStatus.get(leaveInfo1.getApplayStatus()==null?"":String.valueOf(leaveInfo1.getApplayStatus())));
}
//意外险案件
- String[] accidentCases = { "受伤日期", "受伤地点", "受伤部位", "受伤经过描述", "意外险诊断", "就诊医院", "是否住院", "床号", "报案时间", "递交资料时间", "递交人", "医疗总费用", "保险赔付费用"};
+ String[] accidentCases = { "受伤日期", "受伤地点", "受伤部位", "受伤经过描述", "意外险诊断", "就诊医院", "是否住院", "床号", "报案时间", "递交资料时间", "递交人", "医疗总费用", "保险赔付费用", "是否结案"};
EmpAccidentCases empAccidentCases=new EmpAccidentCases();
empAccidentCases.setCertificateNumb(empNum);
List<EmpAccidentCases> empAccidentCases1 = iEmpAccidentCasesService.findEmpAccidentcasess(queryRequest, empAccidentCases).getRecords();
for (EmpAccidentCases leaveInfo1:empAccidentCases1){
leaveInfo1.setHospitalizatioFlagName(hospitalizatioFlag.get(leaveInfo1.getHospitalizatioFlag()==null?"":leaveInfo1.getHospitalizatioFlag().toString()));
+ leaveInfo1.setSettleStatusName(settleStatus.get(leaveInfo1.getSettleStatus()==null?"":leaveInfo1.getSettleStatus().toString()));
}
//工伤案件
- String[] occupational = { "受伤日期", "受伤地点", "受伤部位", "受伤经过描述", "工伤诊断", "就诊医院", "就诊科室", "是否住院", "床号", "报案时间", "递交资料时间", "递交人", "医疗总费用", "已赔付医药费用"};
+ String[] occupational = { "受伤日期", "受伤地点", "受伤部位", "受伤经过描述", "工伤诊断", "就诊医院", "就诊科室", "是否住院", "床号", "报案时间", "递交资料时间", "递交人", "医疗总费用", "已赔付医药费用", "是否结案"};
EmpOccupational empOccupational=new EmpOccupational();
empOccupational.setCertificateNumb(empNum);
List<EmpOccupational> empOccupationals = iEmpOccupationalService.findEmpOccupationals(queryRequest, empOccupational).getRecords();
for (EmpOccupational leaveInfo1:empOccupationals){
leaveInfo1.setHospitalizatioFlagName(hospitalizatioFlag.get(leaveInfo1.getHospitalizatioFlag()==null?"":leaveInfo1.getHospitalizatioFlag().toString()));
+ leaveInfo1.setSettleStatusName(settleStatus.get(leaveInfo1.getSettleStatus()==null?"":leaveInfo1.getSettleStatus().toString()));
}
//劳资案件
- String[] laborTrouble = { "仲裁日期", "仲裁类型", "仲裁事由", "报备人", "备注", "仲裁赔付(元)", "状态", "案结日期"};
+ String[] laborTrouble = { "仲裁日期", "仲裁类型", "仲裁事由", "报备人", "备注", "仲裁赔付(元)", "是否结案", "案结日期"};
EmpLaborTrouble empLaborTrouble=new EmpLaborTrouble();
empLaborTrouble.setCertificateNumb(empNum);
List<EmpLaborTrouble> empLaborTroubles = iEmpLaborTroubleService.findEmpLabortroubles(queryRequest, empLaborTrouble).getRecords();
for (EmpLaborTrouble leaveInfo1:empLaborTroubles){
leaveInfo1.setArbitrationTypeName(zctype.get(leaveInfo1.getArbitrationType()==null?"":leaveInfo1.getArbitrationType()));
- leaveInfo1.setArbitrationStatusName(reportStatus.get(leaveInfo1.getArbitrationStatus()==null?"":String.valueOf(leaveInfo1.getArbitrationStatus())));
+ leaveInfo1.setArbitrationStatusName(settleStatus.get(leaveInfo1.getArbitrationStatus()==null?"":String.valueOf(leaveInfo1.getArbitrationStatus())));
}
//不良记录
- String[] badRecord = { "不良记录日期", "不良记录描述", "汇报人", "备注"};
+ String[] badRecord = { "不良记录日期", "不良记录描述", "汇报人", "备注"};
EmpBadRecord empBadRecord=new EmpBadRecord();
empBadRecord.setCertificateNumb(empNum);
-
+ empBadRecord.setEmpStatus(empBaseInfo.getEmpStatus());
List<EmpBadRecord> empBadRecords = iEmpBadRecordService.findEmpBadrecords(queryRequest, empBadRecord).getRecords();
//备注
- String[] remarkInfo = { "备注日期", "备注信息"};
+ 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,
@@ -391,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;
+ }
}
--
Gitblit v1.8.0