|
|
@@ -0,0 +1,370 @@
|
|
|
+package com.sckw.freight.service.freight.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.sckw.freight.entity.freight.KwpLedgerLogistics;
|
|
|
+import com.sckw.freight.entity.freight.KwpLedgerLogisticsOrder;
|
|
|
+import com.sckw.freight.entity.freight.KwpLedgerLogisticsTrack;
|
|
|
+import com.sckw.freight.entity.kll.KllOrder;
|
|
|
+import com.sckw.freight.entity.kll.KllOrderTask;
|
|
|
+import com.sckw.freight.mapper.freight.KwpLedgerLogisticsMapper;
|
|
|
+import com.sckw.freight.mapper.kll.KllOrderTaskMapper;
|
|
|
+import com.sckw.freight.model.enums.*;
|
|
|
+import com.sckw.freight.model.vo.request.RequestLedgerLogisticsPageInfo;
|
|
|
+import com.sckw.freight.model.vo.request.RequestSaveLedgerLogisticsInfo;
|
|
|
+import com.sckw.freight.model.vo.response.ResponseKllOrderTask;
|
|
|
+import com.sckw.freight.model.vo.response.ResponseLedgerLogistics;
|
|
|
+import com.sckw.freight.model.vo.response.ResponsePageData;
|
|
|
+import com.sckw.freight.service.freight.IKwpLedgerLogisticsOrderService;
|
|
|
+import com.sckw.freight.service.freight.IKwpLedgerLogisticsService;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.sckw.freight.service.freight.IKwpLedgerLogisticsTrackService;
|
|
|
+import com.sckw.freight.service.kll.IKllOrderService;
|
|
|
+import com.sckw.freight.util.DateTimeUtil;
|
|
|
+import com.sckw.freight.util.R;
|
|
|
+import com.sckw.freight.util.SnowflakeIdUtil;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+import org.jetbrains.annotations.NotNull;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.time.LocalDateTime;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 对账-物流订单 服务实现类
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author xj
|
|
|
+ * @since 2025-01-09
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class KwpLedgerLogisticsServiceImpl extends ServiceImpl<KwpLedgerLogisticsMapper, KwpLedgerLogistics> implements IKwpLedgerLogisticsService {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ IKllOrderService iKllOrderService;
|
|
|
+ @Autowired
|
|
|
+ IKwpLedgerLogisticsOrderService iKwpLedgerLogisticsOrderService;
|
|
|
+ @Autowired
|
|
|
+ IKwpLedgerLogisticsTrackService iKwpLedgerLogisticsTrackService;
|
|
|
+ @Autowired
|
|
|
+ KwpLedgerLogisticsMapper kwpLedgerLogisticsMapper;
|
|
|
+ @Autowired
|
|
|
+ KllOrderTaskMapper kllOrderTaskMapper;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根骨对账单id查询运单
|
|
|
+ *
|
|
|
+ * @param ledgerLogisticsId 对账单id
|
|
|
+ * @param entId 企业id
|
|
|
+ * @return R<List < ResponseKllOrderTask>>
|
|
|
+ * @author xj
|
|
|
+ * @since 2025-01-09
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public R<List<ResponseKllOrderTask>> queryOrderTaskListByLedgerLogisticsId(Long ledgerLogisticsId, Long entId) {
|
|
|
+ /**
|
|
|
+ * 1:查对账单 下的订单
|
|
|
+ * 2:查所有订单id下的所有运单
|
|
|
+ */
|
|
|
+ LambdaQueryWrapper<KwpLedgerLogistics> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(KwpLedgerLogistics::getId, ledgerLogisticsId);
|
|
|
+ wrapper.eq(KwpLedgerLogistics::getEntId, entId);
|
|
|
+ List<KwpLedgerLogistics> records = kwpLedgerLogisticsMapper.selectList(wrapper);
|
|
|
+ if (records == null) records = new ArrayList<>();
|
|
|
+ //查对账单 下的订单
|
|
|
+ LambdaQueryWrapper<KwpLedgerLogisticsOrder> wrapper1 = new LambdaQueryWrapper<>();
|
|
|
+ wrapper1.in(KwpLedgerLogisticsOrder::getLLedgerId, records.stream().map(KwpLedgerLogistics::getId).collect(Collectors.toList()));
|
|
|
+ List<KwpLedgerLogisticsOrder> orders = iKwpLedgerLogisticsOrderService.list(wrapper1);
|
|
|
+ if (orders == null) orders = new ArrayList<>();
|
|
|
+
|
|
|
+ //查询运单
|
|
|
+ LambdaQueryWrapper<KllOrderTask> wrapperOrderTask = new LambdaQueryWrapper<>();
|
|
|
+ wrapperOrderTask.in(KllOrderTask::getOrderId, orders.stream().map(order -> {
|
|
|
+ return order.getId().intValue();
|
|
|
+ }).collect(Collectors.toList()));
|
|
|
+
|
|
|
+ List<KllOrderTask> tasks = kllOrderTaskMapper.selectList(wrapperOrderTask);
|
|
|
+ //组装数据
|
|
|
+ List<ResponseKllOrderTask> responseKllOrderTasks = tasks.stream().map(task -> {
|
|
|
+ ResponseKllOrderTask orderTask = new ResponseKllOrderTask();
|
|
|
+ orderTask.setId(task.getId().intValue());
|
|
|
+ orderTask.setTaskNo(task.getTaskNo());
|
|
|
+ orderTask.setOrderId(task.getOrderId().intValue());
|
|
|
+ orderTask.setLogisticId(task.getLogisticId().intValue());
|
|
|
+ orderTask.setTruckLicensePlate(task.getTruckLicensePlate());
|
|
|
+ orderTask.setDriverId(task.getDriverId().intValue());
|
|
|
+ orderTask.setDriverName(task.getDriverName());
|
|
|
+ orderTask.setDriverPhone(task.getDriverPhone());
|
|
|
+ orderTask.setFirstWeight(task.getFirstWeight());
|
|
|
+ orderTask.setSecondWeight(task.getSecondWeight());
|
|
|
+ return orderTask;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+
|
|
|
+ return R.ok(responseKllOrderTasks);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询对账-物流订单
|
|
|
+ *
|
|
|
+ * @param requestPageInfo 查询对账-物流订单参数
|
|
|
+ * @return R<List < ResponseLedgerLogistics>>
|
|
|
+ * @author xj
|
|
|
+ * @since 2025-01-09
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public R<ResponsePageData<ResponseLedgerLogistics>> queryLedgerLogistics(RequestLedgerLogisticsPageInfo requestPageInfo) {
|
|
|
+ /**
|
|
|
+ * 1:按照条件分页查询对账单
|
|
|
+ * 2:查询运单
|
|
|
+ * 3:组装数据
|
|
|
+ */
|
|
|
+ LambdaQueryWrapper<KwpLedgerLogistics> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ if (!StringUtils.isEmpty(requestPageInfo.getName())) {
|
|
|
+ wrapper.like(KwpLedgerLogistics::getName, requestPageInfo.getName());
|
|
|
+ }
|
|
|
+ if (!StringUtils.isEmpty(requestPageInfo.getLLedgerNo())) {
|
|
|
+ wrapper.eq(KwpLedgerLogistics::getLLedgerNo, requestPageInfo.getLLedgerNo());
|
|
|
+ }
|
|
|
+ if (requestPageInfo.getStatus() != null) {
|
|
|
+ wrapper.eq(KwpLedgerLogistics::getStatus, requestPageInfo.getStatus());
|
|
|
+ }
|
|
|
+ if (requestPageInfo.getCreateTime() != null && requestPageInfo.getCreateTime().length == 2) {
|
|
|
+ wrapper.ge(KwpLedgerLogistics::getCreateTime, requestPageInfo.getCreateTime()[0]);
|
|
|
+ wrapper.le(KwpLedgerLogistics::getCreateTime, requestPageInfo.getCreateTime()[1]);
|
|
|
+ }
|
|
|
+ if (requestPageInfo.getUpdateTime() != null && requestPageInfo.getUpdateTime().length == 2) {
|
|
|
+ wrapper.ge(KwpLedgerLogistics::getUpdateTime, requestPageInfo.getUpdateTime()[0]);
|
|
|
+ wrapper.le(KwpLedgerLogistics::getUpdateTime, requestPageInfo.getUpdateTime()[1]);
|
|
|
+ }
|
|
|
+ wrapper.eq(KwpLedgerLogistics::getDelFlag, 0);
|
|
|
+ wrapper.eq(KwpLedgerLogistics::getEntId, requestPageInfo.getEntId());
|
|
|
+ wrapper.orderByDesc(KwpLedgerLogistics::getCreateTime);
|
|
|
+
|
|
|
+ // 创建分页对象
|
|
|
+ Page<KwpLedgerLogistics> page = new Page<>(requestPageInfo.getPage(), requestPageInfo.getPageSize());
|
|
|
+ Page<KwpLedgerLogistics> selectPage = kwpLedgerLogisticsMapper.selectPage(page, wrapper);
|
|
|
+ //原数据
|
|
|
+ List<KwpLedgerLogistics> records = selectPage.getRecords();
|
|
|
+ if (records == null) records = new ArrayList<>();
|
|
|
+
|
|
|
+
|
|
|
+ //返回给客户端的数据
|
|
|
+ List<ResponseLedgerLogistics> responseLedgerLogisticsList = records.stream().map(item -> {
|
|
|
+
|
|
|
+ ResponseLedgerLogistics responseLedgerLogistics = new ResponseLedgerLogistics();
|
|
|
+ responseLedgerLogistics.setId(item.getId());
|
|
|
+ responseLedgerLogistics.setLLedgerNo(item.getLLedgerNo());
|
|
|
+ responseLedgerLogistics.setName(item.getName());
|
|
|
+ responseLedgerLogistics.setStatusName(KwpLedgerLogisticsStatusEnum.getMsg(item.getStatus()));
|
|
|
+ responseLedgerLogistics.setTotalPrice(item.getTotalPrice());
|
|
|
+ responseLedgerLogistics.setRemark(item.getRemark());
|
|
|
+ responseLedgerLogistics.setActualPrice(item.getActualPrice());
|
|
|
+ responseLedgerLogistics.setPayRatio(item.getActualPrice().divide(item.getTotalPrice(), 2).toString() + "%");
|
|
|
+ responseLedgerLogistics.setCreateTime(DateTimeUtil.format(item.getCreateTime(), "YYYY-MM-dd HH:mm:ss"));
|
|
|
+ responseLedgerLogistics.setUpdateTime(DateTimeUtil.format(item.getUpdateTime(), "YYYY-MM-dd HH:mm:ss"));
|
|
|
+ responseLedgerLogistics.setStatus(item.getStatus());
|
|
|
+
|
|
|
+ return responseLedgerLogistics;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ //组装分页数据
|
|
|
+ ResponsePageData<ResponseLedgerLogistics> responsePageData = new ResponsePageData<>();
|
|
|
+ responsePageData.setPage(selectPage.getCurrent());
|
|
|
+ responsePageData.setPageSize(selectPage.getSize());
|
|
|
+ responsePageData.setTotal(selectPage.getTotal());
|
|
|
+ responsePageData.setPages(selectPage.getPages());
|
|
|
+ responsePageData.setList(responseLedgerLogisticsList);
|
|
|
+ return R.ok(responsePageData);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存 对账-物流订单 并发起支付
|
|
|
+ *
|
|
|
+ * @param requestSaveLedgerSettlementInfo 保存对账-物流订单参数
|
|
|
+ * @return R<String>
|
|
|
+ * @author xj
|
|
|
+ * @since 2025-01-09
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public R<String> saveLedgerLogistics(RequestSaveLedgerLogisticsInfo requestSaveLedgerSettlementInfo) {
|
|
|
+ /**
|
|
|
+ * 1:数据验证
|
|
|
+ * 2:保存对账
|
|
|
+ * 3:保存对账订单
|
|
|
+ * 4:保存对账状态
|
|
|
+ * 5:改订单状态
|
|
|
+ * 6:发起支付
|
|
|
+ */
|
|
|
+ //1:数据验证
|
|
|
+ List<KllOrder> kllOrders = verifySaveLedgerLogisticsInfo(requestSaveLedgerSettlementInfo);
|
|
|
+ //2:保存对账
|
|
|
+ KwpLedgerLogistics kwpLedgerLogistics = savaKwpLedgerLogistics(requestSaveLedgerSettlementInfo, kllOrders);
|
|
|
+ //3:保存对账订单
|
|
|
+ List<KwpLedgerLogisticsOrder> kwpLedgerLogisticsOrders = savaKwpLedgerLogisticsOrder(kwpLedgerLogistics, kllOrders);
|
|
|
+ //4:保存对账状态
|
|
|
+ savaKwpLedgerLogisticsTrack(kwpLedgerLogistics);
|
|
|
+ //5:改订单状态
|
|
|
+ updateKllOrderStatus(kllOrders);
|
|
|
+ return R.ok(kwpLedgerLogistics.getLLedgerNo());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 数据验证
|
|
|
+ *
|
|
|
+ * @param requestSaveLedgerSettlementInfo 保存对账-物流订单参数
|
|
|
+ * @return void
|
|
|
+ * @author xj
|
|
|
+ * @since 2025-01-09
|
|
|
+ */
|
|
|
+ private List<KllOrder> verifySaveLedgerLogisticsInfo(RequestSaveLedgerLogisticsInfo requestSaveLedgerSettlementInfo) {
|
|
|
+ if (requestSaveLedgerSettlementInfo == null) {
|
|
|
+ throw new RuntimeException("保存对账单参数为空");
|
|
|
+ }
|
|
|
+ if (requestSaveLedgerSettlementInfo.getOrderIds() == null || requestSaveLedgerSettlementInfo.getOrderIds().size() == 0) {
|
|
|
+ throw new RuntimeException("保存对账单的订单为空");
|
|
|
+ }
|
|
|
+ if (requestSaveLedgerSettlementInfo.getEntId() == null) {
|
|
|
+ throw new RuntimeException("保存对账单的企业id为空");
|
|
|
+ }
|
|
|
+ if (requestSaveLedgerSettlementInfo.getName() == null) {
|
|
|
+ throw new RuntimeException("保存对账单的名称为空");
|
|
|
+ }
|
|
|
+ if (requestSaveLedgerSettlementInfo.getDeductPrice() == null) {
|
|
|
+ requestSaveLedgerSettlementInfo.setDeductPrice(BigDecimal.ZERO);
|
|
|
+ }
|
|
|
+ //不能小于0
|
|
|
+ if (requestSaveLedgerSettlementInfo.getDeductPrice().compareTo(BigDecimal.ZERO) < 0) {
|
|
|
+ throw new RuntimeException("对账单的扣减金额不能小于0");
|
|
|
+ }
|
|
|
+ //验证对应的订单是否在该企业下 ,且状态是完结
|
|
|
+ LambdaQueryWrapper<KllOrder> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.in(KllOrder::getId, requestSaveLedgerSettlementInfo.getOrderIds());
|
|
|
+ wrapper.eq(KllOrder::getCompanyId, requestSaveLedgerSettlementInfo.getEntId());
|
|
|
+ //wrapper.eq(KllOrder::getStatus, OrderStatusEnum.SAVED);
|
|
|
+ wrapper.eq(KllOrder::getStatus, OrderExecutionStatusEnum.ExecutionSuccess.getCode());
|
|
|
+ List<KllOrder> list = iKllOrderService.list(wrapper);
|
|
|
+ if (list == null || list.size() == 0 || list.size() != requestSaveLedgerSettlementInfo.getOrderIds().size()) {
|
|
|
+ if (list.size() == 0) {
|
|
|
+ throw new RuntimeException("保存对账单的物流订单不存在,请检查物流单所属企业和状态。");
|
|
|
+ }
|
|
|
+ if (list.size() != requestSaveLedgerSettlementInfo.getOrderIds().size()) {
|
|
|
+ throw new RuntimeException("保存对账单的物流订单数量和参数数量不一致,请检查物流单所属企业和状态。");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //扣减金额不能大于 总金额
|
|
|
+ if (requestSaveLedgerSettlementInfo.getDeductPrice().compareTo(list.stream().map(KllOrder::getTotalPrice).reduce(BigDecimal.ZERO, BigDecimal::add)) > 0) {
|
|
|
+ throw new RuntimeException("保存对账单的物流订单扣减金额不能大于 总金额");
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存对账单
|
|
|
+ *
|
|
|
+ * @param requestSaveLedgerSettlementInfo 保存对账单参数
|
|
|
+ * @return void
|
|
|
+ * @author xj
|
|
|
+ * @since 2025-01-09
|
|
|
+ */
|
|
|
+ private KwpLedgerLogistics savaKwpLedgerLogistics(RequestSaveLedgerLogisticsInfo requestSaveLedgerSettlementInfo, List<KllOrder> orderList) {
|
|
|
+ KwpLedgerLogistics kwpLedgerLogistics = new KwpLedgerLogistics();
|
|
|
+ kwpLedgerLogistics.setName(requestSaveLedgerSettlementInfo.getName());
|
|
|
+ kwpLedgerLogistics.setEntId(requestSaveLedgerSettlementInfo.getEntId());
|
|
|
+ kwpLedgerLogistics.setDeductPrice(requestSaveLedgerSettlementInfo.getDeductPrice());
|
|
|
+ kwpLedgerLogistics.setOrderCount(orderList.size());
|
|
|
+ //运单总额 = 总应收
|
|
|
+ kwpLedgerLogistics.setTotalPrice(orderList.stream().map(KllOrder::getTotalPrice).reduce(BigDecimal.ZERO, BigDecimal::add));
|
|
|
+ //不含税金额 = 总应收
|
|
|
+ kwpLedgerLogistics.setExTaxPrice(kwpLedgerLogistics.getTotalPrice());
|
|
|
+ //账单结算金额 = 总应收 - 款金额
|
|
|
+ kwpLedgerLogistics.setSettlePrice(kwpLedgerLogistics.getTotalPrice().subtract(kwpLedgerLogistics.getDeductPrice()));
|
|
|
+ kwpLedgerLogistics.setLLedgerNo(SnowflakeIdUtil.getInstance().nextStringId());
|
|
|
+ kwpLedgerLogistics.setRemark(requestSaveLedgerSettlementInfo.getRemark());
|
|
|
+ kwpLedgerLogistics.setStatus(KwpLedgerLogisticsStatusEnum.Unpaid.getCode());
|
|
|
+ kwpLedgerLogistics.setActualPrice(BigDecimal.ZERO);
|
|
|
+ //创建人
|
|
|
+ kwpLedgerLogistics.setCreateBy(requestSaveLedgerSettlementInfo.getUserId());
|
|
|
+ kwpLedgerLogistics.setUpdateBy(requestSaveLedgerSettlementInfo.getUserId());
|
|
|
+ kwpLedgerLogistics.setCreateTime(LocalDateTime.now());
|
|
|
+ kwpLedgerLogistics.setUpdateTime(LocalDateTime.now());
|
|
|
+ kwpLedgerLogistics.setDelFlag(DelFlagEnum.NotDelete.getCode());
|
|
|
+ kwpLedgerLogistics.setId(SnowflakeIdUtil.getInstance().nextId());
|
|
|
+ boolean isSave = this.save(kwpLedgerLogistics);
|
|
|
+ if (isSave) return kwpLedgerLogistics;
|
|
|
+ throw new RuntimeException("保存对账单失败");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存对账单订单 明细
|
|
|
+ *
|
|
|
+ * @param kwpLedgerLogistics 对账单
|
|
|
+ * @param orderList 物流订单列表
|
|
|
+ * @return void
|
|
|
+ * @author xj
|
|
|
+ * @since 2025-01-09
|
|
|
+ */
|
|
|
+ private List<KwpLedgerLogisticsOrder> savaKwpLedgerLogisticsOrder(KwpLedgerLogistics kwpLedgerLogistics, List<KllOrder> orderList) {
|
|
|
+ //数据组装
|
|
|
+ List<KwpLedgerLogisticsOrder> list = orderList.stream().map(order -> {
|
|
|
+ KwpLedgerLogisticsOrder kwpLedgerLogisticsOrder = new KwpLedgerLogisticsOrder();
|
|
|
+ kwpLedgerLogisticsOrder.setId(SnowflakeIdUtil.getInstance().nextId());
|
|
|
+ kwpLedgerLogisticsOrder.setLLedgerId(kwpLedgerLogistics.getId());
|
|
|
+ kwpLedgerLogisticsOrder.setLOrderId(order.getId().longValue());
|
|
|
+ kwpLedgerLogisticsOrder.setCreateBy(kwpLedgerLogistics.getCreateBy());
|
|
|
+ kwpLedgerLogisticsOrder.setUpdateBy(kwpLedgerLogistics.getUpdateBy());
|
|
|
+ kwpLedgerLogisticsOrder.setCreateTime(kwpLedgerLogistics.getCreateTime());
|
|
|
+ kwpLedgerLogisticsOrder.setUpdateTime(kwpLedgerLogistics.getUpdateTime());
|
|
|
+ kwpLedgerLogisticsOrder.setStatus(LedgerLogisticsOrderStatusEnum.Normal.getCode());
|
|
|
+ kwpLedgerLogisticsOrder.setDelFlag(DelFlagEnum.NotDelete.getCode());
|
|
|
+ kwpLedgerLogisticsOrder.setLOrderNo(order.getOrderNo());
|
|
|
+ return kwpLedgerLogisticsOrder;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ boolean isSave = iKwpLedgerLogisticsOrderService.saveBatch(list);
|
|
|
+ if (isSave) return list;
|
|
|
+ throw new RuntimeException("保存对账单-订单明细失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存对账单物流单状态
|
|
|
+ *
|
|
|
+ * @param kwpLedgerLogistics 对账单
|
|
|
+ * @return void
|
|
|
+ * @author xj
|
|
|
+ * @since 2025-01-09
|
|
|
+ */
|
|
|
+ private KwpLedgerLogisticsTrack savaKwpLedgerLogisticsTrack(KwpLedgerLogistics kwpLedgerLogistics) {
|
|
|
+ KwpLedgerLogisticsTrack kwpLedgerLogisticsTrack = new KwpLedgerLogisticsTrack();
|
|
|
+ kwpLedgerLogisticsTrack.setId(SnowflakeIdUtil.getInstance().nextId());
|
|
|
+ kwpLedgerLogisticsTrack.setLLedgerId(kwpLedgerLogistics.getId());
|
|
|
+ kwpLedgerLogisticsTrack.setStatus(0);
|
|
|
+ kwpLedgerLogisticsTrack.setCreateBy(kwpLedgerLogistics.getCreateBy());
|
|
|
+ kwpLedgerLogisticsTrack.setUpdateBy(kwpLedgerLogistics.getUpdateBy());
|
|
|
+ kwpLedgerLogisticsTrack.setCreateTime(kwpLedgerLogistics.getCreateTime());
|
|
|
+ kwpLedgerLogisticsTrack.setUpdateTime(kwpLedgerLogistics.getUpdateTime());
|
|
|
+ kwpLedgerLogisticsTrack.setDelFlag(DelFlagEnum.NotDelete.getCode());
|
|
|
+ boolean isSave = iKwpLedgerLogisticsTrackService.save(kwpLedgerLogisticsTrack);
|
|
|
+ if (isSave) return kwpLedgerLogisticsTrack;
|
|
|
+ throw new RuntimeException("保存对账单物流单状态失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新物流订单状态
|
|
|
+ *
|
|
|
+ * @param orderList 物流订单列表
|
|
|
+ * @return void
|
|
|
+ * @author xj
|
|
|
+ * @since 2025-01-09
|
|
|
+ */
|
|
|
+ private void updateKllOrderStatus(List<KllOrder> orderList) {
|
|
|
+ KllOrder newOrder = new KllOrder();
|
|
|
+ newOrder.setExecutionStatus(OrderExecutionStatusEnum.Settlement.getCode());
|
|
|
+ newOrder.setUpdateTime(LocalDateTime.now());
|
|
|
+ boolean isUpdate = iKllOrderService.update(newOrder, new LambdaQueryWrapper<KllOrder>().in(KllOrder::getId, orderList.stream().map(KllOrder::getId).collect(Collectors.toList())));
|
|
|
+ if (!isUpdate) throw new RuntimeException("更新物流订单状态失败");
|
|
|
+ }
|
|
|
+}
|