|
|
@@ -1,7 +1,6 @@
|
|
|
package com.sckw.report.service;
|
|
|
|
|
|
import com.sckw.core.common.enums.NumberConstant;
|
|
|
-import com.sckw.core.common.enums.enums.DictEnum;
|
|
|
import com.sckw.core.common.enums.enums.DictTypeEnum;
|
|
|
import com.sckw.core.model.enums.CarWaybillEnum;
|
|
|
import com.sckw.core.model.enums.LogisticsOrderEnum;
|
|
|
@@ -16,6 +15,7 @@ import com.sckw.mongo.model.SckwLogisticsOrder;
|
|
|
import com.sckw.mongo.model.SckwWaybillOrder;
|
|
|
import com.sckw.mongo.model.TableTops;
|
|
|
import com.sckw.report.dao.SckwLogisticsOrderRepository;
|
|
|
+import com.sckw.report.service.param.ContractParam;
|
|
|
import com.sckw.report.service.param.WaybillOrderQuery;
|
|
|
import com.sckw.report.service.vo.CarWaybillVo;
|
|
|
import com.sckw.report.service.vo.WaybillsCountVo;
|
|
|
@@ -447,27 +447,47 @@ public class KwTransportService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 托运合同-根据合同id获取托运订单列表
|
|
|
+ * 承运合同/托运合同-根据合同id获取托运订单列表
|
|
|
*
|
|
|
- * @param contractId 合同id
|
|
|
- * @param page 当前页
|
|
|
- * @param pageSize 每页条数
|
|
|
+ * @param contractParam
|
|
|
* @return
|
|
|
*/
|
|
|
- public HttpResult getLogisticsOrderByContractId(String contractId, int page, int pageSize) {
|
|
|
+ public HttpResult getLogisticsOrderByContractId(ContractParam contractParam) {
|
|
|
+ HttpResult result = new HttpResult();
|
|
|
+ if (String.valueOf(NumberConstant.ONE).equals(contractParam.getContractType())) {
|
|
|
+ result = getLogisticsOrderContract(contractParam);
|
|
|
+ } else if (String.valueOf(NumberConstant.ONE).equals(contractParam.getContractType())) {
|
|
|
+ result = getLogisticsOrderContract(contractParam);
|
|
|
+ } else {
|
|
|
+ return HttpResult.error("合同类型错误");
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+ private HttpResult getLogisticsOrderContract(ContractParam contractParam) {
|
|
|
+ String contractIds = contractParam.getContractIds();
|
|
|
+ int page = contractParam.getPage();
|
|
|
+ int pageSize = contractParam.getPageSize();
|
|
|
//模糊匹配
|
|
|
//根据条件查询所有并排序,且分页
|
|
|
//设置模糊查询匹配规则 忽略大小写
|
|
|
// 创建条件对象
|
|
|
Criteria criteria = new Criteria();
|
|
|
- // 1. 全等于
|
|
|
- if (StringUtils.isBlank(contractId)) {
|
|
|
- return HttpResult.error("合同id为空");
|
|
|
- } else {
|
|
|
- criteria.and("contractId").is(contractId);
|
|
|
- }
|
|
|
+ List<String> stringList = StringUtils.splitStrToList(contractIds, String.class);
|
|
|
criteria.and("delFlag").is(String.valueOf(NumberConstant.ZERO));
|
|
|
Query query1 = new Query(criteria);
|
|
|
+ // 1. 模糊查询
|
|
|
+ if (CollectionUtils.isNotEmpty(stringList)) {
|
|
|
+ query1.addCriteria(Criteria.where("contractId").in(stringList));
|
|
|
+ } else {
|
|
|
+ PageResult build = PageResult.build(page, pageSize, 0L, null);
|
|
|
+ return HttpResult.ok(build);
|
|
|
+ }
|
|
|
+// if (StringUtils.isBlank(contractIds)) {
|
|
|
+// return HttpResult.error("合同id为空");
|
|
|
+// } else {
|
|
|
+// criteria.and("contractId").is(contractIds);
|
|
|
+// }
|
|
|
// 12. 总记录数
|
|
|
long total = mongoTemplate.count(query1, SckwLogisticsOrder.class);
|
|
|
// 10. 分页
|
|
|
@@ -491,13 +511,24 @@ public class KwTransportService {
|
|
|
logisticsOrder.setBillingModeLabel(sysDictResDto1.getLabel());
|
|
|
}
|
|
|
logisticsOrder.setStatusLabel(LogisticsOrderEnum.getDestination(logisticsOrder.getStatus()));
|
|
|
+// logisticsOrder.setCreateTime(DateUtil.offsetDay(logisticsOrder.getCreateTime()))
|
|
|
}
|
|
|
- PageResult build = PageResult.build(page, pageSize, total, list);
|
|
|
+// Map<String, List<SckwLogisticsOrder>> atomMap = list.stream().collect(Collectors.groupingBy(SckwLogisticsOrder::getContractId,Collectors.(
|
|
|
+// Comparator.comparing(SckwLogisticsOrder::getContractId).reversed())));
|
|
|
+
|
|
|
+ Map<String, List<SckwLogisticsOrder>> collect = list.stream().collect(Collectors.groupingBy(SckwLogisticsOrder::getContractId, Collectors.toList()));
|
|
|
+ List<SckwLogisticsOrder> returnList = new ArrayList<>();
|
|
|
+ for (List<SckwLogisticsOrder> value : collect.values()) {
|
|
|
+ returnList.addAll(value);
|
|
|
+ }
|
|
|
+// PageResult build = PageResult.build(page, pageSize, total, list);
|
|
|
+ PageResult build = PageResult.build(page, pageSize, total, returnList);
|
|
|
return HttpResult.ok(build);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 运单管理-运单列表 运单地址查询接口
|
|
|
+ *
|
|
|
* @param type
|
|
|
* @return
|
|
|
*/
|
|
|
@@ -507,12 +538,12 @@ public class KwTransportService {
|
|
|
criteria.and("delFlag").is(NumberConstant.ZERO);
|
|
|
Query query = new Query(criteria);
|
|
|
String field;
|
|
|
- if(type == NumberConstant.ONE) {
|
|
|
+ if (type == NumberConstant.ONE) {
|
|
|
field = "loadCityCode";
|
|
|
} else {
|
|
|
field = "unloadCityCode";
|
|
|
}
|
|
|
- List<Integer> list = mongoTemplate.findDistinct(query, field ,SckwWaybillOrder.class, Integer.class);
|
|
|
+ List<Integer> list = mongoTemplate.findDistinct(query, field, SckwWaybillOrder.class, Integer.class);
|
|
|
List<AreaTreeFrontResDto> areaTreeFrontResDtos = new ArrayList<>();
|
|
|
if (CollectionUtils.isNotEmpty(list)) {
|
|
|
areaTreeFrontResDtos = remoteSystemService.queryAreaTreeFrontByCodeList(list);
|