|
|
@@ -121,51 +121,35 @@ public class KwcContractTradeService {
|
|
|
@DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
|
|
|
private TransportRemoteService transportRemoteService;
|
|
|
|
|
|
- /**
|
|
|
- * 销售合同
|
|
|
- */
|
|
|
+ /**销售合同*/
|
|
|
@Value(value = "${jumpUrl.saleSendContract}")
|
|
|
private String saleSendContract;
|
|
|
|
|
|
- /**
|
|
|
- * 采购合同
|
|
|
- */
|
|
|
+ /**采购合同*/
|
|
|
@Value(value = "${jumpUrl.purchaseSendContract}")
|
|
|
private String purchaseSendContract;
|
|
|
|
|
|
- /**
|
|
|
- * 托运合同
|
|
|
- */
|
|
|
+ /**托运合同*/
|
|
|
@Value(value = "${jumpUrl.consignmentSendContract}")
|
|
|
private String consignmentSendContract;
|
|
|
|
|
|
- /**
|
|
|
- * 承运合同
|
|
|
- */
|
|
|
+ /**承运合同*/
|
|
|
@Value(value = "${jumpUrl.acceptanceSendContract}")
|
|
|
private String acceptanceSendContract;
|
|
|
|
|
|
- /**
|
|
|
- * app销售合同
|
|
|
- */
|
|
|
+ /**app销售合同*/
|
|
|
@Value(value = "${jumpUrl.appSaleSendContract}")
|
|
|
private String appSaleSendContract;
|
|
|
|
|
|
- /**
|
|
|
- * app采购合同
|
|
|
- */
|
|
|
+ /**app采购合同*/
|
|
|
@Value(value = "${jumpUrl.appPurchaseSendContract}")
|
|
|
private String appPurchaseSendContract;
|
|
|
|
|
|
- /**
|
|
|
- * app托运合同
|
|
|
- */
|
|
|
+ /**app托运合同*/
|
|
|
@Value(value = "${jumpUrl.appConsignmentSendContract}")
|
|
|
private String appConsignmentSendContract;
|
|
|
|
|
|
- /**
|
|
|
- * app承运合同
|
|
|
- */
|
|
|
+ /**app承运合同*/
|
|
|
@Value(value = "${jumpUrl.appAcceptanceSendContract}")
|
|
|
private String appAcceptanceSendContract;
|
|
|
|
|
|
@@ -201,8 +185,8 @@ public class KwcContractTradeService {
|
|
|
* @author: czh
|
|
|
* @date: 2023/7/18
|
|
|
*/
|
|
|
- private List<QueryListResVo> getQueryListResVos(List<QueryListResDto> queryListResDtos, Map<Long,
|
|
|
- List<KwcContractTradeGoods>> contractIdGoodsIdKeyAndGoodsMap, Map<String, KwcContractTradeUnit> contractUnitTypeKeyAndUnitMap) {
|
|
|
+ private List<QueryListResVo> getQueryListResVos(List<QueryListResDto> queryListResDtos,Map<Long,
|
|
|
+ List<KwcContractTradeGoods>> contractIdGoodsIdKeyAndGoodsMap,Map<String, KwcContractTradeUnit> contractUnitTypeKeyAndUnitMap ) {
|
|
|
Map<Long, UserCacheResDto> longUserCacheResDtoMap = new HashMap<>(8);
|
|
|
List<Long> initiateByList = queryListResDtos.stream().map(QueryListResDto::getInitiateBy).toList();
|
|
|
if (CollectionUtils.isNotEmpty(initiateByList)) {
|
|
|
@@ -219,9 +203,9 @@ public class KwcContractTradeService {
|
|
|
queryListResVo.setProvideEntName(queryListResDto.getUnitType().compareTo(EntTypeEnum.SUPPLIER.getCode()) == 0 ? queryListResDto.getEntName() : queryListResDto.getTargetEntName());
|
|
|
queryListResVo.setPurchaseEntName(queryListResDto.getUnitType().compareTo(EntTypeEnum.SUPPLIER.getCode()) == 0 ? queryListResDto.getTargetEntName() : queryListResDto.getEntName());
|
|
|
}
|
|
|
- if (Objects.equals(queryListResDto.getUnitType(), EntTypeEnum.SUPPLIER.getCode())) {
|
|
|
+ if(Objects.equals(queryListResDto.getUnitType(),EntTypeEnum.SUPPLIER.getCode())){
|
|
|
queryListResVo.setProvideEntId(String.valueOf(queryListResDto.getProvideEntId()));
|
|
|
- } else if (Objects.equals(queryListResDto.getUnitType(), EntTypeEnum.PURCHASER.getCode())) {
|
|
|
+ }else if(Objects.equals(queryListResDto.getUnitType(),EntTypeEnum.PURCHASER.getCode())){
|
|
|
queryListResVo.setPurchaseEntId(String.valueOf(queryListResDto.getPurchaseEntId()));
|
|
|
}
|
|
|
|
|
|
@@ -230,7 +214,7 @@ public class KwcContractTradeService {
|
|
|
queryListResVo.setInitiateName(userCacheResDto.getName());
|
|
|
queryListResVo.setInitiateEntName(Objects.isNull(userCacheResDto.getEntInfo()) ? "" : userCacheResDto.getEntInfo().getFirmName());
|
|
|
}
|
|
|
- if (MapUtils.isNotEmpty(contractUnitTypeKeyAndUnitMap)) {
|
|
|
+ if (MapUtils.isNotEmpty(contractUnitTypeKeyAndUnitMap)){
|
|
|
KwcContractTradeUnit kwcContractTradeUnit =
|
|
|
contractUnitTypeKeyAndUnitMap.getOrDefault(queryListResDto.getId() + "-" + EntTypeEnum.SUPPLIER.getCode()
|
|
|
, new KwcContractTradeUnit());
|
|
|
@@ -253,9 +237,9 @@ public class KwcContractTradeService {
|
|
|
queryListResVo.setAmount(queryListResDto.getAmount());
|
|
|
queryListResVo.setPerformedAmount(queryListResDto.getPerformedAmount());
|
|
|
BigDecimal performedAmountMoney = BigDecimal.ZERO;
|
|
|
- if (MapUtils.isNotEmpty(contractIdGoodsIdKeyAndGoodsMap)) {
|
|
|
+ if(MapUtils.isNotEmpty(contractIdGoodsIdKeyAndGoodsMap)) {
|
|
|
List<KwcContractTradeGoods> contractTradeGoods = contractIdGoodsIdKeyAndGoodsMap.get(queryListResDto.getId());
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(contractTradeGoods)) {
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(contractTradeGoods)){
|
|
|
for (KwcContractTradeGoods goods : contractTradeGoods) {
|
|
|
BigDecimal performedAmount = goods.getPerformedAmount() != null ? goods.getPerformedAmount() : BigDecimal.ZERO;
|
|
|
BigDecimal price = goods.getPrice() != null ? goods.getPrice() : BigDecimal.ZERO;
|
|
|
@@ -263,11 +247,11 @@ public class KwcContractTradeService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- queryListResVo.setPerformedAmountMoney(performedAmountMoney);
|
|
|
- if (Objects.nonNull(queryListResVo.getEndTime())) {
|
|
|
+ queryListResVo.setPerformedAmountMoney( performedAmountMoney);
|
|
|
+ if(Objects.nonNull(queryListResVo.getEndTime())) {
|
|
|
queryListResVo.setEndTime(DateUtils.getStartOfDay(queryListResVo.getEndTime()));
|
|
|
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);
|
|
|
}
|
|
|
}
|
|
|
@@ -296,9 +280,9 @@ public class KwcContractTradeService {
|
|
|
kwcContractTrade.setId(contactId);
|
|
|
EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(LoginUserHolder.getEntId());
|
|
|
if (Objects.nonNull(entCacheResDto) && StringUtils.isNotBlank(entCacheResDto.getEntTypes())) {
|
|
|
- if (org.apache.commons.lang3.StringUtils.equals(entCacheResDto.getEntTypes(), String.valueOf(EntTypeEnum.SUPPLIER.getCode()))) {
|
|
|
+ if (org.apache.commons.lang3.StringUtils.equals(entCacheResDto.getEntTypes(), String.valueOf(EntTypeEnum.SUPPLIER.getCode()))){
|
|
|
kwcContractTrade.setStatus(ContractStatusEnum.WAIT_APPROVE.getCode());
|
|
|
- } else if (org.apache.commons.lang3.StringUtils.equals(entCacheResDto.getEntTypes(), String.valueOf(EntTypeEnum.PURCHASER.getCode()))) {
|
|
|
+ }else if (org.apache.commons.lang3.StringUtils.equals(entCacheResDto.getEntTypes(), String.valueOf(EntTypeEnum.PURCHASER.getCode()))){
|
|
|
kwcContractTrade.setStatus(ContractStatusEnum.SUBMIT.getCode());
|
|
|
}
|
|
|
}
|
|
|
@@ -309,7 +293,7 @@ public class KwcContractTradeService {
|
|
|
}
|
|
|
|
|
|
//保存交易合同商品信息
|
|
|
- kwcContractTradeGoodsService.saveContractTradeGoods(contactId, goodsInfoList, baseInfo.getStartTime(), baseInfo.getEndTime());
|
|
|
+ kwcContractTradeGoodsService.saveContractTradeGoods(contactId, goodsInfoList,baseInfo.getStartTime(),baseInfo.getEndTime());
|
|
|
|
|
|
//存单位信息
|
|
|
kwcContractTradeUnitService.saveContractTradeUnit(contactId, baseInfo);
|
|
|
@@ -397,7 +381,7 @@ public class KwcContractTradeService {
|
|
|
kwcContractTrade.setStartTime(baseInfo.getStartTime());
|
|
|
if (Objects.nonNull(baseInfo.getEndTime())) {
|
|
|
kwcContractTrade.setEndTime(DateUtils.getEndOfDay(baseInfo.getEndTime()));
|
|
|
- } else {
|
|
|
+ }else {
|
|
|
LocalDate localDate = LocalDate.of(9999, 12, 30);
|
|
|
Date date1 = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
|
|
kwcContractTrade.setEndTime(DateUtils.getEndOfDay(date1));
|
|
|
@@ -691,11 +675,12 @@ public class KwcContractTradeService {
|
|
|
purchaseSendContract,
|
|
|
appPurchaseSendContract);
|
|
|
} catch (Exception e) {
|
|
|
- log.error("合同签约流程已发起消息出错:", e);
|
|
|
+ log.error("合同签约流程已发起消息出错:", e);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
|
* @param id 合同id
|
|
|
* @desc: 更新合同为发起
|
|
|
@@ -758,9 +743,9 @@ public class KwcContractTradeService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if (Objects.nonNull(entTypeResDto) && Objects.equals(entTypeResDto.getType(), EntTypeEnum.SUPPLIER.getCode())) {
|
|
|
+ if (Objects.nonNull(entTypeResDto) && Objects.equals(entTypeResDto.getType(), EntTypeEnum.SUPPLIER.getCode())){
|
|
|
kwcContractTrade.setStatus(ContractStatusEnum.WAIT_APPROVE.getCode());
|
|
|
- } else if (Objects.nonNull(entTypeResDto) && Objects.equals(entTypeResDto.getType(), EntTypeEnum.PURCHASER.getCode())) {
|
|
|
+ }else if (Objects.nonNull(entTypeResDto) && Objects.equals(entTypeResDto.getType(), EntTypeEnum.PURCHASER.getCode())){
|
|
|
kwcContractTrade.setStatus(ContractStatusEnum.SUBMIT.getCode());
|
|
|
}
|
|
|
kwcContractTrade.setAmount(amountTotal);
|
|
|
@@ -944,7 +929,7 @@ public class KwcContractTradeService {
|
|
|
if (CollectionUtils.isEmpty(queryListResDtos)) {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
- return getQueryListResVos(queryListResDtos, null, null);
|
|
|
+ return getQueryListResVos(queryListResDtos,null,null);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -1040,7 +1025,7 @@ public class KwcContractTradeService {
|
|
|
authEntIdList.addAll(ids);
|
|
|
}
|
|
|
|
|
|
- List<QueryListResDto> queryListResDtos = kwcContractTradeMapper.queryTradeList(reqVo, authEntIdList);
|
|
|
+ List<QueryListResDto> queryListResDtos = kwcContractTradeMapper.queryTradeList(reqVo,authEntIdList);
|
|
|
if (CollectionUtils.isEmpty(queryListResDtos)) {
|
|
|
return PageHelperUtil.getPageResult(new PageInfo<>());
|
|
|
}
|
|
|
@@ -1855,21 +1840,33 @@ public class KwcContractTradeService {
|
|
|
//查询贸易合同企业信息
|
|
|
List<KwcContractTradeUnit> tradeUnits = kwcContractTradeUnitRepository.queryByEntIdAndUnitType(contractTradeOrderDto.getEntId(),
|
|
|
contractTradeOrderDto.getEntType());
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isEmpty(tradeUnits)) {
|
|
|
- return Collections.emptyList();
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(tradeUnits)){
|
|
|
+ return List.of();
|
|
|
+ }
|
|
|
+ Set<Long> contractIds =
|
|
|
+ tradeUnits.stream().map(KwcContractTradeUnit::getContractId).collect(Collectors.toSet());
|
|
|
+
|
|
|
+ List<KwcContractTradeUnit> tradeUnits1 = kwcContractTradeUnitRepository.queryByContractIds(contractIds);
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(tradeUnits1)){
|
|
|
+ return List.of();
|
|
|
}
|
|
|
Map<String, KwcContractTradeUnit> conTractTradeUnitMap =
|
|
|
- tradeUnits.stream().collect(Collectors.toMap(x -> x.getContractId() +
|
|
|
+ tradeUnits1.stream().collect(Collectors.toMap(x -> x.getContractId() +
|
|
|
"_" + x.getUnitType(), Function.identity(),
|
|
|
(x, y) -> x));
|
|
|
- Set<Long> contractIds =
|
|
|
- tradeUnits.stream().map(KwcContractTradeUnit::getContractId).collect(Collectors.toSet());
|
|
|
+ contractIds= tradeUnits1.stream()
|
|
|
+ .filter(x -> Objects.equals(x.getEntId(), LoginUserHolder.getEntId()) && Objects.equals(x.getUnitType(),
|
|
|
+ 2))
|
|
|
+ .map(KwcContractTradeUnit::getContractId)
|
|
|
+ .collect(Collectors.toSet());
|
|
|
//查询商品信息
|
|
|
List<KwcContractTradeGoods> kwcContractGoods = kwcContractTradeGoodsRepository.queryByContractIdsAndGoodsId(contractIds,
|
|
|
contractTradeOrderDto.getGoodsId());
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isEmpty(kwcContractGoods)) {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
+ Map<Long, KwcContractTradeGoods> contractGoodsMap = kwcContractGoods.stream()
|
|
|
+ .collect(Collectors.toMap(KwcContractTradeGoods::getContractId,Function.identity(),(x,y)->x));
|
|
|
//只查询已签约的
|
|
|
Set<Long> contractIdList = kwcContractGoods.stream()
|
|
|
.filter(x -> Objects.equals(x.getStatus(), ContractStatusEnum.SIGNED.getCode()))
|
|
|
@@ -1880,8 +1877,11 @@ public class KwcContractTradeService {
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isEmpty(kwcContractTrades)) {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
+ kwcContractTrades = kwcContractTrades.stream()
|
|
|
+ .filter(x-> Objects.equals(x.getStatus(), ContractStatusEnum.SIGNED.getCode()))
|
|
|
+ .collect(Collectors.toList());
|
|
|
return kwcContractTrades.stream()
|
|
|
- .map(x -> getContractTradeOrderInfo(x, conTractTradeUnitMap, contractTradeOrderDto.getEntType()))
|
|
|
+ .map(x-> getContractTradeOrderInfo(x, conTractTradeUnitMap,contractTradeOrderDto.getEntType(),contractGoodsMap))
|
|
|
.collect(Collectors.toList());
|
|
|
}
|
|
|
|
|
|
@@ -1899,7 +1899,7 @@ public class KwcContractTradeService {
|
|
|
|
|
|
@NotNull
|
|
|
private static ContractTradeOrderInfo getContractTradeOrderInfo(KwcContractTrade c, Map<String,
|
|
|
- KwcContractTradeUnit> conTractTradeUnitMap, Integer entType) {
|
|
|
+ KwcContractTradeUnit> conTractTradeUnitMap,Integer entType, Map<Long, KwcContractTradeGoods> contractGoodsMap) {
|
|
|
ContractTradeOrderInfo contractTradeOrderInfo = new ContractTradeOrderInfo();
|
|
|
contractTradeOrderInfo.setId(c.getId());
|
|
|
KwcContractTradeUnit unit = conTractTradeUnitMap.getOrDefault(c.getId() + "_" + entType,
|
|
|
@@ -1911,7 +1911,7 @@ public class KwcContractTradeService {
|
|
|
contractTradeOrderInfo.setTrading(c.getTrading());
|
|
|
contractTradeOrderInfo.setStartTime(c.getStartTime());
|
|
|
contractTradeOrderInfo.setEndTime(c.getEndTime());
|
|
|
- contractTradeOrderInfo.setAmount(c.getAmount());
|
|
|
+ contractTradeOrderInfo.setAmount(Objects.isNull(c.getAmount()) ? new BigDecimal("-1") : c.getAmount());
|
|
|
contractTradeOrderInfo.setPerformedAmount(c.getPerformedAmount());
|
|
|
contractTradeOrderInfo.setSigningUrl(c.getSigningUrl());
|
|
|
contractTradeOrderInfo.setSignedUrl(c.getSignedUrl());
|
|
|
@@ -1930,6 +1930,8 @@ public class KwcContractTradeService {
|
|
|
contractTradeOrderInfo.setUnloadWay(c.getUnloadWay());
|
|
|
contractTradeOrderInfo.setSalesmanId(c.getSalesmanId());
|
|
|
contractTradeOrderInfo.setSalesmanPhone(c.getSalesmanPhone());
|
|
|
+ KwcContractTradeGoods kwcContractTradeGoods = contractGoodsMap.getOrDefault(c.getId(), new KwcContractTradeGoods());
|
|
|
+ contractTradeOrderInfo.setSignPrice(Objects.nonNull(kwcContractTradeGoods.getPrice())?kwcContractTradeGoods.getPrice():new BigDecimal("-1"));
|
|
|
return contractTradeOrderInfo;
|
|
|
}
|
|
|
|
|
|
@@ -2063,3 +2065,4 @@ public class KwcContractTradeService {
|
|
|
return kwcContractTradeMapper.selectByContract(contractId);
|
|
|
}
|
|
|
}
|
|
|
+
|