|
|
@@ -3,9 +3,10 @@ package com.sckw.payment.service;
|
|
|
import com.github.pagehelper.PageHelper;
|
|
|
import com.github.pagehelper.PageInfo;
|
|
|
import com.sckw.core.exception.BusinessException;
|
|
|
-import com.sckw.core.model.page.PageRes;
|
|
|
+import com.sckw.core.web.context.LoginUserHolder;
|
|
|
import com.sckw.payment.dao.KwpSettlementLogisticsMapper;
|
|
|
import com.sckw.payment.model.KwpSettlementLogistics;
|
|
|
+import com.sckw.payment.model.constant.LogisticsUnitType;
|
|
|
import com.sckw.payment.model.constant.SettlementEnum;
|
|
|
import com.sckw.payment.model.dto.SettlementLogisticsDto;
|
|
|
import com.sckw.payment.model.vo.req.SettlementReq;
|
|
|
@@ -15,9 +16,9 @@ import com.sckw.payment.utils.CommonValidator;
|
|
|
import com.sckw.payment.utils.PageMoreRes;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.jetbrains.annotations.NotNull;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
|
@@ -33,25 +34,6 @@ public class KwpSettlementLogisticsService {
|
|
|
public void save(KwpSettlementLogistics settlementLogistics) {
|
|
|
settlementLogisticsMapper.insert(settlementLogistics);
|
|
|
}
|
|
|
-// public SettlementLogisticsStatusCountVo getCountList() {
|
|
|
-// SettlementLogisticsStatusCountVo settlementLogisticsStatusCountVos = new SettlementLogisticsStatusCountVo();
|
|
|
-// LambdaQueryWrapper<KwpSettlementLogistics> wrapper = new LambdaQueryWrapper<>();
|
|
|
-//
|
|
|
-// settlementLogisticsStatusCountVos.setAllCount(settlementLogisticsMapper.selectCount(wrapper));
|
|
|
-//
|
|
|
-// wrapper.eq(KwpSettlementLogistics::getStatus, SettlementEnum.WAITING_PAYMENT.getStatus());//待结算
|
|
|
-// settlementLogisticsStatusCountVos.setWaitingPaymentCount(settlementLogisticsMapper.selectCount(wrapper));
|
|
|
-//
|
|
|
-// wrapper.clear();
|
|
|
-// wrapper.eq(KwpSettlementLogistics::getStatus, SettlementEnum.PARTIAL_PAYMENT.getStatus());//部分结算
|
|
|
-// settlementLogisticsStatusCountVos.setPartialPaymentCount(settlementLogisticsMapper.selectCount(wrapper));
|
|
|
-//
|
|
|
-// wrapper.clear();
|
|
|
-// wrapper.eq(KwpSettlementLogistics::getStatus, SettlementEnum.ALL_PAYMENT.getStatus());//全部结算
|
|
|
-// settlementLogisticsStatusCountVos.setAllPaymentCount(settlementLogisticsMapper.selectCount(wrapper));
|
|
|
-//
|
|
|
-// return settlementLogisticsStatusCountVos;
|
|
|
-// }
|
|
|
|
|
|
/**
|
|
|
* 运费收款-物流订单各状态列表总数
|
|
|
@@ -60,24 +42,8 @@ public class KwpSettlementLogisticsService {
|
|
|
* @date 2023-07-24 16:21
|
|
|
*/
|
|
|
public SettlementLogisticsStatusCountVo getCountListCollection(SettlementReq settlementReq) {
|
|
|
- SettlementLogisticsStatusCountVo settlementLogisticsStatusCountVos = new SettlementLogisticsStatusCountVo();
|
|
|
- //总
|
|
|
- settlementReq.setStatus(null);
|
|
|
- settlementLogisticsStatusCountVos.setAllCount(settlementLogisticsMapper.getCountListCollection(settlementReq));
|
|
|
-
|
|
|
- //待结算
|
|
|
- settlementReq.setStatus(SettlementEnum.WAITING_PAYMENT.getStatus());
|
|
|
- settlementLogisticsStatusCountVos.setWaitingPaymentCount(settlementLogisticsMapper.getCountListCollection(settlementReq));
|
|
|
-
|
|
|
- //部分结算
|
|
|
- settlementReq.setStatus(SettlementEnum.PARTIAL_PAYMENT.getStatus());
|
|
|
- settlementLogisticsStatusCountVos.setPartialPaymentCount(settlementLogisticsMapper.getCountListCollection(settlementReq));
|
|
|
-
|
|
|
- //全部结算
|
|
|
- settlementReq.setStatus(SettlementEnum.ALL_PAYMENT.getStatus());
|
|
|
- settlementLogisticsStatusCountVos.setAllPaymentCount(settlementLogisticsMapper.getCountListCollection(settlementReq));
|
|
|
-
|
|
|
- return settlementLogisticsStatusCountVos;
|
|
|
+ settlementReq.setUnitType(LogisticsUnitType.SHIPPER);
|
|
|
+ return getCountList(settlementReq);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -87,24 +53,8 @@ public class KwpSettlementLogisticsService {
|
|
|
* @date 2023-07-24 16:23
|
|
|
*/
|
|
|
public SettlementLogisticsStatusCountVo getCountListPayment(SettlementReq settlementReq) {
|
|
|
- SettlementLogisticsStatusCountVo settlementLogisticsStatusCountVos = new SettlementLogisticsStatusCountVo();
|
|
|
- //总
|
|
|
- settlementReq.setStatus(null);
|
|
|
- settlementLogisticsStatusCountVos.setAllCount(settlementLogisticsMapper.getCountListPayment(settlementReq));
|
|
|
-
|
|
|
- //待结算
|
|
|
- settlementReq.setStatus(SettlementEnum.WAITING_PAYMENT.getStatus());
|
|
|
- settlementLogisticsStatusCountVos.setWaitingPaymentCount(settlementLogisticsMapper.getCountListPayment(settlementReq));
|
|
|
-
|
|
|
- //部分结算
|
|
|
- settlementReq.setStatus(SettlementEnum.PARTIAL_PAYMENT.getStatus());
|
|
|
- settlementLogisticsStatusCountVos.setPartialPaymentCount(settlementLogisticsMapper.getCountListPayment(settlementReq));
|
|
|
-
|
|
|
- //全部结算
|
|
|
- settlementReq.setStatus(SettlementEnum.ALL_PAYMENT.getStatus());
|
|
|
- settlementLogisticsStatusCountVos.setAllPaymentCount(settlementLogisticsMapper.getCountListPayment(settlementReq));
|
|
|
-
|
|
|
- return settlementLogisticsStatusCountVos;
|
|
|
+ settlementReq.setUnitType(LogisticsUnitType.CARRIER);
|
|
|
+ return getCountList(settlementReq);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -114,47 +64,21 @@ public class KwpSettlementLogisticsService {
|
|
|
* @date 2023-07-24 16:21
|
|
|
*/
|
|
|
public PageMoreRes<SettlementLogisticsDto> pageSelectCollection(SettlementReq settlementReq) {
|
|
|
- CommonValidator.isValidCoexisting(settlementReq.getStartCreateTime(), settlementReq.getEndCreateTime(), "");
|
|
|
- CommonValidator.isValidCoexisting(settlementReq.getStartReceiptTime(), settlementReq.getEndReceiptTime(), "预计收款开始和结束时间");
|
|
|
-
|
|
|
- PageHelper.startPage(settlementReq.getPage(), settlementReq.getPageSize());
|
|
|
- List<SettlementLogisticsDto> kwpLedgerLogisticsList = settlementLogisticsMapper.pageSelectCollection(settlementReq);
|
|
|
- SettlementLogisticsSumVo settlementLogisticsSum = settlementLogisticsMapper.selectCollectionSum(settlementReq);
|
|
|
-
|
|
|
- // 对查询结果进行处理,转换 status 到 desc
|
|
|
- return new PageMoreRes<>(getSettlementLogisticsDtoPageRes(kwpLedgerLogisticsList), settlementLogisticsSum);
|
|
|
+ settlementReq.setUnitType(LogisticsUnitType.SHIPPER);
|
|
|
+ return pageSelect(settlementReq);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 运费付款-物流订单列表
|
|
|
*
|
|
|
* @author Aick Spt
|
|
|
* @date 2023-07-24 16:23
|
|
|
*/
|
|
|
- public PageRes<SettlementLogisticsDto> pageSelectPayment(SettlementReq settlementReq) {
|
|
|
- CommonValidator.isValidCoexisting(settlementReq.getStartCreateTime(), settlementReq.getEndCreateTime(), "");
|
|
|
- CommonValidator.isValidCoexisting(settlementReq.getStartReceiptTime(), settlementReq.getEndReceiptTime(), "预计付款开始和结束时间");
|
|
|
-
|
|
|
- PageHelper.startPage(settlementReq.getPage(), settlementReq.getPageSize());
|
|
|
- List<SettlementLogisticsDto> kwpLedgerLogisticsList = settlementLogisticsMapper.pageSelectPayment(settlementReq);
|
|
|
-
|
|
|
- // 对查询结果进行处理,转换 status 到 desc
|
|
|
- return new PageRes<>(getSettlementLogisticsDtoPageRes(kwpLedgerLogisticsList));
|
|
|
- }
|
|
|
-
|
|
|
- @NotNull
|
|
|
- private PageInfo<SettlementLogisticsDto> getSettlementLogisticsDtoPageRes(List<SettlementLogisticsDto> kwpLedgerLogisticsList) {
|
|
|
- for (SettlementLogisticsDto entity : kwpLedgerLogisticsList) {
|
|
|
- entity.setStatusText(SettlementEnum.getStatusDesc(entity.getStatus()));
|
|
|
- entity.setResiduePrice(entity.getLedgerSettlePrice().subtract(entity.getActualPrice()));
|
|
|
- entity.setCreateByText("创建人名称");
|
|
|
- entity.setUpdateByText("更新人名称");
|
|
|
- }
|
|
|
- return new PageInfo<>(kwpLedgerLogisticsList);
|
|
|
+ public PageMoreRes<SettlementLogisticsDto> pageSelectPayment(SettlementReq settlementReq) {
|
|
|
+ settlementReq.setUnitType(LogisticsUnitType.CARRIER);
|
|
|
+ return pageSelect(settlementReq);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 运费收款-物流订单详情
|
|
|
*
|
|
|
@@ -162,11 +86,7 @@ public class KwpSettlementLogisticsService {
|
|
|
* @date 2023-07-24 16:22
|
|
|
*/
|
|
|
public SettlementLogisticsDto detailCollection(Long id) {
|
|
|
- SettlementLogisticsDto settlementLogisticsDto = settlementLogisticsMapper.detailCollection(id);
|
|
|
- if (settlementLogisticsDto == null) {
|
|
|
- throw new BusinessException("查无数据");
|
|
|
- }
|
|
|
- return settlementLogisticsDto;
|
|
|
+ return detail(id, LogisticsUnitType.SHIPPER);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -176,27 +96,89 @@ public class KwpSettlementLogisticsService {
|
|
|
* @date 2023-07-24 16:24
|
|
|
*/
|
|
|
public SettlementLogisticsDto detailPayment(Long id) {
|
|
|
- SettlementLogisticsDto settlementLogisticsDto = settlementLogisticsMapper.detailPayment(id);
|
|
|
- if (settlementLogisticsDto == null) {
|
|
|
- throw new BusinessException("查无数据");
|
|
|
- }
|
|
|
- return settlementLogisticsDto;
|
|
|
+ return detail(id, LogisticsUnitType.CARRIER);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
- * 根据id查物流结算订单
|
|
|
+ * 根据条件查物流结算订单-导出
|
|
|
*
|
|
|
- * @param ids 物流结算订单集合List<Long>
|
|
|
* @author Aick Spt
|
|
|
* @date 2023-07-21 16:16
|
|
|
*/
|
|
|
- public List<SettlementLogisticsDto> selectList(List<Long> ids) {
|
|
|
- return settlementLogisticsMapper.selectIds(ids);
|
|
|
+ public List<SettlementLogisticsDto> selectList(SettlementReq settlementReq) {
|
|
|
+ return settlementLogisticsMapper.selectLogisticsList(settlementReq, settlementReq.getIdList());
|
|
|
}
|
|
|
|
|
|
- public List<SettlementLogisticsDto> selectList(Integer unitType) {
|
|
|
- return settlementLogisticsMapper.selectList(unitType);
|
|
|
+
|
|
|
+ private PageMoreRes<SettlementLogisticsDto> pageSelect(SettlementReq settlementReq) {
|
|
|
+ CommonValidator.isValidCoexisting(settlementReq.getStartCreateTime(), settlementReq.getEndCreateTime(), "");
|
|
|
+ CommonValidator.isValidCoexisting(settlementReq.getStartReceiptTime(), settlementReq.getEndReceiptTime(), "预计付款开始和结束时间");
|
|
|
+
|
|
|
+ //加上当前登录者顶级企业id用于过滤数据
|
|
|
+ settlementReq.setEntId(LoginUserHolder.getEntId());
|
|
|
+
|
|
|
+ PageHelper.startPage(settlementReq.getPage(), settlementReq.getPageSize());
|
|
|
+ List<SettlementLogisticsDto> kwpLedgerLogisticsList = settlementLogisticsMapper.pageSelect(settlementReq);
|
|
|
+ SettlementLogisticsSumVo settlementLogisticsSum = settlementLogisticsMapper.selectSum(settlementReq);
|
|
|
+
|
|
|
+ // 对查询结果进行处理,转换 status 到 desc
|
|
|
+ return new PageMoreRes<>(getSettlementLogisticsDtoPageRes(kwpLedgerLogisticsList), settlementLogisticsSum);
|
|
|
+ }
|
|
|
+
|
|
|
+ private PageInfo<SettlementLogisticsDto> getSettlementLogisticsDtoPageRes(List<SettlementLogisticsDto> kwpLedgerLogisticsList) {
|
|
|
+ for (SettlementLogisticsDto entity : kwpLedgerLogisticsList) {
|
|
|
+ setDetailDesc(entity);
|
|
|
+ }
|
|
|
+ return new PageInfo<>(kwpLedgerLogisticsList);
|
|
|
+ }
|
|
|
+
|
|
|
+ public SettlementLogisticsStatusCountVo getCountList(SettlementReq settlementReq) {
|
|
|
+ SettlementLogisticsStatusCountVo settlementLogisticsStatusCountVos = new SettlementLogisticsStatusCountVo();
|
|
|
+
|
|
|
+ //加上当前登录者顶级企业id用于过滤数据
|
|
|
+ settlementReq.setEntId(LoginUserHolder.getEntId());
|
|
|
+
|
|
|
+ //总
|
|
|
+ settlementReq.setStatus(null);
|
|
|
+ settlementLogisticsStatusCountVos.setAllCount(settlementLogisticsMapper.getCountList(settlementReq));
|
|
|
+
|
|
|
+ //待结算
|
|
|
+ settlementReq.setStatus(SettlementEnum.WAITING_PAYMENT.getStatus());
|
|
|
+ settlementLogisticsStatusCountVos.setWaitingPaymentCount(settlementLogisticsMapper.getCountList(settlementReq));
|
|
|
+
|
|
|
+ //部分结算
|
|
|
+ settlementReq.setStatus(SettlementEnum.PARTIAL_PAYMENT.getStatus());
|
|
|
+ settlementLogisticsStatusCountVos.setPartialPaymentCount(settlementLogisticsMapper.getCountList(settlementReq));
|
|
|
+
|
|
|
+ //全部结算
|
|
|
+ settlementReq.setStatus(SettlementEnum.ALL_PAYMENT.getStatus());
|
|
|
+ settlementLogisticsStatusCountVos.setAllPaymentCount(settlementLogisticsMapper.getCountList(settlementReq));
|
|
|
+
|
|
|
+ return settlementLogisticsStatusCountVos;
|
|
|
+ }
|
|
|
+
|
|
|
+ private SettlementLogisticsDto detail(Long id, Integer unitType) {
|
|
|
+ SettlementLogisticsDto settlementLogisticsDto = settlementLogisticsMapper.detail(id, unitType);
|
|
|
+ if (settlementLogisticsDto == null) {
|
|
|
+ throw new BusinessException("查无数据");
|
|
|
+ }
|
|
|
+ setDetailDesc(settlementLogisticsDto);
|
|
|
+ return settlementLogisticsDto;
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setDetailDesc(SettlementLogisticsDto settlementLogisticsDto) {
|
|
|
+ settlementLogisticsDto.setStatusText(SettlementEnum.getStatusDesc(settlementLogisticsDto.getStatus()));
|
|
|
+ if (settlementLogisticsDto.getLedgerSettlePrice() != null) {
|
|
|
+ if (settlementLogisticsDto.getActualPrice() != null) {
|
|
|
+ settlementLogisticsDto.setResiduePrice(settlementLogisticsDto.getLedgerSettlePrice().subtract(settlementLogisticsDto.getActualPrice()));
|
|
|
+ } else {
|
|
|
+ settlementLogisticsDto.setResiduePrice(settlementLogisticsDto.getLedgerSettlePrice());
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ settlementLogisticsDto.setResiduePrice(new BigDecimal(0));
|
|
|
+ }
|
|
|
+ settlementLogisticsDto.setCreateByText("创建人名称");//"创建人名称"
|
|
|
+ settlementLogisticsDto.setUpdateByText("更新人名称");//"更新人名称"
|
|
|
}
|
|
|
|
|
|
}
|