优化客户供应商会员模块的导出
This commit is contained in:
@@ -530,7 +530,7 @@ public class MaterialService {
|
|||||||
objects.add(objs);
|
objects.add(objs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
File file = ExcelUtils.exportObjectsWithoutTitle(title, "导入时本行内容请勿删除,切记!", names, title, objects);
|
File file = ExcelUtils.exportObjectsWithoutTitle(title, "*导入时本行内容请勿删除,切记!", names, title, objects);
|
||||||
ExcelUtils.downloadExcel(file, file.getName(), response);
|
ExcelUtils.downloadExcel(file, file.getName(), response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -584,7 +584,7 @@ public class SupplierService {
|
|||||||
return exportExcelVendorOrCustomer(dataList, type);
|
return exportExcelVendorOrCustomer(dataList, type);
|
||||||
} else {
|
} else {
|
||||||
//会员
|
//会员
|
||||||
String[] names = {"会员卡号", "联系人", "手机号码", "联系电话", "电子邮箱", "预付款", "备注", "排序", "状态"};
|
String[] names = {"会员卡号*", "联系人", "手机号码", "联系电话", "电子邮箱", "备注", "排序", "状态*"};
|
||||||
String title = "信息内容";
|
String title = "信息内容";
|
||||||
List<String[]> objects = new ArrayList<String[]>();
|
List<String[]> objects = new ArrayList<String[]>();
|
||||||
if (null != dataList) {
|
if (null != dataList) {
|
||||||
@@ -595,76 +595,29 @@ public class SupplierService {
|
|||||||
objs[2] = s.getTelephone();
|
objs[2] = s.getTelephone();
|
||||||
objs[3] = s.getPhoneNum();
|
objs[3] = s.getPhoneNum();
|
||||||
objs[4] = s.getEmail();
|
objs[4] = s.getEmail();
|
||||||
objs[5] = s.getAdvanceIn() == null? "" : s.getAdvanceIn().setScale(2,BigDecimal.ROUND_HALF_UP).toString();
|
objs[5] = s.getDescription();
|
||||||
objs[6] = s.getDescription();
|
objs[6] = s.getSort();
|
||||||
objs[7] = s.getSort();
|
objs[7] = s.getEnabled() ? "1" : "0";
|
||||||
objs[8] = s.getEnabled() ? "启用" : "禁用";
|
|
||||||
objects.add(objs);
|
objects.add(objs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ExcelUtils.exportObjectsWithoutTitle(title, "导入时本行内容请勿删除,切记!", names, title, objects);
|
return ExcelUtils.exportObjectsWithoutTitle(title, "*导入时本行内容请勿删除,切记!", names, title, objects);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private File exportExcelVendorOrCustomer(List<Supplier> dataList, String type) throws Exception {
|
private File exportExcelVendorOrCustomer(List<Supplier> dataList, String type) throws Exception {
|
||||||
String beginNeedStr = "";
|
String beginNeedStr = "";
|
||||||
String allNeedStr = "";
|
|
||||||
if("供应商".equals(type)) {
|
if("供应商".equals(type)) {
|
||||||
beginNeedStr = "期初应付";
|
beginNeedStr = "期初应付";
|
||||||
allNeedStr = "期末应付";
|
|
||||||
} else if("客户".equals(type)) {
|
} else if("客户".equals(type)) {
|
||||||
beginNeedStr = "期初应收";
|
beginNeedStr = "期初应收";
|
||||||
allNeedStr = "期末应收";
|
|
||||||
}
|
}
|
||||||
String[] names = {"名称", "联系人", "手机号码", "联系电话", "电子邮箱", "传真", beginNeedStr,
|
String[] names = {"名称*", "联系人", "手机号码", "联系电话", "电子邮箱", "传真", beginNeedStr,
|
||||||
allNeedStr, "纳税人识别号", "税率(%)", "开户行", "账号", "地址", "备注", "排序", "状态"};
|
"纳税人识别号", "税率(%)", "开户行", "账号", "地址", "备注", "排序", "状态*"};
|
||||||
String title = "信息内容";
|
String title = "信息内容";
|
||||||
List<String[]> objects = new ArrayList<String[]>();
|
List<String[]> objects = new ArrayList<String[]>();
|
||||||
if (null != dataList) {
|
if (null != dataList) {
|
||||||
for (Supplier s : dataList) {
|
for (Supplier s : dataList) {
|
||||||
Integer supplierId = s.getId().intValue();
|
|
||||||
|
|
||||||
String beginTime = Tools.getYearBegin();
|
|
||||||
String endTime = Tools.getCenternTime(new Date());
|
|
||||||
BigDecimal sum = BigDecimal.ZERO;
|
|
||||||
String supplierType = type;
|
|
||||||
String inOutType = "";
|
|
||||||
String subType = "";
|
|
||||||
String typeBack = "";
|
|
||||||
String subTypeBack = "";
|
|
||||||
String billType = "";
|
|
||||||
if (("供应商").equals(supplierType)) {
|
|
||||||
inOutType = "入库";
|
|
||||||
subType = "采购";
|
|
||||||
typeBack = "出库";
|
|
||||||
subTypeBack = "采购退货";
|
|
||||||
billType = "付款";
|
|
||||||
} else if (("客户").equals(supplierType)) {
|
|
||||||
inOutType = "出库";
|
|
||||||
subType = "销售";
|
|
||||||
typeBack = "入库";
|
|
||||||
subTypeBack = "销售退货";
|
|
||||||
billType = "收款";
|
|
||||||
}
|
|
||||||
List<DepotHeadVo4StatementAccount> saList = depotHeadService.getStatementAccount(beginTime, endTime, supplierId, null,
|
|
||||||
supplierType, inOutType, subType, typeBack, subTypeBack, billType, null, null);
|
|
||||||
if(saList.size()>0) {
|
|
||||||
DepotHeadVo4StatementAccount item = saList.get(0);
|
|
||||||
//期初 = 起始期初金额+上期欠款金额-上期退货的欠款金额-上期收付款
|
|
||||||
BigDecimal preNeed = item.getBeginNeed().add(item.getPreDebtMoney()).subtract(item.getPreReturnDebtMoney()).subtract(item.getPreBackMoney());
|
|
||||||
item.setPreNeed(preNeed);
|
|
||||||
//实际欠款 = 本期欠款-本期退货的欠款金额
|
|
||||||
BigDecimal realDebtMoney = item.getDebtMoney().subtract(item.getReturnDebtMoney());
|
|
||||||
item.setDebtMoney(realDebtMoney);
|
|
||||||
//期末 = 期初+实际欠款-本期收款
|
|
||||||
BigDecimal allNeedGet = preNeed.add(realDebtMoney).subtract(item.getBackMoney());
|
|
||||||
sum = sum.add(allNeedGet);
|
|
||||||
}
|
|
||||||
if(("客户").equals(s.getType())) {
|
|
||||||
s.setAllNeedGet(sum);
|
|
||||||
} else if(("供应商").equals(s.getType())) {
|
|
||||||
s.setAllNeedPay(sum);
|
|
||||||
}
|
|
||||||
String[] objs = new String[20];
|
String[] objs = new String[20];
|
||||||
objs[0] = s.getSupplier();
|
objs[0] = s.getSupplier();
|
||||||
objs[1] = s.getContacts();
|
objs[1] = s.getContacts();
|
||||||
@@ -674,22 +627,20 @@ public class SupplierService {
|
|||||||
objs[5] = s.getFax();
|
objs[5] = s.getFax();
|
||||||
if(("客户").equals(s.getType())) {
|
if(("客户").equals(s.getType())) {
|
||||||
objs[6] = s.getBeginNeedGet() == null? "" : s.getBeginNeedGet().setScale(2,BigDecimal.ROUND_HALF_UP).toString();
|
objs[6] = s.getBeginNeedGet() == null? "" : s.getBeginNeedGet().setScale(2,BigDecimal.ROUND_HALF_UP).toString();
|
||||||
objs[7] = s.getAllNeedGet() == null? "" : s.getAllNeedGet().setScale(2,BigDecimal.ROUND_HALF_UP).toString();
|
|
||||||
} else if(("供应商").equals(s.getType())) {
|
} else if(("供应商").equals(s.getType())) {
|
||||||
objs[6] = s.getBeginNeedPay() == null? "" : s.getBeginNeedPay().setScale(2,BigDecimal.ROUND_HALF_UP).toString();
|
objs[6] = s.getBeginNeedPay() == null? "" : s.getBeginNeedPay().setScale(2,BigDecimal.ROUND_HALF_UP).toString();
|
||||||
objs[7] = s.getAllNeedPay() == null? "" : s.getAllNeedPay().setScale(2,BigDecimal.ROUND_HALF_UP).toString();
|
|
||||||
}
|
}
|
||||||
objs[8] = s.getTaxNum();
|
objs[7] = s.getTaxNum();
|
||||||
objs[9] = s.getTaxRate() == null? "" : s.getTaxRate().setScale(2,BigDecimal.ROUND_HALF_UP).toString();
|
objs[8] = s.getTaxRate() == null? "" : s.getTaxRate().setScale(2,BigDecimal.ROUND_HALF_UP).toString();
|
||||||
objs[10] = s.getBankName();
|
objs[9] = s.getBankName();
|
||||||
objs[11] = s.getAccountNumber();
|
objs[10] = s.getAccountNumber();
|
||||||
objs[12] = s.getAddress();
|
objs[11] = s.getAddress();
|
||||||
objs[13] = s.getDescription();
|
objs[12] = s.getDescription();
|
||||||
objs[14] = s.getSort();
|
objs[13] = s.getSort();
|
||||||
objs[15] = s.getEnabled() ? "启用" : "禁用";
|
objs[14] = s.getEnabled() ? "1" : "0";
|
||||||
objects.add(objs);
|
objects.add(objs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ExcelUtils.exportObjectsWithoutTitle(title, "导入时本行内容请勿删除,切记!", names, title, objects);
|
return ExcelUtils.exportObjectsWithoutTitle(title, "*导入时本行内容请勿删除,切记!", names, title, objects);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,15 +51,21 @@ public class ExcelUtils {
|
|||||||
WritableSheet sheet = wtwb.createSheet(title, 0);
|
WritableSheet sheet = wtwb.createSheet(title, 0);
|
||||||
sheet.getSettings().setDefaultColumnWidth(12);
|
sheet.getSettings().setDefaultColumnWidth(12);
|
||||||
|
|
||||||
// 标题的格式
|
// 标题的格式-红色
|
||||||
WritableFont wfc = new WritableFont(WritableFont.ARIAL, 12,
|
WritableFont redWF = new WritableFont(WritableFont.ARIAL, 12,
|
||||||
WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
|
WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
|
||||||
jxl.format.Colour.BLACK);
|
Colour.RED);
|
||||||
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
|
WritableCellFormat redWFFC = new WritableCellFormat(redWF);
|
||||||
wcfFC.setVerticalAlignment(VerticalAlignment.CENTRE);
|
redWFFC.setVerticalAlignment(VerticalAlignment.CENTRE);
|
||||||
|
redWFFC.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
|
||||||
|
|
||||||
//设置边框
|
// 标题的格式-黑色
|
||||||
wcfFC.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
|
WritableFont blackWF = new WritableFont(WritableFont.ARIAL, 12,
|
||||||
|
WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
|
||||||
|
Colour.BLACK);
|
||||||
|
WritableCellFormat blackWFFC = new WritableCellFormat(blackWF);
|
||||||
|
blackWFFC.setVerticalAlignment(VerticalAlignment.CENTRE);
|
||||||
|
blackWFFC.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN);
|
||||||
|
|
||||||
// 设置字体以及单元格格式
|
// 设置字体以及单元格格式
|
||||||
WritableFont wfont = new WritableFont(WritableFont.createFont("楷书"), 12);
|
WritableFont wfont = new WritableFont(WritableFont.createFont("楷书"), 12);
|
||||||
@@ -68,11 +74,19 @@ public class ExcelUtils {
|
|||||||
format.setVerticalAlignment(VerticalAlignment.TOP);
|
format.setVerticalAlignment(VerticalAlignment.TOP);
|
||||||
|
|
||||||
// 第一行写入提示
|
// 第一行写入提示
|
||||||
sheet.addCell(new Label(0, 0, tip, wcfFC));
|
if(StringUtil.isNotEmpty(tip) && tip.contains("*")) {
|
||||||
|
sheet.addCell(new Label(0, 0, tip, redWFFC));
|
||||||
|
} else {
|
||||||
|
sheet.addCell(new Label(0, 0, tip, blackWFFC));
|
||||||
|
}
|
||||||
|
|
||||||
// 第二行写入标题
|
// 第二行写入标题
|
||||||
for (int i = 0; i < names.length; i++) {
|
for (int i = 0; i < names.length; i++) {
|
||||||
sheet.addCell(new Label(i, 1, names[i], wcfFC));
|
if(StringUtil.isNotEmpty(names[i]) && names[i].contains("*")) {
|
||||||
|
sheet.addCell(new Label(i, 1, names[i], redWFFC));
|
||||||
|
} else {
|
||||||
|
sheet.addCell(new Label(i, 1, names[i], blackWFFC));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 其余行依次写入数据
|
// 其余行依次写入数据
|
||||||
|
|||||||
Reference in New Issue
Block a user