|
@@ -40,7 +40,6 @@ 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.dubbo.TradeOrderInfoService;
|
|
|
import com.sckw.order.api.model.ContractSignCompletedParam;
|
|
import com.sckw.order.api.model.ContractSignCompletedParam;
|
|
|
-import com.sckw.order.api.model.OrderDetailVo;
|
|
|
|
|
import com.sckw.order.api.model.TradeOrderContractVo;
|
|
import com.sckw.order.api.model.TradeOrderContractVo;
|
|
|
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;
|
|
@@ -48,7 +47,10 @@ import com.sckw.stream.enums.MessageEnum;
|
|
|
import com.sckw.stream.model.UserInfo;
|
|
import com.sckw.stream.model.UserInfo;
|
|
|
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.model.dto.res.*;
|
|
|
|
|
|
|
+import com.sckw.system.api.model.dto.res.EntCacheResDto;
|
|
|
|
|
+import com.sckw.system.api.model.dto.res.EntTypeResDto;
|
|
|
|
|
+import com.sckw.system.api.model.dto.res.SysDictResDto;
|
|
|
|
|
+import com.sckw.system.api.model.dto.res.UserCacheResDto;
|
|
|
import com.sckw.transport.api.dubbo.TransportRemoteService;
|
|
import com.sckw.transport.api.dubbo.TransportRemoteService;
|
|
|
import com.sckw.transport.api.model.vo.RWaybillSubOrderVo;
|
|
import com.sckw.transport.api.model.vo.RWaybillSubOrderVo;
|
|
|
import jakarta.servlet.http.HttpServletResponse;
|
|
import jakarta.servlet.http.HttpServletResponse;
|
|
@@ -119,35 +121,51 @@ public class KwcContractTradeService {
|
|
|
@DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
|
|
@DubboReference(version = "1.0.0", group = "design", check = false, timeout = 8000)
|
|
|
private TransportRemoteService transportRemoteService;
|
|
private TransportRemoteService transportRemoteService;
|
|
|
|
|
|
|
|
- /**销售合同*/
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 销售合同
|
|
|
|
|
+ */
|
|
|
@Value(value = "${jumpUrl.saleSendContract}")
|
|
@Value(value = "${jumpUrl.saleSendContract}")
|
|
|
private String saleSendContract;
|
|
private String saleSendContract;
|
|
|
|
|
|
|
|
- /**采购合同*/
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 采购合同
|
|
|
|
|
+ */
|
|
|
@Value(value = "${jumpUrl.purchaseSendContract}")
|
|
@Value(value = "${jumpUrl.purchaseSendContract}")
|
|
|
private String purchaseSendContract;
|
|
private String purchaseSendContract;
|
|
|
|
|
|
|
|
- /**托运合同*/
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 托运合同
|
|
|
|
|
+ */
|
|
|
@Value(value = "${jumpUrl.consignmentSendContract}")
|
|
@Value(value = "${jumpUrl.consignmentSendContract}")
|
|
|
private String consignmentSendContract;
|
|
private String consignmentSendContract;
|
|
|
|
|
|
|
|
- /**承运合同*/
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 承运合同
|
|
|
|
|
+ */
|
|
|
@Value(value = "${jumpUrl.acceptanceSendContract}")
|
|
@Value(value = "${jumpUrl.acceptanceSendContract}")
|
|
|
private String acceptanceSendContract;
|
|
private String acceptanceSendContract;
|
|
|
|
|
|
|
|
- /**app销售合同*/
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * app销售合同
|
|
|
|
|
+ */
|
|
|
@Value(value = "${jumpUrl.appSaleSendContract}")
|
|
@Value(value = "${jumpUrl.appSaleSendContract}")
|
|
|
private String appSaleSendContract;
|
|
private String appSaleSendContract;
|
|
|
|
|
|
|
|
- /**app采购合同*/
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * app采购合同
|
|
|
|
|
+ */
|
|
|
@Value(value = "${jumpUrl.appPurchaseSendContract}")
|
|
@Value(value = "${jumpUrl.appPurchaseSendContract}")
|
|
|
private String appPurchaseSendContract;
|
|
private String appPurchaseSendContract;
|
|
|
|
|
|
|
|
- /**app托运合同*/
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * app托运合同
|
|
|
|
|
+ */
|
|
|
@Value(value = "${jumpUrl.appConsignmentSendContract}")
|
|
@Value(value = "${jumpUrl.appConsignmentSendContract}")
|
|
|
private String appConsignmentSendContract;
|
|
private String appConsignmentSendContract;
|
|
|
|
|
|
|
|
- /**app承运合同*/
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * app承运合同
|
|
|
|
|
+ */
|
|
|
@Value(value = "${jumpUrl.appAcceptanceSendContract}")
|
|
@Value(value = "${jumpUrl.appAcceptanceSendContract}")
|
|
|
private String appAcceptanceSendContract;
|
|
private String appAcceptanceSendContract;
|
|
|
|
|
|
|
@@ -183,8 +201,8 @@ public class KwcContractTradeService {
|
|
|
* @author: czh
|
|
* @author: czh
|
|
|
* @date: 2023/7/18
|
|
* @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);
|
|
Map<Long, UserCacheResDto> longUserCacheResDtoMap = new HashMap<>(8);
|
|
|
List<Long> initiateByList = queryListResDtos.stream().map(QueryListResDto::getInitiateBy).toList();
|
|
List<Long> initiateByList = queryListResDtos.stream().map(QueryListResDto::getInitiateBy).toList();
|
|
|
if (CollectionUtils.isNotEmpty(initiateByList)) {
|
|
if (CollectionUtils.isNotEmpty(initiateByList)) {
|
|
@@ -201,9 +219,9 @@ public class KwcContractTradeService {
|
|
|
queryListResVo.setProvideEntName(queryListResDto.getUnitType().compareTo(EntTypeEnum.SUPPLIER.getCode()) == 0 ? queryListResDto.getEntName() : queryListResDto.getTargetEntName());
|
|
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());
|
|
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()));
|
|
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()));
|
|
queryListResVo.setPurchaseEntId(String.valueOf(queryListResDto.getPurchaseEntId()));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -212,7 +230,7 @@ public class KwcContractTradeService {
|
|
|
queryListResVo.setInitiateName(userCacheResDto.getName());
|
|
queryListResVo.setInitiateName(userCacheResDto.getName());
|
|
|
queryListResVo.setInitiateEntName(Objects.isNull(userCacheResDto.getEntInfo()) ? "" : userCacheResDto.getEntInfo().getFirmName());
|
|
queryListResVo.setInitiateEntName(Objects.isNull(userCacheResDto.getEntInfo()) ? "" : userCacheResDto.getEntInfo().getFirmName());
|
|
|
}
|
|
}
|
|
|
- if (MapUtils.isNotEmpty(contractUnitTypeKeyAndUnitMap)){
|
|
|
|
|
|
|
+ if (MapUtils.isNotEmpty(contractUnitTypeKeyAndUnitMap)) {
|
|
|
KwcContractTradeUnit kwcContractTradeUnit =
|
|
KwcContractTradeUnit kwcContractTradeUnit =
|
|
|
contractUnitTypeKeyAndUnitMap.getOrDefault(queryListResDto.getId() + "-" + EntTypeEnum.SUPPLIER.getCode()
|
|
contractUnitTypeKeyAndUnitMap.getOrDefault(queryListResDto.getId() + "-" + EntTypeEnum.SUPPLIER.getCode()
|
|
|
, new KwcContractTradeUnit());
|
|
, new KwcContractTradeUnit());
|
|
@@ -235,9 +253,9 @@ public class KwcContractTradeService {
|
|
|
queryListResVo.setAmount(queryListResDto.getAmount());
|
|
queryListResVo.setAmount(queryListResDto.getAmount());
|
|
|
queryListResVo.setPerformedAmount(queryListResDto.getPerformedAmount());
|
|
queryListResVo.setPerformedAmount(queryListResDto.getPerformedAmount());
|
|
|
BigDecimal performedAmountMoney = BigDecimal.ZERO;
|
|
BigDecimal performedAmountMoney = BigDecimal.ZERO;
|
|
|
- if(MapUtils.isNotEmpty(contractIdGoodsIdKeyAndGoodsMap)) {
|
|
|
|
|
|
|
+ if (MapUtils.isNotEmpty(contractIdGoodsIdKeyAndGoodsMap)) {
|
|
|
List<KwcContractTradeGoods> contractTradeGoods = contractIdGoodsIdKeyAndGoodsMap.get(queryListResDto.getId());
|
|
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) {
|
|
for (KwcContractTradeGoods goods : contractTradeGoods) {
|
|
|
BigDecimal performedAmount = goods.getPerformedAmount() != null ? goods.getPerformedAmount() : BigDecimal.ZERO;
|
|
BigDecimal performedAmount = goods.getPerformedAmount() != null ? goods.getPerformedAmount() : BigDecimal.ZERO;
|
|
|
BigDecimal price = goods.getPrice() != null ? goods.getPrice() : BigDecimal.ZERO;
|
|
BigDecimal price = goods.getPrice() != null ? goods.getPrice() : BigDecimal.ZERO;
|
|
@@ -245,11 +263,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()));
|
|
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);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -278,9 +296,9 @@ public class KwcContractTradeService {
|
|
|
kwcContractTrade.setId(contactId);
|
|
kwcContractTrade.setId(contactId);
|
|
|
EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(LoginUserHolder.getEntId());
|
|
EntCacheResDto entCacheResDto = remoteSystemService.queryEntTreeById(LoginUserHolder.getEntId());
|
|
|
if (Objects.nonNull(entCacheResDto) && StringUtils.isNotBlank(entCacheResDto.getEntTypes())) {
|
|
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());
|
|
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());
|
|
kwcContractTrade.setStatus(ContractStatusEnum.SUBMIT.getCode());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -291,7 +309,7 @@ public class KwcContractTradeService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//保存交易合同商品信息
|
|
//保存交易合同商品信息
|
|
|
- kwcContractTradeGoodsService.saveContractTradeGoods(contactId, goodsInfoList,baseInfo.getStartTime(),baseInfo.getEndTime());
|
|
|
|
|
|
|
+ kwcContractTradeGoodsService.saveContractTradeGoods(contactId, goodsInfoList, baseInfo.getStartTime(), baseInfo.getEndTime());
|
|
|
|
|
|
|
|
//存单位信息
|
|
//存单位信息
|
|
|
kwcContractTradeUnitService.saveContractTradeUnit(contactId, baseInfo);
|
|
kwcContractTradeUnitService.saveContractTradeUnit(contactId, baseInfo);
|
|
@@ -379,7 +397,7 @@ public class KwcContractTradeService {
|
|
|
kwcContractTrade.setStartTime(baseInfo.getStartTime());
|
|
kwcContractTrade.setStartTime(baseInfo.getStartTime());
|
|
|
if (Objects.nonNull(baseInfo.getEndTime())) {
|
|
if (Objects.nonNull(baseInfo.getEndTime())) {
|
|
|
kwcContractTrade.setEndTime(DateUtils.getEndOfDay(baseInfo.getEndTime()));
|
|
kwcContractTrade.setEndTime(DateUtils.getEndOfDay(baseInfo.getEndTime()));
|
|
|
- }else {
|
|
|
|
|
|
|
+ } else {
|
|
|
LocalDate localDate = LocalDate.of(9999, 12, 30);
|
|
LocalDate localDate = LocalDate.of(9999, 12, 30);
|
|
|
Date date1 = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
|
Date date1 = Date.from(localDate.atStartOfDay(ZoneId.systemDefault()).toInstant());
|
|
|
kwcContractTrade.setEndTime(DateUtils.getEndOfDay(date1));
|
|
kwcContractTrade.setEndTime(DateUtils.getEndOfDay(date1));
|
|
@@ -553,7 +571,7 @@ public class KwcContractTradeService {
|
|
|
}
|
|
}
|
|
|
fileList.add(JSON.toJSONString(jsonArray));
|
|
fileList.add(JSON.toJSONString(jsonArray));
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
contractTradeDetailResVo.setContractFile(fileList.stream().filter(StringUtils::isNotBlank).toList());
|
|
contractTradeDetailResVo.setContractFile(fileList.stream().filter(StringUtils::isNotBlank).toList());
|
|
|
|
|
|
|
|
//流程记录
|
|
//流程记录
|
|
@@ -673,12 +691,11 @@ public class KwcContractTradeService {
|
|
|
purchaseSendContract,
|
|
purchaseSendContract,
|
|
|
appPurchaseSendContract);
|
|
appPurchaseSendContract);
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
- log.error("合同签约流程已发起消息出错:", e);
|
|
|
|
|
|
|
+ log.error("合同签约流程已发起消息出错:", e);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
/**
|
|
/**
|
|
|
* @param id 合同id
|
|
* @param id 合同id
|
|
|
* @desc: 更新合同为发起
|
|
* @desc: 更新合同为发起
|
|
@@ -741,9 +758,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());
|
|
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.setStatus(ContractStatusEnum.SUBMIT.getCode());
|
|
|
}
|
|
}
|
|
|
kwcContractTrade.setAmount(amountTotal);
|
|
kwcContractTrade.setAmount(amountTotal);
|
|
@@ -906,7 +923,7 @@ public class KwcContractTradeService {
|
|
|
throw new SystemException(HttpStatus.SUCCESS_CODE, "暂无数据,请确认!");
|
|
throw new SystemException(HttpStatus.SUCCESS_CODE, "暂无数据,请确认!");
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- List<QueryListResVo> list = getQueryListResVos(queryListResDtos,null,null);
|
|
|
|
|
|
|
+ List<QueryListResVo> list = getQueryListResVos(queryListResDtos, null, null);
|
|
|
List<TradeListExport> dataList = BeanUtils.copyToList(list, TradeListExport.class);
|
|
List<TradeListExport> dataList = BeanUtils.copyToList(list, TradeListExport.class);
|
|
|
ExcelUtil.downData(response, TradeListExport.class, dataList);
|
|
ExcelUtil.downData(response, TradeListExport.class, dataList);
|
|
|
}
|
|
}
|
|
@@ -927,7 +944,7 @@ public class KwcContractTradeService {
|
|
|
if (CollectionUtils.isEmpty(queryListResDtos)) {
|
|
if (CollectionUtils.isEmpty(queryListResDtos)) {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
- return getQueryListResVos(queryListResDtos,null,null);
|
|
|
|
|
|
|
+ return getQueryListResVos(queryListResDtos, null, null);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1023,7 +1040,7 @@ public class KwcContractTradeService {
|
|
|
authEntIdList.addAll(ids);
|
|
authEntIdList.addAll(ids);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- List<QueryListResDto> queryListResDtos = kwcContractTradeMapper.queryTradeList(reqVo,authEntIdList);
|
|
|
|
|
|
|
+ List<QueryListResDto> queryListResDtos = kwcContractTradeMapper.queryTradeList(reqVo, authEntIdList);
|
|
|
if (CollectionUtils.isEmpty(queryListResDtos)) {
|
|
if (CollectionUtils.isEmpty(queryListResDtos)) {
|
|
|
return PageHelperUtil.getPageResult(new PageInfo<>());
|
|
return PageHelperUtil.getPageResult(new PageInfo<>());
|
|
|
}
|
|
}
|
|
@@ -1090,7 +1107,7 @@ public class KwcContractTradeService {
|
|
|
authEntIdList.addAll(ids);
|
|
authEntIdList.addAll(ids);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- List<QueryListResDto> queryListResDtoList = kwcContractTradeMapper.queryTradeList(reqVo,authEntIdList);
|
|
|
|
|
|
|
+ List<QueryListResDto> queryListResDtoList = kwcContractTradeMapper.queryTradeList(reqVo, authEntIdList);
|
|
|
if (CollectionUtils.isNotEmpty(queryListResDtoList)) {
|
|
if (CollectionUtils.isNotEmpty(queryListResDtoList)) {
|
|
|
Map<Integer, List<QueryListResDto>> collect = queryListResDtoList.stream().collect(Collectors.groupingBy(QueryListResDto::getStatus));
|
|
Map<Integer, List<QueryListResDto>> collect = queryListResDtoList.stream().collect(Collectors.groupingBy(QueryListResDto::getStatus));
|
|
|
for (FindListGroupResVo findListGroupResVo : list) {
|
|
for (FindListGroupResVo findListGroupResVo : list) {
|
|
@@ -1123,7 +1140,7 @@ public class KwcContractTradeService {
|
|
|
authEntIdList.addAll(ids);
|
|
authEntIdList.addAll(ids);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- List<QueryListResDto> queryListResDtos = kwcContractTradeMapper.queryTradeList(reqVo,authEntIdList);
|
|
|
|
|
|
|
+ List<QueryListResDto> queryListResDtos = kwcContractTradeMapper.queryTradeList(reqVo, authEntIdList);
|
|
|
if (CollectionUtils.isEmpty(queryListResDtos)) {
|
|
if (CollectionUtils.isEmpty(queryListResDtos)) {
|
|
|
throw new SystemException(HttpStatus.SUCCESS_CODE, "暂无数据,请确认!");
|
|
throw new SystemException(HttpStatus.SUCCESS_CODE, "暂无数据,请确认!");
|
|
|
}
|
|
}
|
|
@@ -1153,10 +1170,10 @@ public class KwcContractTradeService {
|
|
|
|
|
|
|
|
|
|
|
|
|
//根据父id查询补充合同id
|
|
//根据父id查询补充合同id
|
|
|
- Set<Long> contractIds = Sets.newHashSet();
|
|
|
|
|
|
|
+ Set<Long> contractIds = Sets.newHashSet();
|
|
|
List<KwcContractTrade> kwcContractTrades = kwcContractTradeRepository.queryByPid(req.getPid());
|
|
List<KwcContractTrade> kwcContractTrades = kwcContractTradeRepository.queryByPid(req.getPid());
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwcContractTrades)){
|
|
|
|
|
- contractIds.addAll( kwcContractTrades.stream()
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwcContractTrades)) {
|
|
|
|
|
+ contractIds.addAll(kwcContractTrades.stream()
|
|
|
.map(KwcContractTrade::getId)
|
|
.map(KwcContractTrade::getId)
|
|
|
.collect(Collectors.toSet()));
|
|
.collect(Collectors.toSet()));
|
|
|
}
|
|
}
|
|
@@ -1166,7 +1183,7 @@ public class KwcContractTradeService {
|
|
|
//查询标的信息
|
|
//查询标的信息
|
|
|
//根据商品id查询标的信息和主合同
|
|
//根据商品id查询标的信息和主合同
|
|
|
List<KwcContractTradeGoods> kwcContractTradeGoods =
|
|
List<KwcContractTradeGoods> kwcContractTradeGoods =
|
|
|
- kwcContractTradeGoodsRepository.queryByConTractIdsGoodsIds(contractIds,goodsIds);
|
|
|
|
|
|
|
+ kwcContractTradeGoodsRepository.queryByConTractIdsGoodsIds(contractIds, goodsIds);
|
|
|
//商品id映射商品信息(排除主合同查看是否存在补充合同的商品信息)
|
|
//商品id映射商品信息(排除主合同查看是否存在补充合同的商品信息)
|
|
|
Map<Long, KwcContractTradeGoods> goodsIdAndGoodsMap = kwcContractTradeGoods.stream()
|
|
Map<Long, KwcContractTradeGoods> goodsIdAndGoodsMap = kwcContractTradeGoods.stream()
|
|
|
.filter(x -> !Objects.equals(x.getContractId(), req.getPid()))
|
|
.filter(x -> !Objects.equals(x.getContractId(), req.getPid()))
|
|
@@ -1174,24 +1191,24 @@ public class KwcContractTradeService {
|
|
|
//过滤主合同查看的标信息 , 合同id商品id组成唯一key映射商品信息
|
|
//过滤主合同查看的标信息 , 合同id商品id组成唯一key映射商品信息
|
|
|
Map<String, KwcContractTradeGoods> contractTradeKeyAndGoodsMap =
|
|
Map<String, KwcContractTradeGoods> contractTradeKeyAndGoodsMap =
|
|
|
kwcContractTradeGoods.stream().filter(x -> Objects.equals(x.getContractId(), req.getPid()))
|
|
kwcContractTradeGoods.stream().filter(x -> Objects.equals(x.getContractId(), req.getPid()))
|
|
|
- .peek(x -> x.setContractIdGoodsIdKey(x.getContractId() + "-" + x.getGoodsId()))
|
|
|
|
|
- .collect(Collectors.toMap(KwcContractTradeGoods::getContractIdGoodsIdKey, Function.identity(), (x, y) -> x));
|
|
|
|
|
|
|
+ .peek(x -> x.setContractIdGoodsIdKey(x.getContractId() + "-" + x.getGoodsId()))
|
|
|
|
|
+ .collect(Collectors.toMap(KwcContractTradeGoods::getContractIdGoodsIdKey, Function.identity(), (x, y) -> x));
|
|
|
|
|
|
|
|
//商品id映射交易商品信息
|
|
//商品id映射交易商品信息
|
|
|
List<KwcContractTradeGoods> saveOrUpdateTradeGoods = Lists.newArrayList();
|
|
List<KwcContractTradeGoods> saveOrUpdateTradeGoods = Lists.newArrayList();
|
|
|
req.getGoodsInfo().forEach(g -> {
|
|
req.getGoodsInfo().forEach(g -> {
|
|
|
KwcContractTradeGoods tradeGoods = goodsIdAndGoodsMap.get(g.getGoodsId());
|
|
KwcContractTradeGoods tradeGoods = goodsIdAndGoodsMap.get(g.getGoodsId());
|
|
|
- if (Objects.isNull(tradeGoods)){
|
|
|
|
|
|
|
+ if (Objects.isNull(tradeGoods)) {
|
|
|
//作为新增对象
|
|
//作为新增对象
|
|
|
- buildTradeGoods(req, g, contractTradeKeyAndGoodsMap, saveOrUpdateTradeGoods,contactId);
|
|
|
|
|
|
|
+ buildTradeGoods(req, g, contractTradeKeyAndGoodsMap, saveOrUpdateTradeGoods, contactId);
|
|
|
|
|
|
|
|
- }else {
|
|
|
|
|
|
|
+ } else {
|
|
|
//如果不为空判断时间是否重叠 存在则报错
|
|
//如果不为空判断时间是否重叠 存在则报错
|
|
|
if (g.getEffectiveStartTime().after(tradeGoods.getStartTime()) && g.getEffectiveStartTime().before(tradeGoods.getEndTime())
|
|
if (g.getEffectiveStartTime().after(tradeGoods.getStartTime()) && g.getEffectiveStartTime().before(tradeGoods.getEndTime())
|
|
|
- || (g.getEffectiveEntTime().after(tradeGoods.getStartTime()) && g.getEffectiveEntTime().before(tradeGoods.getEndTime()))){
|
|
|
|
|
- throw new BusinessException("商品:"+g.getGoodsName() +"时间重叠,只有先结束之前的补充合同,才能进行创建;");
|
|
|
|
|
|
|
+ || (g.getEffectiveEntTime().after(tradeGoods.getStartTime()) && g.getEffectiveEntTime().before(tradeGoods.getEndTime()))) {
|
|
|
|
|
+ throw new BusinessException("商品:" + g.getGoodsName() + "时间重叠,只有先结束之前的补充合同,才能进行创建;");
|
|
|
}
|
|
}
|
|
|
- buildTradeGoods(req, g, contractTradeKeyAndGoodsMap, saveOrUpdateTradeGoods,contactId);
|
|
|
|
|
|
|
+ buildTradeGoods(req, g, contractTradeKeyAndGoodsMap, saveOrUpdateTradeGoods, contactId);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
|
|
|
|
@@ -1200,7 +1217,7 @@ public class KwcContractTradeService {
|
|
|
|
|
|
|
|
private static void buildTradeGoods(SupplyContractTradeReq req, SupplyContractTradeReq.TradeGoodsInfo g,
|
|
private static void buildTradeGoods(SupplyContractTradeReq req, SupplyContractTradeReq.TradeGoodsInfo g,
|
|
|
Map<String, KwcContractTradeGoods> contractTradeKeyAndGoodsMap,
|
|
Map<String, KwcContractTradeGoods> contractTradeKeyAndGoodsMap,
|
|
|
- List<KwcContractTradeGoods> saveTradeGoods,long contactId) {
|
|
|
|
|
|
|
+ List<KwcContractTradeGoods> saveTradeGoods, long contactId) {
|
|
|
Long userId = LoginUserHolder.getUserId();
|
|
Long userId = LoginUserHolder.getUserId();
|
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
|
KwcContractTradeGoods saveSupplyTradeGoods = new KwcContractTradeGoods();
|
|
KwcContractTradeGoods saveSupplyTradeGoods = new KwcContractTradeGoods();
|
|
@@ -1223,7 +1240,7 @@ public class KwcContractTradeService {
|
|
|
|
|
|
|
|
KwcContractTradeGoods tradeGoodsData =
|
|
KwcContractTradeGoods tradeGoodsData =
|
|
|
contractTradeKeyAndGoodsMap.get(req.getPid() + "-" + g.getGoodsId());
|
|
contractTradeKeyAndGoodsMap.get(req.getPid() + "-" + g.getGoodsId());
|
|
|
- if (Objects.nonNull(tradeGoodsData)){
|
|
|
|
|
|
|
+ if (Objects.nonNull(tradeGoodsData)) {
|
|
|
KwcContractTradeGoods mainTradeGoods = new KwcContractTradeGoods();
|
|
KwcContractTradeGoods mainTradeGoods = new KwcContractTradeGoods();
|
|
|
mainTradeGoods.setId(tradeGoodsData.getId());
|
|
mainTradeGoods.setId(tradeGoodsData.getId());
|
|
|
mainTradeGoods.setPrice(g.getPrice());
|
|
mainTradeGoods.setPrice(g.getPrice());
|
|
@@ -1233,7 +1250,7 @@ public class KwcContractTradeService {
|
|
|
saveTradeGoods.add(saveSupplyTradeGoods);
|
|
saveTradeGoods.add(saveSupplyTradeGoods);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private void saveTradeContract(SupplyContractTradeReq req,long contactId) {
|
|
|
|
|
|
|
+ private void saveTradeContract(SupplyContractTradeReq req, long contactId) {
|
|
|
SupplyContractTradeReq.TradeBaseInfo baseInfo = req.getBaseInfo();
|
|
SupplyContractTradeReq.TradeBaseInfo baseInfo = req.getBaseInfo();
|
|
|
List<SupplyContractTradeReq.TradeGoodsInfo> goodsInfo = req.getGoodsInfo();
|
|
List<SupplyContractTradeReq.TradeGoodsInfo> goodsInfo = req.getGoodsInfo();
|
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
@@ -1282,27 +1299,27 @@ public class KwcContractTradeService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private static void checkParams(SupplyContractTradeReq req) {
|
|
private static void checkParams(SupplyContractTradeReq req) {
|
|
|
- if (hasDuplicateGoodsIds(req.getGoodsInfo())){
|
|
|
|
|
- throw new BusinessException( "标信息有重复");
|
|
|
|
|
|
|
+ if (hasDuplicateGoodsIds(req.getGoodsInfo())) {
|
|
|
|
|
+ throw new BusinessException("标信息有重复");
|
|
|
}
|
|
}
|
|
|
//判断时间大小
|
|
//判断时间大小
|
|
|
boolean startTimeBefore = req.getGoodsInfo().stream()
|
|
boolean startTimeBefore = req.getGoodsInfo().stream()
|
|
|
.filter(t -> Objects.nonNull(t.getEffectiveStartTime()) && Objects.nonNull(req.getBaseInfo().getStartTime()))
|
|
.filter(t -> Objects.nonNull(t.getEffectiveStartTime()) && Objects.nonNull(req.getBaseInfo().getStartTime()))
|
|
|
.anyMatch(t -> t.getEffectiveStartTime().before(req.getBaseInfo().getStartTime()));
|
|
.anyMatch(t -> t.getEffectiveStartTime().before(req.getBaseInfo().getStartTime()));
|
|
|
if (startTimeBefore) {
|
|
if (startTimeBefore) {
|
|
|
- throw new BusinessException( "标信息开始时间不能早于合同开始时间");
|
|
|
|
|
|
|
+ throw new BusinessException("标信息开始时间不能早于合同开始时间");
|
|
|
}
|
|
}
|
|
|
boolean endTimeAfter = req.getGoodsInfo().stream()
|
|
boolean endTimeAfter = req.getGoodsInfo().stream()
|
|
|
.filter(t -> Objects.nonNull(t.getEffectiveEntTime()) && Objects.nonNull(req.getBaseInfo().getEndTime()))
|
|
.filter(t -> Objects.nonNull(t.getEffectiveEntTime()) && Objects.nonNull(req.getBaseInfo().getEndTime()))
|
|
|
.anyMatch(t -> t.getEffectiveEntTime().after(req.getBaseInfo().getEndTime()));
|
|
.anyMatch(t -> t.getEffectiveEntTime().after(req.getBaseInfo().getEndTime()));
|
|
|
- if (endTimeAfter){
|
|
|
|
|
- throw new BusinessException( "标信息结束时间不能晚于合同结束时间");
|
|
|
|
|
|
|
+ if (endTimeAfter) {
|
|
|
|
|
+ throw new BusinessException("标信息结束时间不能晚于合同结束时间");
|
|
|
}
|
|
}
|
|
|
boolean b = req.getGoodsInfo().stream()
|
|
boolean b = req.getGoodsInfo().stream()
|
|
|
.filter(t -> Objects.nonNull(t.getEffectiveEntTime()) && Objects.nonNull(t.getEffectiveStartTime()))
|
|
.filter(t -> Objects.nonNull(t.getEffectiveEntTime()) && Objects.nonNull(t.getEffectiveStartTime()))
|
|
|
.anyMatch(t -> t.getEffectiveEntTime().before(t.getEffectiveStartTime()));
|
|
.anyMatch(t -> t.getEffectiveEntTime().before(t.getEffectiveStartTime()));
|
|
|
- if (b){
|
|
|
|
|
- throw new BusinessException( "标信息结束时间不能早于开始时间");
|
|
|
|
|
|
|
+ if (b) {
|
|
|
|
|
+ throw new BusinessException("标信息结束时间不能早于开始时间");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1341,22 +1358,22 @@ public class KwcContractTradeService {
|
|
|
}
|
|
}
|
|
|
//签约 (状态由带签约或者待审核变成签约)
|
|
//签约 (状态由带签约或者待审核变成签约)
|
|
|
if (Objects.equals(req.getStatus(), ContractStatusEnum.SIGNED.getCode()) &&
|
|
if (Objects.equals(req.getStatus(), ContractStatusEnum.SIGNED.getCode()) &&
|
|
|
- Arrays.asList(ContractStatusEnum.SUBMIT.getCode(), ContractStatusEnum.WAIT_APPROVE.getCode(),ContractStatusEnum.CANNEL.getCode())
|
|
|
|
|
|
|
+ Arrays.asList(ContractStatusEnum.SUBMIT.getCode(), ContractStatusEnum.WAIT_APPROVE.getCode(), ContractStatusEnum.CANNEL.getCode())
|
|
|
.contains(kwcContractTrade.getStatus())) {
|
|
.contains(kwcContractTrade.getStatus())) {
|
|
|
updateKwcContractTrade.setStatus(ContractStatusEnum.SIGNED.getCode());
|
|
updateKwcContractTrade.setStatus(ContractStatusEnum.SIGNED.getCode());
|
|
|
updateKwcContractTrade.setSignTime(new Date());
|
|
updateKwcContractTrade.setSignTime(new Date());
|
|
|
}
|
|
}
|
|
|
//手动完结 (如果不传状态就表示手动完结) 如果当前状态是待签约或者待签约 那么变为作废
|
|
//手动完结 (如果不传状态就表示手动完结) 如果当前状态是待签约或者待签约 那么变为作废
|
|
|
- if (Objects.equals(req.getStatus(),ContractStatusEnum.CANNEL.getCode()) && Arrays.asList(ContractStatusEnum.WAIT_APPROVE.getCode(),
|
|
|
|
|
- ContractStatusEnum.SUBMIT.getCode()).contains(kwcContractTrade.getStatus())){
|
|
|
|
|
|
|
+ if (Objects.equals(req.getStatus(), ContractStatusEnum.CANNEL.getCode()) && Arrays.asList(ContractStatusEnum.WAIT_APPROVE.getCode(),
|
|
|
|
|
+ ContractStatusEnum.SUBMIT.getCode()).contains(kwcContractTrade.getStatus())) {
|
|
|
updateKwcContractTrade.setStatus(ContractStatusEnum.CANNEL.getCode());
|
|
updateKwcContractTrade.setStatus(ContractStatusEnum.CANNEL.getCode());
|
|
|
}
|
|
}
|
|
|
//手动完结 如果当前的状态是已经签约,订单变成已完结
|
|
//手动完结 如果当前的状态是已经签约,订单变成已完结
|
|
|
- if (Objects.equals(req.getStatus(),ContractStatusEnum.CANNEL.getCode()) && Objects.equals(kwcContractTrade.getStatus(),
|
|
|
|
|
- ContractStatusEnum.SIGNED.getCode())){
|
|
|
|
|
|
|
+ if (Objects.equals(req.getStatus(), ContractStatusEnum.CANNEL.getCode()) && Objects.equals(kwcContractTrade.getStatus(),
|
|
|
|
|
+ ContractStatusEnum.SIGNED.getCode())) {
|
|
|
updateKwcContractTrade.setStatus(ContractStatusEnum.COMPLETE.getCode());
|
|
updateKwcContractTrade.setStatus(ContractStatusEnum.COMPLETE.getCode());
|
|
|
}
|
|
}
|
|
|
- return kwcContractTradeRepository.updateByContractId(updateKwcContractTrade);
|
|
|
|
|
|
|
+ return kwcContractTradeRepository.updateByContractId(updateKwcContractTrade);
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1369,7 +1386,7 @@ public class KwcContractTradeService {
|
|
|
}
|
|
}
|
|
|
//根据订单号查询交易企业信息
|
|
//根据订单号查询交易企业信息
|
|
|
List<KwcContractTradeUnit> tradeUnits = kwcContractTradeUnitRepository.queryByContractId(kwcContractTrade.getId());
|
|
List<KwcContractTradeUnit> tradeUnits = kwcContractTradeUnitRepository.queryByContractId(kwcContractTrade.getId());
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isEmpty(tradeUnits)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(tradeUnits)) {
|
|
|
return new ContractDetailResp();
|
|
return new ContractDetailResp();
|
|
|
}
|
|
}
|
|
|
//安装合同id和单位类型组合成key映射公司对象
|
|
//安装合同id和单位类型组合成key映射公司对象
|
|
@@ -1381,17 +1398,17 @@ public class KwcContractTradeService {
|
|
|
//查询商品合同
|
|
//查询商品合同
|
|
|
List<KwcContractTradeGoods> tradeGoods = kwcContractTradeGoodsRepository.queryByContractId(kwcContractTrade.getId());
|
|
List<KwcContractTradeGoods> tradeGoods = kwcContractTradeGoodsRepository.queryByContractId(kwcContractTrade.getId());
|
|
|
List<Long> goodsIds = Lists.newArrayList();
|
|
List<Long> goodsIds = Lists.newArrayList();
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeGoods)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeGoods)) {
|
|
|
//获取商品id
|
|
//获取商品id
|
|
|
- goodsIds = tradeGoods.stream()
|
|
|
|
|
|
|
+ goodsIds = tradeGoods.stream()
|
|
|
.map(KwcContractTradeGoods::getGoodsId)
|
|
.map(KwcContractTradeGoods::getGoodsId)
|
|
|
- .distinct()
|
|
|
|
|
|
|
+ .distinct()
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
//查询商品 商品id映射商品
|
|
//查询商品 商品id映射商品
|
|
|
Map<Long, KwpGoods> goodsIdAndGoodsMap = Maps.newHashMap();
|
|
Map<Long, KwpGoods> goodsIdAndGoodsMap = Maps.newHashMap();
|
|
|
- if (CollectionUtils.isNotEmpty(goodsIds)){
|
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(goodsIds)) {
|
|
|
goodsIdAndGoodsMap = goodsInfoService.getGoodsByIds(goodsIds);
|
|
goodsIdAndGoodsMap = goodsInfoService.getGoodsByIds(goodsIds);
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -1399,12 +1416,12 @@ public class KwcContractTradeService {
|
|
|
//查询字典
|
|
//查询字典
|
|
|
List<SysDictResDto> sysDictResDtos = remoteSystemService.queryDictByType(DictTypeEnum.PRODUCT_NAME_TYPE.getType());
|
|
List<SysDictResDto> sysDictResDtos = remoteSystemService.queryDictByType(DictTypeEnum.PRODUCT_NAME_TYPE.getType());
|
|
|
Map<String, SysDictResDto> dictValueAndDictResDtoMap = new HashMap<>();
|
|
Map<String, SysDictResDto> dictValueAndDictResDtoMap = new HashMap<>();
|
|
|
- if (CollectionUtils.isNotEmpty(sysDictResDtos)){
|
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(sysDictResDtos)) {
|
|
|
//字典value映射字典
|
|
//字典value映射字典
|
|
|
dictValueAndDictResDtoMap = sysDictResDtos.stream()
|
|
dictValueAndDictResDtoMap = sysDictResDtos.stream()
|
|
|
.collect(Collectors.toMap(SysDictResDto::getValue, Function.identity()));
|
|
.collect(Collectors.toMap(SysDictResDto::getValue, Function.identity()));
|
|
|
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
|
|
|
ContractDetailResp contractDetailResp = new ContractDetailResp();
|
|
ContractDetailResp contractDetailResp = new ContractDetailResp();
|
|
@@ -1417,7 +1434,7 @@ public class KwcContractTradeService {
|
|
|
contractDetailResp.setContractFile(kwcContractTrade.getSigningUrl());
|
|
contractDetailResp.setContractFile(kwcContractTrade.getSigningUrl());
|
|
|
|
|
|
|
|
//标地信息
|
|
//标地信息
|
|
|
- if (CollectionUtils.isNotEmpty(tradeGoods)){
|
|
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(tradeGoods)) {
|
|
|
Map<Long, KwpGoods> finalGoodsIdAndGoodsMap = goodsIdAndGoodsMap;
|
|
Map<Long, KwpGoods> finalGoodsIdAndGoodsMap = goodsIdAndGoodsMap;
|
|
|
Map<String, SysDictResDto> finalDictValueAndDictResDtoMap = dictValueAndDictResDtoMap;
|
|
Map<String, SysDictResDto> finalDictValueAndDictResDtoMap = dictValueAndDictResDtoMap;
|
|
|
List<ContractDetailResp.TradeGoodsInfo> tradeGoodsInfos = tradeGoods.stream()
|
|
List<ContractDetailResp.TradeGoodsInfo> tradeGoodsInfos = tradeGoods.stream()
|
|
@@ -1440,10 +1457,10 @@ public class KwcContractTradeService {
|
|
|
tradeGoodsInfo.setGoodsId(t.getGoodsId());
|
|
tradeGoodsInfo.setGoodsId(t.getGoodsId());
|
|
|
KwpGoods goods = finalGoodsIdAndGoodsMap.getOrDefault(t.getGoodsId(), new KwpGoods());
|
|
KwpGoods goods = finalGoodsIdAndGoodsMap.getOrDefault(t.getGoodsId(), new KwpGoods());
|
|
|
SysDictResDto dictResDto = dictValueAndDictResDtoMap.getOrDefault(goods.getGoodsType(), new SysDictResDto());
|
|
SysDictResDto dictResDto = dictValueAndDictResDtoMap.getOrDefault(goods.getGoodsType(), new SysDictResDto());
|
|
|
- tradeGoodsInfo.setGoodsName(goods.getName()+"/"+dictResDto.getLabel()+"/"+goods.getSpec());
|
|
|
|
|
|
|
+ tradeGoodsInfo.setGoodsName(goods.getName() + "/" + dictResDto.getLabel() + "/" + goods.getSpec());
|
|
|
tradeGoodsInfo.setAmount(t.getAmount());
|
|
tradeGoodsInfo.setAmount(t.getAmount());
|
|
|
tradeGoodsInfo.setPrice(t.getPrice());
|
|
tradeGoodsInfo.setPrice(t.getPrice());
|
|
|
- tradeGoodsInfo.setUnit(DictEnum.getLabel(DictTypeEnum.UNIT_TYPE.getType(),t.getUnit()));
|
|
|
|
|
|
|
+ tradeGoodsInfo.setUnit(DictEnum.getLabel(DictTypeEnum.UNIT_TYPE.getType(), t.getUnit()));
|
|
|
tradeGoodsInfo.setEffectiveStartTime(t.getStartTime());
|
|
tradeGoodsInfo.setEffectiveStartTime(t.getStartTime());
|
|
|
tradeGoodsInfo.setEffectiveEntTime(t.getEndTime());
|
|
tradeGoodsInfo.setEffectiveEntTime(t.getEndTime());
|
|
|
return tradeGoodsInfo;
|
|
return tradeGoodsInfo;
|
|
@@ -1466,10 +1483,10 @@ public class KwcContractTradeService {
|
|
|
tradeBaseInfo.setContractName(kwcContractTrade.getName());
|
|
tradeBaseInfo.setContractName(kwcContractTrade.getName());
|
|
|
tradeBaseInfo.setContractStatus(String.valueOf(kwcContractTrade.getStatus()));
|
|
tradeBaseInfo.setContractStatus(String.valueOf(kwcContractTrade.getStatus()));
|
|
|
tradeBaseInfo.setContractStatusDesc(ContractStatusEnum.getNameByCode(kwcContractTrade.getStatus()));
|
|
tradeBaseInfo.setContractStatusDesc(ContractStatusEnum.getNameByCode(kwcContractTrade.getStatus()));
|
|
|
- if (Objects.nonNull(kwcContractTrade.getEndTime())){
|
|
|
|
|
|
|
+ if (Objects.nonNull(kwcContractTrade.getEndTime())) {
|
|
|
tradeBaseInfo.setEndTime(kwcContractTrade.getEndTime());
|
|
tradeBaseInfo.setEndTime(kwcContractTrade.getEndTime());
|
|
|
String endDate = DateUtils.format(kwcContractTrade.getEndTime(), DateUtils.DATE_PATTERN);
|
|
String endDate = DateUtils.format(kwcContractTrade.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")) {
|
|
|
tradeBaseInfo.setEndTime(null);
|
|
tradeBaseInfo.setEndTime(null);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1492,12 +1509,12 @@ public class KwcContractTradeService {
|
|
|
return tradeBaseInfo;
|
|
return tradeBaseInfo;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public List<QueryListResVo> queryTradeListByPage(QueryTradeReq req) {
|
|
|
|
|
|
|
+ public List<QueryListResVo> queryTradeListByPage(QueryTradeReq req) {
|
|
|
|
|
|
|
|
Long entId;
|
|
Long entId;
|
|
|
- if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getEntId())){
|
|
|
|
|
- entId =Long.valueOf(req.getEntId());
|
|
|
|
|
- }else {
|
|
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getEntId())) {
|
|
|
|
|
+ entId = Long.valueOf(req.getEntId());
|
|
|
|
|
+ } else {
|
|
|
entId = LoginUserHolder.getEntId();
|
|
entId = LoginUserHolder.getEntId();
|
|
|
}
|
|
}
|
|
|
Set<Long> entIds = Sets.newHashSet();
|
|
Set<Long> entIds = Sets.newHashSet();
|
|
@@ -1510,15 +1527,15 @@ public class KwcContractTradeService {
|
|
|
entIds.add(Long.valueOf(req.getSupplyEntId()));
|
|
entIds.add(Long.valueOf(req.getSupplyEntId()));
|
|
|
}
|
|
}
|
|
|
Set<Long> contractIds = null;
|
|
Set<Long> contractIds = null;
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(entIds)){
|
|
|
|
|
- List<KwcContractTradeUnit> units = kwcContractTradeUnitRepository.queryByEntIds(entIds);
|
|
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(units)){
|
|
|
|
|
- contractIds = units.stream()
|
|
|
|
|
- .map(KwcContractTradeUnit::getContractId)
|
|
|
|
|
- .collect(Collectors.toSet());
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isEmpty(contractIds)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(entIds)) {
|
|
|
|
|
+ List<KwcContractTradeUnit> units = kwcContractTradeUnitRepository.queryByEntIds(entIds);
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(units)) {
|
|
|
|
|
+ contractIds = units.stream()
|
|
|
|
|
+ .map(KwcContractTradeUnit::getContractId)
|
|
|
|
|
+ .collect(Collectors.toSet());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(contractIds)) {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
PageHelper.startPage(req.getPageNum(), req.getPageSize());
|
|
PageHelper.startPage(req.getPageNum(), req.getPageSize());
|
|
@@ -1528,50 +1545,50 @@ public class KwcContractTradeService {
|
|
|
req.getContractName(),
|
|
req.getContractName(),
|
|
|
req.getSupplementCode(),
|
|
req.getSupplementCode(),
|
|
|
contractIds, req.getStatus(), req.getPageNum(), req.getPageSize());
|
|
contractIds, req.getStatus(), req.getPageNum(), req.getPageSize());
|
|
|
- // List<KwcContractTrade> records = page.getRecords();
|
|
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isEmpty(records)){
|
|
|
|
|
|
|
+ // List<KwcContractTrade> records = page.getRecords();
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(records)) {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
entIds.addAll(records.stream().map(KwcContractTrade::getEntId).collect(Collectors.toSet()));
|
|
entIds.addAll(records.stream().map(KwcContractTrade::getEntId).collect(Collectors.toSet()));
|
|
|
List<EntTypeResDto> ents = remoteSystemService.queryEntTypeByIds(entIds);
|
|
List<EntTypeResDto> ents = remoteSystemService.queryEntTypeByIds(entIds);
|
|
|
- Map<Long, EntTypeResDto> entIdAndEntMap = Maps.newHashMap() ;
|
|
|
|
|
- if (CollectionUtils.isNotEmpty(ents)){
|
|
|
|
|
|
|
+ Map<Long, EntTypeResDto> entIdAndEntMap = Maps.newHashMap();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(ents)) {
|
|
|
entIdAndEntMap =
|
|
entIdAndEntMap =
|
|
|
ents.stream().collect(Collectors.toMap(EntTypeResDto::getEntId, Function.identity(), (v1, v2) -> v1));
|
|
ents.stream().collect(Collectors.toMap(EntTypeResDto::getEntId, Function.identity(), (v1, v2) -> v1));
|
|
|
}
|
|
}
|
|
|
//如果登录方是采购方,创建方是提供方,那么采购方只能看到已经签约的合同
|
|
//如果登录方是采购方,创建方是提供方,那么采购方只能看到已经签约的合同
|
|
|
EntTypeResDto entTypeResDto = entIdAndEntMap.getOrDefault(entId, new EntTypeResDto());
|
|
EntTypeResDto entTypeResDto = entIdAndEntMap.getOrDefault(entId, new EntTypeResDto());
|
|
|
//如果登录方是采购商,创建方是供应方,那么采购商只能看到已经签约的合同
|
|
//如果登录方是采购商,创建方是供应方,那么采购商只能看到已经签约的合同
|
|
|
- List<KwcContractTrade> contractTrades = Lists.newArrayList();
|
|
|
|
|
- List<KwcContractTrade> contractTrades1 = Lists.newArrayList();
|
|
|
|
|
- if (entTypeResDto.getType().equals(EntTypeEnum.PURCHASER.getCode())){
|
|
|
|
|
|
|
+ List<KwcContractTrade> contractTrades = Lists.newArrayList();
|
|
|
|
|
+ List<KwcContractTrade> contractTrades1 = Lists.newArrayList();
|
|
|
|
|
+ if (entTypeResDto.getType().equals(EntTypeEnum.PURCHASER.getCode())) {
|
|
|
List<Integer> statusList = Arrays.asList(ContractStatusEnum.SIGNED.getCode(), ContractStatusEnum.COMPLETE.getCode());
|
|
List<Integer> statusList = Arrays.asList(ContractStatusEnum.SIGNED.getCode(), ContractStatusEnum.COMPLETE.getCode());
|
|
|
Map<Long, EntTypeResDto> finalEntIdAndEntMap1 = entIdAndEntMap;
|
|
Map<Long, EntTypeResDto> finalEntIdAndEntMap1 = entIdAndEntMap;
|
|
|
|
|
|
|
|
records.forEach(record -> {
|
|
records.forEach(record -> {
|
|
|
EntTypeResDto orDefault = finalEntIdAndEntMap1.getOrDefault(record.getEntId(), new EntTypeResDto());
|
|
EntTypeResDto orDefault = finalEntIdAndEntMap1.getOrDefault(record.getEntId(), new EntTypeResDto());
|
|
|
- if (Objects.equals(orDefault.getType(),EntTypeEnum.SUPPLIER.getCode()) && statusList.contains(record.getStatus())){
|
|
|
|
|
|
|
+ if (Objects.equals(orDefault.getType(), EntTypeEnum.SUPPLIER.getCode()) && statusList.contains(record.getStatus())) {
|
|
|
contractTrades.add(record);
|
|
contractTrades.add(record);
|
|
|
- }else if (Objects.equals(orDefault.getType(),EntTypeEnum.PURCHASER.getCode())) {
|
|
|
|
|
|
|
+ } else if (Objects.equals(orDefault.getType(), EntTypeEnum.PURCHASER.getCode())) {
|
|
|
contractTrades1.add(record);
|
|
contractTrades1.add(record);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
//如果登录方是供应方,创建方是采购方,那么供应方不能看到已作废的 合同
|
|
//如果登录方是供应方,创建方是采购方,那么供应方不能看到已作废的 合同
|
|
|
- if (entTypeResDto.getType().equals(EntTypeEnum.SUPPLIER.getCode())){
|
|
|
|
|
|
|
+ if (entTypeResDto.getType().equals(EntTypeEnum.SUPPLIER.getCode())) {
|
|
|
Map<Long, EntTypeResDto> finalEntIdAndEntMap = entIdAndEntMap;
|
|
Map<Long, EntTypeResDto> finalEntIdAndEntMap = entIdAndEntMap;
|
|
|
records.forEach(record -> {
|
|
records.forEach(record -> {
|
|
|
- EntTypeResDto orDefault = finalEntIdAndEntMap.getOrDefault(record.getEntId(), new EntTypeResDto());
|
|
|
|
|
- if (Objects.equals(orDefault.getType(),EntTypeEnum.PURCHASER.getCode()) && !Objects.equals(record.getStatus(),ContractStatusEnum.CANNEL.getCode())){
|
|
|
|
|
- contractTrades.add(record);
|
|
|
|
|
- }else if (Objects.equals(orDefault.getType(),EntTypeEnum.SUPPLIER.getCode())){
|
|
|
|
|
- contractTrades1.add(record);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ EntTypeResDto orDefault = finalEntIdAndEntMap.getOrDefault(record.getEntId(), new EntTypeResDto());
|
|
|
|
|
+ if (Objects.equals(orDefault.getType(), EntTypeEnum.PURCHASER.getCode()) && !Objects.equals(record.getStatus(), ContractStatusEnum.CANNEL.getCode())) {
|
|
|
|
|
+ contractTrades.add(record);
|
|
|
|
|
+ } else if (Objects.equals(orDefault.getType(), EntTypeEnum.SUPPLIER.getCode())) {
|
|
|
|
|
+ contractTrades1.add(record);
|
|
|
|
|
+ }
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
contractTrades.addAll(contractTrades1);
|
|
contractTrades.addAll(contractTrades1);
|
|
|
records = contractTrades;
|
|
records = contractTrades;
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isEmpty(records)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(records)) {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1580,18 +1597,18 @@ public class KwcContractTradeService {
|
|
|
Set<Long> contractPids = records.stream().map(KwcContractTrade::getContractPid).collect(Collectors.toSet());
|
|
Set<Long> contractPids = records.stream().map(KwcContractTrade::getContractPid).collect(Collectors.toSet());
|
|
|
//根据父id查询父合同信息
|
|
//根据父id查询父合同信息
|
|
|
Map<Long, KwcContractTrade> pidIdAndTradeMap = Maps.newHashMap();
|
|
Map<Long, KwcContractTrade> pidIdAndTradeMap = Maps.newHashMap();
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(contractPids)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(contractPids)) {
|
|
|
List<KwcContractTrade> contractPidList = kwcContractTradeRepository.queryByContractIds(contractPids);
|
|
List<KwcContractTrade> contractPidList = kwcContractTradeRepository.queryByContractIds(contractPids);
|
|
|
|
|
|
|
|
pidIdAndTradeMap =
|
|
pidIdAndTradeMap =
|
|
|
contractPidList.stream().collect(Collectors.toMap(KwcContractTrade::getId
|
|
contractPidList.stream().collect(Collectors.toMap(KwcContractTrade::getId
|
|
|
- , Function.identity(), (v1, v2) -> v1));
|
|
|
|
|
|
|
+ , Function.identity(), (v1, v2) -> v1));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//查询公司信息
|
|
//查询公司信息
|
|
|
List<KwcContractTradeUnit> tradeUnits = kwcContractTradeUnitRepository.queryByContractIds(tradeContractIds);
|
|
List<KwcContractTradeUnit> tradeUnits = kwcContractTradeUnitRepository.queryByContractIds(tradeContractIds);
|
|
|
Map<String, KwcContractTradeUnit> contractUnitTypeKeyAndUnitMap = Maps.newHashMap();
|
|
Map<String, KwcContractTradeUnit> contractUnitTypeKeyAndUnitMap = Maps.newHashMap();
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeUnits)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeUnits)) {
|
|
|
contractUnitTypeKeyAndUnitMap = tradeUnits.stream()
|
|
contractUnitTypeKeyAndUnitMap = tradeUnits.stream()
|
|
|
.peek(x -> x.setContractIdUniTypeKey(x.getContractId() + "-" + x.getUnitType()))
|
|
.peek(x -> x.setContractIdUniTypeKey(x.getContractId() + "-" + x.getUnitType()))
|
|
|
.collect(Collectors.toMap(KwcContractTradeUnit::getContractIdUniTypeKey, Function.identity(), (v1
|
|
.collect(Collectors.toMap(KwcContractTradeUnit::getContractIdUniTypeKey, Function.identity(), (v1
|
|
@@ -1606,7 +1623,7 @@ public class KwcContractTradeService {
|
|
|
List<TradeOrderContractVo> tradeOrderContractVos = tradeOrderInfoService.queryByTradeContactIds(tradeContractIds);
|
|
List<TradeOrderContractVo> tradeOrderContractVos = tradeOrderInfoService.queryByTradeContactIds(tradeContractIds);
|
|
|
Map<Long, RWaybillSubOrderVo> tradeOrderIdAndWaybillMap = Maps.newHashMap();
|
|
Map<Long, RWaybillSubOrderVo> tradeOrderIdAndWaybillMap = Maps.newHashMap();
|
|
|
Map<Long, TradeOrderContractVo> contractIdAndContractMap = Maps.newHashMap();
|
|
Map<Long, TradeOrderContractVo> contractIdAndContractMap = Maps.newHashMap();
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeOrderContractVos)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeOrderContractVos)) {
|
|
|
contractIdAndContractMap = tradeOrderContractVos.stream()
|
|
contractIdAndContractMap = tradeOrderContractVos.stream()
|
|
|
.collect(Collectors.toMap(TradeOrderContractVo::getContractId, Function.identity(), (v1, v2) -> v1));
|
|
.collect(Collectors.toMap(TradeOrderContractVo::getContractId, Function.identity(), (v1, v2) -> v1));
|
|
|
//贸易订单id
|
|
//贸易订单id
|
|
@@ -1615,7 +1632,7 @@ public class KwcContractTradeService {
|
|
|
.collect(Collectors.toSet());
|
|
.collect(Collectors.toSet());
|
|
|
//通过贸易订单id查询物流运单
|
|
//通过贸易订单id查询物流运单
|
|
|
List<RWaybillSubOrderVo> rWaybillSubOrderVos = transportRemoteService.queryWaybillOrderByTradeOrderIds(tradeOrderIds);
|
|
List<RWaybillSubOrderVo> rWaybillSubOrderVos = transportRemoteService.queryWaybillOrderByTradeOrderIds(tradeOrderIds);
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(rWaybillSubOrderVos)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(rWaybillSubOrderVos)) {
|
|
|
tradeOrderIdAndWaybillMap = rWaybillSubOrderVos.stream()
|
|
tradeOrderIdAndWaybillMap = rWaybillSubOrderVos.stream()
|
|
|
.collect(Collectors.toMap(RWaybillSubOrderVo::getTradeId, Function.identity(), (k1, k2) -> k1));
|
|
.collect(Collectors.toMap(RWaybillSubOrderVo::getTradeId, Function.identity(), (k1, k2) -> k1));
|
|
|
}
|
|
}
|
|
@@ -1623,8 +1640,8 @@ public class KwcContractTradeService {
|
|
|
//根据合同id查询合同商品
|
|
//根据合同id查询合同商品
|
|
|
List<KwcContractTradeGoods> tradeGoods = kwcContractTradeGoodsRepository.queryByContractIds(tradeContractIds);
|
|
List<KwcContractTradeGoods> tradeGoods = kwcContractTradeGoodsRepository.queryByContractIds(tradeContractIds);
|
|
|
Map<Long, KwcContractTradeGoods> goodsIdAndGoodsMap = Maps.newHashMap();
|
|
Map<Long, KwcContractTradeGoods> goodsIdAndGoodsMap = Maps.newHashMap();
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeGoods)){
|
|
|
|
|
- goodsIdAndGoodsMap = tradeGoods.stream().collect(Collectors.toMap(KwcContractTradeGoods::getGoodsId,Function.identity(), (v1, v2) -> v1));
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(tradeGoods)) {
|
|
|
|
|
+ goodsIdAndGoodsMap = tradeGoods.stream().collect(Collectors.toMap(KwcContractTradeGoods::getGoodsId, Function.identity(), (v1, v2) -> v1));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
Map<Long, KwcContractTrade> finalPidIdAndTradeMap = pidIdAndTradeMap;
|
|
Map<Long, KwcContractTrade> finalPidIdAndTradeMap = pidIdAndTradeMap;
|
|
@@ -1636,15 +1653,15 @@ public class KwcContractTradeService {
|
|
|
.map(t -> getQueryListResVo(t, finalContractUnitTypeKeyAndUnitMap, finalPidIdAndTradeMap, longUserCacheResDtoMap,
|
|
.map(t -> getQueryListResVo(t, finalContractUnitTypeKeyAndUnitMap, finalPidIdAndTradeMap, longUserCacheResDtoMap,
|
|
|
finalTradeOrderIdAndWaybillMap, finalContractIdAndContractMap, finalGoodsIdAndGoodsMap))
|
|
finalTradeOrderIdAndWaybillMap, finalContractIdAndContractMap, finalGoodsIdAndGoodsMap))
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
- if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getPurchaseEntId())){
|
|
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getPurchaseEntId())) {
|
|
|
queryListResVos = queryListResVos.stream()
|
|
queryListResVos = queryListResVos.stream()
|
|
|
- .filter(x-> org.apache.commons.lang3.StringUtils.equals(x.getPurchaseEntId(), req.getPurchaseEntId()))
|
|
|
|
|
|
|
+ .filter(x -> org.apache.commons.lang3.StringUtils.equals(x.getPurchaseEntId(), req.getPurchaseEntId()))
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getSupplyEntId())){
|
|
|
|
|
|
|
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(req.getSupplyEntId())) {
|
|
|
queryListResVos = queryListResVos.stream()
|
|
queryListResVos = queryListResVos.stream()
|
|
|
- .filter(x-> org.apache.commons.lang3.StringUtils.equals(x.getProvideEntId(), req.getSupplyEntId()))
|
|
|
|
|
|
|
+ .filter(x -> org.apache.commons.lang3.StringUtils.equals(x.getProvideEntId(), req.getSupplyEntId()))
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
}
|
|
}
|
|
|
return queryListResVos;
|
|
return queryListResVos;
|
|
@@ -1669,14 +1686,14 @@ public class KwcContractTradeService {
|
|
|
queryListResVo.setPurchaseEntName(purchaseEnt.getFirmName());
|
|
queryListResVo.setPurchaseEntName(purchaseEnt.getFirmName());
|
|
|
KwcContractTradeUnit provideEnt =
|
|
KwcContractTradeUnit provideEnt =
|
|
|
finalContractUnitTypeKeyAndUnitMap.getOrDefault(t.getId() + "-" + CooperateTypeEnum.SUPPLIER.getCode(),
|
|
finalContractUnitTypeKeyAndUnitMap.getOrDefault(t.getId() + "-" + CooperateTypeEnum.SUPPLIER.getCode(),
|
|
|
- new KwcContractTradeUnit());
|
|
|
|
|
|
|
+ new KwcContractTradeUnit());
|
|
|
queryListResVo.setProvideEntId(String.valueOf(provideEnt.getEntId()));
|
|
queryListResVo.setProvideEntId(String.valueOf(provideEnt.getEntId()));
|
|
|
queryListResVo.setProvideEntName(provideEnt.getFirmName());
|
|
queryListResVo.setProvideEntName(provideEnt.getFirmName());
|
|
|
//queryListResVo.setCheckedEntName();
|
|
//queryListResVo.setCheckedEntName();
|
|
|
queryListResVo.setContractNo(t.getContractNo());
|
|
queryListResVo.setContractNo(t.getContractNo());
|
|
|
queryListResVo.setContractName(t.getName());
|
|
queryListResVo.setContractName(t.getName());
|
|
|
queryListResVo.setSigningWay(String.valueOf(t.getSigningWay()));
|
|
queryListResVo.setSigningWay(String.valueOf(t.getSigningWay()));
|
|
|
- queryListResVo.setSigningWayName(DictEnum.getLabel(DictTypeEnum.SIGNING_TYPE.getType(),String.valueOf(t.getSigningWay())));
|
|
|
|
|
|
|
+ queryListResVo.setSigningWayName(DictEnum.getLabel(DictTypeEnum.SIGNING_TYPE.getType(), String.valueOf(t.getSigningWay())));
|
|
|
queryListResVo.setUnloadWay(String.valueOf(t.getUnloadWay()));
|
|
queryListResVo.setUnloadWay(String.valueOf(t.getUnloadWay()));
|
|
|
queryListResVo.setUnloadWayName(DictEnum.getLabel(DictTypeEnum.LOAD_UNLOAD_WAY.getType(),
|
|
queryListResVo.setUnloadWayName(DictEnum.getLabel(DictTypeEnum.LOAD_UNLOAD_WAY.getType(),
|
|
|
String.valueOf(t.getUnloadWay())));
|
|
String.valueOf(t.getUnloadWay())));
|
|
@@ -1686,17 +1703,17 @@ public class KwcContractTradeService {
|
|
|
List<RWaybillSubOrderVo.BillSubOrder> subOrders = subOrderVo.getSubOrders();
|
|
List<RWaybillSubOrderVo.BillSubOrder> subOrders = subOrderVo.getSubOrders();
|
|
|
BigDecimal unloadQty = BigDecimal.ZERO;
|
|
BigDecimal unloadQty = BigDecimal.ZERO;
|
|
|
BigDecimal performedAmountMoney = BigDecimal.ZERO;
|
|
BigDecimal performedAmountMoney = BigDecimal.ZERO;
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(subOrders)){
|
|
|
|
|
- if (Objects.equals(t.getUnloadWay(),Integer.parseInt(DictEnum.LOAD_UNLOAD_WAY_1.getValue()))){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(subOrders)) {
|
|
|
|
|
+ if (Objects.equals(t.getUnloadWay(), Integer.parseInt(DictEnum.LOAD_UNLOAD_WAY_1.getValue()))) {
|
|
|
unloadQty = subOrders.stream()
|
|
unloadQty = subOrders.stream()
|
|
|
- .filter(x->Arrays.asList(CarWaybillV1Enum.COMPLETION_LOADING.getCode(),CarWaybillV1Enum.WAIT_UNLOADING.getCode())
|
|
|
|
|
|
|
+ .filter(x -> Arrays.asList(CarWaybillV1Enum.COMPLETION_LOADING.getCode(), CarWaybillV1Enum.WAIT_UNLOADING.getCode())
|
|
|
.contains(x.getStatus()))
|
|
.contains(x.getStatus()))
|
|
|
.map(RWaybillSubOrderVo.BillSubOrder::getLoadAmount)
|
|
.map(RWaybillSubOrderVo.BillSubOrder::getLoadAmount)
|
|
|
.filter(Objects::nonNull)
|
|
.filter(Objects::nonNull)
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
- }else {
|
|
|
|
|
|
|
+ } else {
|
|
|
unloadQty = subOrders.stream()
|
|
unloadQty = subOrders.stream()
|
|
|
- .filter(x->Objects.equals(x.getStatus(),CarWaybillV1Enum.WAIT_UNLOADING.getCode()))
|
|
|
|
|
|
|
+ .filter(x -> Objects.equals(x.getStatus(), CarWaybillV1Enum.WAIT_UNLOADING.getCode()))
|
|
|
.map(RWaybillSubOrderVo.BillSubOrder::getUnloadAmount)
|
|
.map(RWaybillSubOrderVo.BillSubOrder::getUnloadAmount)
|
|
|
.filter(Objects::nonNull)
|
|
.filter(Objects::nonNull)
|
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
@@ -1720,15 +1737,15 @@ public class KwcContractTradeService {
|
|
|
UserCacheResDto userCacheResDto = longUserCacheResDtoMap.getOrDefault(t.getCreateBy(), new UserCacheResDto());
|
|
UserCacheResDto userCacheResDto = longUserCacheResDtoMap.getOrDefault(t.getCreateBy(), new UserCacheResDto());
|
|
|
queryListResVo.setInitiatorId(t.getCreateBy());
|
|
queryListResVo.setInitiatorId(t.getCreateBy());
|
|
|
queryListResVo.setInitiateName(userCacheResDto.getName());
|
|
queryListResVo.setInitiateName(userCacheResDto.getName());
|
|
|
- if (Objects.nonNull(userCacheResDto.getEntInfo())){
|
|
|
|
|
|
|
+ if (Objects.nonNull(userCacheResDto.getEntInfo())) {
|
|
|
queryListResVo.setInitiateEntName(userCacheResDto.getEntInfo().getFirmName());
|
|
queryListResVo.setInitiateEntName(userCacheResDto.getEntInfo().getFirmName());
|
|
|
}
|
|
}
|
|
|
queryListResVo.setCreateTime(t.getCreateTime());
|
|
queryListResVo.setCreateTime(t.getCreateTime());
|
|
|
queryListResVo.setStartTime(t.getStartTime());
|
|
queryListResVo.setStartTime(t.getStartTime());
|
|
|
- if (Objects.nonNull(t.getStartTime())){
|
|
|
|
|
|
|
+ if (Objects.nonNull(t.getStartTime())) {
|
|
|
queryListResVo.setEndTime(t.getEndTime());
|
|
queryListResVo.setEndTime(t.getEndTime());
|
|
|
String endDate = DateUtils.format(t.getEndTime(), DateUtils.DATE_PATTERN);
|
|
String endDate = DateUtils.format(t.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);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -1740,7 +1757,7 @@ public class KwcContractTradeService {
|
|
|
|
|
|
|
|
|
|
|
|
|
public List<ContractLogisticsOrderResDto> queryContractLogisticsOrder(LogisticsOrderDto logisticsOrderDto) {
|
|
public List<ContractLogisticsOrderResDto> queryContractLogisticsOrder(LogisticsOrderDto logisticsOrderDto) {
|
|
|
- log.info("查询物流合同请求:{}",JSON.toJSONString( logisticsOrderDto));
|
|
|
|
|
|
|
+ log.info("查询物流合同请求:{}", JSON.toJSONString(logisticsOrderDto));
|
|
|
|
|
|
|
|
if (Objects.isNull(logisticsOrderDto.getGoodsId())) {
|
|
if (Objects.isNull(logisticsOrderDto.getGoodsId())) {
|
|
|
throw new BusinessException("商品id不能为空!");
|
|
throw new BusinessException("商品id不能为空!");
|
|
@@ -1751,7 +1768,7 @@ public class KwcContractTradeService {
|
|
|
//通过托运企业查询物流公司
|
|
//通过托运企业查询物流公司
|
|
|
List<KwcContractLogisticsUnit> contractLogistics =
|
|
List<KwcContractLogisticsUnit> contractLogistics =
|
|
|
kwcContractLogisticsUnitRepository.queryByEntId(logisticsOrderDto.getEntId());
|
|
kwcContractLogisticsUnitRepository.queryByEntId(logisticsOrderDto.getEntId());
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isEmpty(contractLogistics)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(contractLogistics)) {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
//物流订单合id
|
|
//物流订单合id
|
|
@@ -1763,7 +1780,7 @@ public class KwcContractTradeService {
|
|
|
logisticsOrderDto.getGoodsId());
|
|
logisticsOrderDto.getGoodsId());
|
|
|
Map<Long, KwcContractLogisticsGoods> contractLogisticsGoodsMap = Maps.newHashMap();
|
|
Map<Long, KwcContractLogisticsGoods> contractLogisticsGoodsMap = Maps.newHashMap();
|
|
|
|
|
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwcContractLogisticsGoods)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(kwcContractLogisticsGoods)) {
|
|
|
contractLogisticsGoodsMap = kwcContractLogisticsGoods.stream()
|
|
contractLogisticsGoodsMap = kwcContractLogisticsGoods.stream()
|
|
|
.collect(Collectors.toMap(KwcContractLogisticsGoods::getContractId,
|
|
.collect(Collectors.toMap(KwcContractLogisticsGoods::getContractId,
|
|
|
Function.identity(), (x, y) -> x));
|
|
Function.identity(), (x, y) -> x));
|
|
@@ -1774,26 +1791,26 @@ public class KwcContractTradeService {
|
|
|
|
|
|
|
|
//查询物流订单
|
|
//查询物流订单
|
|
|
List<KwcContractLogistics> logistics = contractLogisticsRepository.queryByLogisticContractIds(logTradeContractIds);
|
|
List<KwcContractLogistics> logistics = contractLogisticsRepository.queryByLogisticContractIds(logTradeContractIds);
|
|
|
- if (CollectionUtils.isEmpty( logistics)){
|
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(logistics)) {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
Date date = new Date();
|
|
Date date = new Date();
|
|
|
logistics = logistics.stream()
|
|
logistics = logistics.stream()
|
|
|
.filter(log -> Objects.nonNull(log.getStartTime()) && Objects.nonNull(log.getEndTime()))
|
|
.filter(log -> Objects.nonNull(log.getStartTime()) && Objects.nonNull(log.getEndTime()))
|
|
|
- .filter(log -> Objects.equals(log.getStatus(),ContractStatusEnum.SIGNED.getCode())
|
|
|
|
|
- && log.getStartTime().before(date) && log.getEndTime().after( date))
|
|
|
|
|
|
|
+ .filter(log -> Objects.equals(log.getStatus(), ContractStatusEnum.SIGNED.getCode())
|
|
|
|
|
+ && log.getStartTime().before(date) && log.getEndTime().after(date))
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
- if (CollectionUtils.isEmpty(logistics)){
|
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(logistics)) {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
//查询企业
|
|
//查询企业
|
|
|
List<KwcContractLogisticsUnit> units = kwcContractLogisticsUnitRepository.queryByContractIds(logTradeContractIds);
|
|
List<KwcContractLogisticsUnit> units = kwcContractLogisticsUnitRepository.queryByContractIds(logTradeContractIds);
|
|
|
//物流订单和类型组成唯一key
|
|
//物流订单和类型组成唯一key
|
|
|
Map<String, KwcContractLogisticsUnit> contractLogisticsMap = Maps.newHashMap();
|
|
Map<String, KwcContractLogisticsUnit> contractLogisticsMap = Maps.newHashMap();
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(units)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(units)) {
|
|
|
contractLogisticsMap = units.stream()
|
|
contractLogisticsMap = units.stream()
|
|
|
- .collect(Collectors.toMap(c -> c.getContractId() + "_" + c.getUnitType(),
|
|
|
|
|
- Function.identity(), (x, y) -> x));
|
|
|
|
|
|
|
+ .collect(Collectors.toMap(c -> c.getContractId() + "_" + c.getUnitType(),
|
|
|
|
|
+ Function.identity(), (x, y) -> x));
|
|
|
}
|
|
}
|
|
|
Map<String, KwcContractLogisticsUnit> finalContractLogisticsMap = contractLogisticsMap;
|
|
Map<String, KwcContractLogisticsUnit> finalContractLogisticsMap = contractLogisticsMap;
|
|
|
Map<Long, KwcContractLogisticsGoods> finalContractLogisticsGoodsMap = contractLogisticsGoodsMap;
|
|
Map<Long, KwcContractLogisticsGoods> finalContractLogisticsGoodsMap = contractLogisticsGoodsMap;
|
|
@@ -1832,42 +1849,42 @@ public class KwcContractTradeService {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
public List<ContractTradeOrderInfo> queryContractTradeOrder(ContractTradeOrderDto contractTradeOrderDto) {
|
|
public List<ContractTradeOrderInfo> queryContractTradeOrder(ContractTradeOrderDto contractTradeOrderDto) {
|
|
|
log.info("查询贸易合同订单,请求:{}", JSON.toJSONString(contractTradeOrderDto));
|
|
log.info("查询贸易合同订单,请求:{}", JSON.toJSONString(contractTradeOrderDto));
|
|
|
checkParam(contractTradeOrderDto.getGoodsId(), contractTradeOrderDto.getEntId(), contractTradeOrderDto.getEntType());
|
|
checkParam(contractTradeOrderDto.getGoodsId(), contractTradeOrderDto.getEntId(), contractTradeOrderDto.getEntType());
|
|
|
//查询贸易合同企业信息
|
|
//查询贸易合同企业信息
|
|
|
List<KwcContractTradeUnit> tradeUnits = kwcContractTradeUnitRepository.queryByEntIdAndUnitType(contractTradeOrderDto.getEntId(),
|
|
List<KwcContractTradeUnit> tradeUnits = kwcContractTradeUnitRepository.queryByEntIdAndUnitType(contractTradeOrderDto.getEntId(),
|
|
|
contractTradeOrderDto.getEntType());
|
|
contractTradeOrderDto.getEntType());
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isEmpty(tradeUnits)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(tradeUnits)) {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
Map<String, KwcContractTradeUnit> conTractTradeUnitMap =
|
|
Map<String, KwcContractTradeUnit> conTractTradeUnitMap =
|
|
|
tradeUnits.stream().collect(Collectors.toMap(x -> x.getContractId() +
|
|
tradeUnits.stream().collect(Collectors.toMap(x -> x.getContractId() +
|
|
|
- "_" + x.getUnitType(), Function.identity(),
|
|
|
|
|
- (x, y) -> x));
|
|
|
|
|
|
|
+ "_" + x.getUnitType(), Function.identity(),
|
|
|
|
|
+ (x, y) -> x));
|
|
|
Set<Long> contractIds =
|
|
Set<Long> contractIds =
|
|
|
tradeUnits.stream().map(KwcContractTradeUnit::getContractId).collect(Collectors.toSet());
|
|
tradeUnits.stream().map(KwcContractTradeUnit::getContractId).collect(Collectors.toSet());
|
|
|
//查询商品信息
|
|
//查询商品信息
|
|
|
List<KwcContractTradeGoods> kwcContractGoods = kwcContractTradeGoodsRepository.queryByContractIdsAndGoodsId(contractIds,
|
|
List<KwcContractTradeGoods> kwcContractGoods = kwcContractTradeGoodsRepository.queryByContractIdsAndGoodsId(contractIds,
|
|
|
contractTradeOrderDto.getGoodsId());
|
|
contractTradeOrderDto.getGoodsId());
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isEmpty(kwcContractGoods)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(kwcContractGoods)) {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
//只查询已签约的
|
|
//只查询已签约的
|
|
|
Set<Long> contractIdList = kwcContractGoods.stream()
|
|
Set<Long> contractIdList = kwcContractGoods.stream()
|
|
|
- .filter(x->Objects.equals(x.getStatus(), ContractStatusEnum.SIGNED.getCode()))
|
|
|
|
|
|
|
+ .filter(x -> Objects.equals(x.getStatus(), ContractStatusEnum.SIGNED.getCode()))
|
|
|
.map(KwcContractTradeGoods::getContractId)
|
|
.map(KwcContractTradeGoods::getContractId)
|
|
|
.collect(Collectors.toSet());
|
|
.collect(Collectors.toSet());
|
|
|
//查询贸易合同
|
|
//查询贸易合同
|
|
|
List<KwcContractTrade> kwcContractTrades = kwcContractTradeRepository.findByContractIds(contractIdList);
|
|
List<KwcContractTrade> kwcContractTrades = kwcContractTradeRepository.findByContractIds(contractIdList);
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isEmpty(kwcContractTrades)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(kwcContractTrades)) {
|
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
|
}
|
|
}
|
|
|
return kwcContractTrades.stream()
|
|
return kwcContractTrades.stream()
|
|
|
- .map(x-> getContractTradeOrderInfo(x, conTractTradeUnitMap,contractTradeOrderDto.getEntType()))
|
|
|
|
|
|
|
+ .map(x -> getContractTradeOrderInfo(x, conTractTradeUnitMap, contractTradeOrderDto.getEntType()))
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
private static void checkParam(Long contractTradeOrderDto, Long contractTradeOrderDto1, Integer contractTradeOrderDto2) {
|
|
private static void checkParam(Long contractTradeOrderDto, Long contractTradeOrderDto1, Integer contractTradeOrderDto2) {
|
|
|
if (Objects.isNull(contractTradeOrderDto)) {
|
|
if (Objects.isNull(contractTradeOrderDto)) {
|
|
|
throw new BusinessException("商品id不能为空!");
|
|
throw new BusinessException("商品id不能为空!");
|
|
@@ -1879,9 +1896,10 @@ public class KwcContractTradeService {
|
|
|
throw new BusinessException("企业类型不能为空!");
|
|
throw new BusinessException("企业类型不能为空!");
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
@NotNull
|
|
@NotNull
|
|
|
private static ContractTradeOrderInfo getContractTradeOrderInfo(KwcContractTrade c, Map<String,
|
|
private static ContractTradeOrderInfo getContractTradeOrderInfo(KwcContractTrade c, Map<String,
|
|
|
- KwcContractTradeUnit> conTractTradeUnitMap,Integer entType) {
|
|
|
|
|
|
|
+ KwcContractTradeUnit> conTractTradeUnitMap, Integer entType) {
|
|
|
ContractTradeOrderInfo contractTradeOrderInfo = new ContractTradeOrderInfo();
|
|
ContractTradeOrderInfo contractTradeOrderInfo = new ContractTradeOrderInfo();
|
|
|
contractTradeOrderInfo.setId(c.getId());
|
|
contractTradeOrderInfo.setId(c.getId());
|
|
|
KwcContractTradeUnit unit = conTractTradeUnitMap.getOrDefault(c.getId() + "_" + entType,
|
|
KwcContractTradeUnit unit = conTractTradeUnitMap.getOrDefault(c.getId() + "_" + entType,
|
|
@@ -1924,9 +1942,9 @@ public class KwcContractTradeService {
|
|
|
ContractStatusCountResp contractStatusCountResp = new ContractStatusCountResp();
|
|
ContractStatusCountResp contractStatusCountResp = new ContractStatusCountResp();
|
|
|
contractStatusCountResp.setTotalNum("0");
|
|
contractStatusCountResp.setTotalNum("0");
|
|
|
Long entId;
|
|
Long entId;
|
|
|
- if (Objects.nonNull(req.getEntId())){
|
|
|
|
|
- entId =req.getEntId();
|
|
|
|
|
- }else {
|
|
|
|
|
|
|
+ if (Objects.nonNull(req.getEntId())) {
|
|
|
|
|
+ entId = req.getEntId();
|
|
|
|
|
+ } else {
|
|
|
entId = LoginUserHolder.getEntId();
|
|
entId = LoginUserHolder.getEntId();
|
|
|
}
|
|
}
|
|
|
Set<Long> entIds = Sets.newHashSet();
|
|
Set<Long> entIds = Sets.newHashSet();
|
|
@@ -1939,14 +1957,14 @@ public class KwcContractTradeService {
|
|
|
entIds.add(Long.valueOf(req.getSupplyEntId()));
|
|
entIds.add(Long.valueOf(req.getSupplyEntId()));
|
|
|
}
|
|
}
|
|
|
Set<Long> contractIds = null;
|
|
Set<Long> contractIds = null;
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(entIds)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(entIds)) {
|
|
|
List<KwcContractTradeUnit> units = kwcContractTradeUnitRepository.queryByEntIds(entIds);
|
|
List<KwcContractTradeUnit> units = kwcContractTradeUnitRepository.queryByEntIds(entIds);
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(units)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(units)) {
|
|
|
contractIds = units.stream().map(KwcContractTradeUnit::getContractId).collect(Collectors.toSet());
|
|
contractIds = units.stream().map(KwcContractTradeUnit::getContractId).collect(Collectors.toSet());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
if (org.apache.commons.collections4.CollectionUtils.isEmpty(contractIds)
|
|
if (org.apache.commons.collections4.CollectionUtils.isEmpty(contractIds)
|
|
|
- && !org.apache.commons.lang3.StringUtils.isAllBlank(req.getPurchaseEntId(),req.getSupplyEntId())){
|
|
|
|
|
|
|
+ && !org.apache.commons.lang3.StringUtils.isAllBlank(req.getPurchaseEntId(), req.getSupplyEntId())) {
|
|
|
Map<Integer, List<KwcContractTrade>> statusAndLogOrdersMap = new HashMap<>();
|
|
Map<Integer, List<KwcContractTrade>> statusAndLogOrdersMap = new HashMap<>();
|
|
|
List<ContractStatusCountResp.ContractStatusCount> statusCounts = statusEnums.stream()
|
|
List<ContractStatusCountResp.ContractStatusCount> statusCounts = statusEnums.stream()
|
|
|
.map(x -> getContractStatusCount(x, statusAndLogOrdersMap))
|
|
.map(x -> getContractStatusCount(x, statusAndLogOrdersMap))
|
|
@@ -1961,9 +1979,9 @@ public class KwcContractTradeService {
|
|
|
req.getSupplementCode(),
|
|
req.getSupplementCode(),
|
|
|
contractIds, req.getStatus(), 0, 0);
|
|
contractIds, req.getStatus(), 0, 0);
|
|
|
|
|
|
|
|
- // List<KwcContractTrade> kwcContractTrades = kwcContractTradeRepository.queryTradeListByPageList(LoginUserHolder.getEntId());
|
|
|
|
|
|
|
+ // List<KwcContractTrade> kwcContractTrades = kwcContractTradeRepository.queryTradeListByPageList(LoginUserHolder.getEntId());
|
|
|
|
|
|
|
|
- if (CollectionUtils.isEmpty(kwcContractTrades)){
|
|
|
|
|
|
|
+ if (CollectionUtils.isEmpty(kwcContractTrades)) {
|
|
|
Map<Integer, List<KwcContractTrade>> statusAndLogOrdersMap = new HashMap<>();
|
|
Map<Integer, List<KwcContractTrade>> statusAndLogOrdersMap = new HashMap<>();
|
|
|
List<ContractStatusCountResp.ContractStatusCount> statusCounts = statusEnums.stream()
|
|
List<ContractStatusCountResp.ContractStatusCount> statusCounts = statusEnums.stream()
|
|
|
.map(x -> getContractStatusCount(x, statusAndLogOrdersMap))
|
|
.map(x -> getContractStatusCount(x, statusAndLogOrdersMap))
|
|
@@ -1973,45 +1991,45 @@ public class KwcContractTradeService {
|
|
|
}
|
|
}
|
|
|
entIds.addAll(kwcContractTrades.stream().map(KwcContractTrade::getEntId).collect(Collectors.toSet()));
|
|
entIds.addAll(kwcContractTrades.stream().map(KwcContractTrade::getEntId).collect(Collectors.toSet()));
|
|
|
List<EntTypeResDto> ents = remoteSystemService.queryEntTypeByIds(entIds);
|
|
List<EntTypeResDto> ents = remoteSystemService.queryEntTypeByIds(entIds);
|
|
|
- Map<Long, EntTypeResDto> entIdAndEntMap = Maps.newHashMap() ;
|
|
|
|
|
- if (CollectionUtils.isNotEmpty(ents)){
|
|
|
|
|
|
|
+ Map<Long, EntTypeResDto> entIdAndEntMap = Maps.newHashMap();
|
|
|
|
|
+ if (CollectionUtils.isNotEmpty(ents)) {
|
|
|
entIdAndEntMap =
|
|
entIdAndEntMap =
|
|
|
ents.stream().collect(Collectors.toMap(EntTypeResDto::getEntId, Function.identity(), (v1, v2) -> v1));
|
|
ents.stream().collect(Collectors.toMap(EntTypeResDto::getEntId, Function.identity(), (v1, v2) -> v1));
|
|
|
}
|
|
}
|
|
|
//如果登录方是采购方,创建方是提供方,那么采购方只能看到已经签约的合同
|
|
//如果登录方是采购方,创建方是提供方,那么采购方只能看到已经签约的合同
|
|
|
EntTypeResDto entTypeResDto = entIdAndEntMap.getOrDefault(entId, new EntTypeResDto());
|
|
EntTypeResDto entTypeResDto = entIdAndEntMap.getOrDefault(entId, new EntTypeResDto());
|
|
|
//如果登录方是采购商,创建方是供应方,那么采购商只能看到已经签约的合同
|
|
//如果登录方是采购商,创建方是供应方,那么采购商只能看到已经签约的合同
|
|
|
- List<KwcContractTrade> contractTrades = Lists.newArrayList();
|
|
|
|
|
- List<KwcContractTrade> contractTrades1 = Lists.newArrayList();
|
|
|
|
|
- if (entTypeResDto.getType().equals(EntTypeEnum.PURCHASER.getCode())){
|
|
|
|
|
|
|
+ List<KwcContractTrade> contractTrades = Lists.newArrayList();
|
|
|
|
|
+ List<KwcContractTrade> contractTrades1 = Lists.newArrayList();
|
|
|
|
|
+ if (entTypeResDto.getType().equals(EntTypeEnum.PURCHASER.getCode())) {
|
|
|
|
|
|
|
|
List<Integer> statusList = Arrays.asList(ContractStatusEnum.SIGNED.getCode(), ContractStatusEnum.COMPLETE.getCode());
|
|
List<Integer> statusList = Arrays.asList(ContractStatusEnum.SIGNED.getCode(), ContractStatusEnum.COMPLETE.getCode());
|
|
|
Map<Long, EntTypeResDto> finalEntIdAndEntMap1 = entIdAndEntMap;
|
|
Map<Long, EntTypeResDto> finalEntIdAndEntMap1 = entIdAndEntMap;
|
|
|
|
|
|
|
|
kwcContractTrades.forEach(record -> {
|
|
kwcContractTrades.forEach(record -> {
|
|
|
EntTypeResDto orDefault = finalEntIdAndEntMap1.getOrDefault(record.getEntId(), new EntTypeResDto());
|
|
EntTypeResDto orDefault = finalEntIdAndEntMap1.getOrDefault(record.getEntId(), new EntTypeResDto());
|
|
|
- if (Objects.equals(orDefault.getType(),EntTypeEnum.SUPPLIER.getCode()) && statusList.contains(record.getStatus())){
|
|
|
|
|
|
|
+ if (Objects.equals(orDefault.getType(), EntTypeEnum.SUPPLIER.getCode()) && statusList.contains(record.getStatus())) {
|
|
|
contractTrades.add(record);
|
|
contractTrades.add(record);
|
|
|
- }else if (Objects.equals(orDefault.getType(),EntTypeEnum.PURCHASER.getCode())){
|
|
|
|
|
|
|
+ } else if (Objects.equals(orDefault.getType(), EntTypeEnum.PURCHASER.getCode())) {
|
|
|
contractTrades1.add(record);
|
|
contractTrades1.add(record);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
//如果登录方是供应方,创建方是采购方,那么供应方不能看到已作废的 合同
|
|
//如果登录方是供应方,创建方是采购方,那么供应方不能看到已作废的 合同
|
|
|
- if (entTypeResDto.getType().equals(EntTypeEnum.SUPPLIER.getCode())){
|
|
|
|
|
|
|
+ if (entTypeResDto.getType().equals(EntTypeEnum.SUPPLIER.getCode())) {
|
|
|
Map<Long, EntTypeResDto> finalEntIdAndEntMap = entIdAndEntMap;
|
|
Map<Long, EntTypeResDto> finalEntIdAndEntMap = entIdAndEntMap;
|
|
|
kwcContractTrades.forEach(record -> {
|
|
kwcContractTrades.forEach(record -> {
|
|
|
EntTypeResDto orDefault = finalEntIdAndEntMap.getOrDefault(record.getEntId(), new EntTypeResDto());
|
|
EntTypeResDto orDefault = finalEntIdAndEntMap.getOrDefault(record.getEntId(), new EntTypeResDto());
|
|
|
- if (Objects.equals(orDefault.getType(),EntTypeEnum.PURCHASER.getCode()) && !Objects.equals(record.getStatus(),ContractStatusEnum.CANNEL.getCode())){
|
|
|
|
|
|
|
+ if (Objects.equals(orDefault.getType(), EntTypeEnum.PURCHASER.getCode()) && !Objects.equals(record.getStatus(), ContractStatusEnum.CANNEL.getCode())) {
|
|
|
contractTrades.add(record);
|
|
contractTrades.add(record);
|
|
|
- }else if (Objects.equals(orDefault.getType(),EntTypeEnum.SUPPLIER.getCode())){
|
|
|
|
|
|
|
+ } else if (Objects.equals(orDefault.getType(), EntTypeEnum.SUPPLIER.getCode())) {
|
|
|
contractTrades1.add(record);
|
|
contractTrades1.add(record);
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
contractTrades.addAll(contractTrades1);
|
|
contractTrades.addAll(contractTrades1);
|
|
|
kwcContractTrades = contractTrades;
|
|
kwcContractTrades = contractTrades;
|
|
|
- if (org.apache.commons.collections4.CollectionUtils.isEmpty(kwcContractTrades)){
|
|
|
|
|
|
|
+ if (org.apache.commons.collections4.CollectionUtils.isEmpty(kwcContractTrades)) {
|
|
|
Map<Integer, List<KwcContractTrade>> statusAndLogOrdersMap = new HashMap<>();
|
|
Map<Integer, List<KwcContractTrade>> statusAndLogOrdersMap = new HashMap<>();
|
|
|
List<ContractStatusCountResp.ContractStatusCount> statusCounts = statusEnums.stream()
|
|
List<ContractStatusCountResp.ContractStatusCount> statusCounts = statusEnums.stream()
|
|
|
.map(x -> getContractStatusCount(x, statusAndLogOrdersMap))
|
|
.map(x -> getContractStatusCount(x, statusAndLogOrdersMap))
|
|
@@ -2040,4 +2058,8 @@ public class KwcContractTradeService {
|
|
|
contractStatusCount.setOrderNum(String.valueOf(finalStatusAndLogOrdersMap1.getOrDefault(x.getCode(), new ArrayList<>()).size()));
|
|
contractStatusCount.setOrderNum(String.valueOf(finalStatusAndLogOrdersMap1.getOrDefault(x.getCode(), new ArrayList<>()).size()));
|
|
|
return contractStatusCount;
|
|
return contractStatusCount;
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
|
|
+
|
|
|
|
|
+ public List<Long> queryTradeContractInfo(Long contractId) {
|
|
|
|
|
+ return kwcContractTradeMapper.selectByContract(contractId);
|
|
|
|
|
+ }
|
|
|
|
|
+}
|