|
|
@@ -21,6 +21,7 @@ import com.sckw.core.model.enums.CooperateTypeEnum;
|
|
|
import com.sckw.core.model.enums.OrderRuleEnum;
|
|
|
import com.sckw.core.model.enums.RedisOrderGenerateEnum;
|
|
|
import com.sckw.core.model.page.PageRes;
|
|
|
+import com.sckw.core.model.page.PageResult;
|
|
|
import com.sckw.core.model.vo.TableBottom;
|
|
|
import com.sckw.core.model.vo.TableStatisticRes;
|
|
|
import com.sckw.core.model.vo.TableTop;
|
|
|
@@ -143,7 +144,7 @@ public class KwoTradeOrderService {
|
|
|
.setUnit(Objects.nonNull(param.getGoodsInfo()) ? param.getGoodsInfo().getUnit() : null)
|
|
|
.setSource(OrderSourceEnum.PURCHASE.getType()).setStatus(OrderStatusEnum.SAVED.getCode());
|
|
|
kwoTradeOrderMapper.insert(order);
|
|
|
- addOtherOrderInfo(order, BeanUtil.copyProperties(param, ValetOrderParam.class), false);
|
|
|
+ addOtherOrderInfo(order, BeanUtil.copyProperties(param, ValetOrderParam.class), false, true);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -155,7 +156,7 @@ public class KwoTradeOrderService {
|
|
|
* @Param isUpdate:
|
|
|
* @return: void
|
|
|
*/
|
|
|
- private void addOtherOrderInfo(KwoTradeOrder tradeOrder, ValetOrderParam param, Boolean isUpdate) {
|
|
|
+ private void addOtherOrderInfo(KwoTradeOrder tradeOrder, ValetOrderParam param, Boolean isUpdate, boolean isDraft) {
|
|
|
Long id = tradeOrder.getId();
|
|
|
String tOrderNo = tradeOrder.getTOrderNo();
|
|
|
SckwTradeOrder order = new SckwTradeOrder();
|
|
|
@@ -164,10 +165,10 @@ public class KwoTradeOrderService {
|
|
|
.setUpdateByName(LoginUserHolder.getUserName())
|
|
|
.setTOrderId(id)
|
|
|
.setAssociateStatement(0)
|
|
|
- .setPrice(Objects.isNull(tradeOrder.getPrice())?null:tradeOrder.getPrice().doubleValue())
|
|
|
- .setAmount(Objects.isNull(tradeOrder.getAmount())?null:tradeOrder.getAmount().doubleValue())
|
|
|
- .setEntrustAmount(Objects.isNull(tradeOrder.getEntrustAmount())?null:tradeOrder.getEntrustAmount().doubleValue())
|
|
|
- .setActualAmount(Objects.isNull(tradeOrder.getActualAmount())?null:tradeOrder.getActualAmount().doubleValue());
|
|
|
+ .setPrice(Objects.isNull(tradeOrder.getPrice()) ? null : tradeOrder.getPrice().doubleValue())
|
|
|
+ .setAmount(Objects.isNull(tradeOrder.getAmount()) ? null : tradeOrder.getAmount().doubleValue())
|
|
|
+ .setEntrustAmount(Objects.isNull(tradeOrder.getEntrustAmount()) ? null : tradeOrder.getEntrustAmount().doubleValue())
|
|
|
+ .setActualAmount(Objects.isNull(tradeOrder.getActualAmount()) ? null : tradeOrder.getActualAmount().doubleValue());
|
|
|
|
|
|
BeanUtil.copyProperties(tradeOrder, order);
|
|
|
|
|
|
@@ -241,25 +242,27 @@ public class KwoTradeOrderService {
|
|
|
List<AddressInfo> addressInfos = param.getAddressInfo();
|
|
|
if (CollUtil.isNotEmpty(addressInfos)) {
|
|
|
BigDecimal amount = Objects.isNull(param.getAmount()) ? BigDecimal.ZERO : param.getAmount();
|
|
|
- BigDecimal totalLoadAmount = BigDecimal.ZERO;
|
|
|
- BigDecimal totalUnloadAmount = BigDecimal.ZERO;
|
|
|
- boolean loadFlag = false;
|
|
|
- boolean unloadFlag = false;
|
|
|
- for (AddressInfo e : addressInfos) {
|
|
|
- BigDecimal addressAmount = Objects.isNull(e.getAmount()) ? BigDecimal.ZERO : e.getAmount();
|
|
|
- if (Objects.equals(e.getAddressType(), OrderAddressTypeEnum.LOAD.getType())) {
|
|
|
- totalLoadAmount = totalLoadAmount.add(addressAmount);
|
|
|
- loadFlag = true;
|
|
|
- } else {
|
|
|
- totalUnloadAmount = totalUnloadAmount.add(addressAmount);
|
|
|
- unloadFlag = true;
|
|
|
+ if (!isDraft) {
|
|
|
+ BigDecimal totalLoadAmount = BigDecimal.ZERO;
|
|
|
+ BigDecimal totalUnloadAmount = BigDecimal.ZERO;
|
|
|
+ boolean loadFlag = false;
|
|
|
+ boolean unloadFlag = false;
|
|
|
+ for (AddressInfo e : addressInfos) {
|
|
|
+ BigDecimal addressAmount = Objects.isNull(e.getAmount()) ? BigDecimal.ZERO : e.getAmount();
|
|
|
+ if (Objects.equals(e.getAddressType(), OrderAddressTypeEnum.LOAD.getType())) {
|
|
|
+ totalLoadAmount = totalLoadAmount.add(addressAmount);
|
|
|
+ loadFlag = true;
|
|
|
+ } else {
|
|
|
+ totalUnloadAmount = totalUnloadAmount.add(addressAmount);
|
|
|
+ unloadFlag = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (loadFlag && totalLoadAmount.compareTo(amount) != 0) {
|
|
|
+ throw new BusinessException("装货分配量总量与订单总量不符!");
|
|
|
+ }
|
|
|
+ if (unloadFlag && totalUnloadAmount.compareTo(amount) != 0) {
|
|
|
+ throw new BusinessException("卸货分配量总量与订单总量不符!");
|
|
|
}
|
|
|
- }
|
|
|
- if (loadFlag && totalLoadAmount.compareTo(amount) != 0) {
|
|
|
- throw new BusinessException("装货分配量总量与订单总量不符!");
|
|
|
- }
|
|
|
- if (unloadFlag && totalUnloadAmount.compareTo(amount) != 0) {
|
|
|
- throw new BusinessException("卸货分配量总量与订单总量不符!");
|
|
|
}
|
|
|
AtomicInteger loadSort = new AtomicInteger(0);
|
|
|
AtomicInteger unloadSort = new AtomicInteger(0);
|
|
|
@@ -342,7 +345,7 @@ public class KwoTradeOrderService {
|
|
|
.setUnit(Objects.nonNull(param.getGoodsInfo()) ? param.getGoodsInfo().getUnit() : null)
|
|
|
.setSource(OrderSourceEnum.SALE.getType()).setStatus(OrderStatusEnum.SAVED.getCode());
|
|
|
kwoTradeOrderMapper.insert(order);
|
|
|
- addOtherOrderInfo(order, BeanUtil.copyProperties(param, ValetOrderParam.class), false);
|
|
|
+ addOtherOrderInfo(order, BeanUtil.copyProperties(param, ValetOrderParam.class), false, true);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -377,7 +380,7 @@ public class KwoTradeOrderService {
|
|
|
throw new BusinessException(updateResult.getMsg());
|
|
|
}
|
|
|
//添加订单其他信息
|
|
|
- addOtherOrderInfo(order, BeanUtil.copyProperties(param, ValetOrderParam.class), false);
|
|
|
+ addOtherOrderInfo(order, BeanUtil.copyProperties(param, ValetOrderParam.class), false, false);
|
|
|
//发送消息提醒
|
|
|
submitOrderSendMsg(orderCheck, order.getTOrderNo());
|
|
|
}
|
|
|
@@ -591,7 +594,7 @@ public class KwoTradeOrderService {
|
|
|
throw new BusinessException(freezeResult.getMsg());
|
|
|
}
|
|
|
}
|
|
|
- addOtherOrderInfo(order, BeanUtil.copyProperties(param, ValetOrderParam.class), false);
|
|
|
+ addOtherOrderInfo(order, BeanUtil.copyProperties(param, ValetOrderParam.class), false, false);
|
|
|
//发送消息提醒
|
|
|
submitOrderSendMsg(orderCheck, order.getTOrderNo());
|
|
|
}
|
|
|
@@ -895,7 +898,7 @@ public class KwoTradeOrderService {
|
|
|
kwoTradeOrderMapper.update(null, wrapper);
|
|
|
ValetOrderParam valetOrderParam = BeanUtil.copyProperties(param, ValetOrderParam.class);
|
|
|
|
|
|
- addOtherOrderInfo(order, valetOrderParam, true);
|
|
|
+ addOtherOrderInfo(order, valetOrderParam, true, false);
|
|
|
//订单提交发送提醒消息
|
|
|
if (Objects.equals(param.getOperateType(), 1)) {
|
|
|
submitOrderSendMsg(orderCheck, order.getTOrderNo());
|
|
|
@@ -1577,6 +1580,13 @@ public class KwoTradeOrderService {
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @param params
|
|
|
+ * @return com.sckw.core.model.page.PageRes
|
|
|
+ * @desc 贸易订单列表分页查询
|
|
|
+ * @author yzc
|
|
|
+ * @date 2024/3/15 8:51
|
|
|
+ */
|
|
|
public PageRes tradeOrderSelect(TradeOrderListSelectParam params) {
|
|
|
TradeOrderListSelectDTO dto = buildSelectParam(params);
|
|
|
PageHelper.startPage(params.getPage(), params.getPageSize());
|
|
|
@@ -1588,10 +1598,13 @@ public class KwoTradeOrderService {
|
|
|
}
|
|
|
List<Long> goodIdList = new ArrayList<>();
|
|
|
List<Long> contracIdList = new ArrayList<>();
|
|
|
+ List<Long> createByIds = new ArrayList<>();
|
|
|
list.forEach(e -> {
|
|
|
goodIdList.add(e.getGoodsId());
|
|
|
contracIdList.add(e.getContractId());
|
|
|
+ createByIds.add(e.getCreateBy());
|
|
|
});
|
|
|
+ Map<Long, UserCacheResDto> userMap = remoteSystemService.queryUserCacheMapByIds(createByIds);
|
|
|
Map<Long, KwpGoods> goodsMap = goodsInfoService.getGoodsByIds(goodIdList);
|
|
|
Map<Long, ContractCommonInfoResDto> contractMap = remoteContractService.queryContractBaseInfo(contracIdList);
|
|
|
Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(
|
|
|
@@ -1642,39 +1655,48 @@ public class KwoTradeOrderService {
|
|
|
});
|
|
|
vo.setLoadAddresses(unloadList);
|
|
|
}
|
|
|
- BigDecimal actualAmount = Objects.isNull(vo.getActualAmount()) ? BigDecimal.ZERO : vo.getActualAmount();
|
|
|
- BigDecimal unitPrice = Objects.isNull(vo.getUnitPrice()) ? BigDecimal.ZERO : vo.getUnitPrice();
|
|
|
- KwpGoods goods = goodsMap.get(vo.getGoodsId());
|
|
|
- ContractCommonInfoResDto contract = contractMap.get(vo.getContractId());
|
|
|
- vo.setStatusLabel(statusMap.get(String.valueOf(vo.getStatus())))
|
|
|
- .setTradingLabel(tradeMap.get(vo.getTrading()))
|
|
|
- .setTrading(tradeMap.get(vo.getTrading()))
|
|
|
- .setDeliveryTypeLabel(deliveryMap.get(vo.getDeliveryType()))
|
|
|
- .setDeliveryType(deliveryMap.get(vo.getDeliveryType()))
|
|
|
- .setPickupTypeLabel(pickupMap.get(vo.getPickupType()))
|
|
|
- .setSourceLabel(sourceMap.get(vo.getSource()))
|
|
|
- .setSource(sourceMap.get(vo.getSource()))
|
|
|
+ BigDecimal actualAmount = Objects.isNull(e.getActualAmount()) ? BigDecimal.ZERO : e.getActualAmount();
|
|
|
+ BigDecimal unitPrice = Objects.isNull(e.getUnitPrice()) ? BigDecimal.ZERO : e.getUnitPrice();
|
|
|
+ KwpGoods goods = goodsMap.get(e.getGoodsId());
|
|
|
+ ContractCommonInfoResDto contract = contractMap.get(e.getContractId());
|
|
|
+ UserCacheResDto userCache = userMap.get(e.getCreateBy());
|
|
|
+ vo.setStatusLabel(statusMap.get(String.valueOf(e.getStatus())))
|
|
|
+ .setTradingLabel(tradeMap.get(e.getTrading()))
|
|
|
+ .setTrading(tradeMap.get(e.getTrading()))
|
|
|
+ .setDeliveryTypeLabel(deliveryMap.get(e.getDeliveryType()))
|
|
|
+ .setDeliveryType(deliveryMap.get(e.getDeliveryType()))
|
|
|
+ .setPickupTypeLabel(pickupMap.get(e.getPickupType()))
|
|
|
+ .setSourceLabel(sourceMap.get(e.getSource()))
|
|
|
+ .setSource(sourceMap.get(e.getSource()))
|
|
|
.setContractName(Objects.isNull(contract) ? null : contract.getContactName())
|
|
|
.setContractSigningWay(Objects.isNull(contract) ? null : contract.getSigningWayName())
|
|
|
.setGoodsName(Objects.isNull(goods) ? null : goods.getName())
|
|
|
.setGoodsSpec(Objects.isNull(goods) ? null : goods.getSpec())
|
|
|
.setGoodsTaxRate(Objects.isNull(goods) ? null : goods.getTaxRate())
|
|
|
.setGoodsThumb(Objects.isNull(goods) ? null : goods.getThumb())
|
|
|
- .setWaitEntrustAmount(setScale(getWaitEntrustAmount(vo.getAmount(), vo.getEntrustAmount())))
|
|
|
+ .setWaitEntrustAmount(setScale(getWaitEntrustAmount(e.getAmount(), e.getEntrustAmount())))
|
|
|
.setActualPrice(actualAmount.multiply(unitPrice).setScale(2, RoundingMode.HALF_UP))
|
|
|
- .setUnitPrice(setScale(vo.getUnitPrice()))
|
|
|
- .setPrice(setScale(vo.getPrice()))
|
|
|
- .setUnit(vo.getUnit())
|
|
|
- .setUnitLabel(unitType == null ? vo.getUnit() : (unitType.get(vo.getUnit()) == null ? vo.getUnit() : unitType.get(vo.getUnit()).getLabel()))
|
|
|
+ .setUnitPrice(setScale(e.getUnitPrice()))
|
|
|
+ .setPrice(setScale(e.getPrice()))
|
|
|
+ .setUnit(e.getUnit())
|
|
|
+ .setUnitLabel(unitType == null ? e.getUnit() : (unitType.get(e.getUnit()) == null ? e.getUnit() : unitType.get(e.getUnit()).getLabel()))
|
|
|
.setAmount(setScale(vo.getAmount()))
|
|
|
- .setEntrustAmount(setScale(vo.getEntrustAmount()))
|
|
|
- .setActualAmount(setScale(vo.getActualAmount()));
|
|
|
+ .setEntrustAmount(setScale(e.getEntrustAmount()))
|
|
|
+ .setActualAmount(setScale(e.getActualAmount()))
|
|
|
+ .setCreateByName(Objects.isNull(userCache) ? null : userCache.getName());
|
|
|
result.add(vo);
|
|
|
});
|
|
|
PageInfo<OrderListResVO> pageInfo = new PageInfo<>(result);
|
|
|
return PageRes.build(pageInfo, result);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @param params
|
|
|
+ * @return com.sckw.order.model.dto.TradeOrderListSelectDTO
|
|
|
+ * @desc 构建贸易订单列表请求参数
|
|
|
+ * @author yzc
|
|
|
+ * @date 2024/3/15 8:52
|
|
|
+ */
|
|
|
private TradeOrderListSelectDTO buildSelectParam(TradeOrderListStatisticParam params) {
|
|
|
TradeOrderListSelectDTO dto = BeanUtil.copyProperties(params, TradeOrderListSelectDTO.class);
|
|
|
dto.setEntId(LoginUserHolder.getEntId())
|
|
|
@@ -1738,6 +1760,13 @@ public class KwoTradeOrderService {
|
|
|
return amount.subtract(entrustAmount);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @param params
|
|
|
+ * @return com.sckw.core.model.vo.TableStatisticRes
|
|
|
+ * @desc 贸易订单列表统计
|
|
|
+ * @author yzc
|
|
|
+ * @date 2024/3/15 8:52
|
|
|
+ */
|
|
|
public TableStatisticRes tradeOrderStatistic(TradeOrderListStatisticParam params) {
|
|
|
TableStatisticRes res = new TableStatisticRes();
|
|
|
TradeOrderListSelectDTO dto = buildSelectParam(params);
|
|
|
@@ -1767,21 +1796,175 @@ public class KwoTradeOrderService {
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
- public String appStatistic(TradeOrderAppStatisticParam params) {
|
|
|
-
|
|
|
- return null;
|
|
|
+ /**
|
|
|
+ * @desc: app主界面贸易订单统计
|
|
|
+ * @author: yzc
|
|
|
+ * @date: 2023-08-21 17:39
|
|
|
+ * @Param params:
|
|
|
+ * @return: java.util.List<com.sckw.order.model.vo.res.TradeOrderAppStatisticVO>
|
|
|
+ */
|
|
|
+ public List<TradeOrderAppStatisticVO> appStatistic(TradeOrderAppStatisticParam params) {
|
|
|
+ TradeOrderAppStatisticParamDTO dto = new TradeOrderAppStatisticParamDTO();
|
|
|
+ dto.setOrderType(params.getOrderType())
|
|
|
+ .setIsMain(LoginUserHolder.getIsMain())
|
|
|
+ .setEntId(LoginUserHolder.getEntId());
|
|
|
+ List<Integer> statuses = Arrays.asList(1, 4, 5, 7);
|
|
|
+ List<Long> authUserIds = LoginUserHolder.getAuthUserIdList();
|
|
|
+ List<TradeOrderAppStatisticVO> tableTops = kwoTradeOrderMapper.appStatistic(dto, statuses, authUserIds);
|
|
|
+ Map<Integer, Integer> map = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
+ if (CollUtil.isNotEmpty(tableTops)) {
|
|
|
+ map = tableTops.stream().collect(Collectors.toMap
|
|
|
+ (TradeOrderAppStatisticVO::getValue, TradeOrderAppStatisticVO::getTotal, (k1, k2) -> k2));
|
|
|
+ }
|
|
|
+ List<TradeOrderAppStatisticVO> statistics = new ArrayList<>();
|
|
|
+ for (Integer e : statuses) {
|
|
|
+ int total = Objects.isNull(map.get(e)) ? 0 : map.get(e);
|
|
|
+ TradeOrderAppStatisticVO statistic = new TradeOrderAppStatisticVO();
|
|
|
+ statistic.setValue(e).setTotal(total);
|
|
|
+ statistics.add(statistic);
|
|
|
+ }
|
|
|
+ return statistics;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @desc: 贸易订单列表导出
|
|
|
+ * @author: yzc
|
|
|
+ * @date: 2023-07-17 18:05
|
|
|
+ * @Param params:
|
|
|
+ * @return: java.util.List<com.sckw.report.service.param.TradeOrderListExport>
|
|
|
+ */
|
|
|
public List<TradeOrderListExport> export(TradeOrderListExportParam params) {
|
|
|
-
|
|
|
- return null;
|
|
|
+ TradeOrderListSelectDTO dto = new TradeOrderListSelectDTO();
|
|
|
+ List<Long> ids = new ArrayList<>();
|
|
|
+ if (StringUtils.isNotBlank(params.getIds())) {
|
|
|
+ ids = StringUtils.splitStrToList(params.getIds(), ",", Long.class);
|
|
|
+ dto.setEntId(LoginUserHolder.getEntId()).setOrderType(params.getOrderType());
|
|
|
+ } else {
|
|
|
+ dto = buildSelectParam(params);
|
|
|
+ }
|
|
|
+ List<OrderListResDTO> orders = kwoTradeOrderMapper.tradeOrderExport(dto, dto.getGoodIds(), LoginUserHolder.getAuthUserIdList(), ids);
|
|
|
+ if (CollUtil.isEmpty(orders)) {
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+ Map<String, Map<String, String>> dict = remoteSystemService.queryDictByType(List.of(
|
|
|
+ DictTypeEnum.TORDER_STATUS.getType(), DictTypeEnum.PICKUP_TYPE.getType(), DictTypeEnum.DELIVERY_TYPE.getType(),
|
|
|
+ DictTypeEnum.TORDER_SOURCE.getType(), DictTypeEnum.TRADE_TYPE.getType()));
|
|
|
+ Map<String, String> statusMap, pickupMap, deliveryMap, sourceMap, tradeMap;
|
|
|
+ if (CollUtil.isNotEmpty(dict)) {
|
|
|
+ statusMap = CollUtil.isNotEmpty(dict.get(DictTypeEnum.TORDER_STATUS.getType())) ?
|
|
|
+ dict.get(DictTypeEnum.TORDER_STATUS.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
+ pickupMap = CollUtil.isNotEmpty(dict.get(DictTypeEnum.PICKUP_TYPE.getType())) ?
|
|
|
+ dict.get(DictTypeEnum.PICKUP_TYPE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
+ deliveryMap = CollUtil.isNotEmpty(dict.get(DictTypeEnum.DELIVERY_TYPE.getType())) ?
|
|
|
+ dict.get(DictTypeEnum.DELIVERY_TYPE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
+ sourceMap = CollUtil.isNotEmpty(dict.get(DictTypeEnum.TORDER_SOURCE.getType())) ?
|
|
|
+ dict.get(DictTypeEnum.TORDER_SOURCE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
+ tradeMap = CollUtil.isNotEmpty(dict.get(DictTypeEnum.TRADE_TYPE.getType())) ?
|
|
|
+ dict.get(DictTypeEnum.TRADE_TYPE.getType()) : new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
+ } else {
|
|
|
+ statusMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
+ pickupMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
+ deliveryMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
+ sourceMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
+ tradeMap = new HashMap<>(Global.NUMERICAL_SIXTEEN);
|
|
|
+ }
|
|
|
+ List<Long> goodIdList = new ArrayList<>();
|
|
|
+ List<Long> contracIdList = new ArrayList<>();
|
|
|
+ List<Long> createByIds = new ArrayList<>();
|
|
|
+ orders.forEach(e -> {
|
|
|
+ goodIdList.add(e.getGoodsId());
|
|
|
+ contracIdList.add(e.getContractId());
|
|
|
+ createByIds.add(e.getCreateBy());
|
|
|
+ });
|
|
|
+ Map<Long, UserCacheResDto> userMap = remoteSystemService.queryUserCacheMapByIds(createByIds);
|
|
|
+ Map<Long, KwpGoods> goodsMap = goodsInfoService.getGoodsByIds(goodIdList);
|
|
|
+ Map<Long, ContractCommonInfoResDto> contractMap = remoteContractService.queryContractBaseInfo(contracIdList);
|
|
|
+ List<TradeOrderListExport> list = new ArrayList<>();
|
|
|
+ orders.forEach(e -> {
|
|
|
+ TradeOrderListExport vo = BeanUtil.copyProperties(e, TradeOrderListExport.class);
|
|
|
+ List<LoadAddressDTO> loadAddresses = e.getLoadAddresses();
|
|
|
+ if (CollUtil.isNotEmpty(loadAddresses)) {
|
|
|
+ StringBuilder loadName = new StringBuilder();
|
|
|
+ StringBuilder loadDetailAddressInfo = new StringBuilder();
|
|
|
+ for (int i = 0; i < loadAddresses.size(); i++) {
|
|
|
+ LoadAddressDTO l = loadAddresses.get(i);
|
|
|
+ if (i != loadAddresses.size() - 1) {
|
|
|
+ loadName.append(l.getLoadName()).append(",");
|
|
|
+ loadDetailAddressInfo.append(l.getLoadCityName()).append(l.getLoadDetailAddress()).append(",");
|
|
|
+ } else {
|
|
|
+ loadName.append(l.getLoadName());
|
|
|
+ loadDetailAddressInfo.append(l.getLoadCityName()).append(l.getLoadDetailAddress());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ vo.setLoadName(loadName.toString()).setLoadDetailAddressInfo(loadDetailAddressInfo.toString());
|
|
|
+ }
|
|
|
+ List<UnloadAddressDTO> unloadAddresses = e.getUnloadAddresses();
|
|
|
+ if (CollUtil.isNotEmpty(unloadAddresses)) {
|
|
|
+ StringBuilder unloadName = new StringBuilder();
|
|
|
+ StringBuilder unloadDetailAddressInfo = new StringBuilder();
|
|
|
+ for (int i = 0; i < unloadAddresses.size(); i++) {
|
|
|
+ UnloadAddressDTO ul = unloadAddresses.get(i);
|
|
|
+ if (i != unloadAddresses.size() - 1) {
|
|
|
+ unloadName.append(ul.getUnloadName()).append(",");
|
|
|
+ unloadDetailAddressInfo.append(ul.getUnloadCityName()).append(ul.getUnloadDetailAddress()).append(",");
|
|
|
+ } else {
|
|
|
+ unloadName.append(ul.getUnloadName());
|
|
|
+ unloadDetailAddressInfo.append(ul.getUnloadCityName()).append(ul.getUnloadDetailAddress());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ vo.setUnloadName(unloadName.toString()).setUnloadDetailAddressInfo(unloadDetailAddressInfo.toString());
|
|
|
+ }
|
|
|
+ KwpGoods goods = goodsMap.get(e.getGoodsId());
|
|
|
+ ContractCommonInfoResDto contract = contractMap.get(e.getContractId());
|
|
|
+ UserCacheResDto userCache = userMap.get(e.getCreateBy());
|
|
|
+ BigDecimal waitEntrustAmount = getWaitEntrustAmount(e.getAmount(), e.getEntrustAmount());
|
|
|
+ vo.setStatus(statusMap.get(String.valueOf(vo.getStatus())))
|
|
|
+ .setGoodsName(Objects.isNull(goods) ? null : goods.getName())
|
|
|
+ .setGoodsSpec(Objects.isNull(goods) ? null : goods.getSpec())
|
|
|
+ .setUnitPrice(String.valueOf(setScale(e.getUnitPrice())))
|
|
|
+ .setAmount(String.valueOf(setScale(e.getAmount())))
|
|
|
+ .setPrice(String.valueOf(setScale(e.getPrice())))
|
|
|
+ .setGoodsTaxRate(Objects.isNull(goods) ? null : goods.getTaxRate())
|
|
|
+ .setEntrustAmount(String.valueOf(setScale(e.getEntrustAmount())))
|
|
|
+ .setActualAmount(String.valueOf(setScale(e.getActualAmount())))
|
|
|
+ .setWaitEntrustAmount(String.valueOf(setScale(waitEntrustAmount)))
|
|
|
+ .setPickupType(pickupMap.get(e.getPickupType()))
|
|
|
+ .setDeliveryType(deliveryMap.get(e.getDeliveryType()))
|
|
|
+ .setSource(sourceMap.get(e.getSource()))
|
|
|
+ .setTrading(tradeMap.get(e.getTrading()))
|
|
|
+ .setStartTime(Objects.isNull(e.getStartTime()) ? null : e.getStartTime().toString())
|
|
|
+ .setEndTime(Objects.isNull(e.getEndTime()) ? null : e.getEndTime().toString())
|
|
|
+ .setContractSigningWay(Objects.isNull(contract) ? null : contract.getSigningWayName())
|
|
|
+ .setCreateByName(Objects.isNull(userCache) ? null : userCache.getName())
|
|
|
+ .setCreateTime(com.sckw.excel.utils.DateUtil.getDateTime(e.getCreateTime()));
|
|
|
+ list.add(vo);
|
|
|
+ });
|
|
|
+ return list;
|
|
|
}
|
|
|
|
|
|
- public String tradeOrderStatementList(TradeOrderStatementList params) {
|
|
|
+ /**
|
|
|
+ * @desc: 贸易订单对账单分页列表查询
|
|
|
+ * @author: yzc
|
|
|
+ * @date: 2023-07-20 15:03
|
|
|
+ * @Param params:
|
|
|
+ * @return: com.sckw.core.model.page.PageResult
|
|
|
+ */
|
|
|
+ public PageResult tradeOrderStatementList(TradeOrderStatementList params) {
|
|
|
+
|
|
|
+
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @desc: 合同关联订单列表
|
|
|
+ * @author: yzc
|
|
|
+ * @date: 2023-07-27 17:05
|
|
|
+ * @Param params:
|
|
|
+ * @return: com.sckw.core.model.page.PageResult
|
|
|
+ */
|
|
|
public String tradeOrderContractList(TradeOrderContractParam params) {
|
|
|
+
|
|
|
+
|
|
|
return null;
|
|
|
}
|
|
|
}
|