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

This commit is contained in:
cabbage 2025-06-03 16:00:03 +08:00
parent d7b3243ed3
commit 97b0e16142
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)
@GetMapping("/direct-push-new")
public TableDataInfo directPushNew(String memberCode, String memberName,
Integer pkAwards, Integer pkTeamCode, Integer pkCountry,
public TableDataInfo directPushNew(String memberCode, String memberName, Integer pkAwards, Integer pkTeamCode,
Date startPayTime, Date endPayTime, Integer pkVertex, Integer orderType) {
Integer pkCountry = SecurityUtils.getPkCountry();
List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(orderType);
Long pkMember;
if (pkCountry == null) {
pkCountry = SecurityUtils.getPkCountry();
}
if (StringUtils.isNotBlank(memberCode)) {
R<CuMemberExt> memberDto = iMemberServiceApi.getMemberByCode(memberCode);
CuMember member = memberDto.getData();
CuMember member = iMemberServiceApi.getMemberByCode(memberCode).getData();
if (null != member) {
pkMember = member.getPkId();
} else {
@ -84,31 +79,27 @@ public class MemberReportController extends BaseController {
} else {
return getDataTable(new ArrayList<>());
}
Date date = DateUtils.currentDate();
if (StringUtils.isNull(startPayTime) ||
StringUtils.isNull(endPayTime)) {
if (StringUtils.isNull(startPayTime) || StringUtils.isNull(endPayTime)) {
//当前月的第一天
startPayTime = DateUtils.currentMonthFirstDate();
endPayTime = date;
}
//伞下直推新增业绩
startPage();
List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, memberName, pkAwards, pkTeamCode, pkCountry, startPayTime, endPayTime, pkVertex);
if (CollectionUtil.isNotEmpty(memberList)) {
startPayTime = DateUtils.getStartTime(startPayTime);
endPayTime = DateUtils.getEndTime(endPayTime);
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry);
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry);
if (CollectionUtil.isNotEmpty(memberList)) {
memberList.forEach(itm -> {
if (null != achieList.get(0)) {
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
//中国业绩转为人民币
itm.setOrderAchieve(achieList.get(0).getOrderAchieve().multiply(currency.getData().getInExchangeRate()));
} else {
itm.setOrderAchieve(achieList.get(0).getOrderAchieve());
}
itm.setOrderType(orderType);
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)
@PostMapping("/export-direct-push-new")
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();
List<Integer> orderTypeList = EOrderBusiness.getOrderTypeList(directPushNewVo.getOrderType());
Long pkMember = null;
if (StringUtils.isNotBlank(directPushNewVo.getMemberCode())) {
R<CuMember> memberDto = iMemberServiceApi.getMember(directPushNewVo.getMemberCode());
CuMember member = memberDto.getData();
CuMember member = iMemberServiceApi.getMemberByCode(directPushNewVo.getMemberCode()).getData();
if (null != member) {
pkMember = member.getPkId();
} else {
@ -140,35 +130,30 @@ public class MemberReportController extends BaseController {
ExcelUtil<DirectPushNewVo> util = new ExcelUtil<>(DirectPushNewVo.class);
util.exportExcel(response, new ArrayList<>(), "伞下直推新增业绩导出");
}
Date date = DateUtils.currentDate();
if (StringUtils.isNull(directPushNewVo.getStartPayTime()) ||
StringUtils.isNull(directPushNewVo.getEndPayTime())) {
if (StringUtils.isNull(directPushNewVo.getStartPayTime()) || StringUtils.isNull(directPushNewVo.getEndPayTime())) {
//当前月的第一天
Date startPayTime = DateUtils.currentMonthFirstDate();
directPushNewVo.setStartPayTime(startPayTime);
directPushNewVo.setStartPayTime(DateUtils.currentMonthFirstDate());
directPushNewVo.setEndPayTime(date);
}
//伞下直推新增业绩
List<DirectPushNewVo> memberList = memberReportService.directPushNewList(pkMember, directPushNewVo.getMemberName(),
directPushNewVo.getPkAwards(), directPushNewVo.getPkTeamCode(), pkCountry, directPushNewVo.getStartPayTime(),
directPushNewVo.getEndPayTime(), directPushNewVo.getPkVertex());
if (CollectionUtil.isNotEmpty(memberList)) {
Date startPayTime = DateUtils.getStartTime(directPushNewVo.getStartPayTime());
Date endPayTime = DateUtils.getEndTime(directPushNewVo.getEndPayTime());
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry);
R<CurrencyDTO> currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieList(pkMember, startPayTime, endPayTime, orderTypeList, pkCountry);
if (CollectionUtil.isNotEmpty(memberList)) {
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderBusiness.values());
memberList.forEach(itm -> {
if (null != achieList.get(0)) {
itm.setOrderType(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()));
} else {
itm.setOrderAchieve(achieList.get(0).getOrderAchieve());
}
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)
@GetMapping("/direct-push-new-up")
public TableDataInfo directPushNewUp(String memberCode, String memberName,
Integer pkAwards, Integer pkTeamCode, Integer pkCountry,
public TableDataInfo directPushNewUp(String memberCode, String memberName, Integer pkAwards, Integer pkTeamCode,
Date startPayTime, Date endPayTime, Integer pkVertex, Integer orderType) {
Long pkMember;
if (pkCountry == null) {
pkCountry = SecurityUtils.getPkCountry();
}
if (orderType == null) {
orderType = EOrderUpBusiness.WHOLE.getValue();
}
CuMember member;
Integer pkCountry = SecurityUtils.getPkCountry();
Long pkMember;
if (StringUtils.isNotBlank(memberCode)) {
R<CuMember> memberDto = iMemberServiceApi.getMember(memberCode);
member = memberDto.getData();
CuMember member = iMemberServiceApi.getMember(memberCode).getData();
if (null != member) {
pkMember = member.getPkId();
} else {
@ -204,17 +185,18 @@ public class MemberReportController extends BaseController {
} else {
return getDataTable(new ArrayList<>());
}
Date date = DateUtils.currentDate();
if (DateUtils.compareDate(startPayTime, date) > 0) {
startPayTime = null;
endPayTime = null;
}
if (StringUtils.isNull(startPayTime) ||
StringUtils.isNull(endPayTime)) {
if (StringUtils.isNull(startPayTime) || StringUtils.isNull(endPayTime)) {
//当前月的第一天
startPayTime = DateUtils.currentMonthFirstDate();
endPayTime = date;
}
//开始时间减一天
String startDateStr = DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, DateUtils.beforeDate(1, ChronoUnit.DAYS, startPayTime));
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));
//伞下直推新增业绩
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)) {
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData();
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieUpList(dpo, pkMember, orderType);
Integer finalOrderType = orderType;
memberList.forEach(itm -> {
if (null != achieList.get(0)) {
itm.setOrderAchieve(achieList.get(0).getOrderAchieve());
itm.setOrderAmount(achieList.get(0).getOrderAmount());
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
//中国业绩转为人民币
itm.setOrderAchieve(itm.getOrderAchieve().multiply(currency.getData().getInExchangeRate()));
itm.setOrderAmount(itm.getOrderAmount().multiply(currency.getData().getInExchangeRate()));
}
itm.setOrderAchieve(itm.getOrderAchieve().multiply(currency.getInExchangeRate()));
itm.setOrderAmount(itm.getOrderAmount().multiply(currency.getInExchangeRate()));
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)
@PostMapping("/export-direct-push-new-up")
public void exportUp(String memberCode, String memberName,
Integer pkAwards, Integer pkTeamCode, Integer pkCountry,
public void exportUp(String memberCode, String memberName, Integer pkAwards, Integer pkTeamCode,
Date startPayTime, Date endPayTime, Integer pkVertex, Integer orderType,
HttpServletResponse response) {
Long pkMember;
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderUpBusiness.values());
if (pkCountry == null) {
pkCountry = SecurityUtils.getPkCountry();
}
if (orderType == null) {
orderType = EOrderUpBusiness.WHOLE.getValue();
}
CuMember member;
Integer pkCountry = SecurityUtils.getPkCountry();
Long pkMember;
if (StringUtils.isNotBlank(memberCode)) {
R<CuMember> memberDto = iMemberServiceApi.getMember(memberCode);
member = memberDto.getData();
CuMember member = iMemberServiceApi.getMember(memberCode).getData();
if (null != member) {
pkMember = member.getPkId();
} else {
@ -287,8 +262,7 @@ public class MemberReportController extends BaseController {
startPayTime = null;
endPayTime = null;
}
if (StringUtils.isNull(startPayTime) ||
StringUtils.isNull(endPayTime)) {
if (StringUtils.isNull(startPayTime) || StringUtils.isNull(endPayTime)) {
//当前月的第一天
startPayTime = DateUtils.currentMonthFirstDate();
endPayTime = date;
@ -310,19 +284,18 @@ public class MemberReportController extends BaseController {
dpo.setSettleTableNameEnd(TableNameConstants.CU_MEMBER_TREE + DateUtils.getMonth(endDateStr));
//伞下直推新增业绩
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)) {
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData();
List<DirectPushNewVo> achieList = memberReportService.directPushNewAchieUpList(dpo, pkMember, orderType);
Integer finalOrderType = orderType;
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(EOrderUpBusiness.values());
memberList.forEach(itm -> {
if (null != achieList.get(0)) {
itm.setOrderAchieve(achieList.get(0).getOrderAchieve());
itm.setOrderAmount(achieList.get(0).getOrderAmount());
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
//中国业绩转为人民币
itm.setOrderAchieve(itm.getOrderAchieve().multiply(currency.getData().getInExchangeRate()));
itm.setOrderAmount(itm.getOrderAmount().multiply(currency.getData().getInExchangeRate()));
}
itm.setOrderAchieve(itm.getOrderAchieve().multiply(currency.getInExchangeRate()));
itm.setOrderAmount(itm.getOrderAmount().multiply(currency.getInExchangeRate()));
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)
@GetMapping("/member-resettle-achieve")
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) {
startPayTime = DateUtils.getStartTime(startPayTime);
}
if (endPayTime != null) {
endPayTime = DateUtils.getEndTime(endPayTime);
}
if (StringUtils.isEmpty(memberCode)) {
return getDataTable(new ArrayList<>());
}
R<CuMember> memberDto = iMemberServiceApi.getMember(memberCode);
CuMember member = memberDto.getData();
Integer pkCountry = null;
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
pkCountry = SecurityUtils.getPkCountry();
}
CuMember member = iMemberServiceApi.getMember(memberCode).getData();
if (member == null) {
return getDataTable(new ArrayList<>());
}
R<CurrencyDTO> currencyDto = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
CurrencyDTO currency = currencyDto.getData();
Integer pkCountry = SecurityUtils.getPkCountry();
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()));
// 左区新增业绩
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();
// 右区新增业绩
@ -405,21 +430,17 @@ public class MemberReportController extends BaseController {
memberResettleAchieveVo.setAwardsName(mr.getAwardsName());
memberResettleAchieveVo.setVertexName(mr.getVertexName());
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.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());
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)
@GetMapping("/member-resettle-achieve_up")
public TableDataInfo memberResettleAchieveUp(String memberCode, String memberName, Date startPayTime,
Date endPayTime, Integer pkVertex, Integer pkTeamCode,
Integer orderType, Integer pkAwards) {
public TableDataInfo memberResettleAchieveUp(String memberCode, String memberName, Date startPayTime, Date endPayTime,
Integer pkVertex, Integer pkTeamCode, Integer orderType, Integer pkAwards) {
if (startPayTime == null || endPayTime == null) {
return getDataTable(new ArrayList<>());
}
Date date = new Date();
String startDateStr = "";
String endDateStr = "";
@ -455,30 +476,33 @@ public class MemberReportController extends BaseController {
if (StringUtils.isEmpty(memberCode)) {
return getDataTable(new ArrayList<>());
}
R<CuMemberExt> memberDto = iMemberServiceApi.getMemberByCode(memberCode);
CuMember member = memberDto.getData();
if (member == null) {
CuMember member = iMemberServiceApi.getMemberByCode(memberCode).getData();
if (null == member) {
return getDataTable(new ArrayList<>());
}
Integer pkCountry = SecurityUtils.getPkCountry();
R<CurrencyDTO> currencyDto = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
CurrencyDTO currency = currencyDto.getData();
List<MemberResettleAchieveVo> memberResettleAchieveList = new ArrayList<>();
BigDecimal inExchangeRate = currency.getInExchangeRate();
//查询最新期数
int staPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
DateUtils.parseDateToStr(startDateStr)).getPkId();
int endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
DateUtils.parseDateToStr(endDateStr)).getPkId();
String staAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(startDateStr);
String endAchieveTableName = TableNameConstants.CU_MEMBER_ACHIEVE + DateUtils.getMonth(endDateStr);
List<MemberResettleAchieveVo> staAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, staAchieveTableName, staPeriod);
List<MemberResettleAchieveVo> endAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, endAchieveTableName, endPeriod);
if (CollectionUtil.isNotEmpty(staAchieveList) && CollectionUtil.isNotEmpty(endAchieveList)) {
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData();
BigDecimal inExchangeRate = currency.getInExchangeRate();
for (MemberResettleAchieveVo end : endAchieveList) {
for (MemberResettleAchieveVo sta : staAchieveList) {
if (end.getPkMember().equals(sta.getPkMember())) {
@ -486,14 +510,12 @@ public class MemberReportController extends BaseController {
end.setRightNewAddAmount(end.getBSumAmount().subtract(sta.getBSumAmount()));
end.setLeftNewAddAchieve(end.getASumPv().subtract(sta.getASumPv()));
end.setRightNewAddAchieve(end.getBSumPv().subtract(sta.getBSumPv()));
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
end.setLeftNewAddAmount(end.getLeftNewAddAmount().multiply(inExchangeRate));
end.setRightNewAddAmount(end.getRightNewAddAmount().multiply(inExchangeRate));
end.setLeftNewAddAchieve(end.getLeftNewAddAchieve().multiply(inExchangeRate));
end.setRightNewAddAchieve(end.getRightNewAddAchieve().multiply(inExchangeRate));
}
}
}
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)
@PostMapping("/member-resettle-achieve_up_export")
public void memberResettleAchieveUpExport(HttpServletResponse response, String memberCode, String memberName, Date startPayTime,
Date endPayTime, Integer pkVertex, Integer pkTeamCode,
Integer orderType, Integer pkAwards) {
public void memberResettleAchieveUpExport(HttpServletResponse response, String memberCode, String memberName, Date startPayTime, Date endPayTime,
Integer pkVertex, Integer pkTeamCode, Integer orderType, Integer pkAwards) {
if (startPayTime == null || endPayTime == null) {
return;
}
Date date = new Date();
String startDateStr = "";
String endDateStr = "";
@ -533,33 +555,33 @@ public class MemberReportController extends BaseController {
if (StringUtils.isEmpty(memberCode)) {
return;
}
R<CuMemberExt> memberDto = iMemberServiceApi.getMemberByCode(memberCode);
CuMember member = memberDto.getData();
Integer pkCountry = null;
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
pkCountry = SecurityUtils.getPkCountry();
}
if (member == null) {
CuMember member = iMemberServiceApi.getMemberByCode(memberCode).getData();
if (null == member) {
return;
}
R<CurrencyDTO> currencyDto = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry());
CurrencyDTO currency = currencyDto.getData();
Integer pkCountry = SecurityUtils.getPkCountry();
List<MemberResettleAchieveVo> memberResettleAchieveList = new ArrayList<>();
BigDecimal inExchangeRate = currency.getInExchangeRate();
//查询最新期数
int staPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
DateUtils.parseDateToStr(startDateStr)).getPkId();
int endPeriod = iCuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(
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);
List<MemberResettleAchieveVo> staAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, staAchieveTableName, staPeriod);
List<MemberResettleAchieveVo> endAchieveList = memberReportService.selectBrollyNewABAchieve(member.getPkId(), memberName, startPayTime, endPayTime,
pkVertex, pkTeamCode, pkCountry, pkAwards, endAchieveTableName, endPeriod);
if (CollectionUtil.isNotEmpty(staAchieveList) && CollectionUtil.isNotEmpty(endAchieveList)) {
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(SecurityUtils.getPkCountry()).getData();
BigDecimal inExchangeRate = currency.getInExchangeRate();
for (MemberResettleAchieveVo end : endAchieveList) {
for (MemberResettleAchieveVo sta : staAchieveList) {
if (end.getPkMember().equals(sta.getPkMember())) {
@ -567,14 +589,12 @@ public class MemberReportController extends BaseController {
end.setRightNewAddAmount(end.getBSumAmount().subtract(sta.getBSumAmount()));
end.setLeftNewAddAchieve(end.getASumPv().subtract(sta.getASumPv()));
end.setRightNewAddAchieve(end.getBSumPv().subtract(sta.getBSumPv()));
if (SecurityUtils.getPkCountry().equals(CountryConstants.CHINA_COUNTRY)) {
end.setLeftNewAddAmount(end.getLeftNewAddAmount().multiply(inExchangeRate));
end.setRightNewAddAmount(end.getRightNewAddAmount().multiply(inExchangeRate));
end.setLeftNewAddAchieve(end.getLeftNewAddAchieve().multiply(inExchangeRate));
end.setRightNewAddAchieve(end.getRightNewAddAchieve().multiply(inExchangeRate));
}
}
}
memberResettleAchieveList.add(end);
}
}
@ -582,81 +602,6 @@ public class MemberReportController extends BaseController {
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
*/
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
*/
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
*/
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
IAccountServiceApi iAccountServiceApi;
@DubboReference
ICurrencyServiceApi currencyServiceApi;
ICurrencyServiceApi iCurrencyServiceApi;
@Override
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
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);
}
@ -237,7 +238,7 @@ public class MemberReportServiceImpl implements MemberReportService {
Map<Integer, BdAccount> map = allAccounts.stream().collect(Collectors.toMap(BdAccount::getPkId, o -> o));
Map<String, String> transactionMap = iTransactionCommonService.exportEnumTransaction(ETradeType.values());
//根据国家查询汇率
CurrencyDTO currency = currencyServiceApi.getCurrency(pkCountry).getData();
CurrencyDTO currency = iCurrencyServiceApi.getCurrency(pkCountry).getData();
//汇率
BigDecimal exchangeRate = currency.getInExchangeRate();
for (CuMemberWalletVO cuMemberWalletVO : cuMemberWalletVOList) {

View File

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

View File

@ -79,34 +79,33 @@ public class MemberResettleAchieveVo {
* 左区新增金额
*/
@BigDecimalFormat
@Excel(name = "左区新增金额")
@Excel(name = "左区新增金额", scale = 2)
private BigDecimal leftNewAddAmount = BigDecimal.ONE;
/**
* 右区新增金额
*/
@BigDecimalFormat
@Excel(name = "右区新增金额")
@Excel(name = "右区新增金额", scale = 2)
private BigDecimal rightNewAddAmount = BigDecimal.ONE;
/**
* 左区新增业绩pv
*/
@BigDecimalFormat
@Excel(name = "左区新增业绩")
@Excel(name = "左区新增业绩", scale = 2)
private BigDecimal leftNewAddAchieve = BigDecimal.ONE;
/**
* 右区新增业绩pv
*/
@BigDecimalFormat
@Excel(name = "右区新增业绩")
@Excel(name = "右区新增业绩", scale = 2)
private BigDecimal rightNewAddAchieve = BigDecimal.ONE;
/**
* 订单日期
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
// @Excel(name = "订单日期",dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date orderTime;
/**
* 首购累计
@ -115,19 +114,5 @@ public class MemberResettleAchieveVo {
private BigDecimal bSumAmount;
private BigDecimal aSumPv;
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_vertex bv on bv.PK_ID = cm.PK_VERTEX
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 != ''">
and cm.MEMBER_NAME=#{memberName}
and cm.MEMBER_NAME = #{memberName}
</if>
<if test="pkAwards != null">
and cm.PK_AWARDS=#{pkAwards}
and cm.PK_AWARDS = #{pkAwards}
</if>
<if test="pkVertex != null">
and cm.PK_VERTEX=#{pkVertex}
and cm.PK_VERTEX = #{pkVertex}
</if>
<if test="pkTeamCode != null">
and cm.PK_TEAM_CODE=#{pkTeamCode}
and cm.PK_TEAM_CODE = #{pkTeamCode}
</if>
<if test="pkCountry != null">
and cm.PK_SETTLE_COUNTRY=#{pkCountry}
and cm.PK_SETTLE_COUNTRY = #{pkCountry}
</if>
</select>
@ -45,50 +45,27 @@
sum(orderAssAchieve) orderAssAchieve
from (
select
CASE WHEN sum( so.ORDER_ACHIEVE ) is null THEN 0 ELSE sum( so.ORDER_ACHIEVE ) 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
CASE
WHEN sum( so.ORDER_ACHIEVE ) is null THEN 0
ELSE sum( so.ORDER_ACHIEVE )
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
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">
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
)
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">
and so.ORDER_TYPE in
<foreach collection="orderTypeList" item="item" open="(" close=")" separator=",">
@ -107,8 +84,8 @@
(endm.orderAmount - stam.orderAmount) orderAmount,
endm.pkMember
FROM (
SELECT nvl((sum((cma.REGISTER_PV + cma.UPGRADE_PV))), 0) AS orderAchieve,
nvl(sum((cma.REGISTER_AMOUNT + cma.UPGRADE_AMOUNT)), 0) AS orderAmount,
SELECT 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
FROM ${dpo.achieveTableNameEnd} cma
WHERE 1 = 1
@ -122,35 +99,34 @@
WHERE cm.pk_settle_country = #{dpo.pkCountry}
and cm.PERIOD = #{dpo.periodEnd}
) cm
START WITH cm.pk_parent =#{pkMember}
START WITH cm.pk_parent = #{pkMember}
CONNECT BY cm.pk_parent = PRIOR cm.PK_MEMBER
) ) endm join (
) ) endm
join (
SELECT
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
FROM
${dpo.achieveTableNameSta} cma
WHERE
1 = 1
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
FROM ${dpo.achieveTableNameSta} cma
WHERE 1 = 1
AND cma.PK_COUNTRY = #{dpo.pkCountry}
AND cma.PERIOD =#{dpo.periodSta}
AND cma.PERIOD = #{dpo.periodSta}
AND cma.PK_MEMBER IN (
select cm.PK_MEMBER from (
SELECT
*
FROM
${dpo.settleTableNameSta} cm
SELECT *
FROM ${dpo.settleTableNameSta} cm
WHERE cm.pk_settle_country = #{dpo.pkCountry}
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
)
) stam
on endm.pkMember=stam.pkMember
on endm.pkMember = stam.pkMember
</select>
<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
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
@ -177,7 +153,9 @@
</select>
<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,
cm.MEMBER_CODE memberCode,
cm.MEMBER_NAME memberName,
@ -203,10 +181,12 @@
left join bd_vertex bv
on bv.pk_id = cm.PK_VERTEX
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)
amount
select #{pkMember} pkMember,
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
inner join(
inner join (
select a.pk_id from (
SELECT pk_id,del_flag,CUSTOMER_TYPE
FROM cu_member where 1 = 1
@ -219,15 +199,15 @@
<if test="pkTeamCode != null">
and PK_TEAM_CODE=#{pkTeamCode}
</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
where a.del_flag =0
where a.del_flag = 0
) a
on so.pk_member=a.pk_id
on so.pk_member = a.pk_id
where so.del_flag = 0
and so.ORDER_STATUS = 1
<if test="pkCountry != null">
and pk_country=#{pkCountry}
and pk_country = #{pkCountry}
</if>
<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')
@ -242,10 +222,12 @@
</foreach>
</if>
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)
amount
select #{pkMember} pkMember,
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
inner join(
inner join (
select a.pk_id from (
SELECT pk_id,del_flag,CUSTOMER_TYPE
FROM cu_member where 1 = 1
@ -258,11 +240,11 @@
<if test="pkTeamCode != null">
and PK_TEAM_CODE=#{pkTeamCode}
</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
where a.del_flag =0
where a.del_flag = 0
) a
on so.pk_member=a.pk_id
on so.pk_member = a.pk_id
where so.del_flag = 0
and so.ORDER_STATUS = 1
<if test="pkCountry != null">
@ -282,18 +264,17 @@
</if>
) e on e.pkMember = cm.pk_id
where cm.del_flag = 0
and cm.pk_id=#{pkMember}
and cm.pk_id = #{pkMember}
<if test="memberName != null and memberName != ''">
and cm.MEMBER_NAME=#{memberName}
and cm.MEMBER_NAME = #{memberName}
</if>
<if test="pkCountry != null">
and cm.PK_SETTLE_COUNTRY=#{pkCountry}
and cm.PK_SETTLE_COUNTRY = #{pkCountry}
</if>
</select>
<!-- 查询伞下新增安置业绩-->
<select id="selectBrollyNewABAchieve"
resultType="com.hzs.report.member.vo.MemberResettleAchieveVo">
<select id="selectBrollyNewABAchieve" resultType="com.hzs.report.member.vo.MemberResettleAchieveVo">
select cm.PAY_TIME orderTime,
cm.pk_id pkMember,
bc.NATIONAL_FLAG1 nationalFlag,
@ -304,10 +285,10 @@
ba.AWARDS_NAME awardsName,
mt.TEAM_NAME teamCodeName,
bv.VERTEX_NAME vertexName,
nvl(cmpv.aSumAmount,0) aSumAmount,
nvl(cmpv.bSumAmount,0) bSumAmount,
nvl(cmpv.aSumPv,0) aSumPv,
nvl(cmpv.bSumPv,0) bSumPv
nvl(cmpv.aSumAmount, 0) aSumAmount,
nvl(cmpv.bSumAmount, 0) bSumAmount,
nvl(cmpv.aSumPv, 0) aSumPv,
nvl(cmpv.bSumPv, 0) bSumPv
from cu_member cm
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
@ -320,17 +301,17 @@
sum(b_sum_amount) bSumAmount,
sum(a_sum_pv) aSumPv,
sum(b_sum_pv) bSumPv
from ${achieveTableName} where PERIOD=#{period} and PK_COUNTRY=#{pkCountry} and PK_MEMBER =#{pkMember}
)cmpv on cm.pk_id=cmpv.pkMember
from ${achieveTableName} where PERIOD = #{period} and PK_COUNTRY = #{pkCountry} and PK_MEMBER = #{pkMember}
) cmpv on cm.pk_id = cmpv.pkMember
where cm.del_flag = 0
<if test="pkAwards != null">
and PK_AWARDS=#{pkAwards}
and PK_AWARDS = #{pkAwards}
</if>
<if test="pkVertex != null">
and PK_VERTEX=#{pkVertex}
and PK_VERTEX = #{pkVertex}
</if>
<if test="pkTeamCode != null">
and PK_TEAM_CODE=#{pkTeamCode}
and PK_TEAM_CODE = #{pkTeamCode}
</if>
</select>