Commit 3f7d9415 by jianan

薪资单查询本年问题3

parent 0fd2ec53
...@@ -401,12 +401,10 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe ...@@ -401,12 +401,10 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
// 查询全部和历史,把新表数据和EG历史集合合并到一起 // 查询全部和历史,把新表数据和EG历史集合合并到一起
resultList = aclPractitionerDALService.queryEGHistorySalaryPDFByPractitionerId(practitionerId); resultList = aclPractitionerDALService.queryEGHistorySalaryPDFByPractitionerId(practitionerId);
} }
translateObj(newList, resultList, requestVO.getPreFlag()); List<PayScaleInfo> list = translateObjNew(newList, resultList, requestVO.getPreFlag());
// 排序
resultList.sort(Comparator.comparing(PayScaleInfo::getMonDtlPeriod).reversed());
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000"))); responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
responseVO.setPayScaleInfos(resultList); responseVO.setPayScaleInfos(list);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -415,6 +413,65 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe ...@@ -415,6 +413,65 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
return responseVO; return responseVO;
} }
private List<PayScaleInfo> translateObjNew(List<AgAclLifePractitionerSalary> salaryList, List<PayScaleInfo> historyEG, String preFlag) {
PayScaleInfo payScaleInfo;
String time;
List<PayScaleInfo> newList = new ArrayList<>();
if (salaryList != null && salaryList.size() > 0) {
for (AgAclLifePractitionerSalary salary : salaryList) {
payScaleInfo = new PayScaleInfo();
payScaleInfo.setMonShId(salary.getId());
payScaleInfo.setPdfOssPath(salary.getPdfOssPath());
payScaleInfo.setMonDtlPeriod(salary.getYearMonth());
payScaleInfo.setMonDtlAmount(salary.getPayableAmount().doubleValue());
payScaleInfo.setMonDtlRAmount(salary.getNetAmount().doubleValue());
payScaleInfo.setIsBasic(salary.getIsBasic());
payScaleInfo.setIsActive(salary.getIsActive());
payScaleInfo.setPreFlag(preFlag);
time = payScaleInfo.getMonDtlPeriod();
if (StringUtils.isNotBlank(time)) {
payScaleInfo.setYears(time.substring(0, 4));
payScaleInfo.setMonth(time.substring(4));
}
newList.add(payScaleInfo);
}
}
// 去重及合并两个集合
Map<String, PayScaleInfo> map = new HashMap<>();
String yearMonth = "";
String year = "";
String month = "";
for (PayScaleInfo infoEG : historyEG) {
if (StringUtils.isNotBlank(infoEG.getMonDtlPeriod())) {
time = infoEG.getMonDtlPeriod();
infoEG.setYears(time.substring(0, 4));
infoEG.setMonth(time.substring(4));
}
year = infoEG.getYears() == null ? "0" : infoEG.getYears();
month = infoEG.getMonth() == null ? "0" : infoEG.getMonth();
yearMonth = this.getYearMonth(year, month);
infoEG.setMonDtlPeriod(yearMonth);
map.put(yearMonth, infoEG);
}
for (PayScaleInfo infoNew : newList) {
year = infoNew.getYears() == null ? "0" : infoNew.getYears();
month = infoNew.getMonth() == null ? "0" : infoNew.getMonth();
yearMonth = this.getYearMonth(year, month);
infoNew.setMonDtlPeriod(yearMonth);
if (!map.containsKey(yearMonth)) {
map.put(yearMonth, infoNew);
}
}
ArrayList<PayScaleInfo> resultList = new ArrayList<>(map.values());
// 排序
resultList.sort(Comparator.comparing(PayScaleInfo :: getMonDtlPeriod).reversed());
return resultList;
}
private List<PayScaleInfo> queryNew(PayScaleQueryRequestVO requestVO) throws Exception { private List<PayScaleInfo> queryNew(PayScaleQueryRequestVO requestVO) throws Exception {
Long practitionerId = requestVO.getPractitionerId(); Long practitionerId = requestVO.getPractitionerId();
Integer isActive = requestVO.getIsActive(); Integer isActive = requestVO.getIsActive();
...@@ -684,6 +741,11 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe ...@@ -684,6 +741,11 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
payScaleInfo.setIsBasic(salary.getIsBasic()); payScaleInfo.setIsBasic(salary.getIsBasic());
payScaleInfo.setIsActive(salary.getIsActive()); payScaleInfo.setIsActive(salary.getIsActive());
payScaleInfo.setPreFlag(preFlag); payScaleInfo.setPreFlag(preFlag);
time = payScaleInfo.getMonDtlPeriod();
if (StringUtils.isNotBlank(time)) {
payScaleInfo.setYears(time.substring(0, 4));
payScaleInfo.setMonth(time.substring(4));
}
resultList.add(payScaleInfo); resultList.add(payScaleInfo);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment