|
@@ -10,13 +10,15 @@ import com.github.pagehelper.PageInfo;
|
|
|
import com.google.common.collect.Lists;
|
|
import com.google.common.collect.Lists;
|
|
|
import com.google.common.collect.Maps;
|
|
import com.google.common.collect.Maps;
|
|
|
import com.google.common.collect.Sets;
|
|
import com.google.common.collect.Sets;
|
|
|
|
|
+import com.sckw.contract.api.model.dto.req.TradeEntListQueryFeignDto;
|
|
|
|
|
+import com.sckw.contract.api.model.dto.res.TradeEntInfoResVo;
|
|
|
import com.sckw.contract.dao.KwcContractLogisticsMapper;
|
|
import com.sckw.contract.dao.KwcContractLogisticsMapper;
|
|
|
import com.sckw.contract.model.dto.req.QueryListReqDto;
|
|
import com.sckw.contract.model.dto.req.QueryListReqDto;
|
|
|
-import com.sckw.contract.model.dto.req.TradeEntListQueryFeignDto;
|
|
|
|
|
import com.sckw.contract.model.dto.res.QueryListResDto;
|
|
import com.sckw.contract.model.dto.res.QueryListResDto;
|
|
|
-import com.sckw.contract.model.dto.res.TradeEntInfoResVo;
|
|
|
|
|
-import com.sckw.contract.model.entity.*;
|
|
|
|
|
-import com.sckw.contract.model.enums.LogisticsTransportBizTypeEnum;
|
|
|
|
|
|
|
+import com.sckw.contract.model.entity.KwcContractLogistics;
|
|
|
|
|
+import com.sckw.contract.model.entity.KwcContractLogisticsGoods;
|
|
|
|
|
+import com.sckw.contract.model.entity.KwcContractLogisticsUnit;
|
|
|
|
|
+import com.sckw.contract.model.entity.KwcContractTrade;
|
|
|
import com.sckw.contract.model.report.LogisticsListExport;
|
|
import com.sckw.contract.model.report.LogisticsListExport;
|
|
|
import com.sckw.contract.model.vo.req.*;
|
|
import com.sckw.contract.model.vo.req.*;
|
|
|
import com.sckw.contract.model.vo.res.*;
|
|
import com.sckw.contract.model.vo.res.*;
|
|
@@ -40,23 +42,19 @@ import com.sckw.core.web.context.LoginUserHolder;
|
|
|
import com.sckw.core.web.response.BaseResult;
|
|
import com.sckw.core.web.response.BaseResult;
|
|
|
import com.sckw.core.web.response.result.PageDataResult;
|
|
import com.sckw.core.web.response.result.PageDataResult;
|
|
|
import com.sckw.excel.utils.ExcelUtil;
|
|
import com.sckw.excel.utils.ExcelUtil;
|
|
|
|
|
+import com.sckw.order.api.dubbo.TradeOrderInfoService;
|
|
|
|
|
+import com.sckw.order.api.model.TradeOrderContractVo;
|
|
|
import com.sckw.payment.api.feign.PaymentFeignService;
|
|
import com.sckw.payment.api.feign.PaymentFeignService;
|
|
|
import com.sckw.payment.api.model.feign.WalletPayableDto;
|
|
import com.sckw.payment.api.model.feign.WalletPayableDto;
|
|
|
import com.sckw.product.api.dubbo.GoodsInfoService;
|
|
import com.sckw.product.api.dubbo.GoodsInfoService;
|
|
|
import com.sckw.product.api.model.KwpGoods;
|
|
import com.sckw.product.api.model.KwpGoods;
|
|
|
import com.sckw.stream.enums.MessageEnum;
|
|
import com.sckw.stream.enums.MessageEnum;
|
|
|
import com.sckw.stream.model.UserInfo;
|
|
import com.sckw.stream.model.UserInfo;
|
|
|
-import com.sckw.system.api.feign.DataPermissionFeignService;
|
|
|
|
|
import com.sckw.system.api.RemoteSystemService;
|
|
import com.sckw.system.api.RemoteSystemService;
|
|
|
import com.sckw.system.api.RemoteUserService;
|
|
import com.sckw.system.api.RemoteUserService;
|
|
|
|
|
+import com.sckw.system.api.feign.DataPermissionFeignService;
|
|
|
import com.sckw.system.api.model.dto.req.DataPermissionFilterReqDto;
|
|
import com.sckw.system.api.model.dto.req.DataPermissionFilterReqDto;
|
|
|
-import com.sckw.system.api.model.dto.res.DataPermissionDTO;
|
|
|
|
|
-import com.sckw.system.api.model.dto.res.EntCacheResDto;
|
|
|
|
|
-import com.sckw.system.api.model.dto.res.KwsUserResDto;
|
|
|
|
|
-import com.sckw.system.api.model.dto.res.SysDictResDto;
|
|
|
|
|
-import com.sckw.system.api.model.dto.res.UserCacheResDto;
|
|
|
|
|
-import com.sckw.order.api.dubbo.TradeOrderInfoService;
|
|
|
|
|
-import com.sckw.order.api.model.TradeOrderContractVo;
|
|
|
|
|
|
|
+import com.sckw.system.api.model.dto.res.*;
|
|
|
import com.sckw.transport.api.dubbo.TransportRemoteService;
|
|
import com.sckw.transport.api.dubbo.TransportRemoteService;
|
|
|
import com.sckw.transport.api.model.vo.KwtLogisticsOrderVO;
|
|
import com.sckw.transport.api.model.vo.KwtLogisticsOrderVO;
|
|
|
import com.sckw.transport.api.model.vo.RWaybillSubOrderVo;
|
|
import com.sckw.transport.api.model.vo.RWaybillSubOrderVo;
|
|
@@ -105,7 +103,7 @@ public class KwcContractLogisticsService {
|
|
|
private CommonBusinessService commonBusinessService;
|
|
private CommonBusinessService commonBusinessService;
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- private IKwcContractLogisticsScoreService logisticsScoreService;
|
|
|
|
|
|
|
+ private IKwcContractLogisticsScoreService logisticsScoreService;
|
|
|
|
|
|
|
|
@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
|
|
@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
|
|
|
@Autowired
|
|
@Autowired
|
|
@@ -820,7 +818,7 @@ public class KwcContractLogisticsService {
|
|
|
if (Objects.nonNull(queryListResVo.getEndTime())) {
|
|
if (Objects.nonNull(queryListResVo.getEndTime())) {
|
|
|
queryListResVo.setEndTime(DateUtils.getStartOfDay(queryListResVo.getEndTime()));
|
|
queryListResVo.setEndTime(DateUtils.getStartOfDay(queryListResVo.getEndTime()));
|
|
|
String endDate = DateUtils.format(queryListResVo.getEndTime(), DateUtils.DATE_PATTERN);
|
|
String endDate = DateUtils.format(queryListResVo.getEndTime(), DateUtils.DATE_PATTERN);
|
|
|
- if (org.apache.commons.lang3.StringUtils.equals(endDate,"9999-12-30")){
|
|
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.equals(endDate, "9999-12-30")) {
|
|
|
queryListResVo.setEndTime(null);
|
|
queryListResVo.setEndTime(null);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1078,35 +1076,35 @@ public class KwcContractLogisticsService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public PageDataResult<QueryLogisticListResp> queryLogisticsContractListByPage(QueryLogisticListReq req) {
|
|
public PageDataResult<QueryLogisticListResp> queryLogisticsContractListByPage(QueryLogisticListReq req) {
|
|
|
- log.info("分页查询物流合同参数:{}", JSON.toJSONString( req));
|
|
|
|
|
|
|
+ log.info("分页查询物流合同参数:{}", JSON.toJSONString(req));
|
|
|
Long entId;
|
|
Long entId;
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getEntId())) {
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getEntId())) {
|
|
|
entId = Long.valueOf(req.getEntId());
|
|
entId = Long.valueOf(req.getEntId());
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
entId = LoginUserHolder.getEntId();
|
|
entId = LoginUserHolder.getEntId();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
List<Long> entIdList = Lists.newArrayList();
|
|
List<Long> entIdList = Lists.newArrayList();
|
|
|
entIdList.add(entId);
|
|
entIdList.add(entId);
|
|
|
Integer type = null;
|
|
Integer type = null;
|
|
|
- if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getConsignCompanyId())){
|
|
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getConsignCompanyId())) {
|
|
|
entIdList.add(Long.valueOf(req.getConsignCompanyId()));
|
|
entIdList.add(Long.valueOf(req.getConsignCompanyId()));
|
|
|
type = CooperateTypeEnum.CONSIGN.getCode();
|
|
type = CooperateTypeEnum.CONSIGN.getCode();
|
|
|
}
|
|
}
|
|
|
- if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getCarriageCompanyId())){
|
|
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getCarriageCompanyId())) {
|
|
|
entIdList.add(Long.valueOf(req.getCarriageCompanyId()));
|
|
entIdList.add(Long.valueOf(req.getCarriageCompanyId()));
|
|
|
type = CooperateTypeEnum.CARRIAGE.getCode();
|
|
type = CooperateTypeEnum.CARRIAGE.getCode();
|
|
|
}
|
|
}
|
|
|
//查询物流企业
|
|
//查询物流企业
|
|
|
Set<Long> contractIdList = Sets.newHashSet();
|
|
Set<Long> contractIdList = Sets.newHashSet();
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(entIdList)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(entIdList)) {
|
|
|
List<KwcContractLogisticsUnit> units = kwcContractLogisticsUnitRepository.queryByEntIds(entIdList, type);
|
|
List<KwcContractLogisticsUnit> units = kwcContractLogisticsUnitRepository.queryByEntIds(entIdList, type);
|
|
|
if (CollectionUtils.isNotEmpty(units)) {
|
|
if (CollectionUtils.isNotEmpty(units)) {
|
|
|
Set<Long> contractIds = units.stream().filter(x -> Objects.equals(x.getEntId(), entId))
|
|
Set<Long> contractIds = units.stream().filter(x -> Objects.equals(x.getEntId(), entId))
|
|
|
.map(KwcContractLogisticsUnit::getContractId)
|
|
.map(KwcContractLogisticsUnit::getContractId)
|
|
|
.collect(Collectors.toSet());
|
|
.collect(Collectors.toSet());
|
|
|
contractIdList = units.stream()
|
|
contractIdList = units.stream()
|
|
|
- .filter(x->contractIds.contains(x.getContractId()))
|
|
|
|
|
|
|
+ .filter(x -> contractIds.contains(x.getContractId()))
|
|
|
.map(KwcContractLogisticsUnit::getContractId).collect(Collectors.toSet());
|
|
.map(KwcContractLogisticsUnit::getContractId).collect(Collectors.toSet());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1123,12 +1121,12 @@ public class KwcContractLogisticsService {
|
|
|
return PageDataResult.empty(req.getPageNum(), req.getPageSize());
|
|
return PageDataResult.empty(req.getPageNum(), req.getPageSize());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- IPage<KwcContractLogistics> page =kwcContractLogisticsRepository.queryByPage(req.getPageNum(),req.getPageSize(),
|
|
|
|
|
|
|
+ IPage<KwcContractLogistics> page = kwcContractLogisticsRepository.queryByPage(req.getPageNum(), req.getPageSize(),
|
|
|
req.getContractNo(),
|
|
req.getContractNo(),
|
|
|
- req.getContractName(),req.getStatus(),contractIdList);
|
|
|
|
|
|
|
+ req.getContractName(), req.getStatus(), contractIdList);
|
|
|
List<KwcContractLogistics> records = page.getRecords();
|
|
List<KwcContractLogistics> records = page.getRecords();
|
|
|
if (CollectionUtils.isEmpty(records)) {
|
|
if (CollectionUtils.isEmpty(records)) {
|
|
|
- return PageDataResult.empty(req.getPageNum(),req.getPageSize());
|
|
|
|
|
|
|
+ return PageDataResult.empty(req.getPageNum(), req.getPageSize());
|
|
|
}
|
|
}
|
|
|
//发起人id
|
|
//发起人id
|
|
|
List<Long> userIds =
|
|
List<Long> userIds =
|
|
@@ -1137,7 +1135,7 @@ public class KwcContractLogisticsService {
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
Map<Long, UserCacheResDto> longUserCacheResDtoMap = Maps.newHashMap();
|
|
Map<Long, UserCacheResDto> longUserCacheResDtoMap = Maps.newHashMap();
|
|
|
//获取员工信息
|
|
//获取员工信息
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(userIds)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(userIds)) {
|
|
|
longUserCacheResDtoMap = remoteSystemService.queryUserCacheMapByIds(userIds);
|
|
longUserCacheResDtoMap = remoteSystemService.queryUserCacheMapByIds(userIds);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1146,9 +1144,9 @@ public class KwcContractLogisticsService {
|
|
|
.map(KwcContractLogistics::getId)
|
|
.map(KwcContractLogistics::getId)
|
|
|
.collect(Collectors.toSet());
|
|
.collect(Collectors.toSet());
|
|
|
//查询物流商品信息
|
|
//查询物流商品信息
|
|
|
- List<KwcContractLogisticsGoods> kwcContractLogisticsGoods =kwcContractLogisticsGoodsRepository.queryByContractIds(contractIds);
|
|
|
|
|
|
|
+ List<KwcContractLogisticsGoods> kwcContractLogisticsGoods = kwcContractLogisticsGoodsRepository.queryByContractIds(contractIds);
|
|
|
Map<Long, List<KwcContractLogisticsGoods>> contractIdAndGoodsMap = Maps.newHashMap();
|
|
Map<Long, List<KwcContractLogisticsGoods>> contractIdAndGoodsMap = Maps.newHashMap();
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwcContractLogisticsGoods)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwcContractLogisticsGoods)) {
|
|
|
//按照合同id进行分组
|
|
//按照合同id进行分组
|
|
|
contractIdAndGoodsMap =
|
|
contractIdAndGoodsMap =
|
|
|
kwcContractLogisticsGoods.stream().collect(Collectors.groupingBy(KwcContractLogisticsGoods::getContractId));
|
|
kwcContractLogisticsGoods.stream().collect(Collectors.groupingBy(KwcContractLogisticsGoods::getContractId));
|
|
@@ -1158,17 +1156,17 @@ public class KwcContractLogisticsService {
|
|
|
List<KwcContractLogisticsUnit> kwcContractLogisticsUnits =
|
|
List<KwcContractLogisticsUnit> kwcContractLogisticsUnits =
|
|
|
kwcContractLogisticsUnitRepository.queryByContractIds(contractIds);
|
|
kwcContractLogisticsUnitRepository.queryByContractIds(contractIds);
|
|
|
Map<String, KwcContractLogisticsUnit> contractUniTypeAndUnitMap = Maps.newHashMap();
|
|
Map<String, KwcContractLogisticsUnit> contractUniTypeAndUnitMap = Maps.newHashMap();
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwcContractLogisticsUnits)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwcContractLogisticsUnits)) {
|
|
|
//合同id和单位类型组合成key映射物流企业信息
|
|
//合同id和单位类型组合成key映射物流企业信息
|
|
|
- contractUniTypeAndUnitMap = kwcContractLogisticsUnits.stream()
|
|
|
|
|
- .collect(Collectors.toMap(k->k.getContractId() + "-" + k.getUnitType(),
|
|
|
|
|
|
|
+ contractUniTypeAndUnitMap = kwcContractLogisticsUnits.stream()
|
|
|
|
|
+ .collect(Collectors.toMap(k -> k.getContractId() + "-" + k.getUnitType(),
|
|
|
Function.identity(), (x, y) -> x));
|
|
Function.identity(), (x, y) -> x));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 根据物流合同查询运单
|
|
// 根据物流合同查询运单
|
|
|
List<RWaybillSubOrderVo> rWaybillSubOrderVos = transportRemoteService.queryWaybillOrderByLogContractIds(contractIds);
|
|
List<RWaybillSubOrderVo> rWaybillSubOrderVos = transportRemoteService.queryWaybillOrderByLogContractIds(contractIds);
|
|
|
Map<Long, RWaybillSubOrderVo> logTradeOrderIdAndWaybillMap = Maps.newHashMap();
|
|
Map<Long, RWaybillSubOrderVo> logTradeOrderIdAndWaybillMap = Maps.newHashMap();
|
|
|
- if (CollectionUtils.isNotEmpty(rWaybillSubOrderVos)){
|
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(rWaybillSubOrderVos)) {
|
|
|
logTradeOrderIdAndWaybillMap = rWaybillSubOrderVos.stream()
|
|
logTradeOrderIdAndWaybillMap = rWaybillSubOrderVos.stream()
|
|
|
.collect(Collectors.toMap(RWaybillSubOrderVo::getLogContractId, Function.identity(), (x, y) -> x));
|
|
.collect(Collectors.toMap(RWaybillSubOrderVo::getLogContractId, Function.identity(), (x, y) -> x));
|
|
|
}
|
|
}
|
|
@@ -1540,7 +1538,7 @@ public class KwcContractLogisticsService {
|
|
|
} else if (Objects.isNull(x.getPrice())) {
|
|
} else if (Objects.isNull(x.getPrice())) {
|
|
|
logisticsGoods.setPrice(Objects.nonNull(baseInfo.getCommonPrice())? baseInfo.getCommonPrice().setScale(2,
|
|
logisticsGoods.setPrice(Objects.nonNull(baseInfo.getCommonPrice())? baseInfo.getCommonPrice().setScale(2,
|
|
|
RoundingMode.HALF_UP) : null);
|
|
RoundingMode.HALF_UP) : null);
|
|
|
- } else {
|
|
|
|
|
|
|
+ }else {
|
|
|
logisticsGoods.setPrice(x.getPrice());
|
|
logisticsGoods.setPrice(x.getPrice());
|
|
|
}
|
|
}
|
|
|
logisticsGoods.setPriceUnit(x.getAmountUnit());
|
|
logisticsGoods.setPriceUnit(x.getAmountUnit());
|
|
@@ -1929,17 +1927,17 @@ public class KwcContractLogisticsService {
|
|
|
contractIdList.clear();
|
|
contractIdList.clear();
|
|
|
return contractIdList;
|
|
return contractIdList;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 查询可见企业下的所有物流合同单位
|
|
// 查询可见企业下的所有物流合同单位
|
|
|
List<KwcContractLogisticsUnit> permUnits =
|
|
List<KwcContractLogisticsUnit> permUnits =
|
|
|
kwcContractLogisticsUnitRepository.queryByEntIds(new ArrayList<>(perm.getVisibleEntIds()), null);
|
|
kwcContractLogisticsUnitRepository.queryByEntIds(new ArrayList<>(perm.getVisibleEntIds()), null);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 提取这些单位关联的合同ID
|
|
// 提取这些单位关联的合同ID
|
|
|
Set<Long> entScopeContractIds = permUnits.stream()
|
|
Set<Long> entScopeContractIds = permUnits.stream()
|
|
|
.map(KwcContractLogisticsUnit::getContractId)
|
|
.map(KwcContractLogisticsUnit::getContractId)
|
|
|
.filter(Objects::nonNull)
|
|
.filter(Objects::nonNull)
|
|
|
.collect(Collectors.toSet());
|
|
.collect(Collectors.toSet());
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 取交集:只保留在可见企业范围内的合同
|
|
// 取交集:只保留在可见企业范围内的合同
|
|
|
int beforeSize = contractIdList.size();
|
|
int beforeSize = contractIdList.size();
|
|
|
contractIdList.retainAll(entScopeContractIds);
|
|
contractIdList.retainAll(entScopeContractIds);
|
|
@@ -1959,17 +1957,17 @@ public class KwcContractLogisticsService {
|
|
|
contractIdList.clear();
|
|
contractIdList.clear();
|
|
|
return contractIdList;
|
|
return contractIdList;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
log.debug("开启个人数据权限过滤, 校验销售员ID: {}", uid);
|
|
log.debug("开启个人数据权限过滤, 校验销售员ID: {}", uid);
|
|
|
// 通过关联的贸易合同销售员进行过滤
|
|
// 通过关联的贸易合同销售员进行过滤
|
|
|
Set<Long> salesMatched = retainLogisticsContractIdsByLinkedTradeSalesman(contractIdList, uid);
|
|
Set<Long> salesMatched = retainLogisticsContractIdsByLinkedTradeSalesman(contractIdList, uid);
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 更新原列表为过滤后的结果
|
|
// 更新原列表为过滤后的结果
|
|
|
contractIdList.clear();
|
|
contractIdList.clear();
|
|
|
contractIdList.addAll(salesMatched);
|
|
contractIdList.addAll(salesMatched);
|
|
|
log.debug("个人数据权限过滤完成, 最终合同数量: {}", contractIdList.size());
|
|
log.debug("个人数据权限过滤完成, 最终合同数量: {}", contractIdList.size());
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
return contractIdList;
|
|
return contractIdList;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -2002,7 +2000,7 @@ public class KwcContractLogisticsService {
|
|
|
.map(RWaybillSubOrderVo::getTradeId)
|
|
.map(RWaybillSubOrderVo::getTradeId)
|
|
|
.filter(Objects::nonNull)
|
|
.filter(Objects::nonNull)
|
|
|
.collect(Collectors.toSet());
|
|
.collect(Collectors.toSet());
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
if (CollectionUtils.isEmpty(tradeOrderIds)) {
|
|
if (CollectionUtils.isEmpty(tradeOrderIds)) {
|
|
|
log.debug("运单中未包含有效的贸易订单ID");
|
|
log.debug("运单中未包含有效的贸易订单ID");
|
|
|
return Collections.emptySet();
|
|
return Collections.emptySet();
|
|
@@ -2038,18 +2036,18 @@ public class KwcContractLogisticsService {
|
|
|
if (CollectionUtils.isEmpty(relTradeContractIds)) {
|
|
if (CollectionUtils.isEmpty(relTradeContractIds)) {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 只要有一个关联的贸易合同的销售员是指定用户,则该物流合同可见
|
|
// 只要有一个关联的贸易合同的销售员是指定用户,则该物流合同可见
|
|
|
boolean ok = relTradeContractIds.stream()
|
|
boolean ok = relTradeContractIds.stream()
|
|
|
.map(tradeMap::get)
|
|
.map(tradeMap::get)
|
|
|
.filter(Objects::nonNull)
|
|
.filter(Objects::nonNull)
|
|
|
.anyMatch(t -> salesmanUserId.equals(t.getSalesmanId()));
|
|
.anyMatch(t -> salesmanUserId.equals(t.getSalesmanId()));
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
if (ok) {
|
|
if (ok) {
|
|
|
result.add(logId);
|
|
result.add(logId);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
log.debug("销售员权限过滤结束, 匹配到的物流合同数: {}", result.size());
|
|
log.debug("销售员权限过滤结束, 匹配到的物流合同数: {}", result.size());
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
@@ -2073,17 +2071,17 @@ public class KwcContractLogisticsService {
|
|
|
if (link.getLogContractId() == null || link.getTradeId() == null) {
|
|
if (link.getLogContractId() == null || link.getTradeId() == null) {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 获取运单关联的贸易订单对应的贸易合同ID
|
|
// 获取运单关联的贸易订单对应的贸易合同ID
|
|
|
Long tradeContractId = tradeOrderIdToContractId.get(link.getTradeId());
|
|
Long tradeContractId = tradeOrderIdToContractId.get(link.getTradeId());
|
|
|
if (tradeContractId == null) {
|
|
if (tradeContractId == null) {
|
|
|
continue;
|
|
continue;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 将贸易合同ID加入该物流合同对应的集合中
|
|
// 将贸易合同ID加入该物流合同对应的集合中
|
|
|
result.computeIfAbsent(link.getLogContractId(), k -> new HashSet<>()).add(tradeContractId);
|
|
result.computeIfAbsent(link.getLogContractId(), k -> new HashSet<>()).add(tradeContractId);
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
log.debug("构建物流合同-贸易合同映射完成, 映射数量: {}", result.size());
|
|
log.debug("构建物流合同-贸易合同映射完成, 映射数量: {}", result.size());
|
|
|
return result;
|
|
return result;
|
|
|
}
|
|
}
|
|
@@ -2109,4 +2107,12 @@ public class KwcContractLogisticsService {
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ public List<ContractGoodsVo> queryLogisticsGoods(Long contractId, String keyword) {
|
|
|
|
|
+ return kwcContractLogisticsMapper.selectGoods(contractId,keyword);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ public List<LogisticsEntDto> queryLogisticsContract(String keyword) {
|
|
|
|
|
+ return kwcContractLogisticsMapper.queryContract(LoginUserHolder.getEntId(), keyword);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|