优化客户供应商会员模块的导出

This commit is contained in:
季圣华
2023-04-21 00:19:57 +08:00
parent ede3424747
commit 7e712bdcac
3 changed files with 40 additions and 75 deletions

View File

@@ -530,7 +530,7 @@ public class MaterialService {
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);
}

View File

@@ -584,7 +584,7 @@ public class SupplierService {
return exportExcelVendorOrCustomer(dataList, type);
} else {
//会员
String[] names = {"会员卡号", "联系人", "手机号码", "联系电话", "电子邮箱", "预付款", "备注", "排序", "状态"};
String[] names = {"会员卡号*", "联系人", "手机号码", "联系电话", "电子邮箱", "备注", "排序", "状态*"};
String title = "信息内容";
List<String[]> objects = new ArrayList<String[]>();
if (null != dataList) {
@@ -595,76 +595,29 @@ public class SupplierService {
objs[2] = s.getTelephone();
objs[3] = s.getPhoneNum();
objs[4] = s.getEmail();
objs[5] = s.getAdvanceIn() == null? "" : s.getAdvanceIn().setScale(2,BigDecimal.ROUND_HALF_UP).toString();
objs[6] = s.getDescription();
objs[7] = s.getSort();
objs[8] = s.getEnabled() ? "启用" : "禁用";
objs[5] = s.getDescription();
objs[6] = s.getSort();
objs[7] = s.getEnabled() ? "1" : "0";
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 {
String beginNeedStr = "";
String allNeedStr = "";
if("供应商".equals(type)) {
beginNeedStr = "期初应付";
allNeedStr = "期末应付";
} else if("客户".equals(type)) {
beginNeedStr = "期初应收";
allNeedStr = "期末应收";
}
String[] names = {"名称", "联系人", "手机号码", "联系电话", "电子邮箱", "传真", beginNeedStr,
allNeedStr, "纳税人识别号", "税率(%)", "开户行", "账号", "地址", "备注", "排序", "状态"};
String[] names = {"名称*", "联系人", "手机号码", "联系电话", "电子邮箱", "传真", beginNeedStr,
"纳税人识别号", "税率(%)", "开户行", "账号", "地址", "备注", "排序", "状态*"};
String title = "信息内容";
List<String[]> objects = new ArrayList<String[]>();
if (null != 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];
objs[0] = s.getSupplier();
objs[1] = s.getContacts();
@@ -674,22 +627,20 @@ public class SupplierService {
objs[5] = s.getFax();
if(("客户").equals(s.getType())) {
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())) {
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[9] = s.getTaxRate() == null? "" : s.getTaxRate().setScale(2,BigDecimal.ROUND_HALF_UP).toString();
objs[10] = s.getBankName();
objs[11] = s.getAccountNumber();
objs[12] = s.getAddress();
objs[13] = s.getDescription();
objs[14] = s.getSort();
objs[15] = s.getEnabled() ? "启用" : "禁用";
objs[7] = s.getTaxNum();
objs[8] = s.getTaxRate() == null? "" : s.getTaxRate().setScale(2,BigDecimal.ROUND_HALF_UP).toString();
objs[9] = s.getBankName();
objs[10] = s.getAccountNumber();
objs[11] = s.getAddress();
objs[12] = s.getDescription();
objs[13] = s.getSort();
objs[14] = s.getEnabled() ? "1" : "0";
objects.add(objs);
}
}
return ExcelUtils.exportObjectsWithoutTitle(title, "导入时本行内容请勿删除,切记!", names, title, objects);
return ExcelUtils.exportObjectsWithoutTitle(title, "*导入时本行内容请勿删除,切记!", names, title, objects);
}
}

View File

@@ -51,15 +51,21 @@ public class ExcelUtils {
WritableSheet sheet = wtwb.createSheet(title, 0);
sheet.getSettings().setDefaultColumnWidth(12);
// 标题的格式
WritableFont wfc = new WritableFont(WritableFont.ARIAL, 12,
// 标题的格式-红色
WritableFont redWF = new WritableFont(WritableFont.ARIAL, 12,
WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE,
jxl.format.Colour.BLACK);
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
wcfFC.setVerticalAlignment(VerticalAlignment.CENTRE);
Colour.RED);
WritableCellFormat redWFFC = new WritableCellFormat(redWF);
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);
@@ -68,11 +74,19 @@ public class ExcelUtils {
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++) {
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));
}
}
// 其余行依次写入数据