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)) } /** * 日志列表 * 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"))); 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表SQL,并获取过滤的数据 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)) { //将tracking表的数据转为(key,value)形式存储 JSONObject json = convertDataTableToJson(dtTracking); addKeypInfo(json, dtKeyp); dtKeyp.setSqle(sqle); return dtKeyp; } } return null; DataTableEntity dataTableEntity = new DataTableEntity(); dataTableEntity.setSqle(sqle); return dataTableEntity; } } product-server-web/resources/LicenseKey.dat
@@ -1 +1 @@ 7373F609D2DCF63105362A4556F3DBD03DDE005CE3839FE2A1D4AB8895082B9F7F2B031AEB44487E0CF23020A8DD4ACC7CC7BEBB55AADBB2411DE029662CF6B08EA69D97D0284FC0ABC6C02D9EA17A2EC33300DD5B6135DCE70B7EB3B37B7600C13EEC15A033E5D9437680A4ED29851BA3C7679EF8E3B3C3847F5DB74B653D2B796A087D1FA30D733682F393E31E05E06A241230AE9FCFE6E34219F57C272CA9C9F0E52A66744A2D8117F8718385612183BD0164E2B448069D9814704BA67F8565F27D0CA38A290AD162721E7FAD62DE3210BED393072644FE40B200B69A97D89184CE5F636AA949E7AFF39BAD0FB851E2BFAF32ADEA42CC37FAABAD1D972C6086C7F28F21A916E6F00CA3544C99FAC2B4DECD74B9D8A4E80CF7510C7A46B7CDD078DF9142713F03B30CE81D8861F5CD951E3A2B3A024E08ECE6918910FF2029B96CE9BC55CECD331DBD75EEE04BD985F27AF348FA79FA1EBF33942F29C52B10395E294F65FA2149B10458EE1C246CA6A0359442D610188B98C0E927FD6A6DF7 79BE8AD4DA7D580701BCE59258381B293036C97EEEF79611A2D07C5F993D24A77CE11123E4A560EF07BD52D1ACE713B77268CC395013CDE6486A8C616E89A3BC800E47F9D453A786ADD137A398C0A180CED736CC5EF71381ED4D327CBF699C0EC14DCA6CAD3376254BC333D7E4CFCDE3AFE4DB2DF31CDB278A637A99465EF0837D1DCC7613A3C6CD331901B0E9B49EC665AACC84ACD365E8E33662E677266571C04D84C86060707286097BEC83C5B6BC8F0BA4B8ECDFEDC594ECD09947F980AE6C7B75A8A33ED3C8D56771437ECCA06432DA8A329C222D69FD44A750BEAB11789D8148026CA9EE49E4CD9239A894B561E560CDA0ACBA169C3F7F2AA3171F05158C98CCDD267C7DFCF6878D4C43DAF051BC452C7ABB8AEB930A709CD87C744A4CDB46C763426AC13ABF41BA7F885DE0F69C2F231234D4202DEBB0D2BA1B1D197DB005A00553EEE41C1E481B09EBEE5A44FB8B6FB9FEE04B5EB2619FED2CEC2BFB3013E3F36A0F9D0DB18200851A1C700DAB79A58FD4C468A39D2624ECF69CD414 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