优化导出结算信息逻辑,简化数据处理方式

This commit is contained in:
syruan 2025-09-25 14:00:30 +08:00
parent 91b66aa7b3
commit e835da5e30
1 changed files with 25 additions and 49 deletions

View File

@ -280,11 +280,11 @@ public class SltAgreementInfoController extends BaseController {
@ApiOperation(value = "导出结算信息列表")
@PreventRepeatSubmit
@RequiresPermissions("settlement:info:export")
@SysLog(title = "结算信息", businessType = OperaType.EXPORT, logType = 1,module = "仓储管理->导出结算信息")
@SysLog(title = "结算信息", businessType = OperaType.EXPORT, module = "仓储管理->导出结算信息")
@PostMapping("/export")
public void export(HttpServletResponse response, SltAgreementInfo sltAgreementInfo) {
List<SltAgreementInfo> list = sltAgreementInfoService.selectSltAgreementInfoList(sltAgreementInfo);
ExcelUtil<SltAgreementInfo> util = new ExcelUtil<SltAgreementInfo>(SltAgreementInfo.class);
ExcelUtil<SltAgreementInfo> util = new ExcelUtil<>(SltAgreementInfo.class);
util.exportExcel(response, list, "结算信息数据");
}
@ -296,14 +296,11 @@ public class SltAgreementInfoController extends BaseController {
* @throws Exception
*/
private void expOutExcel(HttpServletResponse response, List<SltLeaseInfo> list, String filename,String projectName,String unitName,BigDecimal totalCost,int type)
throws Exception {
private void expOutExcel(HttpServletResponse response, List<SltLeaseInfo> list, String filename,String projectName,String unitName,BigDecimal totalCost,int type) throws Exception {
if (list != null) {
List<Map<String, Object>> results = new ArrayList<Map<String, Object>>();
int size = list.size();
for (int i = 0; i < size; i++) {
SltLeaseInfo bean = list.get(i);
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean,type,0);
List<Map<String, Object>> results = new ArrayList<>();
for (SltLeaseInfo bean : list) {
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, type, 0);
results.add(maps);
}
List<String> headers = receiveDetailsHeader(type,0);
@ -318,13 +315,12 @@ public class SltAgreementInfoController extends BaseController {
out.flush();
out.close();
}else{
List<Map<String, Object>> results = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> results = new ArrayList<>();
List<String> headers = receiveDetailsHeader(type,0);
HSSFWorkbook workbook = PoiOutPage.excel(results, headers, filename);
OutputStream out = null;
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.addHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode(filename, "UTF-8") + ".xls");
response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8") + ".xls");
response.setHeader("Pragma", "No-cache");
out = response.getOutputStream();
workbook.write(out);
@ -347,42 +343,36 @@ public class SltAgreementInfoController extends BaseController {
List<Map<String, Object>> resultsScrap = new ArrayList<>();
List<Map<String, Object>> resultsReduction = new ArrayList<>();
if (lease!= null) {
int sizeLease = lease.size();
for (SltLeaseInfo bean : lease) {
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 1, 1);
resultsLease.add(maps);
}
}
if (lose!= null) {
int sizeLose = lose.size();
for (SltLeaseInfo bean : lose) {
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 2, 1);
resultsLose.add(maps);
}
}
if (repair!= null) {
int sizeRepair = repair.size();
for (SltLeaseInfo bean : repair) {
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 3, 1);
resultsRepair.add(maps);
}
}
if (scrap!= null) {
int sizeScrap = scrap.size();
for (SltLeaseInfo bean : scrap) {
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 4, 1);
resultsScrap.add(maps);
}
}
if (reduction!= null) {
int sizeReduction = reduction.size();
for (SltLeaseInfo bean : reduction) {
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 5, 1);
resultsReduction.add(maps);
}
}
List<String> headersLease = receiveDetailsHeader(1,1);
List<String> headersLose = receiveDetailsHeader(2,1);
List<String> headersRepair = receiveDetailsHeader(3,1);
@ -408,50 +398,39 @@ public class SltAgreementInfoController extends BaseController {
private void expOutExcelAlls(HttpServletResponse response, List<SltLeaseInfo> lease,List<SltLeaseInfo> lose,List<SltLeaseInfo> repair,List<SltLeaseInfo> scrap,List<SltLeaseInfo> reduction,
String filename,String projectName,String unitName,BigDecimal totalCostLease,BigDecimal totalCostLose,BigDecimal totalCostRepair,BigDecimal totalCostScrap,BigDecimal totalCostReduction)
throws Exception {
List<Map<String, Object>> resultsLease = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> resultsLose = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> resultsRepair = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> resultsScrap = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> resultsReduction = new ArrayList<Map<String, Object>>();
List<Map<String, Object>> resultsLease = new ArrayList<>();
List<Map<String, Object>> resultsLose = new ArrayList<>();
List<Map<String, Object>> resultsRepair = new ArrayList<>();
List<Map<String, Object>> resultsScrap = new ArrayList<>();
List<Map<String, Object>> resultsReduction = new ArrayList<>();
if (lease!= null) {
int sizeLease = lease.size();
for (int i = 0; i < sizeLease; i++) {
SltLeaseInfo bean = lease.get(i);
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean,1,1);
for (SltLeaseInfo bean : lease) {
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 1, 1);
resultsLease.add(maps);
}
}
if (lose!= null) {
int sizeLose = lose.size();
for (int i = 0; i < sizeLose; i++) {
SltLeaseInfo bean = lose.get(i);
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean,2,1);
for (SltLeaseInfo bean : lose) {
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 2, 1);
resultsLose.add(maps);
}
}
if (repair!= null) {
int sizeRepair = repair.size();
for (int i = 0; i < sizeRepair; i++) {
SltLeaseInfo bean = repair.get(i);
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean,3,1);
for (SltLeaseInfo bean : repair) {
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 3, 1);
resultsRepair.add(maps);
}
}
if (scrap!= null) {
int sizeScrap = scrap.size();
for (int i = 0; i < sizeScrap; i++) {
SltLeaseInfo bean = scrap.get(i);
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean,4,1);
for (SltLeaseInfo bean : scrap) {
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 4, 1);
resultsScrap.add(maps);
}
}
if (reduction!= null) {
int sizeReduction = reduction.size();
for (int i = 0; i < sizeReduction; i++) {
SltLeaseInfo bean = reduction.get(i);
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean,5,1);
for (SltLeaseInfo bean : reduction) {
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 5, 1);
resultsReduction.add(maps);
}
}
@ -464,8 +443,7 @@ public class SltAgreementInfoController extends BaseController {
HSSFWorkbook workbook = PoiOutPage.excelForcheckAlls(resultsLease,resultsLose,resultsRepair,resultsScrap,resultsReduction, headersLease,headersLose,headersRepair,headersScrap,headersReduction, filename,projectName,unitName,totalCostLease,totalCostLose,totalCostRepair,totalCostScrap,totalCostReduction);
OutputStream out = null;
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.addHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode(filename, "UTF-8") + ".xls");
response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(filename, "UTF-8") + ".xls");
response.setHeader("Pragma", "No-cache");
out = response.getOutputStream();
workbook.write(out);
@ -476,13 +454,11 @@ public class SltAgreementInfoController extends BaseController {
/**
* 租赁费用单数据转换
* @param bean
* @return
*/
private Map<String, Object> outReceiveDetailsBeanToMap(SltLeaseInfo bean,int type,int flag) {
// 创建一个SimpleDateFormat对象定义日期格式
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Map<String, Object> maps = new LinkedHashMap<String, Object>();
Map<String, Object> maps = new LinkedHashMap<>();
if(type==1){
// maps.put("unitName", bean.getUnitName());
// maps.put("projectName", bean.getProjectName());