mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-08-15 18:47:34 +08:00
Merge branch 'feature-invoice-export' into dev
This commit is contained in:
@@ -4,6 +4,7 @@ import com.jsowell.pile.domain.OrderInvoiceRecord;
|
||||
import com.jsowell.pile.dto.GetInvoiceInfoDTO;
|
||||
import com.jsowell.pile.dto.QueryInvoiceRecordDTO;
|
||||
import com.jsowell.pile.vo.web.InvoiceRecordVO;
|
||||
import com.jsowell.pile.vo.web.OrderInvoiceExportVO;
|
||||
import com.jsowell.pile.vo.web.OrderInvoiceRecordVO;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
@@ -26,6 +27,8 @@ public interface OrderInvoiceRecordService {
|
||||
|
||||
InvoiceRecordVO selectInvoiceTitleVO(Integer id);
|
||||
|
||||
List<OrderInvoiceExportVO> selectInvoiceExportList(Integer[] ids);
|
||||
|
||||
/**
|
||||
* 查询申请开票列表
|
||||
*
|
||||
|
||||
@@ -13,6 +13,8 @@ import com.jsowell.pile.util.UserUtils;
|
||||
import com.jsowell.pile.vo.base.OrderAmountDetailVO;
|
||||
import com.jsowell.pile.vo.uniapp.customer.InvoiceTitleVO;
|
||||
import com.jsowell.pile.vo.web.InvoiceRecordVO;
|
||||
import com.jsowell.pile.vo.web.OrderInvoiceExportVO;
|
||||
import com.jsowell.pile.vo.web.OrderInvoiceOrderExportVO;
|
||||
import com.jsowell.pile.vo.web.OrderInvoiceRecordVO;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -20,7 +22,11 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 申请开票Service业务层处理
|
||||
@@ -76,6 +82,82 @@ public class OrderInvoiceRecordServiceImpl implements OrderInvoiceRecordService
|
||||
.build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OrderInvoiceExportVO> selectInvoiceExportList(Integer[] ids) {
|
||||
if (ids == null || ids.length == 0) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
return Arrays.stream(ids)
|
||||
.filter(Objects::nonNull)
|
||||
.distinct()
|
||||
.map(this::selectInvoiceTitleVO)
|
||||
.filter(Objects::nonNull)
|
||||
.map(this::buildOrderInvoiceExportVO)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private OrderInvoiceExportVO buildOrderInvoiceExportVO(InvoiceRecordVO invoiceRecordVO) {
|
||||
InvoiceTitleVO invoiceTitle = invoiceRecordVO.getInvoiceTitle();
|
||||
return OrderInvoiceExportVO.builder()
|
||||
.id(invoiceRecordVO.getId())
|
||||
.memberId(invoiceRecordVO.getMemberId())
|
||||
.phoneNumber(invoiceRecordVO.getPhoneNumber())
|
||||
.status(invoiceRecordVO.getStatus())
|
||||
.createTime(invoiceRecordVO.getCreateTime())
|
||||
.updateTime(invoiceRecordVO.getUpdateTime())
|
||||
.titleId(invoiceTitle == null ? null : invoiceTitle.getTitleId())
|
||||
.titleName(invoiceTitle == null ? null : invoiceTitle.getTitleName())
|
||||
.titleType(invoiceTitle == null ? null : invoiceTitle.getTitleType())
|
||||
.taxId(invoiceTitle == null ? null : invoiceTitle.getTaxId())
|
||||
.unitAddress(invoiceTitle == null ? null : invoiceTitle.getUnitAddress())
|
||||
.email(invoiceTitle == null ? null : invoiceTitle.getEmail())
|
||||
.reception(invoiceTitle == null ? null : invoiceTitle.getReception())
|
||||
.titlePhoneNumber(invoiceTitle == null ? null : invoiceTitle.getPhoneNumber())
|
||||
.bankName(invoiceTitle == null ? null : invoiceTitle.getBankName())
|
||||
.bankAccountNumber(invoiceTitle == null ? null : invoiceTitle.getBankAccountNumber())
|
||||
.defaultFlag(invoiceTitle == null ? null : invoiceTitle.getDefaultFlag())
|
||||
.orderList(buildOrderExportList(invoiceRecordVO.getOrderList()))
|
||||
.build();
|
||||
}
|
||||
|
||||
private List<OrderInvoiceOrderExportVO> buildOrderExportList(List<OrderAmountDetailVO> orderList) {
|
||||
if (CollectionUtils.isEmpty(orderList)) {
|
||||
List<OrderInvoiceOrderExportVO> emptyOrderList = new ArrayList<>();
|
||||
emptyOrderList.add(new OrderInvoiceOrderExportVO());
|
||||
return emptyOrderList;
|
||||
}
|
||||
List<OrderInvoiceOrderExportVO> exportList = orderList.stream()
|
||||
.filter(Objects::nonNull)
|
||||
.map(this::buildOrderInvoiceOrderExportVO)
|
||||
.collect(Collectors.toList());
|
||||
if (CollectionUtils.isEmpty(exportList)) {
|
||||
exportList.add(new OrderInvoiceOrderExportVO());
|
||||
}
|
||||
return exportList;
|
||||
}
|
||||
|
||||
private OrderInvoiceOrderExportVO buildOrderInvoiceOrderExportVO(OrderAmountDetailVO orderAmountDetailVO) {
|
||||
return OrderInvoiceOrderExportVO.builder()
|
||||
.orderCode(orderAmountDetailVO.getOrderCode())
|
||||
.totalUsedElectricity(orderAmountDetailVO.getTotalUsedElectricity())
|
||||
.totalOrderAmount(orderAmountDetailVO.getTotalOrderAmount())
|
||||
.totalElectricityAmount(orderAmountDetailVO.getTotalElectricityAmount())
|
||||
.totalServiceAmount(orderAmountDetailVO.getTotalServiceAmount())
|
||||
.sharpUsedElectricity(orderAmountDetailVO.getSharpUsedElectricity())
|
||||
.sharpElectricityPrice(orderAmountDetailVO.getSharpElectricityPrice())
|
||||
.sharpServicePrice(orderAmountDetailVO.getSharpServicePrice())
|
||||
.peakUsedElectricity(orderAmountDetailVO.getPeakUsedElectricity())
|
||||
.peakElectricityPrice(orderAmountDetailVO.getPeakElectricityPrice())
|
||||
.peakServicePrice(orderAmountDetailVO.getPeakServicePrice())
|
||||
.flatUsedElectricity(orderAmountDetailVO.getFlatUsedElectricity())
|
||||
.flatElectricityPrice(orderAmountDetailVO.getFlatElectricityPrice())
|
||||
.flatServicePrice(orderAmountDetailVO.getFlatServicePrice())
|
||||
.valleyUsedElectricity(orderAmountDetailVO.getValleyUsedElectricity())
|
||||
.valleyElectricityPrice(orderAmountDetailVO.getValleyElectricityPrice())
|
||||
.valleyServicePrice(orderAmountDetailVO.getValleyServicePrice())
|
||||
.build();
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询申请开票列表
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user