## 统计分析下伞下安置、直推新増业绩优化;

This commit is contained in:
cabbage 2025-06-03 16:00:03 +08:00
parent d14b324522
commit a5f194a528
7 changed files with 342 additions and 415 deletions

View File

@ -63,19 +63,14 @@ public class MemberReportController extends BaseController {
**/ **/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.SELECT) @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.SELECT)
@GetMapping("/direct-push-new") @GetMapping("/direct-push-new")
public TableDataInfo directPushNew(String memberCode, String memberName, public TableDataInfo directPushNew(String memberCode, String memberName, Integer pkAwards, Integer pkTeamCode,
Integer pkAwards, Integer pkTeamCode, Integer pkCountry,
Date startPayTime, Date endPayTime, Integer pkVertex, Integer orderType) { Date startPayTime, Date endPayTime, Integer pkVertex, Integer orderType) {
Integer pkCountry = SecurityUtils.getPkCountry();
List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(orderType); List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(orderType);
Long pkMember; Long pkMember;
if (pkCountry == null) {
pkCountry = SecurityUtils.getPkCountry();
}
if (StringUtils.isNotBlank(memberCode)) { if (StringUtils.isNotBlank(memberCode)) {
R<CuMemberExt> memberDto = iMemberServiceApi.getMemberByCode(memberCode); CuMember member = iMemberServiceApi.getMemberByCode(memberCode).getData();
CuMember member = memberDto.getData();
if (null != member) { if (null != member) {
pkMember = member.getPkId(); pkMember = member.getPkId();
} else { } else {
@ -84,31 +79,27 @@ public class MemberReportController extends BaseController {
} else { } else {
return getDataTable(new ArrayList<>()); return getDataTable(new ArrayList<>());
} }
Date date = DateUtils.currentDate(); Date date = DateUtils.currentDate();
if (StringUtils.isNull(startPayTime) || if (StringUtils.isNull(startPayTime) || StringUtils.isNull(endPayTime)) {
StringUtils.isNull(endPayTime)) {
//当前月的第一天 //当前月的第一天
startPayTime = DateUtils.currentMonthFirstDate(); startPayTime = DateUtils.currentMonthFirstDate();
endPayTime = date; endPayTime = date;
} }
//伞下直推新增业绩 //伞下直推新增业绩
startPage(); startPage();
List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex); List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex);
if (CollectionUtil.isNotEmpty(memberList)) {
startPayTime = DateUtils.getStartTime(startPayTime); startPayTime = DateUtils.getStartTime(startPayTime);
endPayTime = DateUtils.getEndTime(endPayTime); endPayTime = DateUtils.getEndTime(endPayTime);
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry);
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry);
if (CollectionUtil.isNotEmpty(memberList)) {
memberList.forEach(itm -> { memberList.forEach(itm -> {
if (null != achieList.get(0)) { if (null != achieList.get(0)) {
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
//中国业绩转为人民币
itm.setOrderAchieve(achieList.get(0).getOrderAchieve().multiply(currency.getData().getInExchangeRate())); itm.setOrderAchieve(achieList.get(0).getOrderAchieve().multiply(currency.getData().getInExchangeRate()));
} else {
itm.setOrderAchieve(achieList.get(0).getOrderAchieve());
}
itm.setOrderType(orderType); itm.setOrderType(orderType);
itm.setOrderAmount(achieList.get(0).getOrderAmount()); itm.setOrderAmount(achieList.get(0).getOrderAmount());
} }
@ -123,13 +114,12 @@ public class MemberReportController extends BaseController {
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.EXPORT) @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.EXPORT)
@PostMapping("/export-direct-push-new") @PostMapping("/export-direct-push-new")
public void export(DirectPushNewVo directPushNewVo, HttpServletResponse response) { public void export(DirectPushNewVo directPushNewVo, HttpServletResponse response) {
List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(directPushNewVo.getOrderType());
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderBusiness.values());
Long pkMember = null;
Integer pkCountry = SecurityUtils.getPkCountry(); Integer pkCountry = SecurityUtils.getPkCountry();
List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(directPushNewVo.getOrderType());
Long pkMember = null;
if (StringUtils.isNotBlank(directPushNewVo.getMemberCode())) { if (StringUtils.isNotBlank(directPushNewVo.getMemberCode())) {
R<CuMember> memberDto = iMemberServiceApi.getMember(directPushNewVo.getMemberCode()); CuMember member = iMemberServiceApi.getMemberByCode(directPushNewVo.getMemberCode()).getData();
CuMember member = memberDto.getData();
if (null != member) { if (null != member) {
pkMember = member.getPkId(); pkMember = member.getPkId();
} else { } else {
@ -140,35 +130,30 @@ public class MemberReportController extends BaseController {
ExcelUtil<DirectPushNewVo> util = new ExcelUtil<>(DirectPushNewVo.class); ExcelUtil<DirectPushNewVo> util = new ExcelUtil<>(DirectPushNewVo.class);
util.exportExcel(response, new ArrayList<>(), "伞下直推新增业绩导出"); util.exportExcel(response, new ArrayList<>(), "伞下直推新增业绩导出");
} }
Date date = DateUtils.currentDate(); Date date = DateUtils.currentDate();
if (StringUtils.isNull(directPushNewVo.getStartPayTime()) || if (StringUtils.isNull(directPushNewVo.getStartPayTime()) || StringUtils.isNull(directPushNewVo.getEndPayTime())) {
StringUtils.isNull(directPushNewVo.getEndPayTime())) {
//当前月的第一天 //当前月的第一天
Date startPayTime = DateUtils.currentMonthFirstDate(); directPushNewVo.setStartPayTime(DateUtils.currentMonthFirstDate());
directPushNewVo.setStartPayTime(startPayTime);
directPushNewVo.setEndPayTime(date); directPushNewVo.setEndPayTime(date);
} }
//伞下直推新增业绩 //伞下直推新增业绩
List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, directPushNewVo.getMemberName(), List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, directPushNewVo.getMemberName(),
directPushNewVo.getPkAwards(), directPushNewVo.getPkTeamCode(), pkCountry, directPushNewVo.getStartPayTime(), directPushNewVo.getPkAwards(), directPushNewVo.getPkTeamCode(), pkCountry, directPushNewVo.getStartPayTime(),
directPushNewVo.getEndPayTime(), directPushNewVo.getPkVertex()); directPushNewVo.getEndPayTime(), directPushNewVo.getPkVertex());
if (CollectionUtil.isNotEmpty(memberList)) {
Date startPayTime = DateUtils.getStartTime(directPushNewVo.getStartPayTime()); Date startPayTime = DateUtils.getStartTime(directPushNewVo.getStartPayTime());
Date endPayTime = DateUtils.getEndTime(directPushNewVo.getEndPayTime()); Date endPayTime = DateUtils.getEndTime(directPushNewVo.getEndPayTime());
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry);
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry); Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderBusiness.values());
if (CollectionUtil.isNotEmpty(memberList)) {
memberList.forEach(itm -> { memberList.forEach(itm -> {
if (null != achieList.get(0)) { if (null != achieList.get(0)) {
itm.setOrderType(directPushNewVo.getOrderType()); itm.setOrderType(directPushNewVo.getOrderType());
itm.setOrderTypeVal(transactionMap.get(EnumsPrefixConstants.ORDER_BUSINESS + directPushNewVo.getOrderType())); itm.setOrderTypeVal(transactionMap.get(EnumsPrefixConstants.ORDER_BUSINESS + directPushNewVo.getOrderType()));
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
//中国业绩转为人民币
itm.setOrderAchieve(achieList.get(0).getOrderAchieve().multiply(currency.getData().getInExchangeRate())); itm.setOrderAchieve(achieList.get(0).getOrderAchieve().multiply(currency.getData().getInExchangeRate()));
} else {
itm.setOrderAchieve(achieList.get(0).getOrderAchieve());
}
itm.setOrderAmount(achieList.get(0).getOrderAmount()); itm.setOrderAmount(achieList.get(0).getOrderAmount());
} }
}); });
@ -182,20 +167,16 @@ public class MemberReportController extends BaseController {
**/ **/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.SELECT) @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.SELECT)
@GetMapping("/direct-push-new-up") @GetMapping("/direct-push-new-up")
public TableDataInfo directPushNewUp(String memberCode, String memberName, public TableDataInfo directPushNewUp(String memberCode, String memberName, Integer pkAwards, Integer pkTeamCode,
Integer pkAwards, Integer pkTeamCode, Integer pkCountry,
Date startPayTime, Date endPayTime, Integer pkVertex, Integer orderType) { Date startPayTime, Date endPayTime, Integer pkVertex, Integer orderType) {
Long pkMember;
if (pkCountry == null) {
pkCountry = SecurityUtils.getPkCountry();
}
if (orderType == null) { if (orderType == null) {
orderType = EOrderUpBusiness.WHOLE.getValue(); orderType = EOrderUpBusiness.WHOLE.getValue();
} }
CuMember member;
Integer pkCountry = SecurityUtils.getPkCountry();
Long pkMember;
if (StringUtils.isNotBlank(memberCode)) { if (StringUtils.isNotBlank(memberCode)) {
R<CuMember> memberDto = iMemberServiceApi.getMember(memberCode); CuMember member = iMemberServiceApi.getMember(memberCode).getData();
member = memberDto.getData();
if (null != member) { if (null != member) {
pkMember = member.getPkId(); pkMember = member.getPkId();
} else { } else {
@ -204,17 +185,18 @@ public class MemberReportController extends BaseController {
} else { } else {
return getDataTable(new ArrayList<>()); return getDataTable(new ArrayList<>());
} }
Date date = DateUtils.currentDate(); Date date = DateUtils.currentDate();
if (DateUtils.compareDate(startPayTime, date) > 0) { if (DateUtils.compareDate(startPayTime, date) > 0) {
startPayTime = null; startPayTime = null;
endPayTime = null; endPayTime = null;
} }
if (StringUtils.isNull(startPayTime) || if (StringUtils.isNull(startPayTime) || StringUtils.isNull(endPayTime)) {
StringUtils.isNull(endPayTime)) {
//当前月的第一天 //当前月的第一天
startPayTime = DateUtils.currentMonthFirstDate(); startPayTime = DateUtils.currentMonthFirstDate();
endPayTime = date; endPayTime = date;
} }
//开始时间减一天 //开始时间减一天
String startDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, startPayTime)); String startDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, startPayTime));
String endDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, endPayTime); String endDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, endPayTime);
@ -231,19 +213,17 @@ public class MemberReportController extends BaseController {
dpo.setSettleTableNameEnd(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(endDateStr)); dpo.setSettleTableNameEnd(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(endDateStr));
//伞下直推新增业绩 //伞下直推新增业绩
List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex); List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex);
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieUpList(dpo, pkMember, orderType);
if (CollectionUtil.isNotEmpty(memberList)) { if (CollectionUtil.isNotEmpty(memberList)) {
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData();
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieUpList(dpo, pkMember, orderType);
Integer finalOrderType = orderType; Integer finalOrderType = orderType;
memberList.forEach(itm -> { memberList.forEach(itm -> {
if (null != achieList.get(0)) { if (null != achieList.get(0)) {
itm.setOrderAchieve(achieList.get(0).getOrderAchieve()); itm.setOrderAchieve(achieList.get(0).getOrderAchieve());
itm.setOrderAmount(achieList.get(0).getOrderAmount()); itm.setOrderAmount(achieList.get(0).getOrderAmount());
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { itm.setOrderAchieve(itm.getOrderAchieve().multiply(currency.getInExchangeRate()));
//中国业绩转为人民币 itm.setOrderAmount(itm.getOrderAmount().multiply(currency.getInExchangeRate()));
itm.setOrderAchieve(itm.getOrderAchieve().multiply(currency.getData().getInExchangeRate()));
itm.setOrderAmount(itm.getOrderAmount().multiply(currency.getData().getInExchangeRate()));
}
itm.setOrderType(finalOrderType); itm.setOrderType(finalOrderType);
} }
}); });
@ -257,22 +237,17 @@ public class MemberReportController extends BaseController {
**/ **/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.EXPORT) @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.DIRECT_PUSH_NEW, method = EOperationMethod.EXPORT)
@PostMapping("/export-direct-push-new-up") @PostMapping("/export-direct-push-new-up")
public void exportUp(String memberCode, String memberName, public void exportUp(String memberCode, String memberName, Integer pkAwards, Integer pkTeamCode,
Integer pkAwards, Integer pkTeamCode, Integer pkCountry,
Date startPayTime, Date endPayTime, Integer pkVertex, Integer orderType, Date startPayTime, Date endPayTime, Integer pkVertex, Integer orderType,
HttpServletResponse response) { HttpServletResponse response) {
Long pkMember;
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderUpBusiness.values());
if (pkCountry == null) {
pkCountry = SecurityUtils.getPkCountry();
}
if (orderType == null) { if (orderType == null) {
orderType = EOrderUpBusiness.WHOLE.getValue(); orderType = EOrderUpBusiness.WHOLE.getValue();
} }
CuMember member;
Integer pkCountry = SecurityUtils.getPkCountry();
Long pkMember;
if (StringUtils.isNotBlank(memberCode)) { if (StringUtils.isNotBlank(memberCode)) {
R<CuMember> memberDto = iMemberServiceApi.getMember(memberCode); CuMember member = iMemberServiceApi.getMember(memberCode).getData();
member = memberDto.getData();
if (null != member) { if (null != member) {
pkMember = member.getPkId(); pkMember = member.getPkId();
} else { } else {
@ -287,8 +262,7 @@ public class MemberReportController extends BaseController {
startPayTime = null; startPayTime = null;
endPayTime = null; endPayTime = null;
} }
if (StringUtils.isNull(startPayTime) || if (StringUtils.isNull(startPayTime) || StringUtils.isNull(endPayTime)) {
StringUtils.isNull(endPayTime)) {
//当前月的第一天 //当前月的第一天
startPayTime = DateUtils.currentMonthFirstDate(); startPayTime = DateUtils.currentMonthFirstDate();
endPayTime = date; endPayTime = date;
@ -310,19 +284,18 @@ public class MemberReportController extends BaseController {
dpo.setSettleTableNameEnd(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(endDateStr)); dpo.setSettleTableNameEnd(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(endDateStr));
//伞下直推新增业绩 //伞下直推新增业绩
List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex); List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex);
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieUpList(dpo, pkMember, orderType);
if (CollectionUtil.isNotEmpty(memberList)) { if (CollectionUtil.isNotEmpty(memberList)) {
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData();
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieUpList(dpo, pkMember, orderType);
Integer finalOrderType = orderType; Integer finalOrderType = orderType;
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderUpBusiness.values());
memberList.forEach(itm -> { memberList.forEach(itm -> {
if (null != achieList.get(0)) { if (null != achieList.get(0)) {
itm.setOrderAchieve(achieList.get(0).getOrderAchieve()); itm.setOrderAchieve(achieList.get(0).getOrderAchieve());
itm.setOrderAmount(achieList.get(0).getOrderAmount()); itm.setOrderAmount(achieList.get(0).getOrderAmount());
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { itm.setOrderAchieve(itm.getOrderAchieve().multiply(currency.getInExchangeRate()));
//中国业绩转为人民币 itm.setOrderAmount(itm.getOrderAmount().multiply(currency.getInExchangeRate()));
itm.setOrderAchieve(itm.getOrderAchieve().multiply(currency.getData().getInExchangeRate()));
itm.setOrderAmount(itm.getOrderAmount().multiply(currency.getData().getInExchangeRate()));
}
itm.setOrderTypeVal(transactionMap.get(EnumsPrefixConstants.ORDER_UP_BUSINESS + finalOrderType)); itm.setOrderTypeVal(transactionMap.get(EnumsPrefixConstants.ORDER_UP_BUSINESS + finalOrderType));
} }
}); });
@ -359,32 +332,84 @@ public class MemberReportController extends BaseController {
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_RESETTLE_ACHIEVE, method = EOperationMethod.SELECT) @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_RESETTLE_ACHIEVE, method = EOperationMethod.SELECT)
@GetMapping("/member-resettle-achieve") @GetMapping("/member-resettle-achieve")
public TableDataInfo memberResettleAchieve(String memberCode, String memberName, Date startPayTime, Date endPayTime, Integer pkVertex, Integer pkTeamCode, Integer orderType, Integer pkAwards) { public TableDataInfo memberResettleAchieve(String memberCode, String memberName, Date startPayTime, Date endPayTime, Integer pkVertex, Integer pkTeamCode, Integer orderType, Integer pkAwards) {
if (StringUtils.isEmpty(memberCode)) {
return getDataTable(new ArrayList<>());
}
if (startPayTime != null) { if (startPayTime != null) {
startPayTime = DateUtils.getStartTime(startPayTime); startPayTime = DateUtils.getStartTime(startPayTime);
} }
if (endPayTime != null) { if (endPayTime != null) {
endPayTime = DateUtils.getEndTime(endPayTime); endPayTime = DateUtils.getEndTime(endPayTime);
} }
if (StringUtils.isEmpty(memberCode)) {
return getDataTable(new ArrayList<>());
}
R<CuMember> memberDto = iMemberServiceApi.getMember(memberCode); CuMember member = iMemberServiceApi.getMember(memberCode).getData();
CuMember member = memberDto.getData();
Integer pkCountry = null;
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
pkCountry = SecurityUtils.getPkCountry();
}
if (member == null) { if (member == null) {
return getDataTable(new ArrayList<>()); return getDataTable(new ArrayList<>());
} }
R<CurrencyDTO> currencyDto = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()); Integer pkCountry = SecurityUtils.getPkCountry();
CurrencyDTO currency = currencyDto.getData();
List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(orderType); List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(orderType);
List<MemberResettleAchieveVo> memberResettleAchieveList = memberReportService.memberResettleAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, orderTypeList);
List<MemberResettleAchieveVo> memberResettleAchieveList = memberReportService.memberResettleAchieve(member.getPkId(), memberName, startPayTime, endPayTime, pkVertex, pkTeamCode, pkCountry, pkAwards, orderTypeList);
Map<Integer, MemberResettleAchieveVo> memberResettleAchieveMap = memberResettleAchieveList.stream().collect(Collectors.toMap(MemberResettleAchieveVo::getPlaceDept, Function.identity())); Map<Integer, MemberResettleAchieveVo> memberResettleAchieveMap = memberResettleAchieveList.stream().collect(Collectors.toMap(MemberResettleAchieveVo::getPlaceDept, Function.identity()));
// 左区新增业绩
BigDecimal leftNewAddAchieve = memberResettleAchieveMap.get(EPlaceDept.LEFT_DEPT.getValue()).getAchieve();
// 右区新增业绩
BigDecimal rightNewAddAchieve = memberResettleAchieveMap.get(EPlaceDept.RIGHT_DEPT.getValue()).getAchieve();
// 左区新增金额
BigDecimal leftNewAddAmount = memberResettleAchieveMap.get(EPlaceDept.LEFT_DEPT.getValue()).getAmount();
// 右区新增金额
BigDecimal rightNewAddAmount = memberResettleAchieveMap.get(EPlaceDept.RIGHT_DEPT.getValue()).getAmount();
MemberResettleAchieveVo mr = memberResettleAchieveList.get(0);
// 查询会员业绩
MemberResettleAchieveVo memberResettleAchieveVo = new MemberResettleAchieveVo();
memberResettleAchieveVo.setPkMember(member.getPkId());
memberResettleAchieveVo.setNationalFlag(mr.getNationalFlag());
memberResettleAchieveVo.setShortName(mr.getShortName());
memberResettleAchieveVo.setMemberCode(mr.getMemberCode());
memberResettleAchieveVo.setMemberName(mr.getMemberName());
memberResettleAchieveVo.setPhone(mr.getPhone());
memberResettleAchieveVo.setAwardsName(mr.getAwardsName());
memberResettleAchieveVo.setVertexName(mr.getVertexName());
memberResettleAchieveVo.setTeamCodeName(mr.getTeamCodeName());
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData();
BigDecimal inExchangeRate = currency.getInExchangeRate();
memberResettleAchieveVo.setLeftNewAddAmount(leftNewAddAmount);
memberResettleAchieveVo.setRightNewAddAmount(rightNewAddAmount);
memberResettleAchieveVo.setLeftNewAddAchieve(leftNewAddAchieve.multiply(inExchangeRate));
memberResettleAchieveVo.setRightNewAddAchieve(rightNewAddAchieve.multiply(inExchangeRate));
memberResettleAchieveVo.setOrderTime(mr.getOrderTime());
return getDataTable(Collections.singletonList(memberResettleAchieveVo));
}
/**
* 伞下新增安置业绩导出
*/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_RESETTLE_ACHIEVE, method = EOperationMethod.EXPORT)
@PostMapping("/member-resettle-achieve-export")
public void memberResettleAchieveExport(MemberResettleAchieveParam memberResettleAchieveParam, HttpServletResponse response) {
CuMember member = iMemberServiceApi.getMember(memberResettleAchieveParam.getMemberCode()).getData();
if (null == member) {
ExcelUtil<MemberResettleAchieveVo> util = new ExcelUtil<>(MemberResettleAchieveVo.class);
util.exportExcel(response, Collections.singletonList(new MemberResettleAchieveVo()), "伞下新增安置业绩导出");
} else {
if (memberResettleAchieveParam.getStartPayTime() != null) {
memberResettleAchieveParam.setStartPayTime(DateUtils.getStartTime(memberResettleAchieveParam.getStartPayTime()));
}
if (memberResettleAchieveParam.getEndPayTime() != null) {
memberResettleAchieveParam.setEndPayTime(DateUtils.getEndTime(memberResettleAchieveParam.getEndPayTime()));
}
Integer pkCountry = SecurityUtils.getPkCountry();
List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(memberResettleAchieveParam.getOrderType());
List<MemberResettleAchieveVo> memberResettleAchieveList = memberReportService.memberResettleAchieve(member.getPkId(), memberResettleAchieveParam.getMemberName(), memberResettleAchieveParam.getStartPayTime(),
memberResettleAchieveParam.getEndPayTime(), memberResettleAchieveParam.getPkVertex(), memberResettleAchieveParam.getPkTeamCode(), pkCountry, memberResettleAchieveParam.getPkAwards(), orderTypeList);
Map<Integer, MemberResettleAchieveVo> memberResettleAchieveMap = memberResettleAchieveList.stream().collect(Collectors.toMap(MemberResettleAchieveVo::getPlaceDept, Function.identity()));
// 左区新增业绩 // 左区新增业绩
BigDecimal leftNewAddAchieve = memberResettleAchieveMap.get(EPlaceDept.LEFT_DEPT.getValue()).getAchieve(); BigDecimal leftNewAddAchieve = memberResettleAchieveMap.get(EPlaceDept.LEFT_DEPT.getValue()).getAchieve();
// 右区新增业绩 // 右区新增业绩
@ -405,21 +430,17 @@ public class MemberReportController extends BaseController {
memberResettleAchieveVo.setAwardsName(mr.getAwardsName()); memberResettleAchieveVo.setAwardsName(mr.getAwardsName());
memberResettleAchieveVo.setVertexName(mr.getVertexName()); memberResettleAchieveVo.setVertexName(mr.getVertexName());
memberResettleAchieveVo.setTeamCodeName(mr.getTeamCodeName()); memberResettleAchieveVo.setTeamCodeName(mr.getTeamCodeName());
BigDecimal inExchangeRate = currency.getInExchangeRate();
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) { CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData();
BigDecimal inExchangeRate = currency.getInExchangeRate();
memberResettleAchieveVo.setLeftNewAddAmount(leftNewAddAmount); memberResettleAchieveVo.setLeftNewAddAmount(leftNewAddAmount);
memberResettleAchieveVo.setRightNewAddAmount(rightNewAddAmount); memberResettleAchieveVo.setRightNewAddAmount(rightNewAddAmount);
memberResettleAchieveVo.setLeftNewAddAchieve(leftNewAddAchieve.multiply(inExchangeRate)); memberResettleAchieveVo.setLeftNewAddAchieve(leftNewAddAchieve.multiply(inExchangeRate));
memberResettleAchieveVo.setRightNewAddAchieve(rightNewAddAchieve.multiply(inExchangeRate)); memberResettleAchieveVo.setRightNewAddAchieve(rightNewAddAchieve.multiply(inExchangeRate));
} else {
memberResettleAchieveVo.setLeftNewAddAmount(leftNewAddAmount.divide(inExchangeRate, 2, BigDecimal.ROUND_HALF_UP));
memberResettleAchieveVo.setRightNewAddAmount(rightNewAddAmount.divide(inExchangeRate, 2, BigDecimal.ROUND_HALF_UP));
memberResettleAchieveVo.setLeftNewAddAchieve(leftNewAddAchieve);
memberResettleAchieveVo.setRightNewAddAchieve(rightNewAddAchieve);
}
memberResettleAchieveVo.setOrderTime(mr.getOrderTime()); memberResettleAchieveVo.setOrderTime(mr.getOrderTime());
return getDataTable(Collections.singletonList(memberResettleAchieveVo)); ExcelUtil<MemberResettleAchieveVo> util = new ExcelUtil<>(MemberResettleAchieveVo.class);
util.exportExcel(response, Collections.singletonList(memberResettleAchieveVo), "伞下新增安置业绩导出");
}
} }
/** /**
@ -427,12 +448,12 @@ public class MemberReportController extends BaseController {
**/ **/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_RESETTLE_ACHIEVE, method = EOperationMethod.SELECT) @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_RESETTLE_ACHIEVE, method = EOperationMethod.SELECT)
@GetMapping("/member-resettle-achieve_up") @GetMapping("/member-resettle-achieve_up")
public TableDataInfo memberResettleAchieveUp(String memberCode, String memberName, Date startPayTime, public TableDataInfo memberResettleAchieveUp(String memberCode, String memberName, Date startPayTime, Date endPayTime,
Date endPayTime, Integer pkVertex, Integer pkTeamCode, Integer pkVertex, Integer pkTeamCode, Integer orderType, Integer pkAwards) {
Integer orderType, Integer pkAwards) {
if (startPayTime == null || endPayTime == null) { if (startPayTime == null || endPayTime == null) {
return getDataTable(new ArrayList<>()); return getDataTable(new ArrayList<>());
} }
Date date = new Date(); Date date = new Date();
String startDateStr = ""; String startDateStr = "";
String endDateStr = ""; String endDateStr = "";
@ -455,30 +476,33 @@ public class MemberReportController extends BaseController {
if (StringUtils.isEmpty(memberCode)) { if (StringUtils.isEmpty(memberCode)) {
return getDataTable(new ArrayList<>()); return getDataTable(new ArrayList<>());
} }
R<CuMemberExt> memberDto = iMemberServiceApi.getMemberByCode(memberCode); CuMember member = iMemberServiceApi.getMemberByCode(memberCode).getData();
CuMember member = memberDto.getData(); if (null == member) {
if (member == null) {
return getDataTable(new ArrayList<>()); return getDataTable(new ArrayList<>());
} }
Integer pkCountry = SecurityUtils.getPkCountry(); Integer pkCountry = SecurityUtils.getPkCountry();
R<CurrencyDTO> currencyDto = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
CurrencyDTO currency = currencyDto.getData();
List<MemberResettleAchieveVo> memberResettleAchieveList = new ArrayList<>(); List<MemberResettleAchieveVo> memberResettleAchieveList = new ArrayList<>();
BigDecimal inExchangeRate = currency.getInExchangeRate();
//查询最新期数 //查询最新期数
int staPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate( int staPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
DateUtils.parseDateToStr(startDateStr)).getPkId(); DateUtils.parseDateToStr(startDateStr)).getPkId();
int endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate( int endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
DateUtils.parseDateToStr(endDateStr)).getPkId(); DateUtils.parseDateToStr(endDateStr)).getPkId();
String staAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(startDateStr); String staAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(startDateStr);
String endAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(endDateStr); String endAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(endDateStr);
List<MemberResettleAchieveVo> staAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, List<MemberResettleAchieveVo> staAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, staAchieveTableName, staPeriod); pkVertex, pkTeamCode, pkCountry, pkAwards, staAchieveTableName, staPeriod);
List<MemberResettleAchieveVo> endAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, List<MemberResettleAchieveVo> endAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, endAchieveTableName, endPeriod); pkVertex, pkTeamCode, pkCountry, pkAwards, endAchieveTableName, endPeriod);
if (CollectionUtil.isNotEmpty(staAchieveList) && CollectionUtil.isNotEmpty(endAchieveList)) { if (CollectionUtil.isNotEmpty(staAchieveList) && CollectionUtil.isNotEmpty(endAchieveList)) {
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData();
BigDecimal inExchangeRate = currency.getInExchangeRate();
for (MemberResettleAchieveVo end : endAchieveList) { for (MemberResettleAchieveVo end : endAchieveList) {
for (MemberResettleAchieveVo sta : staAchieveList) { for (MemberResettleAchieveVo sta : staAchieveList) {
if (end.getPkMember().equals(sta.getPkMember())) { if (end.getPkMember().equals(sta.getPkMember())) {
@ -486,14 +510,12 @@ public class MemberReportController extends BaseController {
end.setRightNewAddAmount(end.getBSumAmount().subtract(sta.getBSumAmount())); end.setRightNewAddAmount(end.getBSumAmount().subtract(sta.getBSumAmount()));
end.setLeftNewAddAchieve(end.getASumPv().subtract(sta.getASumPv())); end.setLeftNewAddAchieve(end.getASumPv().subtract(sta.getASumPv()));
end.setRightNewAddAchieve(end.getBSumPv().subtract(sta.getBSumPv())); end.setRightNewAddAchieve(end.getBSumPv().subtract(sta.getBSumPv()));
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
end.setLeftNewAddAmount(end.getLeftNewAddAmount().multiply(inExchangeRate)); end.setLeftNewAddAmount(end.getLeftNewAddAmount().multiply(inExchangeRate));
end.setRightNewAddAmount(end.getRightNewAddAmount().multiply(inExchangeRate)); end.setRightNewAddAmount(end.getRightNewAddAmount().multiply(inExchangeRate));
end.setLeftNewAddAchieve(end.getLeftNewAddAchieve().multiply(inExchangeRate)); end.setLeftNewAddAchieve(end.getLeftNewAddAchieve().multiply(inExchangeRate));
end.setRightNewAddAchieve(end.getRightNewAddAchieve().multiply(inExchangeRate)); end.setRightNewAddAchieve(end.getRightNewAddAchieve().multiply(inExchangeRate));
} }
} }
}
memberResettleAchieveList.add(end); memberResettleAchieveList.add(end);
} }
} }
@ -505,12 +527,12 @@ public class MemberReportController extends BaseController {
**/ **/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_RESETTLE_ACHIEVE, method = EOperationMethod.EXPORT) @Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_RESETTLE_ACHIEVE, method = EOperationMethod.EXPORT)
@PostMapping("/member-resettle-achieve_up_export") @PostMapping("/member-resettle-achieve_up_export")
public void memberResettleAchieveUpExport(HttpServletResponse response, String memberCode, String memberName, Date startPayTime, public void memberResettleAchieveUpExport(HttpServletResponse response, String memberCode, String memberName, Date startPayTime, Date endPayTime,
Date endPayTime, Integer pkVertex, Integer pkTeamCode, Integer pkVertex, Integer pkTeamCode, Integer orderType, Integer pkAwards) {
Integer orderType, Integer pkAwards) {
if (startPayTime == null || endPayTime == null) { if (startPayTime == null || endPayTime == null) {
return; return;
} }
Date date = new Date(); Date date = new Date();
String startDateStr = ""; String startDateStr = "";
String endDateStr = ""; String endDateStr = "";
@ -533,33 +555,33 @@ public class MemberReportController extends BaseController {
if (StringUtils.isEmpty(memberCode)) { if (StringUtils.isEmpty(memberCode)) {
return; return;
} }
R<CuMemberExt> memberDto = iMemberServiceApi.getMemberByCode(memberCode); CuMember member = iMemberServiceApi.getMemberByCode(memberCode).getData();
CuMember member = memberDto.getData(); if (null == member) {
Integer pkCountry = null;
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
pkCountry = SecurityUtils.getPkCountry();
}
if (member == null) {
return; return;
} }
R<CurrencyDTO> currencyDto = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
CurrencyDTO currency = currencyDto.getData(); Integer pkCountry = SecurityUtils.getPkCountry();
List<MemberResettleAchieveVo> memberResettleAchieveList = new ArrayList<>(); List<MemberResettleAchieveVo> memberResettleAchieveList = new ArrayList<>();
BigDecimal inExchangeRate = currency.getInExchangeRate();
//查询最新期数 //查询最新期数
int staPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate( int staPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
DateUtils.parseDateToStr(startDateStr)).getPkId(); DateUtils.parseDateToStr(startDateStr)).getPkId();
int endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate( int endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
DateUtils.parseDateToStr(endDateStr)).getPkId(); DateUtils.parseDateToStr(endDateStr)).getPkId();
String staAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(startDateStr);
String staAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(startDateStr);
String endAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(endDateStr); String endAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(endDateStr);
List<MemberResettleAchieveVo> staAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, List<MemberResettleAchieveVo> staAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, staAchieveTableName, staPeriod); pkVertex, pkTeamCode, pkCountry, pkAwards, staAchieveTableName, staPeriod);
List<MemberResettleAchieveVo> endAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime, List<MemberResettleAchieveVo> endAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, endAchieveTableName, endPeriod); pkVertex, pkTeamCode, pkCountry, pkAwards, endAchieveTableName, endPeriod);
if (CollectionUtil.isNotEmpty(staAchieveList) && CollectionUtil.isNotEmpty(endAchieveList)) { if (CollectionUtil.isNotEmpty(staAchieveList) && CollectionUtil.isNotEmpty(endAchieveList)) {
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData();
BigDecimal inExchangeRate = currency.getInExchangeRate();
for (MemberResettleAchieveVo end : endAchieveList) { for (MemberResettleAchieveVo end : endAchieveList) {
for (MemberResettleAchieveVo sta : staAchieveList) { for (MemberResettleAchieveVo sta : staAchieveList) {
if (end.getPkMember().equals(sta.getPkMember())) { if (end.getPkMember().equals(sta.getPkMember())) {
@ -567,14 +589,12 @@ public class MemberReportController extends BaseController {
end.setRightNewAddAmount(end.getBSumAmount().subtract(sta.getBSumAmount())); end.setRightNewAddAmount(end.getBSumAmount().subtract(sta.getBSumAmount()));
end.setLeftNewAddAchieve(end.getASumPv().subtract(sta.getASumPv())); end.setLeftNewAddAchieve(end.getASumPv().subtract(sta.getASumPv()));
end.setRightNewAddAchieve(end.getBSumPv().subtract(sta.getBSumPv())); end.setRightNewAddAchieve(end.getBSumPv().subtract(sta.getBSumPv()));
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
end.setLeftNewAddAmount(end.getLeftNewAddAmount().multiply(inExchangeRate)); end.setLeftNewAddAmount(end.getLeftNewAddAmount().multiply(inExchangeRate));
end.setRightNewAddAmount(end.getRightNewAddAmount().multiply(inExchangeRate)); end.setRightNewAddAmount(end.getRightNewAddAmount().multiply(inExchangeRate));
end.setLeftNewAddAchieve(end.getLeftNewAddAchieve().multiply(inExchangeRate)); end.setLeftNewAddAchieve(end.getLeftNewAddAchieve().multiply(inExchangeRate));
end.setRightNewAddAchieve(end.getRightNewAddAchieve().multiply(inExchangeRate)); end.setRightNewAddAchieve(end.getRightNewAddAchieve().multiply(inExchangeRate));
} }
} }
}
memberResettleAchieveList.add(end); memberResettleAchieveList.add(end);
} }
} }
@ -582,81 +602,6 @@ public class MemberReportController extends BaseController {
util.exportExcel(response, memberResettleAchieveList, "伞下新增安置业绩导出"); util.exportExcel(response, memberResettleAchieveList, "伞下新增安置业绩导出");
} }
/**
* 伞下新增安置业绩导出
*/
@Log(module = EOperationModule.STATISTIC_ANALYSIS, business = EOperationBusiness.MEMBER_RESETTLE_ACHIEVE, method = EOperationMethod.EXPORT)
@PostMapping("/member-resettle-achieve-export")
public void memberResettleAchieveExport(MemberResettleAchieveParam memberResettleAchieveParam, HttpServletResponse response) {
if (memberResettleAchieveParam.getStartPayTime() != null) {
memberResettleAchieveParam.setStartPayTime(DateUtils.getStartTime(memberResettleAchieveParam.getStartPayTime()));
}
if (memberResettleAchieveParam.getEndPayTime() != null) {
memberResettleAchieveParam.setEndPayTime(DateUtils.getEndTime(memberResettleAchieveParam.getEndPayTime()));
}
R<CuMember> memberDto = iMemberServiceApi.getMember(memberResettleAchieveParam.getMemberCode());
CuMember member = memberDto.getData();
if (member == null) {
ExcelUtil<MemberResettleAchieveVo> util = new ExcelUtil<>(MemberResettleAchieveVo.class);
util.exportExcel(response, Collections.singletonList(new MemberResettleAchieveVo()), "伞下新增安置业绩导出");
} else {
if (memberResettleAchieveParam.getStartPayTime() != null) {
memberResettleAchieveParam.setStartPayTime(DateUtils.getStartTime(memberResettleAchieveParam.getStartPayTime()));
}
if (memberResettleAchieveParam.getEndPayTime() != null) {
memberResettleAchieveParam.setEndPayTime(DateUtils.getEndTime(memberResettleAchieveParam.getEndPayTime()));
}
Integer pkCountry = null;
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
pkCountry = SecurityUtils.getPkCountry();
}
R<CurrencyDTO> currencyDto = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
CurrencyDTO currency = currencyDto.getData();
List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(memberResettleAchieveParam.getOrderType());
List<MemberResettleAchieveVo> memberResettleAchieveList = memberReportService.memberResettleAchieve(member.getPkId(), memberResettleAchieveParam.getMemberName(), memberResettleAchieveParam.getStartPayTime(), memberResettleAchieveParam.getEndPayTime(), memberResettleAchieveParam.getPkVertex(), memberResettleAchieveParam.getPkTeamCode(), pkCountry, memberResettleAchieveParam.getPkAwards(), orderTypeList);
Map<Integer, MemberResettleAchieveVo> memberResettleAchieveMap = memberResettleAchieveList.stream().collect(Collectors.toMap(MemberResettleAchieveVo::getPlaceDept, Function.identity()));
// 左区新增业绩
BigDecimal leftNewAddAchieve = memberResettleAchieveMap.get(EPlaceDept.LEFT_DEPT.getValue()).getAchieve();
// 右区新增业绩
BigDecimal rightNewAddAchieve = memberResettleAchieveMap.get(EPlaceDept.RIGHT_DEPT.getValue()).getAchieve();
// 左区新增金额
BigDecimal leftNewAddAmount = memberResettleAchieveMap.get(EPlaceDept.LEFT_DEPT.getValue()).getAmount();
// 右区新增金额
BigDecimal rightNewAddAmount = memberResettleAchieveMap.get(EPlaceDept.RIGHT_DEPT.getValue()).getAmount();
MemberResettleAchieveVo mr = memberResettleAchieveList.get(0);
// 查询会员业绩
MemberResettleAchieveVo memberResettleAchieveVo = new MemberResettleAchieveVo();
memberResettleAchieveVo.setPkMember(member.getPkId());
memberResettleAchieveVo.setNationalFlag(mr.getNationalFlag());
memberResettleAchieveVo.setShortName(mr.getShortName());
memberResettleAchieveVo.setMemberCode(mr.getMemberCode());
memberResettleAchieveVo.setMemberName(mr.getMemberName());
memberResettleAchieveVo.setPhone(mr.getPhone());
memberResettleAchieveVo.setAwardsName(mr.getAwardsName());
memberResettleAchieveVo.setVertexName(mr.getVertexName());
memberResettleAchieveVo.setTeamCodeName(mr.getTeamCodeName());
BigDecimal inExchangeRate = currency.getInExchangeRate();
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
memberResettleAchieveVo.setLeftNewAddAmount(leftNewAddAmount);
memberResettleAchieveVo.setRightNewAddAmount(rightNewAddAmount);
memberResettleAchieveVo.setLeftNewAddAchieve(leftNewAddAchieve.multiply(inExchangeRate));
memberResettleAchieveVo.setRightNewAddAchieve(rightNewAddAchieve.multiply(inExchangeRate));
} else {
memberResettleAchieveVo.setLeftNewAddAmount(leftNewAddAmount.divide(inExchangeRate, 2, BigDecimal.ROUND_HALF_UP));
memberResettleAchieveVo.setRightNewAddAmount(rightNewAddAmount.divide(inExchangeRate, 2, BigDecimal.ROUND_HALF_UP));
memberResettleAchieveVo.setLeftNewAddAchieve(leftNewAddAchieve);
memberResettleAchieveVo.setRightNewAddAchieve(rightNewAddAchieve);
}
memberResettleAchieveVo.setOrderTime(mr.getOrderTime());
ExcelUtil<MemberResettleAchieveVo> util = new ExcelUtil<>(MemberResettleAchieveVo.class);
util.exportExcel(response, Collections.singletonList(memberResettleAchieveVo), "伞下新增安置业绩导出");
}
}
/** /**
* 订单币种查询 * 订单币种查询
* *

View File

@ -14,7 +14,14 @@ public interface MemberReportMapper {
* *
* @return * @return
*/ */
List<DirectPushNewVo> directPushNewList(@Param("pkMember") Long pkMember, @Param("memberName") String memberName, @Param("pkAwards") Integer pkAwards, @Param("pkTeamCode") Integer pkTeamCode, @Param("pkCountry") Integer pkCountry, @Param("startPayTime") Date startPayTime, @Param("endPayTime") Date endPayTime, @Param("pkVertex") Integer pkVertex); List<DirectPushNewVo> directPushNewList(@Param("pkMember") Long pkMember,
@Param("memberName") String memberName,
@Param("pkAwards") Integer pkAwards,
@Param("pkTeamCode") Integer pkTeamCode,
@Param("pkCountry") Integer pkCountry,
@Param("startPayTime") Date startPayTime,
@Param("endPayTime") Date endPayTime,
@Param("pkVertex") Integer pkVertex);
/** /**
* 查询伞下直推新增业绩-业绩 * 查询伞下直推新增业绩-业绩
@ -49,7 +56,15 @@ public interface MemberReportMapper {
* *
* @return * @return
*/ */
List<MemberResettleAchieveVo> memberResettleAchieve(@Param("pkMember") Long pkMember, @Param("memberName") String memberName, @Param("startPayTime") Date startPayTime, @Param("endPayTime") Date endPayTime, @Param("pkVertex") Integer pkVertex, @Param("pkTeamCode") Integer pkTeamCode, @Param("pkCountry") Integer pkCountry, @Param("pkAwards") Integer pkAwards, @Param("orderTypeList") List<Integer> orderTypeList); List<MemberResettleAchieveVo> memberResettleAchieve(@Param("pkMember") Long pkMember,
@Param("memberName") String memberName,
@Param("startPayTime") Date startPayTime,
@Param("endPayTime") Date endPayTime,
@Param("pkVertex") Integer pkVertex,
@Param("pkTeamCode") Integer pkTeamCode,
@Param("pkCountry") Integer pkCountry,
@Param("pkAwards") Integer pkAwards,
@Param("orderTypeList") List<Integer> orderTypeList);
/** /**
* 伞下新增安置业绩 * 伞下新增安置业绩

View File

@ -42,7 +42,8 @@ public interface MemberReportService {
* *
* @return * @return
*/ */
List<MemberResettleAchieveVo> memberResettleAchieve(Long pkMember, String memberName, Date startPayTime, Date endPayTime, Integer pkVertex, Integer pkTeamCode, Integer pkCountry, Integer pkAwards, List<Integer> orderTypeList); List<MemberResettleAchieveVo> memberResettleAchieve(Long pkMember, String memberName, Date startPayTime, Date endPayTime, Integer pkVertex, Integer pkTeamCode,
Integer pkCountry, Integer pkAwards, List<Integer> orderTypeList);
/** /**
* 查询伞下新增安置业绩 * 查询伞下新增安置业绩

View File

@ -48,7 +48,7 @@ public class MemberReportServiceImpl implements MemberReportService {
@DubboReference @DubboReference
IAccountServiceApi iAccountServiceApi; IAccountServiceApi iAccountServiceApi;
@DubboReference @DubboReference
ICurrencyServiceApi currencyServiceApi; ICurrencyServiceApi iCurrencyServiceApi;
@Override @Override
public List<DirectPushNewVo> directPushNewList(Long pkMember, String memberName, Integer pkAwards, Integer pkTeamCode, Integer pkCountry, Date startPayTime, Date endPayTime, Integer pkVertex) { public List<DirectPushNewVo> directPushNewList(Long pkMember, String memberName, Integer pkAwards, Integer pkTeamCode, Integer pkCountry, Date startPayTime, Date endPayTime, Integer pkVertex) {
@ -71,7 +71,8 @@ public class MemberReportServiceImpl implements MemberReportService {
} }
@Override @Override
public List<MemberResettleAchieveVo> memberResettleAchieve(Long pkMember, String memberName, Date startPayTime, Date endPayTime, Integer pkVertex, Integer pkTeamCode, Integer pkCountry, Integer pkAwards, List<Integer> orderTypeList) { public List<MemberResettleAchieveVo> memberResettleAchieve(Long pkMember, String memberName, Date startPayTime, Date endPayTime, Integer pkVertex, Integer pkTeamCode,
Integer pkCountry, Integer pkAwards, List<Integer> orderTypeList) {
return memberReportMapper.memberResettleAchieve(pkMember, memberName, startPayTime, endPayTime, pkVertex, pkTeamCode, pkCountry, pkAwards, orderTypeList); return memberReportMapper.memberResettleAchieve(pkMember, memberName, startPayTime, endPayTime, pkVertex, pkTeamCode, pkCountry, pkAwards, orderTypeList);
} }
@ -237,7 +238,7 @@ public class MemberReportServiceImpl implements MemberReportService {
Map<Integer, BdAccount> map = allAccounts.stream().collect(Collectors.toMap(BdAccount::getPkId, o -> o)); Map<Integer, BdAccount> map = allAccounts.stream().collect(Collectors.toMap(BdAccount::getPkId, o -> o));
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(ETradeType.values()); Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(ETradeType.values());
//根据国家查询汇率 //根据国家查询汇率
CurrencyDTO currency = currencyServiceApi.getCurrency(pkCountry).getData(); CurrencyDTO currency = iCurrencyServiceApi.getCurrency(pkCountry).getData();
//汇率 //汇率
BigDecimal exchangeRate = currency.getInExchangeRate(); BigDecimal exchangeRate = currency.getInExchangeRate();
for (CuMemberWalletVO cuMemberWalletVO : cuMemberWalletVOList) { for (CuMemberWalletVO cuMemberWalletVO : cuMemberWalletVOList) {

View File

@ -18,6 +18,7 @@ import java.util.Date;
@Builder @Builder
@Data @Data
public class DirectPushNewVo { public class DirectPushNewVo {
/** /**
* 国旗 * 国旗
*/ */
@ -70,14 +71,14 @@ public class DirectPushNewVo {
/** /**
* 订单实际金额 * 订单实际金额
*/ */
@Excel(name = "新增金额(¥)") @Excel(name = "新增金额(¥)", scale = 2)
@BigDecimalFormat() @BigDecimalFormat()
private BigDecimal orderAmount=BigDecimal.ZERO; private BigDecimal orderAmount = BigDecimal.ZERO;
/** /**
* 订单实际业绩 * 订单实际业绩
*/ */
@Excel(name = "新增业绩(PV)") @Excel(name = "新增业绩(PV)", scale = 2)
@BigDecimalFormat() @BigDecimalFormat()
private BigDecimal orderAchieve; private BigDecimal orderAchieve;
@ -97,7 +98,6 @@ public class DirectPushNewVo {
*/ */
private BigDecimal LcMemberCode; private BigDecimal LcMemberCode;
/** /**
* 联创姓名 * 联创姓名
*/ */
@ -194,5 +194,4 @@ public class DirectPushNewVo {
private String settleTableNameEnd; private String settleTableNameEnd;
} }

View File

@ -79,34 +79,33 @@ public class MemberResettleAchieveVo {
* 左区新增金额 * 左区新增金额
*/ */
@BigDecimalFormat @BigDecimalFormat
@Excel(name = "左区新增金额") @Excel(name = "左区新增金额", scale = 2)
private BigDecimal leftNewAddAmount = BigDecimal.ONE; private BigDecimal leftNewAddAmount = BigDecimal.ONE;
/** /**
* 右区新增金额 * 右区新增金额
*/ */
@BigDecimalFormat @BigDecimalFormat
@Excel(name = "右区新增金额") @Excel(name = "右区新增金额", scale = 2)
private BigDecimal rightNewAddAmount = BigDecimal.ONE; private BigDecimal rightNewAddAmount = BigDecimal.ONE;
/** /**
* 左区新增业绩pv * 左区新增业绩pv
*/ */
@BigDecimalFormat @BigDecimalFormat
@Excel(name = "左区新增业绩") @Excel(name = "左区新增业绩", scale = 2)
private BigDecimal leftNewAddAchieve = BigDecimal.ONE; private BigDecimal leftNewAddAchieve = BigDecimal.ONE;
/** /**
* 右区新增业绩pv * 右区新增业绩pv
*/ */
@BigDecimalFormat @BigDecimalFormat
@Excel(name = "右区新增业绩") @Excel(name = "右区新增业绩", scale = 2)
private BigDecimal rightNewAddAchieve = BigDecimal.ONE; private BigDecimal rightNewAddAchieve = BigDecimal.ONE;
/** /**
* 订单日期 * 订单日期
*/ */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// @Excel(name = "订单日期",dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date orderTime; private Date orderTime;
/** /**
* 首购累计 * 首购累计
@ -115,19 +114,5 @@ public class MemberResettleAchieveVo {
private BigDecimal bSumAmount; private BigDecimal bSumAmount;
private BigDecimal aSumPv; private BigDecimal aSumPv;
private BigDecimal bSumPv; private BigDecimal bSumPv;
/**
* 复购
*/
// private BigDecimal repASumAmount;
// private BigDecimal repBSumAmount;
// private BigDecimal repASumPv;
// private BigDecimal repBSumPv;
/**
* 真实首购+复购
*/
// private BigDecimal aSumRealAmount;
// private BigDecimal bSumRealAmount;
// private BigDecimal aSumRealPv;
// private BigDecimal bSumRealPv;
} }

View File

@ -19,21 +19,21 @@
left join bd_awards ba on ba.pk_id = cm.PK_AWARDS left join bd_awards ba on ba.pk_id = cm.PK_AWARDS
left join bd_vertex bv on bv.PK_ID = cm.PK_VERTEX left join bd_vertex bv on bv.PK_ID = cm.PK_VERTEX
left join cu_member_team cmt on cm.pk_team_code = cmt.pk_id left join cu_member_team cmt on cm.pk_team_code = cmt.pk_id
where cm.del_flag = 0 and cm.pk_id=#{pkMember} where cm.del_flag = 0 and cm.pk_id = #{pkMember}
<if test="memberName != null and memberName != ''"> <if test="memberName != null and memberName != ''">
and cm.MEMBER_NAME=#{memberName} and cm.MEMBER_NAME = #{memberName}
</if> </if>
<if test="pkAwards != null"> <if test="pkAwards != null">
and cm.PK_AWARDS=#{pkAwards} and cm.PK_AWARDS = #{pkAwards}
</if> </if>
<if test="pkVertex != null"> <if test="pkVertex != null">
and cm.PK_VERTEX=#{pkVertex} and cm.PK_VERTEX = #{pkVertex}
</if> </if>
<if test="pkTeamCode != null"> <if test="pkTeamCode != null">
and cm.PK_TEAM_CODE=#{pkTeamCode} and cm.PK_TEAM_CODE = #{pkTeamCode}
</if> </if>
<if test="pkCountry != null"> <if test="pkCountry != null">
and cm.PK_SETTLE_COUNTRY=#{pkCountry} and cm.PK_SETTLE_COUNTRY = #{pkCountry}
</if> </if>
</select> </select>
@ -45,50 +45,27 @@
sum(orderAssAchieve) orderAssAchieve sum(orderAssAchieve) orderAssAchieve
from ( from (
select select
CASE WHEN sum( so.ORDER_ACHIEVE ) is null THEN 0 ELSE sum( so.ORDER_ACHIEVE ) end orderAchieve, CASE
CASE WHEN sum( so.ORDER_AMOUNT - nvl(so.consume_amount, 0) ) is null THEN 0 ELSE sum( so.ORDER_AMOUNT - nvl(so.consume_amount, 0) ) end WHEN sum( so.ORDER_ACHIEVE ) is null THEN 0
orderAmount, ELSE sum( so.ORDER_ACHIEVE )
CASE WHEN sum(so.order_ass_achieve) is null THEN 0 ELSE sum(so.order_ass_achieve) end orderAssAchieve end orderAchieve,
CASE
WHEN sum( so.ORDER_AMOUNT - nvl(so.consume_amount, 0) ) is null THEN 0
ELSE sum( so.ORDER_AMOUNT - nvl(so.consume_amount, 0) )
end orderAmount,
CASE
WHEN sum(so.order_ass_achieve) is null THEN 0
ELSE sum(so.order_ass_achieve)
end orderAssAchieve
from SA_ORDER so from SA_ORDER so
where so.DEL_FLAG = 0 where so.DEL_FLAG = 0
and so.ORDER_STATUS = 1 and so.ORDER_STATUS = 1
and so.PK_COUNTRY = #{pkCountry} and so.PK_COUNTRY = #{pkCountry}
and so.pk_member in ( and so.pk_member in (
SELECT SELECT cm.pk_id
cm.pk_id FROM cu_member cm
FROM WHERE cm.del_flag = 0
cu_member cm START WITH cm.pk_parent = #{pkMember} CONNECT BY cm.pk_parent = PRIOR cm.pk_id )
WHERE
cm.del_flag = 0
START WITH cm.pk_parent = #{pkMember} CONNECT BY cm.pk_parent = PRIOR cm.pk_id
)
<if test="orderTypeList != null">
and so.ORDER_TYPE in
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="startPayTime != null and endPayTime != null">
and so.PAY_TIME between #{startPayTime, jdbcType=TIMESTAMP} and #{endPayTime, jdbcType=TIMESTAMP}
</if>
UNION ALL
select
CASE WHEN sum( so.ORDER_ACHIEVE ) is null THEN 0 ELSE sum( so.ORDER_ACHIEVE ) end orderAchieve,
CASE WHEN sum( so.ORDER_AMOUNT ) is null THEN 0 ELSE sum( so.ORDER_AMOUNT ) end orderAmount,
CASE WHEN sum(so.order_ass_achieve) is null THEN 0 ELSE sum(so.order_ass_achieve) end orderAssAchieve
from SA_T_ORDER so
where so.DEL_FLAG = 0
and so.ORDER_STATUS = 1
and so.PK_COUNTRY = #{pkCountry}
and so.pk_member in (
SELECT
cm.pk_id
FROM
cu_member cm
WHERE
cm.del_flag = 0
START WITH cm.pk_parent = #{pkMember} CONNECT BY cm.pk_parent = PRIOR cm.pk_id
)
<if test="orderTypeList != null"> <if test="orderTypeList != null">
and so.ORDER_TYPE in and so.ORDER_TYPE in
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=","> <foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
@ -107,8 +84,8 @@
(endm.orderAmount - stam.orderAmount) orderAmount, (endm.orderAmount - stam.orderAmount) orderAmount,
endm.pkMember endm.pkMember
FROM ( FROM (
SELECT nvl((sum((cma.REGISTER_PV + cma.UPGRADE_PV))), 0) AS orderAchieve, SELECT nvl(sum(cma.REGISTER_PV + cma.UPGRADE_PV), 0) AS orderAchieve,
nvl(sum((cma.REGISTER_AMOUNT + cma.UPGRADE_AMOUNT)), 0) AS orderAmount, nvl(sum(cma.REGISTER_AMOUNT + cma.UPGRADE_AMOUNT), 0) AS orderAmount,
#{pkMember} AS pkMember #{pkMember} AS pkMember
FROM ${dpo.achieveTableNameEnd} cma FROM ${dpo.achieveTableNameEnd} cma
WHERE 1 = 1 WHERE 1 = 1
@ -122,35 +99,34 @@
WHERE cm.pk_settle_country = #{dpo.pkCountry} WHERE cm.pk_settle_country = #{dpo.pkCountry}
and cm.PERIOD = #{dpo.periodEnd} and cm.PERIOD = #{dpo.periodEnd}
) cm ) cm
START WITH cm.pk_parent =#{pkMember} START WITH cm.pk_parent = #{pkMember}
CONNECT BY cm.pk_parent = PRIOR cm.PK_MEMBER CONNECT BY cm.pk_parent = PRIOR cm.PK_MEMBER
) ) endm join ( ) ) endm
join (
SELECT SELECT
nvl((sum((cma.REGISTER_PV +cma.UPGRADE_PV))),0 ) AS orderAchieve, nvl(sum(cma.REGISTER_PV +cma.UPGRADE_PV), 0) AS orderAchieve,
nvl(sum((cma.REGISTER_AMOUNT+cma.UPGRADE_AMOUNT)),0) AS orderAmount, #{pkMember} AS pkMember nvl(sum(cma.REGISTER_AMOUNT+cma.UPGRADE_AMOUNT), 0) AS orderAmount, #{pkMember} AS pkMember
FROM FROM ${dpo.achieveTableNameSta} cma
${dpo.achieveTableNameSta} cma WHERE 1 = 1
WHERE
1 = 1
AND cma.PK_COUNTRY = #{dpo.pkCountry} AND cma.PK_COUNTRY = #{dpo.pkCountry}
AND cma.PERIOD =#{dpo.periodSta} AND cma.PERIOD = #{dpo.periodSta}
AND cma.PK_MEMBER IN ( AND cma.PK_MEMBER IN (
select cm.PK_MEMBER from ( select cm.PK_MEMBER from (
SELECT SELECT *
* FROM ${dpo.settleTableNameSta} cm
FROM
${dpo.settleTableNameSta} cm
WHERE cm.pk_settle_country = #{dpo.pkCountry} WHERE cm.pk_settle_country = #{dpo.pkCountry}
and cm.PERIOD =#{dpo.periodSta} and cm.PERIOD =#{dpo.periodSta}
) cm START WITH cm.pk_parent =#{pkMember} ) cm
START WITH cm.pk_parent = #{pkMember}
CONNECT BY cm.pk_parent = PRIOR cm.PK_MEMBER CONNECT BY cm.pk_parent = PRIOR cm.PK_MEMBER
) )
) stam ) stam
on endm.pkMember=stam.pkMember on endm.pkMember = stam.pkMember
</select> </select>
<select id="memberConsumptionList" resultType="com.hzs.report.member.vo.MemberConsumptionVo"> <select id="memberConsumptionList" resultType="com.hzs.report.member.vo.MemberConsumptionVo">
select cm.MEMBER_CODE memberCode ,cm.MEMBER_NAME memberName,nvl(a.orderAmount,0)orderAmount,nvl(a.orderAchieve,0)orderAchieve,cm.pk_id pkMember select cm.MEMBER_CODE memberCode ,cm.MEMBER_NAME memberName,nvl(a.orderAmount,0)orderAmount,nvl(a.orderAchieve,0)orderAchieve,cm.pk_id
pkMember
from cu_member cm from cu_member cm
left join ( left join (
select nvl(sum(si.PRICE*si.QUANTITY),0) orderAmount, nvl(sum(si.ACHIEVEMENT*si.QUANTITY),0) orderAchieve,so.PK_CREATOR from SA_ORDER_ITEMS si select nvl(sum(si.PRICE*si.QUANTITY),0) orderAmount, nvl(sum(si.ACHIEVEMENT*si.QUANTITY),0) orderAchieve,so.PK_CREATOR from SA_ORDER_ITEMS si
@ -177,7 +153,9 @@
</select> </select>
<select id="memberResettleAchieve" resultType="com.hzs.report.member.vo.MemberResettleAchieveVo"> <select id="memberResettleAchieve" resultType="com.hzs.report.member.vo.MemberResettleAchieveVo">
select bc.NATIONAL_FLAG1 nationalFlag,e.achieve,e.amount, select bc.NATIONAL_FLAG1 nationalFlag,
e.achieve,
e.amount,
bc.SHORT_NAME shortName, bc.SHORT_NAME shortName,
cm.MEMBER_CODE memberCode, cm.MEMBER_CODE memberCode,
cm.MEMBER_NAME memberName, cm.MEMBER_NAME memberName,
@ -203,10 +181,12 @@
left join bd_vertex bv left join bd_vertex bv
on bv.pk_id = cm.PK_VERTEX on bv.pk_id = cm.PK_VERTEX
inner join ( inner join (
select #{pkMember} pkMember, 1 place_dept,nvl(sum(so.ORDER_ACHIEVE), 0) achieve,nvl(sum(so.ORDER_AMOUNT - nvl(so.consume_amount, 0)), 0) select #{pkMember} pkMember,
amount 1 place_dept,
nvl(sum(so.ORDER_ACHIEVE), 0) achieve,
nvl(sum(so.ORDER_AMOUNT - nvl(so.consume_amount, 0)), 0) amount
from SA_ORDER so from SA_ORDER so
inner join( inner join (
select a.pk_id from ( select a.pk_id from (
SELECT pk_id,del_flag,CUSTOMER_TYPE SELECT pk_id,del_flag,CUSTOMER_TYPE
FROM cu_member where 1 = 1 FROM cu_member where 1 = 1
@ -219,15 +199,15 @@
<if test="pkTeamCode != null"> <if test="pkTeamCode != null">
and PK_TEAM_CODE=#{pkTeamCode} and PK_TEAM_CODE=#{pkTeamCode}
</if> </if>
START WITH pk_place_parent = #{pkMember} and place_dept=1 START WITH pk_place_parent = #{pkMember} and place_dept = 1
CONNECT BY pk_place_parent = PRIOR pk_id) a CONNECT BY pk_place_parent = PRIOR pk_id) a
where a.del_flag =0 where a.del_flag = 0
) a ) a
on so.pk_member=a.pk_id on so.pk_member = a.pk_id
where so.del_flag = 0 where so.del_flag = 0
and so.ORDER_STATUS = 1 and so.ORDER_STATUS = 1
<if test="pkCountry != null"> <if test="pkCountry != null">
and pk_country=#{pkCountry} and pk_country = #{pkCountry}
</if> </if>
<if test="startPayTime != null"> <if test="startPayTime != null">
and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') &gt;= to_char(#{startPayTime}, 'yyyy-mm-dd hh24:mi:ss') and to_char(so.PAY_TIME, 'yyyy-mm-dd hh24:mi:ss') &gt;= to_char(#{startPayTime}, 'yyyy-mm-dd hh24:mi:ss')
@ -242,10 +222,12 @@
</foreach> </foreach>
</if> </if>
union all union all
select #{pkMember} pkMember, 2 place_dept,nvl(sum(so.ORDER_ACHIEVE), 0) achieve,nvl(sum(so.ORDER_AMOUNT - nvl(so.consume_amount, 0)), 0) select #{pkMember} pkMember,
amount 2 place_dept,
nvl(sum(so.ORDER_ACHIEVE), 0) achieve,
nvl(sum(so.ORDER_AMOUNT - nvl(so.consume_amount, 0)), 0) amount
from SA_ORDER so from SA_ORDER so
inner join( inner join (
select a.pk_id from ( select a.pk_id from (
SELECT pk_id,del_flag,CUSTOMER_TYPE SELECT pk_id,del_flag,CUSTOMER_TYPE
FROM cu_member where 1 = 1 FROM cu_member where 1 = 1
@ -258,11 +240,11 @@
<if test="pkTeamCode != null"> <if test="pkTeamCode != null">
and PK_TEAM_CODE=#{pkTeamCode} and PK_TEAM_CODE=#{pkTeamCode}
</if> </if>
START WITH pk_place_parent = #{pkMember} and place_dept=2 START WITH pk_place_parent = #{pkMember} and place_dept = 2
CONNECT BY pk_place_parent = PRIOR pk_id) a CONNECT BY pk_place_parent = PRIOR pk_id) a
where a.del_flag =0 where a.del_flag = 0
) a ) a
on so.pk_member=a.pk_id on so.pk_member = a.pk_id
where so.del_flag = 0 where so.del_flag = 0
and so.ORDER_STATUS = 1 and so.ORDER_STATUS = 1
<if test="pkCountry != null"> <if test="pkCountry != null">
@ -282,18 +264,17 @@
</if> </if>
) e on e.pkMember = cm.pk_id ) e on e.pkMember = cm.pk_id
where cm.del_flag = 0 where cm.del_flag = 0
and cm.pk_id=#{pkMember} and cm.pk_id = #{pkMember}
<if test="memberName != null and memberName != ''"> <if test="memberName != null and memberName != ''">
and cm.MEMBER_NAME=#{memberName} and cm.MEMBER_NAME = #{memberName}
</if> </if>
<if test="pkCountry != null"> <if test="pkCountry != null">
and cm.PK_SETTLE_COUNTRY=#{pkCountry} and cm.PK_SETTLE_COUNTRY = #{pkCountry}
</if> </if>
</select> </select>
<!-- 查询伞下新增安置业绩--> <!-- 查询伞下新增安置业绩-->
<select id="selectBrollyNewABAchieve" <select id="selectBrollyNewABAchieve" resultType="com.hzs.report.member.vo.MemberResettleAchieveVo">
resultType="com.hzs.report.member.vo.MemberResettleAchieveVo">
select cm.PAY_TIME orderTime, select cm.PAY_TIME orderTime,
cm.pk_id pkMember, cm.pk_id pkMember,
bc.NATIONAL_FLAG1 nationalFlag, bc.NATIONAL_FLAG1 nationalFlag,
@ -304,10 +285,10 @@
ba.AWARDS_NAME awardsName, ba.AWARDS_NAME awardsName,
mt.TEAM_NAME teamCodeName, mt.TEAM_NAME teamCodeName,
bv.VERTEX_NAME vertexName, bv.VERTEX_NAME vertexName,
nvl(cmpv.aSumAmount,0) aSumAmount, nvl(cmpv.aSumAmount, 0) aSumAmount,
nvl(cmpv.bSumAmount,0) bSumAmount, nvl(cmpv.bSumAmount, 0) bSumAmount,
nvl(cmpv.aSumPv,0) aSumPv, nvl(cmpv.aSumPv, 0) aSumPv,
nvl(cmpv.bSumPv,0) bSumPv nvl(cmpv.bSumPv, 0) bSumPv
from cu_member cm from cu_member cm
left join BD_COUNTRY bc on bc.PK_ID = cm.PK_SETTLE_COUNTRY left join BD_COUNTRY bc on bc.PK_ID = cm.PK_SETTLE_COUNTRY
left join bd_awards ba on ba.pk_id = cm.PK_AWARDS left join bd_awards ba on ba.pk_id = cm.PK_AWARDS
@ -320,17 +301,17 @@
sum(b_sum_amount) bSumAmount, sum(b_sum_amount) bSumAmount,
sum(a_sum_pv) aSumPv, sum(a_sum_pv) aSumPv,
sum(b_sum_pv) bSumPv sum(b_sum_pv) bSumPv
from ${achieveTableName} where PERIOD=#{period} and PK_COUNTRY=#{pkCountry} and PK_MEMBER =#{pkMember} from ${achieveTableName} where PERIOD = #{period} and PK_COUNTRY = #{pkCountry} and PK_MEMBER = #{pkMember}
)cmpv on cm.pk_id=cmpv.pkMember ) cmpv on cm.pk_id = cmpv.pkMember
where cm.del_flag = 0 where cm.del_flag = 0
<if test="pkAwards != null"> <if test="pkAwards != null">
and PK_AWARDS=#{pkAwards} and PK_AWARDS = #{pkAwards}
</if> </if>
<if test="pkVertex != null"> <if test="pkVertex != null">
and PK_VERTEX=#{pkVertex} and PK_VERTEX = #{pkVertex}
</if> </if>
<if test="pkTeamCode != null"> <if test="pkTeamCode != null">
and PK_TEAM_CODE=#{pkTeamCode} and PK_TEAM_CODE = #{pkTeamCode}
</if> </if>
</select> </select>