|
@@ -9,16 +9,27 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.gree.mall.manager.bean.admin.AdminUserCom;
|
|
|
import com.gree.mall.manager.bean.big.*;
|
|
|
+import com.gree.mall.manager.bean.es.OrderBaseEs;
|
|
|
import com.gree.mall.manager.enums.IsYesNoEnum;
|
|
|
import com.gree.mall.manager.enums.UserTypeEnum;
|
|
|
import com.gree.mall.manager.logic.common.CommonLogic;
|
|
|
+import com.gree.mall.manager.logic.workorder.OrderBaseCountLogic;
|
|
|
import com.gree.mall.manager.plus.entity.*;
|
|
|
import com.gree.mall.manager.plus.service.*;
|
|
|
import com.gree.mall.manager.utils.HttpUtils;
|
|
|
import com.gree.mall.manager.utils.RedisUtil;
|
|
|
import com.gree.mall.manager.utils.StringUtil;
|
|
|
import io.swagger.annotations.ApiModel;
|
|
|
+import org.elasticsearch.index.query.BoolQueryBuilder;
|
|
|
+import org.elasticsearch.index.query.QueryBuilder;
|
|
|
+import org.elasticsearch.index.query.QueryBuilders;
|
|
|
+import org.elasticsearch.search.aggregations.AggregationBuilders;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.data.domain.PageRequest;
|
|
|
+import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;
|
|
|
+import org.springframework.data.elasticsearch.core.SearchHits;
|
|
|
+import org.springframework.data.elasticsearch.core.query.NativeSearchQuery;
|
|
|
+import org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
|
|
@@ -88,7 +99,12 @@ public class BigLogic {
|
|
|
@Autowired
|
|
|
WebsitPartsSalesService websitPartsSalesService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ ElasticsearchRestTemplate elasticsearchRestTemplate;
|
|
|
+
|
|
|
|
|
|
+ @Autowired
|
|
|
+ OrderBaseCountLogic orderBaseCountLogic;
|
|
|
|
|
|
@Autowired
|
|
|
WebsitPartsNewRefundManageService websitPartsNewRefundManageService;
|
|
@@ -590,17 +606,21 @@ public class BigLogic {
|
|
|
|
|
|
List<PgOrderBase> pgOrderBases = pgOrderBaseService.lambdaQuery()
|
|
|
.in(!StringUtil.isEmpty(adminUser.getCompanyWechatId()), PgOrderBase::getCompanyWechatId, adminUser.getCompanyWechatId())
|
|
|
- .in(!CollectionUtils.isEmpty(adminUser.getAdminWebsitIds()) && !adminUser.getIsMaster(), PgOrderBase::getWebsitId, adminUser.getAdminWebsitIds())
|
|
|
+ .in(!CollectionUtils.isEmpty(adminUser.getAdminWebsitIds()) , PgOrderBase::getWebsitId, adminUser.getAdminWebsitIds())
|
|
|
.notIn(PgOrderBase::getOrderStatus, "YQX","FWZT","YCGB","FWQX","FL")
|
|
|
.between(PgOrderBase::getCreateTime, DateUtil.offsetDay(DateUtil.beginOfDay(new Date()), -30), new Date())
|
|
|
.select(PgOrderBase::getOrderSmallTypeText, PgOrderBase::getId, PgOrderBase::getTotalNum, PgOrderBase::getUndoneNum, PgOrderBase::getCreateTime,
|
|
|
- PgOrderBase::getSaleType).list();
|
|
|
+ PgOrderBase::getSaleType,PgOrderBase::getOverTime,PgOrderBase::getWebsitOverTime,PgOrderBase::getOrderStatus).list();
|
|
|
|
|
|
List<LargeWorkerOrderDateBean> largeWorkerOrderDateBeans = new ArrayList<>();
|
|
|
|
|
|
List<String> status = new ArrayList<>();
|
|
|
status.add("YWG");
|
|
|
status.add("YJS");
|
|
|
+ status.add("GCSZX");
|
|
|
+ status.add("WDWG");
|
|
|
+ status.add("YWGO");
|
|
|
+ status.add("LRCD");
|
|
|
|
|
|
|
|
|
for (OrderSmallType orderSmallType : orderSmallTypes) {
|
|
@@ -613,15 +633,39 @@ public class BigLogic {
|
|
|
|
|
|
for (int i = 29; i > -1; i--) {
|
|
|
|
|
|
+ BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
|
|
|
+
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(adminUser.getAdminWebsitIds())) {
|
|
|
+ List<QueryBuilder> should = queryBuilder.should();
|
|
|
+ should.add(QueryBuilders.termsQuery("create_websit_id", adminUser.getAdminWebsitIds()));
|
|
|
+ should.add(QueryBuilders.termsQuery("websit_id", adminUser.getAdminWebsitIds()));
|
|
|
+ }
|
|
|
+
|
|
|
DateTime startDay = DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), -1 * i));
|
|
|
|
|
|
DateTime endDay = DateUtil.endOfDay(startDay);
|
|
|
|
|
|
- Integer integer = pgOrderBases.stream().filter(item -> item.getCreateTime().before(endDay)
|
|
|
- && item.getCreateTime().after(startDay) && status.contains(item.getOrderStatus())
|
|
|
+ /* Integer integer = pgOrderBases.stream().filter(item -> status.contains(item.getOrderStatus())
|
|
|
+ && item.getOverTime().before(endDay)
|
|
|
+ && item.getOverTime().after(startDay)
|
|
|
&& item.getOrderSmallTypeText().equals(largeWorkerOrderDateBean.getLx())
|
|
|
)
|
|
|
.map(PgOrderBase::getTotalNum).reduce(Integer::sum).orElse(0);
|
|
|
+*/
|
|
|
+ //完工单
|
|
|
+ NativeSearchQuery searchQueryWGD = new NativeSearchQueryBuilder()
|
|
|
+ .withQuery(queryBuilder)
|
|
|
+ .withPageable(PageRequest.of(1, 1))
|
|
|
+ .addAggregation(orderBaseCountLogic.getAggs(AggregationBuilders.filter("wgd", QueryBuilders.boolQuery()
|
|
|
+ .must(QueryBuilders.termsQuery("order_status",status))
|
|
|
+ .must(QueryBuilders.termsQuery("order_small_type_text",orderSmallType.getOrderSmallTypeText()))
|
|
|
+ .must(QueryBuilders.rangeQuery("over_time")
|
|
|
+ .gte(DateUtil.format(startDay,"yyyy-MM-dd HH:mm:ss"))
|
|
|
+ .lte(DateUtil.format(endDay,"yyyy-MM-dd HH:mm:ss")))
|
|
|
+ )))
|
|
|
+ .build();
|
|
|
+ SearchHits responseWGD = elasticsearchRestTemplate.search(searchQueryWGD, OrderBaseEs.class);
|
|
|
+
|
|
|
|
|
|
|
|
|
Integer integerWwg = pgOrderBases.stream().filter(item -> item.getCreateTime().before(endDay)
|
|
@@ -630,7 +674,7 @@ public class BigLogic {
|
|
|
)
|
|
|
.map(PgOrderBase::getTotalNum).reduce(Integer::sum).orElse(0);
|
|
|
|
|
|
- unitNum.add(integer);
|
|
|
+ unitNum.add(Convert.toInt(orderBaseCountLogic.getWorkerOrderCountResult(responseWGD.getAggregations(),"wgd")));
|
|
|
unitNumWwg.add(integerWwg);
|
|
|
}
|
|
|
|