md
This commit is contained in:
parent
e83604d3f1
commit
c1d3d34940
@ -13,6 +13,7 @@ package com.xdadan.erp.web.emis;
|
|||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -225,21 +226,11 @@ public class EmisSettleBillController extends BaseController
|
|||||||
List<EmisSettleSubBill> list = emisBaseService.selectSubBillListBySettleBillNo(emisSettleBill.getSettleBillNo());
|
List<EmisSettleSubBill> list = emisBaseService.selectSubBillListBySettleBillNo(emisSettleBill.getSettleBillNo());
|
||||||
// 转换子账单为 MAP
|
// 转换子账单为 MAP
|
||||||
|
|
||||||
InputStream inputStream = ResourceUtil.getResourceObj("tpl/bill_tpl.xlsx").getStream();
|
|
||||||
|
|
||||||
Map<String, Object> textMap = MapUtils.newHashMap();
|
Map<String, Object> textMap = MapUtils.newHashMap();
|
||||||
textMap.put("title", bill.getSettleBillName());
|
textMap.put("title", bill.getSettleBillName());
|
||||||
|
textMap.put("total", bill.getRecMoney().toString());
|
||||||
|
|
||||||
|
String tplName="tpl/bill_tpl_simple.xlsx";
|
||||||
ServletOutputStream outputStream = response.getOutputStream();
|
|
||||||
|
|
||||||
// 设置创建行的方式
|
|
||||||
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
|
|
||||||
// FillConfig fillConfig2 = FillConfig.builder().forceNewRow(Boolean.FALSE).build();
|
|
||||||
ExcelWriter excelWriter = EasyExcel.write(outputStream).withTemplate(inputStream).excelType(ExcelTypeEnum.XLSX).build();
|
|
||||||
// 写入到sheet
|
|
||||||
WriteSheet sheet0 = EasyExcel.writerSheet(0).build();
|
|
||||||
excelWriter.fill(textMap, sheet0);
|
|
||||||
|
|
||||||
List<Map<String, Object>> listMap=new ArrayList<>();
|
List<Map<String, Object>> listMap=new ArrayList<>();
|
||||||
for(EmisSettleSubBill billItem:list){
|
for(EmisSettleSubBill billItem:list){
|
||||||
@ -251,14 +242,67 @@ public class EmisSettleBillController extends BaseController
|
|||||||
voMap.put("company",billItem.getWaybillDetail().getSendCompany());
|
voMap.put("company",billItem.getWaybillDetail().getSendCompany());
|
||||||
voMap.put("paymentType", DictUtils.getDictLabel("emis_payment_type",billItem.getWaybillDetail().getPaymentType()));
|
voMap.put("paymentType", DictUtils.getDictLabel("emis_payment_type",billItem.getWaybillDetail().getPaymentType()));
|
||||||
voMap.put("productTypeName", billItem.getWaybillDetail().getProductTypeName());
|
voMap.put("productTypeName", billItem.getWaybillDetail().getProductTypeName());
|
||||||
voMap.put("parcelQty", billItem.getWaybillDetail().getParcelQty());
|
voMap.put("parcelQty", billItem.getWaybillDetail().getParcelQty().toString());
|
||||||
voMap.put("settlementWeight", billItem.getWaybillDetail().getSettlementWeight());
|
voMap.put("settlementWeight", billItem.getWaybillDetail().getSettlementWeight());
|
||||||
voMap.put("totalVolume", billItem.getWaybillDetail().getTotalVolume());
|
voMap.put("totalVolume", billItem.getWaybillDetail().getTotalVolume().toString());
|
||||||
voMap.put("freight", billItem.getWaybillDetail().getFreight());
|
voMap.put("freight", billItem.getWaybillDetail().getFreight().toString());
|
||||||
voMap.put("feeRemark", billItem.getWaybillDetail().getFeeRemark());
|
voMap.put("feeRemark", billItem.getWaybillDetail().getFeeRemark());
|
||||||
|
|
||||||
|
//计算分项数据
|
||||||
|
List<EmisSettleSubBillFeeitem> feeItemList=billItem.getFeeitemList();
|
||||||
|
if( !CollectionUtils.isEmpty(feeItemList) ){
|
||||||
|
if(feeItemList.size()>1){
|
||||||
|
tplName="tpl/bill_tpl.xlsx";
|
||||||
|
}
|
||||||
|
|
||||||
|
BigDecimal otherFee = BigDecimal.ZERO;
|
||||||
|
BigDecimal transFee = BigDecimal.ZERO;
|
||||||
|
BigDecimal cebFee = BigDecimal.ZERO;
|
||||||
|
BigDecimal declareFee = BigDecimal.ZERO;
|
||||||
|
for(EmisSettleSubBillFeeitem feeitem:feeItemList){
|
||||||
|
if("CNY".equals(feeitem.getCurrency())) {
|
||||||
|
if ("1001".equals(feeitem.getFeeCode())) {
|
||||||
|
transFee=transFee.add(feeitem.getBillFee());
|
||||||
|
}
|
||||||
|
// 报关费
|
||||||
|
else if ("2002".equals(feeitem.getFeeCode())) {
|
||||||
|
cebFee=cebFee.add(feeitem.getBillFee());
|
||||||
|
}
|
||||||
|
// 清关费
|
||||||
|
else if ("2003".equals(feeitem.getFeeCode())) {
|
||||||
|
declareFee=declareFee.add(feeitem.getBillFee());
|
||||||
|
} else {
|
||||||
|
otherFee=otherFee.add(feeitem.getBillFee());
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
voMap.put("transFee", transFee.toString());
|
||||||
|
voMap.put("cebFee",cebFee.toString());
|
||||||
|
voMap.put("declareFee", declareFee.toString());
|
||||||
|
voMap.put("otherFee", otherFee.toString());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// {.transFee} {.cebFee} {.declareFee} {.otherFee}
|
||||||
|
|
||||||
listMap.add(voMap);
|
listMap.add(voMap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ServletOutputStream outputStream = response.getOutputStream();
|
||||||
|
|
||||||
|
//账单主数据填充
|
||||||
|
InputStream inputStream = ResourceUtil.getResourceObj(tplName).getStream();
|
||||||
|
// 设置创建行的方式
|
||||||
|
FillConfig fillConfig = FillConfig.builder().forceNewRow(Boolean.TRUE).build();
|
||||||
|
// FillConfig fillConfig2 = FillConfig.builder().forceNewRow(Boolean.FALSE).build();
|
||||||
|
ExcelWriter excelWriter = EasyExcel.write(outputStream).withTemplate(inputStream).excelType(ExcelTypeEnum.XLSX).build();
|
||||||
|
// 写入到sheet
|
||||||
|
WriteSheet sheet0 = EasyExcel.writerSheet(0).build();
|
||||||
|
excelWriter.fill(textMap, sheet0);
|
||||||
|
|
||||||
// 填充
|
// 填充
|
||||||
logger.error("====>listMap===>{}",JSON.toJSONString(listMap));
|
logger.error("====>listMap===>{}",JSON.toJSONString(listMap));
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
BIN
emis-biz/src/main/resources/tpl/bill_tpl_simple.xlsx
Normal file
BIN
emis-biz/src/main/resources/tpl/bill_tpl_simple.xlsx
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user