|
|
@@ -15,6 +15,7 @@ import com.sckw.mongo.model.SckwTradeOrder;
|
|
|
import com.sckw.report.dao.SckwTradeOrderRepository;
|
|
|
import com.sckw.report.service.param.*;
|
|
|
import com.sckw.report.service.vo.OrderListRes;
|
|
|
+import com.sckw.report.service.vo.TradeOrderAppStatisticVO;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.data.domain.Sort;
|
|
|
@@ -228,6 +229,34 @@ public class KwOrderService {
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @desc: app主界面贸易订单统计
|
|
|
+ * @author: yzc
|
|
|
+ * @date: 2023-08-21 17:39
|
|
|
+ * @Param params:
|
|
|
+ * @return: java.util.List<com.sckw.report.service.vo.TradeOrderAppStatisticVO>
|
|
|
+ */
|
|
|
+ public List<TradeOrderAppStatisticVO> appStatistic(TradeOrderAppStatisticParam params) {
|
|
|
+ Long entId = LoginUserHolder.getEntId();
|
|
|
+ String topEnt = Objects.equals(params.getOrderType(), 1) ? "procureTopEntId" : "supplyTopEntId";
|
|
|
+ List<Integer> status = Arrays.asList(1, 4, 5, 7);
|
|
|
+ Query query = new Query();
|
|
|
+ Criteria criteria = new Criteria();
|
|
|
+ criteria.and(topEnt).is(entId).and("status").in(status).and("delFlag").is(0);
|
|
|
+ query.addCriteria(criteria);
|
|
|
+ List<SckwTradeOrder> orders = mongoTemplate.find(query, SckwTradeOrder.class);
|
|
|
+ Map<Integer, List<SckwTradeOrder>> map = orders.stream().collect(Collectors.groupingBy(SckwTradeOrder::getStatus));
|
|
|
+ List<TradeOrderAppStatisticVO> statistics = new ArrayList<>();
|
|
|
+ status.forEach(e -> {
|
|
|
+ List<SckwTradeOrder> list = map.get(e);
|
|
|
+ int total = CollectionUtils.isEmpty(list) ? 0 : list.size();
|
|
|
+ TradeOrderAppStatisticVO statistic = new TradeOrderAppStatisticVO();
|
|
|
+ statistic.setValue(e).setTotal(total);
|
|
|
+ statistics.add(statistic);
|
|
|
+ });
|
|
|
+ return statistics;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* @desc: 贸易订单列表导出
|
|
|
* @author: yzc
|