|
@@ -578,19 +578,35 @@ public class PurchaseServiceImpl extends ServiceImpl<PurchaseMapper, Purchase>
|
|
|
*/
|
|
|
@Override
|
|
|
public Map<String, Object> statisticsPurchaseHead() {
|
|
|
+ long sumOrderCount = this.count(Wrappers.<Purchase>query().lambda().isNotNull(Purchase::getDataResourceId));
|
|
|
+ long noArrivalOrderCount = this.count(Wrappers.<Purchase>query().lambda().isNotNull(Purchase::getDataResourceId).eq(Purchase::getArrivalStatus,0));
|
|
|
+ long partArrivalOrderCount = this.count(Wrappers.<Purchase>query().lambda().isNotNull(Purchase::getDataResourceId).eq(Purchase::getArrivalStatus,10));
|
|
|
+ long alArrivalOrderCount = this.count(Wrappers.<Purchase>query().lambda().isNotNull(Purchase::getDataResourceId).eq(Purchase::getArrivalStatus,20));
|
|
|
+ BigDecimal sumPurchaseMoney = getSumMoney(-1);
|
|
|
+ BigDecimal noArrivalPurchaseMoney = getSumMoney(0);
|
|
|
+ BigDecimal partArrivalPurchaseMoney = getSumMoney(10);
|
|
|
+ BigDecimal alArrivalPurchaseMoney = getSumMoney(20);
|
|
|
//初始化MAP
|
|
|
- long count = this.count(Wrappers.<Purchase>query().lambda().isNotNull(Purchase::getDataResourceId));
|
|
|
Map<String, Object> map = new HashMap<String, Object>() {{
|
|
|
- put("sumOrderCount", count);
|
|
|
- put("sumPurchaseMoney", BigDecimal.ZERO);
|
|
|
- put("noArrivalOrderCount", BigDecimal.ZERO);
|
|
|
- put("noArrivalPurchaseMoney", BigDecimal.ZERO);
|
|
|
- put("partArrivalOrderCount", BigDecimal.ZERO);
|
|
|
- put("partArrivalPurchaseMoney", BigDecimal.ZERO);
|
|
|
- put("alArrivalOrderCount", BigDecimal.ZERO);
|
|
|
- put("alArrivalPurchaseMoney", BigDecimal.ZERO);
|
|
|
+ put("sumOrderCount", sumOrderCount);
|
|
|
+ put("sumPurchaseMoney", sumPurchaseMoney);
|
|
|
+ put("noArrivalOrderCount", noArrivalOrderCount);
|
|
|
+ put("noArrivalPurchaseMoney", noArrivalPurchaseMoney);
|
|
|
+ put("partArrivalOrderCount",partArrivalOrderCount);
|
|
|
+ put("partArrivalPurchaseMoney", partArrivalPurchaseMoney);
|
|
|
+ put("alArrivalOrderCount", alArrivalOrderCount);
|
|
|
+ put("alArrivalPurchaseMoney", alArrivalPurchaseMoney);
|
|
|
}};
|
|
|
-
|
|
|
return map;
|
|
|
}
|
|
|
+
|
|
|
+ public BigDecimal getSumMoney(int arrivalStatus){
|
|
|
+ QueryWrapper<Purchase> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.select("IFNULL(SUM(amount),0) as purchaseMoney");
|
|
|
+ if(arrivalStatus!=-1){
|
|
|
+ queryWrapper.eq("arrival_status",arrivalStatus);
|
|
|
+ }
|
|
|
+ BigDecimal purchaseMoney = (BigDecimal) this.getMap(queryWrapper).getOrDefault("purchaseMoney",BigDecimal.ZERO);
|
|
|
+ return purchaseMoney;
|
|
|
+ }
|
|
|
}
|