|
@@ -1,5 +1,6 @@
|
|
|
package com.gree.mall.manager.logic.workorder;
|
|
|
|
|
|
+import cn.hutool.core.convert.Convert;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
import com.google.common.collect.Lists;
|
|
|
import com.gree.mall.manager.bean.admin.AdminUserCom;
|
|
@@ -54,32 +55,121 @@ public class OrderBaseCountLogic {
|
|
|
public OrderBaseCountBean baseCountBean( String startTime,
|
|
|
String endTime){
|
|
|
AdminUserCom adminUser = commonLogic.getAdminUser();
|
|
|
- OrderBaseCountBean orderBaseCountBean = orderBaseCMapper
|
|
|
- .countOrderBaseIndex(adminUser.getCompanyWechatId(), adminUser.getAdminWebsitIds(),adminUser.getType()
|
|
|
- ,startTime,endTime);
|
|
|
-
|
|
|
-/*
|
|
|
- List<PgOrderBase> pgOrderBaseList = pgOrderBaseService.lambdaQuery()
|
|
|
- .select(PgOrderBase::getOrderType, PgOrderBase::getOrderTypeText, PgOrderBase::getCreateTime, PgOrderBase::getId
|
|
|
- , PgOrderBase::getOrderStatus,PgOrderBase::getAppointmentTime)
|
|
|
- .between(PgOrderBase::getCreateTime, DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), -30)), new Date())
|
|
|
- .in(CollectionUtils.isNotEmpty(adminUser.getCompanyWechatIds()),PgOrderBase::getCompanyWechatId,adminUser.getCompanyWechatId())
|
|
|
- .and(CollectionUtils.isNotEmpty(adminUser.getAdminWebsitIds()),
|
|
|
- v -> v.in(PgOrderBase::getWebsitId,adminUser.getAdminWebsitIds()).or()
|
|
|
- .in(PgOrderBase::getCreateWebsitId,adminUser.getAdminWebsitIds()))
|
|
|
- .list();
|
|
|
-*/
|
|
|
-
|
|
|
-/*
|
|
|
- List<PgOrderBase> pgOrderBaseListOver = pgOrderBaseService.lambdaQuery()
|
|
|
- .select(PgOrderBase::getOrderType, PgOrderBase::getOrderTypeText, PgOrderBase::getCreateTime, PgOrderBase::getId
|
|
|
- , PgOrderBase::getOrderStatus,PgOrderBase::getAppointmentTime,PgOrderBase::getOverDate,PgOrderBase::getOverTime)
|
|
|
- .between(PgOrderBase::getOverTime, DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), -8)), new Date())
|
|
|
- .in(CollectionUtils.isNotEmpty(adminUser.getCompanyWechatIds()),PgOrderBase::getCompanyWechatId,adminUser.getCompanyWechatId())
|
|
|
- .and(CollectionUtils.isNotEmpty(adminUser.getAdminWebsitIds()),
|
|
|
- v -> v.in(PgOrderBase::getWebsitId,adminUser.getAdminWebsitIds()).or().in(PgOrderBase::getCreateWebsitId,adminUser.getAdminWebsitIds()))
|
|
|
- .list();
|
|
|
-*/
|
|
|
+ OrderBaseCountBean orderBaseCountBean = new OrderBaseCountBean();
|
|
|
+
|
|
|
+ BoolQueryBuilder queryBuilderCount = QueryBuilders.boolQuery();
|
|
|
+
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(adminUser.getAdminWebsitIds())) {
|
|
|
+ queryBuilderCount.must(
|
|
|
+ QueryBuilders.boolQuery().should(QueryBuilders.termsQuery("create_websit_id", adminUser.getAdminWebsitIds()))
|
|
|
+ .should(QueryBuilders.termsQuery("websit_id", adminUser.getAdminWebsitIds()))
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ if (startTime != null){
|
|
|
+ queryBuilderCount.must(QueryBuilders.rangeQuery("create_time")
|
|
|
+ .gte(startTime)
|
|
|
+ .lte(endTime)
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ //待派工
|
|
|
+ NativeSearchQuery searchQueryDPG = new NativeSearchQueryBuilder()
|
|
|
+ .withQuery(queryBuilderCount)
|
|
|
+ .withPageable(PageRequest.of(1, 1))
|
|
|
+ .addAggregation(this.getAggs(AggregationBuilders.filter("DPG", QueryBuilders.boolQuery()
|
|
|
+ .must(QueryBuilders.termsQuery("order_status","DSHPG","CJ","YPD","DXSPD","DZBPG","DWDSPGP","DXSSPGP","DTJXSSPGP","DZBSPGP","DFZXPD","DFZXSPGP","DWDPG","DWDPD")
|
|
|
+ ))))
|
|
|
+ .build();
|
|
|
+ SearchHits responseDPG = elasticsearchRestTemplate.search(searchQueryDPG, OrderBaseEs.class);
|
|
|
+
|
|
|
+ orderBaseCountBean.setDpg(Convert.toInt(this.getWorkerOrderCountResult(responseDPG.getAggregations(),"DPG")));
|
|
|
+
|
|
|
+
|
|
|
+ //待接收
|
|
|
+ NativeSearchQuery searchQueryDJS = new NativeSearchQueryBuilder()
|
|
|
+ .withQuery(queryBuilderCount)
|
|
|
+ .withPageable(PageRequest.of(1, 1))
|
|
|
+ .addAggregation(this.getAggs(AggregationBuilders.filter("DJS", QueryBuilders.boolQuery()
|
|
|
+ .must(QueryBuilders.boolQuery().should(QueryBuilders.termsQuery("is_meet", false))
|
|
|
+ .should(QueryBuilders.termsQuery("order_status", "DJD")))
|
|
|
+ .mustNot(QueryBuilders.termsQuery("order_status", "YQX", "FWQX", "FL", "FWZT", "YCGB"))
|
|
|
+ )))
|
|
|
+ .build();
|
|
|
+ SearchHits responseDJS = elasticsearchRestTemplate.search(searchQueryDJS, OrderBaseEs.class);
|
|
|
+
|
|
|
+ orderBaseCountBean.setDjs(Convert.toInt(this.getWorkerOrderCountResult(responseDJS.getAggregations(),"DJS")));
|
|
|
+
|
|
|
+
|
|
|
+ //待抢单
|
|
|
+ NativeSearchQuery searchQueryDQD = new NativeSearchQueryBuilder()
|
|
|
+ .withQuery(queryBuilderCount)
|
|
|
+ .withPageable(PageRequest.of(1, 1))
|
|
|
+ .addAggregation(this.getAggs(AggregationBuilders.filter("DQD", QueryBuilders.boolQuery()
|
|
|
+ .must(QueryBuilders.termsQuery("order_status","DQD")
|
|
|
+ ))))
|
|
|
+ .build();
|
|
|
+ SearchHits responseDQD = elasticsearchRestTemplate.search(searchQueryDQD, OrderBaseEs.class);
|
|
|
+
|
|
|
+ orderBaseCountBean.setDqd(Convert.toInt(this.getWorkerOrderCountResult(responseDQD.getAggregations(),"DQD")));
|
|
|
+
|
|
|
+
|
|
|
+ //服务中
|
|
|
+ NativeSearchQuery searchQueryfwz = new NativeSearchQueryBuilder()
|
|
|
+ .withQuery(queryBuilderCount)
|
|
|
+ .withPageable(PageRequest.of(1, 1))
|
|
|
+ .addAggregation(this.getAggs(AggregationBuilders.filter("fwz", QueryBuilders.boolQuery()
|
|
|
+ .must(QueryBuilders.termsQuery("order_status","FWZ","GCSZT","BFWG","DSM","YZP","WDBH","XSBH","TJXSBH","ZBBH","FZXBH")
|
|
|
+ ))))
|
|
|
+ .build();
|
|
|
+ SearchHits responsefwz = elasticsearchRestTemplate.search(searchQueryfwz, OrderBaseEs.class);
|
|
|
+
|
|
|
+ orderBaseCountBean.setFwz(Convert.toInt(this.getWorkerOrderCountResult(responsefwz.getAggregations(),"fwz")));
|
|
|
+
|
|
|
+
|
|
|
+ //待预约
|
|
|
+ NativeSearchQuery searchQueryDYY = new NativeSearchQueryBuilder()
|
|
|
+ .withQuery(queryBuilderCount)
|
|
|
+ .withPageable(PageRequest.of(1, 1))
|
|
|
+ .addAggregation(this.getAggs(AggregationBuilders.filter("DYY", QueryBuilders.boolQuery()
|
|
|
+ .mustNot(QueryBuilders.termsQuery("order_status","YWG","GCSZX","WDWG","YWGO","YQX","FWZT","YCGB",
|
|
|
+ "FWQX","FL","YJS","LRCD","DSHPG","CJ","YPD","DXSPD","DZBPG","DWDSPGP","DXSSPGP","DTJXSSPGP","DZBSPGP")
|
|
|
+ )
|
|
|
+ .mustNot(QueryBuilders.existsQuery("appointment_time"))
|
|
|
+ )))
|
|
|
+ .build();
|
|
|
+ SearchHits responseDYY = elasticsearchRestTemplate.search(searchQueryDYY, OrderBaseEs.class);
|
|
|
+
|
|
|
+ orderBaseCountBean.setDyy(Convert.toInt(this.getWorkerOrderCountResult(responseDYY.getAggregations(),"DYY")));
|
|
|
+
|
|
|
+ //异常单处理
|
|
|
+ NativeSearchQuery searchQueryYCDCL = new NativeSearchQueryBuilder()
|
|
|
+ .withQuery(queryBuilderCount)
|
|
|
+ .withPageable(PageRequest.of(1, 1))
|
|
|
+ .addAggregation(this.getAggs(AggregationBuilders.filter("YCDCL", QueryBuilders.boolQuery()
|
|
|
+ .mustNot(QueryBuilders.termsQuery("order_status","YWG","YWGO","YJS"))
|
|
|
+ .must(QueryBuilders.termsQuery("is_exception",true))
|
|
|
+
|
|
|
+ )))
|
|
|
+ .build();
|
|
|
+ SearchHits responseYCDCL = elasticsearchRestTemplate.search(searchQueryYCDCL, OrderBaseEs.class);
|
|
|
+
|
|
|
+ orderBaseCountBean.setYcdcl(Convert.toInt(this.getWorkerOrderCountResult(responseYCDCL.getAggregations(),"YCDCL")));
|
|
|
+
|
|
|
+
|
|
|
+ //差评
|
|
|
+ NativeSearchQuery searchQueryCP = new NativeSearchQueryBuilder()
|
|
|
+ .withQuery(queryBuilderCount)
|
|
|
+ .withPageable(PageRequest.of(1, 1))
|
|
|
+ .addAggregation(this.getAggs(AggregationBuilders.filter("CP", QueryBuilders.boolQuery()
|
|
|
+ .must(QueryBuilders.termsQuery("appraise_status","C"))
|
|
|
+
|
|
|
+ )))
|
|
|
+ .build();
|
|
|
+ SearchHits responseCP = elasticsearchRestTemplate.search(searchQueryCP, OrderBaseEs.class);
|
|
|
+
|
|
|
+ orderBaseCountBean.setCp(Convert.toInt(this.getWorkerOrderCountResult(responseCP.getAggregations(),"CP")));
|
|
|
+
|
|
|
|
|
|
Map<String,List<Long>> qtddqs = new HashMap<>();
|
|
|
|
|
@@ -107,10 +197,7 @@ public class OrderBaseCountLogic {
|
|
|
|
|
|
for (int i = 6; i >= 0; i--) {
|
|
|
Integer day = i*-1;
|
|
|
- /* Long xzgd = pgOrderBaseList.stream().filter(item -> item.getCreateTime().before(DateUtil.endOfDay(DateUtil.offsetDay(new Date(), (day)))) &&
|
|
|
- item.getCreateTime().after(DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), (day))))
|
|
|
- ).count();
|
|
|
-*/
|
|
|
+
|
|
|
BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
|
|
|
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(adminUser.getAdminWebsitIds())) {
|
|
@@ -120,10 +207,7 @@ public class OrderBaseCountLogic {
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- /* queryBuilder.must(QueryBuilders.rangeQuery("create_time")
|
|
|
- .gte(startTime)
|
|
|
- .lte(endTime)
|
|
|
- );*/
|
|
|
+
|
|
|
//新增工单
|
|
|
NativeSearchQuery searchQuery = new NativeSearchQueryBuilder()
|
|
|
.withQuery(queryBuilder)
|
|
@@ -138,9 +222,7 @@ public class OrderBaseCountLogic {
|
|
|
|
|
|
xzgdList.add(this.getWorkerOrderCountResult(response.getAggregations(),"xzgd"));
|
|
|
|
|
|
- /* Long wgd = pgOrderBaseListOver.stream().filter(item -> item.getOverTime().before(DateUtil.endOfDay(DateUtil.offsetDay(new Date(), (day)))) &&
|
|
|
- item.getOverTime().after(DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), (day))))
|
|
|
- && orderStatus.contains(item.getOrderStatus()) ).count();*/
|
|
|
+
|
|
|
|
|
|
|
|
|
//完工单
|
|
@@ -159,11 +241,6 @@ public class OrderBaseCountLogic {
|
|
|
|
|
|
|
|
|
|
|
|
-/* Long jxz = pgOrderBaseList.stream().filter(item -> item.getCreateTime().before(DateUtil.endOfDay(DateUtil.offsetDay(new Date(), (day)))) &&
|
|
|
- item.getCreateTime().after(DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), (day))))
|
|
|
- && !orderStatus.contains(item.getOrderStatus())
|
|
|
- && !orderStatusQx.contains(item.getOrderStatus())
|
|
|
- ).count();*/
|
|
|
|
|
|
|
|
|
//待商户派工
|