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.InputStream;
|
||||
import java.math.BigDecimal;
|
||||
import java.net.URLEncoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
@ -225,21 +226,11 @@ public class EmisSettleBillController extends BaseController
|
||||
List<EmisSettleSubBill> list = emisBaseService.selectSubBillListBySettleBillNo(emisSettleBill.getSettleBillNo());
|
||||
// 转换子账单为 MAP
|
||||
|
||||
InputStream inputStream = ResourceUtil.getResourceObj("tpl/bill_tpl.xlsx").getStream();
|
||||
|
||||
Map<String, Object> textMap = MapUtils.newHashMap();
|
||||
textMap.put("title", bill.getSettleBillName());
|
||||
textMap.put("total", bill.getRecMoney().toString());
|
||||
|
||||
|
||||
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);
|
||||
String tplName="tpl/bill_tpl_simple.xlsx";
|
||||
|
||||
List<Map<String, Object>> listMap=new ArrayList<>();
|
||||
for(EmisSettleSubBill billItem:list){
|
||||
@ -251,14 +242,67 @@ public class EmisSettleBillController extends BaseController
|
||||
voMap.put("company",billItem.getWaybillDetail().getSendCompany());
|
||||
voMap.put("paymentType", DictUtils.getDictLabel("emis_payment_type",billItem.getWaybillDetail().getPaymentType()));
|
||||
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("totalVolume", billItem.getWaybillDetail().getTotalVolume());
|
||||
voMap.put("freight", billItem.getWaybillDetail().getFreight());
|
||||
voMap.put("totalVolume", billItem.getWaybillDetail().getTotalVolume().toString());
|
||||
voMap.put("freight", billItem.getWaybillDetail().getFreight().toString());
|
||||
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);
|
||||
}
|
||||
|
||||
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));
|
||||
|
||||
|
||||
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