From d2d7c2561ea9f8a7e909588a40920c7dc3064b3f Mon Sep 17 00:00:00 2001 From: 许鹏程 <1821349743@qq.com> Date: 星期三, 10 一月 2024 17:13:55 +0800 Subject: [PATCH] commit --- 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