Commit 37538903 by jianan

N22薪资单接口新

parent a01774ca
......@@ -316,51 +316,131 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
Long practitionerId = requestVO.getPractitionerId();
Map<Long,PayScaleInfo> payScaleInfoMap = new HashMap<>();
if(!Strings.isNullOrEmpty(practitionerIdEG)){
List<PayScaleInfo> payScaleInfoListAll = aclPractitionerDALService.findPayScaleByPractitionerEG(practitionerIdEG);
if(!payScaleInfoListAll.isEmpty()){
Map<String,String> dtlTypeMap = new HashMap<>();
Map<String,String> titleMap = new HashMap<>();
List<OptionsEGolden> optionsEGoldenList = mdDropOptionsDALService.findByMasterIdsE(Collections.singletonList(101));
optionsEGoldenList.forEach(i->dtlTypeMap.put(i.getOptAttr(),i.getOptName()));
List<OptionsEGolden> titleList = mdDropOptionsDALService.findAllTitleEG();
titleList.forEach(i->titleMap.put(i.getTitleCode(),i.getTitleName()));
PayScaleInfo payScaleInfo;
Long time;
for(PayScaleInfo item : payScaleInfoListAll){
time = item.getMonDtlPeriod();
if(payScaleInfoMap.containsKey(time)){
payScaleInfo = payScaleInfoMap.get(time);
calculateRAmount(payScaleInfo,item);
}else{
calculateRAmount(item,item);
item.setMonDtlItem("实发薪水");
payScaleInfoMap.put(time,item);
item.setDrpTitleCode(titleMap.get(item.getDrpTitleCode()));
item.setMonDtlType(dtlTypeMap.get(item.getMonDtlType()));
// 1.根据Agent_id当前经纪人的佣金明细
SalaryDetailsSearchRequestBody salaryDetailsSearchRequestBody = new SalaryDetailsSearchRequestBody();
salaryDetailsSearchRequestBody.setLoginName(practitionerIdEG);
salaryDetailsSearchRequestBody.setSearchType("1");
SalaryDetailsSearchResponseVO salaryDetailsSearchResponseVO = n22SalaryService.salaryDetailsSearch(salaryDetailsSearchRequestBody);
if (!"查询成功".equals(salaryDetailsSearchResponseVO.getResponseHead().getMessage())){
responseVO.setCommonResult(new CommonResult(false, "查询N22佣金明细列表错误"));
return responseVO;
}
List<SalaryDetails> salaryDetailsList = salaryDetailsSearchResponseVO.getResponseBody().getSalaryDetailsLIST();
}
}
//修改金钱格式
for(PayScaleInfo item : payScaleInfoListAll){
item.setMonDtlRAmount(CommonUtil.doubleFormat(item.getMonDtlRAmount(),2));
}
// list分组
Map<String, List<SalaryDetails>> group = this.groupByCheckDate(salaryDetailsList);
}
}
List<PayScaleInfo> resultList = new ArrayList<>(payScaleInfoMap.values());
// 组装返回参数
List<PayScaleInfo> resultList = new ArrayList<>();
for (String key : group.keySet()) {
System.out.println("Key = " + key);
// 加入临时薪资表的数据
List<AgAclLifePractitionerSalary> list = practitionerSalaryMapper.queryListByPractitionerId(practitionerId);
translateObj(list, resultList);
List<SalaryDetails> list = group.get(key);
// 计算每组应发佣金总和
Double monDtlAmount = this.getSummary(list);
PayScaleInfo payScaleInfo = new PayScaleInfo();
payScaleInfo.setMonDtlAmount(monDtlAmount);
payScaleInfo.setMonDtlItem("实发薪水");
payScaleInfo.setDrpTitleCode(list.get(0).getGrade());
payScaleInfo.setMonDtlPeriod(Long.valueOf(key));
resultList.add(payScaleInfo);
}
// 排序
resultList.sort(Comparator.comparingLong(PayScaleInfo :: getMonDtlPeriod).reversed());
responseVO.setPayScaleInfos(resultList);
responseVO.setCommonResult(new CommonResult(true,ZHBErrorConfig.getErrorInfo("800000")));
return responseVO;
// if(!Strings.isNullOrEmpty(practitionerIdEG)){
// List<PayScaleInfo> payScaleInfoListAll = aclPractitionerDALService.findPayScaleByPractitionerEG(practitionerIdEG);
// if(!payScaleInfoListAll.isEmpty()){
// Map<String,String> dtlTypeMap = new HashMap<>();
// Map<String,String> titleMap = new HashMap<>();
// List<OptionsEGolden> optionsEGoldenList = mdDropOptionsDALService.findByMasterIdsE(Collections.singletonList(101));
// optionsEGoldenList.forEach(i->dtlTypeMap.put(i.getOptAttr(),i.getOptName()));
// List<OptionsEGolden> titleList = mdDropOptionsDALService.findAllTitleEG();
// titleList.forEach(i->titleMap.put(i.getTitleCode(),i.getTitleName()));
//
// PayScaleInfo payScaleInfo;
// Long time;
// for(PayScaleInfo item : payScaleInfoListAll){
// time = item.getMonDtlPeriod();
// if(payScaleInfoMap.containsKey(time)){
// payScaleInfo = payScaleInfoMap.get(time);
// calculateRAmount(payScaleInfo,item);
// }else{
// calculateRAmount(item,item);
// item.setMonDtlItem("实发薪水");
// payScaleInfoMap.put(time,item);
// item.setDrpTitleCode(titleMap.get(item.getDrpTitleCode()));
// item.setMonDtlType(dtlTypeMap.get(item.getMonDtlType()));
//
// }
// }
// //修改金钱格式
// for(PayScaleInfo item : payScaleInfoListAll){
// item.setMonDtlRAmount(CommonUtil.doubleFormat(item.getMonDtlRAmount(),2));
// }
//
// }
// }
// List<PayScaleInfo> resultList = new ArrayList<>(payScaleInfoMap.values());
//
// // 加入临时薪资表的数据
// List<AgAclLifePractitionerSalary> list = practitionerSalaryMapper.queryListByPractitionerId(practitionerId);
// translateObj(list, resultList);
//
// // 排序
// resultList.sort(Comparator.comparingLong(PayScaleInfo :: getMonDtlPeriod).reversed());
// responseVO.setPayScaleInfos(resultList);
//
// responseVO.setCommonResult(new CommonResult(true,ZHBErrorConfig.getErrorInfo("800000")));
// return responseVO;
}
private Double getSummary(List<SalaryDetails> list) {
Double sum = 0D;
for (SalaryDetails item : list) {
sum = BigDecimal.valueOf(item.getCommission())
.add(BigDecimal.valueOf(sum))
.doubleValue();
}
return sum;
}
/**
* 通过for循环逻辑,编程上会麻烦点,但是效率上高很多
*/
private Map<String, List<SalaryDetails>> groupByCheckDate(List<SalaryDetails> salaryDetailsList) {
Map<String, List<SalaryDetails>> result = new HashMap<String, List<SalaryDetails>>();
int year = 0;
String month = "";
String key = "";
for (SalaryDetails SalaryDetails : salaryDetailsList) {
year = SalaryDetails.getYear();
month = SalaryDetails.getMonth();
key = year + month;
List<SalaryDetails> childList = result.get(key);
if (childList == null) {
childList = new ArrayList<SalaryDetails>();
result.put(key, childList);
}
childList.add(SalaryDetails);
}
result.forEach((cc, list) -> {
System.out.println("CheckDate is:" + cc);
list.forEach((SalaryDetails) -> {
System.out.println("SalaryDetails is:" + SalaryDetails);
});
});
return result;
}
private void translateObj(List<AgAclLifePractitionerSalary> list, List<PayScaleInfo> resultList) {
......
......@@ -47,7 +47,6 @@ public class N22PolicyServiceImpl implements N22PolicyService {
JSONObject requestHead = new JSONObject();
requestHead.put("seqNo", UUID.randomUUID().toString());
requestHead.put("appId", "eliteNgpcrtaVU9NAz");
obj.put("requestHead", requestHead);
obj.put("requestBody", requestBody);
......
......@@ -29,7 +29,8 @@ public class N22SalaryServiceImpl implements N22SalaryService {
obj.put("requestBody", salaryDetailsSearchRequestBody);
logger.info("N22佣金明细查询请求报文:"+obj.toString());
String url = "https://life.ydinsurance.cn/EliteGeneralHttpTask/GeneralService/SalaryDetailsSearch";
// String url = "https://life.ydinsurance.cn/EliteGeneralHttpTask/GeneralService/SalaryDetailsSearch";
String url = "http://101.132.32.185:8082/EliteGeneralHttpTask/GeneralService/SalaryDetailsSearch";
String result = N22Utils.postTransaction(url, obj.toString());
logger.info("N22佣金明细查询响应报文:"+result);
......
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