From 4f4e7d8f32289be22bccadbe338abef784070393 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期一, 09 三月 2026 15:05:49 +0800
Subject: [PATCH] 导出添加制表人,制表时间,查询时间
---
fzzy-igdss-core/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java | 109 +++++++++++++++++++++++++++
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInDetail.view.xml | 10 ++
fzzy-igdss-web/src/main/java/com/fzzy/common/ExportController.java | 98 +++++++++++++++--------
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportStore.view.xml | 7 +
fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportOutDetail.view.xml | 10 ++
5 files changed, 193 insertions(+), 41 deletions(-)
diff --git a/fzzy-igdss-core/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java b/fzzy-igdss-core/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
index 0cd1c0b..36289d0 100644
--- a/fzzy-igdss-core/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
+++ b/fzzy-igdss-core/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
@@ -48,6 +48,7 @@
* @author ruoyi
*/
public class ExcelUtil<T> {
+
public static final String FORMULA_REGEX_STR = "=|-|\\+|@";
public static final String[] FORMULA_STR = {"=", "-", "+", "@"};
/**
@@ -107,6 +108,19 @@
* 鏍囬
*/
private String title;
+ /**
+ * 鎼滅储鏃堕棿
+ */
+ private String timeDesc;
+ /**
+ * 鍒惰〃浜�
+ */
+ private String createUser;
+ /**
+ * 鍒惰〃鏃堕棿
+ */
+ private Date createTime;
+
/**
* 鏈�澶ч珮搴�
*/
@@ -306,6 +320,24 @@
createSubHead();
}
+ public void init(List<T> list, String sheetName, String title, Type type, String timeDesc, String createUser, Date createTime) {
+ if (list == null) {
+ list = new ArrayList<T>();
+ }
+ this.list = list;
+ this.sheetName = sheetName;
+ this.type = type;
+ this.title = title;
+ this.timeDesc = timeDesc;
+ this.createUser = createUser;
+ this.createTime = createTime;
+ createExcelField();
+ createWorkbook();
+ createTitle();
+ createSecondHead();
+ createSubHead();
+ }
+
/**
* 鍒涘缓excel绗竴琛屾爣棰�
*/
@@ -325,6 +357,52 @@
sheet.addMergedRegion(new CellRangeAddress(titleRow.getRowNum(), titleRow.getRowNum(), titleRow.getRowNum(), titleLastCol));
}
}
+
+ /**
+ * 鍒涘缓绗簩琛岃嚜瀹氫箟鍐呭
+ *
+ * @author sgj
+ * @since 2026/03/09
+ */
+ public void createSecondHead() {
+ if (StringUtils.isNotBlank(timeDesc) && StringUtils.isNotBlank(createUser) && createTime != null) {
+ subMergedFirstRowNum++;
+ subMergedLastRowNum++;
+ //绗簩琛岋紝娣诲姞鎼滅储鏃堕棿锛屽垱寤轰汉锛� 鍒涘缓鏃堕棿淇℃伅
+ Row secondRow = sheet.createRow(rownum);
+ secondRow.setHeightInPoints(30);
+ int titleLastCol = this.fields.size() - 1;
+ if (isSubList()) {
+ titleLastCol = titleLastCol + subFields.size() - 1;
+ }
+
+ // 鍒涘缓涓変釜鍗曞厓鏍硷紝鍒嗗埆鐢ㄤ簬鎼滅储鏃堕棿銆佸垱寤轰汉銆佸垱寤烘椂闂�
+ // 绗竴鍒楋細鎼滅储鏃堕棿
+ Cell timeDescCell = secondRow.createCell(0);
+ timeDescCell.setCellValue("鏌ヨ鏃堕棿锛�"+timeDesc);
+ timeDescCell.setCellStyle(styles.get("secTitle"));
+
+ // 涓棿鍒楋細鍒涘缓浜�
+ int createUserCol = (titleLastCol + 1) / 2;
+ Cell createUserCell = secondRow.createCell(createUserCol);
+ createUserCell.setCellValue("鍒惰〃浜猴細"+createUser);
+ createUserCell.setCellStyle(styles.get("secTitle"));
+
+ // 鏈�鍚庝竴鍒楋細鍒涘缓鏃堕棿
+ Cell createTimeCell = secondRow.createCell(titleLastCol - 1);
+ createTimeCell.setCellValue("鍒惰〃鏃堕棿锛�"+parseDateToStr("yyyy-MM-dd HH:mm:ss", createTime));
+ createTimeCell.setCellStyle(styles.get("secTitle"));
+
+ // 鍚堝苟鍗曞厓鏍�
+ sheet.addMergedRegion(new CellRangeAddress(secondRow.getRowNum(), secondRow.getRowNum(), 0, 1));
+ sheet.addMergedRegion(new CellRangeAddress(secondRow.getRowNum(), secondRow.getRowNum(), createUserCol, createUserCol + 1));
+ sheet.addMergedRegion(new CellRangeAddress(secondRow.getRowNum(), secondRow.getRowNum(), titleLastCol - 1, titleLastCol));
+
+ rownum++;
+ }
+
+ }
+
/**
* 鍒涘缓瀵硅薄鐨勫瓙鍒楄〃鍚嶇О
@@ -532,6 +610,27 @@
this.init(list, sheetName, title, Type.EXPORT);
return exportExcel();
}
+
+ /**
+ * 瀵筶ist鏁版嵁婧愬皢鍏堕噷闈㈢殑鏁版嵁瀵煎叆鍒癳xcel琛ㄥ崟
+ *
+ * @param list 瀵煎嚭鏁版嵁闆嗗悎
+ * @param sheetName 宸ヤ綔琛ㄧ殑鍚嶇О
+ * @param title 鏍囬
+ * @param timeDesc 鏌ヨ鏃堕棿
+ * @param createUser 鍒惰〃浜�
+ * @param createTime 鍒惰〃鏃堕棿
+ * @return 缁撴灉
+ */
+ public AjaxResult exportExcel(List<T> list, String sheetName, String title, String timeDesc, String createUser, Date createTime) {
+ if (StringUtils.isBlank(timeDesc) || StringUtils.isBlank(createUser) || createTime == null) {
+ this.init(list, sheetName, title, Type.EXPORT);
+ } else {
+ this.init(list, sheetName, title, Type.EXPORT, timeDesc, createUser, createTime);
+ }
+ return exportExcel();
+ }
+
/**
* 瀵筶ist鏁版嵁婧愬皢鍏堕噷闈㈢殑鏁版嵁瀵煎叆鍒癳xcel琛ㄥ崟
@@ -770,6 +869,16 @@
style.setFont(dataFont);
styles.put("data", style);
+
+ style = wb.createCellStyle();
+ style.setAlignment(HorizontalAlignment.CENTER);
+ style.setVerticalAlignment(VerticalAlignment.CENTER);
+ Font dataFontTwo = wb.createFont();
+ dataFontTwo.setFontName("Arial");
+ dataFontTwo.setFontHeightInPoints((short) 10);
+ style.setFont(dataFontTwo);
+ styles.put("secTitle", style);
+
style = wb.createCellStyle();
style.setAlignment(HorizontalAlignment.CENTER);
style.setVerticalAlignment(VerticalAlignment.CENTER);
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInDetail.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInDetail.view.xml
index eb4fb85..a627b23 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInDetail.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportInDetail.view.xml
@@ -525,7 +525,10 @@
"depotId":data.get("depotId"),
"foodVariety":data.get("foodVariety"),
"start":data.get("start"),
- "end":data.get("end")
+ "end":data.get("end"),
+ "timeDesc":data.get("timeDesc"),
+ "createUser":data.get("createUser"),
+ "createTime":data.get("createTime")
}
window.parent.$.table.exportExcelDorado("./export/inout-excel", "鍏ュ簱鏁版嵁", param);</ClientEvent>
<Property name="caption">瀵煎嚭EXCEL</Property>
@@ -595,7 +598,10 @@
"deptId":data.get("deptId"),
"companyId":data.get("companyId"),
"start":data.get("start"),
- "end":data.get("end")
+ "end":data.get("end"),
+ "timeDesc":data.get("timeDesc"),
+ "createUser":data.get("createUser"),
+ "createTime":data.get("createTime")
}
window.parent.$.table.exportExcelDorado("./export/inout-excel", "鍏ュ簱鏁版嵁", param);</ClientEvent>
<Property name="caption">瀵煎嚭EXCEL</Property>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportOutDetail.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportOutDetail.view.xml
index fd508e7..0aae604 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportOutDetail.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportOutDetail.view.xml
@@ -511,7 +511,10 @@
"depotId":data.get("depotId"),
"foodVariety":data.get("foodVariety"),
"start":data.get("start"),
- "end":data.get("end")
+ "end":data.get("end"),
+ "timeDesc":data.get("timeDesc"),
+ "createUser":data.get("createUser"),
+ "createTime":data.get("createTime")
}
window.parent.$.table.exportExcelDorado("./export/inout-excel", "鍑哄簱鏁版嵁", param);</ClientEvent>
<Property name="caption">瀵煎嚭EXCEL</Property>
@@ -579,7 +582,10 @@
"deptId":data.get("deptId"),
"companyId":data.get("companyId"),
"start":data.get("start"),
- "end":data.get("end")
+ "end":data.get("end"),
+ "timeDesc":data.get("timeDesc"),
+ "createUser":data.get("createUser"),
+ "createTime":data.get("createTime")
}
window.parent.$.table.exportExcelDorado("./export/inout-excel", "鍑哄簱鏁版嵁", param);</ClientEvent>
<Property name="caption">瀵煎嚭EXCEL</Property>
diff --git a/fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportStore.view.xml b/fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportStore.view.xml
index f1b9147..8cb297c 100644
--- a/fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportStore.view.xml
+++ b/fzzy-igdss-view/src/main/java/com/fzzy/igds/ReportStore.view.xml
@@ -117,7 +117,7 @@
<Property></Property>
</PropertyDef>
<PropertyDef name="createUser">
- <Property name="label">鍒涘缓浜�</Property>
+ <Property name="label">鍒惰〃浜�</Property>
</PropertyDef>
<PropertyDef name="createTime">
<Property name="dataType">DateTime</Property>
@@ -205,7 +205,10 @@
"deptId":data.get("deptId"),
"customerId":data.get("customerId"),
"start":data.get("start"),
- "end":data.get("end")
+ "end":data.get("end"),
+ "timeDesc":data.get("timeDesc"),
+ "createUser":data.get("createUser"),
+ "createTime":data.get("createTime")
}
window.parent.$.table.exportExcelDorado("./export/storage-excel", "搴撳瓨鏁版嵁", param);</ClientEvent>
<Property name="caption">瀵煎嚭EXCEL</Property>
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/common/ExportController.java b/fzzy-igdss-web/src/main/java/com/fzzy/common/ExportController.java
index 4011932..dcf006b 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/common/ExportController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/common/ExportController.java
@@ -1,7 +1,10 @@
package com.fzzy.common;
import com.fzzy.common.manager.ExportManager;
-import com.fzzy.igds.*;
+import com.fzzy.igds.CompanyPR;
+import com.fzzy.igds.DepotPR;
+import com.fzzy.igds.DeptPR;
+import com.fzzy.igds.ReportInoutPR;
import com.fzzy.igds.constant.FoodVariety;
import com.fzzy.igds.data.*;
import com.fzzy.igds.domain.Company;
@@ -19,17 +22,15 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
+
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.text.DecimalFormat;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
import java.util.stream.Collectors;
/**
- * @Description 鏁版嵁瀵煎嚭鍏ュ彛
+ * @Description 鏁版嵁瀵煎嚭鍏ュ彛
* @Author CZT
* @Date 2025/12/29 10:32
*/
@@ -101,6 +102,7 @@
/**
* 鍑哄叆搴撴姤琛ㄥ鍑�
+ *
* @return
*/
@RequestMapping("/inout-excel")
@@ -116,6 +118,19 @@
if (null != subDept) {
deptName = subDept.getDeptName();
}
+ String exportTimeDesc = "";
+ String exportCreateUser = "";
+ Date exportCreateTime = new Date();
+ if (StringUtils.isNotEmpty(param.getTimeDesc())) {
+ exportTimeDesc = param.getTimeDesc();
+ }
+ if (StringUtils.isNotEmpty(param.getCreateUser())) {
+ exportCreateUser = param.getCreateUser();
+ }
+ if (param.getCreateTime() != null) {
+ exportCreateTime = param.getCreateTime();
+ }
+
//鍒涘缓鏀跺偍鍏徃ID鍒板悕绉扮殑鏄犲皠
Map<String, String> companyMap = Optional.ofNullable(companyPR.getData())
.orElse(new ArrayList<>())
@@ -148,18 +163,18 @@
//绮鍝佺鏄犲皠
String foodVarietyNameValue = FoodVariety.getMsg(record.getFoodVariety());
export.setFoodVariety(foodVarietyNameValue != null ? foodVarietyNameValue : "");
- export.setFullWeight(df.format(record.getFullWeight())+"KG");
- export.setEmptyWeight(df.format(record.getEmptyWeight())+"KG");
- export.setNetWeight(df.format(record.getNetWeight())+"KG");
- export.setSettleWeight(df.format(record.getSettleWeight())+"KG");
- export.setRecordWeight(df.format(record.getRecordWeight())+"KG");
+ export.setFullWeight(df.format(record.getFullWeight()) + "KG");
+ export.setEmptyWeight(df.format(record.getEmptyWeight()) + "KG");
+ export.setNetWeight(df.format(record.getNetWeight()) + "KG");
+ export.setSettleWeight(df.format(record.getSettleWeight()) + "KG");
+ export.setRecordWeight(df.format(record.getRecordWeight()) + "KG");
export.setCompleteTime(record.getCompleteTime());
- export.setDeOther(df.format(record.getDeOther())+"KG");
+ export.setDeOther(df.format(record.getDeOther()) + "KG");
export.setUpdateLog(record.getUpdateLog());
exportList.add(export);
}
ExcelUtil<InoutRecordInExport> util = new ExcelUtil<InoutRecordInExport>(InoutRecordInExport.class);
- return util.exportExcel(exportList, sheetName, deptName);
+ return util.exportExcel(exportList, sheetName, deptName, exportTimeDesc, exportCreateUser, exportCreateTime);
}
if (StringUtils.isNotEmpty(param.getType()) && "OUT".equals(param.getType())) {
@@ -177,18 +192,18 @@
//绮鍝佺鏄犲皠
String foodVarietyNameValue = FoodVariety.getMsg(record.getFoodVariety());
export.setFoodVariety(foodVarietyNameValue != null ? foodVarietyNameValue : "");
- export.setFullWeight(df.format(record.getFullWeight())+"KG");
- export.setEmptyWeight(df.format(record.getEmptyWeight())+"KG");
- export.setNetWeight(df.format(record.getNetWeight())+"KG");
- export.setSettleWeight(df.format(record.getSettleWeight())+"KG");
- export.setRecordWeight(df.format(record.getRecordWeight())+"KG");
+ export.setFullWeight(df.format(record.getFullWeight()) + "KG");
+ export.setEmptyWeight(df.format(record.getEmptyWeight()) + "KG");
+ export.setNetWeight(df.format(record.getNetWeight()) + "KG");
+ export.setSettleWeight(df.format(record.getSettleWeight()) + "KG");
+ export.setRecordWeight(df.format(record.getRecordWeight()) + "KG");
export.setCompleteTime(record.getCompleteTime());
- export.setDeOther(df.format(record.getDeOther())+"KG");
+ export.setDeOther(df.format(record.getDeOther()) + "KG");
export.setUpdateLog(record.getUpdateLog());
exportList.add(export);
}
ExcelUtil<InoutRecordOutExport> util = new ExcelUtil<InoutRecordOutExport>(InoutRecordOutExport.class);
- return util.exportExcel(exportList, sheetName, deptName);
+ return util.exportExcel(exportList, sheetName, deptName, exportTimeDesc, exportCreateUser, exportCreateTime);
}
if (StringUtils.isNotEmpty(param.getType()) && "IN_DETAIL".equals(param.getType())) {
@@ -213,14 +228,14 @@
//绮鍝佺鏄犲皠
String foodVarietyNameValue = FoodVariety.getMsg(record.getFoodVariety());
export.setFoodVariety(foodVarietyNameValue != null ? foodVarietyNameValue : "");
- export.setSettleWeight(df.format(record.getSettleWeight())+"KG");
- export.setRecordWeight(df.format(record.getRecordWeight())+"KG");
+ export.setSettleWeight(df.format(record.getSettleWeight()) + "KG");
+ export.setRecordWeight(df.format(record.getRecordWeight()) + "KG");
export.setCompleteTime(record.getCompleteTime());
export.setUpdateLog(record.getUpdateLog());
exportList.add(export);
}
ExcelUtil<InoutRecordDetailInExport> util = new ExcelUtil<InoutRecordDetailInExport>(InoutRecordDetailInExport.class);
- return util.exportExcel(exportList, sheetName, deptName);
+ return util.exportExcel(exportList, sheetName, deptName, exportTimeDesc, exportCreateUser, exportCreateTime);
}
if (StringUtils.isNotEmpty(param.getType()) && "OUT_DETAIL".equals(param.getType())) {
@@ -245,20 +260,21 @@
//绮鍝佺鏄犲皠
String foodVarietyNameValue = FoodVariety.getMsg(record.getFoodVariety());
export.setFoodVariety(foodVarietyNameValue != null ? foodVarietyNameValue : "");
- export.setSettleWeight(df.format(record.getSettleWeight())+"KG");
- export.setRecordWeight(df.format(record.getRecordWeight())+"KG");
+ export.setSettleWeight(df.format(record.getSettleWeight()) + "KG");
+ export.setRecordWeight(df.format(record.getRecordWeight()) + "KG");
export.setCompleteTime(record.getCompleteTime());
export.setUpdateLog(record.getUpdateLog());
exportList.add(export);
}
ExcelUtil<InoutRecordDetailOutExport> util = new ExcelUtil<InoutRecordDetailOutExport>(InoutRecordDetailOutExport.class);
- return util.exportExcel(exportList, sheetName, deptName);
+ return util.exportExcel(exportList, sheetName, deptName, exportTimeDesc, exportCreateUser, exportCreateTime);
}
return AjaxResult.error("鍙傛暟閿欒");
}
/**
* 搴撳瓨鎶ヨ〃瀵煎嚭
+ *
* @return
*/
@RequestMapping("/storage-excel")
@@ -274,27 +290,39 @@
if (null != subDept) {
deptName = subDept.getDeptName();
}
+ String exportTimeDesc = "";
+ String exportCreateUser = "";
+ Date exportCreateTime = new Date();
+ if (StringUtils.isNotEmpty(param.getTimeDesc())) {
+ exportTimeDesc = param.getTimeDesc();
+ }
+ if (StringUtils.isNotEmpty(param.getCreateUser())) {
+ exportCreateUser = param.getCreateUser();
+ }
+ if (param.getCreateTime() != null) {
+ exportCreateTime = param.getCreateTime();
+ }
List<SuperInventoryReportExport> exportList = new ArrayList<>();
DecimalFormat df = new DecimalFormat("0.00");
- for (SuperInventoryReportData data :list) {
+ for (SuperInventoryReportData data : list) {
SuperInventoryReportExport export = new SuperInventoryReportExport();
export.setCustomerName(data.getCustomerName());
export.setDeptName(data.getDeptName());
export.setDepotName(data.getDepotName());
- export.setInitialWeight(df.format(data.getInitialWeight())+"KG");
- export.setRecordInWeight(df.format(data.getRecordInWeight())+"KG");
- export.setChangeInWeight(df.format(data.getChangeInWeight())+"KG");
- export.setRecordOutWeight(df.format(data.getRecordOutWeight())+"KG");
- export.setChangeOutWeight(df.format(data.getChangeOutWeight())+"KG");
- export.setLossWeight(df.format(data.getLossWeight())+"KG");
- export.setFinalWeight(df.format(data.getFinalWeight())+"KG");
+ export.setInitialWeight(df.format(data.getInitialWeight()) + "KG");
+ export.setRecordInWeight(df.format(data.getRecordInWeight()) + "KG");
+ export.setChangeInWeight(df.format(data.getChangeInWeight()) + "KG");
+ export.setRecordOutWeight(df.format(data.getRecordOutWeight()) + "KG");
+ export.setChangeOutWeight(df.format(data.getChangeOutWeight()) + "KG");
+ export.setLossWeight(df.format(data.getLossWeight()) + "KG");
+ export.setFinalWeight(df.format(data.getFinalWeight()) + "KG");
exportList.add(export);
}
//瀵煎嚭
ExcelUtil<SuperInventoryReportExport> util = new ExcelUtil<SuperInventoryReportExport>(SuperInventoryReportExport.class);
- return util.exportExcel(exportList, sheetName, deptName);
+ return util.exportExcel(exportList, sheetName, deptName, exportTimeDesc, exportCreateUser, exportCreateTime);
}
}
--
Gitblit v1.9.3