From 5d2411baa5ae84890430a2d7e360fc6777054797 Mon Sep 17 00:00:00 2001
From: shicf <shi_chongfu@163.com>
Date: 星期一, 08 九月 2025 11:44:48 +0800
Subject: [PATCH] 判断事务是否自动提交,执行提交 ,添加日志输出
---
product-server-data-center/src/main/java/com/product/data/center/service/SNAssociatedItemService.java | 55 ++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 38 insertions(+), 17 deletions(-)
diff --git a/product-server-data-center/src/main/java/com/product/data/center/service/SNAssociatedItemService.java b/product-server-data-center/src/main/java/com/product/data/center/service/SNAssociatedItemService.java
index 3ff044d..b97dfbe 100644
--- a/product-server-data-center/src/main/java/com/product/data/center/service/SNAssociatedItemService.java
+++ b/product-server-data-center/src/main/java/com/product/data/center/service/SNAssociatedItemService.java
@@ -10,6 +10,7 @@
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.date.DateTime;
+import com.product.core.entity.SQLEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
@@ -280,28 +281,43 @@
public void getReportExcel(HttpServletRequest request, HttpServletResponse response) throws IOException {
//鑾峰彇鏈哄彿鏌ヨ淇℃伅
FieldSetEntity fse = BaseUtil.getFieldSetEntity(request);
- DataTableEntity workCenterOperationInfomationSheet = this.dtSNItemInfo(fse);
-
+ Boolean isAll = fse.getBoolean("is_all");
+ if (isAll) {
+ fse.setValue(CmnConst.CPAGE, 1);
+ fse.setValue(CmnConst.PAGESIZE, 999);
+ }
//鍒濆EXCEL淇℃伅
response.setContentType("multipart/form-data");
response.setCharacterEncoding("utf-8");
//杩欓噷URLEncoder.encode鍙互闃叉涓枃涔辩爜
String fileName = URLEncoder.encode("SN鍏宠仈鐗╂枡" + DateUtil.format(new Date(), "yyyyMMddHHmmss") + ".xlsx", "UTF-8");
response.setHeader("Content-disposition", "attachment;filename=" + fileName);
-
- List<SNAssociatedItemEntity> traceSNItemEntityList = new ArrayList<>();
- for (int i = 0; i < workCenterOperationInfomationSheet.getRows(); i++) {
- FieldSetEntity fieldSetEntity = workCenterOperationInfomationSheet.getFieldSetEntity(i);
- Map<Object, Object> values = fieldSetEntity.getValues();
- JSONObject jsonObject = new JSONObject((Map) values);
- SNAssociatedItemEntity manufacturingOrderEntity = jsonObject.toBean(SNAssociatedItemEntity.class);
- traceSNItemEntityList.add(manufacturingOrderEntity);
- }
ServletOutputStream outputStream = response.getOutputStream();
ExcelWriter excelWriter = EasyExcel.write(outputStream, SNAssociatedItemEntity.class).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()).build();
+
+ DataTableEntity workCenterOperationInfomationSheet;
try {
- WriteSheet writeSheet = EasyExcel.writerSheet(1, "data").build();
- excelWriter.write(traceSNItemEntityList, writeSheet);
+ do {
+ workCenterOperationInfomationSheet = this.dtSNItemInfo(fse);
+ if (DataTableEntity.isEmpty(workCenterOperationInfomationSheet)) {
+ continue;
+ }
+ List<SNAssociatedItemEntity> traceSNItemEntityList = new ArrayList<>();
+ for (int i = 0; i < workCenterOperationInfomationSheet.getRows(); i++) {
+ FieldSetEntity fieldSetEntity = workCenterOperationInfomationSheet.getFieldSetEntity(i);
+ Map<Object, Object> values = fieldSetEntity.getValues();
+ JSONObject jsonObject = new JSONObject((Map) values);
+ SNAssociatedItemEntity manufacturingOrderEntity = jsonObject.toBean(SNAssociatedItemEntity.class);
+ traceSNItemEntityList.add(manufacturingOrderEntity);
+ }
+
+ WriteSheet writeSheet = EasyExcel.writerSheet(1, "data").build();
+ excelWriter.write(traceSNItemEntityList, writeSheet);
+
+
+ fse.setValue(CmnConst.CPAGE, fse.getInteger(CmnConst.CPAGE) + 1);
+ } while (
+ isAll && workCenterOperationInfomationSheet != null && workCenterOperationInfomationSheet.getSqle().isCountLoad());
} catch (Exception e) {
throw e;
} finally {
@@ -321,12 +337,15 @@
boolean isRecentData = fse.getBoolean(CmnConst.IS_RECENT_DATA) == true;//鏄惁杩戞湡鏁版嵁
Integer pageSize = fse.getInteger(CmnConst.PAGESIZE); //椤垫暟澶у皬
Integer cpage = fse.getInteger(CmnConst.CPAGE); //鐩爣椤�
-
+ SQLEntity sqle = new SQLEntity();
+ sqle.setCountLoad(false);
//鍒涘缓tracking琛⊿QL锛屽苟鑾峰彇杩囨护鐨勬暟鎹�
String parseTrackingSql = createTrackingSql(fse, isBakTable, isRecentData);
DataTableEntity dtTracking = baseDao.listTable(parseTrackingSql, new Object[]{}, pageSize, cpage);
if (!BaseUtil.dataTableIsEmpty(dtTracking)) {
-
+ if (dtTracking.getRows() == pageSize) {
+ sqle.setCountLoad(true);
+ }
//鑾峰彇鎬绘潯鏁�
String totalTrackingSql = "SELECT COUNT(*)count_total FROM (" + parseTrackingSql + ")t";
// FieldSetEntity fseTotalTracking = baseDao.getFieldSetBySQL(totalTrackingSql, new Object[]{}, false);
@@ -335,16 +354,18 @@
//Method1:浣跨敤OR鏌ヨ
Object[] serialNumbers = dtTracking.getUuids();
String keypSql = createKeypSql(serialNumbers, isBakTable, isRecentData);
- System.out.println(keypSql);
DataTableEntity dtKeyp = baseDao.listTable(keypSql, new Object[]{});
if (!BaseUtil.dataTableIsEmpty(dtKeyp)) {
//灏唗racking琛ㄧ殑鏁版嵁杞负(key锛寁alue)褰㈠紡瀛樺偍
JSONObject json = convertDataTableToJson(dtTracking);
addKeypInfo(json, dtKeyp);
+ dtKeyp.setSqle(sqle);
return dtKeyp;
}
}
- return null;
+ DataTableEntity dataTableEntity = new DataTableEntity();
+ dataTableEntity.setSqle(sqle);
+ return dataTableEntity;
}
}
--
Gitblit v1.9.2