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/JournalManagerService.java   |   11 +++++
 product-server-data-center/src/main/java/com/product/data/center/service/SNAssociatedItemService.java |   55 +++++++++++++++++++--------
 product-server-data-center/src/main/java/com/product/data/center/service/MesExternalService.java      |    3 -
 product-server-web/resources/LicenseKey.dat                                                           |    2 
 product-server-web/src/main/resources/application-dev.properties                                      |    2 
 5 files changed, 52 insertions(+), 21 deletions(-)

diff --git a/product-server-data-center/src/main/java/com/product/data/center/service/JournalManagerService.java b/product-server-data-center/src/main/java/com/product/data/center/service/JournalManagerService.java
index 5d8e677..3ded758 100644
--- a/product-server-data-center/src/main/java/com/product/data/center/service/JournalManagerService.java
+++ b/product-server-data-center/src/main/java/com/product/data/center/service/JournalManagerService.java
@@ -43,6 +43,17 @@
 	@Resource
 	MesExternalService mesExternalService;
 
+
+	public void timingClearDataCenterLog(){
+//		select uuid from product_sys_data_center_log a
+//		where created_utc_datetime<=date(date_add(now(),interval -7 day)) and (result=1 or (deal_flag=1 and deal_result=1)) and type>1
+//		union all
+//		select a.uuid from product_sys_data_center_log a
+//		join product_sys_data_center_log b on a.uuid=b.pre_step_uuid
+//		where a.type=1 and b.type=2 and (b.result=1 or (b.deal_flag=1 and b.deal_result=1))
+//		and b.created_utc_datetime<=date(date_add(now(),interval -7 day))
+	}
+
 	/**
 	 * 鏃ュ織鍒楄〃
 	 *
diff --git a/product-server-data-center/src/main/java/com/product/data/center/service/MesExternalService.java b/product-server-data-center/src/main/java/com/product/data/center/service/MesExternalService.java
index f6f9462..f42e2fc 100644
--- a/product-server-data-center/src/main/java/com/product/data/center/service/MesExternalService.java
+++ b/product-server-data-center/src/main/java/com/product/data/center/service/MesExternalService.java
@@ -41,7 +41,6 @@
 import java.sql.CallableStatement;
 import java.sql.Connection;
 import java.sql.SQLException;
-import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.concurrent.*;
 import java.util.stream.Collectors;
@@ -157,7 +156,7 @@
         if (FieldSetEntity.isEmpty(reportDbConfig)) {
             throw new BaseException(ErrorCode.REPORT_DB_CONFIG_FAIL);
         }
-        DataTableEntity dt = getBaseDao().listTable(CmnConst.PRODUCT_SYS_DATA_COLLECT, "upper(source_table) in ('T_WIP_TRACKING','T_WIP_PRODUCT_KEYP','T_WIP_DETAIL','T_PM_PRODUCT_SN') and data_source in (select  uuid from product_sys_data_sync_manager)", new Object[]{}, new Object[]{"uuid,id,data_source,source_table"});
+        DataTableEntity dt = getBaseDao().listTable(CmnConst.PRODUCT_SYS_DATA_COLLECT, "upper(source_table) in ('T_WIP_TRACKING','T_WIP_PRODUCT_KEYP','T_WIP_DETAIL','T_PM_PRODUCT_SN') and data_source in (select  uuid from product_sys_data_sync_manager) and id not like 'ch-zs%'", new Object[]{}, new Object[]{"uuid,id,data_source,source_table"});
 
         Map<String, List<FieldSetEntity>> groupByCollectId = dt.getData().stream().collect(Collectors.groupingBy(item -> item.getString("id")));
         Map<String, List<FieldSetEntity>> groupBySourceTable = dt.getData().stream().collect(Collectors.groupingBy(item -> item.getString("source_table")));
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;
 	}
 }
diff --git a/product-server-web/resources/LicenseKey.dat b/product-server-web/resources/LicenseKey.dat
index 6cc1bfd..f146beb 100644
--- a/product-server-web/resources/LicenseKey.dat
+++ b/product-server-web/resources/LicenseKey.dat
@@ -1 +1 @@
-7373F609D2DCF63105362A4556F3DBD03DDE005CE3839FE2A1D4AB8895082B9F7F2B031AEB44487E0CF23020A8DD4ACC7CC7BEBB55AADBB2411DE029662CF6B08EA69D97D0284FC0ABC6C02D9EA17A2EC33300DD5B6135DCE70B7EB3B37B7600C13EEC15A033E5D9437680A4ED29851BA3C7679EF8E3B3C3847F5DB74B653D2B796A087D1FA30D733682F393E31E05E06A241230AE9FCFE6E34219F57C272CA9C9F0E52A66744A2D8117F8718385612183BD0164E2B448069D9814704BA67F8565F27D0CA38A290AD162721E7FAD62DE3210BED393072644FE40B200B69A97D89184CE5F636AA949E7AFF39BAD0FB851E2BFAF32ADEA42CC37FAABAD1D972C6086C7F28F21A916E6F00CA3544C99FAC2B4DECD74B9D8A4E80CF7510C7A46B7CDD078DF9142713F03B30CE81D8861F5CD951E3A2B3A024E08ECE6918910FF2029B96CE9BC55CECD331DBD75EEE04BD985F27AF348FA79FA1EBF33942F29C52B10395E294F65FA2149B10458EE1C246CA6A0359442D610188B98C0E927FD6A6DF7
\ No newline at end of file
+79BE8AD4DA7D580701BCE59258381B293036C97EEEF79611A2D07C5F993D24A77CE11123E4A560EF07BD52D1ACE713B77268CC395013CDE6486A8C616E89A3BC800E47F9D453A786ADD137A398C0A180CED736CC5EF71381ED4D327CBF699C0EC14DCA6CAD3376254BC333D7E4CFCDE3AFE4DB2DF31CDB278A637A99465EF0837D1DCC7613A3C6CD331901B0E9B49EC665AACC84ACD365E8E33662E677266571C04D84C86060707286097BEC83C5B6BC8F0BA4B8ECDFEDC594ECD09947F980AE6C7B75A8A33ED3C8D56771437ECCA06432DA8A329C222D69FD44A750BEAB11789D8148026CA9EE49E4CD9239A894B561E560CDA0ACBA169C3F7F2AA3171F05158C98CCDD267C7DFCF6878D4C43DAF051BC452C7ABB8AEB930A709CD87C744A4CDB46C763426AC13ABF41BA7F885DE0F69C2F231234D4202DEBB0D2BA1B1D197DB005A00553EEE41C1E481B09EBEE5A44FB8B6FB9FEE04B5EB2619FED2CEC2BFB3013E3F36A0F9D0DB18200851A1C700DAB79A58FD4C468A39D2624ECF69CD414
\ No newline at end of file
diff --git a/product-server-web/src/main/resources/application-dev.properties b/product-server-web/src/main/resources/application-dev.properties
index 0496a53..cc3f199 100644
--- a/product-server-web/src/main/resources/application-dev.properties
+++ b/product-server-web/src/main/resources/application-dev.properties
@@ -85,7 +85,7 @@
 # \u6B63\u5F0F\u670D\u52A1\u5668-\u91C7\u96C6
 #data.source.url=jdbc:mysql://10.13.1.39:3306/ch_kt_mes_apply?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
 # \u6B63\u5F0F\u670D\u52A1\u5668-\u62A5\u8868
-data.source.url=jdbc:mysql://10.13.1.39:3306/ch_kt_mes_apply?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
+data.source.url=jdbc:mysql://10.13.1.39:3307/ch_kt_mes_apply?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
 data.source.user=root
 #data.source.password=root123
 #data.source.password=a123

--
Gitblit v1.9.2