Commit 7e573a12 authored by frank.xa.zhang's avatar frank.xa.zhang

add new api download preview data

parent 9ac46e3f
...@@ -2,6 +2,7 @@ package pwc.taxtech.atms.controller; ...@@ -2,6 +2,7 @@ package pwc.taxtech.atms.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpStatus;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
...@@ -13,12 +14,16 @@ import pwc.taxtech.atms.dto.PagingDto; ...@@ -13,12 +14,16 @@ import pwc.taxtech.atms.dto.PagingDto;
import pwc.taxtech.atms.dto.PagingResultDto; import pwc.taxtech.atms.dto.PagingResultDto;
import pwc.taxtech.atms.dto.vatdto.CustomsInvoiceDto; import pwc.taxtech.atms.dto.vatdto.CustomsInvoiceDto;
import pwc.taxtech.atms.dto.vatdto.CustomsInvoiceFilter; import pwc.taxtech.atms.dto.vatdto.CustomsInvoiceFilter;
import pwc.taxtech.atms.dto.vatdto.JsonCustomsInvoice;
import pwc.taxtech.atms.dto.vatdto.JsonCustomsInvoiceDto; import pwc.taxtech.atms.dto.vatdto.JsonCustomsInvoiceDto;
import pwc.taxtech.atms.thirdparty.ExcelUtil;
import pwc.taxtech.atms.vat.service.CustomsInvoiceService; import pwc.taxtech.atms.vat.service.CustomsInvoiceService;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.text.DateFormat; import java.text.DateFormat;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@RestController @RestController
...@@ -45,6 +50,78 @@ public class CustomsInvoiceController { ...@@ -45,6 +50,78 @@ public class CustomsInvoiceController {
return convertCustomsInvoiceDataToJson(fromPeriod, toPeriod, filter, paging); return convertCustomsInvoiceDataToJson(fromPeriod, toPeriod, filter, paging);
} }
@RequestMapping(value = "ExportQueryData/get", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public void exportQueryData(@RequestParam String criteria, HttpServletResponse response) {
CustomsInvoiceFilter filter = new CustomsInvoiceFilter();
if (StringUtils.isNotBlank(criteria) && !criteria.equals("null")) {
filter = JSONObject.parseObject(criteria, CustomsInvoiceFilter.class);
} else {
filter = null;
}
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename=" + UUID.randomUUID() + ".xlsx");
response.setHeader("x-file-name", UUID.randomUUID() + ".xlsx");
OutputStream os = null;
try {
os = response.getOutputStream();
int count = getDownloadFilePath(filter, os);
if (count == 0) {
response.setStatus(HttpStatus.SC_NO_CONTENT);
} else {
response.setStatus(HttpStatus.SC_OK);
}
} catch (IOException e) {
e.printStackTrace();
}
}
private int getDownloadFilePath(CustomsInvoiceFilter filter, OutputStream outputStream) {
List<JsonCustomsInvoiceDto> list = GetCustomsInvoiceDataList(filter);
if (list.size() == 0) {
return 0;
}
Map<String, String> header = new HashMap<>();
header.put("RecordNumber", "RecordNumber");
header.put("PeriodId", "期间");
header.put("IssueDate", "开具日期");
header.put("PayNum", "海关缴款书号码");
header.put("InvoiceAmount", "金额");
header.put("InvoiceTaxAmount", "税额");
header.put("AuditResult", "稽核结果");
ExcelUtil.exportExcel(header, list, outputStream);
return list.size();
}
private List<JsonCustomsInvoiceDto> GetCustomsInvoiceDataList(CustomsInvoiceFilter filter) {
List<CustomsInvoiceDto> balanceList = customsInvoiceService.getCustomsInvoicesByPeriodIds(filter.getPeriodFrom(), filter.getPeriodTo());
if (filter != null && !balanceList.isEmpty()) {
balanceList = filterCustomsInvoiceDataList(filter, balanceList);
}
List<JsonCustomsInvoiceDto> recordList = new ArrayList<>();
JsonCustomsInvoiceDto record;
int indexNumber = 1;
for (CustomsInvoiceDto dto : balanceList) {
record = new JsonCustomsInvoiceDto();
CommonUtils.copyProperties(dto, record);
record.setRecordNumber(String.valueOf(indexNumber));
record.setIssueDate(DateFormat.getDateInstance().format(dto.getIssueDate()));
record.setInvoiceTaxAmount(dto.getInvoiceTaxAmount() != null ? dto.getInvoiceTaxAmount().toString() : "0.00");
record.setInvoiceAmount(dto.getInvoiceAmount() != null ? dto.getInvoiceAmount().toString() : "0.00");
recordList.add(record);
indexNumber++;
}
return recordList;
}
private String convertCustomsInvoiceDataToJson(int fromPeriod, int toPeriod, CustomsInvoiceFilter filter, PagingDto pagination) { private String convertCustomsInvoiceDataToJson(int fromPeriod, int toPeriod, CustomsInvoiceFilter filter, PagingDto pagination) {
String result = StringUtils.EMPTY; String result = StringUtils.EMPTY;
List<CustomsInvoiceDto> balanceList = customsInvoiceService.getCustomsInvoicesByPeriodIds(fromPeriod, toPeriod); List<CustomsInvoiceDto> balanceList = customsInvoiceService.getCustomsInvoicesByPeriodIds(fromPeriod, toPeriod);
......
package pwc.taxtech.atms.controller; package pwc.taxtech.atms.controller;
import org.apache.http.HttpStatus;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import pwc.taxtech.atms.dto.PagingResultDto; import pwc.taxtech.atms.dto.PagingResultDto;
import pwc.taxtech.atms.dto.vatdto.InputInvoicePreviewQueryParam; import pwc.taxtech.atms.dto.vatdto.*;
import pwc.taxtech.atms.dto.vatdto.InputVATInvoiceDto; import pwc.taxtech.atms.thirdparty.ExcelSheet;
import pwc.taxtech.atms.thirdparty.ExcelUtil;
import pwc.taxtech.atms.vat.service.InputInvoiceDataImportService; import pwc.taxtech.atms.vat.service.InputInvoiceDataImportService;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.util.*;
@RestController @RestController
@RequestMapping(value = "api/v1/inputInvoiceImport") @RequestMapping(value = "api/v1/inputInvoiceImport")
public class InputInvoiceImportController { public class InputInvoiceImportController {
...@@ -18,7 +22,81 @@ public class InputInvoiceImportController { ...@@ -18,7 +22,81 @@ public class InputInvoiceImportController {
InputInvoiceDataImportService inputInvoiceDataImportService; InputInvoiceDataImportService inputInvoiceDataImportService;
@RequestMapping(value = "inputInvoicePreviewList", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE) @RequestMapping(value = "inputInvoicePreviewList", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public PagingResultDto<InputVATInvoiceDto> getInputInvoiceTreeViewData(@RequestBody InputInvoicePreviewQueryParam paras) { public @ResponseBody
PagingResultDto<InputVATInvoiceDto> getInputInvoiceTreeViewData(@RequestBody InputInvoicePreviewQueryParam paras) {
return inputInvoiceDataImportService.getInputInvoiceTreeViewData(paras); return inputInvoiceDataImportService.getInputInvoiceTreeViewData(paras);
} }
@RequestMapping(value = "exportQueryData/get", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public void downloadInvoiceQueryData(@RequestBody InputInvoicePreviewQueryParam paras, HttpServletResponse response) {
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename=" + UUID.randomUUID() + ".xlsx");
response.setHeader("x-file-name", UUID.randomUUID() + ".xlsx");
OutputStream os = null;
try {
os = response.getOutputStream();
int count = getDownloadFilePath(paras, os);
if (count == 0) {
response.setStatus(HttpStatus.SC_NO_CONTENT);
} else {
response.setStatus(HttpStatus.SC_OK);
}
} catch (IOException e) {
e.printStackTrace();
}
}
private int getDownloadFilePath(InputInvoicePreviewQueryParam paras, OutputStream outputStream) {
List<InputVATInvoiceDto> list = inputInvoiceDataImportService.getInputInvoiceTreeViewData(paras).getList();
if (list.size() == 0) {
//return 0;
}
Map<String, String> header = new HashMap<>();
header.put("PeriodID", "期间");
header.put("InvoiceDate", "开票日期");
header.put("InvoiceCode", "发票代码");
header.put("InvoiceNumber", "发票号码");
header.put("SellerTaxNumber", "供货方税号");
header.put("InvoiceTypeName", "发票类型");
header.put("Amount", "金额");
header.put("TaxAmount", "税额");
header.put("CertificationDate", "认证日期");
ExcelSheet excelSheetA = new ExcelSheet<>();
excelSheetA.setHeaders(header);
excelSheetA.setDataset(list);
excelSheetA.setSheetName("sheetA");
Map<String, String> header2 = new HashMap<>();
header2.put("PeriodID", "期间");
header2.put("InvoiceCode", "发票代码");
header2.put("InvoiceNumber", "发票号码");
header2.put("Amount", "金额");
header2.put("TaxAmount", "税额");
header2.put("TaxRate", "税率");
header2.put("ProductionName", "货物名称");
ExcelSheet excelSheetB = new ExcelSheet<>();
excelSheetB.setHeaders(header2);
excelSheetB.setSheetName("sheetB");
List<InputVATInvoiceItemDto> inputInvoiceItemList = new ArrayList<>();
for (InputVATInvoiceDto item : list) {
List<InputVATInvoiceItemDto> tempResult = inputInvoiceDataImportService.getInputInvoiceItemTreeViewData(item.getID());
for (InputVATInvoiceItemDto r : tempResult) {
inputInvoiceItemList.add(r);
}
}
excelSheetB.setDataset(inputInvoiceItemList);
List<ExcelSheet<InputVATInvoiceBaseDto>> sheets = new ArrayList<>();
sheets.add(excelSheetA);
sheets.add(excelSheetB);
ExcelUtil.exportExcel(sheets, outputStream);
return list.size();
}
} }
package pwc.taxtech.atms.controller; package pwc.taxtech.atms.controller;
import org.apache.http.HttpStatus;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
...@@ -9,8 +10,17 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -9,8 +10,17 @@ import org.springframework.web.bind.annotation.RestController;
import pwc.taxtech.atms.dto.PagingResultDto; import pwc.taxtech.atms.dto.PagingResultDto;
import pwc.taxtech.atms.dto.vatdto.OutputVATInvoiceInfoDto; import pwc.taxtech.atms.dto.vatdto.OutputVATInvoiceInfoDto;
import pwc.taxtech.atms.dto.vatdto.QueryOutputDto; import pwc.taxtech.atms.dto.vatdto.QueryOutputDto;
import pwc.taxtech.atms.thirdparty.ExcelUtil;
import pwc.taxtech.atms.vat.service.OutputInvoiceService; import pwc.taxtech.atms.vat.service.OutputInvoiceService;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
@RestController @RestController
@RequestMapping(value = "api/v1/outputInvoiceImport") @RequestMapping(value = "api/v1/outputInvoiceImport")
public class OutputInvoiceController { public class OutputInvoiceController {
...@@ -22,4 +32,56 @@ public class OutputInvoiceController { ...@@ -22,4 +32,56 @@ public class OutputInvoiceController {
public PagingResultDto<OutputVATInvoiceInfoDto> queryOutputInvoiceList(@RequestBody QueryOutputDto queryDto) { public PagingResultDto<OutputVATInvoiceInfoDto> queryOutputInvoiceList(@RequestBody QueryOutputDto queryDto) {
return outputInvoiceService.queryOutputInvoiceList(queryDto); return outputInvoiceService.queryOutputInvoiceList(queryDto);
} }
@RequestMapping(value = "getExportOutputInvoiceList", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public void downloadInvoiceQueryData(@RequestBody QueryOutputDto paras, HttpServletResponse response) {
response.setContentType("application/vnd.ms-excel;charset=utf-8");
response.setHeader("Content-Disposition", "attachment;filename="
+ UUID.randomUUID() + ".xls");
response.setHeader("x-file-name",UUID.randomUUID() + ".xlsx");
OutputStream os = null;
try {
os = response.getOutputStream();
int count = getDownloadFilePath(paras, os);
if(count==0){
response.setStatus(HttpStatus.SC_NO_CONTENT);
}
else
{
response.setStatus(HttpStatus.SC_OK);
}
} catch (IOException e) {
e.printStackTrace();
}
}
private int getDownloadFilePath(QueryOutputDto paras, OutputStream outputStream) {
List<OutputVATInvoiceInfoDto> list = outputInvoiceService.getExportOutputInvoiceList(paras).getData();
if (list.size() == 0) {
return 0;
}
Map<String, String> header = new HashMap<>();
header.put("InvoiceTypeName", "发票类型");
header.put("ClassCode", "发票代码");
header.put("InvoiceNumber", "发票号码");
header.put("BuyerName", "购方企业名称");
header.put("BuyerTaxNumber", "购方税号");
header.put("BankAccount", "银行账号");
header.put("PhoneNum", "地址电话");
header.put("InvoiceDate", "开票日期");
header.put("CodeVersion", "商品编码版本号");
header.put("DocumentNum", "单据号");
header.put("ProductName", "商品名称");
header.put("ProductStandar", "规格");
header.put("Unit", "单位");
header.put("Quantity", "数量");
header.put("UnitPrice", "单价");
header.put("Amount", "金额");
header.put("TaxRate", "税率");
header.put("TaxAmount", "税额");
header.put("TaxClassCode", "税收分类编码");
ExcelUtil.exportExcel(header, list, outputStream);
return list.size();
}
} }
package pwc.taxtech.atms.dto.vatdto;
public abstract class InputVATInvoiceBaseDto {
}
...@@ -5,7 +5,7 @@ import pwc.taxtech.atms.constant.enums.EnumInvoiceType; ...@@ -5,7 +5,7 @@ import pwc.taxtech.atms.constant.enums.EnumInvoiceType;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
public class InputVATInvoiceDto { public class InputVATInvoiceDto extends InputVATInvoiceBaseDto {
private String ID ; private String ID ;
private int periodID ; private int periodID ;
private String invoiceCode ; private String invoiceCode ;
......
package pwc.taxtech.atms.dto.vatdto;
public class InputVATInvoiceItemDto extends InputVATInvoiceBaseDto {
}
package pwc.taxtech.atms.dto.vatdto;
public class JsonCustomsInvoice {
}
...@@ -3,7 +3,12 @@ package pwc.taxtech.atms.vat.service; ...@@ -3,7 +3,12 @@ package pwc.taxtech.atms.vat.service;
import pwc.taxtech.atms.dto.PagingResultDto; import pwc.taxtech.atms.dto.PagingResultDto;
import pwc.taxtech.atms.dto.vatdto.InputInvoicePreviewQueryParam; import pwc.taxtech.atms.dto.vatdto.InputInvoicePreviewQueryParam;
import pwc.taxtech.atms.dto.vatdto.InputVATInvoiceDto; import pwc.taxtech.atms.dto.vatdto.InputVATInvoiceDto;
import pwc.taxtech.atms.dto.vatdto.InputVATInvoiceItemDto;
import java.util.List;
public interface InputInvoiceDataImportService { public interface InputInvoiceDataImportService {
PagingResultDto<InputVATInvoiceDto> getInputInvoiceTreeViewData(InputInvoicePreviewQueryParam paras); PagingResultDto<InputVATInvoiceDto> getInputInvoiceTreeViewData(InputInvoicePreviewQueryParam paras);
List<InputVATInvoiceItemDto> getInputInvoiceItemTreeViewData(String id);
} }
package pwc.taxtech.atms.vat.service; package pwc.taxtech.atms.vat.service;
import pwc.taxtech.atms.dto.OperationResultDto;
import pwc.taxtech.atms.dto.PagingResultDto; import pwc.taxtech.atms.dto.PagingResultDto;
import pwc.taxtech.atms.dto.vatdto.OutputVATInvoiceInfoDto; import pwc.taxtech.atms.dto.vatdto.OutputVATInvoiceInfoDto;
import pwc.taxtech.atms.dto.vatdto.QueryOutputDto; import pwc.taxtech.atms.dto.vatdto.QueryOutputDto;
import java.util.List;
public interface OutputInvoiceService { public interface OutputInvoiceService {
PagingResultDto<OutputVATInvoiceInfoDto> queryOutputInvoiceList(QueryOutputDto queryDto); PagingResultDto<OutputVATInvoiceInfoDto> queryOutputInvoiceList(QueryOutputDto queryDto);
OperationResultDto<List<OutputVATInvoiceInfoDto>> getExportOutputInvoiceList(QueryOutputDto queryDto);
} }
...@@ -2,9 +2,14 @@ package pwc.taxtech.atms.vat.service.impl; ...@@ -2,9 +2,14 @@ package pwc.taxtech.atms.vat.service.impl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import pwc.taxtech.atms.common.CommonUtils; import pwc.taxtech.atms.common.CommonUtils;
import pwc.taxtech.atms.dto.OperationResultDto;
import pwc.taxtech.atms.dto.PagingResultDto; import pwc.taxtech.atms.dto.PagingResultDto;
import pwc.taxtech.atms.dto.vatdto.InputInvoicePreviewQueryParam; import pwc.taxtech.atms.dto.vatdto.InputInvoicePreviewQueryParam;
import pwc.taxtech.atms.dto.vatdto.InputVATInvoiceDto; import pwc.taxtech.atms.dto.vatdto.InputVATInvoiceDto;
import pwc.taxtech.atms.dto.vatdto.InputVATInvoiceItemDto;
import pwc.taxtech.atms.dto.vatdto.QueryOutputDto;
import pwc.taxtech.atms.vat.entity.InputVATInvoiceItem;
import pwc.taxtech.atms.vat.entity.InputVATInvoiceItemExample;
import pwc.taxtech.atms.vat.service.InputInvoiceDataImportService; import pwc.taxtech.atms.vat.service.InputInvoiceDataImportService;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -32,4 +37,18 @@ public class InputInvoiceDataImportServiceImpl extends VatAbstractService implem ...@@ -32,4 +37,18 @@ public class InputInvoiceDataImportServiceImpl extends VatAbstractService implem
} }
return qResult; return qResult;
} }
@Override
public List<InputVATInvoiceItemDto> getInputInvoiceItemTreeViewData(String id) {
InputVATInvoiceItemExample example = new InputVATInvoiceItemExample();
example.createCriteria().andInputVATInvoiceIDEqualTo(id);
List<InputVATInvoiceItem> list = inputVATInvoiceItemMapper.selectByExample(example);
List<InputVATInvoiceItemDto> result = new ArrayList<>();
list.forEach(a -> {
InputVATInvoiceItemDto dto = new InputVATInvoiceItemDto();
CommonUtils.copyProperties(a, dto);
result.add(dto);
});
return result;
}
} }
...@@ -4,9 +4,12 @@ import org.apache.commons.lang3.StringUtils; ...@@ -4,9 +4,12 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import pwc.taxtech.atms.common.CommonUtils; import pwc.taxtech.atms.common.CommonUtils;
import pwc.taxtech.atms.common.PagingList; import pwc.taxtech.atms.common.PagingList;
import pwc.taxtech.atms.dto.OperationResultDto;
import pwc.taxtech.atms.dto.PagingResultDto; import pwc.taxtech.atms.dto.PagingResultDto;
import pwc.taxtech.atms.dto.vatdto.OutputVATInvoiceInfoDto; import pwc.taxtech.atms.dto.vatdto.OutputVATInvoiceInfoDto;
import pwc.taxtech.atms.dto.vatdto.QueryOutputDto; import pwc.taxtech.atms.dto.vatdto.QueryOutputDto;
import pwc.taxtech.atms.vat.entity.OutputVATInvoiceItem;
import pwc.taxtech.atms.vat.entity.OutputVATInvoiceItemExample;
import pwc.taxtech.atms.vat.service.OutputInvoiceService; import pwc.taxtech.atms.vat.service.OutputInvoiceService;
import java.math.BigDecimal; import java.math.BigDecimal;
...@@ -25,6 +28,84 @@ public class OutputInvoiceServiceImpl extends VatAbstractService implements Outp ...@@ -25,6 +28,84 @@ public class OutputInvoiceServiceImpl extends VatAbstractService implements Outp
PagingResultDto<OutputVATInvoiceInfoDto> qResult = new PagingResultDto<>(); PagingResultDto<OutputVATInvoiceInfoDto> qResult = new PagingResultDto<>();
qResult.setPageInfo(queryDto.getPageInfo()); qResult.setPageInfo(queryDto.getPageInfo());
qResult.setList(new ArrayList<>()); qResult.setList(new ArrayList<>());
List<OutputVATInvoiceInfoDto> finalList = getQueryList(queryDto);
qResult.getPageInfo().setTotalCount(finalList.size());
if (finalList.size() > 0) {
PagingList pagingList = new PagingList(finalList, qResult.getPageInfo());
qResult.setList(pagingList.getPagingList());
}
return qResult;
}
@Override
public OperationResultDto<List<OutputVATInvoiceInfoDto>> getExportOutputInvoiceList(QueryOutputDto queryDto) {
OperationResultDto<List<OutputVATInvoiceInfoDto>> result = new OperationResultDto<>();
List<OutputVATInvoiceInfoDto> finalList = getQueryList(queryDto);
finalList = getOutputDetailInfoList(finalList);
result.setData(finalList);
result.setResult(true);
return result;
}
private List<OutputVATInvoiceInfoDto> getOutputDetailInfoList(List<OutputVATInvoiceInfoDto> query) {
List<OutputVATInvoiceInfoDto> list = new ArrayList<>();
List<OutputVATInvoiceItem> outItem = outputVATInvoiceItemMapper.selectByExample(new OutputVATInvoiceItemExample());
if (query != null && query.size() > 0) {
for (OutputVATInvoiceInfoDto dto : query) {
List<OutputVATInvoiceItem> itemList = outItem.stream()
.filter(a -> a.getInvoiceID().equals(dto.getInvoiceID()))
.sorted(Comparator.comparing(OutputVATInvoiceItem::getSeqNo))
.collect(Collectors.toList());
if (itemList != null && itemList.size() > 0) {
OutputVATInvoiceInfoDto newDto = new OutputVATInvoiceInfoDto();
CommonUtils.copyProperties(dto, newDto);
newDto.setCodeVersion(itemList.get(0).getCodeVersion());
newDto.setProductName(itemList.get(0).getProductName());
newDto.setDocumentNum(itemList.get(0).getDocumentNum());
newDto.setProductStandard(itemList.get(0).getProductStandard());
newDto.setUnit(itemList.get(0).getUnit());
newDto.setQuantity(itemList.get(0).getQuantity());
newDto.setUnitPrice(itemList.get(0).getUnitPrice());
newDto.setAmount(itemList.get(0).getAmount());
newDto.setTaxRate(itemList.get(0).getTaxRate());
newDto.setTaxAmount(itemList.get(0).getTaxAmount());
newDto.setTaxClassCode(itemList.get(0).getTaxClassCode());
list.add(newDto);
if (itemList.size() > 1) {
for (int i = 1; i < itemList.size(); i++) {
OutputVATInvoiceInfoDto invoiceDto = new OutputVATInvoiceInfoDto();
invoiceDto.setPeriodID(dto.getPeriodID());
invoiceDto.setInvoiceType(null);
invoiceDto.setClassCode(StringUtils.EMPTY);
invoiceDto.setInvoiceNumber(StringUtils.EMPTY);
invoiceDto.setBuyerName(StringUtils.EMPTY);
invoiceDto.setBuyerTaxNumber(StringUtils.EMPTY);
invoiceDto.setBankAccount(StringUtils.EMPTY);
invoiceDto.setPhoneNum(StringUtils.EMPTY);
invoiceDto.setInvoiceDate(null);
invoiceDto.setCodeVersion(itemList.get(i).getCodeVersion());
invoiceDto.setProductName(itemList.get(i).getProductName());
invoiceDto.setDocumentNum(itemList.get(i).getDocumentNum());
invoiceDto.setProductStandard(itemList.get(i).getProductStandard());
invoiceDto.setUnit(itemList.get(i).getUnit());
invoiceDto.setQuantity(itemList.get(i).getQuantity());
invoiceDto.setUnitPrice(itemList.get(i).getUnitPrice());
invoiceDto.setAmount(itemList.get(i).getAmount());
invoiceDto.setTaxRate(itemList.get(i).getTaxRate());
invoiceDto.setTaxAmount(itemList.get(i).getTaxAmount());
invoiceDto.setTaxClassCode(itemList.get(i).getTaxClassCode());
list.add(invoiceDto);
}
}
}
}
}
return list;
}
private List<OutputVATInvoiceInfoDto> getQueryList(QueryOutputDto queryDto) {
List<OutputVATInvoiceInfoDto> rList = outputVATInvoiceMapper.selectOutputVATInvoiceInfoLeftJoinItem(queryDto); List<OutputVATInvoiceInfoDto> rList = outputVATInvoiceMapper.selectOutputVATInvoiceInfoLeftJoinItem(queryDto);
Function<OutputVATInvoiceInfoDto, List<Object>> compositeKey = outputVATInvoiceInfoDto -> Function<OutputVATInvoiceInfoDto, List<Object>> compositeKey = outputVATInvoiceInfoDto ->
Arrays.asList(outputVATInvoiceInfoDto.getInvoiceID() Arrays.asList(outputVATInvoiceInfoDto.getInvoiceID()
...@@ -73,13 +154,6 @@ public class OutputInvoiceServiceImpl extends VatAbstractService implements Outp ...@@ -73,13 +154,6 @@ public class OutputInvoiceServiceImpl extends VatAbstractService implements Outp
if (queryDto.getTaxAmountEnd() != null) { if (queryDto.getTaxAmountEnd() != null) {
stream = stream.filter(a -> a.getTaxAmount().compareTo(queryDto.getTaxAmountEnd()) < 0); stream = stream.filter(a -> a.getTaxAmount().compareTo(queryDto.getTaxAmountEnd()) < 0);
} }
List<OutputVATInvoiceInfoDto> finalList = stream.sorted(Comparator.comparing(OutputVATInvoiceInfoDto::getInvoiceDate)).collect(Collectors.toList()); return stream.sorted(Comparator.comparing(OutputVATInvoiceInfoDto::getInvoiceDate)).collect(Collectors.toList());
qResult.getPageInfo().setTotalCount(finalList.size());
if (finalList.size() > 0) {
PagingList pagingList = new PagingList(finalList, qResult.getPageInfo());
qResult.setList(pagingList.getPagingList());
}
return qResult;
} }
} }
...@@ -20,5 +20,8 @@ public class VatAbstractService { ...@@ -20,5 +20,8 @@ public class VatAbstractService {
OutputVATInvoiceMapper outputVATInvoiceMapper; OutputVATInvoiceMapper outputVATInvoiceMapper;
@Autowired @Autowired
CustomsInvoiceMapper customsInvoiceMapper; CustomsInvoiceMapper customsInvoiceMapper;
@Autowired
OutputVATInvoiceItemMapper outputVATInvoiceItemMapper;
@Autowired
InputVATInvoiceItemMapper inputVATInvoiceItemMapper;
} }
...@@ -82,6 +82,10 @@ ...@@ -82,6 +82,10 @@
criteria = ""; criteria = "";
vatImportService.getExportCustomInvoiceList(criteria).success(function (data, status, headers) { vatImportService.getExportCustomInvoiceList(criteria).success(function (data, status, headers) {
if(status===204){
SweetAlert.warning("没有数据可以下载");
return;
}
vatExportService.exportToExcel(data, status, headers, 'CustomInvoice.xlsx'); vatExportService.exportToExcel(data, status, headers, 'CustomInvoice.xlsx');
}); });
}; };
......
...@@ -512,6 +512,10 @@ ...@@ -512,6 +512,10 @@
//导出进项发票数据 //导出进项发票数据
var downloadInputInvoice = function () { var downloadInputInvoice = function () {
vatPreviewService.getExportInputInvoiceList($scope.queryParams).success(function (data, status, headers) { vatPreviewService.getExportInputInvoiceList($scope.queryParams).success(function (data, status, headers) {
if(status===204){
SweetAlert.warning("没有数据可以下载");
return;
}
vatExportService.exportToExcel(data, status, headers, '进项发票信息.xlsx'); vatExportService.exportToExcel(data, status, headers, '进项发票信息.xlsx');
}); });
}; };
......
...@@ -443,6 +443,10 @@ ...@@ -443,6 +443,10 @@
var doExport = function () var doExport = function ()
{ {
vatPreviewService.getExportOutputInvoiceList($scope.queryParams).success(function (data, status, headers) { vatPreviewService.getExportOutputInvoiceList($scope.queryParams).success(function (data, status, headers) {
if(status===204){
SweetAlert.warning("没有数据可以下载");
return;
}
vatExportService.exportToExcel(data, status, headers, '销项发票信息.xlsx'); vatExportService.exportToExcel(data, status, headers, '销项发票信息.xlsx');
}).error(function () { }).error(function () {
SweetAlert.error($translate.instant('PleaseContactAdministrator')); SweetAlert.error($translate.instant('PleaseContactAdministrator'));
......
...@@ -31183,6 +31183,10 @@ vatModule.controller('vatPreviewCustomInvoiceSheetController', ['$scope', '$log' ...@@ -31183,6 +31183,10 @@ vatModule.controller('vatPreviewCustomInvoiceSheetController', ['$scope', '$log'
criteria = ""; criteria = "";
vatImportService.getExportCustomInvoiceList(criteria).success(function (data, status, headers) { vatImportService.getExportCustomInvoiceList(criteria).success(function (data, status, headers) {
if(status===204){
SweetAlert.warning("没有数据可以下载");
return;
}
vatExportService.exportToExcel(data, status, headers, 'CustomInvoice.xlsx'); vatExportService.exportToExcel(data, status, headers, 'CustomInvoice.xlsx');
}); });
}; };
...@@ -32242,6 +32246,10 @@ vatModule.controller('VatPreviewInputInvoiceController', ['$scope', '$log', '$tr ...@@ -32242,6 +32246,10 @@ vatModule.controller('VatPreviewInputInvoiceController', ['$scope', '$log', '$tr
//导出进项发票数据 //导出进项发票数据
var downloadInputInvoice = function () { var downloadInputInvoice = function () {
vatPreviewService.getExportInputInvoiceList($scope.queryParams).success(function (data, status, headers) { vatPreviewService.getExportInputInvoiceList($scope.queryParams).success(function (data, status, headers) {
if(status===204){
SweetAlert.warning("没有数据可以下载");
return;
}
vatExportService.exportToExcel(data, status, headers, '进项发票信息.xlsx'); vatExportService.exportToExcel(data, status, headers, '进项发票信息.xlsx');
}); });
}; };
...@@ -32819,6 +32827,10 @@ vatModule.controller('vatPreviewOutputInvoiceController', ['$scope', '$log', '$t ...@@ -32819,6 +32827,10 @@ vatModule.controller('vatPreviewOutputInvoiceController', ['$scope', '$log', '$t
var doExport = function () var doExport = function ()
{ {
vatPreviewService.getExportOutputInvoiceList($scope.queryParams).success(function (data, status, headers) { vatPreviewService.getExportOutputInvoiceList($scope.queryParams).success(function (data, status, headers) {
if(status===204){
SweetAlert.warning("没有数据可以下载");
return;
}
vatExportService.exportToExcel(data, status, headers, '销项发票信息.xlsx'); vatExportService.exportToExcel(data, status, headers, '销项发票信息.xlsx');
}).error(function () { }).error(function () {
SweetAlert.error($translate.instant('PleaseContactAdministrator')); SweetAlert.error($translate.instant('PleaseContactAdministrator'));
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment