|
@@ -2413,10 +2413,15 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
item.setYearRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
|
|
|
- //占比
|
|
|
- BigDecimal divide = item.getMoney().divide(moneyTotal, 2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setOccupationRate(s+"%");
|
|
|
+ if(moneyTotal.compareTo(BigDecimal.ZERO)>1){
|
|
|
+ //占比
|
|
|
+ BigDecimal divide = item.getMoney().divide(moneyTotal, 2, RoundingMode.HALF_UP);
|
|
|
+ String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
+ item.setOccupationRate(s+"%");
|
|
|
+ }else{
|
|
|
+ item.setOccupationRate("0%");
|
|
|
+ }
|
|
|
+
|
|
|
});
|
|
|
return moneyVos;
|
|
|
}
|
|
@@ -2456,7 +2461,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
return new ArrayList<>();
|
|
|
}
|
|
|
//订单总数量
|
|
|
- Long numTotal = baseMapper.getNumStatisticsTotalWithBo(bo);
|
|
|
+ BigDecimal numTotal = baseMapper.getNumStatisticsTotalWithBo(bo);
|
|
|
numVos.forEach(item -> {
|
|
|
if (ObjectUtils.isNull(item.getOrderNum()) || item.getOrderNum() == 0){
|
|
|
return;
|
|
@@ -2484,13 +2489,17 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
if (num2 > 0){
|
|
|
Long subtract = item.getOrderNum() - num2;
|
|
|
BigDecimal divide = new BigDecimal(subtract).divide(new BigDecimal(num2),2, RoundingMode.HALF_UP);
|
|
|
- item.setWeekRate(divide.multiply(new BigDecimal("100")));
|
|
|
+ item.setYearRate(divide.multiply(new BigDecimal("100")));
|
|
|
+ }
|
|
|
+ if(numTotal.compareTo(BigDecimal.ZERO)>1){
|
|
|
+ //占比
|
|
|
+ BigDecimal divide = new BigDecimal(item.getOrderNum()).divide(numTotal, 2, RoundingMode.HALF_UP);
|
|
|
+ String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
+ item.setOccupationRate(s+"%");
|
|
|
+ }else{
|
|
|
+ item.setOccupationRate("0%");
|
|
|
}
|
|
|
|
|
|
- //占比
|
|
|
- BigDecimal divide = new BigDecimal(item.getOrderNum()).divide(new BigDecimal(numTotal), 2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setOccupationRate(s+"%");
|
|
|
});
|
|
|
return numVos;
|
|
|
}
|
|
@@ -3367,7 +3376,7 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
//订单总额
|
|
|
BigDecimal moneyTotal = baseMapper.getMoneyStatisticsWithBo(bo);
|
|
|
//订单总数量
|
|
|
- Long numTotal = baseMapper.getNumStatisticsTotalWithBo(bo);
|
|
|
+ BigDecimal numTotal = baseMapper.getNumStatisticsTotalWithBo(bo);
|
|
|
detailVos.forEach(item -> {
|
|
|
//订单客户机构ID
|
|
|
|
|
@@ -3419,15 +3428,23 @@ public class TopOldOrderServiceImpl extends ServiceImpl<TopOldOrderMapper, TopOl
|
|
|
BigDecimal divide = new BigDecimal(subtract).divide(new BigDecimal(num2),2, RoundingMode.HALF_UP);
|
|
|
item.setYearRate(divide.multiply(new BigDecimal("100")));
|
|
|
}
|
|
|
+ if(moneyTotal.compareTo(BigDecimal.ZERO)>1){
|
|
|
+ //金额占比
|
|
|
+ BigDecimal divide = item.getMoney().divide(moneyTotal, 2, RoundingMode.HALF_UP);
|
|
|
+ String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
+ item.setMoneyOccupationRate(s+"%");
|
|
|
+ }else{
|
|
|
+ item.setMoneyOccupationRate("0%");
|
|
|
+ }
|
|
|
+ if(numTotal.compareTo(BigDecimal.ZERO)>1){
|
|
|
+ //数量占比
|
|
|
+ BigDecimal divide2 = new BigDecimal(item.getOrderNum()).divide(numTotal, 2, RoundingMode.HALF_UP);
|
|
|
+ String s2 = divide2.multiply(new BigDecimal("100")).toString();
|
|
|
+ item.setOccupationRate(s2+"%");
|
|
|
+ }else{
|
|
|
+ item.setOccupationRate("0%");
|
|
|
+ }
|
|
|
|
|
|
- //金额占比
|
|
|
- BigDecimal divide = item.getMoney().divide(moneyTotal, 2, RoundingMode.HALF_UP);
|
|
|
- String s = divide.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setMoneyOccupationRate(s+"%");
|
|
|
- //数量占比
|
|
|
- BigDecimal divide2 = new BigDecimal(item.getOrderNum()).divide(new BigDecimal(numTotal), 2, RoundingMode.HALF_UP);
|
|
|
- String s2 = divide2.multiply(new BigDecimal("100")).toString();
|
|
|
- item.setOccupationRate(s2+"%");
|
|
|
});
|
|
|
return detailVos;
|
|
|
}
|