## Feat - 盒数调整为小数
This commit is contained in:
parent
d19e7b15aa
commit
82f0ab78a0
|
@ -113,16 +113,16 @@ public class GradeDTO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 购买盒数
|
* 购买盒数
|
||||||
*/
|
*/
|
||||||
private Integer boxNumber;
|
private BigDecimal boxNumber;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 累计盒数
|
* 累计盒数
|
||||||
*/
|
*/
|
||||||
private Integer boxTotal;
|
private BigDecimal boxTotal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 小市场盒数
|
* 小市场盒数
|
||||||
*/
|
*/
|
||||||
private Integer boxSmallTotal;
|
private BigDecimal boxSmallTotal;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import com.hzs.retail.member.vo.CuMemberRetailDataStatisticsDetailVO;
|
||||||
import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
|
import com.hzs.retail.member.vo.MarketDynamicsDetailVO;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -61,7 +62,7 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
||||||
* @param cuMemberAchieveVO 入参
|
* @param cuMemberAchieveVO 入参
|
||||||
* @return CuMemberRetailAchieveVO
|
* @return CuMemberRetailAchieveVO
|
||||||
*/
|
*/
|
||||||
Integer selectMemberBoxNoWaterInjection(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
BigDecimal selectMemberBoxNoWaterInjection(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -70,7 +71,7 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
||||||
* @param cuMemberAchieveVO 入参
|
* @param cuMemberAchieveVO 入参
|
||||||
* @return CuMemberRetailAchieveVO
|
* @return CuMemberRetailAchieveVO
|
||||||
*/
|
*/
|
||||||
Integer selectMemberBoxWaterInjection(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
BigDecimal selectMemberBoxWaterInjection(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -79,7 +80,7 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
||||||
* @param cuMemberAchieveVO 入参
|
* @param cuMemberAchieveVO 入参
|
||||||
* @return CuMemberRetailAchieveVO
|
* @return CuMemberRetailAchieveVO
|
||||||
*/
|
*/
|
||||||
Integer selectMemberTotalBox(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
BigDecimal selectMemberTotalBox(CuMemberRetailAchieveVO cuMemberAchieveVO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询会员业绩
|
* 查询会员业绩
|
||||||
|
@ -184,7 +185,7 @@ public interface CuMemberRetailRangeMapper extends BaseMapper<CuMemberRetailRang
|
||||||
* @param param 入参
|
* @param param 入参
|
||||||
* @return Integer
|
* @return Integer
|
||||||
*/
|
*/
|
||||||
Integer selectSelfNewBox(CuMemberRetailAchieveVO param);
|
BigDecimal selectSelfNewBox(CuMemberRetailAchieveVO param);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询会员大小区盒数(市场动态)
|
* 查询会员大小区盒数(市场动态)
|
||||||
|
|
|
@ -79,9 +79,9 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
||||||
Integer enableStatus = cuMember.getIsActivate();
|
Integer enableStatus = cuMember.getIsActivate();
|
||||||
if (null != enableStatus && enableStatus.equals(EYesNo.YES.getIntValue())) {
|
if (null != enableStatus && enableStatus.equals(EYesNo.YES.getIntValue())) {
|
||||||
//查询总盒数
|
//查询总盒数
|
||||||
Integer totalBox = baseMapper.selectMemberTotalBox(memberAchieveVO);
|
BigDecimal totalBox = baseMapper.selectMemberTotalBox(memberAchieveVO);
|
||||||
if (null != totalBox) {
|
if (null != totalBox) {
|
||||||
Integer maxBox = 0;
|
BigDecimal maxBox = BigDecimal.ZERO;
|
||||||
//查询是否配置注水
|
//查询是否配置注水
|
||||||
Integer total = baseMapper.selectWaterInjection(cuMember.getMemberCode());
|
Integer total = baseMapper.selectWaterInjection(cuMember.getMemberCode());
|
||||||
if (null != total && total > 0) {
|
if (null != total && total > 0) {
|
||||||
|
@ -91,18 +91,20 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
||||||
//查询无注水最大盒数
|
//查询无注水最大盒数
|
||||||
maxBox = baseMapper.selectMemberBoxNoWaterInjection(memberAchieveVO);
|
maxBox = baseMapper.selectMemberBoxNoWaterInjection(memberAchieveVO);
|
||||||
}
|
}
|
||||||
memberRetailAchieveVO = CuMemberRetailAchieveVO.builder().totalBox(totalBox).smallAreaBox(totalBox - maxBox).build();
|
// memberRetailAchieveVO = CuMemberRetailAchieveVO.builder().totalBox(totalBox).smallAreaBox(totalBox - maxBox).build();
|
||||||
|
memberRetailAchieveVO = CuMemberRetailAchieveVO.builder().totalBox(totalBox).smallAreaBox(totalBox.subtract(maxBox)).build();
|
||||||
//总盒数大于2800的时候显示2800
|
//总盒数大于2800的时候显示2800
|
||||||
GradeDTO lastGrate = gradeServiceApi.getGradeByGradeValue(EGrade.S_VIP.getValue(), pkCountry).getData();
|
GradeDTO lastGrate = gradeServiceApi.getGradeByGradeValue(EGrade.S_VIP.getValue(), pkCountry).getData();
|
||||||
//配置中的总盒数
|
//配置中的总盒数
|
||||||
Integer totalBoxConfig = lastGrate.getBoxTotal();
|
BigDecimal totalBoxConfig = lastGrate.getBoxTotal();
|
||||||
Integer totalBoxMax = memberRetailAchieveVO.getTotalBox() > totalBoxConfig ? totalBoxConfig : memberRetailAchieveVO.getTotalBox();
|
// BigDecimal totalBoxMax = memberRetailAchieveVO.getTotalBox() > totalBoxConfig ? totalBoxConfig : memberRetailAchieveVO.getTotalBox();
|
||||||
|
BigDecimal totalBoxMax = memberRetailAchieveVO.getTotalBox().compareTo(totalBoxConfig) > 0 ? totalBoxConfig : memberRetailAchieveVO.getTotalBox();
|
||||||
memberRetailAchieveVO.setTotalBox(totalBoxMax);
|
memberRetailAchieveVO.setTotalBox(totalBoxMax);
|
||||||
} else {
|
} else {
|
||||||
memberRetailAchieveVO = CuMemberRetailAchieveVO.builder().totalBox(0).smallAreaBox(0).build();
|
memberRetailAchieveVO = CuMemberRetailAchieveVO.builder().totalBox(BigDecimal.ZERO).smallAreaBox(BigDecimal.ZERO).build();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
memberRetailAchieveVO = CuMemberRetailAchieveVO.builder().totalBox(0).smallAreaBox(0).build();
|
memberRetailAchieveVO = CuMemberRetailAchieveVO.builder().totalBox(BigDecimal.ZERO).smallAreaBox(BigDecimal.ZERO).build();
|
||||||
}
|
}
|
||||||
return memberRetailAchieveVO;
|
return memberRetailAchieveVO;
|
||||||
}
|
}
|
||||||
|
@ -470,7 +472,7 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
||||||
Integer systemType = param.getSystemType();
|
Integer systemType = param.getSystemType();
|
||||||
//判断会员是否激活
|
//判断会员是否激活
|
||||||
if (!isActivate(pkMember)) {
|
if (!isActivate(pkMember)) {
|
||||||
return CuMemberRetailAchieveVO.builder().bigAreaBox(0).smallAreaBox(0).build();
|
return CuMemberRetailAchieveVO.builder().bigAreaBox(BigDecimal.ZERO).smallAreaBox(BigDecimal.ZERO).build();
|
||||||
}
|
}
|
||||||
//查询直推会员
|
//查询直推会员
|
||||||
List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType);
|
List<Long> pkMemberList = baseMapper.selectDirectPushByPkMember(pkMember, systemType);
|
||||||
|
@ -478,23 +480,29 @@ public class CuMemberRetailAchieveServiceImpl extends ServiceImpl<CuMemberRetail
|
||||||
//查询参数
|
//查询参数
|
||||||
getParam(param);
|
getParam(param);
|
||||||
//查询自己的业绩
|
//查询自己的业绩
|
||||||
Integer selfBox = baseMapper.selectSelfNewBox(param);
|
BigDecimal selfBox = baseMapper.selectSelfNewBox(param);
|
||||||
pkMemberList.remove(pkBigMember);
|
pkMemberList.remove(pkBigMember);
|
||||||
param.setPkMemberList(pkMemberList);
|
param.setPkMemberList(pkMemberList);
|
||||||
CuMemberRetailAchieveVO cuMemberRetailAchieveVO = baseMapper.selectMemberBigSmallBox(param);
|
CuMemberRetailAchieveVO cuMemberRetailAchieveVO = baseMapper.selectMemberBigSmallBox(param);
|
||||||
if (null != cuMemberRetailAchieveVO) {
|
if (null != cuMemberRetailAchieveVO) {
|
||||||
cuMemberRetailAchieveVO.setPkBigMember(pkBigMember);
|
cuMemberRetailAchieveVO.setPkBigMember(pkBigMember);
|
||||||
Integer selfNewBox = null == selfBox ? 0 : selfBox;
|
// BigDecimal selfNewBox = null == selfBox ? 0 : selfBox;
|
||||||
|
BigDecimal selfNewBox = BigDecimal.ZERO;
|
||||||
|
if(ObjectUtil.isNotEmpty(selfBox)){
|
||||||
|
selfNewBox = selfBox;
|
||||||
|
}
|
||||||
//判断大小市场增加自己新增的盒数
|
//判断大小市场增加自己新增的盒数
|
||||||
if (!pkMember.equals(pkBigMember)) {
|
if (!pkMember.equals(pkBigMember)) {
|
||||||
cuMemberRetailAchieveVO.setSmallAreaBox(cuMemberRetailAchieveVO.getSmallAreaBox() + selfNewBox);
|
// cuMemberRetailAchieveVO.setSmallAreaBox(cuMemberRetailAchieveVO.getSmallAreaBox() + selfNewBox);
|
||||||
|
cuMemberRetailAchieveVO.setSmallAreaBox(cuMemberRetailAchieveVO.getSmallAreaBox().add(selfNewBox));
|
||||||
} else {
|
} else {
|
||||||
cuMemberRetailAchieveVO.setBigAreaBox(cuMemberRetailAchieveVO.getBigAreaBox() + selfNewBox);
|
// cuMemberRetailAchieveVO.setBigAreaBox(cuMemberRetailAchieveVO.getBigAreaBox() + selfNewBox);
|
||||||
|
cuMemberRetailAchieveVO.setBigAreaBox(cuMemberRetailAchieveVO.getBigAreaBox().add(selfNewBox));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return cuMemberRetailAchieveVO;
|
return cuMemberRetailAchieveVO;
|
||||||
}
|
}
|
||||||
return CuMemberRetailAchieveVO.builder().bigAreaBox(0).smallAreaBox(0).build();
|
return CuMemberRetailAchieveVO.builder().bigAreaBox(BigDecimal.ZERO).smallAreaBox(BigDecimal.ZERO).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -41,11 +41,11 @@ public class DataStatisticsUtil {
|
||||||
// 激活判断上一天的ENABLE_STATUS 0为正常 1为当天激活 不计算日结数据
|
// 激活判断上一天的ENABLE_STATUS 0为正常 1为当天激活 不计算日结数据
|
||||||
if(EYesNo.NO.getIntValue() == cuMember.getIsActivate()){
|
if(EYesNo.NO.getIntValue() == cuMember.getIsActivate()){
|
||||||
return CuMemberRetailDataStatisticsResultVO.builder()
|
return CuMemberRetailDataStatisticsResultVO.builder()
|
||||||
.totalBoxNum(0)
|
.totalBoxNum(BigDecimal.ZERO)
|
||||||
.totalPv(BigDecimal.ZERO)
|
.totalPv(BigDecimal.ZERO)
|
||||||
.bigRangeTotalBoxNum(0)
|
.bigRangeTotalBoxNum(BigDecimal.ZERO)
|
||||||
.bigRangeTotalPv(BigDecimal.ZERO)
|
.bigRangeTotalPv(BigDecimal.ZERO)
|
||||||
.smallRangeTotalBoxNum(0)
|
.smallRangeTotalBoxNum(BigDecimal.ZERO)
|
||||||
.smallRangeTotalPv(BigDecimal.ZERO)
|
.smallRangeTotalPv(BigDecimal.ZERO)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
@ -62,9 +62,10 @@ public class DataStatisticsUtil {
|
||||||
}
|
}
|
||||||
CuMemberRetailDataStatisticsDetailVO bigRangeBox = getBigRangeBoxDetailVO(detailVOList, pkId);
|
CuMemberRetailDataStatisticsDetailVO bigRangeBox = getBigRangeBoxDetailVO(detailVOList, pkId);
|
||||||
CuMemberRetailDataStatisticsDetailVO bigRangePv = getBigRangePVDetailVO(detailVOList, pkId);
|
CuMemberRetailDataStatisticsDetailVO bigRangePv = getBigRangePVDetailVO(detailVOList, pkId);
|
||||||
Integer smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRangeBox.getTotalBoxNum();
|
// BigDecimal smallRangeTotalBoxNum = total.getTotalBoxNum() - bigRangeBox.getTotalBoxNum();
|
||||||
if(smallRangeTotalBoxNum < 0){
|
BigDecimal smallRangeTotalBoxNum = total.getTotalBoxNum().subtract(bigRangeBox.getTotalBoxNum());
|
||||||
smallRangeTotalBoxNum = 0;
|
if(smallRangeTotalBoxNum.compareTo(BigDecimal.ZERO) < 0){
|
||||||
|
smallRangeTotalBoxNum = BigDecimal.ZERO;
|
||||||
}
|
}
|
||||||
BigDecimal smallRangeTotalPv = total.getTotalPv().subtract(bigRangePv.getTotalPv());
|
BigDecimal smallRangeTotalPv = total.getTotalPv().subtract(bigRangePv.getTotalPv());
|
||||||
if(smallRangeTotalPv.compareTo(BigDecimal.ZERO) < 0){
|
if(smallRangeTotalPv.compareTo(BigDecimal.ZERO) < 0){
|
||||||
|
@ -86,15 +87,23 @@ public class DataStatisticsUtil {
|
||||||
public static void calcDetailVOTotalField(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){
|
public static void calcDetailVOTotalField(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){
|
||||||
detailVOList.stream().forEach(detailVO -> {
|
detailVOList.stream().forEach(detailVO -> {
|
||||||
detailVO.setTotalBoxNum(
|
detailVO.setTotalBoxNum(
|
||||||
detailVO.getConsumeBoxNum() // 个人累计消费盒数(日结)
|
detailVO.getConsumeBoxNum()
|
||||||
// + detailVO.getNewBoxNum() // 个人新增盒数(日结)
|
.add(detailVO.getTeamBoxNum())
|
||||||
+ detailVO.getTeamBoxNum() // 团队累计消费盒数(日结)
|
.add(detailVO.getSNewBoxNum())
|
||||||
// + detailVO.getTeamNewBoxNum() // 团队新增盒数(日结)
|
.add(detailVO.getSTeamNewBoxNum())
|
||||||
+ detailVO.getSNewBoxNum() // 个人新增消费盒数(秒结)
|
.add(detailVO.getBigBoxNum())
|
||||||
+ detailVO.getSTeamNewBoxNum() // 团队新增盒数(秒结)
|
.add(detailVO.getSmallBoxNum())
|
||||||
+ detailVO.getBigBoxNum() // 个人注水大区盒数(日结)
|
|
||||||
+ detailVO.getSmallBoxNum() // 个人注水小区盒数(日结)
|
|
||||||
);
|
);
|
||||||
|
// detailVO.setTotalBoxNum(
|
||||||
|
// detailVO.getConsumeBoxNum() // 个人累计消费盒数(日结)
|
||||||
|
//// + detailVO.getNewBoxNum() // 个人新增盒数(日结)
|
||||||
|
// + detailVO.getTeamBoxNum() // 团队累计消费盒数(日结)
|
||||||
|
//// + detailVO.getTeamNewBoxNum() // 团队新增盒数(日结)
|
||||||
|
// + detailVO.getSNewBoxNum() // 个人新增消费盒数(秒结)
|
||||||
|
// + detailVO.getSTeamNewBoxNum() // 团队新增盒数(秒结)
|
||||||
|
// + detailVO.getBigBoxNum() // 个人注水大区盒数(日结)
|
||||||
|
// + detailVO.getSmallBoxNum() // 个人注水小区盒数(日结)
|
||||||
|
// );
|
||||||
detailVO.setTotalPv(
|
detailVO.setTotalPv(
|
||||||
detailVO.getConsumePv()
|
detailVO.getConsumePv()
|
||||||
// .add(detailVO.getNewConsumePv())
|
// .add(detailVO.getNewConsumePv())
|
||||||
|
@ -112,10 +121,11 @@ public class DataStatisticsUtil {
|
||||||
*/
|
*/
|
||||||
public static void excludeDailySettlementData(List<CuMemberRetailDataStatisticsDetailVO> detailVOList){
|
public static void excludeDailySettlementData(List<CuMemberRetailDataStatisticsDetailVO> detailVOList){
|
||||||
detailVOList.stream().forEach(detailVO -> {
|
detailVOList.stream().forEach(detailVO -> {
|
||||||
detailVO.setTotalBoxNum(
|
detailVO.setTotalBoxNum(detailVO.getTotalBoxNum().subtract(detailVO.getTeamBoxNum()));
|
||||||
detailVO.getTotalBoxNum()
|
// detailVO.setTotalBoxNum(
|
||||||
- detailVO.getTeamBoxNum() // 团队累计消费盒数(日结)
|
// detailVO.getTotalBoxNum()
|
||||||
);
|
// - detailVO.getTeamBoxNum() // 团队累计消费盒数(日结)
|
||||||
|
// );
|
||||||
detailVO.setTotalPv(
|
detailVO.setTotalPv(
|
||||||
detailVO.getTotalPv().subtract(detailVO.getTeamConsumePv())
|
detailVO.getTotalPv().subtract(detailVO.getTeamConsumePv())
|
||||||
);
|
);
|
||||||
|
@ -130,11 +140,12 @@ public class DataStatisticsUtil {
|
||||||
public static void excludeWaterInjectionData(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){
|
public static void excludeWaterInjectionData(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){
|
||||||
detailVOList.stream().forEach(detailVO -> {
|
detailVOList.stream().forEach(detailVO -> {
|
||||||
if(!detailVO.getPkId().equals(pkId)){
|
if(!detailVO.getPkId().equals(pkId)){
|
||||||
detailVO.setTotalBoxNum(
|
detailVO.setTotalBoxNum(detailVO.getTotalBoxNum().subtract(detailVO.getBigBoxNum()).subtract(detailVO.getSmallBoxNum()));
|
||||||
detailVO.getTotalBoxNum()
|
// detailVO.setTotalBoxNum(
|
||||||
- detailVO.getBigBoxNum() // 注水大区
|
// detailVO.getTotalBoxNum()
|
||||||
- detailVO.getSmallBoxNum() // 注水小区
|
// - detailVO.getBigBoxNum() // 注水大区
|
||||||
);
|
// - detailVO.getSmallBoxNum() // 注水小区
|
||||||
|
// );
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -151,22 +162,23 @@ public class DataStatisticsUtil {
|
||||||
if(ObjectUtil.isNotEmpty(detailVO)){
|
if(ObjectUtil.isNotEmpty(detailVO)){
|
||||||
CuMemberRetailDataStatisticsDetailVO selfVirtualDetailVO = getCuMemberRetailDataStatisticsDetailVO(detailVO);
|
CuMemberRetailDataStatisticsDetailVO selfVirtualDetailVO = getCuMemberRetailDataStatisticsDetailVO(detailVO);
|
||||||
detailVOList.add(selfVirtualDetailVO);
|
detailVOList.add(selfVirtualDetailVO);
|
||||||
if(detailVO.getBigBoxNum() >0 || detailVO.getSmallBoxNum() > 0){
|
// if(detailVO.getBigBoxNum() > 0 || detailVO.getSmallBoxNum() > 0){
|
||||||
|
if(detailVO.getBigBoxNum().compareTo(BigDecimal.ZERO) >= 0 || detailVO.getSmallBoxNum().compareTo(BigDecimal.ZERO) >= 0){
|
||||||
CuMemberRetailDataStatisticsDetailVO bigRangeVirtualDetailVO = CuMemberRetailDataStatisticsDetailVO.builder()
|
CuMemberRetailDataStatisticsDetailVO bigRangeVirtualDetailVO = CuMemberRetailDataStatisticsDetailVO.builder()
|
||||||
.pkId(BIG_RANGE_VIRTUAL_ID)
|
.pkId(BIG_RANGE_VIRTUAL_ID)
|
||||||
.memberCode(BIG_RANGE_VIRTUAL_NAME)
|
.memberCode(BIG_RANGE_VIRTUAL_NAME)
|
||||||
.totalBoxNum(detailVO.getBigBoxNum())
|
.totalBoxNum(detailVO.getBigBoxNum())
|
||||||
.totalPv(BigDecimal.ZERO)
|
.totalPv(BigDecimal.ZERO)
|
||||||
.bigBoxNum(0)
|
.bigBoxNum(BigDecimal.ZERO)
|
||||||
.smallBoxNum(0)
|
.smallBoxNum(BigDecimal.ZERO)
|
||||||
.build();
|
.build();
|
||||||
CuMemberRetailDataStatisticsDetailVO smallRangeVirtualDetailVO = CuMemberRetailDataStatisticsDetailVO.builder()
|
CuMemberRetailDataStatisticsDetailVO smallRangeVirtualDetailVO = CuMemberRetailDataStatisticsDetailVO.builder()
|
||||||
.pkId(SMALL_RANGE_VIRTUAL_ID)
|
.pkId(SMALL_RANGE_VIRTUAL_ID)
|
||||||
.memberCode(SMALL_RANGE_VIRTUAL_NAME)
|
.memberCode(SMALL_RANGE_VIRTUAL_NAME)
|
||||||
.totalBoxNum(detailVO.getSmallBoxNum())
|
.totalBoxNum(detailVO.getSmallBoxNum())
|
||||||
.totalPv(BigDecimal.ZERO)
|
.totalPv(BigDecimal.ZERO)
|
||||||
.bigBoxNum(0)
|
.bigBoxNum(BigDecimal.ZERO)
|
||||||
.smallBoxNum(0)
|
.smallBoxNum(BigDecimal.ZERO)
|
||||||
.build();
|
.build();
|
||||||
detailVOList.add(bigRangeVirtualDetailVO);
|
detailVOList.add(bigRangeVirtualDetailVO);
|
||||||
detailVOList.add(smallRangeVirtualDetailVO);
|
detailVOList.add(smallRangeVirtualDetailVO);
|
||||||
|
@ -181,15 +193,19 @@ public class DataStatisticsUtil {
|
||||||
.memberCode(SELF_VIRTUAL_NAME)
|
.memberCode(SELF_VIRTUAL_NAME)
|
||||||
.totalBoxNum(
|
.totalBoxNum(
|
||||||
detailVO.getConsumeBoxNum()
|
detailVO.getConsumeBoxNum()
|
||||||
// + detailVO.getNewBoxNum()
|
.add(detailVO.getSNewBoxNum())
|
||||||
+ detailVO.getSNewBoxNum()
|
|
||||||
)
|
)
|
||||||
|
// .totalBoxNum(
|
||||||
|
// detailVO.getConsumeBoxNum()
|
||||||
|
//// + detailVO.getNewBoxNum()
|
||||||
|
// + detailVO.getSNewBoxNum()
|
||||||
|
// )
|
||||||
.totalPv(
|
.totalPv(
|
||||||
detailVO.getConsumePv()
|
detailVO.getConsumePv()
|
||||||
.add(detailVO.getSNewConsumePv())
|
.add(detailVO.getSNewConsumePv())
|
||||||
)
|
)
|
||||||
.bigBoxNum(0)
|
.bigBoxNum(BigDecimal.ZERO)
|
||||||
.smallBoxNum(0)
|
.smallBoxNum(BigDecimal.ZERO)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -199,7 +215,7 @@ public class DataStatisticsUtil {
|
||||||
*/
|
*/
|
||||||
public static List<CuMemberRetailDataStatisticsDetailVO> getSmallRangeList(List<CuMemberRetailDataStatisticsDetailVO> detailVOList){
|
public static List<CuMemberRetailDataStatisticsDetailVO> getSmallRangeList(List<CuMemberRetailDataStatisticsDetailVO> detailVOList){
|
||||||
List<CuMemberRetailDataStatisticsDetailVO> result = new ArrayList<>();
|
List<CuMemberRetailDataStatisticsDetailVO> result = new ArrayList<>();
|
||||||
Integer maxTotalBoxNum = getMaxTotalBoxNum(detailVOList);
|
BigDecimal maxTotalBoxNum = getMaxTotalBoxNum(detailVOList);
|
||||||
if (maxTotalBoxNum == null) {
|
if (maxTotalBoxNum == null) {
|
||||||
return new ArrayList<>(detailVOList);
|
return new ArrayList<>(detailVOList);
|
||||||
}
|
}
|
||||||
|
@ -248,17 +264,19 @@ public class DataStatisticsUtil {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Integer getMaxTotalBoxNum(List<CuMemberRetailDataStatisticsDetailVO> detailVOList) {
|
private static BigDecimal getMaxTotalBoxNum(List<CuMemberRetailDataStatisticsDetailVO> detailVOList) {
|
||||||
return detailVOList.stream()
|
return detailVOList.stream()
|
||||||
.map(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum)
|
.map(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.max(Integer::compare)
|
// .max(Integer::compare)
|
||||||
|
.max(BigDecimal::compareTo)
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
}
|
}
|
||||||
private static CuMemberRetailDataStatisticsDetailVO getBigRangeBoxDetailVO(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){
|
private static CuMemberRetailDataStatisticsDetailVO getBigRangeBoxDetailVO(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){
|
||||||
return detailVOList.stream()
|
return detailVOList.stream()
|
||||||
.filter(vo -> vo.getTotalBoxNum() != null && !vo.getPkId().equals(pkId))
|
.filter(vo -> vo.getTotalBoxNum() != null && !vo.getPkId().equals(pkId))
|
||||||
.max(Comparator.comparingInt(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum))
|
// .max(Comparator.comparingInt(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum))
|
||||||
|
.max(Comparator.comparing(CuMemberRetailDataStatisticsDetailVO::getTotalBoxNum, BigDecimal::compareTo))
|
||||||
.orElse(null);
|
.orElse(null);
|
||||||
}
|
}
|
||||||
private static CuMemberRetailDataStatisticsDetailVO getBigRangePVDetailVO(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){
|
private static CuMemberRetailDataStatisticsDetailVO getBigRangePVDetailVO(List<CuMemberRetailDataStatisticsDetailVO> detailVOList, Long pkId){
|
||||||
|
|
|
@ -52,7 +52,7 @@ public class CuMemberRetailAchieveVO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 盒数
|
* 盒数
|
||||||
*/
|
*/
|
||||||
private Integer boxs;
|
private BigDecimal boxs;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态
|
* 状态
|
||||||
|
@ -62,18 +62,18 @@ public class CuMemberRetailAchieveVO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 总盒数
|
* 总盒数
|
||||||
*/
|
*/
|
||||||
private Integer totalBox;
|
private BigDecimal totalBox;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 小市场盒数
|
* 小市场盒数
|
||||||
*/
|
*/
|
||||||
private Integer smallAreaBox;
|
private BigDecimal smallAreaBox;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 大市场盒数
|
* 大市场盒数
|
||||||
*/
|
*/
|
||||||
private Integer bigAreaBox;
|
private BigDecimal bigAreaBox;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 小区业绩
|
* 小区业绩
|
||||||
|
@ -171,19 +171,19 @@ public class CuMemberRetailAchieveVO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 今日盒数
|
* 今日盒数
|
||||||
*/
|
*/
|
||||||
private Integer realTimeBox;
|
private BigDecimal realTimeBox;
|
||||||
/**
|
/**
|
||||||
* 昨日盒数
|
* 昨日盒数
|
||||||
*/
|
*/
|
||||||
private Integer yesterdayBox;
|
private BigDecimal yesterdayBox;
|
||||||
/**
|
/**
|
||||||
* 本月盒数
|
* 本月盒数
|
||||||
*/
|
*/
|
||||||
private Integer monthBox;
|
private BigDecimal monthBox;
|
||||||
/**
|
/**
|
||||||
* 上月盒数
|
* 上月盒数
|
||||||
*/
|
*/
|
||||||
private Integer upMonthBox;
|
private BigDecimal upMonthBox;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 等级
|
* 等级
|
||||||
|
|
|
@ -54,28 +54,28 @@ public class CuMemberRetailDataStatisticsDetailVO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 日结表-个人累计消费盒数
|
* 日结表-个人累计消费盒数
|
||||||
*/
|
*/
|
||||||
private Integer consumeBoxNum;
|
private BigDecimal consumeBoxNum;
|
||||||
/**
|
/**
|
||||||
* 日结表-个人当日新消费盒数
|
* 日结表-个人当日新消费盒数
|
||||||
*/
|
*/
|
||||||
private Integer newBoxNum;
|
private BigDecimal newBoxNum;
|
||||||
/**
|
/**
|
||||||
* 日结表-个人伞下累计消费盒数
|
* 日结表-个人伞下累计消费盒数
|
||||||
*/
|
*/
|
||||||
private Integer teamBoxNum;
|
private BigDecimal teamBoxNum;
|
||||||
/**
|
/**
|
||||||
* 日结表-个人伞下新消费盒数
|
* 日结表-个人伞下新消费盒数
|
||||||
*/
|
*/
|
||||||
private Integer teamNewBoxNum;
|
private BigDecimal teamNewBoxNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 秒结表-个人新消费盒数
|
* 秒结表-个人新消费盒数
|
||||||
*/
|
*/
|
||||||
private Integer sNewBoxNum;
|
private BigDecimal sNewBoxNum;
|
||||||
/**
|
/**
|
||||||
* 秒结表-团队新消费盒数
|
* 秒结表-团队新消费盒数
|
||||||
*/
|
*/
|
||||||
private Integer sTeamNewBoxNum;
|
private BigDecimal sTeamNewBoxNum;
|
||||||
/**
|
/**
|
||||||
* 秒结表-个人新消费pv
|
* 秒结表-个人新消费pv
|
||||||
*/
|
*/
|
||||||
|
@ -85,7 +85,7 @@ public class CuMemberRetailDataStatisticsDetailVO implements Serializable {
|
||||||
*/
|
*/
|
||||||
private BigDecimal sTeamNewPv;
|
private BigDecimal sTeamNewPv;
|
||||||
|
|
||||||
private Integer sTeamBoxNum;
|
private BigDecimal sTeamBoxNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 个人总业绩
|
* 个人总业绩
|
||||||
|
@ -94,16 +94,16 @@ public class CuMemberRetailDataStatisticsDetailVO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 个人总盒数
|
* 个人总盒数
|
||||||
*/
|
*/
|
||||||
private Integer totalBoxNum;
|
private BigDecimal totalBoxNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 注水大区
|
* 注水大区
|
||||||
*/
|
*/
|
||||||
private Integer bigBoxNum;
|
private BigDecimal bigBoxNum;
|
||||||
/**
|
/**
|
||||||
* 注水小区
|
* 注水小区
|
||||||
*/
|
*/
|
||||||
private Integer smallBoxNum;
|
private BigDecimal smallBoxNum;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public CuMemberRetailDataStatisticsDetailVO clone() {
|
public CuMemberRetailDataStatisticsDetailVO clone() {
|
||||||
|
|
|
@ -33,15 +33,15 @@ public class CuMemberRetailDataStatisticsResultVO implements Serializable {
|
||||||
/**
|
/**
|
||||||
* 总盒数
|
* 总盒数
|
||||||
*/
|
*/
|
||||||
private Integer totalBoxNum;
|
private BigDecimal totalBoxNum;
|
||||||
/**
|
/**
|
||||||
* 大区盒数
|
* 大区盒数
|
||||||
*/
|
*/
|
||||||
private Integer bigRangeTotalBoxNum;
|
private BigDecimal bigRangeTotalBoxNum;
|
||||||
/**
|
/**
|
||||||
* 小区盒数
|
* 小区盒数
|
||||||
*/
|
*/
|
||||||
private Integer smallRangeTotalBoxNum;
|
private BigDecimal smallRangeTotalBoxNum;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 总业绩
|
* 总业绩
|
||||||
|
|
|
@ -69,7 +69,7 @@
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
|
|
||||||
<select id="selectMemberBoxNoWaterInjection" resultType="integer">
|
<select id="selectMemberBoxNoWaterInjection" resultType="java.math.BigDecimal">
|
||||||
SELECT nvl(max(smallAreaBox), 0) smallareabox
|
SELECT nvl(max(smallAreaBox), 0) smallareabox
|
||||||
from
|
from
|
||||||
(
|
(
|
||||||
|
@ -90,14 +90,14 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="selectMemberBoxWaterInjection" resultType="integer">
|
<select id="selectMemberBoxWaterInjection" resultType="java.math.BigDecimal">
|
||||||
SELECT NVL(mr.big_box_num, 0) smallAreaBox
|
SELECT NVL(mr.big_box_num, 0) smallAreaBox
|
||||||
FROM ${memberRetailTable} mr
|
FROM ${memberRetailTable} mr
|
||||||
WHERE mr.category = 0
|
WHERE mr.category = 0
|
||||||
AND mr.pk_member = #{pkMember}
|
AND mr.pk_member = #{pkMember}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectMemberTotalBox" resultType="integer">
|
<select id="selectMemberTotalBox" resultType="java.math.BigDecimal">
|
||||||
SELECT nvl(sum(totalAreaBox), 0) totalAreaBox
|
SELECT nvl(sum(totalAreaBox), 0) totalAreaBox
|
||||||
FROM (SELECT NVL(mr.team_box_num + mr.consume_box_num, 0) totalAreaBox
|
FROM (SELECT NVL(mr.team_box_num + mr.consume_box_num, 0) totalAreaBox
|
||||||
FROM ${memberRetailTable} mr
|
FROM ${memberRetailTable} mr
|
||||||
|
@ -531,7 +531,7 @@
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
<select id="selectSelfNewBox" resultType="integer">
|
<select id="selectSelfNewBox" resultType="java.math.BigDecimal">
|
||||||
SELECT nvl(sum(box), 0) box
|
SELECT nvl(sum(box), 0) box
|
||||||
FROM (
|
FROM (
|
||||||
<if test="isFirst != null and isFirst == 0">
|
<if test="isFirst != null and isFirst == 0">
|
||||||
|
|
Loading…
Reference in New Issue