From cc9ebffc57e6343745cb1eadc47360d6107936bc Mon Sep 17 00:00:00 2001
From: xpc <1821349743@qq.com>
Date: 星期二, 30 一月 2024 19:04:26 +0800
Subject: [PATCH] commit
---
/dev/null | 1
product-server-web/src/main/resources/logback-spring.xml | 11
product-server-web/doc/系统设计 | 139 ++++----
product-server-web/doc/错误代码详细说明.docx | 0
product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java | 745 ++++++++++++++++++++++---------------------
product-server-web/resources/LicenseKey.dat | 2
product-server-web/src/main/resources/application.properties | 2
product-server-datasource/src/main/java/com/product/datasource/connection/ConnectionManager.java | 78 ++--
README.md | 5
product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingService.java | 2
product-server-web/src/main/resources/application-dev.properties | 11
11 files changed, 498 insertions(+), 498 deletions(-)
diff --git a/README.md b/README.md
index bb66d6b..9611e25 100644
--- a/README.md
+++ b/README.md
@@ -4,8 +4,3 @@
## 渚濊禆浜庢爣鍑嗕骇鍝佺増鏈瑅1.0.0
## 鍓嶇椤圭洰鐗堟湰涓簐2.0.0
-
-### 鏇存柊鏃ュ織
-
-#### 2023骞�6鏈�30鏃�
- 1.鏂板鏃ュ織鐩戞帶鎺ュ彛
diff --git a/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java b/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java
index 8cccab4..a2f6daa 100644
--- a/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java
+++ b/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingQueue.java
@@ -1,5 +1,6 @@
package com.product.data.center.service;
+import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.RandomUtil;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@@ -34,385 +35,399 @@
*/
@Service
public class DataArchivingQueue extends AbstractBaseService {
- // 鏌ヨ闃熷垪map锛歮ap<琛ㄥ悕锛宒te闃熷垪>
- private static Map<String, LinkedBlockingQueue<DataTableEntity>> queryMap = new ConcurrentHashMap<>();
- // 鏌ヨ瀛樻椿map锛氭鍦ㄦ墽琛屾煡璇㈢殑琛紝瀵瑰簲鐨勫�间负鎵ц鐨勭嚎绋嬫暟锛屼负0鏍囪瘑宸茬粡鎵ц瀹屾垚
- private static Map<String, Set<String>> existsQueryMap = Maps.newHashMap();
- // 鏌ヨ绾跨▼map
- private static Map<String, ExecutorService> queryThreadMap = Maps.newHashMap();
- // 閿欒鏃ュ織map
- private static Map<String, StringBuilder> errorLogMap = Maps.newHashMap();
- // 鍗曡〃鏌ヨ鏈�澶х嚎绋嬫暟
- private static final int QUERY_THREAD_COUNT = 3;
- // 鍗曡〃楠岃瘉鏌ヨ鏈�澶ф壒娆★紙鍗曡〃鏌ヨ鏈�澶ф壒娆�=鍗曡〃楠岃瘉鏌ヨ鏈�澶ф壒娆� + 鍗曡〃鏌ヨ鏈�澶х嚎绋嬫暟锛�
- private static final int QUERY_MAX_BATCH_COUNT = 4;
- // 鏌ヨ姣忛〉澶у皬
- private static final int QUERY_PAGE_SIZE = 50000;
- // 鎻掑叆姣忛〉澶у皬
- public static final int INSERT_PAGE_SIZE = 5000;
+ // 鏌ヨ闃熷垪map锛歮ap<琛ㄥ悕锛宒te闃熷垪>
+ private static Map<String, LinkedBlockingQueue<DataTableEntity>> queryMap = new ConcurrentHashMap<>();
+ // 鏌ヨ瀛樻椿map锛氭鍦ㄦ墽琛屾煡璇㈢殑琛紝瀵瑰簲鐨勫�间负鎵ц鐨勭嚎绋嬫暟锛屼负0鏍囪瘑宸茬粡鎵ц瀹屾垚
+ private static Map<String, Set<String>> existsQueryMap = Maps.newHashMap();
+ // 鏌ヨ绾跨▼map
+ private static Map<String, ExecutorService> queryThreadMap = Maps.newHashMap();
+ // 閿欒鏃ュ織map
+ private static Map<String, StringBuilder> errorLogMap = Maps.newHashMap();
+ // 鍗曡〃鏌ヨ鏈�澶х嚎绋嬫暟
+ private static final int QUERY_THREAD_COUNT = 3;
+ // 鍗曡〃楠岃瘉鏌ヨ鏈�澶ф壒娆★紙鍗曡〃鏌ヨ鏈�澶ф壒娆�=鍗曡〃楠岃瘉鏌ヨ鏈�澶ф壒娆� + 鍗曡〃鏌ヨ鏈�澶х嚎绋嬫暟锛�
+ private static final int QUERY_MAX_BATCH_COUNT = 4;
+ // 鏌ヨ姣忛〉澶у皬
+ private static final int QUERY_PAGE_SIZE = 50000;
+ // 鎻掑叆姣忛〉澶у皬
+ public static final int INSERT_PAGE_SIZE = 5000;
- /**
- * 鏌ヨ
- *
- * @param sourceDbe
- * @param sourceTable
- * @param filter
- * @param params
- * @param uniqueField 涓婚敭锛屼笉浠呬細鐢ㄤ簬璇嗗埆杩樹細鐢ㄤ簬鎺掑簭闃叉oracle鍒嗛〉鑾峰彇鍒伴噸澶嶆暟鎹�
- * @param minID
- */
- public void query(DataBaseEntity sourceDbe, String sourceTable, String filter, Object[] params, String uniqueField, String minID) {
- Dao sourceDao = null;
- try {
- StringBuilder countSql = new StringBuilder(128);
- countSql.append("select count(*) count_value from ").append(sourceTable);
- if (!StringUtils.isEmpty(filter)) {
- countSql.append(" where ").append(filter);
- }
- sourceDao = sourceDbe.newDao();
- FieldSetEntity countFse = sourceDao.getOne(countSql.toString(), params);
- int totalCount = StringUtils.isEmpty(countFse.getString("count_value")) ? 0 : countFse.getInteger("count_value");
- int partCount = getPartCount(totalCount);
- shutdownQueryThread(sourceTable);
- ExecutorService executorService = Executors.newWorkStealingPool(QUERY_THREAD_COUNT);
- queryThreadMap.put(sourceTable, executorService);
- StringBuilder rangeSql = new StringBuilder(128);
- String tempPartMinID = minID;
- int partSize = partCount * QUERY_PAGE_SIZE;
- int count = ceilPage(totalCount, partSize);
- for (int i = 1; i <= count; i++) {
- rangeSql.setLength(0);
- if (!StringUtils.isEmpty(filter)) {
- rangeSql.append(filter).append(" and ");
- }
- rangeSql.append(uniqueField).append(">='").append(tempPartMinID).append("'");
- DataTableEntity rangeDte = sourceDao.getList(getSql(uniqueField, sourceTable, rangeSql.toString(), sourceDbe.getDbType().getValue(), 1, partSize), params);
- if (DataTableEntity.isEmpty(rangeDte)) {
- continue;
- }
- FieldSetEntity rangeFse = rangeDte.getFieldSetEntity(0);
- String curPartMaxID = rangeFse.getString("max_id");
- String curPartMinID = tempPartMinID;
- executorService.submit(() -> {
- String threadInfo = String.valueOf(Thread.currentThread().getId());
- Dao threadSourceDao = null;
- String thisPartMinID = curPartMinID;
- try {
- threadSourceDao = sourceDbe.newDao();
- startQuery(sourceTable, threadInfo);
- int totalPage = ceilPage(partSize, QUERY_PAGE_SIZE);
- StringBuilder tempFilter = new StringBuilder(128);
- for (int j = 0; j < totalPage; j++) {
- while (!allowQuery(sourceTable)) {
- Thread.sleep(RandomUtil.randomInt(800, 1200));
- }
- tempFilter.setLength(0);
- tempFilter.append(uniqueField);
- WriteUtil.append("DA-threadInfo:" + threadInfo + "-thisPartMinID:" + thisPartMinID);
- if (minID.equals(thisPartMinID)) {
- tempFilter.append(">=");
- } else {
- tempFilter.append(">");
- }
- tempFilter.append("'").append(thisPartMinID).append("'").append(" and ").append(uniqueField).append("<='").append(curPartMaxID).append("'");
- if (!StringUtils.isEmpty(filter)) {
- tempFilter.append(" and ").append(filter);
- }
- WriteUtil.append("DA-threadInfo:" + threadInfo + "-currentPage锛�" + (j + 1) + "-pageSize锛�" + QUERY_PAGE_SIZE + "-filter锛�" + tempFilter);
- DataTableEntity allDte = threadSourceDao.getList(sourceTable, tempFilter.toString(), params, uniqueField, 1, QUERY_PAGE_SIZE);
- if (!DataTableEntity.isEmpty(allDte)) {
- add(sourceTable, allDte);
- thisPartMinID = allDte.getFieldSetEntity(allDte.getRows() - 1).getString(uniqueField);
- } else {
- break;
- }
- }
- } catch (Exception e) {
- appendErrorLog(sourceTable, SpringUtils.getBean(JournalManagerService.class).getStackTrace(e).trim());
- SpringMVCContextHolder.getSystemLogger().error(e);
- clear(sourceTable);
- } finally {
- if (threadSourceDao != null) {
- threadSourceDao.closeConnection();
- }
- finalQuery(sourceTable, threadInfo);
- }
- });
- tempPartMinID = curPartMaxID;
- }
- } catch (Exception e) {
- throw e;
- } finally {
- if (sourceDao != null) {
- sourceDao.closeConnection();
- }
- }
- }
+ /**
+ * 鏌ヨ
+ *
+ * @param sourceDbe
+ * @param sourceTable
+ * @param filter
+ * @param params
+ * @param uniqueField 涓婚敭锛屼笉浠呬細鐢ㄤ簬璇嗗埆杩樹細鐢ㄤ簬鎺掑簭闃叉oracle鍒嗛〉鑾峰彇鍒伴噸澶嶆暟鎹�
+ * @param minID
+ */
+ public void query(DataBaseEntity sourceDbe, String sourceTable, String filter, Object[] params, String uniqueField, String minID) {
+ Dao sourceDao = null;
+ try {
+ StringBuilder countSql = new StringBuilder(128);
+ countSql.append("select count(*) count_value from ").append(sourceTable);
+ if (!StringUtils.isEmpty(filter)) {
+ countSql.append(" where ").append(filter);
+ }
+ sourceDao = sourceDbe.newDao();
+ FieldSetEntity countFse = sourceDao.getOne(countSql.toString(), params);
+ int totalCount = StringUtils.isEmpty(countFse.getString("count_value")) ? 0 : countFse.getInteger("count_value");
+ int partCount = getPartCount(totalCount);
+ shutdownQueryThread(sourceTable);
+ ExecutorService executorService = Executors.newWorkStealingPool(QUERY_THREAD_COUNT);
+ queryThreadMap.put(sourceTable, executorService);
+ StringBuilder rangeSql = new StringBuilder(128);
+ String tempPartMinID = minID;
+ int partSize = partCount * QUERY_PAGE_SIZE;
+ int count = ceilPage(totalCount, partSize);
+ for (int i = 1; i <= count; i++) {
+ rangeSql.setLength(0);
+ if (!StringUtils.isEmpty(filter)) {
+ rangeSql.append(filter).append(" and ");
+ }
+ rangeSql.append(uniqueField).append(">='").append(tempPartMinID).append("'");
+ DataTableEntity rangeDte = sourceDao.getList(getSql(uniqueField, sourceTable, rangeSql.toString(), sourceDbe.getDbType().getValue(), 1, partSize), params);
+ if (DataTableEntity.isEmpty(rangeDte)) {
+ continue;
+ }
+ FieldSetEntity rangeFse = rangeDte.getFieldSetEntity(0);
+ String curPartMaxID = rangeFse.getString("max_id");
+ String curPartMinID = tempPartMinID;
+ executorService.submit(() -> {
+ String threadInfo = String.valueOf(Thread.currentThread().getId());
+ Dao threadSourceDao = null;
+ String thisPartMinID = curPartMinID;
+ try {
+ threadSourceDao = sourceDbe.newDao();
+ startQuery(sourceTable, threadInfo);
+ int totalPage = ceilPage(partSize, QUERY_PAGE_SIZE);
+ StringBuilder tempFilter = new StringBuilder(128);
+ for (int j = 0; j < totalPage; j++) {
+ //鏌ヨ鏃舵鏌ラ槦鍒楁暟閲忥紝濡傛灉瓒呰繃鏈�澶у�煎垯绛夊緟
+ checkQueueCount(sourceTable);
+ while (!allowQuery(sourceTable)) {
+ Thread.sleep(RandomUtil.randomInt(800, 1200));
+ }
+ tempFilter.setLength(0);
+ tempFilter.append(uniqueField);
+ WriteUtil.append("DA-threadInfo:" + threadInfo + "-thisPartMinID:" + thisPartMinID);
+ if (minID.equals(thisPartMinID)) {
+ tempFilter.append(">=");
+ } else {
+ tempFilter.append(">");
+ }
+ tempFilter.append("'").append(thisPartMinID).append("'").append(" and ").append(uniqueField).append("<='").append(curPartMaxID).append("'");
+ if (!StringUtils.isEmpty(filter)) {
+ tempFilter.append(" and ").append(filter);
+ }
+ WriteUtil.append("DA-threadInfo:" + threadInfo + "-currentPage锛�" + (j + 1) + "-pageSize锛�" + QUERY_PAGE_SIZE + "-filter锛�" + tempFilter);
+ DataTableEntity allDte = threadSourceDao.getList(sourceTable, tempFilter.toString(), params, uniqueField, 1, QUERY_PAGE_SIZE);
+ if (!DataTableEntity.isEmpty(allDte)) {
+ add(sourceTable, allDte);
+ thisPartMinID = allDte.getFieldSetEntity(allDte.getRows() - 1).getString(uniqueField);
+ } else {
+ break;
+ }
+ }
+ } catch (Exception e) {
+ appendErrorLog(sourceTable, SpringUtils.getBean(JournalManagerService.class).getStackTrace(e).trim());
+ SpringMVCContextHolder.getSystemLogger().error(e);
+ clear(sourceTable);
+ } finally {
+ if (threadSourceDao != null) {
+ threadSourceDao.closeConnection();
+ }
+ finalQuery(sourceTable, threadInfo);
+ }
+ });
+ tempPartMinID = curPartMaxID;
+ }
+ } catch (Exception e) {
+ throw e;
+ } finally {
+ if (sourceDao != null) {
+ sourceDao.closeConnection();
+ }
+ }
+ }
- /**
- * 浠庨槦鍒椾腑鑾峰彇
- *
- * @param tableName
- * @return
- */
- public DataTableEntity get(String tableName) {
- WriteUtil.append("DA-浠庨槦鍒椾腑鑾峰彇-琛ㄥ悕锛�" + tableName);
- synchronized (tableName.intern()) {
- LinkedBlockingQueue<DataTableEntity> queryQueue = queryMap.get(tableName);
- if (queryQueue == null) {
- return null;
- }
- return queryQueue.poll();
- }
- }
+ /**
+ * 浠庨槦鍒椾腑鑾峰彇
+ *
+ * @param tableName
+ * @return
+ */
+ public DataTableEntity get(String tableName) {
+ WriteUtil.append("DA-浠庨槦鍒椾腑鑾峰彇-琛ㄥ悕锛�" + tableName);
+ synchronized (tableName.intern()) {
+ LinkedBlockingQueue<DataTableEntity> queryQueue = queryMap.get(tableName);
+ if (queryQueue == null) {
+ return null;
+ }
+ return queryQueue.poll();
+ }
+ }
- /**
- * 鍒ゅ畾鏄惁鏌ヨ瀹屾瘯
- *
- * @param tableName
- * @return
- */
- public boolean checkQueryFinish(String tableName) {
- WriteUtil.append("DA-鍒ゅ畾鏄惁鏌ヨ瀹屾瘯");
- Set<String> set = existsQueryMap.get(tableName);
- return set == null || set.isEmpty();
- }
+ /**
+ * 鍒ゅ畾鏄惁鏌ヨ瀹屾瘯
+ *
+ * @param tableName
+ * @return
+ */
+ public boolean checkQueryFinish(String tableName) {
+ WriteUtil.append("DA-鍒ゅ畾鏄惁鏌ヨ瀹屾瘯");
+ Set<String> set = existsQueryMap.get(tableName);
+ return set == null || set.isEmpty();
+ }
- /**
- * 鍒ゅ畾鎻掑叆闃熷垪锛堟煡璇㈠畬鎴愬悗鏀惧叆鐨勯槦鍒楋級鏄惁涓虹┖
- *
- * @param tableName
- * @return
- */
- public boolean checkInsertQueueEmpty(String tableName) {
- WriteUtil.append("DA-鍒ゅ畾鎻掑叆闃熷垪锛堟煡璇㈠畬鎴愬悗鏀惧叆鐨勯槦鍒楋級鏄惁涓虹┖");
- return queryMap == null || queryMap.get(tableName) == null || queryMap.get(tableName).isEmpty();
- }
+ /**
+ * 鍒ゅ畾鎻掑叆闃熷垪锛堟煡璇㈠畬鎴愬悗鏀惧叆鐨勯槦鍒楋級鏄惁涓虹┖
+ *
+ * @param tableName
+ * @return
+ */
+ public boolean checkInsertQueueEmpty(String tableName) {
+ WriteUtil.append("DA-鍒ゅ畾鎻掑叆闃熷垪锛堟煡璇㈠畬鎴愬悗鏀惧叆鐨勯槦鍒楋級鏄惁涓虹┖");
+ return queryMap == null || queryMap.get(tableName) == null || queryMap.get(tableName).isEmpty();
+ }
- /**
- * 鍏抽棴鏌ヨ绾跨▼
- *
- * @param tableName
- */
- public void shutdownQueryThread(String tableName) {
- synchronized (tableName.intern()) {
- ExecutorService executorService = queryThreadMap.get(tableName);
- if (executorService != null) {
- if (!executorService.isShutdown()) {
- executorService.shutdown();
- }
- queryThreadMap.remove(tableName);
- }
- }
- }
+ /**
+ * 鍏抽棴鏌ヨ绾跨▼
+ *
+ * @param tableName
+ */
+ public void shutdownQueryThread(String tableName) {
+ synchronized (tableName.intern()) {
+ ExecutorService executorService = queryThreadMap.get(tableName);
+ if (executorService != null) {
+ if (!executorService.isShutdown()) {
+ executorService.shutdown();
+ }
+ queryThreadMap.remove(tableName);
+ }
+ }
+ }
- /**
- * 娓呯悊
- *
- * @param tableName
- */
- public void clear(String tableName) {
- synchronized (tableName.intern()) {
- queryMap.remove(tableName);
- shutdownQueryThread(tableName);
- }
- }
+ /**
+ * 娓呯悊
+ *
+ * @param tableName
+ */
+ public void clear(String tableName) {
+ synchronized (tableName.intern()) {
+ queryMap.remove(tableName);
+ shutdownQueryThread(tableName);
+ }
+ }
- /**
- * 鎻愬彇閿欒鏃ュ織锛屽彧鑳芥彁鍙栦竴娆★紝鎻愬彇鍚庝細鐩存帴娓呯┖
- *
- * @param tableName
- * @return
- */
- public String getErrorLog(String tableName) {
- synchronized (tableName.intern()) {
- if (errorLogMap == null) {
- return null;
- } else {
- StringBuilder result = errorLogMap.get(tableName);
- errorLogMap.remove(tableName);
- return result == null ? null : result.toString();
- }
- }
- }
+ /**
+ * 鎻愬彇閿欒鏃ュ織锛屽彧鑳芥彁鍙栦竴娆★紝鎻愬彇鍚庝細鐩存帴娓呯┖
+ *
+ * @param tableName
+ * @return
+ */
+ public String getErrorLog(String tableName) {
+ synchronized (tableName.intern()) {
+ if (errorLogMap == null) {
+ return null;
+ } else {
+ StringBuilder result = errorLogMap.get(tableName);
+ errorLogMap.remove(tableName);
+ return result == null ? null : result.toString();
+ }
+ }
+ }
- /**
- * 鑾峰彇鍒嗘鐨勬暟閲忥紝鏈�澶�16锛屾渶灏忎负0锛屼负0琛ㄧず鐢ㄤ笉涓婃墍鏈夌殑绾跨▼
- *
- * @param totalCount
- * @return
- */
- private int getPartCount(int totalCount) {
- int num = QUERY_THREAD_COUNT * QUERY_PAGE_SIZE;
- int partCount = totalCount / num + (totalCount % num == 0 ? 0 : 1);
- if (partCount >= 16) {
- return 16;
- } else if (partCount >= 8) {
- return 8;
- } else if (partCount >= 4) {
- return 4;
- } else if (partCount >= 2) {
- return 2;
- } else if (partCount >= 1) {
- return 1;
- } else {
- return 0;
- }
- }
+ /**
+ * 鑾峰彇鍒嗘鐨勬暟閲忥紝鏈�澶�16锛屾渶灏忎负0锛屼负0琛ㄧず鐢ㄤ笉涓婃墍鏈夌殑绾跨▼
+ *
+ * @param totalCount
+ * @return
+ */
+ private int getPartCount(int totalCount) {
+ int num = QUERY_THREAD_COUNT * QUERY_PAGE_SIZE;
+ int partCount = totalCount / num + (totalCount % num == 0 ? 0 : 1);
+ if (partCount >= 16) {
+ return 16;
+ } else if (partCount >= 8) {
+ return 8;
+ } else if (partCount >= 4) {
+ return 4;
+ } else if (partCount >= 2) {
+ return 2;
+ } else if (partCount >= 1) {
+ return 1;
+ } else {
+ return 0;
+ }
+ }
- /**
- * 鑾峰彇sql锛氭煡璇㈣寖鍥村唴鐨勬渶澶d鍊�
- *
- * @param uniqueField
- * @param sourceTable
- * @param filter
- * @param dbType
- * @param pageIndex
- * @param pageSize
- * @return
- */
- private String getSql(String uniqueField, String sourceTable, String filter, int dbType, int pageIndex, int pageSize) {
- int startIndex = (Math.max(pageIndex, 1) - 1) * pageSize;
- int finalIndex = startIndex + pageSize;
- StringBuilder sql = new StringBuilder(128);
- if (DataBaseType.MYSQL.getValue() == dbType) {
- sql.append("select max(").append(uniqueField).append(") max_id from (");
- sql.append("\n select ").append(uniqueField).append(" from ").append(sourceTable);
- if (!StringUtils.isEmpty(filter)) {
- sql.append("\n where ").append(filter);
- }
- sql.append("\n order by ").append(uniqueField);
- sql.append("\n limit ").append(startIndex).append(",").append(pageSize);
- sql.append("\n) t");
- } else if (DataBaseType.ORACLE.getValue() == dbType) {
- sql.append("SELECT MAX(").append(uniqueField).append(") max_id FROM (");
- sql.append("\n SELECT ").append(uniqueField).append(",ROWNUM R FROM (");
- sql.append("\n SELECT ").append(uniqueField).append(" FROM ").append(sourceTable);
- if (!StringUtils.isEmpty(filter)) {
- sql.append("\n WHERE ").append(filter);
- }
- sql.append("\n ORDER BY ").append(uniqueField);
- sql.append("\n ) T1");
- sql.append("\n WHERE ROWNUM<=").append(finalIndex);
- sql.append("\n) T2");
- sql.append("\nWHERE R>").append(startIndex);
- }
- return sql.toString();
- }
+ /**
+ * 鑾峰彇sql锛氭煡璇㈣寖鍥村唴鐨勬渶澶d鍊�
+ *
+ * @param uniqueField
+ * @param sourceTable
+ * @param filter
+ * @param dbType
+ * @param pageIndex
+ * @param pageSize
+ * @return
+ */
+ private String getSql(String uniqueField, String sourceTable, String filter, int dbType, int pageIndex, int pageSize) {
+ int startIndex = (Math.max(pageIndex, 1) - 1) * pageSize;
+ int finalIndex = startIndex + pageSize;
+ StringBuilder sql = new StringBuilder(128);
+ if (DataBaseType.MYSQL.getValue() == dbType) {
+ sql.append("select max(").append(uniqueField).append(") max_id from (");
+ sql.append("\n select ").append(uniqueField).append(" from ").append(sourceTable);
+ if (!StringUtils.isEmpty(filter)) {
+ sql.append("\n where ").append(filter);
+ }
+ sql.append("\n order by ").append(uniqueField);
+ sql.append("\n limit ").append(startIndex).append(",").append(pageSize);
+ sql.append("\n) t");
+ } else if (DataBaseType.ORACLE.getValue() == dbType) {
+ sql.append("SELECT MAX(").append(uniqueField).append(") max_id FROM (");
+ sql.append("\n SELECT ").append(uniqueField).append(",ROWNUM R FROM (");
+ sql.append("\n SELECT ").append(uniqueField).append(" FROM ").append(sourceTable);
+ if (!StringUtils.isEmpty(filter)) {
+ sql.append("\n WHERE ").append(filter);
+ }
+ sql.append("\n ORDER BY ").append(uniqueField);
+ sql.append("\n ) T1");
+ sql.append("\n WHERE ROWNUM<=").append(finalIndex);
+ sql.append("\n) T2");
+ sql.append("\nWHERE R>").append(startIndex);
+ }
+ return sql.toString();
+ }
- /**
- * 鏀惧叆闃熷垪
- *
- * @param tableName
- * @param dte
- */
- private void add(String tableName, DataTableEntity dte) {
- synchronized (tableName.intern()) {
- LinkedBlockingQueue<DataTableEntity> queryQueue = queryMap.get(tableName);
- if (queryQueue == null) {
- queryQueue = new LinkedBlockingQueue<>();
- queryMap.put(tableName, queryQueue);
- }
- if (tableName.endsWith("BAK20230823")) {
- //妫�鏌te涓殑source_info 鍜� pre_master_key 鏄惁涓虹┖
- for (int i = 0; i < dte.getRows(); i++) {
- String sourceInfo = dte.getString(i, "source_info");
- String preMasterKey = dte.getString(i, "pre_master_key");
- if (StringUtils.isEmpty(sourceInfo) || StringUtils.isEmpty(preMasterKey)) {
- dte.setFieldValue(i, "source_info", "ch-kt");
- String idFiledName = tableName.toLowerCase(Locale.ROOT).startsWith("t_wip_detail") ? "wip_detail_id" : tableName.toLowerCase(Locale.ROOT).startsWith("t_wip_product_keyp") ? "pk_id" : "wip_id";
- dte.setFieldValue(i, "pre_master_key", dte.getString(i, idFiledName));
- }
- }
- }
+ /**
+ * 妫�鏌ラ槦鍒楁暟閲�
+ */
+ private void checkQueueCount(String tableName) {
+ //鍒濆鏃堕棿
+ long startTime = System.currentTimeMillis();
+ while (queryMap.get(tableName) != null && queryMap.get(tableName).size() >= 10) {
+ //涓庡垵濮嬫椂闂存瘮杈冿紝濡傛灉瓒呰繃10鍒嗛挓鍒欐墦鍗�
+ if (System.currentTimeMillis() - startTime > 600000) {
+ WriteUtil.append("DA-闃熷垪鏁伴噺瓒呰繃10锛屽綋鍓嶆暟閲忥細" + queryMap.get(tableName).size());
+ startTime = System.currentTimeMillis();
+ }
+ ThreadUtil.sleep(10000);
+ }
+ }
- queryQueue.add(dte);
- WriteUtil.append("DA-鎴愬姛鏀惧叆闃熷垪-" + tableName + "-褰撳墠鍓╀綑闃熷垪鏁帮細" + queryQueue.size());
- while (queryQueue.size() >= 10) {
- SpringMVCContextHolder.getSystemLogger().error("DA-闃熷垪宸叉弧-" + tableName + "-褰撳墠鍓╀綑闃熷垪鏁帮細" + queryQueue.size());
- }
- }
- }
+ /**
+ * 鏀惧叆闃熷垪
+ *
+ * @param tableName
+ * @param dte
+ */
+ private void add(String tableName, DataTableEntity dte) {
+ synchronized (tableName.intern()) {
+ LinkedBlockingQueue<DataTableEntity> queryQueue = queryMap.get(tableName);
+ if (queryQueue == null) {
+ queryQueue = new LinkedBlockingQueue<>();
+ queryMap.put(tableName, queryQueue);
+ }
+ if (tableName.endsWith("BAK20230823")) {
+ //妫�鏌te涓殑source_info 鍜� pre_master_key 鏄惁涓虹┖
+ for (int i = 0; i < dte.getRows(); i++) {
+ String sourceInfo = dte.getString(i, "source_info");
+ String preMasterKey = dte.getString(i, "pre_master_key");
+ if (StringUtils.isEmpty(sourceInfo) || StringUtils.isEmpty(preMasterKey)) {
+ dte.setFieldValue(i, "source_info", "ch-kt");
+ String idFiledName = tableName.toLowerCase(Locale.ROOT).startsWith("t_wip_detail") ? "wip_detail_id" : tableName.toLowerCase(Locale.ROOT).startsWith("t_wip_product_keyp") ? "pk_id" : "wip_id";
+ dte.setFieldValue(i, "pre_master_key", dte.getString(i, idFiledName));
+ }
+ }
+ }
+ queryQueue.add(dte);
+ WriteUtil.append("DA-鎴愬姛鏀惧叆闃熷垪-" + tableName + "-褰撳墠鍓╀綑闃熷垪鏁帮細" + queryQueue.size());
+ }
+ }
- /**
- * 鏌ヨ寮�濮嬶紝鍚戝瓨娲籱ap涓坊鍔�1
- *
- * @param tableName
- */
- private void startQuery(String tableName, String threadInfo) {
- synchronized (tableName.intern()) {
- Set<String> set = existsQueryMap.computeIfAbsent(tableName, k -> Sets.newLinkedHashSet());
- set.add(threadInfo);
- }
- }
+ /**
+ * 鏌ヨ寮�濮嬶紝鍚戝瓨娲籱ap涓坊鍔�1
+ *
+ * @param tableName
+ */
+ private void startQuery(String tableName, String threadInfo) {
+ synchronized (tableName.intern()) {
+ Set<String> set = existsQueryMap.computeIfAbsent(tableName, k -> Sets.newLinkedHashSet());
+ set.add(threadInfo);
+ }
+ }
- /**
- * 鏌ヨ缁撴潫锛屽悜瀛樻椿map涓噺灏�1
- *
- * @param tableName
- */
- private void finalQuery(String tableName, String threadInfo) {
- synchronized (tableName.intern()) {
- Set<String> set = existsQueryMap.get(tableName);
- if (set == null || !set.contains(threadInfo)) {
- throw new BaseException(ErrorCode.DATA_ARCHIVE_QUERY_THREAD_COUNT_ERROR.getValue(), ErrorCode.DATA_ARCHIVE_QUERY_THREAD_COUNT_ERROR.getText() + " table_name: " + tableName);
- }
- set.remove(threadInfo);
- if (set.isEmpty()) {
- existsQueryMap.remove(tableName);
- }
- }
- }
+ /**
+ * 鏌ヨ缁撴潫锛屽悜瀛樻椿map涓噺灏�1
+ *
+ * @param tableName
+ */
+ private void finalQuery(String tableName, String threadInfo) {
+ synchronized (tableName.intern()) {
+ Set<String> set = existsQueryMap.get(tableName);
+ if (set == null || !set.contains(threadInfo)) {
+ throw new BaseException(ErrorCode.DATA_ARCHIVE_QUERY_THREAD_COUNT_ERROR.getValue(), ErrorCode.DATA_ARCHIVE_QUERY_THREAD_COUNT_ERROR.getText() + " table_name: " + tableName);
+ }
+ set.remove(threadInfo);
+ if (set.isEmpty()) {
+ existsQueryMap.remove(tableName);
+ }
+ }
+ }
- /**
- * 鍏佽鎵ц鏌ヨ锛堥伩鍏嶉槦鍒椾腑绛夊緟鎻掑叆鐨勫お澶氾紝瀵艰嚧鍐呭瓨婧㈠嚭锛�
- *
- * @param tableName
- * @return
- */
- private boolean allowQuery(String tableName) {
- synchronized (tableName.intern()) {
- return queryMap.get(tableName) == null || queryMap.get(tableName).size() <= QUERY_MAX_BATCH_COUNT;
- }
- }
+ /**
+ * 鍏佽鎵ц鏌ヨ锛堥伩鍏嶉槦鍒椾腑绛夊緟鎻掑叆鐨勫お澶氾紝瀵艰嚧鍐呭瓨婧㈠嚭锛�
+ *
+ * @param tableName
+ * @return
+ */
+ private boolean allowQuery(String tableName) {
+ synchronized (tableName.intern()) {
+ return queryMap.get(tableName) == null || queryMap.get(tableName).size() <= QUERY_MAX_BATCH_COUNT;
+ }
+ }
- /**
- * 鎻掑叆閿欒鏃ュ織
- *
- * @param tableName
- * @param error
- */
- private void appendErrorLog(String tableName, String error) {
- synchronized (tableName.intern()) {
- StringBuilder errorSb = errorLogMap.get(tableName);
- if (errorSb == null) {
- errorSb = new StringBuilder(128);
- errorLogMap.put(tableName, errorSb);
- }
- if (errorSb.length() > 0) {
- errorSb.append("\n");
- }
- if (errorSb.length() < 2000) {
- errorSb.append(error);
- }
- }
- }
+ /**
+ * 鎻掑叆閿欒鏃ュ織
+ *
+ * @param tableName
+ * @param error
+ */
+ private void appendErrorLog(String tableName, String error) {
+ synchronized (tableName.intern()) {
+ StringBuilder errorSb = errorLogMap.get(tableName);
+ if (errorSb == null) {
+ errorSb = new StringBuilder(128);
+ errorLogMap.put(tableName, errorSb);
+ }
+ if (errorSb.length() > 0) {
+ errorSb.append("\n");
+ }
+ if (errorSb.length() < 2000) {
+ errorSb.append(error);
+ }
+ }
+ }
- /**
- * 鑾峰彇椤垫暟锛屽悜涓婂彇鏁�
- *
- * @param count
- * @param size
- * @return
- */
- private int ceilPage(int count, int size) {
- if (size == 0) {
- if (count == 0) {
- return 0;
- } else {
- throw new BaseException(ErrorCode.ARCHIVE_PAGE_CALCULATE_ERROR);
- }
- }
- return count / size + (count % size == 0 ? 0 : 1);
- }
+ /**
+ * 鑾峰彇椤垫暟锛屽悜涓婂彇鏁�
+ *
+ * @param count
+ * @param size
+ * @return
+ */
+ private int ceilPage(int count, int size) {
+ if (size == 0) {
+ if (count == 0) {
+ return 0;
+ } else {
+ throw new BaseException(ErrorCode.ARCHIVE_PAGE_CALCULATE_ERROR);
+ }
+ }
+ return count / size + (count % size == 0 ? 0 : 1);
+ }
}
diff --git a/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingService.java b/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingService.java
index a48b8fe..fbdf347 100644
--- a/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingService.java
+++ b/product-server-data-center/src/main/java/com/product/data/center/service/DataArchivingService.java
@@ -390,6 +390,8 @@
String maxID = paramFse.getString("max_id");
String minID = paramFse.getString("min_id");
String splitTableType = "1".equals(configFse.getString("split_table_type")) ? "1" : "0";
+ //寮�鍚槦鍒楁煡璇㈡椂锛屽厛娓呯┖闃熷垪闃叉涓婃鏈鐞嗗畬鐨勬暟鎹崰鐢ㄥ唴瀛�
+ dataArchivingQueue.clear(sourceTable);
dataArchivingQueue.query(sourceDbe, sourceTable, filterSb.toString(), null, uniqueField, minID);
DataTableEntity allDte;
Map<String, List<DataTableEntity>> groupDteMap;
diff --git a/product-server-datasource/src/main/java/com/product/datasource/connection/ConnectionManager.java b/product-server-datasource/src/main/java/com/product/datasource/connection/ConnectionManager.java
index df184b5..a97e68f 100644
--- a/product-server-datasource/src/main/java/com/product/datasource/connection/ConnectionManager.java
+++ b/product-server-datasource/src/main/java/com/product/datasource/connection/ConnectionManager.java
@@ -200,46 +200,48 @@
}
Boolean enabling = Global.getPropertyToBoolean("data.system.oracle.connection-pool.enabling", "false");
if (enabling) {
- DruidDataSource druidDataSource = DB_DRUID_DATA_SOURCE_MAP.get(ArrayUtil.join(params, ","));
- if (druidDataSource == null || druidDataSource.isClosed()) {
- druidDataSource = new DruidDataSource();
- druidDataSource.setUrl(url);
- druidDataSource.setUsername(dbe.getUserName());
- druidDataSource.setPassword(dbe.getPassWord());
- // 鍒濆鍖栨椂寤虹珛鐗╃悊杩炴帴鐨勪釜鏁�
- druidDataSource.setInitialSize(getProperty("data.system.oracle.connection-pool.initial-size", 10));
- // 鏈�澶ф椿鍔ㄨ繛鎺ユ暟
- druidDataSource.setMaxActive(getProperty("data.system.oracle.connection-pool.max-active", 100));
- // 鏈�灏忕┖闂茶繛鎺ユ暟
- druidDataSource.setMinIdle(getProperty("data.system.oracle.connection-pool.min-idle", 20));
- // 鏍¢獙鏌ヨ璇彞
- druidDataSource.setValidationQuery(dbe.getDataBaseType().getValidationQuery());
- // 褰撹繛鎺ョ┖闂叉椂鏄惁娴嬭瘯杩炴帴鏈夋晥鎬�
- druidDataSource.setTestWhileIdle(true);
- // 涓ゆ绌洪棽杩炴帴娓呴櫎涔嬮棿鐨勬椂闂撮棿闅�
- druidDataSource.setTimeBetweenEvictionRunsMillis(60000);
- druidDataSource.setMaxWait(60 * 1000);
- druidDataSource.setPoolPreparedStatements(true);
- druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(100);
- druidDataSource.setRemoveAbandoned(true);
- //鍗婂皬鏃跺己鍒跺綊杩樿繛鎺�
- druidDataSource.setRemoveAbandonedTimeout(60 * 30);
- DB_DRUID_DATA_SOURCE_MAP.put(ArrayUtil.join(params, ","), druidDataSource);
- try {
- //鑾疯幏鍙栬繛鎺�
- Connection connection = druidDataSource.getConnection();
- //娴嬭瘯杩炴帴
- if (!connectionValidity(connection, dbe.getDataBaseType())) {
+ synchronized (url.intern()){
+ DruidDataSource druidDataSource = DB_DRUID_DATA_SOURCE_MAP.get(ArrayUtil.join(params, ","));
+ if (druidDataSource == null || druidDataSource.isClosed()) {
+ druidDataSource = new DruidDataSource();
+ druidDataSource.setUrl(url);
+ druidDataSource.setUsername(dbe.getUserName());
+ druidDataSource.setPassword(dbe.getPassWord());
+ // 鍒濆鍖栨椂寤虹珛鐗╃悊杩炴帴鐨勪釜鏁�
+ druidDataSource.setInitialSize(getProperty("data.system.oracle.connection-pool.initial-size", 10));
+ // 鏈�澶ф椿鍔ㄨ繛鎺ユ暟
+ druidDataSource.setMaxActive(getProperty("data.system.oracle.connection-pool.max-active", 100));
+ // 鏈�灏忕┖闂茶繛鎺ユ暟
+ druidDataSource.setMinIdle(getProperty("data.system.oracle.connection-pool.min-idle", 20));
+ // 鏍¢獙鏌ヨ璇彞
+ druidDataSource.setValidationQuery(dbe.getDataBaseType().getValidationQuery());
+ // 褰撹繛鎺ョ┖闂叉椂鏄惁娴嬭瘯杩炴帴鏈夋晥鎬�
+ druidDataSource.setTestWhileIdle(true);
+ // 涓ゆ绌洪棽杩炴帴娓呴櫎涔嬮棿鐨勬椂闂撮棿闅�
+ druidDataSource.setTimeBetweenEvictionRunsMillis(60000);
+ druidDataSource.setMaxWait(60 * 1000);
+ druidDataSource.setPoolPreparedStatements(true);
+ druidDataSource.setMaxPoolPreparedStatementPerConnectionSize(100);
+ druidDataSource.setRemoveAbandoned(true);
+ //鍗婂皬鏃跺己鍒跺綊杩樿繛鎺�
+ druidDataSource.setRemoveAbandonedTimeout(60 * 30);
+ DB_DRUID_DATA_SOURCE_MAP.put(ArrayUtil.join(params, ","), druidDataSource);
+ try {
+ //鑾疯幏鍙栬繛鎺�
+ Connection connection = druidDataSource.getConnection();
+ //娴嬭瘯杩炴帴
+ if (!connectionValidity(connection, dbe.getDataBaseType())) {
+ throw new BaseException(ErrorCode.GET_CONNECTION_FAIL);
+ }
+ return connection;
+ } catch (BaseException e) {
+ throw e;
+ } catch (Exception e) {
+ e.printStackTrace();
+ log.error("鑾峰彇閾炬帴澶辫触", e);
+ log.error(url);
throw new BaseException(ErrorCode.GET_CONNECTION_FAIL);
}
- return connection;
- } catch (BaseException e) {
- throw e;
- } catch (Exception e) {
- e.printStackTrace();
- log.error("鑾峰彇閾炬帴澶辫触", e);
- log.error(url);
- throw new BaseException(ErrorCode.GET_CONNECTION_FAIL);
}
}
}
diff --git a/product-server-report_v2/pom.xml b/product-server-report_v2/pom.xml
deleted file mode 100644
index 6617191..0000000
--- a/product-server-report_v2/pom.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>com.lx</groupId>
- <artifactId>product-server</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </parent>
- <artifactId>product-server-report</artifactId>
- <version>1.3.0-SNAPSHOT</version>
- <name>product-server-report</name>
- <url>http://maven.apache.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- </properties>
- <dependencies>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>com.lx</groupId>
- <artifactId>product-server-core</artifactId>
- <version>1.0.0-releases</version>
- </dependency>
- <dependency>
- <groupId>com.lx</groupId>
- <artifactId>product-server-common</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>com.lx</groupId>
- <artifactId>product-server-util</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- </dependency>
- <dependency>
- <groupId>com.lx</groupId>
- <artifactId>product-server-admin</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>com.lx</groupId>
- <artifactId>product-server-data-centerV2</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <scope>compile</scope>
- </dependency>
- </dependencies>
-</project>
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/config/CmnConst.java b/product-server-report_v2/src/main/java/com/product/server/report/config/CmnConst.java
deleted file mode 100644
index 1b1138f..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/config/CmnConst.java
+++ /dev/null
@@ -1,262 +0,0 @@
-package com.product.server.report.config;
-
-public class CmnConst {
-
- // 琛ㄥ悕甯搁噺瀹氫箟
- public static final String PRODUCT_SYS_PRODUCTS = "product_sys_products"; // 浜у搧琛ㄥ悕
- public static final String PRODUCT_SYS_REPORT_TYPE_CONFIG = "product_sys_report_type_config";
- public static final String PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE = "product_sys_report_type_attribute";
- public static final String PRODUCT_SYS_REPORT_DATASOURCE_CONFIG = "product_sys_report_datasource_config";
- public static final String PRODUCT_SYS_REPORT_DATASOURCE_CONFIG_FIELD = "product_sys_report_datasource_config_field";
- public static final String PRODUCT_SYS_REPORT_CONFIG = "product_sys_report_config";
- public static final String PRODUCT_SYS_REPORT_CONFIG_CHARTS = "product_sys_report_config_charts";
- public static final String PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE = "product_sys_report_config_attribute";
- public static final String PRODUCT_SYS_DATAMODEL_FIELD = "product_sys_datamodel_field";
- public static final String PRODUCT_SYS_FUNCTIONS = "product_sys_functions";
- public static final String PRODUCT_SYS_FUNCTION_BUTTONS = "product_sys_function_buttons";
- public static final String PRODUCT_SYS_MVC_PAGE = "product_sys_mvc_page";
- public static final String PRODUCT_SYS_LINK = "product_sys_link";
- public static final String PRODUCT_SYS_FUNCTION_PERMISSION = "product_sys_function_permission";
- public static final String PRODUCT_SYS_MENUS = "product_sys_menus";
- public static final String PRODUCT_SYS_DATAMODEL_TABLE = "product_sys_datamodel_table";
-
- //鍒嗛〉甯搁噺瀹氫箟
- public static final String CPAGE = "cpage"; //椤垫暟
- public static final String PAGESIZE = "pagesize"; //姣忛〉鏉℃暟
-
-
- //鐗规畩甯搁噺瀹氫箟
- public static final String TYPE = "~type~";
- public static final String DEL = "del";
- public static final String UUID = "uuid";
- public static final String ID = "id";
- public static final String OPTION = "option";
- //鏁版嵁搴撶被鍨�
- public static final String MYSQL = "mysql";
-
- //甯搁噺瀛楁瀹氫箟
- public static final String RELATED_TABLE = "related_table";
- public static final String TYPE_GROUP = "type_group";
- public static final String TYPE_UUID = "type_uuid";
- public static final String FIELD_TYPE = "field_type";
- public static final String FIELD_LENGTH = "field_length";
- public static final String FIELD_UNIT = "field_unit";
- public static final String FIELD_DESCRIPTION = "field_description";
- public static final String FIELD_TEXT = "field_text";
- public static final String IS_VALID = "is_valid";
- public static final String CREATED_BY = "created_by";
- public static final String UPDATED_BY = "updated_by";
- public static final String CREATED_UTC_DATETIME = "created_utc_dateime";
- public static final String UPDATED_UTC_DATETIME = "updated_utc_datetime";
- public static final String NAME = "name";
- public static final String VALUE = "value";
- public static final String TRICODE = "tricode";
- public static final String MODULE_UUID = "module_uuid";
- public static final String TABLE_UUID = "table_uuid";
- public static final String FUNCTION_NAME = "function_name";
- public static final String FUNCTION_DESCRIPTION = "function_description";
- public static final String REPORT_NAME = "report_name";
- public static final String STATUS_UUID = "status_uuid";
- public static final String FUNCTION_TYPE_UUID = "function_type_uuid";
- public static final String CLIENT_TYPE_UUID = "client_type_uuid";
- public static final String BUTTON_NAME = "button_name";
- public static final String BUTTON_TITLE = "button_title";
- public static final String BUTTON_TYPE = "button_type";
- public static final String BUTTON_CATEGORY_UUID = "button_category_uuid";
- public static final String ROUTE_NAME = "route_name";
- public static final String IS_MAIN = "is_main";
- public static final String PAGE_NAME = "page_name";
- public static final String LINK_TYPE = "link_type";
- public static final String FUNCTION_UUID = "function_uuid";
- public static final String SUB_REPORT = "sub_report";
- public static final String LINE_FROM = "line_from";
- public static final String FROM_TYPE = "from_type";
- public static final String LINE_TO = "line_to";
- public static final String TO_TYPE = "to_type";
- public static final String BUTTON_UUID = "button_uuid";
- public static final String ROLE_UUID = "role_uuid";
- public static final String MENU_NAME = "menu_name";
- public static final String MENU_ICON = "menu_icon";
- public static final String TRICODE_PARENT = "tricode_parent";
- public static final String IS_CATALOG = "is_catalog";
- public static final String IS_SHOW = "is_show";
- public static final String TOP_LOCATION = "top_location";
- public static final String LEFT_LOCATION = "left_location";
- public static final String VERSION_UUID = "version_uuid";
- public static final String PAGE_TYPE = "page_type";
- public static final String PAGE_URL = "page_url";
- public static final String UPLOAD_API_URL = "upload_api_url";
- public static final String PARAMS = "params";
- public static final String SEQUENCE = "sequence";
- public static final String REPORT_WIDTH_TYPE = "report_width_type";
- public static final String REPORT_WIDTH_VALUE = "report_width_value";
- public static final String DATA_TYPE = "data_type";
- public static final String PAGE_OPEN_WITH = "page_open_with";
- public static final String RELATE_FLAG = "relate_flag";
- public static final String LOGICAL_OPERATOR = "logical_operator";
- public static final String LOGICAL_VALUE = "logical_value";
- public static final String FIRST_LOAD = "first_load";
-
- //PRODUCT_SYS_report_config 閰嶇疆涓昏〃瀛楁
- public static final String DATASOURCE_UUID = "datasource_uuid";
- //鏁版嵁婧恥uid
- public static final String REPORT_DATASOURCE_UUID = "report_datasource_uuid";
- //琛ㄧ被鍨媢uid
- public static final String REPORT_TYPE_CONFIG_UUID = "report_type_config_uuid";
- //PRODUCT_SYS_report_datasource_config 鎶ヨ〃鏁版嵁婧愰厤缃〃瀛楁
- public static final String SQL_TEXT = "sql_text";
- //PRODUCT_SYS_report_datasource_config_field 鎶ヨ〃鏁版嵁婧愬瓧娈典俊鎭〃瀛楁
- public static final String FIELD_NAME = "field_name";
- public static final String FIELD_FORMAT = "field_format";
- public static final String FIELD_PROMPT = "field_prompt";
- public static final String SEARCH_TYPE = "search_type";
- public static final String TABLE_NAME = "table_name";
- //PRODUCT_SYS_report_type_attribute 鎶ヨ〃閰嶇疆灞炴�ц〃瀛楁
- public static final String REPORT_TYPE_ATTR = "report_type_attr";
- public static final String ATTRIBUTE_NAME = "attribute_name";
- public static final String UNPIVOT_INFO = "unpivot_info";
- public static final String IS_UNPIVOT = "is_unpivot";
-
- public static final String REPORT_TYPE = "report_type";
- public static final String REPORT_TYPE_COMMON = "鏅�氭暟鎹垪琛�";
- public static final String REPORT_TYPE_GROUP = "鍒嗙粍鎶ヨ〃";
- public static final String REPORT_TYPE_CROSS = "浜ゅ弶鎶ヨ〃";
-
-
- // 缂撳瓨
- public static final String CACHE_REPORT_CONFIG = "鎶ヨ〃閰嶇疆";
- public static final String CACHE_REPORT_DATASOURCE_CONFIG = "鏁版嵁婧愰厤缃�";
- public static final String CACHE_REPORT_DATASOURCE_FIELD_CONFIG = "鏁版嵁婧愬瓧娈甸厤缃�";
- public static final String CACHE_REPORT_TYPE = "鎶ヨ〃绫诲瀷";
- public static final String CACHE_REPORT_TYPE_ATTR = "鎶ヨ〃绫诲瀷灞炴�ц〃";
-
- // 瀛楁
- public static final String REPORT_TYPE_ATTR_VALUE = "report_type_attr_value";
- public static final String CELL_POSITION_X = "cell_position_x";
- public static final String CELL_POSITION_Y = "cell_position_y";
- public static final String REPORT_AREA = "report_area";
- public static final String LAST_TOTAL = "last_total";
- public static final String TOTAL_NAME = "total_name";
- public static final String IS_PAGE = "is_page";
- public static final String PAGE_SIZE = "page_size";
- public static final String TYPE_NAME = "type_name";
- public static final String SYSTEM_SENIOR_QUERY_STRING = "systemSeniorQueryString";
- public static final String REPORT_DATASOURCE_NAME = "report_datasource_name";
-
- // 灞炴��-label
- public static final String ATTR_COLSPAN = "colspan";
- public static final String ATTR_ROWSPAN = "rowspan";
- public static final String ATTR_FIELD_INFO = "field_info";
- public static final String ATTR_DATA_AREA_GROUP_FIELD = "data_area_group_field";
- public static final String ATTR_GROUP_AREA_GROUP_FIELD = "group_area_group_field";
- public static final String ATTR_STATISTICS = "statistics";
- public static final String ATTR_X = "x";
- public static final String ATTR_Y = "y";
- public static final String ATTR_SORT = "sort";
- public static final String ATTR_SHOW_NAME = "show_name";
- public static final String ATTR_IS_GROUP = "is_group";
- public static final String ATTR_IS_CUSTOM_FIELD = "is_custom_field";
- public static final String ATTR_SP_TIME_STATISTICS_WAY = "sp_time_statistics_way";
- public static final String ATTR_RELATE_TIME_FIELD = "relate_time_field";
- public static final String ATTR_RELATE_COMMON_FIELD = "relate_common_field";
- public static final String ATTR_HEAD_LAST_YEAR = "last_year__";
- public static final String ATTR_HEAD_PRE_PERIOD = "pre_period__";
-
- public static final String ATTR_FORMULA = "formula";
- public static final String ATTR_IS_STATISTICS = "is_statistics";
- public static final String ATTR_IS_STATISTICS_FIELD = "is_statistics_field";
- public static final String ATTR_DECIMAL_DIGITS = "decimal_digits";
- public static final String ATTR_AVG_TYPE = "avg_type";
- public static final String ATTR_ENUM_TYPE = "enum_type";
- public static final String ATTR_IS_TOTAL_STATISTICS = "is_total_statistics";
- public static final String ATTR_IS_TITLE = "is_title";
- public static final String ATTR_GROUP_AREA_SUB_CNT = "group_area_sub_cnt";
- public static final String ATTR_DATA_AREA_SUB_CNT = "data_area_sub_cnt";
- public static final String ATTR_SIZE = "size";
- public static final String ATTR_STATISTICS_FIELD = "statistics_field";
- public static final String ATTR_ORDER_BY = "order_by";
- public static final String ATTR_DATE_FORMAT = "date_format";
- public static final String ATTR_NUM_FORMAT = "num_format";
- public static final String ATTR_DATA_TYPE = "data_type";
- public static final String ATTR_WIDTH = "width";
- public static final String ATTR_URL = "url";
- public static final String ATTR_REAL_VALUE = "real_value";
- public static final String ATTR_TOTAL_COUNT = "total_count";
- public static final String ATTR_TOTAL_PAGE = "total_page";
- public static final String ATTR_URL_PARAM = "url_param";
-
- public static final String ATTR_REPORT_AREA = "report_area";
- public static final String ATTR_NAME = "name";
- public static final String ATTR_VALUE = "value";
- public static final String ATTR_FINAL_VALUE = "final_value";
-
- public static final String ATTR_STATISTICS_DEFAULT = "default";
- public static final String ATTR_STATISTICS_SUM = "sum";
- public static final String ATTR_STATISTICS_MAX = "max";
- public static final String ATTR_STATISTICS_MIN = "min";
- public static final String ATTR_STATISTICS_CNT = "cnt";
- public static final String ATTR_STATISTICS_AVG = "avg";
- public static final String ATTR_STATISTICS_ENUM = "enum";
- public static final String ATTR_STATISTICS_FINAL_STATISTICS = "final_statistics";
- public static final String ATTR_STATISTICS_SUB_CNT = "sub_cnt";
- public static final String ATTR_STATISTICS_GROUP_AREA_AVG = "group_area_avg";
- public static final String ATTR_STATISTICS_DATA_AREA_AVG = "data_area_avg";
-
- public static final String ATTR_DATA_TYPE_STRING = "string";
- public static final String ATTR_DATA_TYPE_NUM = "num";
- public static final String ATTR_DATA_TYPE_DATE = "date";
-
- public static final String STATISTICS_NAME = "缁熻";
-
- public static final String ONCLICK_FUNC_NAME = "turn_2_other_page";
-
- public static final String RETURN_ATTR_RESULT = "result";
- public static final String RETURN_ATTR_MESSAGE = "message";
- public static final String RETURN_ATTR_HTML = "html";
-
- public static final String REGEXP_FORM_FIELD = "\\{#\\w+#}";
- public static final String REGEXP_SYS_FIELD = "\\{%\\w+%}";
- public static final String REGEXP_NUMBER = "-?[0-9]+\\.?[0-9]*";
-
- public static final String FALSE = "false";
- public static final String TRUE = "true";
-
- public static final String FULL_DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
-
- public static final String MIN_X = "min_x";
- public static final String MAX_X = "max_x";
- public static final String MAX_Y = "max_y";
-
- public static final String CLASS_TR_REPORT_TITLE = "report_title";
- public static final String CLASS_TR_HEAD = "head";
- public static final String CLASS_TR_DATA_TITLE = "data_title";
- public static final String CLASS_TR_DATA_STATISTICS = "data_statistics";
- public static final String CLASS_TR_DATA_COMMON = "data_common";
- public static final String CLASS_TR_TAIL = "tail";
- public static final String CLASS_TD_CAN_TURN = "can_turn";
-
- public static final String PROMPT_REAL_VALUE_TAIL = "_save_value";
-
- public static final String REGEXP_FILTER_AREA = "\\[\\[((?!\\[).)+\\]\\]";
- public static final String REGEXP_ALL_AREA = "(\\[\\[((?!\\[).)+\\]\\])|(\\{\\$((?!\\$).)+\\$\\})|(\\{\\^((?!\\^).)+\\^\\})|(\\{\\&((?!\\&).)+\\&\\})";
- public static final String REGEXP_SP_SIGN_AREA = "(\\{\\$((?!\\$).)+\\$\\})|(\\{\\^((?!\\^).)+\\^\\})|(\\{\\&((?!\\&).)+\\&\\})";
- public static final String REGEXP_ONLY_VALUE = "\\{\\$((?!\\$).)+\\$\\}";
- public static final String REGEXP_EXCEPT_FIELD = "\\{\\^((?!\\^).)+\\^\\}";
- public static final String REGEXP_FULL_CONTENT = "\\{\\&((?!\\&).)+\\&\\}";
- public static final String REGEXP_ALL_TERNARY_OPERATOR = "\\{@((?!(\\{@)|(@\\})|(\\[\\[)|(\\]\\])).)+@\\}";
- public static final String REGEXP_TERNARY_OPERATOR = "((?!\\?|(\\[)).)+\\?((?!:).)+:((?!(\\]\\])).)+";
- public static final String REGEXP_ALL_TYPE = "(\\{\\$((?!(\\{\\$)).)+\\$\\})|(\\{\\^((?!(\\{\\^)).)+\\^\\})|(\\{\\&((?!(\\{\\&)).)+\\&\\})";
- public static final String REGEXP_ALWAYS_TRUE = "and\\s+1\\s*=\\s*1";
-
- public static final String TERNARY_OPERATOR_LEFT = "{@";
- public static final String TERNARY_OPERATOR_RIGHT = "@}";
- public static final String CONTENT_PAGE_AREA = "[[page_area]]";
-
- public static final String ADDRESS_INIT_INTERFENCE = "api/report/data-list/get-report";
- public static final String ADDRESS_REPORT_SHOW = "system/reportForms/dataReport/preview";
- public static final String ADDRESS_INIT_CHART = "/api/report/EChart/generatePieEChart";
- public static final String ADDRESS_CHART_VIEW = "system/reportForms/chartReport/previewTwo";
-
- public static final String FIELD_TYPE_NUM_STR = "bigint,decimal,double,float,int,integer,tinyint";
- public static final String FIELD_TYPE_DATE_STR = "date,datetime,time,timestamp";
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/config/ReportCode.java b/product-server-report_v2/src/main/java/com/product/server/report/config/ReportCode.java
deleted file mode 100644
index 68adb27..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/config/ReportCode.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package com.product.server.report.config;
-
-import com.product.common.enums.IEnum;
-import com.product.common.enums.ModuleEnum;
-
-/**
- * 鍥介檯鍖栫紪鐮丆ode瀹氫箟锛氫粠鍏叡鐨凪oduleEnum(鍏叡妯″潡鏋氫妇)涓嫾涓婂墠閮ㄥ垎锛屽悗閮ㄥ垎鑷杩藉姞
- * 鏈�鍚庡畬鏁寸殑鏄� 鈥�101鈥� 10:鏄鎴锋ā鍧� 1:鑷鎷兼帴 101:鏈�鍚庤〃绀烘柊澧炲鎴峰け璐�
- *
- * @author kevin
- * @date: 2019骞�6鏈�28鏃� 涓嬪崍10:28:17
- */
-public enum ReportCode implements IEnum {
-
- /**
- * 鎴愬姛
- */
- SUCCESS("鎴愬姛", ModuleEnum.REPORT.getValue() + "000"),
- REPORT_TABLE_NOT_NULL("琛ㄥ悕鎴朣QL鏌ヨ涓嶈兘涓虹┖", ModuleEnum.REPORT.getValue() + "001"),
- REPORT_GET_FIELD_BE_DEFEATED("鏌ヨ瀛楁澶辫触",ModuleEnum.REPORT.getValue() + "002"),
- REPORT_GET_CONFIG_BE_DEFEATED("鑾峰彇鎶ヨ〃閰嶇疆淇℃伅澶辫触",ModuleEnum.REPORT.getValue() + "003"),
- REPORT_SAVE_BE_DEFEATED("鎶ヨ〃閰嶇疆淇濆瓨澶辫触", ModuleEnum.REPORT.getValue() + "004"),
- GET_REPORT_CONFIG_FIAL("鑾峰彇鎶ヨ〃閰嶇疆淇℃伅澶辫触", ModuleEnum.REPORT.getValue() + "005"),
- GET_REPORT_DATASOURCE_FIAL("鑾峰彇鎶ヨ〃鏁版嵁婧愬け璐�", ModuleEnum.REPORT.getValue() + "006"),
- SET_REPORT_CACHE_FAIL("璁剧疆鎶ヨ〃缂撳瓨澶辫触", ModuleEnum.REPORT.getValue() + "007"),
- INVALID_REPORT("鏃犳晥鐨勬姤琛紝璇疯仈绯荤鐞嗗憳", ModuleEnum.REPORT.getValue() + "008"),
- GET_REPORT_FAIL("鑾峰彇鎶ヨ〃澶辫触", ModuleEnum.REPORT.getValue() + "009"),
- DATE_TRANSFER_FIAL("鎶ヨ〃鏃ユ湡杞寲澶辫触", ModuleEnum.REPORT.getValue() + "010"),
- GET_REPORT_SEARCH_INFO_FAIL("鑾峰彇鎶ヨ〃鏌ヨ淇℃伅澶辫触", ModuleEnum.REPORT.getValue() + "011"),
-
- REPORT_TYPE_ERROR("鎶ヨ〃绫诲瀷鎿嶄綔閿欒",ModuleEnum.REPORT.getValue()+"012"),
- REPORT_DATASOURCE_ERROR("鎶ヨ〃鏁版嵁婧愭搷浣滈敊璇�",ModuleEnum.REPORT.getValue()+"013"),
- REPORT_CONFIG_ERROR("鎶ヨ〃閰嶇疆鎿嶄綔閿欒",ModuleEnum.REPORT.getValue()+"014"),
- GET_REPORT_RELEASE_ROLE_PERMISSION_FAIL("鑾峰彇鎶ヨ〃鍙戝竷瑙掕壊淇℃伅澶辫触",ModuleEnum.REPORT.getValue()+"015"),
- GET_REPORT_RELEASE_INFO_FAIL("鑾峰彇鎶ヨ〃鍙戝竷淇℃伅澶辫触",ModuleEnum.REPORT.getValue()+"016"),
- GET_REPORT_RELEASED_LIST_FAIL("鑾峰彇鎶ヨ〃宸插彂甯冨垪琛ㄥけ璐�",ModuleEnum.REPORT.getValue()+"017"),
- REPORT_DATASOURCE_COPY_FAIL("鎶ヨ〃鏁版嵁婧愬鍒跺け璐�",ModuleEnum.REPORT.getValue()+"020"),
- REPORT_DATASOURCE_SAVE_FAIL("鎶ヨ〃鏁版嵁婧愪繚瀛樺け璐�",ModuleEnum.REPORT.getValue()+"021"),
- REPORT_QUOTE_FAIL("寮曠敤鎶ヨ〃澶辫触",ModuleEnum.REPORT.getValue()+"022"),
- REPORT_ATTR_ALREADY_USED("鎶ヨ〃灞炴�у凡缁忚浣跨敤锛屾棤娉曡鍒犻櫎",ModuleEnum.REPORT.getValue()+"023"),
-
- GET_DATA_FIAL("鑾峰彇鏁版嵁澶辫触", ModuleEnum.REPORT.getValue() + "100"),
- GET_CACHE_FIAL("鑾峰彇缂撳瓨澶辫触", ModuleEnum.REPORT.getValue() + "101"),
-
- GET_CHART_REFERENCE_CONFIG_FAIL("鑾峰彇鍥捐〃鍙傜収澶辫触", ModuleEnum.REPORT.getValue() + "102"),
- GET_CHART_ATTRIBUTE_FAIL("鑾峰彇鍥捐〃灞炴�уけ璐�", ModuleEnum.REPORT.getValue() + "103"),
- SAVE_CHART_ATTRIBUTE_REPETITION_FAIL("鍥捐〃灞炴�т繚瀛樺け璐�,鍚岀骇灞炴�т笉鑳芥湁閲嶅", ModuleEnum.REPORT.getValue() + "104"),
- SAVE_CHART_ATTRIBUTE_FAIL("鍥捐〃灞炴�т繚瀛樺け璐�", ModuleEnum.REPORT.getValue() + "105"),
- DEL_CHART_ATTRIBUTE_FAIL("鍥捐〃灞炴�у垹闄ゅけ璐�", ModuleEnum.REPORT.getValue() + "106"),
- SAVE_CHART_MASTER_TABLE_FAIL("閰嶇疆涓昏〃淇濆瓨澶辫触", ModuleEnum.REPORT.getValue() + "107"),
- DEL_CHART_MASTER_TABLE_FAIL("閰嶇疆涓昏〃鍒犻櫎澶辫触",ModuleEnum.REPORT.getValue()+"108"),
- DEL_CHART_MASTER_REPETITION_FAIL("閰嶇疆涓昏〃閰嶇疆鍒犻櫎澶辫触,璇ラ厤缃凡缁忕粦瀹氬睘鎬у�奸厤缃〃銆�",ModuleEnum.REPORT.getValue()+"109"),
-
- DEL_CHART_CONFIG_FAIL("鍒犻櫎鍥捐〃灞炴�у�艰〃澶辫触",ModuleEnum.REPORT.getValue()+"110"),
- ADD_CHART_CONFIG_FAIL("鏂板鍥捐〃灞炴�у�艰〃澶辫触",ModuleEnum.REPORT.getValue()+"111"),
- UP_CHART_CONFIG_FAIL("淇敼鍥捐〃灞炴�у�艰〃澶辫触",ModuleEnum.REPORT.getValue()+"112"),
- GET_CHART_CONFIG_FAIL("鍒犻櫎鍥捐〃灞炴�у�艰〃澶辫触",ModuleEnum.REPORT.getValue()+"113"),
- GET_CHART_TYPE_FAIL("鑾峰彇绫诲瀷琛ㄥけ璐�",ModuleEnum.REPORT.getValue()+"114"),
- GET_MASTER_LIST_FAIL("鑾峰彇鍥捐〃閰嶇疆澶辫触",ModuleEnum.REPORT.getValue()+"115"),
- GET_CHART_NULL_FAIL("鍥捐〃鏁版嵁涓虹┖",ModuleEnum.REPORT.getValue()+"116"),
- CONFIG_CHART_ISSUE_FAIL("閰嶇疆鍥捐〃鍙戝竷澶辫触",ModuleEnum.REPORT.getValue()+"117"),
- GET_CHART_VIEW_FAIL("鍥捐〃棰勮澶辫触",ModuleEnum.REPORT.getValue()+"118"),
- CANCEL_RELEASE_CHART_VIEW_FAIL("鍥捐〃鍙栨秷鍙戝竷澶辫触",ModuleEnum.REPORT.getValue()+"118"),
- GET_FUNCTION_BUTTON_FAIL("鑾峰彇鍔熻兘鎸夐挳澶辫触",ModuleEnum.REPORT.getValue()+"119"),
- ;
-
- private String text;
- private String value;
-
- private ReportCode(String text, String value) {
- this.text = text;
- this.value = value;
- }
-
- public String getText() {
- return text;
- }
-
- public String getValue() {
- return value;
- }
-
-
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/config/SystemCode.java b/product-server-report_v2/src/main/java/com/product/server/report/config/SystemCode.java
deleted file mode 100644
index 345af9d..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/config/SystemCode.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.product.server.report.config;
-
-import com.product.common.enums.IEnum;
-import com.product.common.enums.ModuleEnum;
-
-/**
- * Copyright 漏 2019.
- *
- * @Title: SystemCode
- * @Project: LX
- * @Date: 2019-05-13 13:39
- * @Author: Dave.Luo
- * @Description: 绯荤粺璁剧疆杩斿洖鐮佸畾涔�
- */
-
-public enum SystemCode implements IEnum {
-
- SYSTEM_OPERATION_SUCCESS("鎴愬姛", "200"),
- SYSTEM_FORM_NODATA("璇锋眰鍙傛暟涓虹┖", ModuleEnum.SYSTEM.getValue() + "999"),
- SYSTEM_FORM_COUNT("璇锋眰鍙傛暟鏈夎", ModuleEnum.SYSTEM.getValue() + "998"),
- SYSTEM_TABLE_NODATA("璇锋眰琛ㄥ悕鏈夎", ModuleEnum.SYSTEM.getValue() + "997"),
- SYSTEM_ACQUIRE_PARAM_FAIL("鑾峰彇鍙傛暟澶辫触", ModuleEnum.SYSTEM.getValue() + "996"),
-
- SYTEM_REPORT_TYPE_UPDATE_ERROR("鎶ヨ〃鍒嗙被淇敼澶辫触锛�",ModuleEnum.REPORT.getValue()+"001"),
- SYTEM_REPORT_TYPE_DELETE_ERROR("鎶ヨ〃鍒嗙被鍒犻櫎澶辫触锛�",ModuleEnum.REPORT.getValue()+"002"),
- SYTEM_REPORT_DATASOURCE_UPDATE_ERROR("鎶ヨ〃鏁版嵁婧愪慨鏀瑰け璐ワ紒",ModuleEnum.REPORT.getValue()+"003"),
- SYTEM_REPORT_DATASOURCE_DELETE_ERROR("鎶ヨ〃鏁版嵁婧愬垹闄ゅけ璐ワ紒",ModuleEnum.REPORT.getValue()+"004"),
- SYTEM_REPORT_DATA_PROCESS_ERROR("鎶ヨ〃鏁版嵁澶勭悊澶辫触",ModuleEnum.REPORT.getValue()+"005"),
- ;
-
- private String text;
- private String value;
-
- private SystemCode(String text, String value) {
- this.text = text;
- this.value = value;
- }
-
- public String getText() {
- return text;
- }
-
- public String getValue() {
- return value;
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/config/SystemParamSet.java b/product-server-report_v2/src/main/java/com/product/server/report/config/SystemParamSet.java
deleted file mode 100644
index f8e61dc..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/config/SystemParamSet.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package com.product.server.report.config;
-
-import java.lang.reflect.Field;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-public class SystemParamSet {
-
- //绯荤粺鍙傛暟
- public static final String YEAR="YEAR"; //骞�
- public static final String MONTH="MONTH"; //鏈�
- public static final String DAY="DAY"; //鏃�
- public static final String HOUR="HOUR"; //鏃�
- public static final String MINUTE="MINUTE"; //鍒�
- public static final String SEC="SEC"; //绉�
-
- public static final String STAFF_NAME="STAFF_NAME"; //鍛樺伐鍚嶇О
- public static final String STAFF_UUID="STAFF_UUID"; //鍛樺伐UUID
- public static final String STAFF_CODE="STAFF_CODE"; //鍛樺伐缂栫爜
- public static final String USER_UUID="USER_UUID"; //USER琛║UID
- public static final String USER_ACCOUNT="USER_ACCOUNT";//鐧婚檰鐢ㄦ埛璐﹀彿
- public static final String USER_ID="USER_ID"; //user 琛╥d
-
- public static final String CLIENT_UUID="CLIENT_UUID"; //瀹㈡埛UUID
- public static final String CLIENT_NAME="CLIENT_NAME"; //鍙婂鎴峰悕绉�
-
- public static final String COMPANY_CODE="COMPANY_CODE"; //鍏徃缂栫爜
- public static final String COMPANY_NAME="COMPANY_NAME"; //鍏徃鍚嶇О
- public static final String COMPANY_UUID="COMPANY_UUID"; //鍏徃UIID
-
- public static final String DEPT_CODE="DEPT_CODE"; //閮ㄩ棬缂栫爜
- public static final String DEPT_UUID="DEPT_UUID"; //閮ㄩ棬UUID
- public static final String DEPT_NAME="DEPT_NAME"; //閮ㄩ棬鍚嶇О
-
- public static final String POST_UUID="POST_UUID"; //宀椾綅UUID
- public static final String JOB_POST_NAME="JOB_POST_NAME"; //宀椾綅鍚嶇О
-
- public static final String ROLE_UUID="ROLE_UUID"; //瑙掕壊UUID
-
-
- public static Map <String ,String> SYSTEM_PARAMS=null;
- static {
- Field[] fields=SystemParamSet.class.getDeclaredFields();
- SYSTEM_PARAMS=new HashMap<>();
-
- for (Field Field : fields) {
- String field_name=Field.getName();
- if(field_name.equals("SYSTEM_PARAMS"))continue;
- SYSTEM_PARAMS.put(field_name, field_name);
- }
- }
-
- public static void main(String[] args) {
- System.out.println(SYSTEM_PARAMS);
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/controller/ChartPropertyConfigController.java b/product-server-report_v2/src/main/java/com/product/server/report/controller/ChartPropertyConfigController.java
deleted file mode 100644
index 3a09971..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/controller/ChartPropertyConfigController.java
+++ /dev/null
@@ -1,255 +0,0 @@
-package com.product.server.report.controller;
-
-
-import com.alibaba.fastjson.JSONObject;
-import com.product.core.config.CoreConst;
-import com.product.core.controller.support.AbstractBaseController;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.entity.RequestParameterEntity;
-import com.product.core.exception.BaseException;
-import com.product.core.spring.context.SpringMVCContextHolder;
-import com.product.module.sys.version.ApiVersion;
-import com.product.server.report.config.CmnConst;
-import com.product.server.report.config.ReportCode;
-import com.product.server.report.config.SystemCode;
-import com.product.server.report.service.ChartPropertyConfigService;
-import com.product.server.report.service.idel.IChartPropertyConfigService;
-import com.product.util.ResultInfo;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * @author : xinluo
- * @Description: 鍥捐〃鏁版嵁閰嶇疆
- * @date :
- */
-@RequestMapping("/api/charts/property")
-@RestController
-public class ChartPropertyConfigController extends AbstractBaseController {
-
- @Autowired
- public ChartPropertyConfigService chartPropertyConfigService;
-
- /**
- * 鏂板鍥捐〃鍙婅缃殑灞炴�у��
- * 缁熶竴鎻愪氦
- * @param request
- * @return
- */
- @RequestMapping(value = "/addChartsMasterTable/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String addChartsMasterTable(HttpServletRequest request){
- try {
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- if (bean == null || fse == null) {
- SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- IChartPropertyConfigService service=(IChartPropertyConfigService)getProxyInstance(chartPropertyConfigService);
- String uuid = service.addChartsMasterTable(fse);
- return OK_Add(uuid);
- } catch (BaseException e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- return this.error(e.getCode(), e.getMessageInfo());
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- e.printStackTrace();
- return error(ReportCode.ADD_CHART_CONFIG_FAIL.getValue(), ReportCode.ADD_CHART_CONFIG_FAIL.getText());
- }
- }
-
-
- /**
- * 淇敼鍥捐〃鍙婅缃殑灞炴�у��
- * 缁熶竴鎻愪氦
- * @param request
- * @return
- */
- @RequestMapping(value = "/upChartsMasterTable/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String upChartsMasterTable(HttpServletRequest request){
- try {
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- if (bean == null || fse == null) {
- SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- IChartPropertyConfigService service=(IChartPropertyConfigService)getProxyInstance(chartPropertyConfigService);
- if(service.upChartsMasterTable(fse)){
- return OK();
- }
- return null;
- } catch (BaseException e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- return this.error(e.getCode(), e.getMessageInfo());
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- e.printStackTrace();
- return error(ReportCode.UP_CHART_CONFIG_FAIL.getValue(), ReportCode.UP_CHART_CONFIG_FAIL.getText());
- }
- }
-
- /**
- * 鍒犻櫎鍥捐〃鍙婅缃殑灞炴�у��
- * @param request
- * @return
- */
- @RequestMapping(value = "/delChartsMasterTable/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String delChartsMasterTable(HttpServletRequest request){
- try {
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- if (bean == null || fse == null) {
- SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
-
- IChartPropertyConfigService service=(IChartPropertyConfigService)getProxyInstance(chartPropertyConfigService);
- if(service.delChartsMasterTable(fse)){
- return OK();
- }
- return error(ReportCode.GET_REPORT_FAIL.getValue(), ReportCode.GET_REPORT_FAIL.getText());
- } catch (BaseException e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- return this.error(e.getCode(), e.getMessageInfo());
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- e.printStackTrace();
- return error(ReportCode.DEL_CHART_CONFIG_FAIL.getValue(), ReportCode.DEL_CHART_CONFIG_FAIL.getText());
- }
- }
-
- /**
- * 鑾峰彇鍥捐〃鍙婅缃殑灞炴�у��
- * @param request
- * @return
- */
- @RequestMapping(value = "/getChartsMasterTable/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getChartsMasterTable(HttpServletRequest request){
- try {
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- if (bean == null || fse == null) {
- SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- JSONObject object = chartPropertyConfigService.getChartsMasterTable(fse.getUUID());
- return ResultInfo.success(object);
- } catch (BaseException e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- return this.error(e.getCode(), e.getMessageInfo());
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- e.printStackTrace();
- return error(ReportCode.GET_CHART_CONFIG_FAIL.getValue(), ReportCode.GET_CHART_CONFIG_FAIL.getText());
- }
- }
-
- /**
- * 鎷栧姩绫诲瀷琛ㄦ椂甯﹀嚭绫诲瀷鍙婂瓙琛ㄦ暟鎹�
- * @param request invalid
- * @return
- */
- @RequestMapping(value = "/getChartsTypeData/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getChartsTypeData(HttpServletRequest request){
- try {
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- if (bean == null || fse == null) {
- SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- JSONObject jsonObject = chartPropertyConfigService.getChartsTypeData(fse.getUUID());
- return ResultInfo.success(jsonObject);
- } catch (BaseException e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- return this.error(e.getCode(), e.getMessageInfo());
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- e.printStackTrace();
- return error(ReportCode.GET_CHART_TYPE_FAIL.getValue(), ReportCode.GET_CHART_TYPE_FAIL.getText());
- }
- }
-
- /**
- * 灞炴�т富琛ㄥ垪琛�
- * @param request invalid
- * @return
- */
- @RequestMapping(value = "/getChartsMasterList/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getChartsMasterList(HttpServletRequest request){
- try {
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- if (bean == null || fse == null) {
- SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
-
- DataTableEntity dataTableEntity = chartPropertyConfigService.getChartsMasterList(fse);
- return OK_List(dataTableEntity);
- } catch (BaseException e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- return this.error(e.getCode(), e.getMessageInfo());
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- e.printStackTrace();
- return error(ReportCode.GET_MASTER_LIST_FAIL.getValue(), ReportCode.GET_MASTER_LIST_FAIL.getText());
- }
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/controller/DataListReportController.java b/product-server-report_v2/src/main/java/com/product/server/report/controller/DataListReportController.java
deleted file mode 100644
index 202ecf4..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/controller/DataListReportController.java
+++ /dev/null
@@ -1,102 +0,0 @@
-package com.product.server.report.controller;
-
-import com.product.core.config.CoreConst;
-import com.product.core.controller.support.AbstractBaseController;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.entity.RequestParameterEntity;
-import com.product.core.exception.BaseException;
-import com.product.core.spring.context.SpringMVCContextHolder;
-import com.product.module.sys.version.ApiVersion;
-import com.product.server.report.config.ReportCode;
-import com.product.server.report.config.SystemCode;
-import com.product.server.report.service.DataListReportService;
-import com.product.util.BaseUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletRequest;
-
-/**
- * Copyright 漏 6c
- *
- * @Date: 2021-05-18 18:26
- * @Author: 6c
- * @Description:
- */
-@RestController
-@RequestMapping("/api/report/data-list")
-public class DataListReportController extends AbstractBaseController {
- @Autowired
- private DataListReportService dataListReportService;
-
-
-
- /**
- * 6c-test-璁剧疆鎶ヨ〃缂撳瓨
- *
- * @param request
- * @return
- */
- @RequestMapping(value = "/set-report-cache/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String setReportCache(HttpServletRequest request) {
- try {
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- if (bean == null || fse == null) {
- SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- if (!"1".equals(fse.getString("is_all"))) {
- dataListReportService.setConfig(fse.getUUID());
- } else {
- dataListReportService.setAllConfig();
- }
- return OK();
- } catch (BaseException e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- return this.error(e.getCode(), e.getMessageInfo());
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- e.printStackTrace();
- return error(ReportCode.GET_REPORT_FAIL.getValue(), ReportCode.GET_REPORT_FAIL.getText());
- }
- }
-
- /**
- * 鑾峰彇鎶ヨ〃
- *
- * @param request
- * @return
- */
- @RequestMapping(value = "/get-report/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getTableInfo(HttpServletRequest request) {
- try {
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- if (bean == null || fse == null) {
- SpringMVCContextHolder.getSystemLogger().error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- return BaseUtil.success(dataListReportService.getReport(fse));
- } catch (BaseException e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- return this.error(e.getCode(), e.getMessageInfo());
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- e.printStackTrace();
- return error(ReportCode.GET_REPORT_FAIL.getValue(), ReportCode.GET_REPORT_FAIL.getText());
- }
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/controller/EChartsReportConfigController.java b/product-server-report_v2/src/main/java/com/product/server/report/controller/EChartsReportConfigController.java
deleted file mode 100644
index f496b42..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/controller/EChartsReportConfigController.java
+++ /dev/null
@@ -1,104 +0,0 @@
-package com.product.server.report.controller;
-
-import com.alibaba.fastjson.JSONObject;
-import com.alibaba.fastjson.parser.Feature;
-import com.product.common.enums.IEnum;
-import com.product.core.controller.support.AbstractBaseController;
-import com.product.core.entity.RequestParameterEntity;
-import com.product.core.exception.BaseException;
-import com.product.module.sys.version.ApiVersion;
-import com.product.server.report.config.ReportCode;
-import com.product.server.report.service.idel.EChartsReportConfigService;
-
-import com.product.util.BaseUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
-/**
- * @author : shicf
- * @Description: 鍏徃鍥介檯鍖栬瑷�Controller
- * @date :
- */
-@RequestMapping("/api/report/config")
-@RestController
-public class EChartsReportConfigController extends AbstractBaseController {
- @Autowired
- public EChartsReportConfigService eChartsReportConfigService;
-
- @ResponseBody
- @RequestMapping(value = "/getTableInfo/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getTableInfo(HttpServletResponse response, HttpServletRequest request, HttpSession session) {
- Object bean = request.getAttribute("requestPara");
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- try {
- String customSql = reqp.getFormData().getValue("customSql").toString();
- //鐩墠鍙栧緱uuid
- String tableUuid = reqp.getFormData().getValue("tableName").toString();
- JSONObject fieldName = null;
-
- if (tableUuid == null || tableUuid.equals("")) {
- if (customSql == null || customSql.equals("")) {
- return error(ReportCode.REPORT_TABLE_NOT_NULL.getValue(), ReportCode.REPORT_TABLE_NOT_NULL.getText());
- } else {
- fieldName = eChartsReportConfigService.getSqlTableInfo(customSql);
- }
- } else {
- fieldName = eChartsReportConfigService.getNameTableInfo(tableUuid);
-
- }
- return BaseUtil.success(fieldName);
- } catch (BaseException e) {
- return error(ReportCode.REPORT_GET_FIELD_BE_DEFEATED.getText(), e.getMessage());
- }
- }
-
- @ResponseBody
- @RequestMapping(value = "/getReportInfo/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getReportInfo(HttpServletResponse response, HttpServletRequest request, HttpSession session) {
- Object bean = request.getAttribute("requestPara");
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- try {
- //鑾峰彇鎶ヨ〃uuid
- String report_uuid = reqp.getFormData().getValue("report_uuid").toString();
-
- return BaseUtil.success(eChartsReportConfigService.getReportInfo(report_uuid));//BaseUtil.success(fieldName);
- } catch (BaseException e) {
- return error(ReportCode.REPORT_GET_CONFIG_BE_DEFEATED.getText(), e.getMessage());
- }
- }
-
- @ResponseBody
- @RequestMapping(value = "/saveTheReportConfiguration/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String saveTheReportConfiguration(HttpServletResponse response, HttpServletRequest request, HttpSession session) {
- Object bean = request.getAttribute("requestPara");
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- JSONObject reportInfo = JSONObject.parseObject(reqp.getFormJson().toString(), Feature.OrderedField);
- System.out.println(reportInfo);
- try {
- EChartsReportConfigService service = (EChartsReportConfigService) getProxyInstance(eChartsReportConfigService);
- service.addTableInfo(reportInfo);
- //eChartsReportConfigService.addTableInfo(reportInfo);
- return OK();
- } catch (BaseException e) {
- return error(ReportCode.REPORT_SAVE_BE_DEFEATED.getText(), e.getMessage());
- }
- }
-
- private String error(IEnum code, String msg) {
- if (!"".equals(msg)) {
- return error(code.getValue(), code.getText() + "(" + msg + ")");
- } else {
- return error(code.getValue(), code.getText());
- }
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/controller/GenerateEChartController.java b/product-server-report_v2/src/main/java/com/product/server/report/controller/GenerateEChartController.java
deleted file mode 100644
index 35bb29b..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/controller/GenerateEChartController.java
+++ /dev/null
@@ -1,204 +0,0 @@
-package com.product.server.report.controller;
-
-import com.product.admin.service.UpdateLoginUserInfoService;
-import com.product.common.lang.StringUtils;
-import com.product.core.config.CoreConst;
-import com.product.core.controller.support.AbstractBaseController;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.entity.RequestParameterEntity;
-import com.product.core.exception.BaseException;
-import com.product.module.sys.version.ApiVersion;
-import com.product.server.report.config.CmnConst;
-import com.product.server.report.config.ReportCode;
-import com.product.server.report.config.SystemCode;
-import com.product.server.report.service.GenerateEChartService;
-import com.product.server.report.service.idel.IGenerateEChartService;
-import com.product.util.BaseUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-import java.util.List;
-
-/**
- * @author : lx
- * @Description: 鍥捐〃Echart灏佽
- * @date :
- */
-@RequestMapping("/api/report/EChart")
-@RestController
-public class GenerateEChartController extends AbstractBaseController {
- @Autowired
- public GenerateEChartService generateEChartService;
-
- /**
- * 鐢熶骇楗肩姸鍥捐〃
- *
- * @param response
- * @param request
- * @param session
- * @return
- */
- @RequestMapping(value = "/generatePieEChart/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String generatePieEChart(HttpServletResponse response, HttpServletRequest request, HttpSession session) {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- try {
- return BaseUtil.success(generateEChartService.generatePieEChartMaster(fse));
- } catch (BaseException e) {
- return error(ReportCode.GET_CHART_VIEW_FAIL.getText(), e.getMessage());
- }
- }
-
- /**
- * 鍙戝竷鍒楄〃
- * @param
- * @param request
- * @return
- */
- @RequestMapping(value = "/released-list-chart-config/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String listConfig(HttpServletRequest request){
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //鍒ゆ柇浼犲弬鏄惁姝e父
- if (StringUtils.isEmpty(CmnConst.UUID) || StringUtils.isEmpty(CmnConst.TRICODE_PARENT) || StringUtils.isEmpty(CmnConst.ROLE_UUID)) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- DataTableEntity dataTableEntity =generateEChartService.releasedListChartConfig(fse);
- return OK_List(dataTableEntity);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.GET_REPORT_RELEASED_LIST_FAIL.getValue(), ReportCode.GET_REPORT_RELEASED_LIST_FAIL.getText()+e.getMessage());
- }
- }
-
- @Autowired
- UpdateLoginUserInfoService updateLoginUserInfoService;
-
- /**
- * 鍥捐〃鍙戝竷
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/release-config/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String releaseConfig(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //鍒ゆ柇浼犲弬鏄惁姝e父
- if (StringUtils.isEmpty(CmnConst.UUID) || StringUtils.isEmpty(CmnConst.TRICODE_PARENT) || StringUtils.isEmpty(CmnConst.ROLE_UUID)) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- IGenerateEChartService service=(IGenerateEChartService)getProxyInstance(generateEChartService);
- List<String> roleList = service.releaseConfig(fse,"207da368-38c4-468a-9dfe-2e57aa38507f","001-012");
-
- updateLoginUserInfoService.updateUserInfoByUpdateRole(roleList.toArray(),true);
- return OK();
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.CONFIG_CHART_ISSUE_FAIL.getValue(), ReportCode.CONFIG_CHART_ISSUE_FAIL.getText()+e.getMessage());
- }
- }
-
-
- /**
- * 鍙栨秷鍙戝竷
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/cancel-release-config/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String cancelReleaseConfig(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //鍒ゆ柇浼犲弬鏄惁姝e父
- if (StringUtils.isEmpty(CmnConst.UUID) || StringUtils.isEmpty(CmnConst.TRICODE_PARENT) || StringUtils.isEmpty(CmnConst.ROLE_UUID)) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- IGenerateEChartService service=(IGenerateEChartService)getProxyInstance(generateEChartService);
- boolean succ=service.cancelRelease(fse);
- if (succ) {
- return OK();
- }else {
- return this.error(ReportCode.CANCEL_RELEASE_CHART_VIEW_FAIL.getValue(), ReportCode.CANCEL_RELEASE_CHART_VIEW_FAIL.getText());
- }
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.CANCEL_RELEASE_CHART_VIEW_FAIL.getValue(), ReportCode.CANCEL_RELEASE_CHART_VIEW_FAIL.getText()+e.getMessage());
- }
- }
-
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/controller/ListReportConfigController.java b/product-server-report_v2/src/main/java/com/product/server/report/controller/ListReportConfigController.java
deleted file mode 100644
index 6ca9fe0..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/controller/ListReportConfigController.java
+++ /dev/null
@@ -1,60 +0,0 @@
-package com.product.server.report.controller;
-
-import com.product.core.controller.support.AbstractBaseController;
-import com.product.core.entity.RequestParameterEntity;
-import com.product.core.exception.BaseException;
-import com.product.module.sys.version.ApiVersion;
-import com.product.server.report.config.ReportCode;
-import com.product.server.report.service.ListReportConfigServiceImple;
-import com.product.util.BaseUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
-
-/**
- * @author : shicf
- * @Description: 鍏徃鍥介檯鍖栬瑷�Controller
- * @date :
- */
-@RestController
-@RequestMapping("/api/report/statement")
-public class ListReportConfigController extends AbstractBaseController {
-
- @Autowired
- public ListReportConfigServiceImple listReportConfigServiceImple;
-
- @ResponseBody
- @RequestMapping(value = "/getReportInfo/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getReportInfo(HttpServletResponse response, HttpServletRequest request, HttpSession session) {
- Object bean = request.getAttribute("requestPara");
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- try {
- String report_uuid = (String) reqp.getValue("report_uuid");
- return BaseUtil.success(listReportConfigServiceImple.createReportInfo(report_uuid));//BaseUtil.success(fieldName);
- } catch (BaseException e) {
- return error(ReportCode.REPORT_GET_CONFIG_BE_DEFEATED.getText(), e.getMessage());
- }
- }
-
- @ResponseBody
- @RequestMapping(value = "/getReportName/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getReportName(HttpServletResponse response, HttpServletRequest request, HttpSession session) {
- Object bean = request.getAttribute("requestPara");
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- try {
- String report_uuid = (String) reqp.getValue("report_uuid");
-
- return BaseUtil.success(listReportConfigServiceImple.getReportName(report_uuid));//BaseUtil.success(fieldName);
- } catch (BaseException e) {
- return error(ReportCode.REPORT_GET_CONFIG_BE_DEFEATED.getText(), e.getMessage());
- }
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/controller/ReportConfigController.java b/product-server-report_v2/src/main/java/com/product/server/report/controller/ReportConfigController.java
deleted file mode 100644
index 3a4d8e2..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/controller/ReportConfigController.java
+++ /dev/null
@@ -1,541 +0,0 @@
-package com.product.server.report.controller;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.product.core.cache.DataPoolCacheImpl;
-import com.product.module.sys.version.ApiVersion;
-import com.product.util.BaseUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.product.common.lang.StringUtils;
-import com.product.core.config.CoreConst;
-import com.product.core.controller.support.AbstractBaseController;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.entity.RequestParameterEntity;
-import com.product.core.exception.BaseException;
-import com.product.server.report.config.ReportCode;
-import com.product.server.report.config.CmnConst;
-import com.product.server.report.config.SystemCode;
-import com.product.server.report.service.ReportConfigService;
-import com.product.server.report.service.idel.IReportConfigService;
-
-@RestController
-@RequestMapping("/api/report-config")
-public class ReportConfigController extends AbstractBaseController {
-
- @Autowired
- ReportConfigService reportConfigService;
-
- @PostMapping("/get-button-upload-param/{version}")
- @ApiVersion(1)
- public String getButton(HttpServletRequest request) {
- try {
- FieldSetEntity fse = null;
- Object bean = request.getAttribute("requestPara");
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- if (bean == null || fse == null || fse.getString("uuid") == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- DataTableEntity dt = DataPoolCacheImpl.getInstance().getCacheData("鎵�鏈夋寜閽寜鍔熻兘鍒嗙粍", new String[]{fse.getUUID()});
- return OK_List(dt);
- } catch (BaseException e) {
- e.printStackTrace();
- return error(e);
- } catch (Exception e) {
- return error(ReportCode.GET_FUNCTION_BUTTON_FAIL.getValue(), ReportCode.GET_FUNCTION_BUTTON_FAIL.getText() + (e.getMessage() != null ? e.getMessage() : ""));
- }
- }
-
- /**
- * 鎶ヨ〃閰嶇疆鍒楄〃
- *
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/list-report-config/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String listReportConfig(HttpServletResponse response, HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- DataTableEntity dt = reportConfigService.listReportConfig(fse.getInteger("cpage"), fse.getInteger("pageSize"), fse);
- return OK_List(dt);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText() + e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃閰嶇疆璇︽儏
- *
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/find-report-config/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String findReportConfig(HttpServletResponse response, HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //uuid鏄惁涓虹┖
- if (StringUtils.isEmpty(fse.getUUID())) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- FieldSetEntity resultFse = reportConfigService.findReportConfig(fse.getUUID());
- return OK_List(resultFse);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText() + e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃閰嶇疆鏂板
- *
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/add-report-config/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String addReportConfig(HttpServletResponse response, HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- IReportConfigService service = (IReportConfigService) getProxyInstance(reportConfigService);
- String uuid = service.addReportConfig(fse);
- return OK_Add(uuid);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText() + e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃閰嶇疆淇敼
- *
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/update-report-config/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String updateReportConfig(HttpServletResponse response, HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //uuid鏄惁涓虹┖
- if (StringUtils.isEmpty(fse.getUUID())) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- IReportConfigService service = (IReportConfigService) getProxyInstance(reportConfigService);
- boolean succ = service.updateReportConfig(fse);
- if (succ) {
- return OK();
- } else {
- return this.error(ReportCode.REPORT_CONFIG_ERROR.getValue(), ReportCode.REPORT_CONFIG_ERROR.getText());
- }
-
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText() + e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃閰嶇疆鍒犻櫎
- *
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/delete-report-config/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String deleteReportConfig(HttpServletResponse response, HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //uuid鏄惁涓虹┖
- if (StringUtils.isEmpty(fse.getUUID())) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- IReportConfigService service = (IReportConfigService) getProxyInstance(reportConfigService);
- boolean succ = service.deleteReportConfig(fse.getUUID());
- if (succ) {
- return OK();
- } else {
- return this.error(ReportCode.REPORT_CONFIG_ERROR.getValue(), ReportCode.REPORT_CONFIG_ERROR.getText());
- }
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText() + e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃鍙戝竷
- *
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/release-config/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String releaseConfig(HttpServletResponse response, HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //鍒ゆ柇浼犲弬鏄惁姝e父
- if (StringUtils.isEmpty(CmnConst.UUID) || StringUtils.isEmpty(CmnConst.TRICODE_PARENT) || StringUtils.isEmpty(CmnConst.ROLE_UUID)) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- IReportConfigService service = (IReportConfigService) getProxyInstance(reportConfigService);
- boolean succ = service.releaseConfig(fse);
- if (succ) {
- return OK();
- } else {
- return this.error(ReportCode.REPORT_CONFIG_ERROR.getValue(), ReportCode.REPORT_CONFIG_ERROR.getText());
- }
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText() + e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃鍙戝竷
- *
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/cancel-release-config/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String cancelReleaseConfig(HttpServletResponse response, HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //鍒ゆ柇浼犲弬鏄惁姝e父
- if (StringUtils.isEmpty(CmnConst.UUID) || StringUtils.isEmpty(CmnConst.TRICODE_PARENT) || StringUtils.isEmpty(CmnConst.ROLE_UUID)) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- IReportConfigService service = (IReportConfigService) getProxyInstance(reportConfigService);
- boolean succ = service.cancelRelease(fse);
- if (succ) {
- return OK();
- } else {
- return this.error(ReportCode.REPORT_CONFIG_ERROR.getValue(), ReportCode.REPORT_CONFIG_ERROR.getText());
- }
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText() + e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃澶嶅埗
- *
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/copy-config/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String copyConfig(HttpServletResponse response, HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- String uuid = reportConfigService.copyConfig(fse.getUUID());
- return OK_Add(uuid);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText() + e.getMessage());
- }
- }
-
- /**
- * 閰嶇疆鎶ヨ〃-寮曠敤
- *
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/quote-config/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String quoteReportConfig(HttpServletResponse response, HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- return OK_List(reportConfigService.quoteReportConfig(fse));
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_QUOTE_FAIL.getValue(), ReportCode.REPORT_QUOTE_FAIL.getText() + e.getMessage());
- }
- }
-
-
- /**
- * 鑾峰彇鎶ヨ〃鍙戝竷淇℃伅-鍙戝竷
- *
- * @param request
- * @return
- */
- @RequestMapping(value = "/get-report-release-info/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getReportReleaseInfo(HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- JSONArray jsonArray = reportConfigService.getReportReleaseInfo();
- return BaseUtil.success(jsonArray, null);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.GET_REPORT_RELEASE_ROLE_PERMISSION_FAIL.getValue(), ReportCode.GET_REPORT_RELEASE_ROLE_PERMISSION_FAIL.getText() + e.getMessage());
- }
- }
-
- /**
- * 鑾峰彇鎶ヨ〃鍙戝竷淇℃伅-鍙戝竷鍚庢煡鐪嬩俊鎭�
- *
- * @param request
- * @return
- */
- @RequestMapping(value = "/view-report-release-info/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String viewReportReleaseInfo(HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- JSONObject resultObj = reportConfigService.viewReportReleaseInfo(fse);
- return BaseUtil.success(resultObj, null);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.GET_REPORT_RELEASE_INFO_FAIL.getValue(), ReportCode.GET_REPORT_RELEASE_INFO_FAIL.getText() + e.getMessage());
- }
- }
-
- /**
- * 宸插彂甯冨垪琛ㄧ晫闈�
- *
- * @param request
- * @return
- */
- @RequestMapping(value = "/released-list-report-config/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String releasedListReportConfig(HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- return OK_List(reportConfigService.releasedListReportConfig(fse));
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.GET_REPORT_RELEASED_LIST_FAIL.getValue(), ReportCode.GET_REPORT_RELEASED_LIST_FAIL.getText() + e.getMessage());
- }
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/controller/ReportDatasourceController.java b/product-server-report_v2/src/main/java/com/product/server/report/controller/ReportDatasourceController.java
deleted file mode 100644
index e321469..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/controller/ReportDatasourceController.java
+++ /dev/null
@@ -1,398 +0,0 @@
-package com.product.server.report.controller;
-
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import com.product.server.report.config.ReportCode;
-import com.product.util.BaseUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.product.common.lang.StringUtils;
-import com.product.core.config.CoreConst;
-import com.product.core.controller.support.AbstractBaseController;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.entity.RequestParameterEntity;
-import com.product.core.exception.BaseException;
-import com.product.module.sys.version.ApiVersion;
-import com.product.server.report.config.CmnConst;
-import com.product.server.report.config.SystemCode;
-import com.product.server.report.service.ReportDatasourceService;
-import com.product.server.report.service.idel.IReportDatasourceService;
-import com.product.util.config.SystemParamSet;
-
-
-@RestController
-@RequestMapping("/api/report-datasource")
-public class ReportDatasourceController extends AbstractBaseController{
-
- @Autowired
- ReportDatasourceService reportDatasourceService;
-
-
- /**
- * 鎶ヨ〃鏁版嵁婧愬垪琛�
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/list-datasource/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String listDatasource(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- DataTableEntity dt=reportDatasourceService.listDatasource(fse);
- return OK_List(dt);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText()+e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃鏁版嵁婧愯鎯�
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/find-datasource/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String findDatasource(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //鍒ゆ柇uuid鏄惁涓虹┖
- if (StringUtils.isEmpty(fse.getUUID())) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- FieldSetEntity dt=reportDatasourceService.findDatasource(fse.getUUID());
- return OK_List(dt);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText()+e.getMessage());
- }
- }
-
- /**
- * 鏁版嵁婧�-淇濆瓨
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/save-datasource/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String updateDatasource(HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- IReportDatasourceService service=(IReportDatasourceService)getProxyInstance(reportDatasourceService);
- String uuid = service.saveDatasource(fse);
- return OK_Add(uuid);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_SAVE_FAIL.getValue(), ReportCode.REPORT_DATASOURCE_SAVE_FAIL.getText()+e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃鏁版嵁婧愭柊澧�
- *
- * @param request
- * @return
- */
- @RequestMapping(value = "/copy-datasource/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String copyDatasource(HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- return OK_List(reportDatasourceService.copyDatasource(fse));
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_COPY_FAIL.getValue(), ReportCode.REPORT_DATASOURCE_COPY_FAIL.getText() + e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃鏁版嵁婧愬垹闄�
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/delete-datasource/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String deleteDatasource(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //鍒ゆ柇uuid鏄惁涓虹┖
- if (StringUtils.isEmpty(fse.getUUID())) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- IReportDatasourceService service=(IReportDatasourceService)getProxyInstance(reportDatasourceService);
- boolean succ=service.deleteDatasource(fse.getUUID());
- if (succ) {
- return OK();
- }else {
- return this.error(SystemCode.SYTEM_REPORT_DATASOURCE_DELETE_ERROR.getValue(), SystemCode.SYTEM_REPORT_DATASOURCE_DELETE_ERROR.getText());
- }
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText()+e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃sql瑙f瀽涓庨獙璇�
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/verify-sql/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String sqlVerify(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇uuid鏄惁涓虹┖
- if (StringUtils.isEmpty(fse.getString(CmnConst.SQL_TEXT))) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- DataTableEntity dt=reportDatasourceService.sqlVerify(fse);
- return OK_List(dt);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e);
- } catch (Exception e) {
- e.printStackTrace();
- return this.error("", ReportCode.REPORT_DATASOURCE_ERROR.getText()+e.getMessage());
- }
- }
-
- /**
- * 鑾峰彇绯荤粺鍙傛暟
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/get-system-param/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getSysParam(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- return BaseUtil.success(SystemParamSet.SYSTEM_PARAMS);
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText()+e.getMessage());
- }
- }
-
- /**
- * 鑾峰彇瀛楀吀鍙傛暟鍚�
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/get-dict-names/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getDictNames(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- DataTableEntity dt=reportDatasourceService.getDictNames();
- return OK_List(dt);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error("", e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃鏁版嵁婧愯鎯�
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/get-datasource-field/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getDataReouceOfField(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG_FIELD.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //鍒ゆ柇uuid鏄惁涓虹┖
- if (StringUtils.isEmpty(fse.getUUID())) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- DataTableEntity dt=reportDatasourceService.getDataReouceOfField(fse.getUUID());
- return OK_List(dt);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText()+e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃鏁版嵁婧愯鎯�
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/get-dict-and-pormpt/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getDictAndPrompt(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- List<String> dt=reportDatasourceService.getDictAndPrompt();
- return BaseUtil.success(dt);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_DATASOURCE_ERROR.getValue(), ReportCode.REPORT_DATASOURCE_ERROR.getText()+e.getMessage());
- }
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/controller/ReportTypeController.java b/product-server-report_v2/src/main/java/com/product/server/report/controller/ReportTypeController.java
deleted file mode 100644
index 2e3e0f0..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/controller/ReportTypeController.java
+++ /dev/null
@@ -1,551 +0,0 @@
-package com.product.server.report.controller;
-
-import com.alibaba.fastjson.JSONObject;
-import com.product.common.lang.StringUtils;
-import com.product.core.config.CoreConst;
-import com.product.core.controller.support.AbstractBaseController;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.entity.RequestParameterEntity;
-import com.product.core.exception.BaseException;
-import com.product.module.sys.version.ApiVersion;
-import com.product.server.report.config.CmnConst;
-import com.product.server.report.config.ReportCode;
-import com.product.server.report.config.SystemCode;
-import com.product.server.report.service.ReportTypeService;
-import com.product.server.report.service.idel.IReportTypeService;
-import com.product.util.BaseUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-
-@RestController
-@RequestMapping("/api/report-type")
-public class ReportTypeController extends AbstractBaseController{
-
- @Autowired
- ReportTypeService reportTypeService;
-
- /**
- * 鎶ヨ〃绫诲瀷鍒楄〃
- *
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/list-report-type/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String listReportType(HttpServletResponse response, HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse = null;
- Object bean = request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if (bean != null) {
- RequestParameterEntity reqp = (RequestParameterEntity) bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if (bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- DataTableEntity dt = reportTypeService.listReportType(fse);
- return OK_List(dt);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(), e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_TYPE_ERROR.getValue(), ReportCode.REPORT_TYPE_ERROR.getText() + e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃绫诲瀷璇︽儏
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/find-report-type/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String findReportType(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //鍒ゆ柇uuid鏄惁涓虹┖
- if (StringUtils.isEmpty(fse.getUUID())) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- FieldSetEntity dt=reportTypeService.findReportType(fse.getUUID());
- return OK_List(dt);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_TYPE_ERROR.getValue(), ReportCode.REPORT_TYPE_ERROR.getText()+e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃绫诲瀷鏂板
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/add-report-type/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String addReportType(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- IReportTypeService service=(IReportTypeService)getProxyInstance(reportTypeService);
- String uuid=service.addReportType(fse);
- return OK_Add(uuid);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_TYPE_ERROR.getValue(), ReportCode.REPORT_TYPE_ERROR.getText()+e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃绫诲瀷淇敼
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/update-report-type/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String updateReportType(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //鍒ゆ柇uuid鏄惁涓虹┖
- if (StringUtils.isEmpty(fse.getUUID())) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- IReportTypeService service=(IReportTypeService)getProxyInstance(reportTypeService);
- boolean succ=service.updateReportType(fse);
- if (succ) {
- return OK();
- }else {
- return this.error(SystemCode.SYTEM_REPORT_TYPE_UPDATE_ERROR.getValue(), SystemCode.SYTEM_REPORT_TYPE_UPDATE_ERROR.getText());
- }
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_TYPE_ERROR.getValue(), ReportCode.REPORT_TYPE_ERROR.getText()+e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃绫诲瀷鍒犻櫎
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/delete-report-type/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String deleteReportType(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //鍒ゆ柇uuid鏄惁涓虹┖
- if (StringUtils.isEmpty(fse.getUUID())) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- IReportTypeService service=(IReportTypeService)getProxyInstance(reportTypeService);
- boolean succ=service.deleteReportType(fse.getUUID());
- if (succ) {
- return OK();
- }else {
- return this.error(SystemCode.SYTEM_REPORT_TYPE_DELETE_ERROR.getValue(), SystemCode.SYTEM_REPORT_TYPE_DELETE_ERROR.getText());
- }
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_TYPE_ERROR.getValue(), ReportCode.REPORT_TYPE_ERROR.getText()+e.getMessage());
- }
- }
-
- /**
- * 寮曠敤灞炴�у垪琛�
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/list-property/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String listReportByGroup(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //鍒ゆ柇浼犲弬鏄惁姝g‘
- if (StringUtils.isEmpty(fse.getString(CmnConst.TYPE_GROUP))) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- DataTableEntity dt=reportTypeService.listReportByGroup(fse.getString(CmnConst.TYPE_GROUP));
- return OK_List(dt);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_TYPE_ERROR.getValue(), ReportCode.REPORT_TYPE_ERROR.getText()+e.getMessage());
- }
- }
-
- /**
- * 鎶ヨ〃灞炴�у垪琛�
- * @param response
- * @param request
- * @return
- */
- @RequestMapping(value = "/report-type-attr/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String listReportAttr(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- //鍒ゆ柇浼犲弬鏄惁姝g‘
- if (StringUtils.isEmpty(fse.getString(CmnConst.TYPE_UUID))) {
- return this.error(SystemCode.SYSTEM_FORM_COUNT.getValue(), SystemCode.SYSTEM_FORM_COUNT.getText());
- }
- DataTableEntity dt=reportTypeService.listReportAttr(fse.getString(CmnConst.TYPE_UUID));
- return OK_List(dt);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.REPORT_TYPE_ERROR.getValue(), ReportCode.REPORT_TYPE_ERROR.getText()+e.getMessage());
- }
- }
-
- /**
- * 鑾峰彇鍥捐〃鍏冪礌
- * @param response
- * @param request
- * @return
- * xinluo
- */
- @RequestMapping(value = "/getEChartsElement/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String getEChartsElement(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- JSONObject object =reportTypeService.getEChartsElement(fse.getUUID());
- return BaseUtil.success(object);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.GET_CHART_ATTRIBUTE_FAIL.getValue(), ReportCode.GET_CHART_ATTRIBUTE_FAIL.getText()+e.getMessage());
- }
- }
-
- /**
- * 淇濆瓨鍥捐〃涓昏〃
- * @param response
- * @param request
- * @return
- * xinluo
- */
- @RequestMapping(value = "/saveEChartsMasterTable/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String addEChartsMasterTable(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- IReportTypeService service=(IReportTypeService)getProxyInstance(reportTypeService);
- String uuid =service.saveEChartsMasterTable(fse);
- return OK_Add(uuid);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.SAVE_CHART_MASTER_TABLE_FAIL.getValue(), ReportCode.SAVE_CHART_MASTER_TABLE_FAIL.getText()+e.getMessage());
- }
- }
-
-
-
- /**
- * 淇濆瓨鍥捐〃灞炴��
- * @param response
- * @param request
- * @return
- * xinluo
- */
- @RequestMapping(value = "/saveEChartsElement/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String saveEChartsElement(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- IReportTypeService service=(IReportTypeService)getProxyInstance(reportTypeService);
- String uuid =service.saveEChartsElement(fse);
- return OK_Add(uuid);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.SAVE_CHART_ATTRIBUTE_FAIL.getValue(), ReportCode.SAVE_CHART_ATTRIBUTE_FAIL.getText()+e.getMessage());
- }
- }
-
- /**
- * 鍒犻櫎鍥捐〃鍏冪礌
- * @param response
- * @param request
- * @return
- * xinluo
- */
- @RequestMapping(value = "/delEChartsElement/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String delEChartsElement(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- IReportTypeService service=(IReportTypeService)getProxyInstance(reportTypeService);
- if(service.delEChartsElement(fse)){
- return OK();
- }
- return this.error(ReportCode.DEL_CHART_ATTRIBUTE_FAIL.getValue(), ReportCode.DEL_CHART_ATTRIBUTE_FAIL.getText());
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.DEL_CHART_ATTRIBUTE_FAIL.getValue(), ReportCode.DEL_CHART_ATTRIBUTE_FAIL.getText()+e.getMessage());
- }
- }
-
- /**
- * 鍒犻櫎閰嶇疆涓昏〃
- * @param response
- * @param request
- * @return
- * xinluo
- */
- @RequestMapping(value = "/delEChartsTable/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String delEChartsTable(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- IReportTypeService service=(IReportTypeService)getProxyInstance(reportTypeService);
- if(service.delEChartsTable(fse)){
- return OK();
- }
- return this.error(ReportCode.DEL_CHART_MASTER_TABLE_FAIL.getValue(), ReportCode.DEL_CHART_MASTER_TABLE_FAIL.getText());
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.DEL_CHART_MASTER_TABLE_FAIL.getValue(), ReportCode.DEL_CHART_MASTER_TABLE_FAIL.getText()+e.getMessage());
- }
- }
-
-
- /**
- * 鑾峰彇鍥捐〃鍙傜収鍏冪礌
- * @param response
- * @param request
- * @return
- * xinluo
- */
- @RequestMapping(value = "/referenceProperties/{version}", method = RequestMethod.POST)
- @ApiVersion(1)
- public String referenceProperties(HttpServletResponse response,HttpServletRequest request) {
- try {
- //鑾峰彇鍙傛暟
- FieldSetEntity fse=null;
- Object bean=request.getAttribute(CoreConst.API_POST_REQUEST_DATA);
- if(bean != null){
- RequestParameterEntity reqp=(RequestParameterEntity)bean;
- fse = reqp.getFormData();
- }
- //鍒ゆ柇鍙傛暟鏄惁涓虹┖
- if(bean == null || fse == null) {
- return this.error(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText());
- }
- //鍒ゆ柇琛ㄥ悕鏄惁姝e父
- if (!CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG.equals(fse.getTableName())) {
- return this.error(SystemCode.SYSTEM_TABLE_NODATA.getValue(), SystemCode.SYSTEM_TABLE_NODATA.getText());
- }
- IReportTypeService service=(IReportTypeService)getProxyInstance(reportTypeService);
- JSONObject object =service.referenceProperties(fse);
- return BaseUtil.success(object);
- } catch (BaseException e) {
- e.printStackTrace();
- return this.error(e.getCode(),e.getMessage());
- } catch (Exception e) {
- e.printStackTrace();
- return this.error(ReportCode.GET_CHART_REFERENCE_CONFIG_FAIL.getValue(), ReportCode.GET_CHART_REFERENCE_CONFIG_FAIL.getText()+e.getMessage());
- }
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/controller/TestDao.java b/product-server-report_v2/src/main/java/com/product/server/report/controller/TestDao.java
deleted file mode 100644
index ed09b9d..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/controller/TestDao.java
+++ /dev/null
@@ -1,463 +0,0 @@
-package com.product.server.report.controller;
-
-import java.sql.Connection;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.ResultSetMetaData;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-import javax.sql.DataSource;
-
-import com.product.core.config.ErrorCode;
-import com.product.core.connection.ConnectionManager;
-import com.product.core.dao.support.Dao;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.exception.BaseException;
-import com.mysql.cj.jdbc.DatabaseMetaData;
-
-
-public class TestDao {
- /**
- * 鍒涘缓琛�
- * @param tfs
- * @return
- */
- public static boolean createTable(FieldSetEntity tfs) throws BaseException{
- if(tfs == null || tfs.getString("table_name") ==null || "".equals(tfs.getString("table_name")) ) {
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()
- ,Dao.class
- ,"createTable(FieldSetEntity tfs)"
- );
- }
- int table_type=tfs.getInteger("table_type");
-
- PreparedStatement ps = null;
- Connection con = null;
- try{
- if(table_type==2) {
- //鍒涘缓瑙嗗浘琛�
- con =ConnectionManager.getConnection();
- StringBuffer viewsql=new StringBuffer();
- viewsql.append(" create view `").append(tfs.getString("table_name")).append("` as ( ");
- viewsql.append(tfs.getString("create_view_sql")).append(" ); ");//msv_execute_sql 鎵ц鐨凷QL璇彞
- System.out.println(" DDL:"+viewsql.toString());
- ps = con.prepareStatement(viewsql.toString());
- ps.execute();
- return true;
- }
- con =ConnectionManager.getConnection();
- StringBuffer sql=new StringBuffer();
- sql.append(" CREATE TABLE `").append(tfs.getString("table_name")).append("` ( ");
- sql.append("`id` int(10) NOT NULL AUTO_INCREMENT COMMENT '涓婚敭' , ");
- sql.append("`uuid` varchar(64) NOT NULL COMMENT '鍞竴鏍囪瘑', ");
- sql.append("`created_by` varchar(50) DEFAULT NULL COMMENT '鍒涘缓鑰�', ");
- sql.append("`created_utc_datetime` datetime DEFAULT NULL COMMENT '鍒涘缓鏃堕棿', ");
- sql.append("`updated_by` varchar(50) DEFAULT NULL COMMENT '鏇存柊鑰�', ");
- sql.append("`updated_utc_datetime` datetime DEFAULT NULL COMMENT '鏇存柊鏃堕棿', ");
- sql.append("PRIMARY KEY (`id`) USING BTREE, ");
- sql.append("UNIQUE KEY `uuid` (`uuid`) USING BTREE ");
- sql.append(") ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='").append(tfs.getString("table_description")==null?"":tfs.getString("table_description")).append("' ");
- System.out.println(" DDL:"+sql.toString());
- ps = con.prepareStatement(sql.toString());
- ps.execute();
- return true;
- }catch(Exception e){
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()+e.getMessage()
- ,Dao.class
- ,"createTable(FieldSetEntity tfs)"
- ,e
- );
- }finally{
- //this.closeConnection(con,ps,null);
- }
- }
- /**
- * 鏂板琛ㄥ瓧娈�
- * @param tfs
- * @return
- */
- public static boolean createTableField(FieldSetEntity tfs) throws BaseException{
- if(tfs == null || tfs.getString("table_name") ==null || "".equals(tfs.getString("table_name")) ) {
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()
- ,Dao.class
- ,"createTableField(FieldSetEntity tfs)"
- );
- }
-
- PreparedStatement ps = null;
- Connection con = null;
- try{
- con =ConnectionManager.getConnection();
- StringBuffer sql=new StringBuffer();
- sql.append(" ALTER TABLE `").append(tfs.getString("table_name")).append("` ADD `");
- sql.append(tfs.getString("field_name")).append("` "+tfs.getString("field_type")).append("(");// 绫诲瀷
- sql.append(tfs.getString("field_length"));// 瀛楁闀垮害
- String unit = tfs.getString("field_unit");// 灏忔暟浣嶆暟
- unit = (unit.equals("0")) ? "" : ("," + unit);
- sql.append(unit+") ");
- if (tfs.getString("is_required").equals("1")) {// 0涓嶅繀濉紝1蹇呭~
- sql.append("NOT NULL ");
- }else {
- sql.append("DEFAULT NULL ");
- }
- if (tfs.getString("is_unique").equals("1")) {// 0涓嶅敮涓�锛�1鍞竴
- sql.append("unique ");
- }
- if(tfs.getString("field_description") != null && tfs.getString("field_description").length()>0){//瀛楁鎻忚堪
- sql.append("COMMENT"+"'"+ tfs.getString("field_description") +"' ");
- }
- System.out.println(" DDL:"+sql.toString());
- ps = con.prepareStatement(sql.toString());
- ps.execute();
- return true;
- }catch(Exception e){
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()+e.getMessage()
- ,Dao.class
- ,"createTableField(FieldSetEntity tfs)"
- ,e
- );
- }finally{
- //this.closeConnection(con,ps,null);
- }
- }
- /**
- * 淇敼瀛楁
- * @param tfs 鍘熷瓧娈�
- * @param newtfs 淇敼鍚庣殑瀛楁
- * @return
- * @throws BaseException
- */
- public static boolean updateTableField(FieldSetEntity tfs,FieldSetEntity newtfs) throws BaseException{
- if(newtfs == null || newtfs.getString("table_name") ==null || "".equals(newtfs.getString("table_name")) ) {
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()
- ,Dao.class
- ,"updateTableField(FieldSetEntity tfs,FieldSetEntity newtfs)"
- );
- }
-
- PreparedStatement ps = null;
- Connection con = null;
- try{
- con =ConnectionManager.getConnection();
- StringBuffer sql=new StringBuffer();
- //alter table test_newtable change newField100 newField1 VARCHAR(32) NOT NULL COMMENT '涓虹┖';
- sql.append("ALTER TABLE `").append(newtfs.getString("table_name")).append("` ");
- String fieldName = tfs.getString("field_name");//鍘熻〃鍚�
- String newFieldName = newtfs.getString("field_name");//鏂拌〃鍚�
- String isUnique = tfs.getString("is_unique");//鍘熷敮涓�绾︽潫
- isUnique = isUnique==null?"0":isUnique;
- String newIsUnique = newtfs.getString("is_unique");//鏂板敮涓�绾︽潫
- newIsUnique = newIsUnique==null?"0":newIsUnique;
- String isRequired = tfs.getString("is_required");
- isRequired = isRequired==null?"0":isRequired;
- String newTfsisRequired = newtfs.getString("is_required");
- newTfsisRequired = newTfsisRequired==null?"0":newTfsisRequired;
- //瀛楁鍚嶆槸鍚︿慨鏀�
- if(fieldName.equals(newFieldName)){//瀛楁鍚嶇浉鍚屼笉鐢ㄤ慨鏀�
- sql.append(" MODIFY `").append(fieldName).append("` ");//涓嶄慨鏀瑰瓧娈靛悕鐢∕ODIFY
- }else {
- sql.append(" CHANGE `").append(fieldName).append("` `").append(newFieldName).append("` ");//淇敼瀛楁鍚嶇敤CHANGE
- }
- sql.append(" ").append(newtfs.getString("field_type")).append("("+newtfs.getString("field_length"));// DEFAULT NULL COMMENT '涓虹┖';
- String unit = newtfs.getString("field_unit");// 灏忔暟浣嶆暟
- unit = (unit.equals("0")) ? "" : ("," + unit);
- sql.append(unit+") ");
- if (!isRequired.equals(newTfsisRequired)) {
- if (newTfsisRequired.equals("1")) {// 0涓嶅繀濉紝1蹇呭~
- sql.append("NOT NULL ");//涓嶈兘涓虹┖
- }else {
- sql.append("DEFAULT NULL ");//鑳戒负绌�
- }
- }
- if(newtfs.getString("field_description") != null && newtfs.getString("field_description").length()>0){//瀛楁鎻忚堪
- sql.append("COMMENT "+"'"+ newtfs.getString("field_description") +"' ");
- }
- //ALTER TABLE test_newtable ADD unique(newField1)
- //ALTER TABLE test_newtable DROP INDEX newField1;
- System.out.println(" DDL:"+sql.toString());
- ps = con.prepareStatement(sql.toString());
- ps.execute();
- if(isUnique.equals(newIsUnique)){
- return true;
- }else {
- StringBuffer unique=new StringBuffer();
- if (newIsUnique.equals("1")) {//1鍞竴 鏂板鍞竴绾︽潫
- unique.append(" ALTER TABLE ").append(tfs.getString("table_name")).append(" ADD unique(").append(newFieldName+")");
- }else{//涓嶅敮涓� 鍘绘帀鍞竴绾︽潫
- unique.append(" ALTER TABLE ").append(tfs.getString("table_name")).append(" DROP INDEX ").append(newFieldName);
- }
- System.out.println(" DDL:"+unique.toString());
- ps = con.prepareStatement(unique.toString());
- ps.execute();
- }
- return true;
- }catch(Exception e){
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()+e.getMessage()
- ,Dao.class
- ,"updateTableField(FieldSetEntity tfs,FieldSetEntity newtfs)"
- ,e
- );
- }finally{
- //this.closeConnection(con,ps,null);
- }
- }
- /**
- * 鍒犻櫎琛ㄦ垨瑙嗗浘
- * @param tfs
- * @return
- * @throws BaseException
- */
- public static boolean deleteTable(FieldSetEntity tfs) throws BaseException{
-
- if(tfs == null || tfs.getString("table_name") ==null || "".equals(tfs.getString("table_name")) ) {
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()
- ,Dao.class
- ,"deleteTable(FieldSetEntity tfs)"
- );
- }
- int table_type=tfs.getInteger("table_type");
-
- PreparedStatement ps = null;
- Connection con = null;
- try{
- if(table_type==2) {
- //鍒犻櫎瑙嗗浘琛� DROP VIEW IF EXISTS stu_glass;
- con =ConnectionManager.getConnection();
- StringBuffer delviewsql=new StringBuffer();
- delviewsql.append(" DROP VIEW IF EXISTS ").append("`").append(tfs.getString("table_name")).append("`");//鎵ц鐨凷QL鍒犻櫎瑙嗗浘璇彞
- System.out.println(" DDL:"+delviewsql.toString());
- ps = con.prepareStatement(delviewsql.toString());
- ps.execute();
- return true;
- }
- con =ConnectionManager.getConnection();
- StringBuffer sql=new StringBuffer();
- sql.append(" DROP TABLE `").append(tfs.getString("table_name")).append("`");
- System.out.println(" DDL:"+sql.toString());
- ps = con.prepareStatement(sql.toString());
- ps.execute();
- return true;
- }catch(Exception e){
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()+e.getMessage()
- ,Dao.class
- ,"deleteTable(FieldSetEntity tfs)"
- ,e
- );
- }finally{
- //this.closeConnection(con,ps,null);
- }
- }
- /**
- * 鍒犻櫎琛ㄥ瓧娈�
- * @param tfs
- * @return
- * @throws BaseException
- */
- public static boolean deleteTableField(FieldSetEntity tfs) throws BaseException{
-
- if(tfs == null || tfs.getString("table_name") ==null || "".equals(tfs.getString("table_name")) ) {
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()
- ,Dao.class
- ,"deleteTableField(FieldSetEntity tfs)"
- );
- }
- PreparedStatement ps = null;
- Connection con = null;
- try{
- con =ConnectionManager.getConnection();
- StringBuffer sql=new StringBuffer();
- sql.append(" ALTER TABLE `").append(tfs.getString("table_name")).append("`").append(" DROP `").append(tfs.getString("field_name")).append("`");
- System.out.println(" DDL:"+sql.toString());
- ps = con.prepareStatement(sql.toString());
- ps.execute();
- return true;
- }catch(Exception e){
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()+e.getMessage()
- ,Dao.class
- ,"deleteTableField(FieldSetEntity tfs)"
- ,e
- );
- }finally{
- //this.closeConnection(con,ps,null);
- }
- }
- /**
- * 淇敼琛ㄥ悕
- * @param tfs
- * @return
- * @throws BaseException
- */
- public static boolean updateTableName(FieldSetEntity tfs) throws BaseException{
-
- if(tfs == null || tfs.getString("table_name") ==null || "".equals(tfs.getString("table_name")) ) {
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()
- ,Dao.class
- ,"deleteTableField(FieldSetEntity tfs)"
- );
- }
- PreparedStatement ps = null;
- Connection con = null;
- try{
- con =ConnectionManager.getConnection();
- StringBuffer sql=new StringBuffer();
- sql.append(" RENAME TABLE `").append(tfs.getString("table_name")).append("` TO `").append(tfs.getString("new_table_name")).append("`");
- System.out.println(" DDL:"+sql.toString());
- ps = con.prepareStatement(sql.toString());
- ps.execute();
- return true;
- }catch(Exception e){
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()+e.getMessage()
- ,Dao.class
- ,"deleteTableField(FieldSetEntity tfs)"
- ,e
- );
- }finally{
- //this.closeConnection(con,ps,null);
- }
- }
- /**
- * 淇敼瑙嗗浘sql璇彞
- * @param tfs
- * @return
- * @throws BaseException
- */
- public static boolean updateViewSql(FieldSetEntity tfs) throws BaseException{
- //CREATE OR REPLACE VIEW test_tableTwo_v AS SELECT * FROM test_newTable_two;
- if(tfs == null || tfs.getString("table_name") ==null || "".equals(tfs.getString("table_name")) ) {
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()
- ,Dao.class
- ,"updateViewSql(FieldSetEntity tfs)"
- );
- }
- PreparedStatement ps = null;
- Connection con = null;
- try{
- con =ConnectionManager.getConnection();
- StringBuffer sql=new StringBuffer();
- sql.append(" CREATE OR REPLACE VIEW `").append(tfs.getString("table_name")).append("` AS ( ");
- sql.append(tfs.getString("create_view_sql")).append(" ); ");//msv_execute_sql 鎵ц鐨凷QL璇彞
- System.out.println(" DDL:"+sql.toString());
- ps = con.prepareStatement(sql.toString());
- ps.execute();
- return true;
- }catch(Exception e){
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()+e.getMessage()
- ,Dao.class
- ,"updateViewSql(FieldSetEntity tfs)"
- ,e
- );
- }finally{
- //this.closeConnection(con,ps,null);
- }
- }
- /**
- * 鑾峰彇琛ㄤ腑鎵�鏈夊瓧娈靛悕绉�
- * @param sql 琛ㄥ悕
- * @return
- * @throws BaseException
- * show full columns from tableName 閫氳繃琛ㄥ悕鑾峰彇鏁版嵁搴撳厓鏁版嵁
- */
- public static DataTableEntity getColumnNames(String sql) throws BaseException {
- DataTableEntity dataTableEntity = new DataTableEntity();
- //涓庢暟鎹簱鐨勮繛鎺�
- PreparedStatement ps = null;
- Connection con = null;
- try {
- con =ConnectionManager.getConnection();
- //DatabaseMetaData data = con.getMetaData();
- ps = con.prepareStatement(sql);
- //缁撴灉闆嗗厓鏁版嵁
- ResultSetMetaData rsmd = ps.getMetaData();
- //ps.executeQuery("show full columns from " + sql);
- //琛ㄥ垪鏁�
- int size = rsmd.getColumnCount();
- for (int i = 0; i < size; i++) {
- FieldSetEntity fieldSetEntity = new FieldSetEntity();
- //鍒悕
- fieldSetEntity.setValue("field_name", rsmd.getColumnLabel(i+1));
- //瀛楁鍚�
- //System.out.println("瀛楁鍚�"+rsmd.getColumnName(i + 1));
- //瀛楁绫诲瀷 field_type
- fieldSetEntity.setValue("field_type",rsmd.getColumnTypeName(i + 1));
- //鑾峰彇鎸囧畾鍒楃殑鎸囧畾鍒楀ぇ灏忋�� field_length
- fieldSetEntity.setValue("field_length",rsmd.getPrecision(i + 1));
- //鑾峰彇灏忔暟鐐瑰彸渚х殑鎸囧畾鍒楃殑浣嶆暟銆� field_unit
- fieldSetEntity.setValue("field_unit",rsmd.getScale(i + 1));
- dataTableEntity.addFieldSetEntity(fieldSetEntity);
- }
-
-
- } catch (Exception e) {
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()+e.getMessage()
- ,Dao.class
- ,"updateViewSql(FieldSetEntity tfs)"
- ,e
- );
- } finally {
- //this.closeConnection(con,ps,null);
- }
- return dataTableEntity;
- }
- /**
- * 鍒ゆ柇琛ㄦ槸鍚﹀瓨鍦�
- * @param tableName
- * @return
- * @throws BaseException
- * @throws SQLException
- */
- public static boolean isTableExistEntrust(String tableName) throws BaseException{
- PreparedStatement ps = null;
- Connection con = null;
- con = ConnectionManager.getConnection();
- try{
- ResultSet rs = con.getMetaData().getTables(null, null, tableName, null);
- if (rs.next()) {
- return true;
- }else {
- return false;
- }
- } catch (Exception e) {
- throw new BaseException(
- ErrorCode.DATA_CREATE_TABLE.getValue()
- ,ErrorCode.DATA_CREATE_TABLE.getText()+e.getMessage()
- ,Dao.class
- ,"updateViewSql(FieldSetEntity tfs)"
- ,e
- );
- } finally {
- //this.closeConnection(con,ps,null);
- }
- }
-}
\ No newline at end of file
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/patch/PatchService.java b/product-server-report_v2/src/main/java/com/product/server/report/patch/PatchService.java
deleted file mode 100644
index 02d2eb0..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/patch/PatchService.java
+++ /dev/null
@@ -1,59 +0,0 @@
-package com.product.server.report.patch;
-
-import com.product.common.lang.StringUtils;
-import com.product.core.dao.BaseDao;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.service.support.AbstractBaseService;
-import com.product.server.report.config.CmnConst;
-import org.springframework.stereotype.Component;
-
-/**
- * Copyright 漏 6c
- *
- * @Date: 2022-02-10 14:15
- * @Author: 6c
- * @Description:
- */
-@Component
-public class PatchService extends AbstractBaseService {
- /**
- * product_sys_report_type_attribute琛ㄤ腑瀛楁type_uuid淇敼涓轰竴瀵逛竴
- */
- public void patch202202100219() {
- BaseDao baseDao = getBaseDao();
- DataTableEntity dte = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, "type_uuid like '%,%'");
- FieldSetEntity commonDataListConfigFse = baseDao.getFieldSetByFilter(CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG, "type_name='鏅�氭暟鎹垪琛�'", new Object[]{}, false);
- if (commonDataListConfigFse == null) {
- return;
- }
- String commonDataListUUID = commonDataListConfigFse.getUUID();
- FieldSetEntity fse;
- String typeUUIDs;
- DataTableEntity addDte = new DataTableEntity();
- FieldSetEntity addFse;
- String resetTypeUUID;
- for (int i = 0;i < dte.getRows();i++) {
- fse = dte.getFieldSetEntity(i);
- typeUUIDs = fse.getString(CmnConst.TYPE_UUID);
- if (typeUUIDs.contains(commonDataListUUID)) {
- resetTypeUUID = commonDataListUUID;
- } else {
- resetTypeUUID = typeUUIDs.substring(0, typeUUIDs.indexOf(","));
- }
- for (String singleUUID : typeUUIDs.split(",")) {
- if (StringUtils.isEmpty(singleUUID) || singleUUID.equals(resetTypeUUID)) {
- continue;
- }
- addFse = fse.clones();
- addFse.remove(new String[]{CmnConst.ID, CmnConst.UUID});
- addFse.setValue(CmnConst.TYPE_UUID, singleUUID);
- addDte.addFieldSetEntity(addFse);
- }
-
- fse.setValue(CmnConst.TYPE_UUID, resetTypeUUID);
- baseDao.saveFieldSetEntity(fse);
- }
- baseDao.update(addDte);
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/quartz/ReportDataProcessQuartz.java b/product-server-report_v2/src/main/java/com/product/server/report/quartz/ReportDataProcessQuartz.java
deleted file mode 100644
index 35ca13c..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/quartz/ReportDataProcessQuartz.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package com.product.server.report.quartz;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import com.product.core.controller.support.AbstractBaseController;
-import com.product.core.exception.BaseException;
-import com.product.server.report.config.SystemCode;
-import com.product.server.report.service.idel.IChartPropertyConfigService;
-import com.product.server.report.service.idel.IViewDataConvertService;
-
-/**
- * 鎶ヨ〃鏁版嵁澶勭悊瀹氭椂浠诲姟鎺ュ彛
- *
- */
-@Component
-public class ReportDataProcessQuartz extends AbstractBaseController {
-
- @Autowired
- ViewDataConvertService viewDataConvertService;
- public void dataProcess() throws BaseException {
- try {
- IViewDataConvertService service=(IViewDataConvertService)getProxyInstance(viewDataConvertService);
- service.reportDataProcessTask();
- }
- catch(BaseException e) {
- throw e;
- }
- catch(Exception e) {
- throw new BaseException(SystemCode.SYTEM_REPORT_DATA_PROCESS_ERROR.getValue(),SystemCode.SYTEM_REPORT_DATA_PROCESS_ERROR.getText()+":"+e.getMessage());
- }
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/quartz/ViewDataConvertService.java b/product-server-report_v2/src/main/java/com/product/server/report/quartz/ViewDataConvertService.java
deleted file mode 100644
index 3afd3fa..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/quartz/ViewDataConvertService.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package com.product.server.report.quartz;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import com.product.common.lang.StringUtils;
-import com.product.core.cache.DataPoolCacheImpl;
-import com.product.core.config.Global;
-import com.product.core.dao.BaseDao;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.spring.context.SpringMVCContextHolder;
-import com.product.core.transfer.Transactional;
-import com.product.server.report.service.idel.IViewDataConvertService;
-
-/**
- * 瀵规姤琛ㄥ師濮嬫暟鎹繘琛屾竻娲楀鐞�
- * 瀹氭椂浠诲姟鏂瑰紡
- * @author Administrator
- *
- */
-@Component
-public class ViewDataConvertService implements IViewDataConvertService {
- @Autowired
- public BaseDao baseDao = null;
-
- private Map<String,String> configs=null;
- /**
- * 澶勭悊鎶ヨ〃鏁版嵁锛屾妸瑙嗗浘鐨勬暟鎹彃鍏ュ埌瀹炰綋琛ㄤ腑锛屽湪properties涓閰嶇疆淇℃伅锛孾瑙嗗浘锛屽疄浣撹〃][]
- * 瑙嗗浘琛ㄥ瓧娈典笌瀹炰綋琛ㄥ瓧娈典竴鑷�
- * Map<瑙嗗浘琛�,瀹炰綋琛�>
- * @return Map<瑙嗗浘琛�,瀹炰綋琛�>
- */
- public Map<String,String> reportDataProcessConfig() {
- String config=Global.getSystemConfig("report.data.process.config", null);
- if(StringUtils.isEmpty(config)) {
- return null;
- }
- String regex="\\[(.*?)]";
- Pattern pattern = Pattern.compile(regex);
- Matcher matcher = pattern.matcher(config);
- configs=new HashMap<String,String>();
- while (matcher.find()) {
- String tables=matcher.group(1);
- if(!StringUtils.isEmpty(tables)) {
- String tbs[]=tables.split(",");
- if(tbs.length>1) {
- DataTableEntity table_view=DataPoolCacheImpl.getInstance().getCacheData("鎵�鏈夎〃淇℃伅",new String[] {tbs[0]});
- DataTableEntity table=DataPoolCacheImpl.getInstance().getCacheData("鎵�鏈夎〃淇℃伅",new String[] {tbs[1]});
- if(table!=null && table.getRows()>0
- && table_view!=null && table_view.getRows()>0
- && table_view.getFieldSetEntity(0).getInteger("table_type").intValue()==2
- && table.getFieldSetEntity(0).getInteger("table_type").intValue()==1) {
- configs.put(tbs[0], tbs[1]);
- }
- }
- }
- }
- return configs;
- }
- /**
- * 鎶ヨ〃鏁版嵁澶勭悊浠诲姟
- * 鎶婅鍥剧殑鏁版嵁鎻掑叆鍒板疄浣撹〃涓�
- * 浜嬪姟
- */
- @Transactional
- public void reportDataProcessTask() {
- if(configs==null) {
- reportDataProcessConfig();
- }
- for(String view:configs.keySet()) {
- DataTableEntity table=DataPoolCacheImpl.getInstance().getCacheData("鎵�鏈夎〃淇℃伅",new String[] {view});
- if( table==null || table.getRows()==0) {
- continue;
- }
- FieldSetEntity t=table.getFieldSetEntity(0);
- DataTableEntity ft=DataPoolCacheImpl.getInstance().getCacheData("琛ㄥ瓧娈典俊鎭�",new String[] {t.getString("uuid")});
- SpringMVCContextHolder.getSystemLogger().info(view+":::::"+configs.get(view));
- if( ft==null || ft.getRows()==0) {
- continue;
- }
- StringBuilder fields=new StringBuilder();
- StringBuilder de_value=new StringBuilder();//榛樿蹇呴』瀛楁鐨勫��
- for(int m=0;m<ft.getRows();m++) {
- if(fields.length()>0) {
- fields.append(",");
- de_value.append(",");
- }
- fields.append(ft.getString(m,"field_name"));
- de_value.append(ft.getString(m,"field_name"));
- }
- fields.append(",uuid,created_by,created_utc_datetime,org_level_uuid");
- de_value.append(",uuid(),1,now(),'00000000-0000-0000-0000-000000000000'");
- SpringMVCContextHolder.getSystemLogger().info(fields.toString());
- SpringMVCContextHolder.getSystemLogger().info(de_value.toString());
- if(fields.length()>0) {
- //棣栧厛鍒犻櫎瀹炰綋琛�
- baseDao.executeUpdate("truncate table "+configs.get(view));
- SpringMVCContextHolder.getSystemLogger().info("Insert into "+configs.get(view)+"("+fields.toString()+") select "+de_value.toString()+" from "+view);
- //鏌ュ嚭瑙嗗浘淇℃伅 鎻掑叆琛ㄤ腑
- baseDao.executeUpdate("Insert into "+configs.get(view)+"("+fields.toString()+") select "+de_value.toString()+" from "+view);
- }
- }
- }
-
- static public void main(String args[]) {
- String a="ae[a,b]see[xde,i3343]adee[agsdidg][dddd";
- String regex="\\[(.*?)]";
- Pattern pattern = Pattern.compile(regex);
- Matcher matcher = pattern.matcher(a);
- while (matcher.find()) {
- System.out.println(matcher.group(1));
- }
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/ChartPropertyConfigService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/ChartPropertyConfigService.java
deleted file mode 100644
index dd02dbd..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/ChartPropertyConfigService.java
+++ /dev/null
@@ -1,430 +0,0 @@
-package com.product.server.report.service;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.product.core.dao.BaseDao;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.exception.BaseException;
-import com.product.core.service.support.AbstractBaseService;
-import com.product.core.service.support.QueryFilterService;
-import com.product.core.transfer.Transactional;
-import com.product.server.report.config.CmnConst;
-import com.product.server.report.service.idel.IChartPropertyConfigService;
-import com.product.util.BaseUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-@Service
-public class ChartPropertyConfigService extends AbstractBaseService implements IChartPropertyConfigService {
-
- @Autowired
- BaseDao baseDao;
-
- @Autowired
- QueryFilterService queryFilterService;
- @Override
- @Transactional
- public String addChartsMasterTable(FieldSetEntity fse) throws BaseException {
- DataTableEntity chartsData = fse.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_CHARTS);
- if(chartsData.getRows() == 1){
- fse.setValue("type_uuid", chartsData.getString(0, "report_type_config_uuid"));
- fse.setValue("is_valid", 1);
- }
- fse.removeSubData(CmnConst.PRODUCT_SYS_REPORT_CONFIG_CHARTS);
- fse.setValue("is_load", 0);
- String uuid = baseDao.add(fse);
- for (int i = 0; i < chartsData.getRows(); i++) {
- FieldSetEntity chartsField = chartsData.getFieldSetEntity(i);
- chartsField.setValue("report_config_uuid",uuid);
- if("empty".equals(chartsField.getString("type"))){
- baseDao.add(chartsField);
- continue;
- }
- DataTableEntity attributeData = chartsField.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE);
- chartsField.removeSubData(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE);
- String chartsUuid = baseDao.add(chartsField);
- for (int j = 0; j < attributeData.getRows(); j++) {
- FieldSetEntity attributeField = attributeData.getFieldSetEntity(j);
- attributeField.setValue("report_config_uuid", chartsUuid);
- String report_type_attr_value = attributeField.getString("report_type_attr_value");
- if(!BaseUtil.strIsNull(report_type_attr_value) && report_type_attr_value.contains("{#") && report_type_attr_value.contains("#}")){
- String field_name = report_type_attr_value.replace("{#", "").replace("#}", "");
- attributeField.setValue("field_name", field_name);
- }
- baseDao.add(attributeField);
- }
- }
- return uuid;
- }
-
- @Override
- @Transactional
- public Boolean upChartsMasterTable(FieldSetEntity fse) throws BaseException {
- //鍏蜂綋绫诲瀷瀛愯〃
- DataTableEntity subChartsData = fse.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_CHARTS);
- if(subChartsData.getRows() == 1){
- fse.setValue("type_uuid", subChartsData.getString(0, "report_type_config_uuid"));
- fse.setValue("is_valid", 1);
- }
- fse.setValue("is_load", 0);
- fse.removeSubData(CmnConst.PRODUCT_SYS_REPORT_CONFIG_CHARTS);
- if(!BaseUtil.dataTableIsEmpty(subChartsData)){
- for (int i = 0; i < subChartsData.getRows(); i++) {
- FieldSetEntity subChartsFieldSet = subChartsData.getFieldSetEntity(i);
- String status = subChartsFieldSet.getString("status");
- subChartsFieldSet.remove("status");
- String subChartsUuid = subChartsFieldSet.getUUID();
- subChartsFieldSet.setValue("report_config_uuid", fse.getUUID());
- //澶勭悊绌虹櫧
- if("empty".equals(subChartsFieldSet.getString("type"))){
- if("add".equals(status)) {
- baseDao.add(subChartsFieldSet);
- }else if("delete".equals(status)){
- baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_CONFIG_CHARTS, new String[]{subChartsUuid});
- }else if("update".equals(status)){
- baseDao.update(subChartsFieldSet);
- }
- continue;
- }
- DataTableEntity attributeDataTable = subChartsFieldSet.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE);
- subChartsFieldSet.removeSubData(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE);
-
- //鍒犻櫎褰撳墠閫夋嫨鐨勫浘琛ㄧ被鍨� 鍙婂睘鎬у�煎瓙琛�
- if("delete".equals(status)){
- baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_CONFIG_CHARTS, new String[]{subChartsUuid});
- baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE, " report_config_uuid = ? ",new String[]{subChartsUuid});
- continue;
- }
- if ("add".equals(status)) {
- String uuid = baseDao.add(subChartsFieldSet);
- if(!BaseUtil.dataTableIsEmpty(attributeDataTable)){
- for (int j = 0; j < attributeDataTable.getRows(); j++) {
- FieldSetEntity fieldSetEntity = attributeDataTable.getFieldSetEntity(j);
- fieldSetEntity.setValue("report_config_uuid", uuid);
- baseDao.add(fieldSetEntity);
- }
- }
- continue;
- }
- //鍏堝垹闄や箣鍓嶆墍鏈夊睘鎬у�煎瓙琛ㄦ暟鎹�
- baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE, " report_config_uuid = ? ", new String[]{subChartsUuid});
- //鍐嶆坊鍔犳暟鎹�
- if(!BaseUtil.dataTableIsEmpty(attributeDataTable)){
- for (int j = 0; j < attributeDataTable.getRows(); j++) {
- FieldSetEntity fieldSetEntity = attributeDataTable.getFieldSetEntity(j);
- fieldSetEntity.setValue("report_config_uuid", subChartsUuid);
- String report_type_attr_value = fieldSetEntity.getString("report_type_attr_value");
- if(!BaseUtil.strIsNull(report_type_attr_value) && report_type_attr_value.contains("{#") && report_type_attr_value.contains("#}")){
- String field_name = report_type_attr_value.replace("{#", "").replace("#}", "");
- fieldSetEntity.setValue("field_name", field_name);
- }
- baseDao.add(fieldSetEntity);
- }
- }
- if("update".equals(status)){
- baseDao.update(subChartsFieldSet);
- }
- }
- }
- return baseDao.update(fse);
- }
-
- @Override
- @Transactional
- public Boolean delChartsMasterTable(FieldSetEntity fse) throws BaseException {
- String[] uuids = fse.getUUID().split(",");
- for (int i = 0; i < uuids.length; i++) {
- baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_CONFIG_CHARTS, "report_config_uuid = ?",new String[]{uuids[i]});
- baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE, "report_config_uuid in (SELECT uuid FROM product_sys_report_config_charts where report_config_uuid = ?)",new String[]{uuids[i]});
- }
- return baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_CONFIG, uuids);
- }
-
- @Override
- public JSONObject getChartsMasterTable(String uuid) throws BaseException {
- FieldSetEntity configField = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_CONFIG,uuid,false);
- DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_CHARTS, "report_config_uuid = ?", new String[]{uuid});
- JSONArray jsonArray = new JSONArray();
- for (int i = 0; i < dataTableEntity.getRows(); i++) {
- FieldSetEntity fieldSetEntity = dataTableEntity.getFieldSetEntity(i);
- String config_charts_uuid = fieldSetEntity.getString(CmnConst.UUID);
- String report_type_config_uuid = fieldSetEntity.getString("report_type_config_uuid");
- JSONObject chartsObj = BaseUtil.fieldSetEntityToJson(fieldSetEntity);
- //鑾峰彇鍏冪礌鍙婂厓绱犲��
- chartsObj.put("element",this.getEChartsElement(report_type_config_uuid, config_charts_uuid));
- jsonArray.add(chartsObj);
- }
- JSONObject object = new JSONObject();
- object.put("report_name",configField.getString("report_name"));
- object.put("report_width_type",configField.getString("report_width_type"));
- object.put("report_width_value",configField.getString("report_width_value"));
- object.put("is_valid",configField.getString("is_valid"));
- object.put("chartsObject", jsonArray);
- return object;
- }
-
- @Override
- public DataTableEntity getChartsMasterList(FieldSetEntity fse) throws BaseException {
- StringBuffer sql = new StringBuffer();
- sql.append(" SELECT * FROM ( ")
- .append(" select b.uuid,b.report_name FROM product_sys_report_config_charts a left join PRODUCT_SYS_report_config b on a.report_config_uuid = b.uuid WHERE b.function_uuid is null or b.function_uuid = '' group by b.uuid,b.report_name ) c ");
- if (!BaseUtil.dataTableIsEmpty(fse.getSubDataTable("systemSeniorQueryString"))) {
- sql.append(" where " + queryFilterService.getQueryFilter(fse));
- }
- return baseDao.listTable(sql.toString(), new String[]{}, fse.getInteger(CmnConst.PAGESIZE), fse.getInteger(CmnConst.CPAGE));
- }
-
- @Override
- public JSONObject getChartsTypeData(String uuid) throws BaseException {
-// FieldSetEntity fieldSetEntity = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG, uuid, false);
-// DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, "type_uuid = ? and config_properties = 1", new String[]{uuid});
-// fieldSetEntity.addSubDataTable(dataTableEntity);
- return this.getEChartsElement(uuid, null);
- }
-
- /**
- * 鑾峰彇涓婄骇灞炴�ф爲
- * report_type_config_uuid 灞炴�х被鍨嬩富琛╱uid
- * config_charts_uuid 涓棿琛╱uid
- * xinluo
- * @return
- */
- public JSONObject getEChartsElement(String report_type_config_uuid,String config_charts_uuid) throws BaseException {
- FieldSetEntity masterField = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG,report_type_config_uuid,false);
- DataTableEntity dataTableEntity = this.getEChartsElementList(report_type_config_uuid);
- String[] parameter = new String[]{"f", "e", "d", "c", "b", "a"};
- JSONArray array = new JSONArray();
- for (int j = 0; j < parameter.length; j++) {
- for (int i = 0; i <dataTableEntity.getRows(); i++) {
- FieldSetEntity fieldSetEntity = dataTableEntity.getFieldSetEntity(i);
- if(BaseUtil.strIsNull(fieldSetEntity.getString("nonRepeating"))){
- //濡傛灉鐖跺睘鎬ф垨灞炴�т笉涓虹┖锛屽彇鍑哄綋鍓嶆暟鎹墍鏈夌埗瀛愬厓绱�
- if(!BaseUtil.strIsNull(fieldSetEntity.getString(parameter[j]+"name"))){
- array = this.returnTree(fieldSetEntity,parameter,j, array, config_charts_uuid);
- //瀛樺叆鏍戠殑鍏冪礌闇�瑕佷粠dataTableEntity閲岄潰鍓冩帀
- fieldSetEntity.setValue("nonRepeating", 1);
- }
- }
- }
- }
- JSONObject object = BaseUtil.fieldSetEntityToJson(masterField);
- //鑾峰彇鏄惁瀛愬厓绱犳湁鍒嗙粍瀛楁 濡傛湁鍒嗙粍瀛楁 闇�娣诲姞鍒嗙粍
- for (int i = 0; i < array.size(); i++) {
- JSONObject jsonObject = array.getJSONObject(i);
- this.getGroupAttributes(jsonObject);
- }
-
- object.put(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE,array);
- return object;
- }
-
- /**
- * 鑾峰彇瀛愰泦鍒嗙粍鍏冪礌
- * @param jsonObject
- */
- public void getGroupAttributes(JSONObject jsonObject){
- JSONArray children = jsonObject.getJSONArray("children");
- if(children != null && children.size() > 0) {
- for (int i = 0; i < children.size(); i++) {
- JSONObject object = children.getJSONObject(i);
- String grouping = object.getString("grouping");
- JSONArray subChildren = object.getJSONArray("children");
- if ("1".equals(grouping) && "1".equals(jsonObject.getString("subordinateElementType"))) {
- JSONObject group = new JSONObject();
- group.put("children", JSONArray.parseArray(children.toJSONString()));
- group.put("label", "缁勫悕");
- group.put("value", "1");
- JSONArray newArray = new JSONArray();
- newArray.add(group);
- jsonObject.put("children", newArray);
- String reportConfigUuid = object.getString("report_config_uuid");
- String reportTypeAttr = object.getString("report_type_attr");
- DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE, " report_type_attr = ? AND report_config_uuid = ? and grouping != 1 ", new String[]{reportTypeAttr, reportConfigUuid});
- for (int j = 0; j < dataTableEntity.getRows(); j++) {
- JSONObject groupNew = JSONObject.parseObject(group.toJSONString());
- String key = dataTableEntity.getString(j, "grouping");
- groupNew.put("label", "缁勫悕");
- groupNew.put("value", key);
- newArray.add(this.addGroupAttributes(groupNew, key));
- }
- } else if (subChildren != null && subChildren.size() > 0) {
- this.getGroupAttributes(object);
- }
- }
- }
- }
-
- /**
- * 娣诲姞瀛愰泦鍒嗙粍鍏冪礌
- * @param group
- */
- public JSONObject addGroupAttributes(JSONObject group, String key){
- JSONArray children = group.getJSONArray("children");
- if(children != null && children.size() > 0) {
- for (int i = 0; i < children.size(); i++) {
- this.addGroupAttributes(children.getJSONObject(i), key);
- }
- }
- String reportConfigUuid = group.getString("report_config_uuid");
- String reportTypeAttr = group.getString("report_type_attr");
- if(!BaseUtil.strIsNull(reportConfigUuid) && !BaseUtil.strIsNull(reportTypeAttr)){
- FieldSetEntity fieldSetEntity = baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE, " report_type_attr = ? AND report_config_uuid = ? AND grouping = ? ", new String[]{reportTypeAttr, reportConfigUuid, key}, false);
- if(fieldSetEntity != null) {
- group.put("config_attribute_uuid", fieldSetEntity.getString("uuid"));
- //鍒楄〃鍏�.PRODUCT_SYS_report_config,鍥捐〃鍏�.PRODUCT_SYS_report_config_charts琛║UID
- group.put("report_config_uuid", fieldSetEntity.getString("report_config_uuid"));
- //鍏宠仈灞�.PRODUCT_SYS_report_type_attribute琛║UID
- group.put("report_type_attr", fieldSetEntity.getString("report_type_attr"));
- //瀛楁鍚嶇О
- group.put("field_name", fieldSetEntity.getString("field_name"));
- //灞炴�у��
- group.put("report_type_attr_value", fieldSetEntity.getString("report_type_attr_value"));
- //鍒嗙粍鏍囪瘑锛屽姞杞藉鏉℃暟鎹渶瑕佸姞鏍囪瘑
- group.put("grouping", key);
- }
- }
- return group;
- }
-
- /**
- * 鑾峰彇涓婄骇灞炴�у垪琛�
- * xinluo
- * @return
- */
- public DataTableEntity getEChartsElementList(String uuid)throws BaseException{
- StringBuffer sql = new StringBuffer();
- sql.append(" SELECT a.uuid auuid,a.detail adetail,a.attribute_name aname,a.subordinateElementType asubordinateElementType,a.prompt_name,a.default_value, ")
- .append(" b.uuid buuid,b.detail bdetail,b.attribute_name bname,b.subordinateElementType bsubordinateElementType, ")
- .append(" c.uuid cuuid,c.detail cdetail,c.attribute_name cname,c.subordinateElementType csubordinateElementType, ")
- .append(" d.uuid duuid,d.detail ddetail,d.attribute_name dname,d.subordinateElementType dsubordinateElementType, ")
- .append(" e.uuid euuid,e.detail edetail,e.attribute_name ename,e.subordinateElementType esubordinateElementType, ")
- .append(" f.uuid fuuid,f.detail fdetail,f.attribute_name fname,f.subordinateElementType fsubordinateElementType FROM ")
- .append("product_sys_report_type_attribute a LEFT JOIN ")
- .append("product_sys_report_type_attribute b on a.parentAttributeUuid = b.uuid LEFT JOIN ")
- .append("product_sys_report_type_attribute c on b.parentAttributeUuid = c.uuid LEFT JOIN ")
- .append("product_sys_report_type_attribute d on c.parentAttributeUuid = d.uuid LEFT JOIN ")
- .append("product_sys_report_type_attribute e on d.parentAttributeUuid = e.uuid LEFT JOIN ")
- .append("product_sys_report_type_attribute f on e.parentAttributeUuid = f.uuid ")
- .append(" WHERE a.config_properties = 1 ")
- .append(" AND a.type_uuid = ? ");
-
- return baseDao.listTable(sql.toString(), new String[]{uuid});
- }
-
- /**
- * @param fieldSetEntity
- * @param parameter
- * @param paramIndex
- * @param array
- * @return
- * 鍚岀骇鍏冪礌涓嶈兘閲嶅 xinluo
- */
- public JSONArray returnTree(FieldSetEntity fieldSetEntity, String[] parameter, int paramIndex,JSONArray array, String config_charts_uuid){
- boolean flag = true;
- String value = fieldSetEntity.getString(parameter[paramIndex]+"name");
- if(array.size() > 0) {
- for (int i = 0; i < array.size(); i++) {
- JSONObject jsonObject = array.getJSONObject(i);
- String objValue = jsonObject.getString("value");
- //瀛愬睘鎬х浉鍚�
- if(objValue == null)
- System.out.println("null");
- if (objValue.equals(value)) {
- paramIndex++;
- JSONArray childrenArray = jsonObject.getJSONArray("children");
- flag = false;
- if (paramIndex < parameter.length && childrenArray != null && childrenArray.size() > 0) {
- this.returnTree(fieldSetEntity, parameter, paramIndex, childrenArray, config_charts_uuid);
- }
- }
- }
- //瀛愬睘鎬т笉鍚�
- if(flag){
- return this.returnChildrenTree(fieldSetEntity, parameter, paramIndex, array, config_charts_uuid);
- }
- }else {
- return this.returnChildrenTree(fieldSetEntity, parameter, paramIndex, array, config_charts_uuid);
- }
- return array;
- }
- //灏佽瀛愬厓绱� xinluo
- public JSONArray returnChildrenTree(FieldSetEntity fieldSetEntity, String[] parameter, Integer paramIndex,JSONArray array, String config_charts_uuid){
- Boolean is_addGroup = true;
- //鍏冪礌鍚�
- String name = fieldSetEntity.getString(parameter[paramIndex]+"name");
- //鍏冪礌鎻忚堪
- String detail = fieldSetEntity.getString(parameter[paramIndex]+"detail");
- //鍏冪礌uuid
- String uuid = fieldSetEntity.getString(parameter[paramIndex]+"uuid");
- //鍏冪礌瀛愬厓绱犵被鍨�
- String subType = fieldSetEntity.getString(parameter[paramIndex]+"subordinateElementType");
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("value",name);
- jsonObject.put("label",detail);
- jsonObject.put("uuid",uuid);
- jsonObject.put("subordinateElementType",subType);
- jsonObject.put("config_properties",fieldSetEntity.getString("config_properties"));
- paramIndex++;
- if(paramIndex < parameter.length) {
- JSONArray childrenArray = new JSONArray();
- jsonObject.put("children", this.returnTree(fieldSetEntity, parameter, paramIndex, childrenArray, config_charts_uuid));
- }else {
- // 瀛楀吀鍊�
- jsonObject.put("prompt_name",fieldSetEntity.getString("prompt_name"));
- // 榛樿鍊�
- jsonObject.put("default_value",fieldSetEntity.getString("default_value"));
- // 鑾峰彇
- if(!BaseUtil.strIsNull(config_charts_uuid)) {
- DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE, " report_type_attr = ? AND report_config_uuid = ? ", new String[]{uuid, config_charts_uuid});
- if(!BaseUtil.dataTableIsEmpty(dataTableEntity)) {
- if(dataTableEntity.getRows() > 1) {
- for (int i = 0; i < dataTableEntity.getRows(); i++) {
- FieldSetEntity fse = dataTableEntity.getFieldSetEntity(i);
- String grouping = fse.getString("grouping");
- if("1".equals(grouping)) {
- jsonObject.put("config_attribute_uuid", fse.getString("uuid"));
- //鍒楄〃鍏�.PRODUCT_SYS_report_config,鍥捐〃鍏�.PRODUCT_SYS_report_config_charts琛║UID
- jsonObject.put("report_config_uuid", fse.getString("report_config_uuid"));
- //鍏宠仈灞�.PRODUCT_SYS_report_type_attribute琛║UID
- jsonObject.put("report_type_attr", fse.getString("report_type_attr"));
- //瀛楁鍚嶇О
- jsonObject.put("field_name", fse.getString("field_name"));
- //灞炴�у��
- jsonObject.put("report_type_attr_value", fse.getString("report_type_attr_value"));
- //鍒嗙粍鏍囪瘑锛屽姞杞藉鏉℃暟鎹渶瑕佸姞鏍囪瘑
- jsonObject.put("grouping",grouping);
- }
- }
- }else if(dataTableEntity.getRows() == 1){
- jsonObject.put("config_attribute_uuid", dataTableEntity.getString(0,"uuid"));
- //鍒楄〃鍏�.PRODUCT_SYS_report_config,鍥捐〃鍏�.PRODUCT_SYS_report_config_charts琛║UID
- jsonObject.put("report_config_uuid", dataTableEntity.getString(0,"report_config_uuid"));
- //鍏宠仈灞�.PRODUCT_SYS_report_type_attribute琛║UID
- jsonObject.put("report_type_attr", dataTableEntity.getString(0,"report_type_attr"));
- //瀛楁鍚嶇О
- jsonObject.put("field_name", dataTableEntity.getString(0,"field_name"));
- //灞炴�у��
- jsonObject.put("report_type_attr_value", dataTableEntity.getString(0,"report_type_attr_value"));
- }
- }
- }
- }
- array.add(jsonObject);
- return array;
- }
-
- public void addLayerOf(JSONArray childrenArray){
- if(childrenArray != null && childrenArray.size() > 0){
- for (int i = 0; i < childrenArray.size(); i++) {
- JSONObject o = childrenArray.getJSONObject(i);
- JSONArray children = o.getJSONArray("children");
- if(!BaseUtil.strIsNull(o.getString("grouping"))){
- o.getInteger("grouping");
- }else if(children != null && children.size() > 0){
- this.addLayerOf(children);
- }
- }
- }
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/CommonReportService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/CommonReportService.java
deleted file mode 100644
index ab358ab..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/CommonReportService.java
+++ /dev/null
@@ -1,622 +0,0 @@
-package com.product.server.report.service;
-
-import cn.hutool.core.util.IdUtil;
-import com.alibaba.fastjson.JSONObject;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import com.product.common.lang.StringUtils;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.service.support.AbstractBaseService;
-import com.product.core.spring.context.SpringMVCContextHolder;
-import com.product.server.report.config.CmnConst;
-import com.product.util.BaseUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.*;
-
-/**
- * Copyright 漏 6c
- *
- * @Date: 2021-05-11 15:41
- * @Author: 6c
- * @Description:
- */
-@Component
-public class CommonReportService extends AbstractBaseService {
- @Autowired
- private DataListReportService dataListReportService;
-
- /**
- * 鎶ヨ〃-瑙f瀽
- * @param recordDte 涓氬姟鏁版嵁dte
- * @param totalName 鎬昏鍚嶇О
- * @param reportConfigMap 鎶ヨ〃閰嶇疆缂撳瓨map
- * @param tableStyle 琛ㄦ牸鏍峰紡
- * @param unpivotInfoContainer 琛屽垪杞崲淇℃伅
- * @return
- */
- public JSONObject getReport(DataTableEntity recordDte, String totalName, Map<Integer, List<JSONObject>> reportConfigMap, StringBuilder tableStyle, Collection<String> unpivotInfoContainer) {
- StringBuilder reportHtml = new StringBuilder(4096);
-
- // css
- StringBuilder cssHtml = dataListReportService.getCssHtml();
-
- // 鏁版嵁鍖�
- Map<String, Set<String>> headAndTailTitleDataMap = Maps.newHashMap();
- String dataAreaHtml = getDataAreaHtml(reportConfigMap, headAndTailTitleDataMap, recordDte, totalName, unpivotInfoContainer);
-
- int totalColCount = reportConfigMap.get(0).size() + unpivotInfoContainer.size() - 1;
- // 澶撮儴鏍囬鍖�
- StringBuilder headTitleHtml = null;
- if (!reportConfigMap.get(1).isEmpty()) {
- headTitleHtml = dataListReportService.getTitleHtml(reportConfigMap.get(1), totalColCount, headAndTailTitleDataMap, "head");
- }
-
- // 搴曢儴鏍囬鍖�
- StringBuilder tailTitleHtml = null;
- if (!reportConfigMap.get(3).isEmpty()) {
- tailTitleHtml = dataListReportService.getTitleHtml(reportConfigMap.get(3), totalColCount, headAndTailTitleDataMap, "tail");
- }
-
- reportHtml.append("\n<body>\n<table class=\"report_main\"").append(tableStyle).append(">")
- .append(cssHtml)
- .append(headTitleHtml == null ? "" : headTitleHtml)
- .append(dataAreaHtml)
- .append(tailTitleHtml == null ? "" : tailTitleHtml)
- .append("\n</table>\n</body>");
-
- JSONObject resultObj = new JSONObject();
- resultObj.put(CmnConst.RETURN_ATTR_RESULT, true);
- resultObj.put(CmnConst.RETURN_ATTR_MESSAGE, "鑾峰彇鎶ヨ〃鎴愬姛锛�");
- resultObj.put(CmnConst.RETURN_ATTR_HTML, reportHtml);
- return resultObj;
- }
-
- /**
- * 鑾峰彇鎶ヨ〃鏁版嵁鍖篽tml
- *
- * @param reportConfigMap 鎶ヨ〃缂撳瓨map
- * @param headAndTailTitleDataMap 澶撮儴銆佸熬閮ㄦ爣棰樺尯鏁版嵁瀛楁map
- * @param recordDte 涓氬姟鏁版嵁闆嗗悎
- * @param totalName 鎬昏鍚嶇О锛岄潪绌�-闇�瑕佹�昏
- * @return
- */
- private String getDataAreaHtml(Map<Integer, List<JSONObject>> reportConfigMap, Map<String, Set<String>> headAndTailTitleDataMap, DataTableEntity recordDte, String totalName, Collection<String> unpivotInfoContainer) {
- // 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- Map<String, JSONObject> dataAreaFieldConfigMap = dataListReportService.groupAndDataJSONObject2Map(reportConfigMap.get(0));
- // 鑾峰彇鎸囧畾鏁版嵁闆嗕腑鍖呭惈鐨勬暟鎹尯瀛楁闆嗗悎
- Set<String> headAndTailFieldSet = Sets.newHashSet();
- headAndTailFieldSet.addAll(dataListReportService.getDataFields(reportConfigMap.get(1)));
- headAndTailFieldSet.addAll(dataListReportService.getDataFields(reportConfigMap.get(3)));
- // 缁熻map
- Map<JSONObject, JSONObject> statisticsMap = Maps.newLinkedHashMap();
-
- // 灏嗚鍒楄浆鎹㈢殑淇℃伅娣诲姞鍒版暟鎹尯瀛楁缂撳瓨map閲岄潰
- Map<String, JSONObject> newDataAreaFieldConfigMap = Maps.newLinkedHashMap();
- int x = 0;
- if (!unpivotInfoContainer.isEmpty()) {
- for (Map.Entry<String, JSONObject> entry : dataAreaFieldConfigMap.entrySet()) {
- String fieldName = entry.getKey();
- JSONObject fieldConfigObj = entry.getValue();
- if (fieldConfigObj.getIntValue(CmnConst.IS_UNPIVOT) == 1) {
- x = fieldConfigObj.getIntValue(CmnConst.ATTR_X);
- fieldConfigObj.put(CmnConst.IS_UNPIVOT, 0);
- fieldConfigObj.put(CmnConst.ATTR_IS_CUSTOM_FIELD, 0);
- for (String unpivotField : unpivotInfoContainer) {
- JSONObject newFieldConfigObj = new JSONObject();
- newFieldConfigObj.putAll(fieldConfigObj);
- newFieldConfigObj.put(CmnConst.ATTR_X, ++x);
- newFieldConfigObj.put(CmnConst.ATTR_SHOW_NAME, newFieldConfigObj.getString(CmnConst.ATTR_SHOW_NAME).replace("{#unpivot_name#}", unpivotField));
- newDataAreaFieldConfigMap.put(unpivotField, newFieldConfigObj);
- }
- } else {
- if (x > fieldConfigObj.getIntValue(CmnConst.ATTR_X)) {
- fieldConfigObj.put(CmnConst.ATTR_X, ++x);
- }
- newDataAreaFieldConfigMap.put(fieldName, fieldConfigObj);
- }
- }
- } else {
- newDataAreaFieldConfigMap = dataAreaFieldConfigMap;
- }
-
- StringBuilder dataAreaHtml = new StringBuilder(1024);
- // 鏍囬
- dataAreaHtml.append(getDataAreaTitleHtml(newDataAreaFieldConfigMap));
- // 鍐呭
- dataAreaHtml.append(getDataAreaDataHtml(newDataAreaFieldConfigMap, recordDte, headAndTailTitleDataMap, headAndTailFieldSet, statisticsMap, totalName));
- return dataAreaHtml.toString();
- }
-
- /**
- * 鑾峰彇鏍囬
- *
- * @param dataAreaFieldConfigMap 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- * @return
- */
- private StringBuilder getDataAreaTitleHtml(Map<String, JSONObject> dataAreaFieldConfigMap) {
- StringBuilder html = new StringBuilder(256);
- html.append("<tr class=\"").append(CmnConst.CLASS_TR_DATA_TITLE).append("\">");
- dataAreaFieldConfigMap.forEach((dataAreaFieldName, dataAreaFieldConfigObj) -> {
- html.append("<td>").append(dataListReportService.dealTdWidth(dataAreaFieldConfigObj, dataAreaFieldConfigObj.getString(CmnConst.ATTR_SHOW_NAME))).append("</td>");
- });
- html.append("</tr>");
- return html;
- }
-
- /**
- * 鑾峰彇鍐呭锛屽寘鍚粺璁�
- *
- * @param dataAreaFieldConfigMap 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- * @param recordDte 涓氬姟鏁版嵁闆嗗悎
- * @param headAndTailFieldSet 澶撮儴銆佸熬閮ㄦ爣棰樺尯瀛楁set
- * @param statisticsMap 缁熻map
- * @param totalName 鎬昏鍚嶇О
- * @return
- */
- private String getDataAreaDataHtml(Map<String, JSONObject> dataAreaFieldConfigMap, DataTableEntity recordDte, Map<String, Set<String>> headAndTailTitleDataMap, Set<String> headAndTailFieldSet, Map<JSONObject, JSONObject> statisticsMap, String totalName) {
- // 鏁版嵁鍖哄垎缁勭粺璁″瓧娈靛悕绉發ist
- List<String> dataAreaGroupStatisticsFieldNameList = Lists.newArrayList();
- // 鏁版嵁鍖哄垎缁勫瓧娈靛悕绉發ist
- List<String> dataAreaGroupFieldNameList = Lists.newArrayList();
- dataAreaFieldConfigMap.forEach((dataAreaFieldName, dataAreaFieldConfigObj) -> {
- if ("1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_GROUP))) {
- dataAreaGroupFieldNameList.add(dataAreaFieldName);
- if ("1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_STATISTICS))) {
- dataAreaGroupStatisticsFieldNameList.add(dataAreaFieldName);
- }
- }
- });
-
- StringBuilder dataAreaDataHtml = new StringBuilder(1024);
- StringBuilder curRowHtml = new StringBuilder(256);
- FieldSetEntity recordFse;
- FieldSetEntity preFse = null;
- String dataAreaFieldName;
- JSONObject dataAreaFieldConfigObj;
- String value;
- JSONObject keyObj;
- Map<String, String> replaceMap = Maps.newHashMap();
- Map<String, String> dataAreaClosestGroupStatisticsFieldValueMap = Maps.newHashMap();
- Map<String, String> dataAreaClosestGroupFieldValueMap = Maps.newHashMap();
- String closestGroupStatisticsFieldName = null;
- String closestGroupFieldName = null;
- String tempFieldName;
- String paramKey;
- boolean combineFlag;
- JSONObject dataAreaGroupFieldRecordObj = new JSONObject();
- for (int i = 0; i < recordDte.getRows(); i++) {
- recordFse = recordDte.getFieldSetEntity(i);
- // 鑾峰彇澶撮儴銆佸熬閮ㄦ爣棰樺尯鏁版嵁瀛楁
- dataListReportService.getHeadAndTailTitleDataMap(headAndTailTitleDataMap, headAndTailFieldSet, recordFse);
-
- curRowHtml.setLength(0);
- String rowUuid = IdUtil.simpleUUID();
- curRowHtml.append("\n<tr rowIndex=\"" + (i + 1) + "\" id=\"" + rowUuid + "\" class=\"").append(CmnConst.CLASS_TR_DATA_COMMON).append("\">\n ");
- combineFlag = true;
- for (Map.Entry<String, JSONObject> entry : dataAreaFieldConfigMap.entrySet()) {
- dataAreaFieldName = entry.getKey();
- dataAreaFieldConfigObj = entry.getValue();
- value = dataListReportService.getValue(dataAreaFieldConfigObj, recordFse, dataAreaFieldName);
- // 鑻ユ槸鑷畾涔夊瓧娈碉紝鍒欐斁鍏ヤ笟鍔℃暟鎹褰曚腑
- if ("1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_CUSTOM_FIELD))) {
- recordFse.setValue(dataAreaFieldName, value);
- }
- if (dataAreaGroupFieldNameList.contains(dataAreaFieldName)) {
- int curFieldIndex = dataAreaGroupFieldNameList.indexOf(dataAreaFieldName);
- // 璁板綍鍒嗙粍瀛楁
- recordDataAreaGroupField(dataAreaGroupFieldRecordObj, dataAreaGroupFieldNameList, curFieldIndex, recordFse);
-
- // 鍒嗙粍鍚堝瓧娈靛苟
- closestGroupFieldName = dataAreaFieldName;
- if (preFse != null && combineFlag) {
- if (value.equals(dataAreaClosestGroupFieldValueMap.get(closestGroupFieldName))) {
- dealReplaceMapAddRowspan(replaceMap, dataAreaGroupFieldNameList.subList(0, curFieldIndex + 1), preFse, true);
- continue;
- } else {
- combineFlag = false;
- }
- }
- dataAreaClosestGroupFieldValueMap.put(dataAreaFieldName, value);
- }
- // 鍒嗙粍缁熻
- if (dataAreaGroupStatisticsFieldNameList.contains(dataAreaFieldName)) {
- int minK = dataAreaGroupStatisticsFieldNameList.size();
- for (int j = 0; j < dataAreaGroupStatisticsFieldNameList.size(); j++) {
- tempFieldName = dataAreaGroupStatisticsFieldNameList.get(j);
- if (!StringUtils.isEmpty(dataAreaClosestGroupStatisticsFieldValueMap.get(tempFieldName)) && !recordFse.getString(tempFieldName).equals(dataAreaClosestGroupStatisticsFieldValueMap.get(tempFieldName))) {
- minK = j;
- break;
- }
- }
- for (int k = dataAreaGroupStatisticsFieldNameList.size() - 1; k >= minK; k--) {
- tempFieldName = dataAreaGroupStatisticsFieldNameList.get(k);
- if (preFse != null && dataAreaClosestGroupStatisticsFieldValueMap.get(tempFieldName) != null) {
- dataAreaDataHtml.append(getDataAreaGroupStatisticsFieldStatisticsRowHtml(dataAreaClosestGroupStatisticsFieldValueMap.get(tempFieldName), statisticsMap, dataAreaFieldConfigMap, tempFieldName, preFse, dataAreaGroupFieldNameList, replaceMap, dataAreaGroupFieldRecordObj));
- dataAreaClosestGroupStatisticsFieldValueMap.remove(tempFieldName);
- }
- }
- closestGroupStatisticsFieldName = dataAreaFieldName;
- dataAreaClosestGroupStatisticsFieldValueMap.put(dataAreaFieldName, value);
- }
- // 闈炲垎缁勭粺璁″瓧娈碉紙鏅��+鑷畾涔夛級
- if (!"1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_GROUP)) && !StringUtils.isEmpty(dataAreaFieldConfigObj.getString(CmnConst.ATTR_STATISTICS))) {
- addStatisticsRowInfo(statisticsMap, dataAreaGroupStatisticsFieldNameList, recordFse, dataAreaFieldConfigObj, dataAreaFieldName, value);
- }
- // 鑷畾涔夌粺璁″瓧娈碉紙鏈寚瀹氱粺璁$被鍨嬶紝浣跨敤鍩虹瀛楁鍏紡杩涜璁$畻锛�
- if ("1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_CUSTOM_FIELD))
- && StringUtils.isEmpty(dataAreaFieldConfigObj.getString(CmnConst.ATTR_STATISTICS))
- && !StringUtils.isEmpty(dataAreaFieldConfigObj.getString(CmnConst.ATTR_FORMULA))) {
- String formula = dataAreaFieldConfigObj.getString(CmnConst.ATTR_FORMULA);
- List<String> formFieldList = dataListReportService.getSuitContent(formula, CmnConst.REGEXP_FORM_FIELD);
- Map<String, String> formulaMap = Maps.newHashMap();
- boolean statisticsFlag = true;
- JSONObject tempObj;
- for (String formFieldInfo : formFieldList) {
- tempObj = dataAreaFieldConfigMap.get(dataListReportService.fieldInfo2FieldName(formFieldInfo));
- if (tempObj == null || StringUtils.isEmpty(tempObj.getString(CmnConst.ATTR_STATISTICS))) {
- statisticsFlag = false;
- break;
- }
- formulaMap.put(formFieldInfo, tempObj.getString(CmnConst.ATTR_STATISTICS));
- }
- if (statisticsFlag) {
- addStatisticsRowInfo(statisticsMap, dataAreaGroupStatisticsFieldNameList, recordFse, dataAreaFieldConfigObj, dataAreaFieldName, value, formulaMap);
- }
- }
- if ("1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_GROUP))) {
- keyObj = new JSONObject();
- for (String dataAreaGroupFieldName : dataAreaGroupFieldNameList) {
- keyObj.put(dataAreaGroupFieldName, recordFse.getString(dataAreaGroupFieldName));
- if (dataAreaGroupFieldName.equals(dataAreaFieldName)) {
- keyObj.put(CmnConst.ATTR_FIELD_INFO, dataListReportService.fieldName2FieldInfo(dataAreaGroupFieldName));
- break;
- }
- }
- paramKey = dataListReportService.concat(keyObj, CmnConst.ATTR_ROWSPAN);
- curRowHtml.append("<td rowspan=\"").append(paramKey).append("\"");
- replaceMap.put(paramKey, "1");
- } else {
- curRowHtml.append("<td");
- }
- // class
- if (!StringUtils.isEmpty(dataAreaFieldConfigObj.getString(CmnConst.ATTR_URL))) {
- curRowHtml.append(" class=\"").append(CmnConst.CLASS_TD_CAN_TURN).append("true".equals(dataAreaFieldConfigObj.getString("~isSubReport~")) ? "\"skipSubReport=true" : "\"").append(" router=\"").append(dataAreaFieldConfigObj.getString(CmnConst.ATTR_URL)).append("\"");
- }
- String attrValue = recordFse.getString(dataAreaFieldName + CmnConst.PROMPT_REAL_VALUE_TAIL);
- if (StringUtils.isEmpty(attrValue)) {
- attrValue = recordFse.getString(dataAreaFieldName);
- }
- if (!dataAreaFieldName.matches("\\d+")) {
- curRowHtml.append(" ").append(dataAreaFieldName).append("=\"").append(attrValue).append("\"");
- }
- // 瑙f瀽绌块�忓弬鏁�
- String urlParam = dataAreaFieldConfigObj.getString(CmnConst.ATTR_URL_PARAM);
- String attrParam;
- if (!StringUtils.isEmpty(urlParam)) {
- List<String> suitFieldList = BaseUtil.getSuitContent(urlParam, "\\{#\\w+#\\}");
- for (String singleSuitFieldName : suitFieldList) {
- attrParam = singleSuitFieldName.substring(2, singleSuitFieldName.length() - 2);
- curRowHtml.append(" ").append(attrParam).append("=\"").append(recordFse.getString(attrParam)).append("\"");
- }
- }
- curRowHtml.append(">");
- // 鏍煎紡
- value = dataListReportService.formatValue(dataAreaFieldConfigObj, value);
- curRowHtml.append(value == null ? "" : value);
- curRowHtml.append("</td>");
- }
- curRowHtml.append("\n</tr>");
- dataAreaDataHtml.append(curRowHtml);
- preFse = recordFse;
- }
-
- // 琛ュ叏鏈熬缁熻
- if (!StringUtils.isEmpty(closestGroupStatisticsFieldName)) {
- int maxK = -1;
- for (int j = 0; j < dataAreaGroupStatisticsFieldNameList.size(); j++) {
- tempFieldName = dataAreaGroupStatisticsFieldNameList.get(j);
- if (closestGroupStatisticsFieldName.equals(tempFieldName)) {
- maxK = j;
- }
- }
- for (int k = maxK; k >= 0; k--) {
- tempFieldName = dataAreaGroupStatisticsFieldNameList.get(k);
- if (preFse != null) {
- dataAreaDataHtml.append(getDataAreaGroupStatisticsFieldStatisticsRowHtml(dataAreaClosestGroupStatisticsFieldValueMap.get(tempFieldName), statisticsMap, dataAreaFieldConfigMap, tempFieldName, preFse, dataAreaGroupFieldNameList, replaceMap, dataAreaGroupFieldRecordObj));
- }
- }
- }
-
- // 鎬昏
- if (!StringUtils.isEmpty(totalName)) {
- dataAreaDataHtml.append(getDataAreaTotalStatisticsHtml(statisticsMap, dataAreaFieldConfigMap, dataAreaGroupFieldNameList, preFse, dataAreaGroupFieldRecordObj, totalName));
- }
-
- String str = dataAreaDataHtml.toString();
- for (Map.Entry<String, String> entry : replaceMap.entrySet()) {
- str = str.replace(entry.getKey(), entry.getValue());
- }
-
- return str;
- }
-
- /**
- * 娣诲姞鍒嗙粍缁熻淇℃伅
- * @param statisticsMap 缁熻map
- * @param dataAreaGroupStatisticsFieldNameList 鏁版嵁鍖哄垎缁勭粺璁″瓧娈靛悕绉發ist
- * @param recordFse 涓氬姟鏁版嵁fse
- * @param dataAreaFieldConfigObj 鏁版嵁鍖哄瓧娈祇bj
- * @param dataAreaFieldName 鏁版嵁鍖哄瓧娈靛悕绉�
- * @param value 鍊�
- * @param formulaMap 鍏紡map锛屽瓧娈礽nfo鍜岀粺璁$被鍨嬬殑鏄犲皠
- */
- private void addStatisticsRowInfo(Map<JSONObject, JSONObject> statisticsMap, List<String> dataAreaGroupStatisticsFieldNameList, FieldSetEntity recordFse, JSONObject dataAreaFieldConfigObj, String dataAreaFieldName, String value, Map<String, String> formulaMap) {
- JSONObject keyObj = new JSONObject();
- keyObj.put(CmnConst.ATTR_FIELD_INFO, dataListReportService.fieldName2FieldInfo(dataAreaFieldName));
- String statisticsType = dataAreaFieldConfigObj.getString(CmnConst.ATTR_STATISTICS);
- if (StringUtils.isEmpty(statisticsType) && "1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_STATISTICS))) {
- statisticsType = CmnConst.ATTR_STATISTICS_DEFAULT;
- }
- String statisticsValue;
- String formula = dataAreaFieldConfigObj.getString(CmnConst.ATTR_FORMULA);
- JSONObject formulaFieldKeyObj = new JSONObject();
- // 鎬昏
- JSONObject cloneKeyObj = (JSONObject) keyObj.clone();
- JSONObject valueObj = statisticsMap.computeIfAbsent(cloneKeyObj, k -> new JSONObject());
- statisticsValue = getStatisticsValue(statisticsMap, formulaMap, formulaFieldKeyObj, formula, value);
- statisticsMap.put(keyObj, dataListReportService.getStatisticsValueObj(valueObj, dataAreaFieldConfigObj, statisticsValue, statisticsType, true));
- // 鍒嗙粍缁熻
- for (String dataAreaGroupStatisticsFieldName : dataAreaGroupStatisticsFieldNameList) {
- keyObj.put(dataAreaGroupStatisticsFieldName, recordFse.getString(dataAreaGroupStatisticsFieldName));
- formulaFieldKeyObj.put(dataAreaGroupStatisticsFieldName, recordFse.getString(dataAreaGroupStatisticsFieldName));
- cloneKeyObj = (JSONObject) keyObj.clone();
- valueObj = statisticsMap.computeIfAbsent(cloneKeyObj, k -> new JSONObject());
- statisticsValue = getStatisticsValue(statisticsMap, formulaMap, formulaFieldKeyObj, formula, value);
- statisticsMap.put(keyObj, dataListReportService.getStatisticsValueObj(valueObj, dataAreaFieldConfigObj, statisticsValue, statisticsType, true));
- }
- }
- private void addStatisticsRowInfo(Map<JSONObject, JSONObject> statisticsMap, List<String> dataAreaGroupStatisticsFieldNameList, FieldSetEntity recordFse, JSONObject dataAreaFieldConfigObj, String dataAreaFieldName, String value) {
- addStatisticsRowInfo(statisticsMap, dataAreaGroupStatisticsFieldNameList, recordFse, dataAreaFieldConfigObj, dataAreaFieldName, value, null);
- }
-
- /**
- * 鑾峰彇缁熻琛岀殑鍏紡璁$畻鍊�
- * @param statisticsMap 缁熻map
- * @param formulaMap 鍏紡map
- * @param formulaFieldKeyObj 鍏紡瀛楁keyobj
- * @param formula 鍏紡
- * @param value 鍘熸湰鐨勫��
- * @return
- */
- private String getStatisticsValue(Map<JSONObject, JSONObject> statisticsMap, Map<String, String> formulaMap, JSONObject formulaFieldKeyObj, String formula, String value) {
- String statisticsValue = "";
- String formulaFieldValue;
- if (formulaMap != null && !formulaMap.isEmpty()) {
- for (Map.Entry<String, String> entry : formulaMap.entrySet()) {
- formulaFieldKeyObj.put(CmnConst.ATTR_FIELD_INFO, entry.getKey());
- formulaFieldValue = statisticsMap.get(formulaFieldKeyObj).getString(entry.getValue());
- if (formulaFieldValue != null && formulaFieldValue.matches(CmnConst.REGEXP_NUMBER)) {
- formulaFieldValue += "d";
- }
- formula = formula.replace(entry.getKey(), StringUtils.isEmpty(formulaFieldValue) ? "" : formulaFieldValue);
- }
- try {
- statisticsValue = BaseUtil.executeExpression(formula, Maps.newHashMap()).toString();
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- statisticsValue = "";
- }
- }
- return StringUtils.isEmpty(statisticsValue) ? value : statisticsValue;
- }
-
- /**
- * 鑾峰彇鏁版嵁鍖哄垎缁勭粺璁″瓧娈电粺璁¤html
- *
- * @param waitStatisticsValue 寰呯粺璁$殑鍊�
- * @param statisticsMap 缁熻map
- * @param dataAreaFieldConfigMap 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- * @param tempFieldName 鏈鎿嶄綔鐨勫瓧娈靛悕绉�
- * @param recordFse 涓氬姟鏁版嵁璁板綍
- * @param dataAreaGroupFieldNameList 鏁版嵁鍖哄垎缁勫瓧娈靛悕绉發ist
- * @param replaceMap 鏇挎崲map
- * @param dataAreaGroupFieldRecordObj 鏁版嵁鍖哄垎缁勫瓧娈佃褰昽bj
- * @return
- */
- private StringBuilder getDataAreaGroupStatisticsFieldStatisticsRowHtml(String waitStatisticsValue, Map<JSONObject, JSONObject> statisticsMap, Map<String, JSONObject> dataAreaFieldConfigMap,
- String tempFieldName, FieldSetEntity recordFse, List<String> dataAreaGroupFieldNameList, Map<String, String> replaceMap, JSONObject dataAreaGroupFieldRecordObj) {
- StringBuilder html = new StringBuilder();
- html.append("\n<tr class=\"").append(CmnConst.CLASS_TR_DATA_STATISTICS).append("\">\n ");
- String dataAreaFieldName;
- JSONObject dataAreaFieldConfigObj;
- boolean flag = false;
- JSONObject keyObj = new JSONObject();
- String value;
- String statisticsType;
- int index = 0;
- List<String> needAddRowspanDataAreaGroupFieldNameList = Lists.newArrayList();
- for (Map.Entry<String, JSONObject> entry : dataAreaFieldConfigMap.entrySet()) {
- index++;
- dataAreaFieldName = entry.getKey();
- if (!flag) {
- if (dataAreaGroupFieldNameList.contains(dataAreaFieldName)) {
- keyObj.put(dataAreaFieldName, recordFse.getString(dataAreaFieldName));
- if (dataAreaFieldName.equals(tempFieldName)) {
- html.append("<td colspan=\"").append(dataAreaGroupFieldNameList.size() - index + 1).append("\">").append(waitStatisticsValue).append(CmnConst.STATISTICS_NAME).append("</td>");
- flag = true;
- }
- if (!flag) {
- needAddRowspanDataAreaGroupFieldNameList.add(dataAreaFieldName);
- }
- }
- } else {
- dataAreaFieldConfigObj = entry.getValue();
- statisticsType = dataAreaFieldConfigObj.getString(CmnConst.ATTR_STATISTICS);
- if (!"1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_CUSTOM_FIELD)) && StringUtils.isEmpty(statisticsType)) {
- if (!"1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_GROUP))) {
- html.append("<td></td>");
- }
- } else {
- keyObj.put(CmnConst.ATTR_FIELD_INFO, dataListReportService.fieldName2FieldInfo(dataAreaFieldName));
- if (statisticsMap.get(keyObj) == null) {
- value = "";
- } else {
- JSONObject valueObj = statisticsMap.get(keyObj);
- if (StringUtils.isEmpty(statisticsType)) {
- statisticsType = CmnConst.ATTR_STATISTICS_DEFAULT;
- }
- if (CmnConst.ATTR_STATISTICS_AVG.equals(statisticsType) && "1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_AVG_TYPE))) {
- int subCnt = getAimSubCnt(keyObj, dataAreaGroupFieldNameList, dataAreaGroupFieldRecordObj);
- valueObj.put(CmnConst.ATTR_STATISTICS_SUB_CNT, subCnt);
- dataListReportService.getAvgValue(valueObj, dataAreaFieldConfigObj, false);
- }
- value = valueObj.getString(statisticsType);
- }
- // 鏍煎紡
- value = dataListReportService.formatValue(dataAreaFieldConfigObj, value);
- html.append("<td>").append(value == null ? "" : value).append("</td>");
- }
- }
- }
- html.append("\n</tr>");
- dealReplaceMapAddRowspan(replaceMap, needAddRowspanDataAreaGroupFieldNameList, recordFse, false);
- return html;
- }
-
- /**
- * 鑾峰彇鎬昏html
- *
- * @param statisticsMap 缁熻map
- * @param dataAreaFieldConfigMap 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- * @param dataAreaGroupFieldNameList 鏁版嵁鍖哄垎缁勫瓧娈靛悕绉發ist
- * @param preFse 鏈�杩戞搷浣滅殑鏁版嵁fse
- * @param dataAreaGroupFieldRecordObj 鏁版嵁鍖哄垎缁勫瓧娈佃褰昽bj
- * @param totalName 鎬昏鍚嶇О
- * @return
- */
- private String getDataAreaTotalStatisticsHtml(Map<JSONObject, JSONObject> statisticsMap, Map<String, JSONObject> dataAreaFieldConfigMap, List<String> dataAreaGroupFieldNameList, FieldSetEntity preFse, JSONObject dataAreaGroupFieldRecordObj, String totalName) {
- StringBuilder html = new StringBuilder(512);
- String dataAreaFieldName;
- JSONObject dataAreaFieldConfigObj;
- String value;
- JSONObject keyObj = new JSONObject();
- String statisticsType;
- html.append("\n<tr class=\"").append(CmnConst.CLASS_TR_DATA_STATISTICS).append("\">\n ");
- if (preFse == null) {
- return html.toString();
- }
- int index = 0;
- for (Map.Entry<String, JSONObject> entry : dataAreaFieldConfigMap.entrySet()) {
- index++;
- dataAreaFieldName = entry.getKey();
- if (!dataAreaGroupFieldNameList.contains(dataAreaFieldName)) {
- dataAreaFieldConfigObj = entry.getValue();
- statisticsType = dataAreaFieldConfigObj.getString(CmnConst.ATTR_STATISTICS);
- keyObj.put(CmnConst.ATTR_FIELD_INFO, dataAreaFieldConfigObj.getString(CmnConst.ATTR_FIELD_INFO));
- if ((!"1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_CUSTOM_FIELD)) && StringUtils.isEmpty(statisticsType)) || statisticsMap.get(keyObj) == null) {
- value = "";
- } else {
- JSONObject valueObj = statisticsMap.get(keyObj);
- if (StringUtils.isEmpty(statisticsType)) {
- statisticsType = CmnConst.ATTR_STATISTICS_DEFAULT;
- }
- if (CmnConst.ATTR_STATISTICS_AVG.equals(statisticsType) && "1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_AVG_TYPE))) {
- int subCnt = dataAreaGroupFieldRecordObj.size();
- valueObj.put(CmnConst.ATTR_STATISTICS_SUB_CNT, subCnt);
- dataListReportService.getAvgValue(valueObj, dataAreaFieldConfigObj, false);
- }
- value = valueObj.getString(statisticsType);
- }
- // 鏍煎紡
- value = dataListReportService.formatValue(dataAreaFieldConfigObj, value);
- html.append("<td>").append(value == null ? "" : value).append("</td>");
- } else {
- if (index == 1) {
- html.append("<td colspan=\"").append(dataAreaGroupFieldNameList.size()).append("\">").append(totalName).append("</td>");
- }
- }
- }
- html.append("\n</tr>");
- return html.toString();
- }
-
- /**
- * 澶勭悊鍙傛暟鏇挎崲map-娣诲姞鏁版嵁鍖哄垎缁勫瓧娈电殑鍗犺
- *
- * @param replaceMap 鏇挎崲map
- * @param needAddRowspanDataAreaGroupFieldNames 闇�瑕佹坊鍔犲崰琛岀殑鏁版嵁鍖哄垎缁勫瓧娈靛悕绉伴泦鍚�
- * @param recordFse 涓氬姟鏁版嵁璁板綍
- */
- private void dealReplaceMapAddRowspan(Map<String, String> replaceMap, Collection<String> needAddRowspanDataAreaGroupFieldNames, FieldSetEntity recordFse, boolean commonFieldFlag) {
- JSONObject keyObj = new JSONObject();
- String value;
- int rowspan;
- String paramKey;
- int index = 0;
- for (String fieldName : needAddRowspanDataAreaGroupFieldNames) {
- index++;
- keyObj.put(fieldName, recordFse.getString(fieldName));
- if (commonFieldFlag && index != needAddRowspanDataAreaGroupFieldNames.size()) {
- continue;
- }
- keyObj.put(CmnConst.ATTR_FIELD_INFO, dataListReportService.fieldName2FieldInfo(fieldName));
- paramKey = dataListReportService.concat(keyObj, CmnConst.ATTR_ROWSPAN);
- value = replaceMap.get(paramKey);
- rowspan = StringUtils.isEmpty(value) ? 1 : Integer.parseInt(value) + 1;
- replaceMap.put(paramKey, String.valueOf(rowspan));
- }
- }
-
- /**
- * 璁板綍鍒嗙粍瀛楁
- *
- * @param dataAreaGroupFieldRecordObj 鏁版嵁鍖哄垎缁勫瓧娈佃褰昽bj
- * @param dataAreaGroupFieldNameList 鏁版嵁鍖哄垎缁勫瓧娈靛悕绉發ist
- * @param curFieldIndex 褰撳墠瀛楁涓嬫爣
- * @param recordFse 涓氬姟鏁版嵁璁板綍
- */
- private void recordDataAreaGroupField(JSONObject dataAreaGroupFieldRecordObj, List<String> dataAreaGroupFieldNameList, int curFieldIndex, FieldSetEntity recordFse) {
- String tempFieldName;
- JSONObject parentObj = dataAreaGroupFieldRecordObj;
- JSONObject subObj;
- String value;
- for (int j = 0; j <= curFieldIndex; j++) {
- tempFieldName = dataAreaGroupFieldNameList.get(j);
- value = recordFse.getString(tempFieldName);
- subObj = parentObj.getJSONObject(value);
- if (subObj == null) {
- subObj = new JSONObject();
- parentObj.put(value, subObj);
- }
- parentObj = subObj;
- }
- }
-
- /**
- * 鑾峰彇鎸囧畾鐨勪笅绾у垎缁勯」
- *
- * @param keyObj 鎸囧畾鐨刱ey
- * @param dataAreaGroupFieldNameList 鏁版嵁鍖哄垎缁勫瓧娈靛悕绉發ist
- * @param dataAreaGroupFieldRecordObj 鏁版嵁鍖哄垎缁勫瓧娈佃褰昽bj
- * @return
- */
- private int getAimSubCnt(JSONObject keyObj, List<String> dataAreaGroupFieldNameList, JSONObject dataAreaGroupFieldRecordObj) {
- String value;
- JSONObject parentObj = dataAreaGroupFieldRecordObj;
- JSONObject subObj = null;
- for (String fieldName : dataAreaGroupFieldNameList) {
- value = keyObj.getString(fieldName);
- if (value != null) {
- subObj = parentObj.getJSONObject(value);
- } else {
- break;
- }
- parentObj = subObj;
- }
- return subObj == null ? 0 : subObj.size();
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/DataListReportService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/DataListReportService.java
deleted file mode 100644
index 44ec5be..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/DataListReportService.java
+++ /dev/null
@@ -1,1852 +0,0 @@
-package com.product.server.report.service;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import com.product.admin.service.RouterService;
-import com.product.common.collect.SetUtils;
-import com.product.common.lang.StringUtils;
-import com.product.core.cache.DataPoolCacheImpl;
-import com.product.core.cache.util.RedisUtil;
-import com.product.core.dao.BaseDao;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.entity.SQLEntity;
-import com.product.core.exception.BaseException;
-import com.product.core.service.support.AbstractBaseService;
-import com.product.core.service.support.QueryFilterService;
-import com.product.core.spring.context.SpringMVCContextHolder;
-import com.product.data.center.utils.QuerySqlParseUtil;
-import com.product.server.report.config.CmnConst;
-import com.product.server.report.config.ReportCode;
-import com.product.util.BaseUtil;
-import com.product.util.SystemParamReplace;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.math.BigDecimal;
-import java.text.DecimalFormat;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-/**
- * Copyright 漏 6c
- *
- * @Date: 2021-04-15 14:48
- * @Author: 6c
- * @Description:
- */
-@Component
-public class DataListReportService extends AbstractBaseService {
- @Autowired
- private BaseDao baseDao;
- @Autowired
- private GroupReportService groupReportService;
- @Autowired
- private CommonReportService commonReportService;
- @Autowired
- private QueryFilterService queryFilterService;
- @Autowired
- private RouterService routerService;
-
- /**
- * 鍔犺浇鎵�鏈夌紦瀛�
- */
- public void setAllConfig() {
- DataTableEntity reportTypeDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_TYPE);
- if (BaseUtil.dataTableIsEmpty(reportTypeDte)) {
- return;
- }
- List<String> dataListUUIDList = Lists.newArrayList();
- FieldSetEntity fse;
- for (int i = 0; i < reportTypeDte.getRows(); i++) {
- fse = reportTypeDte.getFieldSetEntity(i);
- if ("DataList".equals(fse.getString(CmnConst.TYPE_GROUP))) {
- dataListUUIDList.add(fse.getUUID());
- }
- }
- DataTableEntity reportConfigDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_CONFIG);
- if (reportConfigDte == null) {
- return;
- }
- for (int i = 0; i < reportConfigDte.getRows(); i++) {
- fse = reportConfigDte.getFieldSetEntity(i);
- try {
- if (!dataListUUIDList.contains(fse.getString(CmnConst.TYPE_UUID)) || (StringUtils.isEmpty(fse.getString(CmnConst.FUNCTION_UUID)) && !"1".equals(fse.getString(CmnConst.RELATE_FLAG)))) {
- continue;
- }
- setConfig(fse.getUUID());
- } catch (Exception e) {
- logger.error(ReportCode.GET_REPORT_CONFIG_FIAL.getText() + ": " + fse.getUUID(), e);
- }
- }
- }
-
- /**
- * 璁剧疆鎶ヨ〃鍔犺浇缂撳瓨
- *
- * @param reportConfigUUID 鎶ヨ〃閰嶇疆UUID
- */
- public void setConfig(String reportConfigUUID) {
- // 灞炴�ц幏鍙�
- StringBuilder sql = new StringBuilder(128);
- sql.append("select report_area report_area,cell_position_y y,cell_position_x x,attribute_name name,report_type_attr_value value")
- .append("\nfrom (")
- .append("\n select report_area,cell_position_y,cell_position_x,report_type_attr_value,report_type_attr FROM product_sys_report_config_attribute ca")
- .append("\n where report_config_uuid=?")
- .append("\n) ca")
- .append("\nleft join (")
- .append("\n select uuid,attribute_name FROM product_sys_report_type_attribute where type_group='DataList'")
- .append("\n) ta on ca.report_type_attr=ta.uuid")
- .append("\nwhere ta.attribute_name is not null")
- .append("\norder by report_area,cell_position_y,cell_position_x");
- DataTableEntity attrDte = baseDao.listTable(sql.toString(), new Object[]{reportConfigUUID});
- if (BaseUtil.dataTableIsEmpty(attrDte)) {
- throw new BaseException(ReportCode.SET_REPORT_CACHE_FAIL.getValue(), ReportCode.SET_REPORT_CACHE_FAIL.getText());
- }
-
- // 鐢熸垚obj锛屾斁鍏ap锛岀粺璁″垎缁勮〃澶村尯琛屾暟
- FieldSetEntity attrFse;
- Map<Integer, List<JSONObject>> reportConfigMap = Maps.newHashMap();
- List<JSONObject> areaList;
- JSONObject fieldConfigObj;
- int reportArea;
- int x;
- int y;
- int preX = -1;
- int preY = -1;
- int groupAreaRowCount = 0;
- for (int i = 0; i < attrDte.getRows(); i++) {
- attrFse = attrDte.getFieldSetEntity(i);
- if (attrFse.getInteger(CmnConst.ATTR_REPORT_AREA) == null) {
- continue;
- }
- reportArea = attrFse.getInteger(CmnConst.ATTR_REPORT_AREA);
- areaList = reportConfigMap.computeIfAbsent(reportArea, k -> Lists.newArrayList());
- x = attrFse.getInteger(CmnConst.ATTR_X);
- y = attrFse.getInteger(CmnConst.ATTR_Y);
- if (preX != x || preY != y) {
- fieldConfigObj = new JSONObject();
- areaList.add(fieldConfigObj);
- } else {
- fieldConfigObj = areaList.get(areaList.size() - 1);
- }
- fieldConfigObj.put(attrFse.getString(CmnConst.ATTR_NAME), attrFse.getString(CmnConst.ATTR_VALUE));
- fieldConfigObj.put(CmnConst.ATTR_X, x);
- fieldConfigObj.put(CmnConst.ATTR_Y, y);
- fieldConfigObj.put(CmnConst.ATTR_REPORT_AREA, reportArea);
- if (reportArea == 2) {
- groupAreaRowCount = Math.max(groupAreaRowCount, y);
- }
- preX = x;
- preY = y;
- }
-
- // 娓呯悊绌烘牸
- List<JSONObject> valueList;
- JSONObject tempObj;
- for (Map.Entry<Integer, List<JSONObject>> entry : reportConfigMap.entrySet()) {
- valueList = entry.getValue();
- for (int i = valueList.size() - 1; i >= 0; i--) {
- tempObj = valueList.get(i);
- if (StringUtils.isEmpty(tempObj.getString(CmnConst.ATTR_FIELD_INFO))) {
- valueList.remove(i);
- }
- }
- }
-
- // 鎻愬彇鏁版嵁鍖哄垎缁勫瓧娈靛悕绉發ist锛屽鏁版嵁鍖哄瓧娈祇bj鏀惧叆鏁版嵁鍖哄垎缁勫瓧娈�
- List<JSONObject> dataAreaReportConfigList = reportConfigMap.get(0);
- String fieldName;
- ArrayList<String> dataAreaGroupFieldNameList = Lists.newArrayList();
- if (dataAreaReportConfigList != null) {
- for (int i = 0; i < dataAreaReportConfigList.size(); i++) {
- tempObj = dataAreaReportConfigList.get(i);
- fieldName = fieldInfo2FieldName(tempObj.getString(CmnConst.ATTR_FIELD_INFO));
- if (!dataAreaGroupFieldNameList.isEmpty()) {
- tempObj.put(CmnConst.ATTR_DATA_AREA_GROUP_FIELD, dataAreaGroupFieldNameList.clone());
- }
- fieldConfigObj = new JSONObject();
- fieldConfigObj.put(fieldName, tempObj);
- dataAreaReportConfigList.set(i, fieldConfigObj);
- if ("1".equals(tempObj.getString(CmnConst.ATTR_IS_GROUP))) {
- dataAreaGroupFieldNameList.add(fieldName);
- }
- }
- }
-
- // 鎻愬彇鍒嗙粍琛ㄥご鍖哄垎缁勫瓧娈靛悕绉發ist锛屽鍒嗙粍琛ㄥご鍖哄瓧娈祇bj鏀惧叆鏁版嵁鍖哄垎缁勫瓧娈点�佸垎缁勮〃澶村尯鍒嗙粍瀛楁
- List<JSONObject> groupAreaReportConfigList = reportConfigMap.get(2);
- ArrayList<String> groupAreaGroupFieldNameList = Lists.newArrayList();
- JSONObject dataAreaFieldConfigOuterObj;
- JSONObject dataAreaFieldConfigInnerObj;
- JSONObject groupAreaFieldConfigInnerObj;
- if (groupAreaReportConfigList != null) {
- for (int i = 0; i < groupAreaReportConfigList.size(); i++) {
- tempObj = groupAreaReportConfigList.get(i);
- fieldName = fieldInfo2FieldName(tempObj.getString(CmnConst.ATTR_FIELD_INFO));
- if (!dataAreaGroupFieldNameList.isEmpty()) {
- tempObj.put(CmnConst.ATTR_DATA_AREA_GROUP_FIELD, dataAreaGroupFieldNameList);
- }
- if (!groupAreaGroupFieldNameList.isEmpty()) {
- tempObj.put(CmnConst.ATTR_GROUP_AREA_GROUP_FIELD, groupAreaGroupFieldNameList.clone());
- }
- fieldConfigObj = new JSONObject();
- fieldConfigObj.put(fieldName, tempObj);
- groupAreaReportConfigList.set(i, fieldConfigObj);
- if ("1".equals(tempObj.getString(CmnConst.ATTR_IS_GROUP))) {
- groupAreaGroupFieldNameList.add(fieldName);
- }
- // 娣诲姞鏁版嵁鍖虹殑鍒嗙粍琛ㄥご鍖哄垎缁勫瓧娈�
- if (dataAreaReportConfigList != null) {
- for (int j = 0; j < dataAreaReportConfigList.size(); j++) {
- dataAreaFieldConfigOuterObj = dataAreaReportConfigList.get(j);
- dataAreaFieldConfigInnerObj = (JSONObject) dataAreaFieldConfigOuterObj.entrySet().iterator().next().getValue();
- groupAreaFieldConfigInnerObj = tempObj;
- if (groupAreaFieldConfigInnerObj.getIntValue(CmnConst.ATTR_X) + Math.max(1, groupAreaFieldConfigInnerObj.getIntValue(CmnConst.ATTR_COLSPAN)) - 1 >= dataAreaFieldConfigInnerObj.getIntValue(CmnConst.ATTR_X)
- && groupAreaFieldConfigInnerObj.getIntValue(CmnConst.ATTR_X) <= dataAreaFieldConfigInnerObj.getIntValue(CmnConst.ATTR_X)) {
- dataAreaFieldConfigInnerObj.put(CmnConst.ATTR_GROUP_AREA_GROUP_FIELD, groupAreaGroupFieldNameList);
- }
- }
- }
- }
- }
-
- // 鏁版嵁婧愭帓搴�
- StringBuilder sort = new StringBuilder(128);
- JSONObject innerObj;
- if (dataAreaReportConfigList != null) {
- for (JSONObject outerObj : dataAreaReportConfigList) {
- fieldName = outerObj.keySet().iterator().next();
- if (dataAreaGroupFieldNameList.contains(fieldName)) {
- innerObj = outerObj.getJSONObject(fieldName);
- sort.append(fieldName).append(StringUtils.isEmpty(innerObj.getString(CmnConst.ATTR_ORDER_BY)) ? "" : " " + innerObj.getString(CmnConst.ATTR_ORDER_BY)).append(",");
- }
- }
- }
- if (groupAreaReportConfigList != null) {
- for (JSONObject outerObj : groupAreaReportConfigList) {
- fieldName = outerObj.keySet().iterator().next();
- if (StringUtils.isEmpty(fieldName)) {
- continue;
- }
- innerObj = outerObj.getJSONObject(fieldName);
- sort.append(fieldName).append(StringUtils.isEmpty(innerObj.getString(CmnConst.ATTR_ORDER_BY)) ? "" : " " + innerObj.getString(CmnConst.ATTR_ORDER_BY)).append(",");
- }
- }
- if (sort.length() > 0) {
- sort.deleteCharAt(sort.length() - 1);
- }
-
- // 鏀惧叆缂撳瓨
- RedisUtil.setHash(reportConfigUUID, "sort", sort);
- for (Map.Entry<Integer, List<JSONObject>> entry : reportConfigMap.entrySet()) {
- RedisUtil.setHash(reportConfigUUID, String.valueOf(entry.getKey()), entry.getValue());
- }
- }
-
- /**
- * 鑾峰彇鎶ヨ〃
- *
- * @return
- */
- public JSONObject getReport(FieldSetEntity fse) {
- String reportConfigUUID = fse.getUUID();
- DataTableEntity reportConfigDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_CONFIG, new String[]{reportConfigUUID});
- if (BaseUtil.dataTableIsEmpty(reportConfigDte)) {
- throw new BaseException(ReportCode.GET_CACHE_FIAL.getValue(), ReportCode.GET_CACHE_FIAL.getText() + ":" + CmnConst.CACHE_REPORT_CONFIG);
- }
- FieldSetEntity reportConfigFse = reportConfigDte.getFieldSetEntity(0);
- if (!"1".equals(reportConfigFse.getString(CmnConst.IS_VALID))) {
- throw new BaseException(ReportCode.INVALID_REPORT.getValue(), ReportCode.INVALID_REPORT.getText());
- }
-
- DataTableEntity reportTypeDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_TYPE, new String[]{reportConfigFse.getString(CmnConst.TYPE_UUID)});
- if (BaseUtil.dataTableIsEmpty(reportTypeDte)) {
- throw new BaseException(ReportCode.GET_CACHE_FIAL.getValue(), ReportCode.GET_CACHE_FIAL.getText() + ":" + CmnConst.CACHE_REPORT_TYPE);
- }
- FieldSetEntity reportTypeFse = reportTypeDte.getFieldSetEntity(0);
-
- StringBuilder sort = new StringBuilder(128);
- // 鑾峰彇鎶ヨ〃缂撳瓨淇℃伅
- Map<Integer, List<JSONObject>> reportConfigMap = getReportConfig(reportConfigUUID, sort);
- // 鏍规嵁鍏蜂綋鐨刦unction_uuid鍜宐utton_uuid鑾峰彇瀵瑰簲鐨勮矾鐢憋紝鎷煎噾url
- String url;
- JSONObject valueObj;
- for (Map.Entry<Integer, List<JSONObject>> entry : reportConfigMap.entrySet()) {
- if (entry.getValue() != null) {
- for (JSONObject tempValueObj : entry.getValue()) {
- if (entry.getValue() != null) {
- for (Map.Entry<String, Object> innerEntry : tempValueObj.entrySet()) {
- if (innerEntry.getValue() instanceof JSONObject) {
- valueObj = (JSONObject) innerEntry.getValue();
- if (!StringUtils.isEmpty(valueObj.getString(CmnConst.SUB_REPORT))) {
- url = valueObj.getString(CmnConst.SUB_REPORT);
- if (!StringUtils.isEmpty(valueObj.getString(CmnConst.ATTR_URL_PARAM))) {
- url += "?" + valueObj.getString(CmnConst.ATTR_URL_PARAM);
- }
- valueObj.put(CmnConst.ATTR_URL, url);
- valueObj.put("~isSubReport~", true);
- } else {
- if (!StringUtils.isEmpty(valueObj.getString(CmnConst.FUNCTION_UUID)) && !StringUtils.isEmpty(valueObj.getString(CmnConst.BUTTON_UUID))) {
- url = routerService.functionSkipByButtonUuid(valueObj.getString(CmnConst.FUNCTION_UUID), valueObj.getString(CmnConst.BUTTON_UUID));
- if (StringUtils.isEmpty(url)) {
- valueObj.remove(CmnConst.ATTR_URL);
- } else {
- if (!StringUtils.isEmpty(valueObj.getString(CmnConst.ATTR_URL_PARAM))) {
- url += "?" + valueObj.getString(CmnConst.ATTR_URL_PARAM);
- }
- valueObj.put(CmnConst.ATTR_URL, url);
- }
- } else {
- valueObj.remove(CmnConst.ATTR_URL);
- }
- }
- }
- }
- }
- }
- }
- }
- // 鑾峰彇鎶ヨ〃绫诲瀷
- String reportType = reportTypeFse.getString(CmnConst.TYPE_NAME);
- // 鑾峰彇鏁版嵁婧�
- DataTableEntity reportSourceDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_DATASOURCE_CONFIG, new String[]{reportConfigFse.getString(CmnConst.DATASOURCE_UUID)});
- if (BaseUtil.dataTableIsEmpty(reportSourceDte)) {
- throw new BaseException(ReportCode.GET_REPORT_DATASOURCE_FIAL.getValue(), ReportCode.GET_REPORT_DATASOURCE_FIAL.getText());
- }
- FieldSetEntity reportSourceFse = reportSourceDte.getFieldSetEntity(0);
- int curPage = fse.getInteger(CmnConst.CPAGE) == null ? 1 : fse.getInteger(CmnConst.CPAGE);
-
- JSONObject resultObj = new JSONObject();
- // 棣栨鍔犺浇锛岄粯璁ゆ坊鍔犳潯浠�
- if (fse.getBoolean(CmnConst.FIRST_LOAD)) {
- DataTableEntity allFilterDte = getDefaultSearchFilter(reportSourceFse.getUUID());
- Map<String, DataTableEntity> subMap = Maps.newHashMap();
- if (!DataTableEntity.isEmpty(allFilterDte)) {
- subMap.put("systemFieldMeta", allFilterDte);
- }
- DataTableEntity defaultFilterDte = new DataTableEntity();
-
- FieldSetEntity tempFse;
- Map<String, Map<String, String>> outerMap = Maps.newHashMap();
- Map<String, String> innerMap;
- for (int i = 0; i < allFilterDte.getRows(); i++) {
- tempFse = allFilterDte.getFieldSetEntity(i);
- if (StringUtils.isEmpty(tempFse.getString(CmnConst.LOGICAL_VALUE))) {
- continue;
- }
- defaultFilterDte.addFieldSetEntity(tempFse);
- innerMap = Maps.newHashMap();
- innerMap.put(CmnConst.LOGICAL_OPERATOR, tempFse.getString(CmnConst.LOGICAL_OPERATOR));
- innerMap.put(CmnConst.LOGICAL_VALUE, tempFse.getString(CmnConst.LOGICAL_VALUE));
- innerMap.put(CmnConst.FIELD_TYPE, tempFse.getString(CmnConst.FIELD_TYPE));
- outerMap.put(tempFse.getString(CmnConst.FIELD_NAME), innerMap);
- }
- resultObj.put("filterInfo", outerMap);
-
- if (!DataTableEntity.isEmpty(defaultFilterDte)) {
- subMap.put("systemSeniorQueryString", defaultFilterDte);
- }
- fse.setSubData(subMap);
- }
-
- List<String> unpivotInfoContainer = Lists.newArrayList();
- DataTableEntity recordDte = getRecordDte(sort, curPage, reportSourceFse, fse, reportConfigFse, null, unpivotInfoContainer);
- // 鏄惁娣诲姞鎬诲悎璁�
- boolean totalStatisticsFlag = "1".equalsIgnoreCase(reportConfigFse.getString(CmnConst.LAST_TOTAL));
- String totalName = totalStatisticsFlag ? (StringUtils.isEmpty(reportConfigFse.getString(CmnConst.TOTAL_NAME)) ? "鎬昏" : reportConfigFse.getString(CmnConst.TOTAL_NAME)) : "";
-
-// JSONObject checkObj = checkRecordDte(recordDte);
-// if (CmnConst.FALSE.equals(checkObj.getString(CmnConst.RETURN_ATTR_RESULT))) {
-// return checkObj;
-// }
-
- StringBuilder tableStyle = new StringBuilder(32);
- String widthType = reportConfigFse.getString(CmnConst.REPORT_WIDTH_TYPE);
- String width = reportConfigFse.getString(CmnConst.REPORT_WIDTH_VALUE);
- if (!StringUtils.isEmpty(width)) {
- if ("1".equals(widthType)) {
- tableStyle.append(" style=\"width:").append(width).append("%\"");
- } else if ("0".equals(widthType)) {
- tableStyle.append(" style=\"width:").append(width).append("px\"");
- }
- }
-
- if (CmnConst.REPORT_TYPE_COMMON.equals(reportType)) {
- resultObj.putAll(commonReportService.getReport(recordDte, totalName, reportConfigMap, tableStyle, unpivotInfoContainer));
- } else if (CmnConst.REPORT_TYPE_GROUP.equals(reportType)) {
- // 鐗规畩澶勭悊棰濆鏌ヨ鍐呭
- recordDte.addFieldSetEntity(getRecordDte(sort, curPage, reportSourceFse, fse, reportConfigFse, reportConfigMap, null));
- resultObj.putAll(groupReportService.getReport(recordDte, totalName, reportConfigMap, tableStyle));
- }
-
- if (CmnConst.FALSE.equals(resultObj.getString(CmnConst.RETURN_ATTR_RESULT))) {
- resultObj.put(CmnConst.RETURN_ATTR_RESULT, true);
- resultObj.put(CmnConst.RETURN_ATTR_MESSAGE, "鑾峰彇鎶ヨ〃澶辫触锛�");
- } else {
- // 鍒嗛〉鍙傛暟
- SQLEntity sqlEntity = recordDte.getSqle();
- if ("1".equals(reportConfigFse.getString(CmnConst.IS_PAGE)) && sqlEntity != null) {
- resultObj.put(CmnConst.IS_PAGE, 1);
- resultObj.put(CmnConst.CPAGE, curPage);
- resultObj.put("totalCount", sqlEntity.getTotalCount());
- resultObj.put("totalpage", sqlEntity.getTotalpage());
- resultObj.put("pagesize", StringUtils.isEmpty(reportConfigFse.getString(CmnConst.PAGE_SIZE)) ? 0 : reportConfigFse.getInteger(CmnConst.PAGE_SIZE));
- } else {
- resultObj.put(CmnConst.IS_PAGE, 0);
- }
- }
- if (!DataTableEntity.isEmpty(recordDte)) {
- resultObj.put("current_page_count", recordDte.getRows());
- }
- resultObj.put("systemFieldMeta", getSearchInfo(reportSourceFse.getUUID()));
- resultObj.put("report_type", reportConfigFse.getString("type_uuid"));
- resultObj.put("is_timephased", reportConfigFse.getString("is_timephased"));
-// System.out.println(resultObj.getString("html"));
-
- return resultObj;
- }
-
- /**
- * 鑾峰彇鎶ヨ〃缂撳瓨淇℃伅
- *
- * @param reportConfigUUID
- * @param sort
- * @return
- */
- private Map<Integer, List<JSONObject>> getReportConfig(String reportConfigUUID, StringBuilder sort) {
- Object obj;
- Map<Integer, List<JSONObject>> reportConfigMap = Maps.newHashMap();
- List<JSONObject> list;
- for (int i = 0; i < 4; i++) {
- obj = RedisUtil.getHash(reportConfigUUID, String.valueOf(i));
- if (obj == null) {
- continue;
- }
- list = (List<JSONObject>) obj;
- reportConfigMap.put(i, list);
- }
-
- if (reportConfigMap.isEmpty()) {
- throw new BaseException(ReportCode.GET_REPORT_CONFIG_FIAL.getValue(), ReportCode.GET_REPORT_CONFIG_FIAL.getText());
- }
- obj = RedisUtil.getHash(reportConfigUUID, "sort");
- if (obj != null) {
- sort.append(obj.toString());
- }
- return reportConfigMap;
- }
-
- /**
- * 鑾峰彇鏁版嵁婧�
- *
- * @param sort
- * @param curPage
- * @param reportSourceFse
- * @param fse
- * @param reportConfigFse
- * @return
- */
- private DataTableEntity getRecordDte(StringBuilder sort, int curPage, FieldSetEntity reportSourceFse, FieldSetEntity fse, FieldSetEntity reportConfigFse, Map<Integer, List<JSONObject>> reportConfigMap, Collection<String> unpivotInfoContainer) {
- boolean spTimeFlag = reportConfigMap != null;
- String sql;
- String sqlText = reportSourceFse.getString(CmnConst.SQL_TEXT);
- Map<String, List<String>> queryFilterMap = queryFilterService.getQueryFilterMore(fse);
- // [=table_name=]鍐欐硶澶勭悊鈥斺�旀浛鎹负瀵瑰簲鐨剋ith璇彞,0-杩戞湡锛�1-鎵�鏈�
- int year = queryFilterMap == null || queryFilterMap.get("query_time") == null || "0".equals(queryFilterMap.get("query_time").get(0)) ? 2 : 0;
- sqlText = QuerySqlParseUtil.parseSplitTableSql(baseDao, sqlText, year);
- // {==}鍐欐硶澶勭悊-鏇挎崲涓哄搴旂殑琛屽垪杞崲璇彞
- sqlText = dealUnpivot(sqlText, queryFilterMap, unpivotInfoContainer);
-
- DataTableEntity recordDte = new DataTableEntity();
-
- if (spTimeFlag) {
- // 鑾峰彇鎵�鏈夌殑瀛楁
- Set<String> baseFieldSet = Sets.newHashSet();
- Map<String, Map<String, JSONObject>> spTimeStatisticsFieldMap = Maps.newHashMap();
- Set<String> spTimeStatisticsTypeSet = Sets.newHashSet();
- spTimeStatisticsTypeSet.addAll(getFieldAndSpTimeStatisticsTypeSet(baseFieldSet, spTimeStatisticsFieldMap, reportConfigMap.get(0)));
- spTimeStatisticsTypeSet.addAll(getFieldAndSpTimeStatisticsTypeSet(baseFieldSet, spTimeStatisticsFieldMap, reportConfigMap.get(2)));
- Set<String> selectedFieldSet;
- String headContent;
- DataTableEntity tempDte;
- String curFieldName;
- String curCommonFieldName;
- Map<String, List<String>> tempQueryFilterMap;
- List<String> tempList;
- Map<String, String> tempFieldMap;
- Set<String> tempDateFieldInfoSet;
- JSONObject obj;
-
- for (String spTimeStatisticsType : spTimeStatisticsTypeSet) {
- selectedFieldSet = Sets.newHashSet();
- tempFieldMap = Maps.newHashMap();
- tempDateFieldInfoSet = Sets.newHashSet();
- tempQueryFilterMap = Maps.newHashMap();
- for (Map.Entry<String, JSONObject> outEntry : spTimeStatisticsFieldMap.get(spTimeStatisticsType).entrySet()) {
- obj = outEntry.getValue();
- curFieldName = fieldInfo2FieldName(obj.getString(CmnConst.ATTR_RELATE_TIME_FIELD));
- if ("0".equals(spTimeStatisticsType)) {
- // 鍘诲勾鍚屾湡
- headContent = CmnConst.ATTR_HEAD_LAST_YEAR;
- } else if ("1".equals(spTimeStatisticsType)) {
- // 涓婃湡
- headContent = CmnConst.ATTR_HEAD_PRE_PERIOD;
- } else {
- headContent = "";
- }
- for (Map.Entry<String, List<String>> entry : queryFilterMap.entrySet()) {
- tempList = Lists.newArrayList();
- tempList.addAll(entry.getValue());
- tempQueryFilterMap.put(entry.getKey(), tempList);
- }
- if (queryFilterMap.containsKey(curFieldName)) {
- if (!tempDateFieldInfoSet.contains(obj.getString(CmnConst.ATTR_RELATE_TIME_FIELD))) {
- tempDateFieldInfoSet.add(obj.getString(CmnConst.ATTR_RELATE_TIME_FIELD));
- if ("0".equals(spTimeStatisticsType)) {
- // 鍘诲勾鍚屾湡
- spDealFilterForLastYear(tempQueryFilterMap, queryFilterMap, curFieldName);
- } else if ("1".equals(spTimeStatisticsType)) {
- // 涓婃湡
- spDealFilterForPrePeriod(tempQueryFilterMap, queryFilterMap, curFieldName);
- }
- }
- }
- curCommonFieldName = fieldInfo2FieldName(obj.getString(CmnConst.ATTR_RELATE_COMMON_FIELD));
- for (String selectField : baseFieldSet) {
- if (selectField.equals(curCommonFieldName)) {
- tempFieldMap.put(curCommonFieldName, curCommonFieldName + " " + headContent + curCommonFieldName);
- }
- }
- }
- for (String selectField : baseFieldSet) {
- selectedFieldSet.add(tempFieldMap.getOrDefault(selectField, selectField));
- }
- sql = replaceSqlContent(sqlText, fse, null, reportConfigFse, curPage, SetUtils.set2String(selectedFieldSet, ","), tempQueryFilterMap);
-
- if ("1".equalsIgnoreCase(reportConfigFse.getString(CmnConst.IS_PAGE))) {
- Integer pageSize = reportConfigFse.getInteger(CmnConst.PAGE_SIZE);
- tempDte = baseDao.listTable(sql, new Object[]{}, pageSize == null ? Integer.MAX_VALUE : pageSize, curPage);
- } else {
- tempDte = baseDao.listTable(sql, new Object[]{});
- }
-
- recordDte.addFieldSetEntity(tempDte);
- }
- } else {
- sql = replaceSqlContent(sqlText, fse, sort, reportConfigFse, curPage);
-
- if ("1".equalsIgnoreCase(reportConfigFse.getString(CmnConst.IS_PAGE))) {
- Integer pageSize = reportConfigFse.getInteger(CmnConst.PAGE_SIZE);
- recordDte = baseDao.listTable(sql, new Object[]{}, pageSize == null ? Integer.MAX_VALUE : pageSize, curPage);
- } else {
- recordDte = baseDao.listTable(sql, new Object[]{});
- }
-
- }
- // 鍔犺浇鏁版嵁婧愮殑鍙傜収
- loadPromptData(recordDte, reportSourceFse);
-
- return recordDte;
- }
-
- /**
- * 瀛愭柟娉�-澶勭悊琛屽垪杞崲鐨勮鍙�
- * @param sql 寰呭鐞嗙殑sql
- * @param queryFilterMap 杩囨护鏉′欢map
- * @param unpivotInfoContainer 琛屽垪杞崲瀹瑰櫒锛岃鏂规硶浼氬皢澶勭悊濂戒簡鐨勫唴瀹圭洿鎺ユ斁鍏ヨ瀹瑰櫒涓�
- * @return
- */
- private String dealUnpivot(String sql, Map<String, List<String>> queryFilterMap, Collection<String> unpivotInfoContainer) {
- String regexp = "\\{=.+=\\}";
- List<String> suitList = getSuitContent(sql, regexp);
- String tempStr;
- List<String> fieldInfoList;
- String[] fieldArr;
- String filter;
- String startTimeStr;
- String finalTimeStr;
- int beginIndex;
- SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- List<String> timeList;
- for (String content : suitList) {
- tempStr = content.substring(2, content.length() - 2).trim();
- fieldInfoList = getSuitContent(tempStr, "\\{\\$((?!\\{\\$).)+\\$\\}");
- for (String fieldInfo : fieldInfoList) {
- fieldArr = fieldInfo.substring(2, fieldInfo.length() - 2).trim().split(" ");
- if (fieldArr.length != 3) {
- continue;
- }
- if ("date".equalsIgnoreCase(fieldArr[1])) {
- if (queryFilterMap == null || queryFilterMap.isEmpty()) {
- return sql.replaceAll(regexp, "");
- }
- filter = queryFilterMap.get(fieldArr[0]).get(0);
- beginIndex = filter.indexOf("str_to_date('") + "str_to_date('".length();
- startTimeStr = filter.substring(beginIndex, beginIndex + 19);
- beginIndex = filter.lastIndexOf("str_to_date('") + "str_to_date('".length();
- finalTimeStr = filter.substring(beginIndex, beginIndex + 19);
- try {
- timeList = enumTime(dateFormat.parse(startTimeStr), dateFormat.parse(finalTimeStr), fieldArr[2]);
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error("transfer error: " + filter);
- timeList = Lists.newArrayList();
- }
- unpivotInfoContainer.addAll(timeList);
- tempStr = joinSql(timeList, tempStr, fieldInfo);
- } else if ("prompt".equalsIgnoreCase(fieldArr[1])) {
- String promptName = fieldArr[2];
- DataTableEntity dte;
- StringBuilder promptSql = new StringBuilder();
- FieldSetEntity fse;
- if (promptName.startsWith("銆�")) {
- promptSql.append("select dict_label show_value,dict_value real_value from product_sys_dict where is_used=1 and dict_name=?");
- if (queryFilterMap != null && !queryFilterMap.isEmpty() && queryFilterMap.get(fieldArr[0]) != null && !StringUtils.isEmpty(queryFilterMap.get(fieldArr[0]).get(1))) {
- promptSql.append(" and (dict_value").append(queryFilterMap.get(fieldArr[0]).get(1)).append(")");
- }
- dte = baseDao.listTable(promptSql.toString(), new Object[]{promptName.substring(1, promptName.length() - 1)});
- } else {
- fse = baseDao.getFieldSetEntityByFilter("product_sys_prompt", "prompt_name=?", new Object[]{promptName}, false);
- promptSql.append("select ").append(fse.getString("view_fields")).append(" show_value,").append(fse.getString("value_field")).append(" real_value from ").append(fse.getString("source_table"));
- if (!StringUtils.isEmpty(fse.getString("filter"))) {
- promptSql.append(" where (").append(fse.getString("filter")).append(")");
- }
- if (queryFilterMap != null && !queryFilterMap.isEmpty() && queryFilterMap.get(fieldArr[0]) != null && !StringUtils.isEmpty(queryFilterMap.get(fieldArr[0]).get(1))) {
- if (!StringUtils.isEmpty(fse.getString("filter"))) {
- promptSql.append(" and");
- } else {
- promptSql.append(" where");
- }
- promptSql.append(" (").append(fse.getString("value_field")).append(queryFilterMap.get(fieldArr[0]).get(1)).append(")");
- }
- dte = baseDao.listTable(promptSql.toString(), new Object[]{});
- }
- for (int i = 0; i < dte.getRows(); i++) {
- fse = dte.getFieldSetEntity(i);
- unpivotInfoContainer.add(fse.getString("show_value"));
- }
- tempStr = joinSql(dte, tempStr, fieldInfo);
- }
- }
- sql = sql.replace(content, tempStr.contains("{$") ? "" : tempStr);
- }
- return sql;
- }
- private String joinSql(Collection<String> collection, String unpivotContent, String fieldInfo) {
- StringBuilder unpivotSb = new StringBuilder(128);
- for (String singleStr : collection) {
- if (unpivotSb.length() > 0) {
- unpivotSb.append("\n ");
- }
- unpivotSb.append(unpivotContent.replace(fieldInfo, singleStr)).append(" '").append(singleStr).append("'");
- }
- return unpivotSb.toString();
- }
- private String joinSql(DataTableEntity dte, String unpivotContent, String fieldInfo) {
- StringBuilder unpivotSb = new StringBuilder(128);
- for (int i = 0; i < dte.getRows(); i++) {
- FieldSetEntity fse = dte.getFieldSetEntity(i);
- if (unpivotSb.length() > 0) {
- unpivotSb.append("\n ");
- }
- unpivotSb.append(unpivotContent.replace(fieldInfo, fse.getString("real_value"))).append(" '").append(fse.getString("show_value")).append("'");
- }
- return unpivotSb.toString();
- }
-
- /**
- * 鎸夌収鏃堕棿姝ラ暱鏋氫妇鏃堕棿鑼冨洿涔嬪唴鐨勬椂闂�
- * @param startTime
- * @param finalTime
- * @param formatInfo
- * @return
- */
- public static List<String> enumTime(Date startTime, Date finalTime, String formatInfo) {
- Calendar c1 = Calendar.getInstance();
- Calendar c2 = Calendar.getInstance();
- c1.setTime(startTime);
- c2.setTime(finalTime);
- int step = 1;
- String format = formatInfo;
- if (formatInfo.contains("[")) {
- step = Integer.parseInt(formatInfo.substring(formatInfo.indexOf("[") + 1, formatInfo.indexOf("]")));
- format = formatInfo.substring(0, formatInfo.indexOf("["));
- }
- SimpleDateFormat dateFormat = new SimpleDateFormat(format);
- List<String> timeList = Lists.newArrayList();
- if (formatInfo.contains("H")) {
- enumTime(c1, c2, timeList, dateFormat, step, Calendar.HOUR);
- } else if (formatInfo.contains("d")) {
- enumTime(c1, c2, timeList, dateFormat, step, Calendar.DATE);
- } else if (formatInfo.contains("M")) {
- enumTime(c1, c2, timeList, dateFormat, step, Calendar.MONTH);
- } else if (formatInfo.contains("y")) {
- enumTime(c1, c2, timeList, dateFormat, step, Calendar.YEAR);
- }
- return timeList;
- }
- private static void enumTime(Calendar c1, Calendar c2, List<String> timeList, SimpleDateFormat dateFormat, int step, int param) {
- if (c1.compareTo(c2) <= 0) {
- timeList.add(dateFormat.format(c1.getTime()));
- c1.add(param, step);
- enumTime(c1, c2, timeList, dateFormat, step, param);
- }
- }
-
- /**
- * 瀛愭柟娉�-getRecordDte-鍔犺浇鍙傜収
- *
- * @param recordDte
- * @param reportSourceFse
- */
- private void loadPromptData(DataTableEntity recordDte, FieldSetEntity reportSourceFse) {
- if (BaseUtil.dataTableIsEmpty(recordDte)) {
- return;
- }
- DataTableEntity reportDataSourceSubDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_DATASOURCE_FIELD_CONFIG, new String[]{reportSourceFse.getUUID()});
- FieldSetEntity tempFse;
- String fieldName;
- String promptName;
- for (int i = 0; i < reportDataSourceSubDte.getRows(); i++) {
- tempFse = reportDataSourceSubDte.getFieldSetEntity(i);
- promptName = tempFse.getString(CmnConst.FIELD_PROMPT);
- fieldName = tempFse.getString(CmnConst.FIELD_NAME);
- if (StringUtils.isEmpty(promptName) || StringUtils.isEmpty(fieldName)) {
- continue;
- }
- if (promptName.startsWith("銆�")) {
- // 鏅�氬弬鐓�
- promptName = promptName.substring(1, promptName.length() - 1);
- baseDao.copyDictData(recordDte, fieldName, promptName, 0);
- } else {
- // 楂樼骇鍙傜収
- baseDao.copyPromptData(recordDte, fieldName, promptName);
- }
- }
- }
-
-
- /**
- * 鏇挎崲sql涓殑鏉′欢锛屽皢鍏惰浆鎹负鑳藉鐩存帴鎵ц鐨剆ql
- *
- * @param sqlText
- * @param fse
- * @param sort
- * @return
- */
- private String replaceSqlContent(String sqlText, FieldSetEntity fse, StringBuilder sort, FieldSetEntity reportConfigFse, int curPage, String selectedFields, Map<String, List<String>> queryFilterMap) {
- queryFilterMap = queryFilterMap == null ? queryFilterService.getQueryFilterMore(fse) : queryFilterMap;
- // 澶勭悊鎺夎繎鏈熷拰鎵�鏈夌殑杩囨护鏉′欢
- queryFilterMap.remove("query_time");
- selectedFields = StringUtils.isEmpty(selectedFields) ? "*" : selectedFields;
- // 鏇挎崲sql涓殑绯荤粺鍙傛暟
- sqlText = SystemParamReplace.replaceParams(sqlText, fse);
-
- List<String> suitList = getSuitContent(sqlText, CmnConst.REGEXP_ALL_AREA);
- String newContent;
- int signCount = 0;
- Map<String, List<String>> residueQueryFilterMap = Maps.newHashMap();
- queryFilterMap.forEach((k, v) -> {
- residueQueryFilterMap.put(k, v);
- });
- Map<String, String> tempReplaceMap = Maps.newHashMap();
- for (String suitContent : suitList) {
- if (tempReplaceMap.containsKey(suitContent)) {
- continue;
- }
- newContent = spReplaceSqlContent(suitContent, CmnConst.REGEXP_ONLY_VALUE, 0, queryFilterMap, residueQueryFilterMap);
- newContent = spReplaceSqlContent(newContent, CmnConst.REGEXP_EXCEPT_FIELD, 1, queryFilterMap, residueQueryFilterMap);
- newContent = spReplaceSqlContent(newContent, CmnConst.REGEXP_FULL_CONTENT, 2, queryFilterMap, residueQueryFilterMap);
-
- if (!suitContent.equals(newContent)) {
- signCount++;
- }
- for (Map.Entry<String, String> entry : tempReplaceMap.entrySet()) {
- suitContent = suitContent.replace(entry.getKey(), entry.getValue());
- }
- tempReplaceMap.put(suitContent, newContent);
- sqlText = sqlText.replace(suitContent, newContent);
- }
- if ("1".equalsIgnoreCase(reportConfigFse.getString(CmnConst.IS_PAGE))) {
- int pageSize = reportConfigFse.getInteger(CmnConst.PAGE_SIZE) == null ? 20 : reportConfigFse.getInteger(CmnConst.PAGE_SIZE);
- sqlText = sqlText.replace(CmnConst.CONTENT_PAGE_AREA, "limit " + ((curPage - 1) * pageSize) + "," + pageSize);
- }
- // 涓夌洰琛ㄨ揪寮�
- sqlText = replaceTernaryOperator(sqlText);
- // 娓呴櫎宸茬粡澶勭悊鐨勪笁鐩鐨勪腑鎷彿
- suitList = getSuitContent(sqlText, CmnConst.REGEXP_FILTER_AREA);
- for (String suitContent : suitList) {
- newContent = suitContent.substring(2, suitContent.length() - 2);
- if (getSuitContent(newContent, CmnConst.REGEXP_SP_SIGN_AREA).isEmpty()) {
- sqlText = sqlText.replace(suitContent, newContent);
- }
- }
- // 鍓旈櫎寮傚父鍖哄煙
- sqlText = sqlText.replaceAll(CmnConst.REGEXP_FILTER_AREA, "").replaceAll(CmnConst.REGEXP_ALL_TYPE, "null").replaceAll(CmnConst.REGEXP_ALWAYS_TRUE, "").replaceAll("(\\t*\\n){2,}", "\n");
- String queryFilter = "";
- if (signCount > 0) {
- for (Map.Entry<String, List<String>> entry : residueQueryFilterMap.entrySet()) {
- if (CmnConst.SYSTEM_SENIOR_QUERY_STRING.equals(entry.getKey()) || entry.getValue() == null) {
- continue;
- }
- if (!StringUtils.isEmpty(queryFilter)) {
- queryFilter += "and";
- }
- queryFilter += " (" + entry.getValue().get(2) + ") ";
- }
- } else {
- queryFilter = queryFilterMap.isEmpty() || queryFilterMap.size() == 1 ? queryFilterService.getQueryFilter(fse) : queryFilterMap.get(CmnConst.SYSTEM_SENIOR_QUERY_STRING).get(0);
- }
-
- StringBuilder sql = new StringBuilder(1024);
- sql.append("\nselect ").append(selectedFields).append(" from (\n")
- .append(sqlText)
- .append("\n) t");
- if (!StringUtils.isEmpty(queryFilter)) {
- sql.append("\nwhere ").append(queryFilter);
- }
-// if (!StringUtils.isEmpty(sort)) {
-// sql.append("\norder by ").append(sort);
-// }
- return sql.toString();
- }
-
- private String replaceSqlContent(String sqlText, FieldSetEntity fse, StringBuilder sort, FieldSetEntity reportConfigFse, int curPage) {
- return replaceSqlContent(sqlText, fse, sort, reportConfigFse, curPage, null, null);
- }
-
- /**
- * 鐗规畩鏇挎崲sql閲岄潰鐨勫唴瀹�
- *
- * @param suitContent
- * @param regexp
- * @param num
- * @param queryFilterMap
- * @return
- */
- private String spReplaceSqlContent(String suitContent, String regexp, int num, Map<String, List<String>> queryFilterMap, Map<String, List<String>> residueQueryFilterMap) {
- List<String> innerSuitList = getSuitContent(suitContent, regexp);
- String curField;
- String filter;
- String spStatisticsWay;
- String spStatisticsWayValue;
- for (String innerSuitContent : innerSuitList) {
- curField = innerSuitContent.substring(2, innerSuitContent.length() - 2);
- if (curField.contains(" ")) {
- spStatisticsWay = curField.substring(curField.indexOf(" ") + 1, curField.indexOf(":"));
- spStatisticsWayValue = curField.substring(curField.indexOf(":") + 1);
- curField = curField.substring(0, curField.indexOf(" "));
- } else {
- spStatisticsWay = "";
- spStatisticsWayValue = "";
- }
- if (queryFilterMap.get(curField) != null && !queryFilterMap.get(curField).isEmpty()) {
- Map<String, List<String>> tempQueryFilterMap = Maps.newHashMap();
- List<String> tempList;
- for (Map.Entry<String, List<String>> entry : queryFilterMap.entrySet()) {
- tempList = Lists.newArrayList();
- if (entry.getValue() == null) {
- continue;
- }
- tempList.addAll(entry.getValue());
- tempQueryFilterMap.put(entry.getKey(), tempList);
- }
- if ("sp_time_statistics_way".equals(spStatisticsWay)) {
- if ("0".equals(spStatisticsWayValue)) {
- // 鍘诲勾鍚屾湡
- spDealFilterForLastYear(tempQueryFilterMap, queryFilterMap, curField);
- } else if ("1".equals(spStatisticsWayValue)) {
- // 涓婃湡
- spDealFilterForPrePeriod(tempQueryFilterMap, queryFilterMap, curField);
- }
- filter = tempQueryFilterMap.get(curField).get(num);
- suitContent = suitContent.replace(innerSuitContent, filter);
- } else if ("split".equals(spStatisticsWay)) {
- // 鍙槸鎷嗗垎骞舵彁鍙栧尯鍩熺殑鍊硷紝鍙湁鑾峰彇鑼冨洿鐨勫�肩殑鏃跺�欏彲浠ヨ繖鏍锋搷浣�
- List<String> paramList = tempQueryFilterMap.get(curField);
- String[] timeArr = paramList.get(0).split("~");
- suitContent = suitContent.replace(innerSuitContent, timeArr[Integer.parseInt(spStatisticsWayValue)]);
- } else {
- filter = tempQueryFilterMap.get(curField).get(num);
- suitContent = suitContent.replace(innerSuitContent, filter);
- }
- residueQueryFilterMap.remove(curField);
- if (getSuitContent(suitContent, CmnConst.REGEXP_ALL_TYPE).isEmpty() && suitContent.matches(CmnConst.REGEXP_FILTER_AREA)) {
- suitContent = suitContent.substring(2, suitContent.length() - 2);
- }
- }
- }
- return suitContent;
- }
-
- /**
- * 鏇挎崲涓夌洰琛ㄨ揪寮忓唴瀹�
- *
- * @param sqlText
- * @return
- */
- private String replaceTernaryOperator(String sqlText) {
- List<String> suitList = getSuitContent(sqlText, CmnConst.REGEXP_ALL_TERNARY_OPERATOR);
- for (String suitContent : suitList) {
- String singleTernaryOperator = suitContent.substring(2, suitContent.length() - 2);
- String executeContent = singleTernaryOperator.replaceAll(CmnConst.REGEXP_ALL_TYPE, "null");
- Object result;
- String value;
- try {
- result = BaseUtil.executeExpression(executeContent);
- value = result.toString();
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- value = "";
- }
- sqlText = sqlText.replace(suitContent, value);
- }
- return sqlText;
- }
-
- /**
- * 鍘诲勾鍚屾湡
- *
- * @param tempQueryFilterMap
- * @param queryFilterMap
- * @param curFieldName
- */
- private void spDealFilterForLastYear(Map<String, List<String>> tempQueryFilterMap, Map<String, List<String>> queryFilterMap, String curFieldName) {
- List<String> paramList = tempQueryFilterMap.get(curFieldName);
- for (int i = 0; i < paramList.size(); i++) {
- paramList.set(i, paramList.get(i).replace("str_to_date(", "date_add(str_to_date(")
- .replace("'%Y')", "'%Y'),interval -1 year)")
- .replace("'%Y-%m')", "'%Y-%m'),interval -1 year)")
- .replace("'%Y-%m-%d')", "'%Y-%m-%d'),interval -1 year)")
- .replace("'%Y-%m-%d %H')", "'%Y-%m-%d %H'),interval -1 year)")
- .replace("'%Y-%m-%d %H:%i')", "'%Y-%m-%d %H:%i'),interval -1 year)")
- .replace("'%Y-%m-%d %H:%i:%s')", "'%Y-%m-%d %H:%i:%s'),interval -1 year)"));
- }
- tempQueryFilterMap.put(CmnConst.SYSTEM_SENIOR_QUERY_STRING, Collections.singletonList(queryFilterMap.get(CmnConst.SYSTEM_SENIOR_QUERY_STRING).get(0).replace("str_to_date(", "date_add(str_to_date(").replace("'%Y-%m-%d %H:%i:%s')", "'%Y-%m-%d %H:%i:%s'),interval -1 year)")));
- }
-
- /**
- * 涓婃湡
- *
- * @param tempQueryFilterMap
- * @param queryFilterMap
- * @param curFieldName
- */
- private void spDealFilterForPrePeriod(Map<String, List<String>> tempQueryFilterMap, Map<String, List<String>> queryFilterMap, String curFieldName) {
- List<String> paramList = tempQueryFilterMap.get(curFieldName);
- String[] timeArr = paramList.get(0).split("~");
- try {
- String startTime = timeArr[0].trim().substring(13, 13 + 19);
- String finalTime = timeArr[1].trim().substring(13, 13 + 19);
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Calendar c1 = Calendar.getInstance();
- c1.setTime(simpleDateFormat.parse(startTime));
- Calendar c2 = Calendar.getInstance();
- c2.setTime(simpleDateFormat.parse(finalTime));
- long millisecond = c2.getTimeInMillis() - c1.getTimeInMillis();
- Calendar c3 = Calendar.getInstance();
- c3.setTimeInMillis(c1.getTimeInMillis() - millisecond);
- String newFinalTime = startTime;
- String newStartTime = simpleDateFormat.format(c3.getTime());
- for (int i = 0; i < paramList.size(); i++) {
- paramList.set(i, paramList.get(i).replace(startTime, newStartTime).replace(finalTime, newFinalTime));
- }
- tempQueryFilterMap.put(CmnConst.SYSTEM_SENIOR_QUERY_STRING, Collections.singletonList(queryFilterMap.get(CmnConst.SYSTEM_SENIOR_QUERY_STRING).get(0).replace(startTime, newStartTime).replace(finalTime, newFinalTime)));
- } catch (ParseException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * 鑾峰彇鐗规畩鏃堕棿璁$畻绫诲瀷锛屾敞鍏ユ煡璇㈠瓧娈�
- *
- * @param baseFieldSet
- * @param spTimeStatisticsFieldMap
- * @param dataList
- * @return
- */
- private Set<String> getFieldAndSpTimeStatisticsTypeSet(Set<String> baseFieldSet, Map<String, Map<String, JSONObject>> spTimeStatisticsFieldMap, List<JSONObject> dataList) {
- Set<String> spTimeStatisticsTypeSet = Sets.newHashSet();
- JSONObject curFieldObj;
- String fieldName;
- Map<String, JSONObject> spTimeStatisticsFieldInnerMap;
- List<String> suitList;
- for (JSONObject obj : dataList) {
- for (Map.Entry<String, Object> entry : obj.entrySet()) {
- curFieldObj = (JSONObject) entry.getValue();
- fieldName = fieldInfo2FieldName(curFieldObj.getString(CmnConst.ATTR_FIELD_INFO));
- if ("1".equals(curFieldObj.getString(CmnConst.ATTR_IS_CUSTOM_FIELD))) {
- if (!StringUtils.isEmpty(curFieldObj.getString(CmnConst.ATTR_SP_TIME_STATISTICS_WAY)) && !StringUtils.isEmpty(curFieldObj.getString(CmnConst.ATTR_RELATE_TIME_FIELD))
- && !StringUtils.isEmpty(curFieldObj.getString(CmnConst.ATTR_RELATE_COMMON_FIELD))) {
- if (spTimeStatisticsFieldMap.get(curFieldObj.getString(CmnConst.ATTR_SP_TIME_STATISTICS_WAY)) == null) {
- spTimeStatisticsFieldInnerMap = Maps.newHashMap();
- spTimeStatisticsFieldMap.put(curFieldObj.getString(CmnConst.ATTR_SP_TIME_STATISTICS_WAY), spTimeStatisticsFieldInnerMap);
- } else {
- spTimeStatisticsFieldInnerMap = spTimeStatisticsFieldMap.get(curFieldObj.getString(CmnConst.ATTR_SP_TIME_STATISTICS_WAY));
- }
- spTimeStatisticsFieldInnerMap.put(curFieldObj.getString(CmnConst.ATTR_RELATE_COMMON_FIELD), extendJSONObject(null, curFieldObj, Arrays.asList(CmnConst.ATTR_RELATE_TIME_FIELD, CmnConst.ATTR_RELATE_COMMON_FIELD)));
- spTimeStatisticsTypeSet.add(curFieldObj.getString(CmnConst.ATTR_SP_TIME_STATISTICS_WAY));
- } else if (!StringUtils.isEmpty(curFieldObj.getString(CmnConst.ATTR_FORMULA))) {
- // todo
- suitList = getSuitContent(curFieldObj.getString(CmnConst.ATTR_FORMULA), "\\{#((?!\\{).)+#\\}");
- for (String suitContent : suitList) {
- if (suitContent.matches("\\{#custom_field_\\d+#\\}")) {
- continue;
- }
- baseFieldSet.add(fieldInfo2FieldName(suitContent));
- }
- }
- } else {
- baseFieldSet.add(fieldInfo2FieldName(fieldName));
- }
- }
- }
- return spTimeStatisticsTypeSet;
- }
-
- /**
- * 妫�娴嬫暟鎹簮
- *
- * @param recordDte 鏁版嵁婧愰泦鍚�
- * @return
- */
- private JSONObject checkRecordDte(DataTableEntity recordDte) {
- JSONObject resultObj = new JSONObject();
- boolean resultFlag = true;
- if (BaseUtil.dataTableIsEmpty(recordDte)) {
- resultFlag = false;
- resultObj.put(CmnConst.RETURN_ATTR_MESSAGE, "鏁版嵁婧愪负绌猴紒");
- }
- resultObj.put(CmnConst.RETURN_ATTR_RESULT, resultFlag);
- return resultObj;
- }
-
- /**
- * 鑾峰彇鏌ヨ鏉′欢
- *
- * @param reportDatasourceUUID 鎶ヨ〃鏁版嵁婧恥uid
- * @return
- */
- private JSONArray getSearchInfo(String reportDatasourceUUID) {
- DataTableEntity reportSourceFieldDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_DATASOURCE_FIELD_CONFIG, new String[]{reportDatasourceUUID});
- JSONArray resultArray = new JSONArray();
- if (!BaseUtil.dataTableIsEmpty(reportSourceFieldDte)) {
- FieldSetEntity reportSourceFieldFse;
- JSONObject tempObj;
- reportSourceFieldDte.getData().sort(Comparator.comparing(a -> a.getInteger("id")));
- for (int i = 0; i < reportSourceFieldDte.getRows(); i++) {
- reportSourceFieldFse = reportSourceFieldDte.getFieldSetEntity(i);
- if (!StringUtils.isEmpty(reportSourceFieldFse.getString(CmnConst.SEARCH_TYPE)) && !"-1".equals(reportSourceFieldFse.getString(CmnConst.SEARCH_TYPE))) {
- tempObj = new JSONObject();
- resultArray.add(tempObj);
- tempObj.put("field_name", reportSourceFieldFse.getString(CmnConst.FIELD_NAME));
- tempObj.put("temp_id", reportSourceFieldFse.getString(CmnConst.FIELD_NAME));
- tempObj.put("field_show_name", reportSourceFieldFse.getString(CmnConst.FIELD_TEXT));
- tempObj.put("field_type", "date".equals(reportSourceFieldFse.getString(CmnConst.FIELD_FORMAT)) ? "datetime" : ("num".equals(reportSourceFieldFse.getString(CmnConst.FIELD_FORMAT)) ? "number" : reportSourceFieldFse.getString(CmnConst.FIELD_FORMAT)));
- tempObj.put("field_reference", reportSourceFieldFse.getString(CmnConst.FIELD_PROMPT));
- tempObj.put("table_name", reportSourceFieldFse.getString(CmnConst.TABLE_NAME));
- tempObj.put(CmnConst.SEARCH_TYPE, reportSourceFieldFse.getObject(CmnConst.SEARCH_TYPE));
- tempObj.put("is_multiple", "2".equals(reportSourceFieldFse.getString(CmnConst.SEARCH_TYPE)));
- tempObj.put("field_prompt_filter", reportSourceFieldFse.getString("field_prompt_filter"));
- }
- }
- }
- return resultArray;
- }
-
- /**
- * 鑾峰彇榛樿鏌ヨ鏉′欢
- *
- * @param reportDatasourceUUID 鎶ヨ〃鏁版嵁婧恥uid
- * @return
- */
- private DataTableEntity getDefaultSearchFilter(String reportDatasourceUUID) {
- DataTableEntity reportSourceFieldDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_DATASOURCE_FIELD_CONFIG, new String[]{reportDatasourceUUID});
- DataTableEntity dte = new DataTableEntity();
- if (!BaseUtil.dataTableIsEmpty(reportSourceFieldDte)) {
- FieldSetEntity reportSourceFieldFse;
- FieldSetEntity fse;
- for (int i = 0; i < reportSourceFieldDte.getRows(); i++) {
- reportSourceFieldFse = reportSourceFieldDte.getFieldSetEntity(i);
- if (!StringUtils.isEmpty(reportSourceFieldFse.getString(CmnConst.SEARCH_TYPE)) && !"-1".equals(reportSourceFieldFse.getString(CmnConst.SEARCH_TYPE))) {
- fse = new FieldSetEntity();
- fse.setTableName("temp_table");
- fse.setValue("field_name", reportSourceFieldFse.getString(CmnConst.FIELD_NAME));
- fse.setValue("field_show_name", reportSourceFieldFse.getString(CmnConst.FIELD_TEXT));
- fse.setValue("field_type", "date".equals(reportSourceFieldFse.getString(CmnConst.FIELD_FORMAT)) ? "datetime" : ("num".equals(reportSourceFieldFse.getString(CmnConst.FIELD_FORMAT)) ? "number" : reportSourceFieldFse.getString(CmnConst.FIELD_FORMAT)));
- fse.setValue("field_reference", reportSourceFieldFse.getString(CmnConst.FIELD_PROMPT));
- fse.setValue("table_name", reportSourceFieldFse.getString(CmnConst.TABLE_NAME));
- fse.setValue(CmnConst.SEARCH_TYPE, reportSourceFieldFse.getObject(CmnConst.SEARCH_TYPE));
- fse.setValue("is_multiple", "2".equals(reportSourceFieldFse.getString(CmnConst.SEARCH_TYPE)));
- fse.setValue(CmnConst.LOGICAL_OPERATOR, reportSourceFieldFse.getString(CmnConst.LOGICAL_OPERATOR));
- fse.setValue(CmnConst.LOGICAL_VALUE, reportSourceFieldFse.getString(CmnConst.LOGICAL_VALUE));
- dte.addFieldSetEntity(fse);
- }
- }
- }
- return dte;
- }
-
- /**
- * 鍒嗙粍鍖哄拰鏁版嵁鍖虹壒娈婅浆鎹�
- *
- * @param list
- * @return
- */
- public Map<String, JSONObject> groupAndDataJSONObject2Map(List<JSONObject> list) {
- Map<String, JSONObject> map = Maps.newLinkedHashMap();
- for (JSONObject jsonObject : list) {
- for (Map.Entry<String, Object> fieldEntry : jsonObject.entrySet()) {
- map.put(fieldEntry.getKey(), (JSONObject) fieldEntry.getValue());
- }
- }
- return map;
- }
-
- /**
- * 鎶ヨ〃-瑙f瀽-鑾峰彇澶撮儴鎴栬�呭熬閮ㄦ爣棰楬tml
- *
- * @param list 鎶ヨ〃閰嶇疆淇℃伅锛岀紦瀛榣ist
- * @param totalColCount 鎬诲垪鏁�
- * @param headAndTailTitleDataMap 澶撮儴銆佸熬閮ㄦ爣棰樺尯鏁版嵁瀛楁map
- * @param locationType 浣嶇疆绫诲瀷锛宧ead-澶撮儴锛宼ail-灏鹃儴
- * @return
- */
- public StringBuilder getTitleHtml(List<JSONObject> list, int totalColCount, Map<String, Set<String>> headAndTailTitleDataMap, String locationType) {
- StringBuilder html = new StringBuilder(1024);
- int colspan;
- int preRow = 0;
- int preCol = 0;
- int curRow;
- int curCol;
- String value;
- String style;
- for (JSONObject singleObj : list) {
- curRow = singleObj.getIntValue(CmnConst.ATTR_Y);
- curCol = singleObj.getIntValue(CmnConst.ATTR_X);
- colspan = singleObj.getIntValue(CmnConst.ATTR_COLSPAN);
- colspan = colspan < 0 ? totalColCount : Math.max(1, colspan);
- value = replaceFormDataAndSysData(singleObj.getString(CmnConst.ATTR_SHOW_NAME), headAndTailTitleDataMap, singleObj);
- value = value == null ? "" : value;
- if ("1".equals(singleObj.getString(CmnConst.ATTR_IS_TITLE))) {
- style = " class=\"" + CmnConst.CLASS_TR_REPORT_TITLE + "\"";
- } else {
- if ("head".equals(locationType)) {
- style = " class=\"" + CmnConst.CLASS_TR_HEAD + "\"";
- } else {
- style = " class=\"" + CmnConst.CLASS_TR_TAIL + "\"";
- }
- }
- if (preRow < curRow) {
- if (preRow == 0) {
- html.append("\n<tr ");
- } else {
- html.append(getAimNumTdPlaceholder(totalColCount - preCol, 1));
- html.append("\n</tr>\n<tr ");
- }
- html.append(style).append(">\n ");
- if (preRow == 0 && preCol == 0 && preCol < curCol - 1) {
- html.append(getAimNumTdPlaceholder(curCol - preCol - 1, 1));
- }
- preCol = curCol;
- }
- if (preCol < curCol - 1) {
- html.append(getAimNumTdPlaceholder(curCol - preCol - 1, 1));
- }
- if ("1".equals(singleObj.getString(CmnConst.ATTR_IS_TITLE))) {
- colspan = totalColCount;
- }
- html.append("<td colspan=\"").append(colspan).append("\">").append(value).append("</td>");
- preRow = curRow;
- preCol = curCol + singleObj.getIntValue(CmnConst.ATTR_COLSPAN) - 1;
- if ("1".equals(singleObj.getString(CmnConst.ATTR_IS_TITLE))) {
- preCol = totalColCount;
- }
- }
- if (html.length() > 5) {
- html.delete(html.length() - 5, html.length());
- }
- html.append(getAimNumTdPlaceholder(totalColCount - preCol, 1));
- html.append("\n</tr>");
- return html;
- }
-
- /**
- * 鑾峰彇鎸囧畾鏁版嵁闆嗕腑鍖呭惈鐨勬暟鎹尯瀛楁闆嗗悎
- *
- * @param list 鎸囧畾鏁版嵁闆嗗悎
- * @return
- */
- public Set<String> getDataFields(List<JSONObject> list) {
- Set<String> set = Sets.newLinkedHashSet();
- if (list == null) {
- return set;
- }
- String fieldInfo;
- List<String> suitList;
- for (JSONObject tempObj : list) {
- fieldInfo = tempObj.getString(CmnConst.ATTR_FIELD_INFO);
- suitList = getSuitContent(fieldInfo, CmnConst.REGEXP_FORM_FIELD);
- if (!suitList.isEmpty()) {
- for (String singleFieldInfo : suitList) {
- set.add(fieldInfo2FieldName(singleFieldInfo));
- }
- }
- }
- return set;
- }
-
- /**
- * 鑾峰彇缁熻map鐨剉alue
- *
- * @param valueJsonObject 鍊紀bj
- * @param dataAreaFieldConfigObj 鏁版嵁鍖哄瓧娈电紦瀛榦bj
- * @param actualValue 瀹為檯鍊�
- * @param type 缁熻绫诲瀷
- * @param lastStageFlag 鏄惁鏈骇锛堟暟鎹尯鍒嗙粍瀛楁鏈骇鍜屽垎缁勮〃澶村尯瀛楁閮芥槸鏈骇鎵嶄负鏈骇锛�
- * @return
- */
- public JSONObject getStatisticsValueObj(JSONObject valueJsonObject, JSONObject dataAreaFieldConfigObj, String actualValue, String type, boolean lastStageFlag) {
- if (valueJsonObject == null) {
- valueJsonObject = new JSONObject();
- }
- if (actualValue.matches(CmnConst.REGEXP_NUMBER)) {
- BigDecimal curValue = new BigDecimal(actualValue);
- if (CmnConst.ATTR_STATISTICS_SUM.equals(type) || CmnConst.ATTR_STATISTICS_AVG.equals(type)) {
- valueJsonObject.put(CmnConst.ATTR_STATISTICS_SUM, valueJsonObject.getBigDecimal(CmnConst.ATTR_STATISTICS_SUM) != null ? valueJsonObject.getBigDecimal(CmnConst.ATTR_STATISTICS_SUM).add(curValue) : curValue);
- }
- if (CmnConst.ATTR_STATISTICS_MAX.equals(type)) {
- valueJsonObject.put(CmnConst.ATTR_STATISTICS_MAX, valueJsonObject.getBigDecimal(CmnConst.ATTR_STATISTICS_MAX) != null && valueJsonObject.getBigDecimal(CmnConst.ATTR_STATISTICS_MAX).compareTo(curValue) > 0 ? valueJsonObject.getBigDecimal(CmnConst.ATTR_STATISTICS_MAX) : curValue);
- }
- if (CmnConst.ATTR_STATISTICS_MIN.equals(type)) {
- valueJsonObject.put(CmnConst.ATTR_STATISTICS_MIN, valueJsonObject.getBigDecimal(CmnConst.ATTR_STATISTICS_MIN) != null && valueJsonObject.getBigDecimal(CmnConst.ATTR_STATISTICS_MIN).compareTo(curValue) < 0 ? valueJsonObject.getBigDecimal(CmnConst.ATTR_STATISTICS_MIN) : curValue);
- }
- if (CmnConst.ATTR_STATISTICS_DEFAULT.equals(type)) {
- valueJsonObject.put(CmnConst.ATTR_STATISTICS_DEFAULT, valueJsonObject.getBigDecimal(CmnConst.ATTR_STATISTICS_SUM) != null ? valueJsonObject.getBigDecimal(CmnConst.ATTR_STATISTICS_SUM).add(curValue) : curValue);
- }
- }
- if (CmnConst.ATTR_STATISTICS_CNT.equals(type) || CmnConst.ATTR_STATISTICS_AVG.equals(type)) {
- valueJsonObject.put(CmnConst.ATTR_STATISTICS_CNT, valueJsonObject.getIntValue(CmnConst.ATTR_STATISTICS_CNT) + 1);
- }
- if (CmnConst.ATTR_STATISTICS_ENUM.equals(type) && !StringUtils.isEmpty(actualValue)) {
- String preEnumValue = valueJsonObject.get(CmnConst.ATTR_STATISTICS_ENUM) == null ? "" : valueJsonObject.getString(CmnConst.ATTR_STATISTICS_ENUM);
- if ("1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_ENUM_TYPE))) {
- if (!checkContain(preEnumValue, actualValue)) {
- valueJsonObject.put(CmnConst.ATTR_STATISTICS_ENUM, StringUtils.isEmpty(preEnumValue) ? actualValue : preEnumValue + "," + actualValue);
- }
- } else {
- valueJsonObject.put(CmnConst.ATTR_STATISTICS_ENUM, StringUtils.isEmpty(preEnumValue) ? actualValue : preEnumValue + "," + actualValue);
- }
- }
- getAvgValue(valueJsonObject, dataAreaFieldConfigObj, lastStageFlag);
- return valueJsonObject;
- }
-
- /**
- * 璁$畻骞冲潎鍊�
- *
- * @param valueJsonObject 鍊紀bj
- * @param dataAreaFieldConfigObj 鏁版嵁鍖哄瓧娈电紦瀛榦bj
- * @param lastStageFlag 鏈骇瀛楁鏍囪瘑
- * @return
- */
- public void getAvgValue(JSONObject valueJsonObject, JSONObject dataAreaFieldConfigObj, boolean lastStageFlag) {
- if (CmnConst.ATTR_STATISTICS_AVG.equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_STATISTICS))) {
- Double cnt = valueJsonObject.getDoubleValue(CmnConst.ATTR_STATISTICS_CNT);
- if (!lastStageFlag && "1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_AVG_TYPE))) {
- cnt = valueJsonObject.getDoubleValue(CmnConst.ATTR_STATISTICS_SUB_CNT);
- }
- valueJsonObject.put(CmnConst.ATTR_STATISTICS_AVG, valueJsonObject.getDoubleValue(CmnConst.ATTR_STATISTICS_SUM) / (cnt == 0 ? 1 : cnt));
- }
- }
-
- /**
- * 鑾峰彇澶撮儴銆佸熬閮ㄦ爣棰樻暟鎹瓧娈�
- *
- * @param headAndTailTitleDataMap
- * @param set
- * @param recordFse
- */
- public void getHeadAndTailTitleDataMap(Map<String, Set<String>> headAndTailTitleDataMap, Set<String> set, FieldSetEntity recordFse) {
- for (String fieldName : set) {
- headAndTailTitleDataMap.computeIfAbsent(fieldName, k -> Sets.newLinkedHashSet()).add(recordFse.getString(fieldName));
- }
- }
-
- /**
- * 鑾峰彇鍊�
- *
- * @param dataAreaFieldConfigObj
- * @param recordFse
- * @param dataAreaFieldName
- * @return
- */
- public String getValue(JSONObject dataAreaFieldConfigObj, FieldSetEntity recordFse, String dataAreaFieldName) {
- String value = null;
-
- if (CmnConst.ATTR_DATA_TYPE_DATE.equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_DATA_TYPE))) {
- String dateFormat = dataAreaFieldConfigObj.getString(CmnConst.ATTR_DATE_FORMAT);
- if (!StringUtils.isEmpty(dateFormat)) {
- value = recordFse.getDate(dataAreaFieldName, dateFormat);
- }
- } else {
- if ("1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_CUSTOM_FIELD))) {
- // 鑷畾涔夊瓧娈�
- if (!StringUtils.isEmpty(dataAreaFieldConfigObj.getString(CmnConst.ATTR_FORMULA))) {
- // 鏇挎崲绯荤粺鍙傛暟
- value = SystemParamReplace.systemParamsReplace(dataAreaFieldConfigObj.getString(CmnConst.ATTR_FORMULA));
- // 鏇挎崲琛ㄥ崟鍙傛暟锛屼娇鐢╠ouble杩涜璁$畻
- value = SystemParamReplace.formParamsReplace(value, recordFse, 1);
- // 鍘婚櫎鏈浣跨敤鐨勫弬鏁�
- value = value.replaceAll("\\/\\{#[\\w]+#}", "/1").replaceAll("\\{#[\\w]+#}", "0");
- // 姹傚��
- try {
- value = BaseUtil.executeExpression(value, Maps.newHashMap()).toString();
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- value = "";
- }
- } else {
- if (!StringUtils.isEmpty(dataAreaFieldConfigObj.getString(CmnConst.ATTR_SP_TIME_STATISTICS_WAY))) {
- value = recordFse.getString(fieldInfo2FieldName(getFieldInfo(dataAreaFieldConfigObj)));
- }
- }
- } else {
- // 鏅�氬瓧娈�+鍒嗙粍瀛楁
- value = recordFse.getString(dataAreaFieldName);
- }
- }
- return StringUtils.isEmpty(value) ? "" : value;
- }
-
- /**
- * 鑾峰彇瀛楁淇℃伅
- *
- * @param dataAreaFieldConfigObj
- * @return
- */
- private String getFieldInfo(JSONObject dataAreaFieldConfigObj) {
- if ("1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_CUSTOM_FIELD))) {
- // 鑷畾涔夊瓧娈�
- if (!StringUtils.isEmpty(dataAreaFieldConfigObj.getString(CmnConst.ATTR_SP_TIME_STATISTICS_WAY))) {
- // 鐗规畩鏃堕棿璁$畻瀛楁
- if ("0".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_SP_TIME_STATISTICS_WAY))) {
- // 鍘诲勾鍚屾湡
- return fieldName2FieldInfo(CmnConst.ATTR_HEAD_LAST_YEAR + fieldInfo2FieldName(dataAreaFieldConfigObj.getString(CmnConst.ATTR_RELATE_COMMON_FIELD)));
- } else if ("1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_SP_TIME_STATISTICS_WAY))) {
- // 涓婃湡
- return fieldName2FieldInfo(CmnConst.ATTR_HEAD_PRE_PERIOD + fieldInfo2FieldName(dataAreaFieldConfigObj.getString(CmnConst.ATTR_RELATE_COMMON_FIELD)));
- }
- }
- }
- // 鏅�氬瓧娈�
- return dataAreaFieldConfigObj.getString(CmnConst.ATTR_FIELD_INFO);
- }
-
- /**
- * 鏍煎紡鍖栨暟鎹�
- *
- * @param dataAreaFieldConfigObj 鏁版嵁鍖哄瓧娈电紦瀛榦bj
- * @param value 鏁版嵁鍊�
- * @return
- */
- public String formatValue(JSONObject dataAreaFieldConfigObj, String value) {
- if (StringUtils.isEmpty(value)) {
- return value;
- }
- if (CmnConst.ATTR_DATA_TYPE_NUM.equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_DATA_TYPE))) {
- int decimalDigits = dataAreaFieldConfigObj.getIntValue(CmnConst.ATTR_DECIMAL_DIGITS);
- String numFormat = dataAreaFieldConfigObj.getString(CmnConst.ATTR_NUM_FORMAT);
- StringBuilder numFormatSb = new StringBuilder(32);
- StringBuilder valueSb = new StringBuilder(32);
- String[] tempValueArr = value.split("\\\\");
- for (String singleValue : tempValueArr) {
- if (StringUtils.isEmpty(singleValue)) {
- continue;
- }
- if (valueSb.length() > 0) {
- valueSb.append("\\");
- }
- numFormatSb.setLength(0);
- if ("1".equals(numFormat)) {
- // 鍗冨垎浣�
- numFormatSb.append("%1$,.").append(decimalDigits).append("f");
- singleValue = String.format(numFormatSb.toString(), Double.parseDouble(singleValue));
- } else if ("2".equals(numFormat)) {
- // 鐧惧垎姣�
- numFormatSb.append("0.");
- for (int i = 0; i < decimalDigits; i++) {
- numFormatSb.append("0");
- }
- numFormatSb.append("%");
- singleValue = new DecimalFormat(numFormatSb.toString()).format(Double.parseDouble(singleValue));
- } else {
- numFormatSb.append("%1$.").append(decimalDigits).append("f");
- singleValue = String.format(numFormatSb.toString(), Double.parseDouble(singleValue));
- }
- valueSb.append(singleValue);
- }
- value = valueSb.toString();
- }
- return value;
- }
-
- /**
- * 澶勭悊鎸囧畾鍗曞厓鏍肩殑鍥哄畾瀹藉害
- *
- * @param dataAreaFieldConfigObj
- * @param value
- * @return
- */
- public String dealTdWidth(JSONObject dataAreaFieldConfigObj, String value) {
- StringBuilder dealedValueSb = new StringBuilder(64);
- dealedValueSb.append("<div");
- String width = dataAreaFieldConfigObj == null ? null : dataAreaFieldConfigObj.getString(CmnConst.ATTR_WIDTH);
- if (!StringUtils.isEmpty(width)) {
- dealedValueSb.append(" style=\"width:").append(width).append("px\"");
- }
- dealedValueSb.append(">").append(value).append("</div>");
- return dealedValueSb.toString();
- }
-
- /**
- * 鑾峰彇td鐨勫睘鎬�
- *
- * @param obj 瀛楁缂撳瓨obj銆佹暟鎹爣棰榦bj銆佸垎缁勬爣棰榦bj
- * @param collection 灞炴�ч泦鍚�
- * @param type 1-鎺ユ敹鐨勫睘鎬э紝鍏朵粬锛堥�氬父涓�-1锛�-鎺掗櫎鐨勫睘鎬�
- * @return
- */
- public StringBuilder getTdAttrByObj(JSONObject obj, Collection<String> collection, int type) {
- StringBuilder attrSb = new StringBuilder(32);
- if (!obj.isEmpty()) {
- String key;
- String value;
- Object objValue;
- if (!StringUtils.isEmpty(obj.getString(CmnConst.ATTR_URL))) {
- for (Map.Entry<String, Object> entry : obj.entrySet()) {
- key = entry.getKey();
- objValue = entry.getValue();
- value = objValue == null ? "" : objValue.toString();
- if (collection != null) {
- for (String singleAttrName : collection) {
- if ((type == 1 && key.equals(singleAttrName)) || (type != 1 && !key.equals(singleAttrName))) {
- getTdAttrByObjPart(key, value, attrSb);
- }
- }
- } else {
- getTdAttrByObjPart(key, value, attrSb);
- }
- }
- }
- }
- return attrSb;
- }
-
- private void getTdAttrByObjPart(String key, String value, StringBuilder attrSb) {
- if (CmnConst.ATTR_FIELD_INFO.equals(key)) {
- value = fieldInfo2FieldName(value);
- }
- if (CmnConst.ATTR_URL.equals(key)) {
- attrSb.append(" router=\"").append(value).append("\"");
- } else {
- attrSb.append(" ").append(key).append("=\"").append(value).append("\"");
- }
- }
-
- public StringBuilder getTdAttrByObj(JSONObject obj, Collection<String> collection) {
- return getTdAttrByObj(obj, collection, 1);
- }
-
- public StringBuilder getTdAttrByObj(JSONObject obj) {
- return getTdAttrByObj(obj, null);
- }
-
- /**
- * 澶勭悊td灞炴�bj涓殑鐪熷疄鍊�
- *
- * @param baseObj
- * @param dealObj
- */
- public void getTdAttrObj(JSONObject baseObj, JSONObject dealObj) {
- Object obj = dealObj.get(CmnConst.ATTR_REAL_VALUE);
- if (obj != null) {
- JSONObject realValueObj = (JSONObject) obj;
- realValueObj.forEach((k, v) -> {
- if (baseObj.get(k) != null) {
- baseObj.put(k, v);
- }
- });
- }
- }
-
- /**
- * 鏇挎崲琛ㄥ崟鍙傛暟鍜岀郴缁熷彉閲�
- *
- * @param str 甯﹀鐞嗙殑瀛楃涓�
- * @param headAndTailTitleDataMap 澶撮儴銆佸熬閮ㄦ爣棰樺瓧娈垫暟鎹甿ap
- * @param singleObj
- * @return
- */
- public String replaceFormDataAndSysData(String str, Map<String, Set<String>> headAndTailTitleDataMap, JSONObject singleObj) {
- if (StringUtils.isEmpty(str)) {
- return "";
- }
- String reuslt = SystemParamReplace.systemParamsReplace(str);
- reuslt = reuslt.replaceAll(CmnConst.REGEXP_SYS_FIELD, "");
- if (!headAndTailTitleDataMap.isEmpty()) {
- List<String> suitList = getSuitContent(reuslt, CmnConst.REGEXP_FORM_FIELD);
- String dataType = singleObj.getString(CmnConst.ATTR_DATA_TYPE);
- int decimalDigits;
- String formatStr = null;
- List<JSONObject> formatList = Lists.newArrayList();
- boolean dateFormatFlag = false;
- boolean numFormatFlag = false;
- int numDealType = -1;
- JSONObject tempObj;
- if (StringUtils.isEmpty(dataType)) {
- dataType = CmnConst.ATTR_DATA_TYPE_STRING;
- } else {
- String[] dataTypeArr = dataType.split(",");
- for (String singleDataType : dataTypeArr) {
- if (StringUtils.isEmpty(singleDataType)) {
- continue;
- }
- tempObj = new JSONObject();
- tempObj.put(CmnConst.ATTR_DATA_TYPE, singleDataType);
- formatList.add(tempObj);
- if (CmnConst.ATTR_DATA_TYPE_DATE.equals(singleDataType)) {
- if (!dateFormatFlag) {
- dateFormatFlag = true;
- formatStr = singleObj.getString(CmnConst.ATTR_DATE_FORMAT);
- }
- tempObj.put("format", formatStr);
- } else if (CmnConst.ATTR_DATA_TYPE_NUM.equals(singleDataType)) {
- if (!numFormatFlag) {
- numFormatFlag = true;
- decimalDigits = singleObj.getIntValue(CmnConst.ATTR_DECIMAL_DIGITS);
- String numFormat = singleObj.getString(CmnConst.ATTR_NUM_FORMAT);
- StringBuilder numFormatSb = new StringBuilder(32);
- if ("1".equals(numFormat)) {
- // 鍗冨垎浣�
- numFormatSb.append("%1$,.").append(decimalDigits).append("f");
- numDealType = 1;
- } else if ("2".equals(numFormat)) {
- // 鐧惧垎姣�
- numFormatSb.append("0.");
- for (int i = 0; i < decimalDigits; i++) {
- numFormatSb.append("0");
- }
- numFormatSb.append("%");
- numDealType = 2;
- } else {
- numFormatSb.append("%1$.").append(decimalDigits).append("f");
- numDealType = 1;
- }
- formatStr = numFormatSb.toString();
- }
- tempObj.put("format", formatStr);
- }
- }
- }
-
- StringBuilder value = new StringBuilder(128);
- String singleFieldInfo;
- for (int i = 0; i < suitList.size(); i++) {
- singleFieldInfo = suitList.get(i);
- value.setLength(0);
- if (formatList.size() > i) {
- tempObj = formatList.get(i);
- if (CmnConst.ATTR_DATA_TYPE_STRING.equals(tempObj.getString(CmnConst.ATTR_DATA_TYPE))) {
- reuslt = reuslt.replace(singleFieldInfo, SetUtils.set2String(headAndTailTitleDataMap.get(fieldInfo2FieldName(singleFieldInfo)), ","));
- } else {
- for (String singleValue : headAndTailTitleDataMap.get(fieldInfo2FieldName(singleFieldInfo))) {
- if (value.length() > 0) {
- value.append(",");
- }
- if (CmnConst.ATTR_DATA_TYPE_NUM.equals(tempObj.getString(CmnConst.ATTR_DATA_TYPE))) {
- if (numDealType == 1) {
- value.append(String.format(tempObj.getString("format"), Double.parseDouble(singleValue)));
- } else if (numDealType == 2) {
- value.append(new DecimalFormat(tempObj.getString("format")).format(Double.parseDouble(singleValue)));
- }
- } else if (CmnConst.ATTR_DATA_TYPE_DATE.equals(tempObj.getString(CmnConst.ATTR_DATA_TYPE))) {
- SimpleDateFormat restoreDataFormat = new SimpleDateFormat(CmnConst.FULL_DATE_FORMAT);
- try {
- Date date = restoreDataFormat.parse(singleValue);
- value.append(new SimpleDateFormat(tempObj.getString("format")).format(date));
- } catch (ParseException e) {
- logger.error(ReportCode.DATE_TRANSFER_FIAL.getText() + ": " + singleValue, e);
- }
- }
- }
- reuslt = reuslt.replace(singleFieldInfo, value);
- }
- } else {
- reuslt = reuslt.replace(singleFieldInfo, SetUtils.set2String(headAndTailTitleDataMap.get(fieldInfo2FieldName(singleFieldInfo)), ","));
- }
-
- }
- }
- reuslt = reuslt.replaceAll(CmnConst.REGEXP_FORM_FIELD, "");
- return reuslt;
- }
-
- /*==========================宸ュ叿鏂规硶-start==========================*/
-
- /**
- * 姣旇緝v1锛寁2鐨勫ぇ灏忥紝鑻ユ槸涓烘暟瀛楋紝鍒欐寜鐓ф暟瀛楃殑鏂瑰紡杩涜姣旇緝
- *
- * @param v1
- * @param v2
- * @return
- */
- public int compare(String v1, String v2) {
- BigDecimal b1;
- BigDecimal b2;
- int d1 = StringUtils.isEmpty(v1) ? -1 : 1;
- int d2 = StringUtils.isEmpty(v2) ? -1 : 1;
- int diffValue = Integer.compare(d1, d2);
- if (diffValue == 0 && d1 != -1) {
- if (v1.matches(CmnConst.REGEXP_NUMBER) && v2.matches(CmnConst.REGEXP_NUMBER)) {
- b1 = new BigDecimal(v1);
- b2 = new BigDecimal(v2);
- diffValue = b1.compareTo(b2);
- } else {
- diffValue = v1.compareTo(v2);
- }
- }
- return diffValue;
- }
-
- /**
- * 鏍规嵁姝e垯杩斿洖绗﹀悎鏉′欢鐨勫唴瀹�
- *
- * @param str 瀛楃涓�
- * @param regexp 姝e垯琛ㄨ揪寮�
- * @param exceptKey 鎺掗櫎鍏抽敭瀛楋紙鍚湁璇ュ叧閿瓧鐨勫唴瀹逛笉鍋氬鐞嗭級
- * @return
- */
- public List<String> getSuitContent(String str, String regexp, String exceptKey) {
- List<String> list = Lists.newArrayList();
- if (StringUtils.isEmpty(str)) {
- return list;
- }
- Pattern pattern = Pattern.compile(regexp);
- Matcher matcher = pattern.matcher(str);
- String curContent;
- while (matcher.find()) {
- curContent = matcher.group();
- if (!StringUtils.isEmpty(exceptKey) && curContent.contains(exceptKey)) {
- continue;
- }
- list.add(curContent);
- }
- return list;
- }
-
- public List<String> getSuitContent(String str, String regexp) {
- return getSuitContent(str, regexp, "");
- }
-
- /**
- * 鑾峰彇鎸囧畾涓暟鐨則d鍗犱綅
- *
- * @param num
- * @return
- */
- public String getAimNumTdPlaceholder(int num, int type) {
- StringBuilder result = new StringBuilder(64);
- if (num <= 0) {
- return result.toString();
- }
- if (type == 0) {
- for (int i = 0; i < num; i++) {
- result.append("<td></td>");
- }
- } else {
- result.append("<td colspan=\"").append(num).append("\"></td>");
- }
- return result.toString();
- }
-
- /**
- * 瀛楁淇℃伅杞寲涓哄瓧娈靛悕绉�
- *
- * @param fieldInfo 瀛楁淇℃伅
- * @return
- */
- public String fieldInfo2FieldName(String fieldInfo) {
- if (StringUtils.isEmpty(fieldInfo)) {
- return "";
- }
- return fieldInfo.replace("{#", "").replace("#}", "");
- }
-
- /**
- * 瀛楁鍚嶇О杞寲涓哄瓧娈典俊鎭�
- *
- * @param fieldName 瀛楁鍚嶇О
- * @return
- */
- public String fieldName2FieldInfo(String fieldName) {
- return "{#" + fieldName + "#}";
- }
-
- /**
- * 绫诲瀷杞寲涓簂ist
- *
- * @param o
- * @return
- */
- public List<String> transfer2List(Object o) {
- return o == null ? Lists.newArrayList() : (List<String>) o;
- }
-
- /**
- * 娴呭厠闅�-JSONObect-鎸囧畾鍏冪礌
- *
- * @param aimObj 鐩爣
- * @param sourceObj 婧�
- * @param aimAttr 鐩爣灞炴��
- * @param type 绫诲瀷锛�1-鑾峰彇鐩爣灞炴�э紝鍏朵粬-鎺掗櫎鐩爣灞炴��
- * @return
- */
- public JSONObject extendJSONObject(JSONObject aimObj, JSONObject sourceObj, Collection<String> aimAttr, int type) {
- if (aimObj == null) {
- aimObj = new JSONObject();
- }
- if (aimAttr == null) {
- for (Map.Entry<String, Object> entry : sourceObj.entrySet()) {
- aimObj.put(entry.getKey(), entry.getValue());
- }
- } else {
- if (type == 1) {
- for (String singleAttr : aimAttr) {
- aimObj.put(singleAttr, sourceObj.get(singleAttr));
- }
- } else {
- for (Map.Entry<String, Object> entry : sourceObj.entrySet()) {
- if (aimAttr.contains(entry.getKey())) {
- continue;
- }
- aimObj.put(entry.getKey(), entry.getValue());
- }
- }
- }
- return aimObj;
- }
-
- public JSONObject extendJSONObject(JSONObject aimObj, JSONObject sourceObj, Collection<String> aimAttr) {
- return extendJSONObject(aimObj, sourceObj, aimAttr, 1);
- }
-
- /**
- * 妫�娴嬪瓧绗︿覆鏄惁鍖呭惈妫�娴嬪��
- *
- * @param str 寰呮娴嬬殑瀛楃涓�
- * @param checkValue 妫�娴嬪��
- * @param sign 鍒嗗壊鏍囪瘑
- * @return
- */
- public boolean checkContain(String str, String checkValue, String sign) {
- if (StringUtils.isEmpty(str) || StringUtils.isEmpty(checkValue)) {
- return false;
- }
- return (sign + str + sign).contains(sign + checkValue + sign);
- }
-
- public boolean checkContain(String str, String checkValue) {
- return checkContain(str, checkValue, ",");
- }
-
- /**
- * 鎷兼帴
- *
- * @param obj
- * @param attr
- * @return
- */
- public String concat(JSONObject obj, String attr) {
- return new StringBuilder(512).append(obj).append("_").append(attr).toString();
- }
-
- /**
- * 鑾峰彇鐪熷疄鍊硷紙鏁版嵁搴撲繚瀛樼殑鍊硷級锛屼富瑕佹槸閽堝浣跨敤浜嗗弬鐓х殑鍊�
- *
- * @param recordFse
- * @param fieldName
- * @return
- */
- public String getRealValue(FieldSetEntity recordFse, String fieldName) {
- String tail = "_save_value";
- return recordFse.getString(fieldName + tail);
- }
- /*==========================宸ュ叿鏂规硶-final==========================*/
-
- /*==========================闈欐�佸唴瀹�-start==========================*/
-
- /**
- * 鑾峰彇鎶ヨ〃css
- *
- * @return
- */
- public StringBuilder getCssHtml() {
- StringBuilder cssHtml = new StringBuilder(512);
- cssHtml.append("\n<style rel=\"stylesheet\" type=\"text/css\"> ");
- cssHtml.append("\n table { ");
- cssHtml.append("\n margin: 0 auto; ");
- cssHtml.append("\n } ");
- cssHtml.append("\n tr, td { ");
- cssHtml.append("\n text-align: center; ");
- cssHtml.append("\n } ");
- cssHtml.append("\n .data_title td, .data_common td, .data_statistics td { ");
- cssHtml.append("\n border: 1px black solid; ");
- cssHtml.append("\n } ");
- cssHtml.append("\n .report_title {background-color: #fde8e8} ");
- cssHtml.append("\n .head {background-color: #fbeed5} ");
- cssHtml.append("\n .data_title {background-color: #f0fbd5} ");
- cssHtml.append("\n .data_statistics {background-color: #d5f6fb} ");
- cssHtml.append("\n .data_common {background-color: #e8d5fb} ");
- cssHtml.append("\n .tail {background-color: #fad5fb} ");
- cssHtml.append("\n .can_turn {cursor: pointer;color: blue} ");
- cssHtml.append("\n</style> ");
- return cssHtml;
- }
-
- /**
- * 鏍规嵁缁熻绫诲瀷鍜屽�艰繑鍥炵粺璁″瓧娈垫弿杩�
- *
- * @param type 缁熻绫诲瀷
- * @param value 鍊�
- * @return
- */
- public String getStatisticsDesc(String type, String value) {
- if (CmnConst.ATTR_STATISTICS_SUM.equals(type)) {
- value += "(鍚堣)";
- }
- if (CmnConst.ATTR_STATISTICS_MAX.equals(type)) {
- value += "(宄板��)";
- }
- if (CmnConst.ATTR_STATISTICS_MIN.equals(type)) {
- value += "(璋峰��)";
- }
- if (CmnConst.ATTR_STATISTICS_CNT.equals(type)) {
- value += "(璁℃暟)";
- }
- if (CmnConst.ATTR_STATISTICS_AVG.equals(type)) {
- value += "(骞冲潎)";
- }
- if (CmnConst.ATTR_STATISTICS_ENUM.equals(type)) {
- value += "(鏋氫妇)";
- }
- return value;
- }
- /*==========================闈欐�佸唴瀹�-final==========================*/
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/EChartsReportConfigServiceimple.java b/product-server-report_v2/src/main/java/com/product/server/report/service/EChartsReportConfigServiceimple.java
deleted file mode 100644
index 6e92f0e..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/EChartsReportConfigServiceimple.java
+++ /dev/null
@@ -1,309 +0,0 @@
-package com.product.server.report.service;
-
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.product.core.dao.BaseDao;
-import com.product.core.dao.support.Dao;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.exception.BaseException;
-import com.product.core.service.support.AbstractBaseService;
-import com.product.core.spring.context.SpringMVCContextHolder;
-import com.product.core.transfer.Transactional;
-import com.product.server.report.controller.TestDao;
-import com.product.server.report.service.idel.EChartsReportConfigService;
-@Service
-public class EChartsReportConfigServiceimple extends AbstractBaseService implements EChartsReportConfigService {
- @Autowired
- public BaseDao baseDao;
- public BaseDao getBaseDao() {
- return baseDao;
- }
- public void setBaseDao(BaseDao baseDao) {
- this.baseDao = baseDao;
- }
- @Override
- @Transactional
- public JSONObject getSqlTableInfo(String sql) throws BaseException{
- DataTableEntity dataTableEntity = TestDao.getColumnNames(sql);
- JSONArray jsonArray = new JSONArray();
- for (int i = 0; i < dataTableEntity.getRows(); i++) {
- JSONObject fObject = new JSONObject();
- fObject.put("field_name",dataTableEntity.getFieldSetEntity(i).getString("field_name"));
- fObject.put("field_type",dataTableEntity.getFieldSetEntity(i).getString("field_type"));
- jsonArray.add(fObject);
- }
- JSONObject object = new JSONObject();
- object.put("sqlfield", jsonArray);
- return object;
- }
-
- @Override
- public JSONObject getNameTableInfo(String name) throws BaseException {
- //鑾峰彇琛ㄤ俊鎭�
- FieldSetEntity fSetEntity = baseDao.getFieldSetEntityByFilter("product_sys_datamodel_table", "table_name=?",new String[] {name}, false);
- String tableuuid = fSetEntity.getString("uuid");
- //鑾峰彇瀛楁淇℃伅
- DataTableEntity dTableEntity = baseDao.listTable("product_sys_datamodel_field", "table_uuid = ?",new String[] {tableuuid});
- //鏌ヨ鏄惁鏈夊瓙琛�
- DataTableEntity subTableEntity = baseDao.listTable("product_sys_datamodel_field", "field_relation_table = ?",new String[] {fSetEntity.getString("uuid")});
- JSONObject jsonObject = new JSONObject();
-
- if (subTableEntity.getRows() > 0) {
- JSONArray subJsonArray = new JSONArray();
- for (int i = 0; i < subTableEntity.getRows(); i++) {
- JSONObject subJsonObject = new JSONObject();
- //瀛愯〃uuid
- String table_uuid = subTableEntity.getFieldSetEntity(i).getString("table_uuid");
- //瀛愯〃琛ㄥ悕
- FieldSetEntity sub_table = baseDao.getFieldSetEntityByFilter("product_sys_datamodel_table", "uuid = ?",new String[] {table_uuid}, false);
- //瀛樻斁瀛愯〃淇℃伅
- subJsonObject.put("sub_table_uuid", sub_table.getString("uuid"));
- subJsonObject.put("sub_table_name", sub_table.getString("table_name"));
- subJsonObject.put("sub_table_description", sub_table.getString("table_description"));
- //瀛愯〃瀛楁淇℃伅
- DataTableEntity subDataEntity = baseDao.listTable("product_sys_datamodel_field", "table_uuid = ?",new String[] {table_uuid});
- //鍒涘缓鏁扮粍瀛樺瓧娈靛悕
- JSONArray jsonArray = new JSONArray();
- //瀛樻斁瀛愯〃瀛楁
- for (int j = 0; j < subDataEntity.getRows(); j++) {
- FieldSetEntity subFieldEntity = subDataEntity.getFieldSetEntity(j);
- String sub_field_uuid = subFieldEntity.getString("uuid");
- String sub_field_name = subFieldEntity.getString("field_name");
- String sub_field_description = subFieldEntity.getString("field_description");
- String sub_field_type = subFieldEntity.getString("field_type");
- JSONObject sub_field_json = new JSONObject();
- sub_field_json.put("sub_field_uuid", sub_field_uuid);
- sub_field_json.put("sub_field_name", sub_field_name);
- sub_field_json.put("sub_field_description", sub_field_description);
- sub_field_json.put("sub_field_type", sub_field_type);
- jsonArray.add(sub_field_json);
- }
- //瀛愯〃瀛楁淇℃伅json
- subJsonObject.put("sub_table_field", jsonArray);
- subJsonArray.add(subJsonObject);
- }
- jsonObject.put("subTable", subJsonArray);
- }
- jsonObject.put("table_name", fSetEntity.getString("table_name"));//琛ㄥ悕
- jsonObject.put("table_description", fSetEntity.getString("table_description"));//鎻忚堪
- //鍒涘缓鏁扮粍瀛樺瓧娈靛悕
- JSONArray jsonArray = new JSONArray();
- for (int i = 0; i < dTableEntity.getRows(); i++) {
- FieldSetEntity fEntity = dTableEntity.getFieldSetEntity(i);
- JSONObject object = new JSONObject();
- object.put("field_name", fEntity.getString("field_name"));
- object.put("field_uuid", fEntity.getString("uuid"));
- object.put("field_description", fEntity.getString("field_description"));
- object.put("field_type", fEntity.getString("field_type"));
- jsonArray.add(object);
- }
- jsonObject.put("table_field", jsonArray);
- jsonObject.put("table_uuid",tableuuid);
- System.out.println(jsonObject.toString());
- return jsonObject;
- }
- @Override
- @Transactional
- public boolean addTableInfo(JSONObject reportInfo) throws BaseException {
- FieldSetEntity fieldSetEntity = new FieldSetEntity();
- fieldSetEntity.setTableName("product_sys_reoprt_config");
- System.out.print(reportInfo);
- String report_head_title_left = (String)reportInfo.get("report_head_title_left");//澶撮儴鎶ヨ〃鏍囬鈥斿乏
- String report_head_title_center = (String)reportInfo.get("report_head_title_center");//澶撮儴鎶ヨ〃鏍囬鈥斾腑
- String report_head_title_right = (String)reportInfo.get("report_head_title_right");//澶撮儴鎶ヨ〃鏍囬-鍙�
-
- String report_tail_title_left = (String)reportInfo.get("report_tail_title_left");//灏鹃儴鎶ヨ〃鏍囬鈥斿乏
- String report_tail_title_center = (String)reportInfo.get("report_tail_title_center");//灏鹃儴鎶ヨ〃鏍囬鈥斾腑
- String report_tail_title_right = (String)reportInfo.get("report_tail_title_right");//灏鹃儴鎶ヨ〃鏍囬-鍙�
-
- String report_name = (String)reportInfo.get("report_name");//鎶ヨ〃鍚嶇О
- String report_type = (String)reportInfo.get("report_type");//鎶ヨ〃绫诲瀷
- String report_table_name = (String)reportInfo.get("report_table_name"); //鏁版嵁琛ㄥ悕绉�
- String report_data_filter = (String)reportInfo.get("report_data_filter");//鏌ヨ鏉′欢
- String report_data_sql = (String)reportInfo.get("report_data_sql");//鎶ヨ〃鏁版嵁婧愶紝鐩存帴鍐檚ql(涓嶈兘鏈夋帓搴�)
- String fix_header = (String)reportInfo.get("fix_header");//鏄惁鍥哄畾琛ㄥご
- String last_total = (String)reportInfo.get("last_total");//鏄惁鏈�鍚庢�昏
- String is_page = (String)reportInfo.get("is_page");//鏄惁鍒嗛〉
- String page_size = (String)reportInfo.get("page_size");//姣忛〉鏉℃暟
- String title_back_css = (String)reportInfo.get("title_back_css");//鏍囬鏍峰紡*
- String body_back_css = (String)reportInfo.get("body_back_css");//琛ㄦ牸涓讳綋鏍峰紡*
- String total_row_css = (String)reportInfo.get("total_row_css");//姹囨�昏鏍峰紡
- String orderby = (String)reportInfo.get("orderby");//鎺掑簭*
- String report_data_width = (String)reportInfo.get("report_data_width");//鎶ヨ〃闀垮害
- JSONArray map = (JSONArray)((JSONObject)reportInfo.get("map")).get("elements");//閫変腑瀛楁map
- JSONArray headerMap = (JSONArray)((JSONObject)reportInfo.get("headerMap")).get("elements");//琛ㄥごmap
- String report_uuid = (String)reportInfo.get("report_uuid");//鎶ヨ〃uuid
- System.out.println(map);
- System.out.println(headerMap);
- fieldSetEntity.setValue("report_head_title_left", report_head_title_left);
- fieldSetEntity.setValue("report_head_title_center", report_head_title_center);
- fieldSetEntity.setValue("report_head_title_right", report_head_title_right);
-
- fieldSetEntity.setValue("report_tail_title_left",report_tail_title_left);
- fieldSetEntity.setValue("report_tail_title_center",report_tail_title_center);
- fieldSetEntity.setValue("report_tail_title_right",report_tail_title_right);
-
- fieldSetEntity.setValue("report_name", report_name);
- fieldSetEntity.setValue("report_type", report_type);
- fieldSetEntity.setValue("report_table_name", report_table_name);
- fieldSetEntity.setValue("report_data_filter", report_data_filter);
- fieldSetEntity.setValue("report_data_sql", report_data_sql);
- fieldSetEntity.setValue("fix_header", fix_header);//鏄惁鍥哄畾琛ㄥご
- fieldSetEntity.setValue("last_total", last_total);//鏄惁鏈�鍚庢�昏
- fieldSetEntity.setValue("is_page", is_page);//鏄惁鍒嗛〉
- fieldSetEntity.setValue("page_size", page_size);//鍒嗛〉瀛楁
- fieldSetEntity.setValue("title_back_css", title_back_css);//鏍囬鏍峰紡
- fieldSetEntity.setValue("body_back_css", body_back_css);//琛ㄦ牸涓讳綋鏍峰紡
- fieldSetEntity.setValue("total_row_css", total_row_css);//浼氭�昏鏍峰紡
- fieldSetEntity.setValue("orderby", orderby);//鎺掑簭
- fieldSetEntity.setValue("report_data_width",report_data_width);
- if(report_uuid.isEmpty()){
- report_uuid = baseDao.add(fieldSetEntity);
- }else {
- fieldSetEntity.setValue("uuid",report_uuid);
- baseDao.update(fieldSetEntity);
- }
- baseDao.delete("product_sys_report_header_properties", "report_uuid=?",new String[] {report_uuid});
- baseDao.delete("product_sys_report_field_properties","report_uuid = ?",new String[] {report_uuid});
- //琛ㄥご閰嶇疆琛�
- //PRODUCT_SYS_reoprt_config_header
- JSONObject header = (JSONObject)headerMap.get(0);
- JSONArray headerArray = (JSONArray)header.get("value");
- //DataTableEntity dataTableEntity = new DataTableEntity();
- if(headerArray != null){
- for(int i=0;i<headerArray.size();++i){
- JSONArray array = (JSONArray) headerArray.get(i);
- for(int k=0;k<array.size();++k){
- JSONObject obj = (JSONObject) array.get(k);
- FieldSetEntity fieldInfo = new FieldSetEntity();
- fieldInfo.setTableName("product_sys_report_header_properties");
- fieldInfo.setValue("header_index", obj.getString("header_index")+"-"+i);//涓嬫爣
- fieldInfo.setValue("header_colspan", obj.getString("header_colspan"));//璺ㄥ垪
- fieldInfo.setValue("header_rowspan", obj.getString("header_rowspan"));//璺ㄨ
- fieldInfo.setValue("header_name", obj.getString("header_value"));//琛ㄥご閲岄潰鐨勫��
- fieldInfo.setValue("report_uuid",report_uuid);//鏀緐uid
- baseDao.add(fieldInfo);
- }
- }
- }
- String crtime = transitionDate(new Date());//鍒涘缓鏃堕棿
- //瀛楁灞炴�ц〃
- //PRODUCT_SYS_report_field_properties
- if(map != null){
- for(int i=0;i<map.size();++i){
- JSONObject fieldArray = (JSONObject)map.get(i);
- if(fieldArray.get("value") != "isnull"){
- FieldSetEntity fieldInfo = new FieldSetEntity();
- fieldInfo.setTableName("product_sys_report_field_properties");
- fieldInfo.setValue("report_uuid", report_uuid);//閰嶇疆琛╱uid
- JSONObject value = (JSONObject)fieldArray.get("value");
- fieldInfo.setValue("table_field_uuid", value.getString("fieldUuid"));//瀛楁琛╱uid 鍙负绌�
- fieldInfo.setValue("table_field_name", value.getString("fieldName"));//瀛楁鍚�
- fieldInfo.setValue("table_field_description",value.getString("Description"));//瀛楁涓枃鍚�(鍙缃�)
- fieldInfo.setValue("table_field_type", value.getString("fieldType"));//瀛楁绫诲瀷
- fieldInfo.setValue("group_total_type", value.getString("fieldGroupAll")); //鍒嗙粍缁熻:Sum/arg/count(瀛楃)鍒嗙粍瀛楁涓嶈兘閰�
- fieldInfo.setValue("order_number",value.getInteger("fieldOrder"));//鍒嗙粍缁熻鎺掑垪搴忓彿
- fieldInfo.setValue("table_field_description",value.getString("fieldDescription"));
- fieldInfo.setValue("end_total_type",value.getString("endTotalType"));//鏈�鍚庡悎璁�:Sum/arg/count(瀛楃),鍒嗙粍瀛楁涓嶈兘閰�
- fieldInfo.setValue("is_group_field",value.getString("fieldGroup")); //0.琛ㄧず鍚� 1.琛ㄧず鏄� (鍒嗙粍瀛楁蹇呴』鎺掓渶鍓嶉潰)
- fieldInfo.setValue("data_format",value.getString("fieldFormat")); //鏁版嵁鏍煎紡:##.##銆亂yyy-mm-dd...
- fieldInfo.setValue("show_width",value.getInteger("fieldRatio")); //瀹藉害姣斾緥,鎵�鏈夊瓧娈碉紝涓嶈兘瓒�100
- fieldInfo.setValue("url",value.getString("fieldSite"));//绌块�忓湴鍧�
- fieldInfo.setValue("created_by",SpringMVCContextHolder.getCurrentUser().getUser_account());//鍒涘缓浜� 鑾峰彇褰撳墠鐢ㄦ埛鍚�
- fieldInfo.setValue("created_utc_datetime", crtime);//鍒涘缓鏃堕棿
- baseDao.add(fieldInfo);
- }
- }
- }
- return true;
- }
- @Override
- public JSONObject getReportInfo(String report_uuid) throws BaseException {
- FieldSetEntity fieldSetEntity = baseDao.getFieldSetEntity("product_sys_reoprt_config", report_uuid, false);
- JSONObject report = new JSONObject();
- report.put("report_head_title_left", fieldSetEntity.getString("report_head_title_left"));//琛ㄥご淇℃伅锛屾樉绀哄乏杈�
- report.put("report_head_title_center", fieldSetEntity.getString("report_head_title_center"));//琛ㄥご淇℃伅涓棿鏄剧ず
- report.put("report_head_title_right", fieldSetEntity.getString("report_head_title_right"));//琛ㄥご淇℃伅鍙宠竟鏄剧ず
- report.put("report_tail_title_left", fieldSetEntity.getString("report_tail_title_left"));//琛ㄥ熬淇℃伅宸﹁竟鏄剧ず
- report.put("report_tail_title_center", fieldSetEntity.getString("report_tail_title_center"));//琛ㄥ熬淇℃伅涓棿鏄剧ず
- report.put("report_tail_title_right", fieldSetEntity.getString("report_tail_title_right"));//琛ㄥ熬淇℃伅鍙宠竟鏄剧ず
- report.put("report_name", fieldSetEntity.getString("report_name"));//鎶ヨ〃鍚嶇О
- report.put("report_type", fieldSetEntity.getString("report_type"));//鎶ヨ〃绫诲瀷:1鍒嗙粍鎶�2浜ゅ弶鎶ヨ〃3楗肩姸鍥�4鏌卞.5鏇茬嚎
- report.put("report_table_name", fieldSetEntity.getString("report_table_name"));//鏁版嵁婧愶紝瀵瑰簲琛╱uid
- report.put("report_data_filter", fieldSetEntity.getString("report_data_filter"));//鏁版嵁婧愯繃婊ゆ潯浠讹紝鏀寔鍔ㄦ�佸弬鏁�
- report.put("report_data_sql", fieldSetEntity.getString("report_data_sql"));//鎶ヨ〃鏁版嵁婧愶紝鐩存帴鍐檚ql(涓嶈兘鏈夋帓搴�)
- report.put("fix_header", fieldSetEntity.getString("fix_header"));//鏄惁鍥哄畾琛ㄥご
- report.put("last_total", fieldSetEntity.getString("last_total"));//0.琛ㄧず鍚� 1.琛ㄧず鏄� 鏈�鍚庢�昏
- report.put("is_page", fieldSetEntity.getString("is_page"));//鏄惁瑕佸垎椤�
- report.put("page_size", fieldSetEntity.getString("page_size"));//姣忛〉鏉℃暟
- report.put("title_back_css", fieldSetEntity.getString("title_back_css"));//鏍囬鏍峰紡
- report.put("body_back_css", fieldSetEntity.getString("body_back_css"));//琛ㄦ牸涓讳綋鏍峰紡
- report.put("total_row_css", fieldSetEntity.getString("total_row_css"));//浼氭�昏鏍峰紡鏍煎紡
- report.put("orderby", fieldSetEntity.getString("orderby"));//鎺掑簭
- report.put("report_data_width", fieldSetEntity.getString("report_data_width"));//鎶ヨ〃瀹藉害
- //鑾峰彇瀛楁淇℃伅
- DataTableEntity data = baseDao.listTable("product_sys_report_field_properties", "report_uuid='"+report_uuid+"'", "order_number");
- JSONObject fieldInfo = new JSONObject();
-// if(fieldSetEntity.getString("report_name") != null && !fieldSetEntity.getString("report_name").isEmpty()){
-// fieldInfo = this.getNameTableInfo(fieldSetEntity.getString("report_table_name"));
-// }else if(fieldSetEntity.getString("report_data_sql") != null && !fieldSetEntity.getString("report_data_sql").isEmpty()){
-// fieldInfo = getSqlTableInfo(fieldSetEntity.getString("report_data_sql"));
-// }
- if(data != null){
- JSONArray valueArray = new JSONArray();
- for(int i=0;i<data.getRows();++i){
- FieldSetEntity field = data.getFieldSetEntity(i);
- JSONObject value = new JSONObject();
- value.put("uuid", field.getString("uuid"));//瀛楁uuid
- value.put("report_uuid", field.getString("report_uuid"));//閰嶇疆琛╱uid
- value.put("fieldUuid",field.getString("table_field_uuid"));//瀛楁琛╱uid 鍙负绌�
- value.put("fieldName", field.getString("table_field_name"));//瀛楁鍚�
- value.put("Description",field.getString("table_field_description"));//瀛楁涓枃鍚�(鍙缃�)
- value.put("fieldType", field.getString("table_field_type"));//瀛楁绫诲瀷
- value.put("fieldGroupAll", field.getString("group_total_type")); //鍒嗙粍缁熻:Sum/arg/count(瀛楃)鍒嗙粍瀛楁涓嶈兘閰�
- value.put("fieldOrder",field.getString("order_number")); //鍒嗙粍缁熻鎺掑垪搴忓彿
- value.put("fieldDescription",field.getString("table_field_description"));
- value.put("endTotalType",field.getString("end_total_type"));//鏈�鍚庡悎璁�:鏄垨鍚�,鍒嗙粍瀛楁涓嶈兘閰�
- value.put("fieldGroup",field.getString("is_group_field")); //0.琛ㄧず鍚� 1.琛ㄧず鏄� (鍒嗙粍瀛楁蹇呴』鎺掓渶鍓嶉潰)
- value.put("fieldFormat",field.getString("data_format")); //鏁版嵁鏍煎紡:##.##銆亂yyy-mm-dd...
- value.put("fieldRatio",field.getString("show_width")); //瀹藉害姣斾緥,鎵�鏈夊瓧娈碉紝涓嶈兘瓒�100
- value.put("fieldSite",field.getString("url"));//绌块�忓湴鍧�
- valueArray.add(value);
- }
- report.put("table_field", valueArray);
- }
- //鑾峰彇琛ㄥご
- DataTableEntity header = baseDao.listTable("product_sys_report_header_properties", "report_uuid='"+report_uuid+"'");
- if(header != null){
- JSONArray headerArray = new JSONArray();
- for(int i=0;i<header.getRows();++i){
- FieldSetEntity field = header.getFieldSetEntity(i);
- JSONObject value = new JSONObject();
- value.put("header_index", field.getString("header_index"));//涓嬫爣
- value.put("header_colspan", field.getString("header_colspan"));//璺ㄥ垪
- value.put("header_rowspan", field.getString("header_rowspan"));//璺ㄨ
- value.put("report_uuid", field.getString("report_uuid"));//鎶ヨ〃uuid
- value.put("header_name", field.getString("header_name"));//琛ㄥご閲岄潰鐨勫��
- headerArray.add(value);
- }
- report.put("headerArray", headerArray);
- }
- return report;
- }
-
- // 鏃堕棿澶勭悊涓哄瓧绗︿覆
- public String transitionDate(Date date) {
- // yyyy琛ㄧず骞存暟锛孧M琛ㄧず鏈堬紝dd琛ㄧず鏃�
- // HH琛ㄧず24灏忔椂鍒剁殑灏忔椂(hh琛ㄧず12灏忔椂鐨勫皬鏃�)锛宮m琛ㄧず鍒嗛挓锛宻s琛ㄧず绉掞紝SSS琛ㄧず姣
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- return sdf.format(date);
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/GenerateEChartService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/GenerateEChartService.java
deleted file mode 100644
index 813c664..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/GenerateEChartService.java
+++ /dev/null
@@ -1,746 +0,0 @@
-package com.product.server.report.service;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.google.common.collect.Lists;
-import com.product.admin.service.CodeService;
-import com.product.common.collect.ListUtils;
-import com.product.common.lang.StringUtils;
-import com.product.core.cache.DataPoolCacheImpl;
-import com.product.core.dao.BaseDao;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.exception.BaseException;
-import com.product.core.service.support.AbstractBaseService;
-import com.product.core.service.support.QueryFilterService;
-import com.product.core.spring.context.SpringMVCContextHolder;
-import com.product.core.transfer.Transactional;
-import com.product.server.report.config.CmnConst;
-import com.product.server.report.config.ReportCode;
-import com.product.server.report.service.idel.IGenerateEChartService;
-import com.product.util.BaseUtil;
-import com.product.util.SystemParamReplace;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-/**
- * @author : lx
- * @Description: 鍥捐〃Echart灏佽
- * @date :
- */
-@Component
-public class GenerateEChartService extends AbstractBaseService implements IGenerateEChartService{
-
- @Autowired
- public BaseDao baseDao;
- public BaseDao getBaseDao() {
- return baseDao;
- }
- public void setBaseDao(BaseDao baseDao) {
- this.baseDao = baseDao;
- }
-
- @Autowired
- CodeService codeService;
- @Autowired
- public DataListReportService dataListReportService;
- @Autowired
- QueryFilterService queryFilterService;
- @Override
- public JSONArray generatePieEChartMaster(FieldSetEntity fse) throws BaseException {
- String uuid = fse.getString(CmnConst.UUID);
- //鏌ヨ鎶ヨ〃閰嶇疆琛� .PRODUCT_SYS_report_config_attribute瀛愯〃
- FieldSetEntity configField = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_CONFIG, uuid,false);
- //鏌ヨ鐢诲竷琛�
- DataTableEntity chartsDataTable = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_CHARTS," report_config_uuid = ? ", new String[]{uuid});
- if(!BaseUtil.dataTableIsEmpty(chartsDataTable)) {
- JSONArray array = new JSONArray();
- for (int i = 0; i < chartsDataTable.getRows(); i++) {
- FieldSetEntity fieldSetEntity = chartsDataTable.getFieldSetEntity(i);
- array.add(this.generatePieEChart(fieldSetEntity));
- }
- return array;
- }else {
- throw new BaseException(ReportCode.GET_CHART_NULL_FAIL.getValue(), ReportCode.GET_CHART_NULL_FAIL.getText(), this.getClass(), "generatePieEChartMaster");
- }
- }
-
- /**
- * 鍗曚釜鍥惧舰鎶ヨ〃
- * 閫氳繃閰嶇疆琛ㄨ幏鍙栧叧鑱旂殑灞炴�ц〃鍜屽睘鎬у�艰〃锛屽啀閫掑綊鎷兼帴鍑轰笂绾у睘鎬ц繑鍥炶嚦椤甸潰銆�
- * @param fse 閰嶇疆鍥捐〃
- * @return
- */
- @Override
- public JSONObject generatePieEChart(FieldSetEntity fse) throws BaseException {
-
- //鏁版嵁婧恥uid
- String report_datasource_uuid = fse.getString(CmnConst.REPORT_DATASOURCE_UUID);
- //绫诲瀷uuid
- String report_type_config_uuid = fse.getString(CmnConst.REPORT_TYPE_CONFIG_UUID);
- if(BaseUtil.strIsNull(report_datasource_uuid) || BaseUtil.strIsNull(report_type_config_uuid)){
- return BaseUtil.fieldSetEntityToJson(fse);
- }
- //鏌ヨ绫诲瀷琛�
- FieldSetEntity typeField = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG, report_type_config_uuid,false);
-
- //鑾峰彇閰嶇疆鎶ヨ〃鏁版嵁婧恉ata鏁版嵁琛� .PRODUCT_SYS_report_datasource_config瀛愯〃
- FieldSetEntity datasourceField = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG,report_datasource_uuid,true);
- //鑾峰彇鏌ヨ鐨勬暟鎹畇ql
- String sql_text = datasourceField.getString(CmnConst.SQL_TEXT);
- //瑙f瀽SQL閲岄潰鐨勭郴缁熷弬鏁�
- sql_text = SystemParamReplace.systemParamsReplace(sql_text);
- String type_group = typeField.getString(CmnConst.TYPE_GROUP);
-
- //涓哄叧绯诲浘
- if("relationCharts".equals(type_group)){
- JSONObject obj = this.chooseRelationship(sql_text);
- String typeGroup = typeField.getString(CmnConst.TYPE_GROUP);
- JSONObject object = new JSONObject();
- object.put(CmnConst.TYPE_GROUP,typeGroup);
- object.put(CmnConst.OPTION,obj);
-// object.put("function",this.functionArray(uuid));
- return object;
- }
- DataTableEntity valueData = baseDao.listTable(sql_text,new Object[]{});
- //鑾峰彇鎶ヨ〃閰嶇疆灞炴�ц〃 鍔爀charts閰嶇疆灞炴��
- //鍙兘鏌ヨ鍒板叧鑱斿睘鎬у�肩殑灞炴�ц〃锛屽鏋滅埗绾у睘鎬т笅鏈夊涓浉鍚屽瓙灞炴�с�傞�氳繃grouping鍒嗙粍銆�
- DataTableEntity attributeData = baseDao.listTable("SELECT a.field_name,a.report_type_attr_value,a.uuid,a.grouping ,b.* FROM product_sys_report_config_attribute a LEFT JOIN product_sys_report_type_attribute b on a.report_type_attr = b.uuid WHERE a.report_config_uuid = ? ORDER BY a.grouping,b.parentAttributeUuid " ,new Object[]{fse.getString(CmnConst.UUID)});
- JSONObject allProperties = new JSONObject();
- if(attributeData.getRows() > 0){
- JSONObject propertyObject = new JSONObject();
- String parenUuid1 = attributeData.getString(0,"parentAttributeUuid");
- String grouping1 = attributeData.getString(0,"grouping");
- for (int i = 0,length = attributeData.getRows(); i < length; i++) {
- FieldSetEntity fieldSet = attributeData.getFieldSetEntity(i);
- //涓婄骇uuid
- String parenUuid2 = fieldSet.getString("parentAttributeUuid");
- //涓婄骇name
- String parenName = fieldSet.getString("parentAttributeName");
- //鍥捐〃灞炴�у��
- String attr_value = fieldSet.getString("report_type_attr_value");
- //涓虹┖浼犻粯璁ゅ��
- if(BaseUtil.strIsNull(attr_value)){
- attr_value = fieldSet.getString("default_value");
- }
- //鍥捐〃灞�
- String attribute_name = fieldSet.getString("attribute_name");
- //閫氳繃鏁版嵁搴撴彃鍏ユ暟鎹�
- String fieldName = fieldSet.getString(CmnConst.FIELD_NAME);
- //閫氳繃鏁版嵁搴撴彃鍏ユ暟鎹�
- String grouping2 = fieldSet.getString("grouping");
- //鏅�氬睘鎬ч兘鏈変笂绾у睘鎬э紝 鐗规畩鐨勯鑹查鏍煎睘鎬ф棤涓婄骇灞炴�э紝鏈韩灏辨槸椤剁骇灞炴�с��
- if(!BaseUtil.strIsNull(parenUuid2)) {
- //涔嬪墠涓婄骇uuid涓虹┖
- if(BaseUtil.strIsNull(parenUuid1)) {
- parenUuid1 = parenUuid2;
- //鏈変笉鍚岀殑灞炴�э紝鍏堟妸涔嬪墠鍚屾牱鐨勫睘鎬у皝瑁呫��
- }else if (!BaseUtil.strIsNull(parenUuid1) && !parenUuid2.equals(parenUuid1)) {
- //灏佽涔嬪墠鐨刯son鏁版嵁
- this.getAllProperties(parenUuid1, propertyObject, allProperties);
- parenUuid1 = parenUuid2;
- } else if ((parenUuid2.equals(parenUuid1) && !BaseUtil.strIsNull(grouping2))) {
- if (!grouping2.equals(grouping1)) {
- this.getAllProperties(parenUuid1, propertyObject, allProperties);
- }
- }
- }else{
- //涓婄骇灞炴�т负option锛岃鏄庝粬涓烘渶澶у睘鎬ф病鏈変笂绾� 鐩存帴娣诲姞杩沘llProperties
- if("option".equals(parenName)){
- allProperties.put(attribute_name,changeDataFormat(attr_value)[0]);
- continue;
- }
- }
- grouping1 = grouping2;
- //楗肩姸鍥炬彃鍏ユ暟鎹悓灞炰竴涓埗鍏冪礌 澶氫釜鍏冪礌鍜屽搴旂殑鏁版嵁闇�鍏ㄩ儴鎵惧嚭鏉ヤ竴璧峰皝瑁卝son
- if(!BaseUtil.strIsNull(fieldName)){
- String parentAttributeName = fieldSet.getString("parentAttributeName");
- //涓嬬骇涓哄璞¤繕鏄暟缁�
- String type = fieldSet.getString("subordinateElementType");
- List<String> keys = ListUtils.newArrayList();
- List<String> keys2 = ListUtils.newArrayList();
- keys.add(fieldName);
- keys2.add(attribute_name);
- //涓烘渶鍚庝竴浣�
- while (i < length-1) {
- FieldSetEntity fieldSet2 = attributeData.getFieldSetEntity(i+1);
- String parenUuid3 = fieldSet2.getString("parentAttributeUuid");
- String fieldName3 = fieldSet2.getString(CmnConst.FIELD_NAME);
- if(parenUuid2.equals(parenUuid3) && !BaseUtil.strIsNull(fieldName3)){
- keys.add(fieldName3);
- keys2.add(fieldSet2.getString("attribute_name"));
- }else {
- break;
- }
- i++;
- }
- if("1".equals(type)) {
- propertyObject.put(keys2.get(0), this.attributesAndValues(valueData, keys, keys2, type));
- }else {
- propertyObject.put(parentAttributeName, this.attributesAndValues(valueData, keys, keys2, type));
- }
- }else {
- propertyObject.put(attribute_name,changeDataFormat(attr_value)[0]);
- }
- if(i == (length - 1)){
- //灏佽鏈�鍚庝竴缁勬暟鎹�
- this.getAllProperties(parenUuid1,propertyObject,allProperties);
- }
- }
- }
- JSONObject s=new JSONObject();
- //鍥捐〃杈硅窛
-// s.put("bottom",30);
-// s.put("left",30);
-// s.put("right",0);
-// allProperties.put("grid",s);
- String typeGroup = typeField.getString(CmnConst.TYPE_GROUP);
- JSONObject object = BaseUtil.fieldSetEntityToJson(fse);
- object.put(CmnConst.TYPE,typeGroup);
- object.put(CmnConst.OPTION,allProperties);
-// object.put("function",this.functionArray(uuid));
- return object;
- }
-
- /**
- * 鑾峰彇涓婄骇鏁版嵁骞堕�掑綊鎷艰涓婄骇灞炴��
- * @param superiorUuid 涓婄骇uuid
- * @param obj
- * @return
- * @throws BaseException
- */
- @Override
- public void getAllProperties(String superiorUuid,JSONObject obj,JSONObject allProperties) throws BaseException {
- FieldSetEntity fieldSet = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE,superiorUuid,false);
- String attribute_name = fieldSet.getString("attribute_name");
- JSONObject superiorObj = new JSONObject();
- JSONArray objSubArray = obj.getJSONArray(attribute_name);
- //纭畾浠栫殑瀛愬睘鎬ф椂(1)array 杩樻槸(0)object
-// if(objSubArray == null){
- if ("1".equals(fieldSet.getString("subordinateElementType"))) {
- JSONArray array = new JSONArray();
- array.add(obj);
- superiorObj.put(attribute_name, array);
- } else {
- superiorObj.put(attribute_name, obj);
- }
-// }else if(objSubArray != null){
-// superiorObj = obj;
-// }
- //涓婄骇灞炴�ame
- superiorUuid = fieldSet.getString("parentAttributeUuid");
- //涓婄骇鍚嶇О
- String parentAttributeName = fieldSet.getString("parentAttributeName");
- //濡傛灉鐖跺厓绱爑uid涓虹┖
- if(BaseUtil.strIsNull(superiorUuid)){
- JSONArray allSubProperties = allProperties.getJSONArray(attribute_name);
- if(allSubProperties != null){
- JSONObject subObj = JSONObject.parseObject(obj.toJSONString());
- if(allSubProperties.size() > 0){
- //鏄墿鍏呭綋鍓嶅瓙鍏冪礌 杩樻槸鍚岀骇鏂板涓�涓瓙鍏冪礌
- Boolean is_extend = true;
- JSONObject subPropertiesJSONObject = allSubProperties.getJSONObject(0);
- //break bak1 缁撴潫浜嗘墍鏈夊惊鐜�
- bak1:
- for (String key1 : subPropertiesJSONObject.keySet()) {
- for (String key2 : subObj.keySet()) {
- if(key1.equals(key2)){
- is_extend = false;
- break bak1;
- }
- }
- }
- //姣忎釜鍏冪礌閮戒笉涓�鏍�
- if(is_extend){
- for (String key :subObj.keySet()) {
- subPropertiesJSONObject.put(key, subObj.get(key));
- }
- obj.clear();
- return;
- }
- }
- allSubProperties.add(subObj);
- obj.clear();
- return;
- }
- //鍏嬮殕json
- JSONObject copy;
- Object o = superiorObj.get(attribute_name);
- if(o instanceof JSONArray){
- JSONArray oar = (JSONArray) o;
- JSONArray arr = JSONObject.parseArray(oar.toJSONString());
- allProperties.put(attribute_name,arr);
- }else {
- copy = JSONObject.parseObject(superiorObj.toJSONString());
- allProperties.put(attribute_name,copy.getJSONObject(attribute_name));
- }
- }else {
- //鏌ヨ鏈夋棤鍚岀埗绫荤殑鍏冪礌
- Object o = allProperties.get(parentAttributeName);
- if(o == null){
- Object a = superiorObj.get(attribute_name);
- JSONObject newObj = JSONObject.parseObject(superiorObj.toJSONString());
- if(a != null) {
- if(a instanceof JSONArray) {
- JSONArray array = (JSONArray)a;
- if (array != null && array.size() == 1) {
- JSONObject object = array.getJSONObject(0);
- JSONArray aa = object.getJSONArray(attribute_name);
- if (aa != null) {
- newObj = JSONObject.parseObject(object.toJSONString());
- }
- }
- }
- }
- this.getAllProperties(superiorUuid,newObj,allProperties);
- }else {
- JSONObject currentProperty = null;
- if(o instanceof JSONArray) {
- JSONArray arrays = (JSONArray)o;
- currentProperty = arrays.getJSONObject(arrays.size()-1);
- } else if(o instanceof JSONObject) {
- currentProperty = (JSONObject)o;
- }
- if(currentProperty != null){
- Object o2 = superiorObj.get(attribute_name);
- if(o2 instanceof JSONArray){
- JSONArray oar = (JSONArray) o2;
- JSONObject subObj = oar.getJSONObject(oar.size()-1);
- JSONArray subArray = subObj.getJSONArray(attribute_name);
- JSONArray arr = new JSONArray();
- if(subArray != null){
- arr = JSONObject.parseArray(subArray.toJSONString());
- }else {
- JSONObject copyObj = JSONObject.parseObject(subObj.toJSONString());
- arr.add(copyObj);
- }
- JSONArray theOriginalData = currentProperty.getJSONArray(attribute_name);
- if(theOriginalData == null){
- currentProperty.put(attribute_name,arr);
- }else {
- theOriginalData.add(arr.getJSONObject(arr.size()-1));
- }
-
- }else {
- JSONObject copy = JSONObject.parseObject(superiorObj.getJSONObject(attribute_name).toJSONString());
- JSONObject o3 = currentProperty.getJSONObject(attribute_name);
- if(o3 == null){
- currentProperty.put(attribute_name,copy);
- }else {
- for (String key: copy.keySet()) {
- //鍙互浠bject鐨勭被鍨嬪瓨鍏�
- o3.put(key, copy.get(key));
- }
- }
- }
- }
- }
- }
- obj.clear();
- }
-
- /**
- * 鍥捐〃鏁版嵁婧愰泦鍚堝皝瑁呰嚦EChart灞炴��
- * @param valueData 鏁版嵁鍊糳ata
- * @param
- * @return
- * @throws BaseException
- */
- @Override
- public JSONArray attributesAndValues(DataTableEntity valueData,List<String> keys,List<String> keys2,String type) throws BaseException {
- JSONArray array = new JSONArray();
- if("1".equals(type)) {
- for (int j = 0, length = valueData.getRows(); j < length; j++) {
- FieldSetEntity valueSet = valueData.getFieldSetEntity(j);
- array.add(valueSet.getString(keys.get(0)));
- }
- }else {
- for (int j = 0, length = valueData.getRows(); j < length; j++) {
- JSONObject object = new JSONObject();
- FieldSetEntity valueSet = valueData.getFieldSetEntity(j);
- for (int i = 0, len = keys.size(); i < len; i++) {
- object.put(keys2.get(i), valueSet.getString(keys.get(i)));
- }
- array.add(object);
- }
- }
- return array;
- }
-
- /**
- * 鏀瑰彉鏁版嵁鏍煎紡
- * @param attr_value 鑾峰彇鐨勬暟鎹��
- * @param
- * @return
- * @throws BaseException
- */
- @Override
- public Object[] changeDataFormat(String attr_value) throws BaseException {
- Object[] oArray = new Object[1];
- if(BaseUtil.strIsNull(attr_value)){
- oArray[0] = attr_value;
- //濡傛灉鏄暟瀛�
- }else if(attr_value.matches("^-?[0-9]\\d*$")){
- oArray[0] = Integer.parseInt(attr_value);
- }else if("false".equals(attr_value)){
- oArray[0] = false;
- }else if("true".equals(attr_value)){
- oArray[0] = true;
- //浜岀淮鏁扮粍
- }else if(attr_value.indexOf("~~") != -1){
- String[] array2 = attr_value.split("~~");
- if(array2.length > 0){
- JSONArray array = new JSONArray();
- for (int i = 0,length = array2.length; i < length; i++) {
- if(array2[i].indexOf("~") != -1){
- array.add(array2[i].split("~"));
- }else {
- array.add(array2[i]);
- }
- }
- oArray[0] = array;
- }
- //涓�缁存暟缁�
- }else if(attr_value.indexOf("~") != -1){
- if(attr_value.length() == 1){
- oArray[0] = new JSONObject();
- }else {
- oArray[0] = attr_value.split("~");
- String[] value = attr_value.split("~");
- Integer len = value.length;
- Object[] subObj = new Object[len];
- //matches() 鏂规硶鐢ㄤ簬妫�娴嬪瓧绗︿覆鏄惁鍖归厤缁欏畾鐨勬鍒欒〃杈惧紡銆�
- for (int i = 0; i < len; i++) {
- if(value[i].matches("^-?[1-9]\\d*$")){
- subObj[i] = Integer.parseInt(value[i]);
- }else {
- subObj[i] = value[i];
- }
- }
- oArray[0] = subObj;
- }
- }else {
- oArray[0] = attr_value;
- }
- return oArray;
- }
-
-
- /**
- * 鍏崇郴鍥惧皝瑁呮暟鎹簮
- * @param sql
- * @return
- * @throws BaseException
- */
- @Override
- public JSONObject chooseRelationship(String sql) throws BaseException {
- JSONArray links = new JSONArray();
- JSONArray nodes = new JSONArray();
- JSONArray categories = new JSONArray();
- String[] sqlArray = sql.split("~");
- Integer maxValue = 0;
- for (int i = 0; i < sqlArray.length; i++) {
- String s = sqlArray[i];
- DataTableEntity dataTableEntity = baseDao.listTable(s,new Object[]{});
- for (int j = 0; j < dataTableEntity.getRows(); j++) {
- FieldSetEntity fieldSetEntity = dataTableEntity.getFieldSetEntity(j);
- if(s.lastIndexOf("links") != -1){
- String source = fieldSetEntity.getString("source");
- String target = fieldSetEntity.getString("target");
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("source", ((Integer) changeDataFormat(source)[0])-1);
- jsonObject.put("target",((Integer) changeDataFormat(target)[0])-1);
- links.add(jsonObject);
- }
- if(s.lastIndexOf("nodes") != -1){
- String id = fieldSetEntity.getString("id");
- String name = fieldSetEntity.getString("name");
- String modularity_class = fieldSetEntity.getString("modularity_class");
- Integer value = fieldSetEntity.getInteger("value");
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("id",((Integer)changeDataFormat(id)[0])-1);
- jsonObject.put("name",name);
- if(value > maxValue){
- maxValue = value;
- }
- jsonObject.put("value",value);
- JSONObject subObj = new JSONObject();
- subObj.put("modularity_class",((Integer)changeDataFormat(modularity_class)[0])-1);
- jsonObject.put("attributes",subObj);
- nodes.add(jsonObject);
- }
- if(s.lastIndexOf("categories") != -1){
- String id = fieldSetEntity.getString("id");
- String name = fieldSetEntity.getString("name");
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("id",((Integer)changeDataFormat(id)[0])-1);
- jsonObject.put("name",name);
- categories.add(jsonObject);
- }
- }
-
- }
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("links",links);
- jsonObject.put("nodes",nodes);
-
- Integer place = 1;
- while ((maxValue/place) > 200){
- place = place * 2;
- }
- for (int i = 0,length = nodes.size(); i < length; i++) {
- Integer value = nodes.getJSONObject(i).getInteger("value");
- nodes.getJSONObject(i).put("symbolSize", (value/place));
- }
- jsonObject.put("categories",categories);
- return jsonObject;
- }
-
- /**
- * 閫氳繃閰嶇疆琛╱uid鑾峰彇js鏂规硶
- * @param uuid 閰嶇疆琛╱uid
- * @param
- * @return
- * @throws BaseException
- */
- @Override
- public JSONArray functionArray(String uuid)throws BaseException{
- //鑾峰彇鍥捐〃鏂规硶
- DataTableEntity functionData = baseDao.listTable("SELECT * FROM product_sys_report_function where is_execute = 1 and report_config_uuid = ?", new String[]{uuid});
- JSONArray functionArray = new JSONArray();
- for (int i = 0,length = functionData.getRows(); i < length; i++) {
- FieldSetEntity functionField = functionData.getFieldSetEntity(i);
- JSONObject funObject = new JSONObject();
- funObject.put("function",functionField.getString("function"));
- funObject.put("event_type",functionField.getString("event_type"));
- functionArray.add(funObject);
- }
- return functionArray;
- }
-
- /**
- * 鍥捐〃鍙戝竷
- * @param fse
- * @return
- */
- @Transactional
- @Override
- public List<String> releaseConfig(FieldSetEntity fse, String module_uuid, String parentCode) {
-
- FieldSetEntity fseReport=baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_CONFIG, fse.getUUID(), false);
-
- //鍒涘缓MVCC淇濆瓨瀵硅薄
- FieldSetEntity fseFunction=new FieldSetEntity();
- fseFunction.setTableName(CmnConst.PRODUCT_SYS_FUNCTIONS);
- //1.鍒涘缓MVC(绯荤粺MVC鐩綍涓�)
- //鐢熸垚鍔熻兘缂栫爜
- codeService.createCode(fseFunction,CmnConst.PRODUCT_SYS_FUNCTIONS, CmnConst.TRICODE, parentCode);
- String function_tricode=fseFunction.getString(CmnConst.TRICODE);
- fseFunction.setTableName(CmnConst.PRODUCT_SYS_FUNCTIONS);
- fseFunction.setValue(CmnConst.TRICODE, function_tricode); //鍔熻兘缂栫爜
- fseFunction.setValue(CmnConst.MODULE_UUID, module_uuid); //鎵�灞炴ā鍧桿UID
- fseFunction.setValue(CmnConst.TABLE_UUID, CmnConst.PRODUCT_SYS_REPORT_CONFIG); //鍔熻兘鍏宠仈琛�
- fseFunction.setValue(CmnConst.FUNCTION_NAME, fseReport.getString(CmnConst.REPORT_NAME)); //鍔熻兘鍚嶇О
- fseFunction.setValue(CmnConst.FUNCTION_DESCRIPTION, fseReport.getString(CmnConst.REPORT_NAME)); //鍔熻兘鎻忚堪
- fseFunction.setValue(CmnConst.STATUS_UUID, 1); //鏄惁鍚敤
- fseFunction.setValue(CmnConst.FUNCTION_TYPE_UUID, 1); //鍔熻兘绫诲瀷-涓氬姟鍔熻兘
- fseFunction.setValue(CmnConst.CLIENT_TYPE_UUID, "web"); //瀹㈡埛绔被鍨�
- fseFunction.setValue(CmnConst.VERSION_UUID, "001"); //鐗堟湰uuid
- fseFunction.setValue(CmnConst.TRICODE_PARENT, parentCode);
- fseFunction.setValue("data_type", 1); //绫诲瀷 1涓哄姛鑳�
- BaseUtil.createCreatorAndCreationTime(SpringMVCContextHolder.getCurrentUser(), fseFunction);
-
- //鍒涘缓鎸夐挳淇濆瓨瀵硅薄
- DataTableEntity dtButton=new DataTableEntity();
- FieldSetEntity fseButton=new FieldSetEntity();
- fseButton.setTableName(CmnConst.PRODUCT_SYS_FUNCTION_BUTTONS);
- fseButton.setValue(CmnConst.IS_MAIN, 1); //鏄惁鍏ュ彛
- fseButton.setValue(CmnConst.STATUS_UUID, 1); //鏄惁鍚敤
- fseButton.setValue(CmnConst.CLIENT_TYPE_UUID, "Web"); //瀹㈡埛绔被鍨�
- fseButton.setValue(CmnConst.BUTTON_NAME, "鍏ュ彛"); //鎸夐挳鍚嶇О
- fseButton.setValue(CmnConst.BUTTON_TITLE, "entrance"); //鎸夐挳鏍囬
- fseButton.setValue(CmnConst.BUTTON_TYPE, 1); //鎸夐挳绫诲瀷
- fseButton.setValue(CmnConst.BUTTON_CATEGORY_UUID, "main"); //鎸夐挳鍒嗙被
- fseButton.setValue(CmnConst.ROUTE_NAME, BaseUtil.getPageCode()); //璺敱鍚嶇О
- fseButton.setValue(CmnConst.UPLOAD_API_URL, CmnConst.ADDRESS_INIT_CHART);// 鍏ュ彛鎺ュ彛鍦板潃
- JSONObject paramObj = new JSONObject();
- paramObj.put(CmnConst.UUID, fse.getUUID());
- fseButton.setValue(CmnConst.PARAMS, paramObj.toString());// 鎺ュ彛鍙傛暟
- fseButton.setValue(CmnConst.TOP_LOCATION, "100px");
- fseButton.setValue(CmnConst.LEFT_LOCATION, "100px");
- fseButton.setValue("terminal_type", 1); //瀹㈡埛绔被鍨�
- dtButton.setMeta(fseButton.getMeta());
- dtButton.addFieldSetEntity(fseButton);
-
- //鍒涘缓椤甸潰淇濆瓨瀵硅薄
- DataTableEntity dtPage=new DataTableEntity();
- FieldSetEntity fsePage=new FieldSetEntity();
- fsePage.setTableName(CmnConst.PRODUCT_SYS_MVC_PAGE);
- fsePage.setValue(CmnConst.PAGE_NAME, "鍥捐〃灞曠ず");
- fsePage.setValue(CmnConst.PAGE_TYPE, 2);
- fsePage.setValue(CmnConst.PAGE_URL, CmnConst.ADDRESS_CHART_VIEW);
- fsePage.setValue(CmnConst.TOP_LOCATION, "300px");
- fsePage.setValue(CmnConst.LEFT_LOCATION, "100px");
- fsePage.setValue(CmnConst.PAGE_OPEN_WITH, 0);
- fsePage.setValue("terminal_type", 1); //瀹㈡埛绔被鍨�
- dtPage.addFieldSetEntity(fsePage);
-
- fseFunction.addSubDataTable(dtButton);
- fseFunction.addSubDataTable(dtPage);
-
- String functionUUID = baseDao.add(fseFunction);
-
- //鍒涘缓杩炵嚎淇濆瓨瀵硅薄
- FieldSetEntity fseLink=new FieldSetEntity();
- fseLink.setTableName(CmnConst.PRODUCT_SYS_LINK);
- fseLink.setValue(CmnConst.LINK_TYPE, 0); //杩炵嚎绫诲瀷
- fseLink.setValue(CmnConst.FUNCTION_UUID, functionUUID); //鎵�灞炲姛鑳経UID
- fseLink.setValue(CmnConst.LINE_FROM, fseButton.getUUID()); //璧峰绔�
- fseLink.setValue(CmnConst.FROM_TYPE, 0); //璧峰绔被鍨�
- fseLink.setValue(CmnConst.LINE_TO, fsePage.getUUID()); //缁撴潫绔�
- fseLink.setValue(CmnConst.TO_TYPE, 2); //缁撴潫绔被鍨�
- fseLink.setValue("terminal_type", 1);//瀹㈡埛绔被鍨�
- BaseUtil.createCreatorAndCreationTime(SpringMVCContextHolder.getCurrentUser(), fseLink);
-
- baseDao.add(fseLink);
-
- // 鎻愬彇鍙戝竷鐨勮鑹茬浉鍏虫暟鎹�
- List<String> roleUUIDList = Lists.newArrayList();
- List<String> clientUUIDList = Lists.newArrayList();
- String[] singleRoleInfoArr;
- for (String singleRoleInfo : fse.getString(CmnConst.ROLE_UUID).split("#")) {
- singleRoleInfoArr = singleRoleInfo.split(",");
- roleUUIDList.add(singleRoleInfoArr[2]);
- clientUUIDList.add(singleRoleInfoArr[0]);
- }
-
- // 2.缁戝畾瑙掕壊(缁欐煇涓�瑙掕壊璧嬩簣璇ュ姛鑳�)
- for (String roleUUID : roleUUIDList) {
- FieldSetEntity fseFunctionButton=new FieldSetEntity();
- fseFunctionButton.setTableName(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION);
- fseFunctionButton.setValue(CmnConst.FUNCTION_UUID, functionUUID);// 鎵�灞炲姛鑳経UID
- fseFunctionButton.setValue(CmnConst.BUTTON_UUID, fseButton.getUUID());// 鎸夐挳UUID
- fseFunctionButton.setValue(CmnConst.ROLE_UUID, roleUUID);// 鎵�灞炶鑹睻UID
- baseDao.add(fseFunctionButton);
- }
-
- // 3.缁戝畾瀹㈡埛瑙掕壊(缁欐煇涓�瀹㈡埛瑙掕壊璧嬩簣璇ュ姛鑳�)
- for (String clientUUID : clientUUIDList) {
- DataTableEntity clientDte = DataPoolCacheImpl.getInstance().getCacheData("瀹㈡埛淇℃伅", new String[]{clientUUID});
- if (BaseUtil.dataTableIsEmpty(clientDte)) {
- continue;
- }
- FieldSetEntity clientFse = clientDte.getFieldSetEntity(0);
- FieldSetEntity fseClientFunctionButton = new FieldSetEntity();
- fseClientFunctionButton.setTableName(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION);
- fseClientFunctionButton.setValue(CmnConst.FUNCTION_UUID, functionUUID);// 鎵�灞炲姛鑳経UID
- fseClientFunctionButton.setValue(CmnConst.BUTTON_UUID, fseButton.getUUID());// 鎸夐挳UUID
- fseClientFunctionButton.setValue(CmnConst.ROLE_UUID, clientFse.getString(CmnConst.ROLE_UUID));// 鎵�灞炶鑹睻UID
- baseDao.add(fseClientFunctionButton);
- }
-
- //4.鍒涘缓鑿滃崟(鏍规嵁鍓嶇鎵�閫夌埗绾ц彍鍗�)
- FieldSetEntity fseMenu=new FieldSetEntity();
- fseMenu.setTableName(CmnConst.PRODUCT_SYS_MENUS);
- codeService.createCode(fseMenu,CmnConst.PRODUCT_SYS_MENUS, CmnConst.TRICODE, fse.getString(CmnConst.TRICODE_PARENT));
- fseMenu.setValue(CmnConst.TRICODE_PARENT, fse.getString(CmnConst.TRICODE_PARENT));
- fseMenu.setValue(CmnConst.MENU_NAME, fse.getString(CmnConst.MENU_NAME));
- fseMenu.setValue(CmnConst.FUNCTION_UUID, functionUUID);
- fseMenu.setValue(CmnConst.SEQUENCE, 0);
- fseMenu.setValue(CmnConst.IS_CATALOG, 0);
- fseMenu.setValue(CmnConst.IS_SHOW, 1);
- fseMenu.setValue(CmnConst.MENU_ICON, fse.getString(CmnConst.MENU_ICON));
- BaseUtil.createCreatorAndCreationTime(SpringMVCContextHolder.getCurrentUser(), fseMenu);
-
- baseDao.add(fseMenu);
-
- //鏁版嵁鍥炲啓
- fseReport.setValue(CmnConst.FUNCTION_UUID, functionUUID);
-
- boolean result = baseDao.update(fseReport);
-
- return roleUUIDList;
- }
-
- /**
- * 鑾峰彇宸插彂甯冨垪琛�
- * @param fieldSetEntity
- * @return
- */
- public DataTableEntity releasedListChartConfig(FieldSetEntity fieldSetEntity){
- Integer curPage = fieldSetEntity.getInteger(CmnConst.CPAGE);
- Integer pageSize = fieldSetEntity.getInteger(CmnConst.PAGE_SIZE);
- StringBuffer sql = new StringBuffer();
-// sql.append(" select * from ( ")
- sql.append(" select rc.uuid,rc.report_name,'鍥捐〃' type_name,t1.role_info,mp.menu_name tricode_parent,m.menu_icon,m.menu_name,rc.function_uuid ")
- .append(" FROM product_sys_report_config rc ")
- .append(" inner join ( ")
- .append(" select function_uuid,group_concat(role_info separator ',') role_info ")
- .append(" from ( ")
- .append(" select function_uuid,concat(c.client_name,'/',o.org_level_name,'/',role_name) role_info ")
- .append(" FROM product_sys_clients c ")
- .append(" inner join product_sys_org_levels o on o.client_uuid=c.uuid ")
- .append(" inner join ( ")
- .append(" select function_uuid,org_level_uuid,uuid role_uuid,role_name ")
- .append(" FROM product_sys_role r ")
- .append(" inner join ( ")
- .append(" select function_uuid,role_uuid FROM product_sys_function_permission ")
- .append(" ) p on r.uuid=p.role_uuid ")
- .append(" ) r1 on o.uuid=r1.org_level_uuid ")
- .append(" ) t ")
- .append(" group by function_uuid ")
- .append(" ) t1 on rc.function_uuid=t1.function_uuid ")
- .append(" inner join product_sys_menus m on rc.function_uuid=m.function_uuid ")
- .append(" inner join product_sys_menus mp on m.tricode_parent=mp.tricode ")
- .append(" WHERE datasource_uuid is null ");
-// .append(" ) product_sys_report_config ");
- if (!BaseUtil.dataTableIsEmpty(fieldSetEntity.getSubDataTable("systemSeniorQueryString"))) {
- sql.append(" AND " + queryFilterService.getQueryFilter(fieldSetEntity));
- }
- return baseDao.listTable(sql.toString(), new Object[]{}, pageSize == null ? Integer.MAX_VALUE : pageSize, curPage == null ? 1: curPage);
- }
-
-
- /**
- * 鍙栨秷鎶ヨ〃鍙戝竷
- * @param fse
- * @return
- */
- @Transactional
- @Override
- public Boolean cancelRelease(FieldSetEntity fse) {
- //缂撳瓨閲岄潰鍙朏UNCTION_UUID
-// DataTableEntity reportConfigDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_CONFIG, new String[]{fse.getUUID()});
-// if (BaseUtil.dataTableIsEmpty(reportConfigDte)) {
-// throw new BaseException(ReportCode.GET_REPORT_CONFIG_FIAL.getValue(), ReportCode.GET_REPORT_CONFIG_FIAL.getText());
-// }
-// FieldSetEntity reportConfigFse = reportConfigDte.getFieldSetEntity(0);
- String uuid = fse.getString(CmnConst.UUID);
- FieldSetEntity fieldSet = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_CONFIG, uuid, false);
- String functionUUID = fieldSet.getString(CmnConst.FUNCTION_UUID);
- if (StringUtils.isEmpty(functionUUID)) {
- return false;
- }
- //浠庤鑹叉潈闄愪腑绉婚櫎
- baseDao.delete(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION, "function_uuid=?", new Object[] {functionUUID});
- //鍒犻櫎杩炵嚎
- baseDao.delete(CmnConst.PRODUCT_SYS_LINK, "function_uuid=?", new Object[] {functionUUID});
- //鍒犻櫎鎸夐挳
- baseDao.delete(CmnConst.PRODUCT_SYS_FUNCTION_BUTTONS, "function_uuid=?", new Object[] {functionUUID});
- //鍒犻櫎椤甸潰
- baseDao.delete(CmnConst.PRODUCT_SYS_MVC_PAGE, "function_uuid=?", new Object[] {functionUUID});
-
- //鍒犻櫎鑿滃崟
- baseDao.delete(CmnConst.PRODUCT_SYS_MENUS, "function_uuid=?", new Object[] {functionUUID});
- //鍒犻櫎鍔熻兘
- baseDao.delete(CmnConst.PRODUCT_SYS_FUNCTIONS, "uuid = ?", new Object[] {functionUUID});
- //鏁版嵁鍥炲啓
- fieldSet.setValue(CmnConst.FUNCTION_UUID, "");
-
-// DataPoolRefreshCache.getInstance().put(.PRODUCT_SYS_page_button_v");
-
- return baseDao.update(fieldSet);
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/GroupReportService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/GroupReportService.java
deleted file mode 100644
index 93b677d..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/GroupReportService.java
+++ /dev/null
@@ -1,1017 +0,0 @@
-package com.product.server.report.service;
-
-import com.alibaba.fastjson.JSONObject;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import com.product.common.lang.StringUtils;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.service.support.AbstractBaseService;
-import com.product.core.spring.context.SpringMVCContextHolder;
-import com.product.server.report.config.CmnConst;
-import com.product.util.BaseUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.*;
-
-/**
- * Copyright 漏 6c
- *
- * @Date: 2021-04-16 17:07
- * @Author: 6c
- * @Description:
- */
-@Component
-public class GroupReportService extends AbstractBaseService {
- @Autowired
- private DataListReportService dataListReportService;
-
- /**
- * 鎶ヨ〃-瑙f瀽
- * @param recordDte 涓氬姟鏁版嵁dte
- * @param totalName 鎬昏鍚嶇О
- * @param reportConfigMap 鎶ヨ〃閰嶇疆缂撳瓨map
- * @param tableStyle
- * @return 鑾峰彇鍒嗙粍鎶ヨ〃鐨勮鎯�
- */
- public JSONObject getReport(DataTableEntity recordDte, String totalName, Map<Integer, List<JSONObject>> reportConfigMap, StringBuilder tableStyle) {
- StringBuilder reportHtml = new StringBuilder(4096);
-
- // css
- StringBuilder cssHtml = dataListReportService.getCssHtml();
-
- // 鍒嗙粍琛ㄥご鍖哄拰鏁版嵁鍖�
- StringBuilder groupAndDataAreaHtml = new StringBuilder(1024);
- Map<String, Set<String>> headAndTailTitleDataMap = Maps.newHashMap();
- int totalColCount = reportConfigMap.get(0).size();
- int dataAreaColCount = getGroupAndDataAreaHtmlAndReturnDataAreaColCount(groupAndDataAreaHtml, reportConfigMap, headAndTailTitleDataMap, recordDte, totalName);
- totalColCount = Math.max(totalColCount, dataAreaColCount);
-
- // 澶撮儴鏍囬鍖�
- StringBuilder headTitleHtml = null;
- if (!reportConfigMap.get(1).isEmpty()) {
- headTitleHtml = dataListReportService.getTitleHtml(reportConfigMap.get(1), totalColCount, headAndTailTitleDataMap, "head");
- }
-
- // 搴曢儴鏍囬鍖�
- StringBuilder tailTitleHtml = null;
- if (!reportConfigMap.get(3).isEmpty()) {
- tailTitleHtml = dataListReportService.getTitleHtml(reportConfigMap.get(3), totalColCount, headAndTailTitleDataMap, "tail");
- }
-
- reportHtml.append("\n<body>\n<table").append(tableStyle).append(">")
- .append(cssHtml)
- .append(headTitleHtml == null ? "" : headTitleHtml)
- .append(groupAndDataAreaHtml)
- .append(tailTitleHtml == null ? "" : tailTitleHtml)
- .append("\n</table>\n</body>");
-
- JSONObject resultObj = new JSONObject();
- resultObj.put(CmnConst.RETURN_ATTR_RESULT, true);
- resultObj.put(CmnConst.RETURN_ATTR_MESSAGE, "鑾峰彇鎶ヨ〃鎴愬姛锛�");
- resultObj.put(CmnConst.RETURN_ATTR_HTML, reportHtml);
- return resultObj;
- }
-
- /**
- * 鎶ヨ〃-瑙f瀽-鏀惧叆鍒嗙粍琛ㄥご鍖哄拰鏁版嵁Html锛岃繑鍥炲垪鏁�
- * @param groupAndDataAreaHtml html瀹瑰櫒
- * @param reportConfigMap 鎶ヨ〃缂撳瓨鏁版嵁map
- * @param headAndTailTitleDataMap 澶撮儴銆佸熬閮ㄦ爣棰樺尯鏁版嵁瀛楁map瀹瑰櫒
- * @param recordDte 鏁版嵁婧愰泦鍚�
- * @param totalName 鎬昏鍚嶇О
- * @return 鏁版嵁鍖烘�诲垪鏁�
- */
- private int getGroupAndDataAreaHtmlAndReturnDataAreaColCount(StringBuilder groupAndDataAreaHtml, Map<Integer, List<JSONObject>> reportConfigMap, Map<String, Set<String>> headAndTailTitleDataMap, DataTableEntity recordDte, String totalName) {
- // 鍒嗙粍琛ㄥご鍖哄瓧娈电紦瀛榤ap
- Map<String, JSONObject> groupAreaFieldConfigMap = dataListReportService.groupAndDataJSONObject2Map(reportConfigMap.get(2));
- // 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- Map<String, JSONObject> dataAreaFieldConfigMap = dataListReportService.groupAndDataJSONObject2Map(reportConfigMap.get(0));
-
- // 鍒嗙粍琛ㄥご鍖哄垎缁勭粺璁″瓧娈靛悕绉發ist
- List<String> groupAreaGroupStatisticsFieldNameList = Lists.newArrayList();
- // 鍒嗙粍琛ㄥご鍖哄垎缁勫瓧娈靛悕绉發ist
- List<String> groupAreaGroupFieldNameList = Lists.newArrayList();
- // 鍒嗙粍琛ㄥご鍖哄尯鍩熻寖鍥磑bj
- JSONObject groupAreaRangeObj = new JSONObject();
- groupAreaFieldConfigMap.forEach((fieldName, fieldConfigObj) -> {
- groupAreaGroupFieldNameList.add(fieldName);
- if ("1".equals(fieldConfigObj.getString(CmnConst.ATTR_IS_STATISTICS))) {
- groupAreaGroupStatisticsFieldNameList.add(fieldName);
- }
- if (groupAreaRangeObj.getIntValue(CmnConst.MIN_X) == 0) {
- groupAreaRangeObj.put(CmnConst.MIN_X, fieldConfigObj.getIntValue(CmnConst.ATTR_X));
- } else {
- groupAreaRangeObj.put(CmnConst.MIN_X, Math.min(groupAreaRangeObj.getIntValue(CmnConst.MIN_X), fieldConfigObj.getIntValue(CmnConst.ATTR_X)));
- }
- groupAreaRangeObj.put(CmnConst.MAX_X, Math.max(groupAreaRangeObj.getIntValue(CmnConst.MAX_X), fieldConfigObj.getIntValue(CmnConst.ATTR_X) + Math.max(1, fieldConfigObj.getIntValue(CmnConst.ATTR_COLSPAN)) - 1));
- groupAreaRangeObj.put(CmnConst.MAX_Y, Math.max(groupAreaRangeObj.getIntValue(CmnConst.MAX_Y), fieldConfigObj.getIntValue(CmnConst.ATTR_Y) + Math.max(1, fieldConfigObj.getIntValue(CmnConst.ATTR_ROWSPAN)) - 1));
- });
-
- // 鏁版嵁鍖哄垎缁勭粺璁″瓧娈靛悕绉發ist
- List<String> dataAreaGroupStatisticsFieldNameList = Lists.newArrayList();
- // 鏁版嵁鍖哄垎缁勫瓧娈靛悕绉發ist
- List<String> dataAreaGroupFieldNameList = Lists.newArrayList();
- // 鏁版嵁鍖虹壒娈婄粺璁″瓧娈靛悕绉發ist-鍒嗙粍琛ㄥご鍖轰笅缁熻瀛楁
- List<String> dataAreaSpStatisticsFieldNameList = Lists.newArrayList();
- // 鏁版嵁鍖烘櫘閫氱粺璁″瓧娈靛悕绉發ist-闈炴暟鎹尯鍒嗙粍瀛楁锛岄潪鍒嗙粍琛ㄥご鍖轰笅缁熻瀛楁
- List<String> dataAreaCommonStatisticsFieldNameList = Lists.newArrayList();
- dataAreaFieldConfigMap.forEach((fieldName, fieldConfigObj) -> {
- if ("1".equals(fieldConfigObj.getString(CmnConst.ATTR_IS_GROUP))) {
- dataAreaGroupFieldNameList.add(fieldName);
- if ("1".equals(fieldConfigObj.getString(CmnConst.ATTR_IS_STATISTICS))) {
- dataAreaGroupStatisticsFieldNameList.add(fieldName);
- }
- } else {
- if (fieldConfigObj.getIntValue(CmnConst.ATTR_X) < groupAreaRangeObj.getIntValue(CmnConst.MIN_X) || fieldConfigObj.getIntValue(CmnConst.ATTR_X) > groupAreaRangeObj.getIntValue(CmnConst.MAX_X)) {
- dataAreaCommonStatisticsFieldNameList.add(fieldName);
- } else {
- dataAreaSpStatisticsFieldNameList.add(fieldName);
- }
- }
- });
-
- // 鑾峰彇鍒嗙粍琛ㄥご缁熻瀛楁瀵瑰簲鐨勬暟鎹尯瀛楁map
- Map<String, List<String>> groupAreaStatisticsField2DataAreaFieldMap = getGroupAreaStatisticsField2DataAreaFieldMap(groupAreaFieldConfigMap, dataAreaFieldConfigMap);
- // 鑾峰彇鍒嗙粍琛ㄥご鍖烘湯琛屽垎缁勫瓧娈靛搴旀暟鎹尯瀛楁map
- Map<String, List<String>> groupAreaLastStageField2DataAreaFieldMap = getGroupAreaLastStageField2DataAreaFieldMap(groupAreaFieldConfigMap, dataAreaFieldConfigMap, groupAreaRangeObj);
-
- // 鑾峰彇鎸囧畾鏁版嵁闆嗕腑鍖呭惈鐨勬暟鎹尯瀛楁闆嗗悎
- Set<String> headAndTailFieldSet = Sets.newHashSet();
- headAndTailFieldSet.addAll(dataListReportService.getDataFields(reportConfigMap.get(1)));
- headAndTailFieldSet.addAll(dataListReportService.getDataFields(reportConfigMap.get(3)));
-
- // 缁熻map
- Map<JSONObject, JSONObject> statisticsMap = Maps.newLinkedHashMap();
- // 鍒嗙粍琛ㄥご鍖烘暟鎹畂bj
- JSONObject groupAreaFieldRecordObj = new JSONObject(Maps.newTreeMap((o1, o2) -> dataListReportService.compare(o1, o2)));
- // 鏁版嵁鍖哄垎缁勫瓧娈祇bj
- JSONObject dataAreaFieldRecordObj = new JSONObject(Maps.newLinkedHashMap());
-
- FieldSetEntity recordFse;
- for (int i = 0;i < recordDte.getRows();i++) {
- recordFse = recordDte.getFieldSetEntity(i);
-
- // 鑾峰彇澶撮儴銆佸熬閮ㄦ爣棰樺尯鏁版嵁瀛楁
- dataListReportService.getHeadAndTailTitleDataMap(headAndTailTitleDataMap, headAndTailFieldSet, recordFse);
-
- // 鑾峰彇鍒嗙粍琛ㄥご鍖烘暟鎹畂bj
- getGroupAreaFieldRecordObj(groupAreaFieldRecordObj, groupAreaFieldConfigMap, recordFse, groupAreaStatisticsField2DataAreaFieldMap, groupAreaLastStageField2DataAreaFieldMap);
-
- // 鑾峰彇鏁版嵁鍖哄垎缁勫瓧娈祇bj
- getDataAreaGroupFieldRecordObj(dataAreaFieldRecordObj, dataAreaFieldConfigMap, recordFse);
-
- // 鑾峰彇鏁版嵁鍖虹壒娈婂瓧娈电殑缁熻
- statisticsDataAreaSpField(statisticsMap, dataAreaFieldConfigMap, dataAreaSpStatisticsFieldNameList, recordFse);
-
- // 鑾峰彇鏁版嵁鍖烘櫘閫氬瓧娈电殑缁熻
- statisticsDataAreaCommonField(statisticsMap, dataAreaFieldConfigMap, dataAreaCommonStatisticsFieldNameList, recordFse);
- }
-
- // 鑾峰彇鍒嗙粍琛ㄥご鍖哄拰鏁版嵁鍖烘�诲垪鏁�
- int totalColCount = getTotalColCount(groupAreaFieldRecordObj, dataAreaGroupFieldNameList.size(), dataAreaCommonStatisticsFieldNameList.size());
-
- // 鏁版嵁鏍囬list
- List<JSONObject> dataTitleList = Lists.newArrayList();
- // 鑾峰彇鏍囬html
- groupAndDataAreaHtml.append(getDataAreaTitleHtml(dataTitleList, groupAreaFieldRecordObj, dataAreaFieldConfigMap, groupAreaRangeObj, dataAreaCommonStatisticsFieldNameList));
- // 鑾峰彇鍐呭html
- groupAndDataAreaHtml.append(getDataAreaDataHtml(dataTitleList, dataAreaFieldRecordObj, statisticsMap, totalName, dataAreaGroupFieldNameList, dataAreaFieldConfigMap));
-
- return totalColCount;
- }
-
- /**
- * 鑾峰彇鍒嗙粍琛ㄥご缁熻瀛楁瀵瑰簲鐨勬暟鎹尯瀛楁map
- * @param groupAreaFieldConfigMap 鍒嗙粍琛ㄥご鍖哄瓧娈电紦瀛榤ap
- * @param dataAreaFieldConfigMap 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- * @return 鍒嗙粍琛ㄥご缁熻瀛楁瀵瑰簲鐨勬暟鎹尯瀛楁map
- */
- private Map<String,List<String>> getGroupAreaStatisticsField2DataAreaFieldMap(Map<String, JSONObject> groupAreaFieldConfigMap, Map<String, JSONObject> dataAreaFieldConfigMap) {
- Map<String, List<String>> resultMap = Maps.newLinkedHashMap();
- String groupAreaFieldName;
- JSONObject groupAreaFieldConfigObj;
- JSONObject dataAreaFieldConfigObj;
- for (Map.Entry<String, JSONObject> groupAreaFieldConfigEntry : groupAreaFieldConfigMap.entrySet()) {
- groupAreaFieldConfigObj = groupAreaFieldConfigEntry.getValue();
- if (!"1".equals(groupAreaFieldConfigObj.getString(CmnConst.ATTR_IS_STATISTICS))) {
- continue;
- }
- groupAreaFieldName = groupAreaFieldConfigEntry.getKey();
- for (Map.Entry<String, JSONObject> dataAreaFieldConfigEntry : dataAreaFieldConfigMap.entrySet()) {
- dataAreaFieldConfigObj = dataAreaFieldConfigEntry.getValue();
- if (dataListReportService.transfer2List(dataAreaFieldConfigObj.get(CmnConst.ATTR_GROUP_AREA_GROUP_FIELD)).contains(groupAreaFieldName)) {
- resultMap.computeIfAbsent(groupAreaFieldName, k -> Lists.newArrayList()).add(dataAreaFieldConfigEntry.getKey());
- }
- }
- }
- return resultMap;
- }
-
- /**
- * 鑾峰彇鍒嗙粍琛ㄥご鍖烘湯琛屽垎缁勫瓧娈靛搴旀暟鎹尯瀛楁map
- * @param groupAreaFieldConfigMap 鍒嗙粍琛ㄥご鍖哄瓧娈电紦瀛榤ap
- * @param dataAreaFieldConfigMap 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- * @param groupAreaRangeObj 鍒嗙粍琛ㄥご鍖鸿寖鍥磑bj
- * @return 鍒嗙粍琛ㄥご鍖烘湯琛屽垎缁勫瓧娈靛搴旀暟鎹尯瀛楁map
- */
- private Map<String,List<String>> getGroupAreaLastStageField2DataAreaFieldMap(Map<String, JSONObject> groupAreaFieldConfigMap, Map<String, JSONObject> dataAreaFieldConfigMap, JSONObject groupAreaRangeObj) {
- Map<String, List<String>> resultMap = Maps.newLinkedHashMap();
- String groupFieldName;
- JSONObject groupAreaFieldConfigObj;
- JSONObject dataAreaFieldConfigObj;
- for (Map.Entry<String, JSONObject> groupAreaFieldConfigEntry : groupAreaFieldConfigMap.entrySet()) {
- groupAreaFieldConfigObj = groupAreaFieldConfigEntry.getValue();
- if (groupAreaFieldConfigObj.getIntValue(CmnConst.ATTR_Y) + Math.max(1, groupAreaFieldConfigObj.getIntValue(CmnConst.ATTR_ROWSPAN)) - 1 < groupAreaRangeObj.getIntValue(CmnConst.MAX_Y)) {
- continue;
- }
- groupFieldName = groupAreaFieldConfigEntry.getKey();
- for (Map.Entry<String, JSONObject> dataAreaFieldConfigEntry : dataAreaFieldConfigMap.entrySet()) {
- dataAreaFieldConfigObj = dataAreaFieldConfigEntry.getValue();
- if (dataListReportService.transfer2List(dataAreaFieldConfigObj.get(CmnConst.ATTR_GROUP_AREA_GROUP_FIELD)).contains(groupFieldName)) {
- resultMap.computeIfAbsent(groupFieldName, k -> Lists.newArrayList()).add(dataAreaFieldConfigEntry.getKey());
- }
- }
-
- }
- return resultMap;
- }
-
- /**
- * 鑾峰彇鏍囬-鍒嗙粍琛ㄥご鍖烘暟鎹畂bj
- * @param groupAreaFieldRecordObj 鍒嗙粍琛ㄥご鍖哄瓧娈佃褰昽bj
- * @param groupAreaFieldConfigMap 鍒嗙粍琛ㄥご鍖哄瓧娈电紦瀛榤ap
- * @param recordFse 涓氬姟鏁版嵁璁板綍
- * @param groupAreaStatisticsField2DataAreaFieldMap 鍒嗙粍琛ㄥご鍖虹粺璁″瓧娈靛搴旀暟鎹尯瀛楁map
- * @param groupAreaLastStageField2DataAreaFieldMap 鍒嗙粍琛ㄥご鍖烘湯绾у瓧娈靛搴旀暟鎹尯瀛楁map
- */
- private void getGroupAreaFieldRecordObj(JSONObject groupAreaFieldRecordObj, Map<String, JSONObject> groupAreaFieldConfigMap, FieldSetEntity recordFse,
- Map<String, List<String>> groupAreaStatisticsField2DataAreaFieldMap, Map<String, List<String>> groupAreaLastStageField2DataAreaFieldMap) {
- JSONObject parentObj = groupAreaFieldRecordObj;
- JSONObject subObj;
- String value;
- List<String> list;
- String groupAreaGroupFieldName;
- int i = 0;
- List<String> statisticsFieldList;
- String realValue;
- for (Map.Entry<String, JSONObject> entry : groupAreaFieldConfigMap.entrySet()) {
- list = Lists.newArrayList();
- list.addAll(dataListReportService.transfer2List(entry.getValue().get(CmnConst.ATTR_GROUP_AREA_GROUP_FIELD)));
- list.add(entry.getKey());
- for (;i < list.size();i++) {
- groupAreaGroupFieldName = list.get(i);
- realValue = dataListReportService.getRealValue(recordFse, groupAreaGroupFieldName);
- value = recordFse.getString(groupAreaGroupFieldName);
-
- if (parentObj.get(value) == null) {
- subObj = new JSONObject(Maps.newTreeMap((o1, o2) -> dataListReportService.compare(o1, o2)));
- parentObj.put(value, subObj);
- // 娣诲姞鍒嗙粍琛ㄥご鍖哄垎缁勭粺璁″瓧娈靛搴旀暟鎹尯瀛楁
- if (groupAreaStatisticsField2DataAreaFieldMap.containsKey(groupAreaGroupFieldName)) {
- parentObj.put(value + CmnConst.STATISTICS_NAME, groupAreaStatisticsField2DataAreaFieldMap.get(groupAreaGroupFieldName));
- statisticsFieldList = dataListReportService.transfer2List(parentObj.get(CmnConst.ATTR_STATISTICS_FIELD));
- if (statisticsFieldList.isEmpty()) {
- parentObj.put(CmnConst.ATTR_STATISTICS_FIELD, statisticsFieldList);
- }
- if (!statisticsFieldList.contains(value + CmnConst.STATISTICS_NAME)) {
- statisticsFieldList.add(value + CmnConst.STATISTICS_NAME);
- }
- }
- // 娣诲姞鍒嗙粍琛ㄥご鍖烘湯绾у瓧娈靛搴旀暟鎹尯瀛楁
- if (groupAreaLastStageField2DataAreaFieldMap.containsKey(groupAreaGroupFieldName)) {
- parentObj.put(value, groupAreaLastStageField2DataAreaFieldMap.get(groupAreaGroupFieldName));
- }
- // 娣诲姞field_info
- if (StringUtils.isEmpty(parentObj.getString(CmnConst.ATTR_FIELD_INFO))) {
- parentObj.put(CmnConst.ATTR_FIELD_INFO, dataListReportService.fieldName2FieldInfo(groupAreaGroupFieldName));
- }
- if (!StringUtils.isEmpty(realValue)) {
- subObj.put(CmnConst.ATTR_REAL_VALUE, realValue);
- }
- } else {
- if (!(parentObj.get(value) instanceof JSONObject)) {
- continue;
- }
- subObj = parentObj.getJSONObject(value);
- }
- parentObj = subObj;
- }
- }
- }
-
- /**
- * 鑾峰彇鏁版嵁鍖哄垎缁勫瓧娈祇bj
- * @param dataAreaFieldRecordObj 鏁版嵁鍖哄瓧娈佃褰昽bj
- * @param dataAreaFieldConfigMap 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- * @param recordFse 涓氬姟鏁版嵁璁板綍
- */
- private void getDataAreaGroupFieldRecordObj(JSONObject dataAreaFieldRecordObj, Map<String, JSONObject> dataAreaFieldConfigMap, FieldSetEntity recordFse) {
- JSONObject parentObj = dataAreaFieldRecordObj;
- JSONObject subObj;
- String value;
- List<String> list;
- String groupAreaGroupFieldName;
- int i = 0;
- String dataAreaFieldName;
- JSONObject dataAreaFieldConfigObj;
- List<String> statisticsFieldList;
- String realValue;
- for (Map.Entry<String, JSONObject> entry : dataAreaFieldConfigMap.entrySet()) {
- dataAreaFieldConfigObj = entry.getValue();
- if (!"1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_GROUP))) {
- break;
- }
- dataAreaFieldName = entry.getKey();
- realValue = dataListReportService.getRealValue(recordFse, dataAreaFieldName);
- list = Lists.newArrayList();
- list.addAll(dataListReportService.transfer2List(dataAreaFieldConfigObj.get(CmnConst.ATTR_DATA_AREA_GROUP_FIELD)));
- list.add(dataAreaFieldName);
- for (;i < list.size();i++) {
- groupAreaGroupFieldName = list.get(i);
- value = recordFse.getString(groupAreaGroupFieldName);
- subObj = parentObj.getJSONObject(value);
- if (subObj == null) {
- subObj = new JSONObject(Maps.newLinkedHashMap());
- parentObj.put(value, subObj);
- }
- // 娣诲姞鏁版嵁鍖哄垎缁勭粺璁″瓧娈�
- if ("1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_STATISTICS))) {
- parentObj.put(value + CmnConst.STATISTICS_NAME, new JSONObject());
- statisticsFieldList = dataListReportService.transfer2List(parentObj.get(CmnConst.ATTR_STATISTICS_FIELD));
- if (statisticsFieldList.isEmpty()) {
- parentObj.put(CmnConst.ATTR_STATISTICS_FIELD, statisticsFieldList);
- }
- if (!statisticsFieldList.contains(value + CmnConst.STATISTICS_NAME)) {
- statisticsFieldList.add(value + CmnConst.STATISTICS_NAME);
- }
- }
- // 娣诲姞field_info
- if (StringUtils.isEmpty(parentObj.getString(CmnConst.ATTR_FIELD_INFO))) {
- parentObj.put(CmnConst.ATTR_FIELD_INFO, dataListReportService.fieldName2FieldInfo(groupAreaGroupFieldName));
- }
- if (!StringUtils.isEmpty(realValue)) {
- subObj.put(CmnConst.ATTR_REAL_VALUE, realValue);
- }
- parentObj = subObj;
- }
- }
- }
-
- /**
- * 鑾峰彇鏁版嵁鍖虹壒娈婂瓧娈电殑缁熻
- * @param statisticsMap 缁熻map
- * @param dataAreaFieldConfigMap 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- * @param dataAreaSpStatisticsFieldNameList 鏁版嵁鍖虹壒娈婄粺璁″瓧娈靛悕绉發ist锛堝垎缁勮〃澶村尯涓嬬粺璁″瓧娈碉級
- * @param recordFse 涓氬姟鏁版嵁璁板綍
- */
- private void statisticsDataAreaSpField(Map<JSONObject, JSONObject> statisticsMap, Map<String, JSONObject> dataAreaFieldConfigMap, List<String> dataAreaSpStatisticsFieldNameList, FieldSetEntity recordFse) {
- JSONObject dataAreaFieldConfigObj;
- List<String> groupAreaGroupFieldNameList;
- List<String> dataAreaGroupFieldNameList;
- String value;
- JSONObject keyObj;
- JSONObject valueObj;
- JSONObject groupAreaKeyObj;
- JSONObject dataAreaKeyObj;
- String statisticsType;
- for (String dataAreaFieldName : dataAreaSpStatisticsFieldNameList) {
- keyObj = new JSONObject();
- groupAreaKeyObj = new JSONObject();
- keyObj.put(CmnConst.ATTR_FIELD_INFO, dataListReportService.fieldName2FieldInfo(dataAreaFieldName));
- dataAreaFieldConfigObj = dataAreaFieldConfigMap.get(dataAreaFieldName);
- groupAreaGroupFieldNameList = dataListReportService.transfer2List(dataAreaFieldConfigObj.get(CmnConst.ATTR_GROUP_AREA_GROUP_FIELD));
- dataAreaGroupFieldNameList = dataListReportService.transfer2List(dataAreaFieldConfigObj.get(CmnConst.ATTR_DATA_AREA_GROUP_FIELD));
- value = dataListReportService.getValue(dataAreaFieldConfigObj, recordFse, dataAreaFieldName);
- statisticsType = dataAreaFieldConfigObj.getString(CmnConst.ATTR_STATISTICS);
- for (String groupAreaGroupFieldName : groupAreaGroupFieldNameList) {
- dataAreaKeyObj = new JSONObject();
- for (String dataAreaGroupFieldName : dataAreaGroupFieldNameList) {
- keyObj.remove(dataAreaGroupFieldName);
- }
- groupAreaKeyObj.put(groupAreaGroupFieldName, recordFse.getString(groupAreaGroupFieldName));
- dataListReportService.extendJSONObject(keyObj, groupAreaKeyObj, null);
- valueObj = statisticsMap.get(keyObj);
- valueObj = dataListReportService.getStatisticsValueObj(valueObj, dataAreaFieldConfigObj, value, statisticsType, true);
- statisticsMap.put((JSONObject) keyObj.clone(), valueObj);
- for (String dataAreaGroupFieldName : dataAreaGroupFieldNameList) {
- dataAreaKeyObj.put(dataAreaGroupFieldName, recordFse.getString(dataAreaGroupFieldName));
- keyObj = dataListReportService.extendJSONObject(keyObj, dataAreaKeyObj, null);
- valueObj = statisticsMap.get(keyObj);
- valueObj = dataListReportService.getStatisticsValueObj(valueObj, dataAreaFieldConfigObj, value, statisticsType, true);
- statisticsMap.put((JSONObject) keyObj.clone(), valueObj);
- }
- }
- }
- }
-
- /**
- * 鍙栨暟鎹尯鏅�氬瓧娈电殑缁熻
- * @param statisticsMap 缁熻map
- * @param dataAreaFieldConfigMap 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- * @param dataAreaCommonStatisticsFieldNameList 鏁版嵁鍖烘櫘閫氱粺璁″瓧娈靛悕绉發ist
- * @param recordFse 涓氬姟鏁版嵁璁板綍
- */
- private void statisticsDataAreaCommonField(Map<JSONObject, JSONObject> statisticsMap, Map<String, JSONObject> dataAreaFieldConfigMap, List<String> dataAreaCommonStatisticsFieldNameList, FieldSetEntity recordFse) {
- JSONObject dataAreaFieldConfigObj;
- List<String> dataAreaGroupFieldNameList;
- String value;
- JSONObject dataAreaKeyObj = new JSONObject();
- JSONObject keyObj;
- JSONObject valueObj;
- String statisticsType;
- int i;
- for (String dataAreaFieldName : dataAreaCommonStatisticsFieldNameList) {
- i = 0;
- keyObj = new JSONObject();
- dataAreaFieldConfigObj = dataAreaFieldConfigMap.get(dataAreaFieldName);
- dataAreaGroupFieldNameList = dataListReportService.transfer2List(dataAreaFieldConfigObj.get(CmnConst.ATTR_DATA_AREA_GROUP_FIELD));
- statisticsType = dataAreaFieldConfigObj.getString(CmnConst.ATTR_STATISTICS);
- value = dataListReportService.getValue(dataAreaFieldConfigObj, recordFse, dataAreaFieldName);
- keyObj.put(CmnConst.ATTR_FIELD_INFO, dataListReportService.fieldName2FieldInfo(dataAreaFieldName));
- valueObj = statisticsMap.get(keyObj);
- valueObj = dataListReportService.getStatisticsValueObj(valueObj, dataAreaFieldConfigObj, value, statisticsType, false);
- statisticsMap.put((JSONObject) keyObj.clone(), valueObj);
- for (String dataAreaGroupFieldName : dataAreaGroupFieldNameList) {
- i++;
- dataAreaKeyObj.put(dataAreaGroupFieldName, recordFse.getString(dataAreaGroupFieldName));
- keyObj = dataListReportService.extendJSONObject(keyObj, dataAreaKeyObj, null);
- valueObj = statisticsMap.get(keyObj);
- valueObj = dataListReportService.getStatisticsValueObj(valueObj, dataAreaFieldConfigObj, value, statisticsType, i == dataAreaGroupFieldNameList.size());
- statisticsMap.put((JSONObject) keyObj.clone(), valueObj);
- }
- }
- }
-
- /**
- * 鑾峰彇鍒嗙粍琛ㄥご鍖哄拰鏁版嵁鍖烘�诲垪鏁�
- * @param groupAreaFieldRecordObj 鍒嗙粍琛ㄥご鍖哄瓧娈佃褰昽bj
- * @param dataAreaGroupFieldCount 鏁版嵁鍖哄垎缁勫瓧娈典釜鏁�
- * @param dataAreaCommonStatisticsFieldCount 鏁版嵁鍖烘櫘閫氱粺璁″瓧娈典釜鏁�
- * @return 鍒嗙粍琛ㄥご鍖哄拰鏁版嵁鍖烘�诲垪鏁�
- */
- private int getTotalColCount(JSONObject groupAreaFieldRecordObj, int dataAreaGroupFieldCount, int dataAreaCommonStatisticsFieldCount) {
- int groupAreaColCount = getGroupAreaColCount(groupAreaFieldRecordObj, 0);
- return groupAreaColCount + dataAreaGroupFieldCount + dataAreaCommonStatisticsFieldCount;
- }
-
- /**
- * 鑾峰彇鍒嗙粍琛ㄥご鍖烘�诲垪鏁�
- * @param curOperateObj 褰撳墠鎿嶄綔鐨刼bj
- * @param groupAreaColCount 鍒嗙粍琛ㄥご鍖哄垪鏁�
- * @return 鍒嗙粍琛ㄥご鍖烘�诲垪鏁�
- */
- private int getGroupAreaColCount(JSONObject curOperateObj, int groupAreaColCount) {
- if (curOperateObj == null) {
- return groupAreaColCount;
- }
- String key;
- Object value;
- for (Map.Entry<String, Object> entry : curOperateObj.entrySet()) {
- key = entry.getKey();
- if (CmnConst.ATTR_FIELD_INFO.equals(key) || CmnConst.ATTR_STATISTICS_FIELD.equals(key)) {
- continue;
- }
- value = entry.getValue();
- if (value == null) {
- continue;
- }
- if (value instanceof List) {
- groupAreaColCount += ((List) value).size();
- } else if (value instanceof JSONObject) {
- groupAreaColCount = getGroupAreaColCount((JSONObject) value, groupAreaColCount);
- }
- }
- return groupAreaColCount;
- }
-
- /**
- * 鑾峰彇鏍囬html
- * @param dataTitleList 鏁版嵁鏍囬list
- * @param groupAreaFieldRecordObj 鍒嗙粍琛ㄥご鍖哄瓧娈佃褰昽bj
- * @param dataAreaFieldConfigMap 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- * @param groupAreaRangeObj 鍒嗙粍琛ㄥご鍘昏寖鍥磑bj
- * @param dataAreaCommonStatisticsFieldNameList 鏁版嵁鍖烘櫘閫氱粺璁″瓧娈靛悕绉發ist
- * @return 鏁版嵁鏍囬html
- */
- private StringBuilder getDataAreaTitleHtml(List<JSONObject> dataTitleList, JSONObject groupAreaFieldRecordObj, Map<String, JSONObject> dataAreaFieldConfigMap, JSONObject groupAreaRangeObj, List<String> dataAreaCommonStatisticsFieldNameList) {
- int maxRow = groupAreaRangeObj.getIntValue(CmnConst.MAX_Y);
- List<List<JSONObject>> groupAreaRangeTitleList = Lists.newArrayList();
- for (int i = 0;i <= maxRow;i++) {
- groupAreaRangeTitleList.add(Lists.newArrayList());
- }
- getGroupAreaRangeTitleList(dataAreaFieldConfigMap, groupAreaFieldRecordObj, groupAreaRangeTitleList, new JSONObject(), 0, maxRow, null);
-
- List<JSONObject> beforeGroupAreaTitleList = Lists.newArrayList();
- List<JSONObject> afterGroupAreaTitleList = Lists.newArrayList();
-
- String dataAreaFieldName;
- JSONObject dataAreaFieldConfigObj;
- JSONObject titleObj;
- for (Map.Entry<String, JSONObject> entry : dataAreaFieldConfigMap.entrySet()) {
- dataAreaFieldName = entry.getKey();
- dataAreaFieldConfigObj = entry.getValue();
- titleObj = new JSONObject();
-// titleObj.put(CmnConst.ATTR_FIELD_INFO, getFieldInfo(dataAreaFieldConfigObj));
- titleObj.put(CmnConst.ATTR_FIELD_INFO, dataListReportService.fieldName2FieldInfo(dataAreaFieldName));
- if (dataAreaCommonStatisticsFieldNameList.contains(dataAreaFieldName)) {
- titleObj.put(CmnConst.ATTR_SHOW_NAME, dataListReportService.getStatisticsDesc(dataAreaFieldConfigObj.getString(CmnConst.ATTR_STATISTICS), dataAreaFieldConfigObj.getString(CmnConst.ATTR_SHOW_NAME)));
- } else {
- titleObj.put(CmnConst.ATTR_SHOW_NAME, dataAreaFieldConfigObj.getString(CmnConst.ATTR_SHOW_NAME));
- }
- titleObj.put(CmnConst.ATTR_ROWSPAN, maxRow + 1);
- titleObj.put(CmnConst.ATTR_COLSPAN, 1);
- if (dataAreaFieldConfigObj.getIntValue(CmnConst.ATTR_X) < groupAreaRangeObj.getIntValue(CmnConst.MIN_X)) {
- beforeGroupAreaTitleList.add(titleObj);
- }
- if (dataAreaFieldConfigObj.getIntValue(CmnConst.ATTR_X) > groupAreaRangeObj.getIntValue(CmnConst.MAX_X)) {
- if ("1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_GROUP))) {
- beforeGroupAreaTitleList.add(titleObj);
- } else {
- afterGroupAreaTitleList.add(titleObj);
- }
- }
- }
-
- dataTitleList.addAll(groupAreaRangeTitleList.get(maxRow));
- dataTitleList.addAll(afterGroupAreaTitleList);
-
- List<JSONObject> firstList = Lists.newArrayList();
- firstList.addAll(beforeGroupAreaTitleList);
- firstList.addAll(groupAreaRangeTitleList.get(0));
- firstList.addAll(afterGroupAreaTitleList);
-
- groupAreaRangeTitleList.set(0, firstList);
-
- StringBuilder html = new StringBuilder(1024);
- int rowspan;
- int colspan;
- String value;
- for (List<JSONObject> rowList : groupAreaRangeTitleList) {
- html.append("\n<tr class=\"").append(CmnConst.CLASS_TR_DATA_TITLE).append("\">\n ");
- for (JSONObject dataTitleObj : rowList) {
- rowspan = Math.max(1, dataTitleObj.getIntValue(CmnConst.ATTR_ROWSPAN));
- colspan = Math.max(1, dataTitleObj.getIntValue(CmnConst.ATTR_COLSPAN));
- value = dataTitleObj.getString(CmnConst.ATTR_SHOW_NAME);
- if (!StringUtils.isEmpty(dataTitleObj.getString(CmnConst.ATTR_FIELD_INFO))) {
- dataAreaFieldName = dataListReportService.fieldInfo2FieldName(dataTitleObj.getString(CmnConst.ATTR_FIELD_INFO));
- value = dataListReportService.dealTdWidth(dataAreaFieldConfigMap.get(dataAreaFieldName), value);
- }
- html.append("<td rowspan=\"").append(rowspan).append("\" colspan=\"").append(colspan).append("\">").append(value == null ? "" : value).append("</td>");
- }
- html.append("\n</tr>");
- }
- return html;
- }
-
- /**
- * 鑾峰彇鍒嗙粍琛ㄥご鍖鸿寖鍥寸殑鏍囬list
- * @param dataAreaFieldConfigMap 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- * @param curOperateObj 褰撳墠鎿嶄綔obj
- * @param groupAreaRangeTitleList 鍒嗙粍琛ㄥご鍖鸿寖鍥翠笅鏁版嵁鏍囬list
- * @param preTitleObj 鏈�杩戞搷浣滅殑鏍囬obj
- * @param row 褰撳墠琛屾暟
- * @param maxRow 鏈�澶ц鏁�
- */
- private void getGroupAreaRangeTitleList(Map<String, JSONObject> dataAreaFieldConfigMap, JSONObject curOperateObj, List<List<JSONObject>> groupAreaRangeTitleList, JSONObject preTitleObj, int row, int maxRow, String parentFieldName) {
- if (curOperateObj == null || curOperateObj.isEmpty()) {
- return;
- }
- String key;
- Object value;
- JSONObject curTitleObj;
- String groupAreaFieldName = dataListReportService.fieldInfo2FieldName(curOperateObj.getString(CmnConst.ATTR_FIELD_INFO));
- List<String> statisticsFieldList = dataListReportService.transfer2List(curOperateObj.get(CmnConst.ATTR_STATISTICS_FIELD));
- String realValue = curOperateObj.getString(CmnConst.ATTR_REAL_VALUE);
- String fieldName = dataListReportService.fieldInfo2FieldName(curOperateObj.getString(CmnConst.ATTR_FIELD_INFO));
- String newKey;
- JSONObject realValueObj;
- for (Map.Entry<String, Object> entry : curOperateObj.entrySet()) {
- curTitleObj = dataListReportService.extendJSONObject(null, preTitleObj, null);
- if (!StringUtils.isEmpty(realValue) && !StringUtils.isEmpty(parentFieldName)) {
- if (curTitleObj.get(CmnConst.ATTR_REAL_VALUE) == null) {
- realValueObj = new JSONObject();
- curTitleObj.put(CmnConst.ATTR_REAL_VALUE, realValueObj);
- } else {
- realValueObj = (JSONObject) curTitleObj.get(CmnConst.ATTR_REAL_VALUE);
- }
- realValueObj.put(parentFieldName, realValue);
- }
- key = entry.getKey();
- if (CmnConst.ATTR_FIELD_INFO.equals(key) || CmnConst.ATTR_STATISTICS_FIELD.equals(key) || CmnConst.ATTR_REAL_VALUE.equals(key)) {
- continue;
- }
- value = entry.getValue();
- if (value == null) {
- continue;
- }
- curTitleObj.put(CmnConst.ATTR_SHOW_NAME, key);
- if (statisticsFieldList.contains(key)) {
- curTitleObj.put(CmnConst.ATTR_IS_STATISTICS_FIELD, "1");
- newKey = key.replace(CmnConst.STATISTICS_NAME, "");
- curTitleObj.put(groupAreaFieldName, newKey);
- curTitleObj.put(CmnConst.ATTR_GROUP_AREA_SUB_CNT, getSubCnt(curOperateObj.getJSONObject(newKey)));
- } else {
- curTitleObj.put(groupAreaFieldName, key);
- }
- groupAreaRangeTitleList.get(row).add(curTitleObj);
- if (value instanceof List) {
- curTitleObj.put(CmnConst.ATTR_COLSPAN, ((List) value).size());
- curTitleObj.put(CmnConst.ATTR_ROWSPAN, maxRow - row);
- for (String dataAreaFieldName : (List<String>) value) {
- JSONObject cloneTitleObj = (JSONObject) curTitleObj.clone();
- cloneTitleObj.put(CmnConst.ATTR_FIELD_INFO, dataListReportService.fieldName2FieldInfo(dataAreaFieldName));
- cloneTitleObj.put(CmnConst.ATTR_COLSPAN, 1);
- cloneTitleObj.put(CmnConst.ATTR_ROWSPAN, 1);
- JSONObject dataAreaFieldConfigObj = dataAreaFieldConfigMap.get(dataAreaFieldName);
- cloneTitleObj.put(CmnConst.ATTR_SHOW_NAME, dataListReportService.getStatisticsDesc(dataAreaFieldConfigObj.getString(CmnConst.ATTR_STATISTICS), dataAreaFieldConfigObj.getString(CmnConst.ATTR_SHOW_NAME)));
- groupAreaRangeTitleList.get(maxRow).add(cloneTitleObj);
- }
- } else {
- if (value instanceof JSONObject) {
- curTitleObj.put(CmnConst.ATTR_COLSPAN, getGroupAreaColCount((JSONObject) value, 0));
- curTitleObj.put(CmnConst.ATTR_ROWSPAN, 1);
- getGroupAreaRangeTitleList(dataAreaFieldConfigMap, (JSONObject) value, groupAreaRangeTitleList, curTitleObj, row + 1, maxRow, fieldName);
- }
- }
- }
- }
-
- /**
- * 鑾峰彇涓嬬骇鍒嗙粍椤规暟
- * @param obj 寰呮搷浣滅殑obj
- * @return 涓嬬骇鍒嗙粍椤规暟
- */
- private int getSubCnt(JSONObject obj) {
- int count = 0;
- List<String> statisticsFieldList = dataListReportService.transfer2List(obj.get(CmnConst.ATTR_STATISTICS_FIELD));
- for (String key : obj.keySet()) {
- if (CmnConst.ATTR_FIELD_INFO.equals(key) || CmnConst.ATTR_STATISTICS_FIELD.equals(key) || statisticsFieldList.contains(key)) {
- continue;
- }
- count++;
- }
- return count;
- }
-
- /**
- * 鑾峰彇鍐呭html
- * @param dataTitleList 鏁版嵁鏍囬list
- * @param dataAreaFieldRecordObj 鏁版嵁鍖哄瓧娈佃褰昽bj
- * @param statisticsMap 缁熻map
- * @param totalName 鎬昏鍚嶇О锛岄潪绌�-闇�瑕佹�昏
- * @param dataAreaGroupFieldNameList 鏁版嵁鍖哄垎缁勫瓧娈靛悕绉發ist
- * @param dataAreaFieldConfigMap 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- * @return 涓氬姟鏁版嵁鍐呭html
- */
- private StringBuilder getDataAreaDataHtml(List<JSONObject> dataTitleList, JSONObject dataAreaFieldRecordObj, Map<JSONObject, JSONObject> statisticsMap, String totalName, List<String> dataAreaGroupFieldNameList, Map<String, JSONObject> dataAreaFieldConfigMap) {
- List<List<JSONObject>> dataAreaGroupFieldDataList = Lists.newArrayList();
- getDataAreaGroupFieldDataList(dataAreaFieldRecordObj, dataAreaGroupFieldDataList, new JSONObject(), 1, 1, dataAreaGroupFieldNameList.size(), null);
-
- List<JSONObject> groupTitleList = Lists.newArrayList();
- JSONObject obj;
- for (List<JSONObject> rowList : dataAreaGroupFieldDataList) {
- obj = dataListReportService.extendJSONObject(null, rowList.get(rowList.size() - 1), Arrays.asList(CmnConst.ATTR_ROWSPAN, CmnConst.ATTR_COLSPAN, CmnConst.ATTR_SHOW_NAME, CmnConst.ATTR_IS_STATISTICS_FIELD), -1);
- groupTitleList.add(obj);
- }
-
- StringBuilder html = new StringBuilder(1024);
- JSONObject dataAreaGroupFieldObj;
- int rowspan;
- int colspan;
- String value;
- JSONObject groupTitleObj;
- JSONObject keyObj;
- JSONObject valueObj;
- String statisticsType;
- JSONObject dataAreaFieldConfigObj;
- int groupAreaSubCnt;
- int dataAreaSubCnt;
- List<JSONObject> curRowList;
- int index;
- for (int i = 0;i < dataAreaGroupFieldDataList.size();i++) {
- index = 0;
- curRowList = dataAreaGroupFieldDataList.get(i);
- if (!curRowList.isEmpty()) {
- for (int j = 0; j < curRowList.size(); j++) {
- dataAreaGroupFieldObj = curRowList.get(j);
- if (dataAreaGroupFieldObj.isEmpty()) {
- continue;
- }
- if (index == 0) {
- if ("1".equals(dataAreaGroupFieldObj.getString(CmnConst.ATTR_IS_STATISTICS_FIELD))) {
- html.append("\n<tr class=\"").append(CmnConst.CLASS_TR_DATA_STATISTICS).append("\">\n ");
- } else {
- html.append("\n<tr class=\"").append(CmnConst.CLASS_TR_DATA_COMMON).append("\">\n ");
- }
- }
- rowspan = Math.max(1, dataAreaGroupFieldObj.getIntValue(CmnConst.ATTR_ROWSPAN));
- colspan = Math.max(1, dataAreaGroupFieldObj.getIntValue(CmnConst.ATTR_COLSPAN));
- value = dataAreaGroupFieldObj.getString(CmnConst.ATTR_SHOW_NAME);
- html.append("<td rowspan=\"").append(rowspan).append("\" colspan=\"").append(colspan).append("\">").append(value == null ? "" : value).append("</td>");
- index++;
- }
- } else {
- html.append("\n<tr class=\"").append(CmnConst.CLASS_TR_DATA_COMMON).append("\">\n ");
- }
- groupTitleObj = groupTitleList.get(i);
- for (JSONObject dataTitleObj : dataTitleList) {
- keyObj = dataListReportService.extendJSONObject((JSONObject) groupTitleObj.clone(), dataTitleObj, Arrays.asList(CmnConst.ATTR_ROWSPAN, CmnConst.ATTR_COLSPAN, CmnConst.ATTR_SHOW_NAME, CmnConst.ATTR_IS_STATISTICS_FIELD, CmnConst.ATTR_REAL_VALUE), -1);
- dataAreaFieldConfigObj = dataAreaFieldConfigMap.get(dataListReportService.fieldInfo2FieldName(dataTitleObj.getString(CmnConst.ATTR_FIELD_INFO)));
- if (dataAreaFieldConfigObj != null) {
- groupAreaSubCnt = keyObj.getIntValue(CmnConst.ATTR_GROUP_AREA_SUB_CNT);
- dataAreaSubCnt = keyObj.getIntValue(CmnConst.ATTR_DATA_AREA_SUB_CNT);
- keyObj.remove(CmnConst.ATTR_GROUP_AREA_SUB_CNT);
- keyObj.remove(CmnConst.ATTR_DATA_AREA_SUB_CNT);
- keyObj.remove(CmnConst.ATTR_REAL_VALUE);
- statisticsType = dataAreaFieldConfigObj.getString(CmnConst.ATTR_STATISTICS);
- valueObj = statisticsMap.get(keyObj);
- if (valueObj == null || valueObj.isEmpty()) {
- value = getFinalValue(keyObj, dataAreaFieldConfigObj, statisticsMap);
- } else {
- if (CmnConst.ATTR_STATISTICS_AVG.equals(statisticsType) && "1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_AVG_TYPE))) {
- if (dataAreaSubCnt == 0 && groupAreaSubCnt == 0) {
- value = valueObj.getString(statisticsType);
- } else {
- value = getTwoTypesGroupAvgStatisticsValue(dataAreaSubCnt, groupAreaSubCnt, valueObj, dataAreaFieldConfigObj, statisticsType);
- }
- } else {
- value = valueObj.getString(statisticsType);
- }
- valueObj.put(CmnConst.ATTR_FINAL_VALUE, value);
- }
- } else {
- value = "";
- }
- html.append("<td");
- if (!StringUtils.isEmpty(value)) {
- // class
- if (!StringUtils.isEmpty(dataAreaFieldConfigObj.getString(CmnConst.ATTR_URL))) {
- dataListReportService.extendJSONObject(keyObj, dataAreaFieldConfigObj, Collections.singletonList(CmnConst.ATTR_URL));
- html.append(" class=\"").append(CmnConst.CLASS_TD_CAN_TURN).append("\"");
- }
- // 瀛楁灞炴��
- dataListReportService.getTdAttrObj(keyObj, groupTitleObj);
- dataListReportService.getTdAttrObj(keyObj, dataTitleObj);
- html.append(dataListReportService.getTdAttrByObj(keyObj));
- // 鏍煎紡
- value = dataListReportService.formatValue(dataAreaFieldConfigObj, value);
- }
- html.append(">").append(value == null ? "" : value).append("</td>");
- }
- html.append("\n</tr>");
- }
-
- // 鎬昏
- if (!StringUtils.isEmpty(totalName)) {
- html.append(getTotalStatisticsHtml(statisticsMap, dataTitleList, dataAreaFieldConfigMap, dataAreaGroupFieldNameList.size(), getSubCnt(dataAreaFieldRecordObj), totalName));
- }
-
- return html;
- }
-
- /**
- * 鑾峰彇鏁版嵁鍖哄垎缁勫瓧娈垫暟鎹甽ist
- * @param curOperateObj 褰撳墠鎿嶄綔obj
- * @param dataAreaGroupFieldDataList 鏁版嵁鍖哄垎缁勫瓧娈垫暟鎹甽ist
- * @param preObj 鏈�杩戞搷浣滅殑obj
- * @param row 褰撳墠琛屾暟
- * @param maxCol 鏈�澶у垪鏁�
- * @return 鏁版嵁鍖哄垎缁勫瓧娈垫暟鎹甽ist
- */
- private int getDataAreaGroupFieldDataList(JSONObject curOperateObj, List<List<JSONObject>> dataAreaGroupFieldDataList, JSONObject preObj, int row, int col, int maxCol, String parentFieldName) {
- String key;
- Object value;
- JSONObject curObj;
- JSONObject topLeftCornerObj;
- String dataAreaFieldName = dataListReportService.fieldInfo2FieldName(curOperateObj.getString(CmnConst.ATTR_FIELD_INFO));
- List<String> statisticsFieldList = dataListReportService.transfer2List(curOperateObj.get(CmnConst.ATTR_STATISTICS_FIELD));
- String realValue = curOperateObj.getString(CmnConst.ATTR_REAL_VALUE);
- JSONObject objValue;
- String newKey;
- List<JSONObject> curRowList;
- JSONObject realValueObj;
- for (Map.Entry<String, Object> entry : curOperateObj.entrySet()) {
- curObj = dataListReportService.extendJSONObject(null, preObj, null);
- key = entry.getKey();
- if (CmnConst.ATTR_FIELD_INFO.equals(key) || CmnConst.ATTR_STATISTICS_FIELD.equals(key) || CmnConst.ATTR_REAL_VALUE.equals(key)) {
- continue;
- }
- value = entry.getValue();
- if (value == null) {
- continue;
- }
- if (!StringUtils.isEmpty(realValue) && !StringUtils.isEmpty(parentFieldName)) {
- if (curObj.get(CmnConst.ATTR_REAL_VALUE) == null) {
- realValueObj = new JSONObject();
- curObj.put(CmnConst.ATTR_REAL_VALUE, realValueObj);
- } else {
- realValueObj = (JSONObject) curObj.get(CmnConst.ATTR_REAL_VALUE);
- }
- realValueObj.put(parentFieldName, realValue);
- }
- if (dataAreaGroupFieldDataList.size() < row) {
- curRowList = Lists.newArrayList();
- dataAreaGroupFieldDataList.add(curRowList);
- } else {
- curRowList = dataAreaGroupFieldDataList.get(row - 1);
- }
- if (curRowList.size() < col - 1) {
- for (int i = 0; i < col - 1; i++) {
- curRowList.add(new JSONObject());
- }
- }
- curObj.put(CmnConst.ATTR_SHOW_NAME, key);
- if (statisticsFieldList.contains(key)) {
- curObj.put(CmnConst.ATTR_IS_STATISTICS_FIELD, "1");
- newKey = key.replace(CmnConst.STATISTICS_NAME, "");
- curObj.put(dataAreaFieldName, newKey);
- curObj.put(CmnConst.ATTR_DATA_AREA_SUB_CNT, getSubCnt(curOperateObj.getJSONObject(newKey)));
- } else {
- curObj.put(dataAreaFieldName, key);
- }
- curObj.put(CmnConst.ATTR_ROWSPAN, 1);
- curObj.put(CmnConst.ATTR_COLSPAN, 1);
- curRowList.add(curObj);
- if (value instanceof JSONObject) {
- objValue = (JSONObject) value;
- if (objValue.isEmpty()) {
- curObj.put(CmnConst.ATTR_COLSPAN, maxCol - col + 1);
- if (row > 1 && col > 1) {
- int emptyCount = 0;
- for (JSONObject obj : curRowList) {
- if (obj.isEmpty()) {
- emptyCount++;
- } else {
- break;
- }
- }
- for (int j = 0; j < emptyCount; j++) {
- int curRow = row - 2;
- topLeftCornerObj = dataAreaGroupFieldDataList.get(curRow).get(j);
- while (topLeftCornerObj.isEmpty() && curRow > 0) {
- curRow--;
- topLeftCornerObj = dataAreaGroupFieldDataList.get(curRow).get(j);
- }
- topLeftCornerObj.put(CmnConst.ATTR_ROWSPAN, topLeftCornerObj.getIntValue(CmnConst.ATTR_ROWSPAN) + 1);
- }
- }
- row++;
- continue;
- }
- if (objValue.size() == 1&& objValue.containsKey(CmnConst.ATTR_REAL_VALUE)) {
- row++;
- continue;
- }
- row = getDataAreaGroupFieldDataList(objValue, dataAreaGroupFieldDataList, curObj, row, col + 1, maxCol, dataAreaFieldName);
- }
- }
- return row;
- }
-
- /**
- * 鑾峰彇鎬昏html
- * @param statisticsMap 缁熻map
- * @param dataTitleList 鏁版嵁鏍囬list
- * @param dataAreaFieldConfigMap 鏁版嵁鍖哄瓧娈电紦瀛榤ap
- * @param dataAreaGroupFieldCount 鏁版嵁鍖哄垎缁勫瓧娈典釜鏁�
- * @param dataAreaSubCnt 鏁版嵁鍖轰笅绾у垎缁勯」鏁�
- * @param totalName 鎬昏鍚嶇О
- * @return
- */
- private StringBuilder getTotalStatisticsHtml(Map<JSONObject, JSONObject> statisticsMap, List<JSONObject> dataTitleList, Map<String, JSONObject> dataAreaFieldConfigMap, int dataAreaGroupFieldCount, int dataAreaSubCnt, String totalName) {
- StringBuilder html = new StringBuilder(256);
- html.append("\n<tr class=\"").append(CmnConst.CLASS_TR_DATA_STATISTICS).append("\">\n ");
- html.append("<td colspan=\"").append(dataAreaGroupFieldCount).append("\">").append(totalName).append("</td>");
- JSONObject dataTitleObj;
- JSONObject keyObj;
- JSONObject dataAreaFieldConfigObj;
- String statisticsType;
- JSONObject valueObj;
- String value;
- int groupAreaSubCnt;
- for (int i = 0;i < dataTitleList.size();i++) {
- dataTitleObj = dataTitleList.get(i);
- keyObj = dataListReportService.extendJSONObject(null, dataTitleObj, Arrays.asList(CmnConst.ATTR_ROWSPAN, CmnConst.ATTR_COLSPAN, CmnConst.ATTR_SHOW_NAME, CmnConst.ATTR_IS_STATISTICS_FIELD, CmnConst.ATTR_REAL_VALUE), -1);
- dataAreaFieldConfigObj = dataAreaFieldConfigMap.get(dataListReportService.fieldInfo2FieldName(dataTitleObj.getString(CmnConst.ATTR_FIELD_INFO)));
- if (dataAreaFieldConfigObj != null) {
- groupAreaSubCnt = keyObj.getIntValue(CmnConst.ATTR_GROUP_AREA_SUB_CNT);
- keyObj.remove(CmnConst.ATTR_GROUP_AREA_SUB_CNT);
- statisticsType = dataAreaFieldConfigObj.getString(CmnConst.ATTR_STATISTICS);
- valueObj = statisticsMap.get(keyObj);
- if (valueObj == null || valueObj.isEmpty()) {
- value = getFinalValue(keyObj, dataAreaFieldConfigObj, statisticsMap);
- } else {
- if (CmnConst.ATTR_STATISTICS_AVG.equals(statisticsType) && "1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_AVG_TYPE))) {
- value = getTwoTypesGroupAvgStatisticsValue(dataAreaSubCnt, groupAreaSubCnt, valueObj, dataAreaFieldConfigObj, statisticsType);
- } else {
- value = valueObj.getString(statisticsType);
- }
- valueObj.put(CmnConst.ATTR_FINAL_VALUE, value);
- }
- } else {
- value = "";
- }
- html.append("<td");
- if (!StringUtils.isEmpty(value)) {
- // class
- if (!StringUtils.isEmpty(dataAreaFieldConfigObj.getString(CmnConst.ATTR_URL))) {
- dataListReportService.extendJSONObject(keyObj, dataAreaFieldConfigObj, Collections.singletonList(CmnConst.ATTR_URL));
- html.append(" class=\"").append(CmnConst.CLASS_TD_CAN_TURN).append("\"");
- }
- // 瀛楁灞炴��
- dataListReportService.getTdAttrObj(keyObj, dataTitleObj);
- html.append(dataListReportService.getTdAttrByObj(keyObj));
- // 鏍煎紡
- value = dataListReportService.formatValue(dataAreaFieldConfigObj, value);
- }
- html.append(">").append(value == null ? "" : value).append("</td>");
- }
- html.append("\n</tr>");
- return html;
- }
-
- /**
- * 鑾峰彇缁熻鏂瑰紡涓衡�滄渶缁堢粺璁♀�濈殑鍊�
- * @param keyObj
- * @param dataAreaFieldConfigObj
- * @param statisticsMap
- * @return
- */
- private String getFinalValue(JSONObject keyObj, JSONObject dataAreaFieldConfigObj, Map<JSONObject, JSONObject> statisticsMap) {
- JSONObject valueObj;
- String value;
- if (CmnConst.ATTR_STATISTICS_FINAL_STATISTICS.equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_STATISTICS))
- && "1".equals(dataAreaFieldConfigObj.getString(CmnConst.ATTR_IS_CUSTOM_FIELD)) && !StringUtils.isEmpty(dataAreaFieldConfigObj.getString(CmnConst.ATTR_FORMULA))) {
- // 缁熻鏂瑰紡涓衡�滄渶缁堢粺璁♀��
- String formula = dataAreaFieldConfigObj.getString(CmnConst.ATTR_FORMULA);
- List<String> suitList = dataListReportService.getSuitContent(formula, "\\{#((?!\\{).)+#\\}");
- JSONObject tempObj = (JSONObject) keyObj.clone();
- for (String suitContent : suitList) {
- tempObj.put(CmnConst.ATTR_FIELD_INFO, suitContent);
- valueObj = statisticsMap.get(tempObj);
- formula = formula.replace(suitContent, (valueObj == null || valueObj.getString(CmnConst.ATTR_FINAL_VALUE) == null ? "0" : valueObj.getString(CmnConst.ATTR_FINAL_VALUE)) + "d");
- }
- try {
- value = BaseUtil.executeExpression(formula.replace("/0", "/1").replaceAll("\\/\\{#[\\w]+#}", "/1").replaceAll("\\{#[\\w]+#}", "0"), Maps.newHashMap()).toString();
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- value = "";
- }
- } else {
- value = "";
- }
- return value;
- }
-
- /**
- * 鑾峰彇琛屽垪涓ょ涓嶅悓鐨勪笅绾у垎缁勫钩鍧囧��
- * @param dataAreaSubCnt 鎸夌収鏁版嵁鍖哄垎缁勭殑涓嬬骇鍒嗙粍椤规暟
- * @param groupAreaSubCnt 鎸夌収鍒嗙粍琛ㄥご鍘诲垎缁勭殑涓嬬骇鍒嗙粍椤规暟
- * @param curFieldStatisticsObj 褰撳墠瀛楁缁熻obj
- * @param dataAreaFieldConfigObj 褰撳墠鏁版嵁鍖哄瓧娈电紦瀛榦bj
- * @param statisticsType 缁熻绫诲瀷
- * @return 鎸夌収涓嬬骇鍒嗙粍椤硅繘琛屽钩鍧囩殑琛屽垪骞冲潎鍊�
- */
- private String getTwoTypesGroupAvgStatisticsValue(int dataAreaSubCnt, int groupAreaSubCnt, JSONObject curFieldStatisticsObj, JSONObject dataAreaFieldConfigObj, String statisticsType) {
- // 鍒椾笅绾у垎缁�
- StringBuilder value = new StringBuilder(32);
- String dataAreaValue = getGroupAreaGroupAvgStatisticsValue(dataAreaSubCnt, curFieldStatisticsObj, dataAreaFieldConfigObj, statisticsType, CmnConst.ATTR_STATISTICS_DATA_AREA_AVG, dataAreaSubCnt == 0);
- String groupAreaValue = getGroupAreaGroupAvgStatisticsValue(groupAreaSubCnt, curFieldStatisticsObj, dataAreaFieldConfigObj, statisticsType, CmnConst.ATTR_STATISTICS_GROUP_AREA_AVG, groupAreaSubCnt == 0);
-
- if (dataAreaSubCnt > 0) {
- value.append(dataAreaValue);
- }
- if (dataAreaSubCnt > 0 && groupAreaSubCnt > 0) {
- value.append("\\");
- }
- if (groupAreaSubCnt > 0) {
- value.append(groupAreaValue);
- }
- return value.toString();
- }
-
- /**
- * 鑾峰彇鎸囧畾绫诲瀷鐨勪笅绾у垎缁勫钩鍧囧��
- * @param subCnt 涓嬬骇鍒嗙粍椤规暟
- * @param curFieldStatisticsObj 褰撳墠瀛楁缁熻obj
- * @param dataAreaFieldConfigObj 褰撳墠鏁版嵁鍖哄瓧娈电紦瀛榦bj
- * @param statisticsType 缁熻绫诲瀷
- * @param avgType CmnConst.ATTR_STATISTICS_DATA_AREA_AVG-琛岋紱CmnConst.ATTR_STATISTICS_GROUP_AREA_AVG-鍒�
- * @return 鎸夌収涓嬬骇鍒嗙粍椤硅繘琛屽钩鍧囩殑骞冲潎鍊�
- */
- private String getGroupAreaGroupAvgStatisticsValue(int subCnt, JSONObject curFieldStatisticsObj, JSONObject dataAreaFieldConfigObj, String statisticsType, String avgType, boolean lastStage) {
- String value;
- if (subCnt > 0) {
- curFieldStatisticsObj.put(CmnConst.ATTR_STATISTICS_SUB_CNT, subCnt);
- dataListReportService.getAvgValue(curFieldStatisticsObj, dataAreaFieldConfigObj, lastStage);
- value = curFieldStatisticsObj.getString(statisticsType);
- curFieldStatisticsObj.put(avgType, value);
- } else {
- value = curFieldStatisticsObj.getString(statisticsType);
- }
- return value == null ? "" : value;
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/ListReportConfigService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/ListReportConfigService.java
deleted file mode 100644
index d599bdc..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/ListReportConfigService.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package com.product.server.report.service;
-
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import org.apache.log4j.Logger;
-
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.entity.Report;
-import com.product.core.exception.BaseException;
-
-
-public class ListReportConfigService {
-
- private Report report;
- private DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();
- private java.text.SimpleDateFormat format;
- public static Logger logger=Logger.getLogger(ListReportConfigService.class);
-
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/ListReportConfigServiceImple.java b/product-server-report_v2/src/main/java/com/product/server/report/service/ListReportConfigServiceImple.java
deleted file mode 100644
index c65054e..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/ListReportConfigServiceImple.java
+++ /dev/null
@@ -1,173 +0,0 @@
-package com.product.server.report.service;
-
-
-import org.apache.log4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import com.alibaba.fastjson.JSONObject;
-import com.product.core.dao.BaseDao;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.entity.Report;
-import com.product.core.exception.BaseException;
-import com.product.server.report.service.idel.ListReportConfigService;
-
-@Service
-public class ListReportConfigServiceImple implements ListReportConfigService {
-
- @Autowired
- public BaseDao baseDao;
- public BaseDao getBaseDao() {
- return baseDao;
- }
- public void setBaseDao(BaseDao baseDao) {
- this.baseDao = baseDao;
- }
- public ListReportServer reportServerNew;
-
- public ListReportServer getReportServerNew() {
- return reportServerNew;
- }
- public void setReportServerNew(ListReportServer reportServerNew) {
- this.reportServerNew = reportServerNew;
- }
- public static Logger logger=Logger.getLogger(ListReportConfigServiceImple.class);
- //鏍规嵁琛ㄥ悕鑾峰彇鎶ヨ〃
- public String createReportInfo(String tableUuid) throws BaseException{
- //鑾峰彇閰嶇疆鎶ヨ〃
- FieldSetEntity felset = baseDao.getFieldSetEntity("product_sys_reoprt_config", tableUuid, false);
- DataTableEntity data = null;
- if(felset.getString("report_table_name") != null && !felset.getString("report_table_name").isEmpty()){
- data = baseDao.listTable(felset.getString("report_table_name"));
- }else if(felset.getString("report_data_sql") != null){
- data = baseDao.listTable(felset.getString("report_data_sql"), new String[]{});
- }
- DataTableEntity fieldData = baseDao.listTable("product_sys_report_field_properties", "report_uuid = '"+tableUuid+"'", "order_number");
- Report rc=new Report();
- if(fieldData.getRows() > 0){
- int row = fieldData.getRows();
- String[] showField = new String[row];//瀛楁鍚�
- int[][] showColspan = new int[1][row];//璺ㄥ垪
- String[][] showTitle = new String[1][row];//瀛楁鎻忚堪
- int[][] showRowspan = new int[1][row];//璺ㄨ
- boolean[] showTotalField = new boolean[row];//鏄惁鎬昏
- int[] showColWidth = new int[row];//鍒楀
- String[] showFormat = new String[row];//瀛楁鏍煎紡
- boolean[] showGroupField = new boolean[row];//鏄惁鍒嗙粍
- String[] url = new String[row];//绌块�忓湴鍧�
- for(int i=0;i<fieldData.getRows();++i){
- FieldSetEntity set = fieldData.getFieldSetEntity(i);
- showField[i] = set.getString("table_field_name");//瀛楁鍚�
- System.out.println(set.getString("table_field_description"));
- showTitle[0][i] = set.getString("table_field_description");//瀛楁涓枃鍚�
- showColspan[0][i] = 1;
- showRowspan[0][i] = 1;
- System.out.println(set.getString("end_total_type"));
- if(set.getString("end_total_type").equals("false")){//鏄惁鏈�鍚庢�昏
- showTotalField[i] = false;
- }else{
- showTotalField[i] = true;
- }
- showColWidth[i] = set.getInteger("show_width");//瀹藉害姣斾緥
- System.out.println("鏁版嵁鏍煎紡锛�"+set.getString("data_format"));
- if(set.getString("data_format") == null || set.getString("data_format").isEmpty() || set.getString("data_format").equals("null")){
- showFormat[i] = null;
- }else{
- showFormat[i] = set.getString("data_format");
- }
- if(set.getString("is_group_field").equals("1")){
- showGroupField[i] = true;//鏄惁鍒嗙粍
- }else{
- showGroupField[i] = false;//鏄惁鍒嗙粍
- }
- }
- //鏄惁鍥哄畾琛ㄥご
- if(felset.getString("fix_header").equals("1")){
- rc.setFixHeader(true);
- }else{
- rc.setFixHeader(false);
- }
- //鏄惁鏈�鍚庢�昏
- if(felset.getString("last_total").equals("1")){
- rc.setTotal(true);
- }else{
- rc.setTotal(false);
- }
- //鏄惁鍒嗛〉
-// if(felset.getString("is_page").equals("1")){
-// rc.setPage(true);
-// rc.setPageSize(felset.getInteger("page_size"));
-// }else{
-// rc.setPage(false);
-// }
- DataTableEntity headerData = baseDao.listTable("product_sys_report_header_properties", "report_uuid = '"+tableUuid+"'");
- if(headerData.getRows() > 0){
- int headerY = headerData.getRows() / fieldData.getRows();//浜岀淮鏁扮粍y
- int[][] headerColspan = new int[headerY][fieldData.getRows()];//璺ㄥ垪
- String[][] headerTitle = new String[headerY][fieldData.getRows()];//瀛楁鎻忚堪
- int[][] headerRowspan = new int[headerY][fieldData.getRows()];//璺ㄨ
- int y = 0;
- for(int j=0;j<headerData.getRows();++j){
- FieldSetEntity header = headerData.getFieldSetEntity(j);
- int x = Integer.parseInt(header.getString("header_index").split("-")[0]);
- //鍒楀彂鐢熸敼鍙�
- if(y != Integer.parseInt(header.getString("header_index").split("-")[1])){
- y = Integer.parseInt(header.getString("header_index").split("-")[1]);
-
- }
- headerTitle[y][x] = header.getString("header_name");
- headerColspan[y][x] = Integer.parseInt(header.getString("header_colspan"));
- headerRowspan[y][x] = Integer.parseInt(header.getString("header_rowspan"));
- }
- showTitle = headerTitle;
- showColspan = headerColspan;
- showRowspan = headerRowspan;
- }
- url[3] = "~bottom_x2~,asdasd,asdasd,sadasd,aasdsad";
- rc.setUrl(url);
- rc.setTitle(showTitle);//瀛楁涓枃鎻忚堪
- rc.setColspan(showColspan);//璺ㄥ垪
- rc.setRowspan(showRowspan);//璺ㄨ
- rc.setField(showField);//琛ㄥご瀛楁
- rc.setTotalField(showTotalField);//鏄惁鎬昏
- if(!(felset.getString("report_data_width") == null || felset.getString("report_data_width").isEmpty())){
- rc.setWidth(felset.getInteger("report_data_width"));//琛ㄦ姤瀹藉害
- }
- rc.setColWidth(showColWidth);//鍒楀姣斾緥
- rc.setFormat(showFormat);//瀛楁鏍煎紡
- rc.setGroupField(showGroupField);//鏄惁鍒嗙粍
- }
-
- System.out.println(data.getRows());
-// rc.setCurrentPage(1);//褰撳墠椤�
-// rc.setTotalPage(data.getRows() / felset.getInteger("page_size"));//鎬婚〉鏁�
-// rc.setTotalRow(data.getRows());//鎬绘潯鏁�
- rc.setDt(data);
- System.out.println(rc.getDt().getRows());
- System.out.println(rc.getGroupField());
- System.out.println(reportServerNew);
- ListReportServer reportServerNew = new ListReportServer();
- reportServerNew.setReport(rc);
- String error=reportServerNew.toCheckReport();//鍙傛暟妫�娴�
- if(error==null){
- return reportServerNew.toCreateGroupReport();
- } else{
- return "閿欒锛�"+error;
- }
- }
- public JSONObject getReportName(String table_uuid) throws BaseException{
- FieldSetEntity fSetEntity = baseDao.getFieldSetEntity("product_sys_reoprt_config", table_uuid, false);
- JSONObject object = new JSONObject();
- //鍔犺浇琛ㄥ悕
- object.put("report_name", fSetEntity.getString("report_name"));
- //鍔犺浇椤电湁椤佃剼
- object.put("report_head_title_left",fSetEntity.getString("report_head_title_left"));//澶撮儴鎶ヨ〃鏍囬鈥斿乏
- object.put("report_head_title_center",fSetEntity.getString("report_head_title_center"));//澶撮儴鎶ヨ〃鏍囬鈥斾腑
- object.put("report_head_title_right",fSetEntity.getString("report_head_title_right"));//澶撮儴鎶ヨ〃鏍囬鈥斿彸
- object.put("report_tail_title_left",fSetEntity.getString("report_tail_title_left"));//灏鹃儴鎶ヨ〃鏍囬鈥斿乏
- object.put("report_tail_title_center",fSetEntity.getString("report_tail_title_center"));//灏鹃儴鎶ヨ〃鏍囬鈥斾腑
- object.put("report_tail_title_right",fSetEntity.getString("report_tail_title_right"));//灏鹃儴鎶ヨ〃鏍囬鈥斿彸
- return object;
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/ListReportServer.java b/product-server-report_v2/src/main/java/com/product/server/report/service/ListReportServer.java
deleted file mode 100644
index c5a0e01..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/ListReportServer.java
+++ /dev/null
@@ -1,947 +0,0 @@
-package com.product.server.report.service;
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import com.product.common.lang.StringUtils;
-import com.product.core.cache.DataPoolCacheImpl;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.entity.Report;
-import com.product.core.exception.BaseException;
-import com.product.server.report.config.CmnConst;
-
-import org.apache.log4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-/**
- * 鏁版嵁鎶ヨ〃鐨勮В鏋愮敓鎴�
- * @author shicf
- *
- */
-@Component
-public class ListReportServer {
-
- private Report report;
- private DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();
- private java.text.SimpleDateFormat format;
- @Autowired
- ReportDatasourceService reportDatasourceService;
- /**
- * 鐢熸垚鏁版嵁鎶ヨ〃
- * @param uuid
- * @return 鎶ヨ〃鐨刪tml浠g爜
- */
- public String createListReport(String uuid) {
- if(!StringUtils.isEmpty(uuid)) {
- DataTableEntity reports=DataPoolCacheImpl.getInstance().getCacheData("鎶ヨ〃閰嶇疆",new String[] {uuid});
- if(reports!=null && reports.getRows()>0) {
- FieldSetEntity report=reports.getFieldSetEntity(0);
- //鎶ヨ〃鐨勯厤缃睘鎬�
- DataTableEntity report_attrs=report.getSubDataTable("product_sys_report_config_attribute");
- //鑾峰彇鏁版嵁婧�
- DataTableEntity datasources=DataPoolCacheImpl.getInstance().getCacheData("鏁版嵁婧愰厤缃�",new String[] {report.getString("datasource_uuid")});
- if(report_attrs!=null && report_attrs.getRows()>0
- && datasources !=null && datasources.getRows()>0) {
- FieldSetEntity dfs=datasources.getFieldSetEntity(0);
- //鏁版嵁婧愭湰韬殑鍒嗛〉琚姤琛ㄩ厤缃殑鏇挎崲
- dfs.setValue("is_page", report.getObject("report"));
- dfs.setValue("page_size", report.getObject("page_size"));
- //鏌ュ嚭鏁版嵁婧愭暟鎹�
- DataTableEntity dt =reportDatasourceService.getDataSourceData(dfs);
- return createListReport(report,dt);
- }
- }
- }
- return errorReport();//绌烘姤琛�
- }
- /**
- * 鍒涘缓閿欒鎶ヨ〃閰嶇疆鐨勬樉绀轰俊鎭�
- * @return
- */
- private String errorReport() {
- return "<table><tr><td>鎶ヨ〃閰嶇疆淇℃伅涓嶆纭�</td></tr></table>";
- }
- /**
- * 鐢熸垚鏁版嵁鎶ヨ〃
- * @param uuid
- * @return 鎶ヨ〃鐨刪tml浠g爜
- */
- public String createListReport(FieldSetEntity report,DataTableEntity data) {
-// if(CmnConst.REPORT_TYPE_COMMON.equals(report.getString(CmnConst.REPORT_TYPE))) {
-// createListReportCommon(report,data);
-// }else if(CmnConst.REPORT_TYPE_GROUP.equals(report.getString(CmnConst.REPORT_TYPE))) {
-// createListReportGroup(report,data);
-// }else if(CmnConst.REPORT_TYPE_CROSS.equals(report.getString(CmnConst.REPORT_TYPE))) {
-// createListReportCross(report,data);
-// }
- return createListReportError(report,data);
- }
- /**
- * 鍒涘缓閫氱敤鍒楄〃鍨嬫姤琛�
- * @param report
- * @param data
- * @return
- */
- private String createListReportError(FieldSetEntity report,DataTableEntity data) {
- return null;
- }
-// /**
-// * 鍒涘缓閫氱敤鍒楄〃鍨嬫姤琛�
-// * @param report
-// * @param data
-// * @return
-// */
-// private String createListReportCommon(FieldSetEntity report,DataTableEntity data) {
-// StringBuilder b=new StringBuilder();
-// b.append(createCommonReportBody(report,data));
-// b.append(createReportHeader(report,data));
-// return b.toString();
-// }
-// /**
-// * 鍒涘缓鍒嗙粍鍒楄〃鍨嬫姤琛�
-// * @param report
-// * @param data
-// * @return
-// */
-// private String createListReportGroup(FieldSetEntity report,DataTableEntity data) {
-// StringBuilder b=new StringBuilder();
-// b.append(createGroupReportBody(report,data));
-// b.append(createReportHeader(report,data));
-// return b.toString();
-// }
-// /**
-// * 鍒涘缓浜ゅ弶鍒楄〃鍨嬫姤琛�
-// * @param report
-// * @param data
-// * @return
-// */
-// private String createListReportCross(FieldSetEntity report,DataTableEntity data) {
-// StringBuilder b=new StringBuilder();
-// b.append(createCrossReportBody(report,data));
-// b.append(createReportHeader(report,data));
-// return b.toString();
-// }
-// /**
-// * 鍒涘缓鎶ヨ〃鐨勫ご閮細涓� 涓嬪ご閮�
-// * @param report
-// * @param data
-// * @return
-// */
-// private String createReportHeader(FieldSetEntity report,DataTableEntity data,Map<String,Object> field_value) {
-//
-// }
-// /**
-// * 鍒涘缓鎶ヨ〃鐨勪富浣�
-// * @param report
-// * @param data
-// * @return
-// */
-// private String createCommonReportBody(FieldSetEntity report,DataTableEntity data) {
-//
-// }
-// /**
-// * 鍒涘缓鎶ヨ〃鐨勪富浣�
-// * @param report
-// * @param data
-// * @return
-// */
-// private String createCrossReportBody(FieldSetEntity report,DataTableEntity data) {
-//
-// }
-// /**
-// * 鍒涘缓鎶ヨ〃鐨勪富浣�
-// * @param report
-// * @param data
-// * @return
-// */
-// private String createGroupReportBody(FieldSetEntity report,DataTableEntity data) {
-//
-// }
-
-
-
- /**
- * 鍒嗙粍鎶ヨ〃鑷姩鏍规嵁Report鏁版嵁杩涜鍒嗙粍
- * 鍦ㄨ皟鍒涘缓鎶ヨ〃鍓嶏紝闇�瀵规姤琛ㄩ厤缃暟鎹繘琛岄獙璇侊紝閿欒淇℃伅鐩存帴鏄剧ず鍦ㄧ晫闈腑銆傚惁鍒欑┖鏄撳嚭閿欍�係tring checked=this.toCheckReport();
- * @return
- * @throws BaseException
- */
- public String toCreateGroupReport() throws BaseException{
- StringBuffer html=new StringBuffer();
- String fixHeader[]=null;
- if(report.isFixHeader()){
- fixHeader=fixHeader();
- }
- if(fixHeader!=null && fixHeader.length>0){
- html.append(fixHeader[0]);
- }
- html.append(" <table class='htmlReport' id='bill' cellspacing='0' cellpadding='0' border='0' style='width:").append(report.getWidth()==0?"100%":report.getWidth()+"px").append("'>");
- //涓嶆槸鍥哄畾琛ㄥご
- if(!report.isFixHeader()){html.append(createTitleNew());}
-// html.append(createTitle());
- if(fixHeader!=null && fixHeader.length>1){
- html.append(fixHeader[1]);
- }
- html.append(createBody());
- html.append("</table>");
- if(fixHeader!=null && fixHeader.length>2){
- html.append(fixHeader[2]);
- }
- if(fixHeader!=null ){//涓嶈兘璋冨埌init鏂规硶
- //html.append(fixHeaderScrollScript());
- }
- //html.append(appendOnloadMethod());//js娉曞姞
- //System.out.println("appendOnloadMethod:"+appendOnloadMethod());
- //html.append(this.rowClickColorScript());//js娉曞姞
- //System.out.println("rowClickColorScript:"+this.rowClickColorScript());
-// html.append("<script type='text/javascript'>");
-// if(report.getWidth()>0){
-// html.append("document.getElementById('div_form_body').style.width='").append(report.getWidth()).append("px';");
-// }
-// html.append("</script>");
- //System.out.println(" +++++++++++++++++++++++++++++++++ htm:"+html.toString());
- if(report.isPage())
- return html+toPageHtml(report.getTotalRow(),report.getCurrentPage(),report.getPageSize());
- else
- return html.toString();
- }
- /**
- * 鍥哄畾琛ㄥご鍚庯紝宸﹀彸婊氬姩鏃讹紝琛ㄥご鍚屾婊氬姩
- * @return
- */
- private String fixHeaderScrollScript(){
- StringBuffer html=new StringBuffer();
- html.append("<script type='text/javascript'>");
- html.append("init();");
- html.append("</script>");
- return html.toString();
- }
- /**
- * 鍥哄畾琛ㄥご
- * @return
- */
- private String[] fixHeader(){
- StringBuffer html=new StringBuffer();
- html.append(" <div class='table-head' id='headdiv'>");
- html.append(" <table class='htmlReport' id='bill' cellspacing='0' cellpadding='0' border='0' style='width:").append(report.getWidth()==0?"100%":report.getWidth()+"px").append("'>");
-// html.append(" <colgroup>");
-// html.append(" <col style='width: 80px;'><col style='width: 300px;'><col>");
-// html.append(" </colgroup>");
- String colgroup=createFixTitleColgroup();
- html.append(colgroup);
- html.append(" <thead>");
- //html.append(" <tr><th>搴忓彿</th><th>鍐呭</th><th>鍐呭</th></tr>
- html.append(createTitleNew());
- html.append(" </thead>");
- html.append(" </table>");
- html.append(" </div>");
- html.append(" <div class='table-body' id='bodydiv'> ");
- return new String[]{html.toString(),colgroup,"</div>"};
-
- }
- /**
- * 鍒涘缓鏍囬鏍忥紝澶氱骇鏍囬锛屾敮鎸佸悎骞舵爣棰� 6.5
- * @return
- */
- private String createFixTitleColgroup(){
- StringBuffer title=new StringBuffer();
- title.append("<colgroup>");
- if(report.getTitle()!=null){
- //int width[]=new int[report.getTitle()[report.getTitle().length-1].length];//鏈�鍚庝竴琛�
- int width[]=report.getColWidth();
-// for(int i=0;i<report.getTitle().length;i++ ){//澶氱骇琛ㄥご
-// for(int j=0;j<report.getTitle()[i].length;j++){//姣忎竴鍒楁爣棰�
-// if(report.getRowspan()[i][j]>0&&report.getColspan()[i][j]>0){ //琚悎骞剁殑琛屽彲鍒� 璁剧疆涓�0
-// int c = computeTitleColWidth(i,j);
-// if(c > width[j]&&i==report.getTitle().length-1){
-// width[j] = c;
-// }
-// }
-// }
-// }
- for(int i=0;i < width.length;i++){
-// if(i != width.length-1)
- title.append("<col style='width:").append(width[i]).append("%'>");
-// else
-// title.append("<col>");
- }
- }
- title.append("</colgroup>");
- return title.toString();
- }
- public String getReportTitle(){
- StringBuffer html=new StringBuffer();
- html.append(" <table class='htmlReport' id='bill' cellspacing='0' cellpadding='0' border='0' style='width:").append(report.getWidth()==0?"100%":""+report.getWidth()).append("px'>");
- html.append(createTitleNew());
- html.append("</table>");
- return html.toString();
-
- }
- public String getTableHeader(){
- StringBuffer html=new StringBuffer();
- html.append(" <table class='htmlReport' id='bill' cellspacing='0' cellpadding='0' border='0' style='width:").append(report.getWidth()==0?"100%":""+report.getWidth()).append("px'>");
- html.append(createTitleNewForShow());
- html.append("</table>");
- return html.toString();
- }
- /**
- * 鍒涘缓鏍囬鏍忥紝澶氱骇鏍囬锛屾敮鎸佸悎骞舵爣棰� 6.5
- * @return
- */
- private String createTitleNewForShow(){
- StringBuffer title=new StringBuffer();
-// title.append("<tHead>");
- if(report.getTitle()!=null){
- for(int i=0;i<report.getTitle().length;i++ ){//澶氱骇琛ㄥご
-// title.append(" <tr id='titletr").append(i+1).append("' onClick='selectAllRowCheckbox(this)'>");
- title.append(" <tr bordercolor='#CCCCCC' align='center' height='26px' class='table_tr_head styleBgColor styleBorderColor'>");
- for(int j=0;j<report.getTitle()[i].length;j++){//姣忎竴鍒楁爣棰�
- if(report.getRowspan()[i][j]>0&&report.getColspan()[i][j]>0){ //琚悎骞剁殑琛屽彲鍒� 璁剧疆涓�0
- title.append(" <th align='center' rowspan='").append(report.getRowspan()[i][j])
- .append("' colspan='").append(report.getColspan()[i][j])
- .append("' class='VLocked styleBgColor styleBorderColor' style='text-align:center;BORDER:#CCCCCC 1px solid;width:").append(computeTitleColWidth(i,j)).append("%'>")
- .append(report.getTitle()[i][j]).append("</th>");
- }
- }
- title.append(" </tr>");
- }
- }
- //System.out.println("title:"+title.toString());
-// title.append("</tHead>");
- return title.toString();
- }
- /**
- * 鍒涘缓鏍囬鏍忥紝澶氱骇鏍囬锛屾敮鎸佸悎骞舵爣棰� 6.5
- * @return
- */
- private String createTitleNew(){
- StringBuffer title=new StringBuffer();
-// title.append("<tHead>");
- if(report.getTitle()!=null){
- for(int i=0;i<report.getTitle().length;i++ ){//澶氱骇琛ㄥご
-// title.append(" <tr id='titletr").append(i+1).append("' onClick='selectAllRowCheckbox(this)'>");
- title.append(" <tr bordercolor='#CCCCCC' align='center' height='26px' class='table_tr_head styleBgColor styleBorderColor'>");
- for(int j=0;j<report.getTitle()[i].length;j++){//姣忎竴鍒楁爣棰�
- if(report.getRowspan()[i][j]>0&&report.getColspan()[i][j]>0){ //琚悎骞剁殑琛屽彲鍒� 璁剧疆涓�0
- title.append(" <th align='center' rowspan='").append(report.getRowspan()[i][j])
- .append("' colspan='").append(report.getColspan()[i][j])
- .append("' class='VLocked styleBgColor styleBorderColor' style='text-align:center;BORDER:#CCCCCC 1px solid;width:").append(computeTitleColWidth(i,j)).append("%'>")
- .append(report.getTitle()[i][j]).append("</th>");
- }
- }
- title.append(" </tr>");
- }
- }
- //System.out.println("title:"+title.toString());
-// title.append("</tHead>");
- return title.toString();
- }
-
- /**
- * 鍒涘缓鏍囬鏍忥紝澶氱骇鏍囬锛屾敮鎸佸悎骞舵爣棰�
- * @return
- */
- private String createTitle(){
- StringBuffer title=new StringBuffer();
- title.append("<tHead>");
- if(report.getTitle()!=null){
- for(int i=0;i<report.getTitle().length;i++ ){//澶氱骇琛ㄥご
- title.append(" <tr bordercolor='#CCCCCC' id='titletr").append(i+1).append("' onClick='selectAllRowCheckbox(this)'>");
- for(int j=0;j<report.getTitle()[i].length;j++){//姣忎竴鍒楁爣棰�
- if(report.getRowspan()[i][j]>0&&report.getColspan()[i][j]>0){ //琚悎骞剁殑琛屽彲鍒� 璁剧疆涓�0
- title.append(" <td align='center' rowspan='").append(report.getRowspan()[i][j])
- .append("' colspan='").append(report.getColspan()[i][j])
- .append("' style='background:url(/com/report/img/thead_bg_tt.jpg);' width='").append(computeTitleColWidth(i,j)).append("%'>")
- .append(report.getTitle()[i][j]).append("</td>");
- }
- }
- title.append(" </tr>");
- }
-
- }
- title.append("</tHead>");
- return title.toString();
- }
- /**
- * 璁$畻鏍囬鍒楃殑瀹藉害
- * @param titleRow
- * @param titleCol
- * @return
- */
- private int computeTitleColWidth(int titleRow,int titleCol){
- int colspan=report.getColspan()[titleRow][titleCol];
- int startColIndex=0;//鍚堝苟鍒楃殑寮�濮嬪垪
- int endColIndex=0;//鍚堝苟鍒楃殑缁撴潫鍒�
- int width=0;//鍒楃殑瀹藉害
- for(int i=0;i<titleCol;i++){//
- startColIndex+=report.getColspan()[titleRow][i];
- }
- endColIndex=startColIndex+colspan;
- for(int i=startColIndex;i<endColIndex;i++){
- width+=report.getColWidth()[i];
- }
-
- return width;
- }
- /**
- * 鍒涘缓缁熻涓昏鍐呭
- * @return
- * @throws BaseException
- */
- private String createBody() throws BaseException{
- StringBuffer body=new StringBuffer();
- //璁板綍鍒嗙粍瀛楁鐨勫悎璁″��
- Map<String,double[]> totalValue =initTotal();
- //璁板綍鍒嗙粍瀛楁鐨勪笂涓�鏉′笉鍚岀殑鍊�
- String oldGroupValue[]=new String [report.getField().length];
- //璁板綍鍒嗙粍瀛楁涓婁竴鏉′笉鍚屽�肩殑涓嬫爣
- int groupIndex[]=new int [report.getField().length];
- //璁板綍鍒嗙粍瀛楁涓婁竴鏉′笉鍚屽�肩殑鍚堝苟琛屾暟锛屾寚 瀹歳owspan
- int groupRow[][]=new int [report.getDt().getRows()][report.getField().length];
- //璁板綍鍗曞厓鏍兼槸鍚堝苟
- StringBuffer rowSpan=new StringBuffer();
-
- body.append("<tbody>");
- //logger.error("鎬昏锛�"+report.getDt().getRow());
- for(int i=0;report.getDt()!=null&& i<report.getDt().getRows();i++){
- FieldSetEntity f=report.getDt().getFieldSetEntity(i);
- //--------merge------------
- String group[]=oldGroupValue.clone();
- //--------merge------------
- body.append(createTotalRow(i,totalValue,oldGroupValue,groupIndex,groupRow,f,false,body));
-
- body.append("<tr name='trs").append(i).append("' id='trs").append(i).append("' class='scrollColThead' bordercolor='#CCCCCC'>");
- StringBuffer groupv=new StringBuffer();
- for(int j=0;j<report.getField().length;j++){
-
- Object value=f.getValue(report.getField()[j]);
- //--------merge------------
- if(j<=report.getMaxGroupFieldIndex()){
- if(groupv.length()>0)groupv.append("_");
- groupv.append(value==null?"":value);
- }
-
- if(j<=report.getMaxGroupFieldIndex() && groupv.toString().equals(group[j]) ) //褰撳墠鍒嗙粍瀛楁鍊间笌鍓嶄竴鏉℃暟鎹殑鍚屼竴鍒嗙粍瀛楁鐨勪笉鐩哥瓑锛岃〃绀鸿鍒嗙粍鍚堣
- {
- continue; //鍒嗙粍瀛楁锛屽鏄笉鏄涓�鏉★紝涓嶇敓鎴恡d
- }
- //-------------------------
- body.append("<td class='all_biaodan_td' align='center' height='28px' id='").append(report.getField()[j]).append(i).append("'");
- if(j<=report.getMaxGroupFieldIndex() && !groupv.toString().equals(group[j]) ) //褰撳墠鍒嗙粍瀛楁鍊间笌鍓嶄竴鏉℃暟鎹殑鍚屼竴鍒嗙粍瀛楁鐨勪笉鐩哥瓑锛岃〃绀鸿鍒嗙粍鍚堣
- {
- body.append(" rowspan='").append(report.getField()[j]).append(i).append("'");//鍗犲灏戣
- }
- body.append(" width='").append( report.getColWidth()[j]).append("%'")//鍒楀
- .append(" style='BACKGROUND-COLOR:#FFFFFF;text-align:")
- .append(report.getAligh()==null||report.getAligh()[j]==null?"center":report.getAligh()[j])
- .append("; '>");
- if(report.getUrl()!=null&&report.getUrl()[j]!=null){
- body.append("<a href='#this' onclick='show(\"").append(urlReplaceParameter(report.getUrl()[j],f)).append("\",this)'>");// 绌� 閫忔煡璇㈠湴鍧�
- }
- body.append(value==null?"":formatData(value,j));//鍊�
- if(report.getUrl()!=null&&report.getUrl()[j]!=null){
- body.append("</a>");
- }
- body.append("</td>\r\n");
-
- if(report.getTotalField()!=null && report.getTotalField()[j]){//鍚堣瀛楁
- toAddTotalValue(totalValue,j,f.getDouble(report.getField()[j]),"SUM");//鍒嗙粍瀛楁鐨勫悎璁★紝鍦ㄤ笉鍚岀殑缁勬椂锛屼細娓呯┖
- }
-
- }
-
- body.append("</tr>");
- }
- //鏈�鍚庝竴琛屽悗闈㈠啀鐢熸垚缁熻
- if(report.getGroupField()!=null&&report.getDt().getRows()>0){
- int lastRow=report.getDt().getRows()-1;
- body.append(createTotalRow(lastRow+1,totalValue,oldGroupValue,groupIndex,groupRow,null,true,body));
- }
- //鏈�鍚庣敓鎴愪竴琛屾�荤殑缁熻
- if(report.isTotal()&&totalValue!=null)
- body.append(createTotalAll(totalValue));
- body.append("</tbody>");
- //鏈�鍚庣敓鎴� 鍚堝苟琛宩avascript鑴氭湰
- for(int k=0;report.getMaxGroupFieldIndex()>=0&&k<groupRow.length;k++){
- for(int m=0;m<=report.getMaxGroupFieldIndex();m++){
- //濡傛灉鍙湁涓�鏉℃暟鎹紝涓嶇敤娣诲姞鍒嗙粍瀛楁
- if(groupRow[k][m]<=1) continue;
- if(rowSpan.length()>0)rowSpan.append("~");
- //琛屼笅鏍�=瀛楁鍚�+琛屼笅鏍�=鍚堝苟琛屾暟=鍒椾笅鏍�
- rowSpan.append(k).append("=").append(report.getField()[m]).append(k).append("=").append(groupRow[k][m]).
- append("=").append(m);
- }
- }
- body.append("<input type='hidden' value='").append(rowSpan).append("' id='mergeRows'>");
- body.append("<input type='hidden' value='").append(report.getMaxGroupFieldIndex()).append("' id='maxGroupFieldindex'>");
- if(report.isShowTotalRow()){
- body.append("<input type='hidden' value='true' id='isShowmergeRows'>");
- }
- //logger.error("===="+body);
- return body.toString();
- }
-
- /**
- * 鏍煎紡鍖栨暟鎹�
- * @param i
- * @param j
- * @return
- */
- private Object formatData(Object value ,int j){
- //logger.error("鏁版嵁鏍煎紡鍖�1锛�"+value+" "+j );
- String format=report.getFormat()[j];
- //logger.error("鏁版嵁鏍煎紡鍖�2锛�"+j+" "+format);
- try{
- if(value==null||format==null||"".equals(value.toString().trim())){//瀛楃涓�
- return value;
- }else if(format.indexOf("#")==0&&format.indexOf("%")>0){//鐧惧垎姣�
- df.applyPattern(format);
- return df.format(Double.parseDouble(value.toString()));
- }else if(format.indexOf("#")>=0){//鏁板瓧
- df.applyPattern(format);
- Object o=df.format(Double.parseDouble(value.toString()));
- //logger.error("鏁版嵁鏍煎紡鍖�3锛�"+j+" "+o);
- return o;
- }else {//鏃ユ湡
- this.format=new SimpleDateFormat(format);
- return this.format.format((Date)value);
- }
- }catch(Exception e){
- e.printStackTrace();
- return value;
- }
- }
- /**
- * 鐢熸垚鎬荤殑鍚堣
- * @return
- */
- private String createTotalAll(Map<String,double[]> totalValue){
- StringBuffer total=new StringBuffer();
- double tv[]=(double[])totalValue.get("all");
- if(report.getTotalField()!=null){
- total.append("<tr class='scrollColThead' bordercolor='#CCCCCC'>");
- int v=0;
- boolean b=true;
- for(int i=0;i<report.getField().length;i++){
- if(report.getTotalField()[i]){
- b=false;
- total.append("<td class='all_biaodan_td' align='center' width='").append( report.getColWidth()[i])//鍒楀
- .append("%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:")
- .append(report.getAligh()==null||report.getAligh()[i]==null?"center":report.getAligh()[i])
- .append("; '> ")
- .append(formatData(tv[i],i))//鍊�
- .append("</td>");
- }else if(i==0){
- total.append("<td colspan='[total]' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center'>鎬昏锛�</td>");
- v++;
- }else if(!b){
- total.append("<td > </td>");
- }else {
- v++;
- }
- }
- total.append("</tr>");
- int c=total.indexOf("[total]");
- if(c>=0)
- total.replace(c, c+7, (v==0?1:v)+"");
- }
- return total.toString();
- }
- /**
- * 鏈�鍚庝竴涓垎缁勫瓧娈垫墠鎵ц鐢熸垚鍚堣琛�
- * 骞朵笖浠庢渶鍚庝竴涓垎缁勫瓧娈靛線鍓嶇敓鎴愶紝渚嬪锛氬叕鍙搞�侀儴闂ㄣ�佷汉鍛樹笁涓垎缁勫瓧娈碉紝浠庝汉鍛樸�侀儴闂ㄣ�佸叕鍙告墽琛�
- * @param rowIndex
- * @param fieldIndex
- * @param totalValue
- * @param oldGroupValue
- * @param groupIndex
- * @param groupRow
- * @return
- */
- private StringBuffer createTotalRow(int i,Map<String,double[]> totalValue,String oldGroupValue[],int groupIndex[],int groupRow[][],FieldSetEntity values,boolean isEnd,StringBuffer body) throws BaseException{
- StringBuffer group=new StringBuffer();
- int colspan=0;
-
-// for(int c=0;c<=report.getMaxGroupFieldIndex();c++){
- for(int c=report.getMaxGroupFieldIndex();c>=0;c--){
- //濡傛灉涓嶆槸鍒嗙粍瀛楁锛屽垯杩斿洖
- if(report.getGroupField()==null || !report.getGroupField()[c]){
- return group;
- }
- StringBuffer temp=new StringBuffer();
- //鍙栧垎缁勫瓧娈靛強鍓嶉潰鐨勫垎缁勫瓧娈靛�� 缁勫悎
- StringBuffer groupv=new StringBuffer();
- for(int b=0;b<=c;b++){
- if(groupv.length()>0)groupv.append("_");
- groupv.append(values==null?"":values.getString(report.getField()[b]));
- }
- if( i>0){ //绗竴鏉℃暟鎹笉鐢ㄧ粺璁� 锛屼粠绗簩鏉℃暟鎹紑濮�
- groupRow[groupIndex[c]][c]=groupRow[groupIndex[c]][c]+1;
-
- if(!groupv.toString().equals(oldGroupValue[c]) //褰撳墠鍒嗙粍瀛楁鍊间笌鍓嶄竴鏉℃暟鎹殑鍚屼竴鍒嗙粍瀛楁鐨勪笉鐩哥瓑锛岃〃绀鸿鍒嗙粍鍚堣
- ||isEnd //鏄惁涓烘暟鎹泦鐨勬槸鏈�鍚庝竴鏉�
- ){
- //logger.error("褰撳墠鍒楋細"+c+" 鍚堝苟琛屾暟锛�"+groupRow[groupIndex[c]][c]);
- if(groupRow[groupIndex[c]][c]>1) {
- temp.append("<tr name='trs00").append(groupIndex[c]).append(c).append("' id='trs00").append(groupIndex[c]).append(c).append("' class='scrollColThead' bordercolor='#CCCCCC'>");
- colspan=report.getMaxGroupFieldIndex()-c+1;
- temp.append(" <td name='merg' colspan=")
- .append(colspan).append(" style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:")
- .append(report.getAligh()==null||report.getAligh()[c]==null?"center":report.getAligh()[c])
- .append(";'>")
- .append(oldGroupValue[c])
- .append(" 鍚堣:</td>");
- //寰幆鍒嗙粍瀛楁鍚庣殑鏁版嵁缁熻瀛楁
- for(int k=report.getMaxGroupFieldIndex()+1;k<report.getField().length;k++){
- if(report.getTotalField()!=null&&report.getTotalField()[k]){//濡傛灉缁熻瀛楁锛屾樉绀哄悎璁″�硷紝鍚﹀垯鏄剧ず绌烘牸
- double tv[]=(double[])totalValue.get(report.getField()[c]);
- temp.append(" <td align='center' width='").append(report.getColWidth()[k]).append("%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:")
- .append(report.getAligh()==null||report.getAligh()[c]==null?"center":report.getAligh()[c])
- .append(";'>").append(formatData(tv[k],k)).append("</td>");
- }else{
- temp.append(" <td align='center' width='").append(report.getColWidth()[k]).append("%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:")
- .append(report.getAligh()==null||report.getAligh()[c]==null?"center":report.getAligh()[c])
- .append(";'> </td>");
- }
- temp.append("\r\n");
- }
- temp.append(" </tr>");
- //鍚堣琛岀粨鏉�
- //鍚屾椂褰撳墠鍒嗙粍鍓嶉潰鐨勫垎缁勫瓧娈电殑rowspan瑕佸姞1
- for(int m=c-1;m>=0;m--){
- groupRow[groupIndex[m]][m]=groupRow[groupIndex[m]][m]+1;
- }
- }
- String rspan="rowspan='"+report.getField()[c]+groupIndex[c]+"'";
- String rowspanNum="rowspan='"+ (groupRow[groupIndex[c]][c]) +"'";
- int rowspan=body.indexOf(rspan);
-
- if(rowspan>0) {
- if(groupRow[groupIndex[c]][c]>1) {
- body.replace(rowspan,rowspan+rspan.length(),rowspanNum);//鏇挎崲鎴愯鏁�
- }else {
- body.replace(rowspan,rowspan+rspan.length(),"");//鏇挎崲鎴愮┖
- }
- }
-
- if(i < groupRow.length) {
- groupIndex[c]=i;
- }
- totalValue.put(report.getField()[c],new double[report.getField().length]);
- }
-
- }
- else{
- groupIndex[c]=i;
-// groupRow[i][c]+=1;
- }
- oldGroupValue[c]=groupv.toString();
- group.append(temp);
- }
- return group;
- }
- /**
- * 娣诲姞鍚堣鏁版嵁
- * @param m
- * @param index
- * @param d
- */
- private void toAddTotalValue(Map<String,double[]> m,int index,Double d,String type){
- Iterator<String> keys=m.keySet().iterator();
- while(keys.hasNext()){
- Object key=keys.next();
- double ds[]=(double[])m.get(key);
- if("SUM".equals(type)){//缁熻绫诲瀷 鍙互鏄钩鍧囨暟 鍚堣
- ds[index]+=d==null?0.0:d.doubleValue();
- }
- m.put(key.toString(), ds);
- }
- }
- /**
- * 鍒濆鍖栧悎璁″彉閲忥紝鏍规嵁鍒嗙粍瀛楁
- * @return
- */
- private Map <String,double[]> initTotal(){
- Map <String,double[]> m=new HashMap<String,double[]>();
- for(int i=0;report.getGroupField()!=null&&i<report.getGroupField().length;i++){
- if(report.getGroupField()[i]){
- m.put(report.getField()[i],new double[report.getField().length]);
- }
- }
- m.put("all", new double[report.getField().length]);//鍏ㄩ儴鍚堣
- return m;
- }
- /**
- * URL璁剧疆涓惈鍙橀噺鍙傛暟鐨勶紝鐢ㄦ煡鍑烘潵鍊兼浛鎹�
- * @param url
- * @param f
- * @return
- */
- private String urlReplaceParameter(String url,FieldSetEntity f) throws BaseException{
- int index=-1;
- while((index=url.indexOf("~"))>=0){
- int end=url.indexOf('~', index+1);
- if(end>0&&end>index){
- String dfield=url.substring(index, end+1);//#{xxx}
- //String field=url.substring(index+1, end);//鍙栧嚭瀛楁鍚�
- String field=dfield.replaceAll("~","");
- //System.out.println(dfield+"|"+field);
- if("".equals(field.trim())||f.getValue(field)==null){
- url=url.replaceFirst(dfield,"");
- }else{
- url=url.replaceFirst(dfield, f.getString(field));
- }
- }
- }
- return url;
- }
- /**
- * 椤甸潰鍒濆鍔犺浇璋冪敤鏂规硶
- * @param method
- */
- public String appendOnloadMethod(){
- //System.out.println("-----------------------杩涘叆 appendOnloadMethod()");
- StringBuilder b=new StringBuilder();
- b.append("<script type='text/javascript'>\n\r");
- b.append("window.onload=function(){\n\r");
- //-----------------------------------
- b.append("rowSelectedColor();//瀵规瘡琛屽垵濮嬪叧棰滆壊鍙樺寲鐨勪簨浠舵柟娉昞n\r");
- if(report.getOnloadMethod()!=null)b.append(report.getOnloadMethod());
- b.append("\n\r");
- b.append("alert(22);\n\r");
- //-----------------------------------
- b.append("}\n\r");
- b.append("</script>\n\r");
- return b.toString();
- }
- /**
- * 娣诲姞鏁版嵁琛岄�変腑棰滆壊鍙樺寲鐨刯avascript 浠g爜
- * @return
- */
- public String rowClickColorScript(){
- //System.out.println("-----------------------杩涘叆 rowClickColorScript()");
- StringBuilder b=new StringBuilder();
- b.append("<script type='text/javascript'>\n\r");
- //琛屾坊鍔犱簨浠�
- b.append("function rowSelectedColor(){\n\r");
- b.append("var trs=document.getElementsByName('trs');\n\r");
- b.append("for(var i=0;i<trs.length;i++){\n\r");
- b.append("trs[i].onmouseover='changeActiveRow(this)';\n\r");
- b.append("trs[i].onclick='changeActiveRow(this)';\n\r");
- b.append("trs[i].onmousehover='changeActiveRow(this)';\n\r");
- b.append("alert(i);\n\r");
- b.append("}\n\r");
- b.append("}\n\r");
-
- //----------------------------------------
- b.append("var currentActiveRow; //褰撳墠娲诲姩琛孿n\r");
- b.append("//鏀瑰彉閫変腑琛岀殑棰滆壊\n\r");
- b.append("function changeActiveRow(obj) {\n\r");
- b.append("if (currentActiveRow) {\n\r");
- b.append("currentActiveRow.style.backgroundColor = '';\n\r");
- b.append("}\n\r");
- b.append("currentActiveRow = obj;\n\r");
- b.append("currentActiveRow.style.backgroundColor = '#F2F2F2';\n\r");
- b.append("}\n\r");
- b.append("</script>\n\r ");
- return b.toString();
- }
-
- /**
- * 瀵规姤閰嶇疆鐨勬暟鎹繘琛岄獙璇�
- * @return 楠岃瘉閫氳繃锛屽垯杩斿洖绌哄�硷紝濡傛灉鏈夐敊璇紝鍒欒繑鍥為敊璇俊鎭��
- */
- public String toCheckReport(){
-
- //楠岃瘉鏈�鍚庤鏍囬鐨勫垪鏁颁笌鍓嶉潰鏍囬琛岀殑 鍒楁暟鐩稿悓
-
- if(report==null)
- return "鏈纭厤缃姤琛ㄥ弬鏁般��";
- if(report.getTitle()==null
- || report.getColspan()==null
- || report.getRowspan()==null
- || report.getField()==null
- || report.getColWidth()==null
- || report.getDt()==null
- || report.getFormat()==null
- ){
-
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌itle銆乧olspan銆乺owspan銆乧olWidth銆乫ormat銆乨t鏈夌┖鍊笺��";
- }
- if(report.getTitle().length!=1){
- //System.out.println(report.getTitle().length+"|"+report.getColspan().length+"|"+report.getRowspan().length);
- //System.out.println(report.getTitle()[0].length+"|"+report.getColspan()[0].length+"|"+report.getRowspan()[0].length);
- if(report.getTitle().length!=report.getColspan().length
- ||report.getTitle().length!=report.getRowspan().length
- ||report.getRowspan().length!=report.getColspan().length
- || report.getTitle()[0].length!=report.getColspan()[0].length
- ||report.getTitle()[0].length!=report.getRowspan()[0].length
- ||report.getRowspan()[0].length!=report.getColspan()[0].length
- ){
-
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌itle銆乧olspan銆乺owspan鐨勬暟缁勯暱搴�";
-
- }
-
- }
- if(report.getTitle()[0].length!=report.getField().length
- ||(report.getGroupField()!=null&&report.getGroupField().length!=report.getField().length)
- ||(report.getTotalField()!=null&&report.getTotalField().length!=report.getField().length)
- ||report.getColWidth().length!=report.getField().length
- ||report.getFormat().length!=report.getField().length
- ){
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌itle銆丗ield鐨勬暟缁勯暱搴�";
- }
- //楠� 璇佸悎骞跺垪锛屾�诲悎骞跺垪鏁颁笉鑳藉ぇ浜庢墍鏈夊瓧娈垫暟
- for(int i=0;i<report.getColspan().length;i++){
- if(report.getColspan()[0][0]<=0){
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ュ悎骞跺垪璁剧疆锛岀涓�涓暟瀛椾笉鑳藉皬浜庣瓑浜�0.";
- }
- boolean flat=false;
- int index=0;
- int tcol=0;
- for(int j=0;j<report.getColspan()[i].length;j++){
- if(report.getColspan()[i][j]>1){
- index=j+report.getColspan()[i][j];
- flat=true;
- tcol+=report.getColspan()[i][j];
- }else if(flat&&j<index&&report.getColspan()[i][j]!=0){
-
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ュ悎骞跺垪璁剧疆锛屽悎骞跺垪鍚庨潰闇�璁剧疆鍚堝苟鍒楁暟绛夊悓鐨�0銆�";
- }else{
- tcol+=report.getColspan()[i][j];
- flat=false;
- index=0;
- }
- }
-// if(tcol != report.getField().length){
-// return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ユ�诲悎骞跺垪鏁伴渶涓庢�诲瓧娈垫暟鐩哥瓑銆�";
-// }
- }
- //楠� 璇佸悎琛�
- for(int i=0;i<report.getRowspan().length;i++){
-
- for(int j=0;j<report.getRowspan()[i].length;j++){
- if(i==0&&j==0&&report.getRowspan()[i][j]<=0){
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ュ悎骞惰璁剧疆锛岀涓�涓鍚堝苟琛屾暟蹇呴』澶т簬绛変簬1.";
- }
- if(report.getRowspan()[i][j]>report.getRowspan().length){
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ュ悎骞惰璁剧疆锛屽悎骞惰鏁颁笉鑳藉ぇ浜庢爣棰樻�昏鏁�.";
- }
- if(report.getRowspan()[i][j]>1){
- for(int k=i+1;k<report.getRowspan().length;k++){
- if(report.getRowspan()[k][j]!=0){
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ュ悎骞惰璁剧疆锛岃鍚堝苟琛岀殑鍚堝苟鍒楀繀椤讳负0.";
- }
- }
- }
- }
- }
- int width=0;
- for(int i=0;i<report.getColWidth().length;i++){
- width+=report.getColWidth()[i];
- }
- if(width!=100){
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ュ垪瀹藉害锛屽垪瀹藉害鍚堣绛変簬100銆�";
- }
- return null;
- }
- /**
- * 鐢熸垚鍒嗛〉浠g爜
- * @return
- */
- public String toPageHtml(int total,int current,int pageSize){
- if(current==0)current=1;
- int next=current+1;
- pageSize=pageSize<1?100:pageSize;
- int pages=total/pageSize;
- pages+=(total%pageSize)>0?1:0;
- if(next>pages) next=pages;
- int pre=current-1;
- if(pre==0)pre=1;
-
- StringBuffer page=new StringBuffer();
- page.append("<div class=\"pageBg clearfix\" style=\"bottom: 0; z-index: 99\"> ");
- page.append("<ul class=\"page fl\">");
- page.append("<li> ");
- if(current==1){
- page.append("<a tabindex=\"-1\" href=\"#this\" title=\"棣栭〉\" class=\"styleBorderColor disable_gray\"><span class=\"fe-font icon-036\"></span></a>");
- page.append("<a tabindex=\"-1\" href=\"#this\" title=\"涓婁竴椤礬" class=\"styleBorderColor disable_gray\"><span class=\"fe-font icon-032\"></span></a>");
- }else{
- page.append("<a tabindex=\"-1\" href=\"#this\" class=\"styleBorderColor styleHoverLightBgColor\" title=\"棣栭〉\" onclick=\"JumpToPageNew('1')\"><span class=\"fe-font icon-036\"></span></a>");
- page.append("<a tabindex=\"-1\" href=\"#this\" class=\"styleBorderColor styleHoverLightBgColor\" title=\"涓婁竴椤礬" onclick=\"JumpToPageNew('").append(pre).append("')\"><span class=\"fe-font icon-032\"></span></a>");
- }
- int m=current-2;
- int e=current+2;
- if(m<=0)e+=(m*-1)+1;
- if(e>pages)
- m=current-2-(e-pages);
- for(int i=m;i<=e;i++){
- if(i>0&&i<=pages){
- page.append("<a tabindex=\"-1\" href=\"#this\" class=\"styleBorderColor ").append(i==current?"btn_on":"").append(" styleBgColor styleHoverLightBgColor\"").append(" onclick=\"JumpToPageNew('").append(i).append("')\">").append(i).append("</a>");
- }
- }
- if(current!=pages){
- page.append("<a tabindex=\"-1\" href=\"#this\" class=\"styleBorderColor styleHoverLightBgColor\" title=\"涓嬩竴椤礬" onclick=\"JumpToPageNew('").append(next).append("')\"><span class=\"fe-font icon-033\"></span></a>");
- page.append("<a tabindex=\"-1\" href=\"#this\" class=\"styleBorderColor styleHoverLightBgColor\" title=\"灏鹃〉\" onclick=\"JumpToPageNew('").append(pages).append("')\"><span class=\"fe-font icon-037\"></span></a>");
- }else{
- page.append("<a tabindex=\"-1\" title=\"涓嬩竴椤礬" class=\"styleBorderColor disable_gray\"><span class=\"fe-font icon-033\"></span></a>");
- page.append("<a tabindex=\"-1\" title=\"灏鹃〉\" class=\"styleBorderColor disable_gray\"><span class=\"fe-font icon-037\"></span></a>");
- }
- page.append("</li>");
- page.append("</ul>");
- page.append("<div class=\"fr page_num\">");
- page.append("<span class=\"fl\">鍏�").append(total).append("鏉�</span> ");
- page.append("<span class=\"fl\">鍏�").append(pages).append("椤�</span>");
- page.append("<span class=\"fl\" id=\"pageShowCountLabel\">姣忛〉鏄剧ず ").append(pageSize).append("鏉�</span>");
- page.append("</div>");
- page.append("<input type=\"hidden\" id=\"current\" name=\"current\" />");
- page.append("</div>");
- return page.toString();
- }
- /**
- * 璁$畻鍒嗛〉鐨勫紑濮嬫暟 鍜岀粨鏉熸暟
- * @param pageSize
- * @param current
- * @return
- */
- public int[] pageNumber(int pageSize,int current){
- pageSize=pageSize<=0?100:pageSize;
- int start=(current-1) * pageSize;
- int end=current * pageSize;
- return new int[]{start,end};
- }
- public Report getReport() {
- return report;
- }
-
- public void setReport(Report report) {
- this.report = report;
- }
- public static void main(String srt[]){
- StringBuffer c=new StringBuffer();
- c.append("YD_0145");
- String cc="YD_0145";
- if(!c.toString().equals(cc)){
- System.out.println("-----------");
- }
- StringBuffer body=new StringBuffer();
- body.append("<tbody><tr id='trs0' class='scrollColThead' bordercolor='#CCCCCC'><td class='all_biaodan_td' align='center' height='28px' id='鍟嗗搧鍒嗙被0' rowspan='SG05415' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>闆风</td><td class='all_biaodan_td' align='center' height='28px' id='鍟嗗搧鍚嶇О0' rowspan=1绉�' width='10%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>12绫虫櫘閫氭绉掑鐖嗙闆风c</td><td class='all_biaodan_td' align='center' height='28px' id='瑙勬牸鍨嬪彿0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>1脳100</td><td class='all_biaodan_td' align='center' height='28px' id='璁¢噺鍗曚綅0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>涓囧彂</td><td class='all_biaodan_td' align='center' height='28px' id='娈靛埆0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '><a href='#this' onclick='show(\"12绫虫櫘閫氭绉掑鐖嗙闆风c,6-10\")'>6-10</a></td><td class='all_biaodan_td' align='center' height='28px' id='鏈堝垵鍚堣0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='鏈堝垵90' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='鏈堝垵100' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '></td><td class='all_biaodan_td' align='center' height='28px' id='绱鍏ュ簱0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.3200</td><td class='all_biaodan_td' align='center' height='28px' id='鏈湀鍏ュ簱0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='绱鍏ュ簱90' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='绱鍏ュ簱100' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '></td><td class='all_biaodan_td' align='center' height='28px' id='绱鍑哄簱0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.3200</td><td class='all_biaodan_td' align='center' height='28px' id='鏈湀鍑哄簱0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='绱鍑哄簱90' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='绱鍑哄簱100' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '></td><td class='all_biaodan_td' align='center' height='28px' id='鏈堟湯鍚堣0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='鏈堟湯90' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='鏈堟湯100' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '></td></tr> <td name='merg' colspan=1 style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>闆风12绫虫櫘閫氭绉掑鐖嗙闆风c 鍚堣:</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'> </td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'> </td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'> </td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.32</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.32</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> </tr><tr class='scrollColThead' bordercolor='#CCCCCC'><tr id='trs1' class='scrollColThead' bordercolor='#CCCCCC'><td class='all_biaodan_td' align='center' height='28px' id='鍟嗗搧鍚嶇О1' rowspan=1绉�' width='10%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>15绫虫姉姘存绉掑鐖嗙闆风c</td><td class='all_biaodan_td' align='center' height='28px' id='瑙勬牸鍨嬪彿1' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>1脳100</td><td class='all_biaodan_td' align='center' height='28px' id='璁¢噺鍗曚綅1'");
- String field="SG054";
- int index=15;
- int groupRow=10;
- String rspan="rowspan='"+field+index+"'";
- String rowspanNum="rowspan='"+ groupRow +"'";
- int rowspan=body.indexOf(rspan);
- if(rowspan>0) {
- body.replace(rowspan,rowspan+rspan.length(),rowspanNum);//鏇挎崲鎴愯鏁�
- }
- System.out.println("-----------"+body);
- }
-
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/Report.java b/product-server-report_v2/src/main/java/com/product/server/report/service/Report.java
deleted file mode 100644
index d136aba..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/Report.java
+++ /dev/null
@@ -1,276 +0,0 @@
-package com.product.server.report.service;
-
-import com.product.core.entity.DataTableEntity;
-/**
- *
- * @author Administrator
- * exmple
- *
- *
- */
-public class Report {
- /**
- * 鎶ヨ〃鍚嶅瓧锛屾渶鍓嶉潰鐨勬爣棰�
- */
- private String reportName;
-
- /**
- * 鎶ヨ〃鏁版嵁
- */
- private DataTableEntity dt; //鍒嗙粍瀛楁蹇呴』鎺掑湪鍓嶉潰锛屽苟鎸夊垎缁勭殑瀛楁杩涜鎺掑簭锛屽锛� select a,b,c,* from table order by a,b,c
- /**
- * 鏄剧ず鏍囬锛屾敮鎸佸绾ф爣棰�
- */
- private String title[][];//
- /**
- * 鏍囬鍚堝苟鍒楁暟锛屼竴涓�瀵瑰簲鏍囬锛岃鍚堝苟鐨勫垪锛屽垪鏁颁负0
- *
- */
- private int colspan[][];//
- /**
- * 鏍囬鍚堝苟琛屾暟锛屼竴涓�瀵瑰簲鏍囬锛岃鍚堝苟鐨勮锛岃鏁颁负0
- */
- private int rowspan[][];//
-
- /**
- * 鍙栧�煎瓧娈�
- */
- private String field[];//鍒嗙粍瀛楁蹇呴』鎺掑湪鍓嶉潰 a,b,c,
- /**
- * 鍒嗙粍鐨勫瓧娈碉紝瑕佸垎缁勫瓧娈靛繀椤绘帓鍦ㄦ渶鍓嶉潰
- */
- private boolean groupField[];//瀛楁field[]涓�涓�瀵瑰簲,涓嶆槸鍒嗙粍瀛楁锛屽垯涓篺alse,鏄垯涓簍rue
- /**
- * 璁板綍鏈�鍚庡垎缁勫瓧娈电殑涓嬫爣
- */
- private int maxGroupFieldIndex=-1;
- /**
- * 缁熻鐨勫瓧娈�
- */
- private boolean totalField[];//瀛楁field[]涓�涓�瀵瑰簲,,涓嶆槸鍚堣瀛楁锛屽垯涓篺alse,鏄垯涓簍rue
- /**
- * 鏄惁鏄剧ず缁熻琛�
- */
- private boolean isShowTotalRow=false;
- /**
- * 鏄惁鏈�鍚庢�昏
- */
- private boolean isTotal=false;
- /**
- * 鍒楀搴�,鐧惧垎姣旓紝涓嶈兘瓒呰繃鎴栧皬浜�100
- */
- private int colWidth[];//瀛楁field[]涓�涓�瀵瑰簲,鍙渶閰嶆渶鍚庝竴琛岀殑姣忓垪瀹藉害,涓嶈兘灏忎簬绛変簬0锛屽悎璧锋潵鐨勬�绘暟=100
- /**
- * 鎶ヨ〃鏁翠綋鍥哄畾瀹藉害锛屼笉璁剧疆榛樿涓�100%
- */
- private int width;
-
- public boolean isShowTotalRow() {
- return isShowTotalRow;
- }
- public void setShowTotalRow(boolean isShowTotalRow) {
- this.isShowTotalRow = isShowTotalRow;
- }
- private String aligh[];
-
- public String[] getAligh() {
- return aligh;
- }
- public void setAligh(String[] aligh) {
- this.aligh = aligh;
- }
- private String url[];//涓庡瓧娈礷ield[]涓�涓�瀵瑰簲锛岀┛閫忔煡璇紝瀛楁瀵瑰簲鐨勯摼鎺ュ湴鍧�锛屽彲浠ユ湁鍔ㄦ�佸彉閲忓彇鍓嶉潰瀛楁鍊硷紝鏍煎紡锛�#{瀛楁鍚峿,濡� "3,~SG00~,1"锛岄渶瑕佸湪jsp椤甸潰涓坊鍔爅s鏂规硶
-// function show(searchKey){//鏉ュ鐞�
-// var data=searchKey.split(',');
-// if(data[0]==1){
-// showDept(data[1]);
-// }else if(data[0]==2){
-// showPM(data[1])
-// }else if(data[0]==3){
-// showProject(data[1],data[2]);
-// }
-// }
-// //------------------------------------------
- /*
- * 缁熻瀛楁鐨勭被鍨嬶紝濡傚悎璁°�佸钩鍧囧�� 鏆備笉鏀寔
- */
- private String totalType[];//瀛楁field[]涓�涓�瀵瑰簲,涓嶆槸鍚堣瀛楁锛屽垯涓簄ull,鏄垯鍙互涓篠UM銆丄RG
-
- public String getTotalRowColor() {
- return totalRowColor;
- }
- public void setTotalRowColor(String totalRowColor) {
- this.totalRowColor = totalRowColor;
- }
- private String titleBackColor;//鏍囬 鑳屾櫙
- private String bodyBackColor;//琛ㄦ牸 鑳屾櫙
- private String totalRowColor;
- private String format[];//鏁版嵁鏍煎紡:瀛楃涓蹭负null ,鏁板瓧(灏忔暟)锛�##.##,鏃ユ湡锛� yyyy-dd-mm,鐧惧垎姣�: ##.##%,鍙傜収鏁版嵁锛�
- private boolean page;//鏄惁瑕佸垎椤�
-
- private int pageSize;//姣忛〉澶氬皯鏉�
- private int currentPage;//褰撳墠椤�
- private int totalPage;//鎬婚〉鏁�
- private int totalRow;//鎬绘潯鏁�
-
- public int getTotalRow() {
- return totalRow;
- }
- public void setTotalRow(int totalRow) {
- this.totalRow = totalRow;
- }
- public int getTotalPage() {
- return totalPage;
- }
- public void setTotalPage(int totalPage) {
- this.totalPage = totalPage;
- }
- public int getCurrentPage() {
- return currentPage;
- }
- public void setCurrentPage(int currentPage) {
- this.currentPage = currentPage;
- }
- public int getPageSize() {
- return pageSize;
- }
- public void setPageSize(int pageSize) {
- this.pageSize = pageSize;
- }
- public boolean isPage() {
- return page;
- }
- public void setPage(boolean page) {
- this.page = page;
- }
- public boolean isFixHeader() {
- return isFixHeader;
- }
- public void setFixHeader(boolean isFixHeader) {
- this.isFixHeader = isFixHeader;
- }
- private String onloadMethod;//椤甸潰鍒濆璋冪敤鏂规硶;
- private boolean isFixHeader;
- //-----------------------------------------------------
- public String getOnloadMethod() {
- return onloadMethod;
- }
- public void setOnloadMethod(String onloadMethod) {
- this.onloadMethod = onloadMethod;
- }
- public String getReportName() {
- return reportName;
- }
- public String[] getFormat() {
- return format;
- }
- public void setFormat(String format[]) {
- this.format = format;
- }
- public void setReportName(String reportName) {
- this.reportName = reportName;
- }
- public String getTitleBackColor() {
- return titleBackColor;
- }
- public void setTitleBackColor(String titleBackColor) {
- this.titleBackColor = titleBackColor;
- }
- public String getBodyBackColor() {
- return bodyBackColor;
- }
- public void setBodyBackColor(String bodyBackColor) {
- this.bodyBackColor = bodyBackColor;
- }
- public String[] getTotalType() {
- return totalType;
- }
- public void setTotalType(String[] totalType) {
- this.totalType = totalType;
- }
-
- public int[][] getRowspan() {
- return rowspan;
- }
- public void setRowspan(int[][] rowspan) {
- this.rowspan = rowspan;
- }
- public int getWidth() {
- return width;
- }
- public String[] getUrl() {
- return url;
- }
- public void setUrl(String[] url) {
- this.url = url;
- }
- public void setWidth(int width) {
- this.width = width;
- }
- public String[][] getTitle() {
- return title;
- }
- public int[][] getColspan() {
- return colspan;
- }
- public void setColspan(int[][] colspan) {
- this.colspan = colspan;
- }
- public void setTitle(String[][] title) {
- this.title = title;
- }
- public int[] getColWidth() {
- return colWidth;
- }
- public void setColWidth(int[] colWidth) {
- this.colWidth = colWidth;
- }
- public DataTableEntity getDt() {
- return dt;
- }
- public void setDt(DataTableEntity dt) {
- this.dt = dt;
- }
-
- public String[] getField() {
- return field;
- }
- public void setField(String[] field) {
- this.field = field;
- }
- public boolean[] getGroupField() {
- return groupField;
- }
- /**
- * 鑾峰彇鏈�澶х殑鍒嗙粍瀛楁涓嬫爣
- * @param groupField
- */
- public void setGroupField(boolean[] groupField) {
- this.groupField = groupField;
- for(int i=0;i<groupField.length;i++){
- if(groupField[i]){
- maxGroupFieldIndex=i;
- }else{
- break;
- }
- }
- }
- public int getMaxGroupFieldIndex() {
- return maxGroupFieldIndex;
- }
- public void setMaxGroupFieldIndex(int maxGroupFieldIndex) {
- this.maxGroupFieldIndex = maxGroupFieldIndex;
- }
- public boolean[] getTotalField() {
- return totalField;
- }
- public void setTotalField(boolean[] totalField) {
- this.totalField = totalField;
- }
- public boolean isTotal() {
- return isTotal;
- }
- public void setTotal(boolean isTotal) {
- this.isTotal = isTotal;
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/ReportConfigService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/ReportConfigService.java
deleted file mode 100644
index c8d2df6..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/ReportConfigService.java
+++ /dev/null
@@ -1,599 +0,0 @@
-package com.product.server.report.service;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.product.admin.service.CodeService;
-import com.product.admin.service.UpdateLoginUserInfoService;
-import com.product.common.lang.StringUtils;
-import com.product.core.cache.DataPoolCacheImpl;
-import com.product.core.dao.BaseDao;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.exception.BaseException;
-import com.product.core.service.support.AbstractBaseService;
-import com.product.core.service.support.QueryFilterService;
-import com.product.core.spring.context.SpringMVCContextHolder;
-import com.product.core.transfer.Transactional;
-import com.product.server.report.config.CmnConst;
-import com.product.server.report.config.ReportCode;
-import com.product.server.report.service.idel.IReportConfigService;
-import com.product.util.BaseUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import javax.xml.crypto.Data;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-@Component
-public class ReportConfigService extends AbstractBaseService implements IReportConfigService {
- @Autowired
- BaseDao baseDao;
- @Autowired
- CodeService codeService;
- @Autowired
- public QueryFilterService queryFilterService;
- @Autowired
- public DataListReportService dataListReportService;
-
- /**
- * 鎶ヨ〃鍒楄〃
- *
- * @param cpage
- * @param pageSize
- * @return
- */
- public DataTableEntity listReportConfig(Integer cpage, Integer pageSize, FieldSetEntity fse) {
- cpage = cpage == null ? 1 : cpage;
- pageSize = pageSize == null ? 20 : pageSize;
-
- List<Object> paramList = Lists.newArrayList();
- StringBuilder sql = new StringBuilder(512);
- sql.append("\nSELECT a.uuid,a.type_uuid,a.is_valid,a.org_level_uuid,a.report_name,b.type_name,b.type_group")
- .append("\nFROM product_sys_report_config a")
- .append("\nLEFT JOIN product_sys_report_type_config b ON a.type_uuid = b.uuid")
- .append("\nwhere (function_uuid is null or function_uuid='') ");
- if (!StringUtils.isEmpty(fse.getString(CmnConst.TYPE_UUID))) {
- sql.append("\nand b.type_group=?");
- paramList.add(fse.getString(CmnConst.TYPE_UUID));
- }
- return baseDao.listTable(sql.toString(), paramList.toArray(), pageSize, cpage);
- }
-
- /**
- * 鎶ヨ〃璇︽儏
- *
- * @param uuid
- * @return
- */
- public FieldSetEntity findReportConfig(String uuid) {
- StringBuilder sql = new StringBuilder(256);
- sql.append("\nselect report_area,cell_position_y,cell_position_x,attribute_name,report_type_attr_value")
- .append("\nfrom (")
- .append("\n select report_area,cell_position_y,cell_position_x,report_type_attr_value,report_type_attr FROM product_sys_report_config_attribute ca")
- .append("\n where report_config_uuid=?")
- .append("\n) ca")
- .append("\nleft join (")
- .append("\n select uuid,attribute_name FROM product_sys_report_type_attribute where type_group='DataList'")
- .append("\n) ta on ca.report_type_attr=ta.uuid")
- .append("\nwhere attribute_name is not null ")
- .append("\norder by report_area,cell_position_y,cell_position_x");
- DataTableEntity tempDte = baseDao.listTable(sql.toString(), new Object[]{uuid});
- DataTableEntity reportConfigAttrDte = new DataTableEntity();
- FieldSetEntity tempFse;
- FieldSetEntity reportConfigAttrFse = new FieldSetEntity();
- String curReportArea;
- String curX;
- String curY;
- String preReportArea = "";
- String preX = "";
- String preY = "";
- for (int i = 0; i < tempDte.getRows(); i++) {
- tempFse = tempDte.getFieldSetEntity(i);
- curReportArea = tempFse.getString(CmnConst.ATTR_REPORT_AREA);
- curX = tempFse.getString(CmnConst.CELL_POSITION_X);
- curY = tempFse.getString(CmnConst.CELL_POSITION_Y);
- if (curReportArea == null || curX == null || curY == null) {
- continue;
- }
- if (!preReportArea.equals(curReportArea) || !preX.equals(curX) || !preY.equals(curY)) {
- reportConfigAttrFse = new FieldSetEntity();
- reportConfigAttrDte.addFieldSetEntity(reportConfigAttrFse);
- reportConfigAttrFse.setTableName(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE);
- reportConfigAttrFse.setValue(CmnConst.ATTR_X, curX);
- reportConfigAttrFse.setValue(CmnConst.ATTR_Y, curY);
- reportConfigAttrFse.setValue(CmnConst.ATTR_REPORT_AREA, curReportArea);
- }
- reportConfigAttrFse.setValue(tempFse.getString(CmnConst.ATTRIBUTE_NAME), tempFse.getString(CmnConst.REPORT_TYPE_ATTR_VALUE));
- preReportArea = curReportArea;
- preX = curX;
- preY = curY;
- }
-
- FieldSetEntity reportConfigFse = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_CONFIG, uuid, false);
- reportConfigFse.addSubDataTable(reportConfigAttrDte);
-
- return reportConfigFse;
- }
-
- /**
- * 鎶ヨ〃鏂板
- *
- * @param fse
- * @return
- */
- @Transactional
- public String addReportConfig(FieldSetEntity fse) {
- fse.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUserId());
- fse.setValue(CmnConst.CREATED_UTC_DATETIME, new Date());
- fse.setValue(CmnConst.IS_VALID, 1);
-
- replaceAttrName2UUID(fse);
-
- if (StringUtils.isEmpty(fse.getString(CmnConst.PAGE_SIZE))) {
- fse.setValue(CmnConst.PAGE_SIZE, null);
- }
-
- String uuid = baseDao.add(fse);
-
- if ("1".equals(fse.getString(CmnConst.RELATE_FLAG))) {
- // 閲嶆柊璁剧疆缂撳瓨
- dataListReportService.setConfig(fse.getUUID());
- }
-
- return uuid;
- }
-
- /**
- * 鎶ヨ〃淇敼
- *
- * @param fse
- * @return
- */
- @Transactional
- public boolean updateReportConfig(FieldSetEntity fse) {
- fse.setValue(CmnConst.UPDATED_BY, SpringMVCContextHolder.getCurrentUserId());
- fse.setValue(CmnConst.UPDATED_UTC_DATETIME, new Date());
-
- replaceAttrName2UUID(fse);
-
- if (StringUtils.isEmpty(fse.getString(CmnConst.PAGE_SIZE))) {
- fse.setValue(CmnConst.PAGE_SIZE, null);
- }
-
- boolean result = baseDao.update(fse);
-
- if ("1".equals(fse.getString(CmnConst.RELATE_FLAG)) || !StringUtils.isEmpty(fse.getString(CmnConst.FUNCTION_UUID))) {
- // 閲嶆柊璁剧疆缂撳瓨
- dataListReportService.setConfig(fse.getUUID());
- }
-
- return result;
- }
-
- /**
- * 鏇挎崲灞炴�у悕绉颁负uuid
- *
- * @param fse
- */
- private void replaceAttrName2UUID(FieldSetEntity fse) {
- DataTableEntity reportTypeAttrDte = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, "type_group='DataList'", new Object[]{}, new Object[]{CmnConst.ATTRIBUTE_NAME, CmnConst.UUID});
- if (!BaseUtil.dataTableIsEmpty(reportTypeAttrDte)) {
- Map<String, String> reportTypeAttrMap = Maps.newHashMap();
- FieldSetEntity tempFse;
- for (int i = 0; i < reportTypeAttrDte.getRows(); i++) {
- tempFse = reportTypeAttrDte.getFieldSetEntity(i);
- reportTypeAttrMap.put(tempFse.getString(CmnConst.ATTRIBUTE_NAME), tempFse.getUUID());
- }
- DataTableEntity preReportAttrDte = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE, "report_config_uuid=?", new Object[]{fse.getUUID()});
- Map<JSONObject, String> preReportAttrMap = Maps.newHashMap();
- JSONObject tempObj;
- if (!BaseUtil.dataTableIsEmpty(preReportAttrDte)) {
- for (int i = 0; i < preReportAttrDte.getRows(); i++) {
- tempFse = preReportAttrDte.getFieldSetEntity(i);
- tempObj = new JSONObject();
- tempObj.put(CmnConst.ATTR_REPORT_AREA, tempFse.getString(CmnConst.ATTR_REPORT_AREA));
- tempObj.put(CmnConst.CELL_POSITION_X, tempFse.getString(CmnConst.CELL_POSITION_X));
- tempObj.put(CmnConst.CELL_POSITION_Y, tempFse.getString(CmnConst.CELL_POSITION_Y));
- tempObj.put(CmnConst.REPORT_TYPE_ATTR, tempFse.getString(CmnConst.REPORT_TYPE_ATTR));
- preReportAttrMap.put(tempObj, tempFse.getUUID());
- }
- }
- DataTableEntity reportAttrDte = fse.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE);
- if (!BaseUtil.dataTableIsEmpty(reportAttrDte)) {
- String tempUUID;
- for (int i = 0; i < reportAttrDte.getRows(); i++) {
- tempFse = reportAttrDte.getFieldSetEntity(i);
- tempFse.setValue(CmnConst.REPORT_TYPE_ATTR, reportTypeAttrMap.get(tempFse.getString(CmnConst.REPORT_TYPE_ATTR)));
- tempFse.setValue(CmnConst.CELL_POSITION_X, tempFse.getString(CmnConst.ATTR_X));
- tempFse.setValue(CmnConst.CELL_POSITION_Y, tempFse.getString(CmnConst.ATTR_Y));
-
- tempObj = new JSONObject();
- tempObj.put(CmnConst.ATTR_REPORT_AREA, tempFse.getString(CmnConst.ATTR_REPORT_AREA));
- tempObj.put(CmnConst.CELL_POSITION_X, tempFse.getString(CmnConst.CELL_POSITION_X));
- tempObj.put(CmnConst.CELL_POSITION_Y, tempFse.getString(CmnConst.CELL_POSITION_Y));
- tempObj.put(CmnConst.REPORT_TYPE_ATTR, tempFse.getString(CmnConst.REPORT_TYPE_ATTR));
-
- tempUUID = preReportAttrMap.get(tempObj);
- if (!StringUtils.isEmpty(tempUUID)) {
- tempFse.setValue(CmnConst.UUID, tempUUID);
- }
- }
- }
- }
- }
-
- /**
- * 鎶ヨ〃鍒犻櫎
- *
- * @param uuid
- * @return
- */
- @Transactional
- public boolean deleteReportConfig(String uuid) {
- return baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_CONFIG, "uuid=?", new Object[]{uuid});
- }
-
- @Autowired
- UpdateLoginUserInfoService updateLoginUserInfoService;
-
- /**
- * 鍙栨秷鎶ヨ〃鍙戝竷
- *
- * @param fse
- * @return
- */
- @Transactional
- public boolean cancelRelease(FieldSetEntity fse) {
- DataTableEntity reportConfigDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_CONFIG, new String[]{fse.getUUID()});
- if (BaseUtil.dataTableIsEmpty(reportConfigDte)) {
- throw new BaseException(ReportCode.GET_REPORT_CONFIG_FIAL.getValue(), ReportCode.GET_REPORT_CONFIG_FIAL.getText());
- }
- FieldSetEntity reportConfigFse = reportConfigDte.getFieldSetEntity(0);
- String functionUUID = reportConfigFse.getString(CmnConst.FUNCTION_UUID);
- if (StringUtils.isEmpty(functionUUID)) {
- return false;
- }
-
- DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION, "function_uuid=?", new Object[]{functionUUID}, new Object[]{"role_uuid uuid"});
- //浠庤鑹叉潈闄愪腑绉婚櫎
- baseDao.delete(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION, "function_uuid=?", new Object[]{functionUUID});
- //鍒犻櫎杩炵嚎
- baseDao.delete(CmnConst.PRODUCT_SYS_LINK, "function_uuid=?", new Object[]{functionUUID});
- //鍒犻櫎鎸夐挳
- baseDao.delete(CmnConst.PRODUCT_SYS_FUNCTION_BUTTONS, "function_uuid=?", new Object[]{functionUUID});
- //鍒犻櫎椤甸潰
- baseDao.delete(CmnConst.PRODUCT_SYS_MVC_PAGE, "function_uuid=?", new Object[]{functionUUID});
-
- //鍒犻櫎鑿滃崟
- baseDao.delete(CmnConst.PRODUCT_SYS_MENUS, "function_uuid=?", new Object[]{functionUUID});
- //鍒犻櫎鍔熻兘
- baseDao.delete(CmnConst.PRODUCT_SYS_FUNCTIONS, "uuid=?", new Object[]{functionUUID});
-
- //鏁版嵁鍥炲啓
- fse.setValue(CmnConst.FUNCTION_UUID, "");
-
- if (!DataTableEntity.isEmpty(dt)) {
- updateLoginUserInfoService.updateUserInfoByUpdateRole(dt.getUuids(), true);
- }
- return baseDao.update(fse);
- }
-
- /**
- * 鎶ヨ〃鍙戝竷
- *
- * @param fse
- * @return
- */
- @Transactional
- public boolean releaseConfig(FieldSetEntity fse) {
-
- FieldSetEntity fseReport = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_CONFIG, fse.getUUID(), false);
-
- //鍒涘缓MVCC淇濆瓨瀵硅薄
- FieldSetEntity fseFunction = new FieldSetEntity();
- //1.鍒涘缓MVC(绯荤粺MVC鐩綍涓�)
- //鐢熸垚鍔熻兘缂栫爜
- String defaultCode = "001-005";
- fseFunction.setTableName(CmnConst.PRODUCT_SYS_FUNCTIONS);
- codeService.createCode(fseFunction, CmnConst.PRODUCT_SYS_FUNCTIONS, CmnConst.TRICODE, defaultCode);
- fseFunction.setValue(CmnConst.TABLE_UUID, CmnConst.PRODUCT_SYS_REPORT_CONFIG); //鍔熻兘鍏宠仈琛�
- fseFunction.setValue(CmnConst.FUNCTION_NAME, fseReport.getString(CmnConst.REPORT_NAME)); //鍔熻兘鍚嶇О
- fseFunction.setValue(CmnConst.FUNCTION_DESCRIPTION, fseReport.getString(CmnConst.REPORT_NAME)); //鍔熻兘鎻忚堪
- fseFunction.setValue(CmnConst.STATUS_UUID, 1); //鏄惁鍚敤
- fseFunction.setValue(CmnConst.FUNCTION_TYPE_UUID, 1); //鍔熻兘绫诲瀷-涓氬姟鍔熻兘
- fseFunction.setValue(CmnConst.CLIENT_TYPE_UUID, "Web"); //瀹㈡埛绔被鍨�
- fseFunction.setValue(CmnConst.VERSION_UUID, "001");
- fseFunction.setValue(CmnConst.DATA_TYPE, 1);// 鏁版嵁绫诲瀷
- fseFunction.setValue(CmnConst.TRICODE_PARENT, defaultCode);// 涓婄骇妯″潡code
- fseFunction.setValue("terminal_type", 1);
- BaseUtil.createCreatorAndCreationTime(SpringMVCContextHolder.getCurrentUser(), fseFunction);
-
- //鍒涘缓鎸夐挳淇濆瓨瀵硅薄
- DataTableEntity dtButton = new DataTableEntity();
- FieldSetEntity fseButton = new FieldSetEntity();
- fseButton.setTableName(CmnConst.PRODUCT_SYS_FUNCTION_BUTTONS);
- fseButton.setValue(CmnConst.IS_MAIN, 1); //鏄惁鍏ュ彛
- fseButton.setValue(CmnConst.STATUS_UUID, 1); //鏄惁鍚敤
- fseButton.setValue(CmnConst.CLIENT_TYPE_UUID, "Web"); //瀹㈡埛绔被鍨�
- fseButton.setValue(CmnConst.BUTTON_NAME, "鍏ュ彛"); //鎸夐挳鍚嶇О
- fseButton.setValue(CmnConst.BUTTON_TITLE, "entrance"); //鎸夐挳鏍囬
- fseButton.setValue(CmnConst.BUTTON_TYPE, 1); //鎸夐挳绫诲瀷
- fseButton.setValue(CmnConst.BUTTON_CATEGORY_UUID, "main"); //鎸夐挳鍒嗙被
- fseButton.setValue(CmnConst.ROUTE_NAME, BaseUtil.getPageCode()); //璺敱鍚嶇О
- fseButton.setValue(CmnConst.UPLOAD_API_URL, CmnConst.ADDRESS_INIT_INTERFENCE);// 鍏ュ彛鎺ュ彛鍦板潃
- fseButton.setValue("terminal_type", 1);
- JSONObject paramObj = new JSONObject();
- paramObj.put(CmnConst.UUID, fse.getUUID());
- fseButton.setValue(CmnConst.PARAMS, paramObj.toString());// 鎺ュ彛鍙傛暟
- fseButton.setValue(CmnConst.TOP_LOCATION, "100px");
- fseButton.setValue(CmnConst.LEFT_LOCATION, "100px");
- dtButton.setMeta(fseButton.getMeta());
- dtButton.addFieldSetEntity(fseButton);
-
- //鍒涘缓椤甸潰淇濆瓨瀵硅薄
- DataTableEntity dtPage = new DataTableEntity();
- FieldSetEntity fsePage = new FieldSetEntity();
- fsePage.setTableName(CmnConst.PRODUCT_SYS_MVC_PAGE);
-// fsePage.setValue(CmnConst.PAGE_NAME, "鎶ヨ〃灞曠ず");
- fsePage.setValue(CmnConst.PAGE_NAME, fse.getString(CmnConst.MENU_NAME));
- fsePage.setValue(CmnConst.PAGE_TYPE, 2);
- fsePage.setValue(CmnConst.PAGE_URL, CmnConst.ADDRESS_REPORT_SHOW);
- fsePage.setValue(CmnConst.TOP_LOCATION, "300px");
- fsePage.setValue(CmnConst.LEFT_LOCATION, "100px");
- fsePage.setValue(CmnConst.PAGE_OPEN_WITH, 0);
- fsePage.setValue(CmnConst.PAGE_TYPE, 0);
- fsePage.setValue("terminal_type", 1);
- dtPage.addFieldSetEntity(fsePage);
-
- fseFunction.addSubDataTable(dtButton);
- fseFunction.addSubDataTable(dtPage);
-
- String functionUUID = baseDao.add(fseFunction);
-
- //鍒涘缓杩炵嚎淇濆瓨瀵硅薄
- FieldSetEntity fseLink = new FieldSetEntity();
- fseLink.setTableName(CmnConst.PRODUCT_SYS_LINK);
- fseLink.setValue(CmnConst.LINK_TYPE, 0); //杩炵嚎绫诲瀷
- fseLink.setValue(CmnConst.FUNCTION_UUID, functionUUID); //鎵�灞炲姛鑳経UID
- fseLink.setValue(CmnConst.LINE_FROM, fseButton.getUUID()); //璧峰绔�
- fseLink.setValue(CmnConst.FROM_TYPE, 0); //璧峰绔被鍨�
- fseLink.setValue(CmnConst.LINE_TO, fsePage.getUUID()); //缁撴潫绔�
- fseLink.setValue(CmnConst.TO_TYPE, 2); //缁撴潫绔被鍨�
- fseLink.setValue("terminal_type", 1);
- BaseUtil.createCreatorAndCreationTime(SpringMVCContextHolder.getCurrentUser(), fseLink);
-
- baseDao.add(fseLink);
-
- // 鎻愬彇鍙戝竷鐨勮鑹茬浉鍏虫暟鎹�
- List<String> roleUUIDList = Lists.newArrayList();
- List<String> clientUUIDList = Lists.newArrayList();
- String[] singleRoleInfoArr;
- for (String singleRoleInfo : fse.getString(CmnConst.ROLE_UUID).split("#")) {
- singleRoleInfoArr = singleRoleInfo.split(",");
- roleUUIDList.add(singleRoleInfoArr[2]);
- clientUUIDList.add(singleRoleInfoArr[0]);
- }
-
- // 2.缁戝畾瑙掕壊(缁欐煇涓�瑙掕壊璧嬩簣璇ュ姛鑳�)
- for (String roleUUID : roleUUIDList) {
- FieldSetEntity fseFunctionButton = new FieldSetEntity();
- fseFunctionButton.setTableName(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION);
- fseFunctionButton.setValue(CmnConst.FUNCTION_UUID, functionUUID);// 鎵�灞炲姛鑳経UID
- fseFunctionButton.setValue(CmnConst.BUTTON_UUID, fseButton.getUUID());// 鎸夐挳UUID
- fseFunctionButton.setValue(CmnConst.ROLE_UUID, roleUUID);// 鎵�灞炶鑹睻UID
- baseDao.add(fseFunctionButton);
- }
-
- // 3.缁戝畾瀹㈡埛瑙掕壊(缁欐煇涓�瀹㈡埛瑙掕壊璧嬩簣璇ュ姛鑳�)
- for (String clientUUID : clientUUIDList) {
- DataTableEntity clientDte = DataPoolCacheImpl.getInstance().getCacheData("瀹㈡埛淇℃伅", new String[]{clientUUID});
- if (BaseUtil.dataTableIsEmpty(clientDte)) {
- continue;
- }
- FieldSetEntity clientFse = clientDte.getFieldSetEntity(0);
- FieldSetEntity fseClientFunctionButton = new FieldSetEntity();
- fseClientFunctionButton.setTableName(CmnConst.PRODUCT_SYS_FUNCTION_PERMISSION);
- fseClientFunctionButton.setValue(CmnConst.FUNCTION_UUID, functionUUID);// 鎵�灞炲姛鑳経UID
- fseClientFunctionButton.setValue(CmnConst.BUTTON_UUID, fseButton.getUUID());// 鎸夐挳UUID
- fseClientFunctionButton.setValue(CmnConst.ROLE_UUID, clientFse.getString(CmnConst.ROLE_UUID));// 鎵�灞炶鑹睻UID
- baseDao.add(fseClientFunctionButton);
- }
-
- //4.鍒涘缓鑿滃崟(鏍规嵁鍓嶇鎵�閫夌埗绾ц彍鍗�)
- FieldSetEntity fseMenu = new FieldSetEntity();
- fseMenu.setTableName(CmnConst.PRODUCT_SYS_MENUS);
- codeService.createCode(fseMenu, CmnConst.PRODUCT_SYS_MENUS, CmnConst.TRICODE, fse.getString(CmnConst.TRICODE_PARENT));
- fseMenu.setValue(CmnConst.TRICODE_PARENT, fse.getString(CmnConst.TRICODE_PARENT));
- fseMenu.setValue(CmnConst.MENU_NAME, fse.getString(CmnConst.MENU_NAME));
- fseMenu.setValue(CmnConst.FUNCTION_UUID, functionUUID);
- fseMenu.setValue(CmnConst.SEQUENCE, fse.getString(CmnConst.SEQUENCE));
- fseMenu.setValue(CmnConst.IS_CATALOG, 0);
- fseMenu.setValue(CmnConst.IS_SHOW, StringUtils.isEmpty(fse.getString(CmnConst.IS_SHOW)) ? 1 : fse.getString(CmnConst.IS_SHOW));
- fseMenu.setValue(CmnConst.MENU_ICON, fse.getString(CmnConst.MENU_ICON));
- BaseUtil.createCreatorAndCreationTime(SpringMVCContextHolder.getCurrentUser(), fseMenu);
-
- baseDao.add(fseMenu);
-
- //鏁版嵁鍥炲啓
- fseReport.setValue(CmnConst.FUNCTION_UUID, functionUUID);
-
- boolean result = baseDao.update(fseReport);
-
- // 閲嶆柊璁剧疆缂撳瓨
- dataListReportService.setConfig(fseReport.getUUID());
-
- return result;
- }
-
- /**
- * 鎶ヨ〃copy
- *
- * @param uuid
- * @return
- */
- public String copyConfig(String uuid) {
- FieldSetEntity fse = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_CONFIG, uuid, true);
- FieldSetEntity fseCopy = fse;
- fseCopy.remove(CmnConst.ID);
- fseCopy.remove(CmnConst.UUID);
- DataTableEntity dtSub = fseCopy.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE);
- if (dtSub != null && dtSub.getRows() > 0) {
- for (int i = 0; i < dtSub.getRows(); i++) {
- FieldSetEntity fseSub = dtSub.getFieldSetEntity(i);
- fseSub.remove(CmnConst.ID);
- fseSub.remove(CmnConst.UUID);
- }
- }
- return baseDao.add(fseCopy, true);
- }
-
- /**
- * 閰嶇疆鎶ヨ〃-寮曠敤
- *
- * @param fse
- * @return
- */
- public FieldSetEntity quoteReportConfig(FieldSetEntity fse) {
- FieldSetEntity sourceFse = findReportConfig(fse.getUUID());
- sourceFse.setValue(CmnConst.DATASOURCE_UUID, fse.getString(CmnConst.DATASOURCE_UUID));
- sourceFse.remove(new String[]{CmnConst.ID, CmnConst.UUID, CmnConst.CREATED_BY, CmnConst.CREATED_UTC_DATETIME, CmnConst.UPDATED_BY, CmnConst.CREATED_UTC_DATETIME, CmnConst.REPORT_NAME});
- DataTableEntity subDte = sourceFse.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE);
- FieldSetEntity subFse;
- for (int i = 0; i < subDte.getRows(); i++) {
- subFse = subDte.getFieldSetEntity(i);
- subFse.remove(new String[]{CmnConst.ID, CmnConst.UUID, CmnConst.CREATED_BY, CmnConst.CREATED_UTC_DATETIME, CmnConst.UPDATED_BY, CmnConst.CREATED_UTC_DATETIME});
- }
- return sourceFse;
- }
-
- /**
- * 鑾峰彇鎶ヨ〃鍙戝竷淇℃伅-鍙戝竷
- *
- * @return
- */
- public JSONArray getReportReleaseInfo() {
- StringBuilder sql = new StringBuilder(256);
- DataTableEntity aimDte = new DataTableEntity();
- DataTableEntity dte;
- Object[] arr;
- String filter;
- sql.append("select distinct null pid,uuid sid,client_name name FROM product_sys_clients c")
- .append("\ninner join (")
- .append("\n select client_uuid pid,uuid sid,org_level_name FROM product_sys_org_levels where org_level_status=0 order by org_level_code")
- .append("\n) o on o.pid=c.uuid")
- .append("\ninner join (")
- .append("\n select org_level_uuid pid,uuid sid,role_name FROM product_sys_role where is_used=1")
- .append("\n) r on r.pid=o.sid");
- // 鍘绘帀admin鎵�灞炲鎴�
-// .append("\nwhere c.uuid!='4d4679ed-c4c3-41b8-abfe-451a66fd4043'");
- dte = baseDao.listTable(sql.toString(), new Object[]{});
-
- aimDte.addFieldSetEntity(dte);
-
- arr = dte.getFieldAllValues("sid");
- filter = BaseUtil.buildQuestionMarkFilter("client_uuid", arr.length, true);
- sql.setLength(0);
- sql.append("\nselect distinct o.* from (")
- .append("\n select client_uuid pid,uuid sid,org_level_name name FROM product_sys_org_levels where org_level_status=0")
- .append("\n and ").append(filter)
- .append("\n order by org_level_code")
- .append("\n) o")
- .append("\ninner join (")
- .append("\n select org_level_uuid pid,uuid sid,role_name FROM product_sys_role where is_used=1")
- .append("\n) r on r.pid=o.sid");
- dte = baseDao.listTable(sql.toString(), arr);
- aimDte.addFieldSetEntity(dte);
-
- arr = dte.getFieldAllValues("sid");
- filter = BaseUtil.buildQuestionMarkFilter("org_level_uuid", arr.length, true);
- sql.setLength(0);
- sql.append("\nselect org_level_uuid pid,uuid sid,role_name name FROM product_sys_role where is_used=1").append(" and ").append(filter);
- dte = baseDao.listTable(sql.toString(), arr);
- aimDte.addFieldSetEntity(dte);
-
- return BaseUtil.dataTableToTreeData(aimDte, "sid", "pid", null, false);
- }
-
- /**
- * 鑾峰彇鎶ヨ〃鍙戝竷淇℃伅-鍙戝竷鍚庢煡鐪嬩俊鎭�
- *
- * @return
- */
- public JSONObject viewReportReleaseInfo(FieldSetEntity fse) {
- DataTableEntity reportConfigDte = DataPoolCacheImpl.getInstance().getCacheData(CmnConst.CACHE_REPORT_CONFIG, new String[]{fse.getUUID()});
- if (BaseUtil.dataTableIsEmpty(reportConfigDte)) {
- throw new BaseException(ReportCode.GET_REPORT_RELEASE_INFO_FAIL.getValue(), ReportCode.GET_REPORT_RELEASE_INFO_FAIL.getText());
- }
- FieldSetEntity reportConfigFse = reportConfigDte.getFieldSetEntity(0);
- StringBuilder sql = new StringBuilder(256);
- sql.append("\nselect group_concat(single_role_uuid separator '#') role_uuid")
- .append("\nfrom (")
- .append("\n select concat(client_uuid,',',uuid,',',role_uuid) single_role_uuid")
- .append("\n FROM product_sys_org_levels o")
- .append("\n inner join (")
- .append("\n select org_level_uuid,uuid role_uuid,role_name")
- .append("\n FROM product_sys_role r")
- .append("\n inner join (")
- .append("\n select role_uuid FROM product_sys_function_permission where function_uuid=?")
- .append("\n ) p on r.uuid=p.role_uuid")
- .append("\n ) r1 on o.uuid=r1.org_level_uuid")
- .append("\n) t");
- String functionUUID = reportConfigFse.getString(CmnConst.FUNCTION_UUID);
- DataTableEntity dte = baseDao.listTable(sql.toString(), new Object[]{functionUUID});
-
- FieldSetEntity menuFse = baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_MENUS, "function_uuid=?", new Object[]{functionUUID}, false);
-
- JSONObject resultObj = new JSONObject();
- resultObj.put(CmnConst.UUID, fse.getUUID());
- resultObj.put(CmnConst.ROLE_UUID, dte.getFieldSetEntity(0).getString(CmnConst.ROLE_UUID));
- resultObj.put(CmnConst.TRICODE_PARENT, menuFse.getString(CmnConst.TRICODE_PARENT));
- resultObj.put(CmnConst.MENU_ICON, menuFse.getString(CmnConst.MENU_ICON));
- resultObj.put(CmnConst.MENU_NAME, menuFse.getString(CmnConst.MENU_NAME));
-
- return resultObj;
- }
-
- /**
- * 宸插彂甯冨垪琛ㄧ晫闈�
- *
- * @param fse
- * @return
- */
- public DataTableEntity releasedListReportConfig(FieldSetEntity fse) {
- String filter = queryFilterService.getQueryFilter(fse);
- StringBuilder sql = new StringBuilder(256);
-// sql.append("select * from ( ");
- sql.append("\n select rc.uuid,rc.report_name,rtc.type_name,t1.role_info,mp.menu_name tricode_parent,m.menu_icon,m.menu_name ");
- sql.append("\n FROM product_sys_report_config rc ");
- sql.append("\n inner join ( ");
- sql.append("\n select function_uuid,group_concat(role_info separator ',') role_info ");
- sql.append("\n from ( ");
- sql.append("\n select function_uuid,concat(c.client_name,'/',o.org_level_name,'/',role_name) role_info ");
- sql.append("\n FROM product_sys_clients c ");
- sql.append("\n inner join product_sys_org_levels o on o.client_uuid=c.uuid ");
- sql.append("\n inner join ( ");
- sql.append("\n select function_uuid,org_level_uuid,uuid role_uuid,role_name ");
- sql.append("\n FROM product_sys_role r ");
- sql.append("\n inner join ( ");
- sql.append("\n select function_uuid,role_uuid FROM product_sys_function_permission ");
- sql.append("\n ) p on r.uuid=p.role_uuid ");
- sql.append("\n ) r1 on o.uuid=r1.org_level_uuid ");
- sql.append("\n ) t ");
- sql.append("\n group by function_uuid ");
- sql.append("\n ) t1 on rc.function_uuid=t1.function_uuid ");
- sql.append("\n inner join product_sys_menus m on rc.function_uuid=m.function_uuid ");
- sql.append("\n inner join product_sys_report_type_config rtc on rc.type_uuid=rtc.uuid ");
- sql.append("\n inner join product_sys_menus mp on m.tricode_parent=mp.tricode ");
-// sql.append("\n) t2 ");
- if (!StringUtils.isEmpty(filter)) {
- sql.append(" WHERE " + filter);
- }
- Integer curPage = fse.getInteger(CmnConst.CPAGE);
- Integer pageSize = fse.getInteger(CmnConst.PAGESIZE);
- return baseDao.listTable(sql.toString(), new Object[]{}, pageSize == null ? Integer.MAX_VALUE : pageSize, curPage == null ? 1 : curPage);
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/ReportDatasourceService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/ReportDatasourceService.java
deleted file mode 100644
index de5315c..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/ReportDatasourceService.java
+++ /dev/null
@@ -1,390 +0,0 @@
-package com.product.server.report.service;
-
-import java.sql.*;
-import java.util.*;
-import java.util.Date;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import com.google.common.collect.Lists;
-import com.google.common.collect.Maps;
-import com.google.common.collect.Sets;
-import com.product.core.entity.RequestParameterEntity;
-import com.product.core.service.support.QueryFilterService;
-import com.product.core.spring.context.SpringBeanUtil;
-import com.product.data.center.utils.QuerySqlParseUtil;
-import com.product.util.BaseUtil;
-import com.product.util.CallBack;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import com.product.common.lang.StringUtils;
-import com.product.core.cache.DataPoolCacheImpl;
-import com.product.core.connection.ConnectionManager;
-import com.product.core.dao.BaseDao;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldMetaEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.exception.BaseException;
-import com.product.core.service.support.AbstractBaseService;
-import com.product.core.spring.context.SpringMVCContextHolder;
-import com.product.core.transfer.Transactional;
-import com.product.server.report.config.CmnConst;
-import com.product.server.report.service.idel.IReportDatasourceService;
-import com.product.util.SystemParamReplace;
-
-@Component
-public class ReportDatasourceService extends AbstractBaseService implements IReportDatasourceService {
-
- @Autowired
- BaseDao baseDao;
-
- @Autowired
- QueryFilterService queryFilterService;
- /**
- * 鎶ヨ〃鏁版嵁婧愬垪琛�
- *
- * @param fse 鍒嗛〉鍔犻珮绾х储寮�
- * @return
- */
- public DataTableEntity listDatasource(FieldSetEntity fse) {
- Integer cpage = fse.getInteger("cpage");
- Integer pageSize = fse.getInteger("pagesize");
- DataTableEntity dataTableEntity = null;
- String queryFilter = "";
- if (!BaseUtil.dataTableIsEmpty(fse.getSubDataTable("systemSeniorQueryString"))) {
- queryFilter = queryFilterService.getQueryFilter(fse);
- }
- if (!StringUtils.isEmpty(cpage)) {
- dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG, queryFilter, null, null, null, pageSize, cpage);
- } else {
- dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG);
- }
- baseDao.loadPromptData(dataTableEntity);
- return dataTableEntity;
- }
-
- /**
- * 鎶ヨ〃鏁版嵁婧愯鎯�
- *
- * @param uuid
- * @return
- */
- public FieldSetEntity findDatasource(String uuid) {
- return baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG, uuid, true);
- }
-
- /**
- * 鏁版嵁婧�-淇濆瓨
- * @param fse
- * @return
- */
- @Transactional
- @Override
- public String saveDatasource(FieldSetEntity fse) {
- String uuid;
- if (StringUtils.isEmpty(fse.getUUID())) {
- fse.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUserId());
- fse.setValue(CmnConst.CREATED_UTC_DATETIME, new Date());
- uuid = baseDao.add(fse);
- } else {
- fse.setValue(CmnConst.UPDATED_BY, SpringMVCContextHolder.getCurrentUserId());
- fse.setValue(CmnConst.UPDATED_UTC_DATETIME, new Date());
- DataTableEntity subDte = fse.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG_FIELD);
- if (!BaseUtil.dataTableIsEmpty(subDte)) {
- List<String> list = Lists.newArrayList();
- FieldSetEntity tempFse;
- for (int i = 0; i < subDte.getRows(); i++) {
- tempFse = subDte.getFieldSetEntity(i);
- uuid = tempFse.getUUID();
- if (!StringUtils.isEmpty(uuid)) {
- list.add(uuid);
- }
- }
- String filter = BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, list.size(), false);
- if (!StringUtils.isEmpty(filter)) {
- filter += " and ";
- }
- filter += "datasource_uuid=?";
- list.add(fse.getUUID());
- baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG_FIELD, filter, list.toArray());
- }
- baseDao.update(fse);
- uuid = fse.getUUID();
- }
- return uuid;
- }
-
- /**
- * 鎶ヨ〃鏁版嵁婧�-澶嶅埗
- *
- * @param
- * @return
- */
- public FieldSetEntity copyDatasource(FieldSetEntity fse) {
- FieldSetEntity baseFse = baseDao.getFieldSet(CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG, fse.getUUID(), true);
- DataTableEntity baseSubDte = baseFse.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG_FIELD);
- FieldSetEntity tempFse;
- for (int i = 0;i < baseSubDte.getRows();i++) {
- tempFse = baseSubDte.getFieldSetEntity(i);
- tempFse.remove(new String[]{CmnConst.UUID, CmnConst.ID});
- }
- baseFse.remove(new String[]{CmnConst.UUID, CmnConst.ID, CmnConst.UPDATED_UTC_DATETIME, CmnConst.UPDATED_BY});
- baseFse.setValue(CmnConst.REPORT_DATASOURCE_NAME, baseFse.getString(CmnConst.REPORT_DATASOURCE_NAME) + "_" + System.currentTimeMillis());
- return baseFse;
- }
-
- /**
- * 鎶ヨ〃鏁版嵁婧愬垹闄�
- *
- * @param uuid
- * @return
- */
- @Transactional
- public boolean deleteDatasource(String uuid) {
- return baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG, "uuid=?", new Object[]{uuid});
- }
-
- /**
- * sql瑙f瀽涓庨獙璇�
- *
- * @param sqlText
- * @return
- */
- public DataTableEntity sqlVerify(FieldSetEntity fse) throws SQLException {
- String sqlText = fse.getString(CmnConst.SQL_TEXT);
-// String rep = "(\\{\\$.+\\$\\})|(\\{\\^.+\\^\\})|(\\{\\&.+\\&\\})";
-
-// sqlText = sqlText.replaceAll("\\[\\[.+\\]\\]", "").replaceAll("(\\{\\$.+\\$\\})|(\\{\\^.+\\^\\})|(\\{\\&.+\\&\\})", "null");
-
-// sqlText = sqlText.replace("\n", " ");//鏇挎崲涓虹┖鏍�
-// sqlText = sqlText.replaceAll("\\{%((?!(\\{%)).+)%\\}", "");
- sqlText = SystemParamReplace.systemParamsReplace(sqlText);
- sqlText+=" limit 1 ";
- DataTableEntity dataTableEntity = getColumnNames(sqlText);
- String relatedTable = dataTableEntity.getFieldSetEntity(0).getString(CmnConst.TABLE_NAME);
- Map<String, String> map = Maps.newHashMap();
- if (!BaseUtil.strIsNull(relatedTable)) {
- FieldSetEntity tableInfo = baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_DATAMODEL_TABLE, "table_name = ?", new Object[]{relatedTable}, true);
- if (tableInfo != null) {
- DataTableEntity fieldData = tableInfo.getSubDataTable(CmnConst.PRODUCT_SYS_DATAMODEL_FIELD);
- for (int i = 0, length = fieldData.getRows(); i < length; i++) {
- FieldSetEntity subField = fieldData.getFieldSetEntity(i);
- String fieldName = subField.getString("field_name");
- String fieldDescription = subField.getString("field_description");
- map.put(fieldName, fieldDescription);
- }
- }
- }
- Map<String, List<String>> fieldTypeMap = Maps.newHashMap();
- fieldTypeMap.put(CmnConst.ATTR_DATA_TYPE_NUM, Arrays.asList(CmnConst.FIELD_TYPE_NUM_STR.split(",")));
- fieldTypeMap.put(CmnConst.ATTR_DATA_TYPE_DATE, Arrays.asList(CmnConst.FIELD_TYPE_DATE_STR.split(",")));
- String fieldType;
- for (int i = 0; i < dataTableEntity.getRows(); i++) {
- FieldSetEntity fieldSetEntity = dataTableEntity.getFieldSetEntity(i);
- fieldSetEntity.setTableName(CmnConst.PRODUCT_SYS_DATAMODEL_FIELD);
- fieldSetEntity.setValue(CmnConst.FIELD_TEXT, map.get(fieldSetEntity.getString(CmnConst.FIELD_NAME)));
- fieldType = fieldSetEntity.getString(CmnConst.FIELD_FORMAT);
- mid:
- for (Map.Entry<String, List<String>> entry : fieldTypeMap.entrySet()) {
- for (String singleFieldType : entry.getValue()) {
- if (singleFieldType.equalsIgnoreCase(fieldType)) {
- fieldSetEntity.setValue(CmnConst.FIELD_FORMAT, entry.getKey());
- break mid;
- }
- }
- }
- fieldType = fieldSetEntity.getString(CmnConst.FIELD_FORMAT);
- if (!CmnConst.ATTR_DATA_TYPE_NUM.equalsIgnoreCase(fieldType) && !CmnConst.ATTR_DATA_TYPE_DATE.equalsIgnoreCase(fieldType)) {
- fieldSetEntity.setValue(CmnConst.FIELD_FORMAT, CmnConst.ATTR_DATA_TYPE_STRING);
- }
- }
- //data瀛樻斁琛ㄥ悕
- dataTableEntity.setMeta(dataTableEntity.getFieldSetEntity(0).getMeta());
-
- // 鑾峰彇鍘熸湁淇℃伅 2021骞�12鏈�24鏃� 10:51:38 6c
- DataTableEntity subDte = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG_FIELD, "datasource_uuid=?", new Object[]{fse.getUUID()});
- FieldSetEntity subFse;
- FieldSetEntity tempFse;
- for (int j = 0; j < dataTableEntity.getRows(); j++) {
- tempFse = dataTableEntity.getFieldSetEntity(j);
- for (int i = 0; i < subDte.getRows(); i++) {
- subFse = subDte.getFieldSetEntity(i);
- if (subFse.getString(CmnConst.FIELD_NAME).equals(tempFse.getString(CmnConst.FIELD_NAME))) {
- tempFse.setValue(CmnConst.FIELD_TEXT, subFse.getString(CmnConst.FIELD_TEXT));
- tempFse.setValue(CmnConst.FIELD_PROMPT, subFse.getString(CmnConst.FIELD_PROMPT));
- tempFse.setValue(CmnConst.TABLE_NAME, subFse.getString(CmnConst.TABLE_NAME));
- tempFse.setValue(CmnConst.FIELD_FORMAT, subFse.getString(CmnConst.FIELD_FORMAT));
- tempFse.setValue(CmnConst.SEARCH_TYPE, subFse.getInteger(CmnConst.SEARCH_TYPE));
- tempFse.setValue(CmnConst.LOGICAL_OPERATOR, subFse.getString(CmnConst.LOGICAL_OPERATOR));
- tempFse.setValue(CmnConst.LOGICAL_VALUE, subFse.getString(CmnConst.LOGICAL_VALUE));
- break;
- }
- }
- }
-
- return dataTableEntity;
- }
-
-
- public static Set<String> getCustomColumnName(String sql) {
- Set<String> result = Sets.newHashSet();
- CallBack<Matcher> getColumn = param -> {
- Matcher m = param[0];
- while (m.find()) {
- result.add(m.group(2));
- }
- };
- String[] reps = {"(\\{\\^)([\\w]+)(\\^\\})", "(\\{\\$)([\\w]+)(\\$\\})", "(\\{\\&)([\\w]+)(\\&\\})"};
- for (String rep : reps) {
- getColumn.method(Pattern.compile(rep).matcher(sql));
- }
- return result;
- }
-
- /**
- * 鑾峰彇琛ㄤ腑鎵�鏈夊瓧娈靛悕绉� 涓嶆纭�-------------------
- *
- * @param sql 琛ㄥ悕
- * @return
- * @throws BaseException show full columns from tableName 閫氳繃琛ㄥ悕鑾峰彇鏁版嵁搴撳厓鏁版嵁
- */
- public DataTableEntity getColumnNames(String sql) throws SQLException {
- DataTableEntity dataTableEntity = new DataTableEntity();
- Set<String> customColumnName = getCustomColumnName(sql);
- sql = sql.replaceAll("(\\{\\$((?!(\\{\\$)).)+\\$\\})|(\\{\\^((?!(\\{\\^)).)+\\^\\})|(\\{\\&((?!(\\{\\&)).)+\\&\\})", "null");
- List<String> ternaryOperatorSuitList = BaseUtil.getSuitContent(sql, "\\{@((?!(\\{@)|(@\\})|(\\[\\[)|(\\]\\])).)+@\\}");
- String executeContent;
- String resultValue;
- for (String ternaryOperator : ternaryOperatorSuitList) {
- executeContent = ternaryOperator.substring(2, ternaryOperator.length() - 2);
- try {
- resultValue = BaseUtil.executeExpression(executeContent).toString();
- sql = sql.replace(ternaryOperator, resultValue);
- } catch (Exception e) {
- SpringMVCContextHolder.getSystemLogger().error(e);
- sql = sql.replace(ternaryOperator, "");
- }
- }
- sql = sql.replaceAll("\\[\\[((?!\\[).)+\\]\\]", "")
- .replaceAll("and\\s+1\\s*=\\s*1", "")
- .replaceAll("\\{=.+=\\}", "")
- .replaceAll("(\\t*\\n){2,}", "\n");
- sql = QuerySqlParseUtil.parseSplitTableSql(baseDao, sql, true);
- SpringMVCContextHolder.getSystemLogger().info(sql);
- //涓庢暟鎹簱鐨勮繛鎺�
- try (Connection con = ConnectionManager.getConnection();
- PreparedStatement ps = con.prepareStatement(sql);
- ResultSet rs = ps.executeQuery()) {
- //缁撴灉闆嗗厓鏁版嵁
- ResultSetMetaData rsmd = rs.getMetaData();
- //琛ㄥ垪鏁�
- int size = rsmd.getColumnCount();
- Set<String> fieldNameSet = Sets.newHashSet();
- for (int i = 1; i <= size; i++) {
- FieldSetEntity fieldSetEntity = new FieldSetEntity();
- FieldMetaEntity f = new FieldMetaEntity();
- f.setTableName(new Object[]{CmnConst.PRODUCT_SYS_DATAMODEL_FIELD});
- fieldSetEntity.setMeta(f);
- fieldSetEntity.setValue(CmnConst.TABLE_NAME, rsmd.getTableName(i));//鑾峰彇琛ㄥ悕
- //瀛楁鍚嶆垨鍒悕
- fieldSetEntity.setValue(CmnConst.FIELD_NAME, rsmd.getColumnLabel(i));
- //瀛楁绫诲瀷
- fieldSetEntity.setValue(CmnConst.FIELD_FORMAT, "string");
- // 鏌ヨ绫诲瀷
- fieldSetEntity.setValue(CmnConst.SEARCH_TYPE, -1);
- //鑾峰彇鎸囧畾鍒楃殑鎸囧畾鍒楀ぇ灏�
-// fieldSetEntity.setValue(CmnConst.FIELD_LENGTH, rsmd.getPrecision(i));
- dataTableEntity.addFieldSetEntity(fieldSetEntity);
- fieldNameSet.add(fieldSetEntity.getString(CmnConst.FIELD_NAME));
- }
- for (String columnName : customColumnName) {
- if (fieldNameSet.contains(columnName)) {
- continue;
- }
- FieldSetEntity fs = new FieldSetEntity();
- fs.setTableName(CmnConst.PRODUCT_SYS_DATAMODEL_FIELD);
- fs.setValue(CmnConst.FIELD_NAME, columnName);
- fs.setValue(CmnConst.FIELD_FORMAT, "string");
- fs.setValue(CmnConst.SEARCH_TYPE, -1);
- dataTableEntity.addFieldSetEntity(fs);
- }
- return dataTableEntity;
- }
- }
-
- /**
- * 鏍规嵁鏁版嵁婧愰厤缃紝鏌ヨ鍑烘暟鎹�
- *
- * @param dfs 鏁版嵁婧�
- * @return
- */
- public DataTableEntity getDataSourceData(FieldSetEntity dfs) {
- if (dfs == null) {
- return null;
- }
- String sql = dfs.getString("sql_text");
- sql = SystemParamReplace.systemParamsReplace(sql);
- DataTableEntity dt = null;
- if (dfs.getBoolean("is_page")) {
- dt = baseDao.listTable(sql, new String[]{}, dfs.getInteger("page_size"), 1);
- } else {
- dt = baseDao.listTable(sql, new String[]{});
- }
- return dt;
- }
-
- /**
- * 鏍规嵁鏁版嵁婧愰厤缃紝鏌ヨ鍑烘暟鎹�
- *
- * @param uuid 鏁版嵁婧恥uid
- * @return
- */
- public DataTableEntity getDataSourceData(String uuid) {
- if (StringUtils.isEmpty(uuid)) {
- return null;
- }
- //鑾峰彇鏁版嵁婧�
- DataTableEntity datasources = DataPoolCacheImpl.getInstance().getCacheData("鏁版嵁婧愰厤缃�", new String[]{uuid});
- if (datasources != null && datasources.getRows() > 0) {
- return getDataSourceData(datasources.getFieldSetEntity(0));
- }
- return null;
- }
-
- public DataTableEntity getDictNames() {
- return baseDao.listTable("SELECT dict_name FROM product_sys_dict GROUP BY dict_name", new Object[]{});
- }
-
- /**
- * 鏍规嵁鏁版嵁婧愯幏鍙栨墍鏈夊瓧娈典俊鎭�
- *
- * @param uuid
- * @return
- */
- public DataTableEntity getDataReouceOfField(String uuid) {
- return baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG_FIELD, "datasource_uuid=?", new Object[]{uuid});
- }
-
- /**
- * 鑾峰彇鎵�鏈夊弬鐓�
- *
- * @return
- */
- public List<String> getDictAndPrompt() {
- List<String> reference_name = new ArrayList<String>();
- StringBuffer query_sql = new StringBuffer();
- query_sql.append(" select dict_name from( ");
- query_sql.append(" select CONCAT('銆�',dict_name,'銆�')dict_name FROM product_sys_dict GROUP BY dict_name ");
- query_sql.append(" UNION ALL ");
- query_sql.append(" select prompt_name FROM product_sys_prompt ");
- query_sql.append(" )a ");
- DataTableEntity dt = baseDao.listTable(query_sql.toString(), new Object[]{});
- if (!BaseUtil.dataTableIsEmpty(dt)) {
- for (int i = 0; i < dt.getRows(); i++) {
- reference_name.add(dt.getFieldSetEntity(i).getString("dict_name"));
- }
- }
- return reference_name;
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/ReportServerNew.java b/product-server-report_v2/src/main/java/com/product/server/report/service/ReportServerNew.java
deleted file mode 100644
index 2c35f9c..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/ReportServerNew.java
+++ /dev/null
@@ -1,800 +0,0 @@
-package com.product.server.report.service;
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.exception.BaseException;
-
-import org.apache.log4j.Logger;
-
-
-public class ReportServerNew {
-
- private Report report;
- private DecimalFormat df=(DecimalFormat)NumberFormat.getInstance();
- private java.text.SimpleDateFormat format;
- public static Logger logger=Logger.getLogger(ReportServerNew.class);
- /**
- * 鍒嗙粍鎶ヨ〃鑷姩鏍规嵁Report鏁版嵁杩涜鍒嗙粍
- * 鍦ㄨ皟鍒涘缓鎶ヨ〃鍓嶏紝闇�瀵规姤琛ㄩ厤缃暟鎹繘琛岄獙璇侊紝閿欒淇℃伅鐩存帴鏄剧ず鍦ㄧ晫闈腑銆傚惁鍒欑┖鏄撳嚭閿欍�係tring checked=this.toCheckReport();
- * @return
- * @throws BaseException
- */
- public String toCreateGroupReport() throws BaseException{
- StringBuffer html=new StringBuffer();
- String fixHeader[]=null;
- if(report.isFixHeader()){
- fixHeader=fixHeader();
- }
- if(fixHeader!=null && fixHeader.length>0){
- html.append(fixHeader[0]);
- }
- html.append(" <table class='htmlReport' id='bill' cellspacing='0' cellpadding='0' border='0' style='width:").append(report.getWidth()==0?"100%":report.getWidth()+"px").append("'>");
- //涓嶆槸鍥哄畾琛ㄥご
- if(!report.isFixHeader()){html.append(createTitleNew());}
-// html.append(createTitle());
- if(fixHeader!=null && fixHeader.length>1){
- html.append(fixHeader[1]);
- }
- html.append(createBody());
- html.append("</table>");
- if(fixHeader!=null && fixHeader.length>2){
- html.append(fixHeader[2]);
- }
- if(fixHeader!=null ){//涓嶈兘璋冨埌init鏂规硶
- //html.append(fixHeaderScrollScript());
- }
- //html.append(appendOnloadMethod());//js娉曞姞
- //System.out.println("appendOnloadMethod:"+appendOnloadMethod());
- //html.append(this.rowClickColorScript());//js娉曞姞
- //System.out.println("rowClickColorScript:"+this.rowClickColorScript());
-// html.append("<script type='text/javascript'>");
-// if(report.getWidth()>0){
-// html.append("document.getElementById('div_form_body').style.width='").append(report.getWidth()).append("px';");
-// }
-// html.append("</script>");
- //System.out.println(" +++++++++++++++++++++++++++++++++ htm:"+html.toString());
- if(report.isPage())
- return html+toPageHtml(report.getTotalRow(),report.getCurrentPage(),report.getPageSize());
- else
- return html.toString();
- }
- /**
- * 鍥哄畾琛ㄥご鍚庯紝宸﹀彸婊氬姩鏃讹紝琛ㄥご鍚屾婊氬姩
- * @return
- */
- private String fixHeaderScrollScript(){
- StringBuffer html=new StringBuffer();
- html.append("<script type='text/javascript'>");
- html.append("init();");
- html.append("</script>");
- return html.toString();
- }
- /**
- * 鍥哄畾琛ㄥご
- * @return
- */
- private String[] fixHeader(){
- StringBuffer html=new StringBuffer();
- html.append(" <div class='table-head' id='headdiv'>");
- html.append(" <table class='htmlReport' id='bill' cellspacing='0' cellpadding='0' border='0' style='width:").append(report.getWidth()==0?"100%":report.getWidth()+"px").append("'>");
-// html.append(" <colgroup>");
-// html.append(" <col style='width: 80px;'><col style='width: 300px;'><col>");
-// html.append(" </colgroup>");
- String colgroup=createFixTitleColgroup();
- html.append(colgroup);
- html.append(" <thead>");
- //html.append(" <tr><th>搴忓彿</th><th>鍐呭</th><th>鍐呭</th></tr>
- html.append(createTitleNew());
- html.append(" </thead>");
- html.append(" </table>");
- html.append(" </div>");
- html.append(" <div class='table-body' id='bodydiv'> ");
- return new String[]{html.toString(),colgroup,"</div>"};
-
- }
- /**
- * 鍒涘缓鏍囬鏍忥紝澶氱骇鏍囬锛屾敮鎸佸悎骞舵爣棰� 6.5
- * @return
- */
- private String createFixTitleColgroup(){
- StringBuffer title=new StringBuffer();
- title.append("<colgroup>");
- if(report.getTitle()!=null){
- //int width[]=new int[report.getTitle()[report.getTitle().length-1].length];//鏈�鍚庝竴琛�
- int width[]=report.getColWidth();
-// for(int i=0;i<report.getTitle().length;i++ ){//澶氱骇琛ㄥご
-// for(int j=0;j<report.getTitle()[i].length;j++){//姣忎竴鍒楁爣棰�
-// if(report.getRowspan()[i][j]>0&&report.getColspan()[i][j]>0){ //琚悎骞剁殑琛屽彲鍒� 璁剧疆涓�0
-// int c = computeTitleColWidth(i,j);
-// if(c > width[j]&&i==report.getTitle().length-1){
-// width[j] = c;
-// }
-// }
-// }
-// }
- for(int i=0;i < width.length;i++){
-// if(i != width.length-1)
- title.append("<col style='width:").append(width[i]).append("%'>");
-// else
-// title.append("<col>");
- }
- }
- title.append("</colgroup>");
- return title.toString();
- }
- public String getReportTitle(){
- StringBuffer html=new StringBuffer();
- html.append(" <table class='htmlReport' id='bill' cellspacing='0' cellpadding='0' border='0' style='width:").append(report.getWidth()==0?"100%":""+report.getWidth()).append("px'>");
- html.append(createTitleNew());
- html.append("</table>");
- return html.toString();
-
- }
- public String getTableHeader(){
- StringBuffer html=new StringBuffer();
- html.append(" <table class='htmlReport' id='bill' cellspacing='0' cellpadding='0' border='0' style='width:").append(report.getWidth()==0?"100%":""+report.getWidth()).append("px'>");
- html.append(createTitleNewForShow());
- html.append("</table>");
- return html.toString();
- }
- /**
- * 鍒涘缓鏍囬鏍忥紝澶氱骇鏍囬锛屾敮鎸佸悎骞舵爣棰� 6.5
- * @return
- */
- private String createTitleNewForShow(){
- StringBuffer title=new StringBuffer();
-// title.append("<tHead>");
- if(report.getTitle()!=null){
- for(int i=0;i<report.getTitle().length;i++ ){//澶氱骇琛ㄥご
-// title.append(" <tr id='titletr").append(i+1).append("' onClick='selectAllRowCheckbox(this)'>");
- title.append(" <tr bordercolor='#CCCCCC' align='center' height='26px' class='table_tr_head styleBgColor styleBorderColor'>");
- for(int j=0;j<report.getTitle()[i].length;j++){//姣忎竴鍒楁爣棰�
- if(report.getRowspan()[i][j]>0&&report.getColspan()[i][j]>0){ //琚悎骞剁殑琛屽彲鍒� 璁剧疆涓�0
- title.append(" <th align='center' rowspan='").append(report.getRowspan()[i][j])
- .append("' colspan='").append(report.getColspan()[i][j])
- .append("' class='VLocked styleBgColor styleBorderColor' style='text-align:center;BORDER:#CCCCCC 1px solid;width:").append(computeTitleColWidth(i,j)).append("%'>")
- .append(report.getTitle()[i][j]).append("</th>");
- }
- }
- title.append(" </tr>");
- }
- }
- //System.out.println("title:"+title.toString());
-// title.append("</tHead>");
- return title.toString();
- }
- /**
- * 鍒涘缓鏍囬鏍忥紝澶氱骇鏍囬锛屾敮鎸佸悎骞舵爣棰� 6.5
- * @return
- */
- private String createTitleNew(){
- StringBuffer title=new StringBuffer();
-// title.append("<tHead>");
- if(report.getTitle()!=null){
- for(int i=0;i<report.getTitle().length;i++ ){//澶氱骇琛ㄥご
-// title.append(" <tr id='titletr").append(i+1).append("' onClick='selectAllRowCheckbox(this)'>");
- title.append(" <tr bordercolor='#CCCCCC' align='center' height='26px' class='table_tr_head styleBgColor styleBorderColor'>");
- for(int j=0;j<report.getTitle()[i].length;j++){//姣忎竴鍒楁爣棰�
- if(report.getRowspan()[i][j]>0&&report.getColspan()[i][j]>0){ //琚悎骞剁殑琛屽彲鍒� 璁剧疆涓�0
- title.append(" <th align='center' rowspan='").append(report.getRowspan()[i][j])
- .append("' colspan='").append(report.getColspan()[i][j])
- .append("' class='VLocked styleBgColor styleBorderColor' style='text-align:center;BORDER:#CCCCCC 1px solid;width:").append(computeTitleColWidth(i,j)).append("%'>")
- .append(report.getTitle()[i][j]).append("</th>");
- }
- }
- title.append(" </tr>");
- }
- }
- //System.out.println("title:"+title.toString());
-// title.append("</tHead>");
- return title.toString();
- }
-
- /**
- * 鍒涘缓鏍囬鏍忥紝澶氱骇鏍囬锛屾敮鎸佸悎骞舵爣棰�
- * @return
- */
- private String createTitle(){
- StringBuffer title=new StringBuffer();
- title.append("<tHead>");
- if(report.getTitle()!=null){
- for(int i=0;i<report.getTitle().length;i++ ){//澶氱骇琛ㄥご
- title.append(" <tr bordercolor='#CCCCCC' id='titletr").append(i+1).append("' onClick='selectAllRowCheckbox(this)'>");
- for(int j=0;j<report.getTitle()[i].length;j++){//姣忎竴鍒楁爣棰�
- if(report.getRowspan()[i][j]>0&&report.getColspan()[i][j]>0){ //琚悎骞剁殑琛屽彲鍒� 璁剧疆涓�0
- title.append(" <td align='center' rowspan='").append(report.getRowspan()[i][j])
- .append("' colspan='").append(report.getColspan()[i][j])
- .append("' style='background:url(/com/report/img/thead_bg_tt.jpg);' width='").append(computeTitleColWidth(i,j)).append("%'>")
- .append(report.getTitle()[i][j]).append("</td>");
- }
- }
- title.append(" </tr>");
- }
-
- }
- title.append("</tHead>");
- return title.toString();
- }
- /**
- * 璁$畻鏍囬鍒楃殑瀹藉害
- * @param titleRow
- * @param titleCol
- * @return
- */
- private int computeTitleColWidth(int titleRow,int titleCol){
- int colspan=report.getColspan()[titleRow][titleCol];
- int startColIndex=0;//鍚堝苟鍒楃殑寮�濮嬪垪
- int endColIndex=0;//鍚堝苟鍒楃殑缁撴潫鍒�
- int width=0;//鍒楃殑瀹藉害
- for(int i=0;i<titleCol;i++){//
- startColIndex+=report.getColspan()[titleRow][i];
- }
- endColIndex=startColIndex+colspan;
- for(int i=startColIndex;i<endColIndex;i++){
- width+=report.getColWidth()[i];
- }
-
- return width;
- }
- /**
- * 鍒涘缓缁熻涓昏鍐呭
- * @return
- * @throws BaseException
- */
- private String createBody() throws BaseException{
- StringBuffer body=new StringBuffer();
- //璁板綍鍒嗙粍瀛楁鐨勫悎璁″��
- Map<String,double[]> totalValue =initTotal();
- //璁板綍鍒嗙粍瀛楁鐨勪笂涓�鏉′笉鍚岀殑鍊�
- String oldGroupValue[]=new String [report.getField().length];
- //璁板綍鍒嗙粍瀛楁涓婁竴鏉′笉鍚屽�肩殑涓嬫爣
- int groupIndex[]=new int [report.getField().length];
- //璁板綍鍒嗙粍瀛楁涓婁竴鏉′笉鍚屽�肩殑鍚堝苟琛屾暟锛屾寚 瀹歳owspan
- int groupRow[][]=new int [report.getDt().getRows()][report.getField().length];
- //璁板綍鍗曞厓鏍兼槸鍚堝苟
- StringBuffer rowSpan=new StringBuffer();
-
- body.append("<tbody>");
- //logger.error("鎬昏锛�"+report.getDt().getRow());
- for(int i=0;report.getDt()!=null&& i<report.getDt().getRows();i++){
- FieldSetEntity f=report.getDt().getFieldSetEntity(i);
- //--------merge------------
- String group[]=oldGroupValue.clone();
- //--------merge------------
- body.append(createTotalRow(i,totalValue,oldGroupValue,groupIndex,groupRow,f,false,body));
-
- body.append("<tr name='trs").append(i).append("' id='trs").append(i).append("' class='scrollColThead' bordercolor='#CCCCCC'>");
- StringBuffer groupv=new StringBuffer();
- for(int j=0;j<report.getField().length;j++){
-
- Object value=f.getValue(report.getField()[j]);
- //--------merge------------
- if(j<=report.getMaxGroupFieldIndex()){
- if(groupv.length()>0)groupv.append("_");
- groupv.append(value==null?"":value);
- }
-
- if(j<=report.getMaxGroupFieldIndex() && groupv.toString().equals(group[j]) ) //褰撳墠鍒嗙粍瀛楁鍊间笌鍓嶄竴鏉℃暟鎹殑鍚屼竴鍒嗙粍瀛楁鐨勪笉鐩哥瓑锛岃〃绀鸿鍒嗙粍鍚堣
- {
- continue; //鍒嗙粍瀛楁锛屽鏄笉鏄涓�鏉★紝涓嶇敓鎴恡d
- }
- //-------------------------
- body.append("<td class='all_biaodan_td' align='center' height='28px' id='").append(report.getField()[j]).append(i).append("'");
- if(j<=report.getMaxGroupFieldIndex() && !groupv.toString().equals(group[j]) ) //褰撳墠鍒嗙粍瀛楁鍊间笌鍓嶄竴鏉℃暟鎹殑鍚屼竴鍒嗙粍瀛楁鐨勪笉鐩哥瓑锛岃〃绀鸿鍒嗙粍鍚堣
- {
- body.append(" rowspan='").append(report.getField()[j]).append(i).append("'");//鍗犲灏戣
- }
- body.append(" width='").append( report.getColWidth()[j]).append("%'")//鍒楀
- .append(" style='BACKGROUND-COLOR:#FFFFFF;text-align:")
- .append(report.getAligh()==null||report.getAligh()[j]==null?"center":report.getAligh()[j])
- .append("; '>");
- if(report.getUrl()!=null&&report.getUrl()[j]!=null){
- body.append("<a href='#this' onclick='show(\"").append(urlReplaceParameter(report.getUrl()[j],f)).append("\",this)'>");// 绌� 閫忔煡璇㈠湴鍧�
- }
- body.append(value==null?"":formatData(value,j));//鍊�
- if(report.getUrl()!=null&&report.getUrl()[j]!=null){
- body.append("</a>");
- }
- body.append("</td>\r\n");
-
- if(report.getTotalField()!=null && report.getTotalField()[j]){//鍚堣瀛楁
- toAddTotalValue(totalValue,j,f.getDouble(report.getField()[j]),"SUM");//鍒嗙粍瀛楁鐨勫悎璁★紝鍦ㄤ笉鍚岀殑缁勬椂锛屼細娓呯┖
- }
-
- }
-
- body.append("</tr>");
- }
- //鏈�鍚庝竴琛屽悗闈㈠啀鐢熸垚缁熻
- if(report.getGroupField()!=null&&report.getDt().getRows()>0){
- int lastRow=report.getDt().getRows()-1;
- body.append(createTotalRow(lastRow+1,totalValue,oldGroupValue,groupIndex,groupRow,null,true,body));
- }
- //鏈�鍚庣敓鎴愪竴琛屾�荤殑缁熻
- if(report.isTotal()&&totalValue!=null)
- body.append(createTotalAll(totalValue));
- body.append("</tbody>");
- //鏈�鍚庣敓鎴� 鍚堝苟琛宩avascript鑴氭湰
- for(int k=0;report.getMaxGroupFieldIndex()>=0&&k<groupRow.length;k++){
- for(int m=0;m<=report.getMaxGroupFieldIndex();m++){
- //濡傛灉鍙湁涓�鏉℃暟鎹紝涓嶇敤娣诲姞鍒嗙粍瀛楁
- if(groupRow[k][m]<=1) continue;
- if(rowSpan.length()>0)rowSpan.append("~");
- //琛屼笅鏍�=瀛楁鍚�+琛屼笅鏍�=鍚堝苟琛屾暟=鍒椾笅鏍�
- rowSpan.append(k).append("=").append(report.getField()[m]).append(k).append("=").append(groupRow[k][m]).
- append("=").append(m);
- }
- }
- body.append("<input type='hidden' value='").append(rowSpan).append("' id='mergeRows'>");
- body.append("<input type='hidden' value='").append(report.getMaxGroupFieldIndex()).append("' id='maxGroupFieldindex'>");
- if(report.isShowTotalRow()){
- body.append("<input type='hidden' value='true' id='isShowmergeRows'>");
- }
- //logger.error("===="+body);
- return body.toString();
- }
-
- /**
- * 鏍煎紡鍖栨暟鎹�
- * @param i
- * @param j
- * @return
- */
- private Object formatData(Object value ,int j){
- //logger.error("鏁版嵁鏍煎紡鍖�1锛�"+value+" "+j );
- String format=report.getFormat()[j];
- //logger.error("鏁版嵁鏍煎紡鍖�2锛�"+j+" "+format);
- try{
- if(value==null||format==null||"".equals(value.toString().trim())){//瀛楃涓�
- return value;
- }else if(format.indexOf("#")==0&&format.indexOf("%")>0){//鐧惧垎姣�
- df.applyPattern(format);
- return df.format(Double.parseDouble(value.toString()));
- }else if(format.indexOf("#")>=0){//鏁板瓧
- df.applyPattern(format);
- Object o=df.format(Double.parseDouble(value.toString()));
- //logger.error("鏁版嵁鏍煎紡鍖�3锛�"+j+" "+o);
- return o;
- }else {//鏃ユ湡
- this.format=new SimpleDateFormat(format);
- return this.format.format((Date)value);
- }
- }catch(Exception e){
- e.printStackTrace();
- return value;
- }
- }
- /**
- * 鐢熸垚鎬荤殑鍚堣
- * @return
- */
- private String createTotalAll(Map<String,double[]> totalValue){
- StringBuffer total=new StringBuffer();
- double tv[]=(double[])totalValue.get("all");
- if(report.getTotalField()!=null){
- total.append("<tr class='scrollColThead' bordercolor='#CCCCCC'>");
- int v=0;
- boolean b=true;
- for(int i=0;i<report.getField().length;i++){
- if(report.getTotalField()[i]){
- b=false;
- total.append("<td class='all_biaodan_td' align='center' width='").append( report.getColWidth()[i])//鍒楀
- .append("%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:")
- .append(report.getAligh()==null||report.getAligh()[i]==null?"center":report.getAligh()[i])
- .append("; '> ")
- .append(formatData(tv[i],i))//鍊�
- .append("</td>");
- }else if(i==0){
- total.append("<td colspan='[total]' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center'>鎬昏锛�</td>");
- v++;
- }else if(!b){
- total.append("<td > </td>");
- }else {
- v++;
- }
- }
- total.append("</tr>");
- int c=total.indexOf("[total]");
- if(c>=0)
- total.replace(c, c+7, (v==0?1:v)+"");
- }
- return total.toString();
- }
- /**
- * 鏈�鍚庝竴涓垎缁勫瓧娈垫墠鎵ц鐢熸垚鍚堣琛�
- * 骞朵笖浠庢渶鍚庝竴涓垎缁勫瓧娈靛線鍓嶇敓鎴愶紝渚嬪锛氬叕鍙搞�侀儴闂ㄣ�佷汉鍛樹笁涓垎缁勫瓧娈碉紝浠庝汉鍛樸�侀儴闂ㄣ�佸叕鍙告墽琛�
- * @param rowIndex
- * @param fieldIndex
- * @param totalValue
- * @param oldGroupValue
- * @param groupIndex
- * @param groupRow
- * @return
- */
- private StringBuffer createTotalRow(int i,Map<String,double[]> totalValue,String oldGroupValue[],int groupIndex[],int groupRow[][],FieldSetEntity values,boolean isEnd,StringBuffer body) throws BaseException{
- StringBuffer group=new StringBuffer();
- int colspan=0;
-
-// for(int c=0;c<=report.getMaxGroupFieldIndex();c++){
- for(int c=report.getMaxGroupFieldIndex();c>=0;c--){
- //濡傛灉涓嶆槸鍒嗙粍瀛楁锛屽垯杩斿洖
- if(report.getGroupField()==null || !report.getGroupField()[c]){
- return group;
- }
- StringBuffer temp=new StringBuffer();
- //鍙栧垎缁勫瓧娈靛強鍓嶉潰鐨勫垎缁勫瓧娈靛�� 缁勫悎
- StringBuffer groupv=new StringBuffer();
- for(int b=0;b<=c;b++){
- if(groupv.length()>0)groupv.append("_");
- groupv.append(values==null?"":values.getString(report.getField()[b]));
- }
- if( i>0){ //绗竴鏉℃暟鎹笉鐢ㄧ粺璁� 锛屼粠绗簩鏉℃暟鎹紑濮�
- groupRow[groupIndex[c]][c]=groupRow[groupIndex[c]][c]+1;
-
- if(!groupv.toString().equals(oldGroupValue[c]) //褰撳墠鍒嗙粍瀛楁鍊间笌鍓嶄竴鏉℃暟鎹殑鍚屼竴鍒嗙粍瀛楁鐨勪笉鐩哥瓑锛岃〃绀鸿鍒嗙粍鍚堣
- ||isEnd //鏄惁涓烘暟鎹泦鐨勬槸鏈�鍚庝竴鏉�
- ){
- //logger.error("褰撳墠鍒楋細"+c+" 鍚堝苟琛屾暟锛�"+groupRow[groupIndex[c]][c]);
- if(groupRow[groupIndex[c]][c]>1) {
- temp.append("<tr name='trs00").append(groupIndex[c]).append(c).append("' id='trs00").append(groupIndex[c]).append(c).append("' class='scrollColThead' bordercolor='#CCCCCC'>");
- colspan=report.getMaxGroupFieldIndex()-c+1;
- temp.append(" <td name='merg' colspan=")
- .append(colspan).append(" style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:")
- .append(report.getAligh()==null||report.getAligh()[c]==null?"center":report.getAligh()[c])
- .append(";'>")
- .append(oldGroupValue[c])
- .append(" 鍚堣:</td>");
- //寰幆鍒嗙粍瀛楁鍚庣殑鏁版嵁缁熻瀛楁
- for(int k=report.getMaxGroupFieldIndex()+1;k<report.getField().length;k++){
- if(report.getTotalField()!=null&&report.getTotalField()[k]){//濡傛灉缁熻瀛楁锛屾樉绀哄悎璁″�硷紝鍚﹀垯鏄剧ず绌烘牸
- double tv[]=(double[])totalValue.get(report.getField()[c]);
- temp.append(" <td align='center' width='").append(report.getColWidth()[k]).append("%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:")
- .append(report.getAligh()==null||report.getAligh()[c]==null?"center":report.getAligh()[c])
- .append(";'>").append(formatData(tv[k],k)).append("</td>");
- }else{
- temp.append(" <td align='center' width='").append(report.getColWidth()[k]).append("%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:")
- .append(report.getAligh()==null||report.getAligh()[c]==null?"center":report.getAligh()[c])
- .append(";'> </td>");
- }
- temp.append("\r\n");
- }
- temp.append(" </tr>");
- //鍚堣琛岀粨鏉�
- //鍚屾椂褰撳墠鍒嗙粍鍓嶉潰鐨勫垎缁勫瓧娈电殑rowspan瑕佸姞1
- for(int m=c-1;m>=0;m--){
- groupRow[groupIndex[m]][m]=groupRow[groupIndex[m]][m]+1;
- }
- }
- String rspan="rowspan='"+report.getField()[c]+groupIndex[c]+"'";
- String rowspanNum="rowspan='"+ (groupRow[groupIndex[c]][c]) +"'";
- int rowspan=body.indexOf(rspan);
-
- if(rowspan>0) {
- if(groupRow[groupIndex[c]][c]>1) {
- body.replace(rowspan,rowspan+rspan.length(),rowspanNum);//鏇挎崲鎴愯鏁�
- }else {
- body.replace(rowspan,rowspan+rspan.length(),"");//鏇挎崲鎴愮┖
- }
- }
-
- if(i < groupRow.length) {
- groupIndex[c]=i;
- }
- totalValue.put(report.getField()[c],new double[report.getField().length]);
- }
-
- }
- else{
- groupIndex[c]=i;
-// groupRow[i][c]+=1;
- }
- oldGroupValue[c]=groupv.toString();
- group.append(temp);
- }
- return group;
- }
- /**
- * 娣诲姞鍚堣鏁版嵁
- * @param m
- * @param index
- * @param d
- */
- private void toAddTotalValue(Map<String,double[]> m,int index,Double d,String type){
- Iterator<String> keys=m.keySet().iterator();
- while(keys.hasNext()){
- Object key=keys.next();
- double ds[]=(double[])m.get(key);
- if("SUM".equals(type)){//缁熻绫诲瀷 鍙互鏄钩鍧囨暟 鍚堣
- ds[index]+=d==null?0.0:d.doubleValue();
- }
- m.put(key.toString(), ds);
- }
- }
- /**
- * 鍒濆鍖栧悎璁″彉閲忥紝鏍规嵁鍒嗙粍瀛楁
- * @return
- */
- private Map <String,double[]> initTotal(){
- Map <String,double[]> m=new HashMap<String,double[]>();
- for(int i=0;report.getGroupField()!=null&&i<report.getGroupField().length;i++){
- if(report.getGroupField()[i]){
- m.put(report.getField()[i],new double[report.getField().length]);
- }
- }
- m.put("all", new double[report.getField().length]);//鍏ㄩ儴鍚堣
- return m;
- }
- /**
- * URL璁剧疆涓惈鍙橀噺鍙傛暟鐨勶紝鐢ㄦ煡鍑烘潵鍊兼浛鎹�
- * @param url
- * @param f
- * @return
- */
- private String urlReplaceParameter(String url,FieldSetEntity f) throws BaseException{
- int index=-1;
- while((index=url.indexOf("~"))>=0){
- int end=url.indexOf('~', index+1);
- if(end>0&&end>index){
- String dfield=url.substring(index, end+1);//#{xxx}
- //String field=url.substring(index+1, end);//鍙栧嚭瀛楁鍚�
- String field=dfield.replaceAll("~","");
- //System.out.println(dfield+"|"+field);
- if("".equals(field.trim())||f.getValue(field)==null){
- url=url.replaceFirst(dfield,"");
- }else{
- url=url.replaceFirst(dfield, f.getString(field));
- }
- }
- }
- return url;
- }
- /**
- * 椤甸潰鍒濆鍔犺浇璋冪敤鏂规硶
- * @param method
- */
- public String appendOnloadMethod(){
- //System.out.println("-----------------------杩涘叆 appendOnloadMethod()");
- StringBuilder b=new StringBuilder();
- b.append("<script type='text/javascript'>\n\r");
- b.append("window.onload=function(){\n\r");
- //-----------------------------------
- b.append("rowSelectedColor();//瀵规瘡琛屽垵濮嬪叧棰滆壊鍙樺寲鐨勪簨浠舵柟娉昞n\r");
- if(report.getOnloadMethod()!=null)b.append(report.getOnloadMethod());
- b.append("\n\r");
- b.append("alert(22);\n\r");
- //-----------------------------------
- b.append("}\n\r");
- b.append("</script>\n\r");
- return b.toString();
- }
- /**
- * 娣诲姞鏁版嵁琛岄�変腑棰滆壊鍙樺寲鐨刯avascript 浠g爜
- * @return
- */
- public String rowClickColorScript(){
- //System.out.println("-----------------------杩涘叆 rowClickColorScript()");
- StringBuilder b=new StringBuilder();
- b.append("<script type='text/javascript'>\n\r");
- //琛屾坊鍔犱簨浠�
- b.append("function rowSelectedColor(){\n\r");
- b.append("var trs=document.getElementsByName('trs');\n\r");
- b.append("for(var i=0;i<trs.length;i++){\n\r");
- b.append("trs[i].onmouseover='changeActiveRow(this)';\n\r");
- b.append("trs[i].onclick='changeActiveRow(this)';\n\r");
- b.append("trs[i].onmousehover='changeActiveRow(this)';\n\r");
- b.append("alert(i);\n\r");
- b.append("}\n\r");
- b.append("}\n\r");
-
- //----------------------------------------
- b.append("var currentActiveRow; //褰撳墠娲诲姩琛孿n\r");
- b.append("//鏀瑰彉閫変腑琛岀殑棰滆壊\n\r");
- b.append("function changeActiveRow(obj) {\n\r");
- b.append("if (currentActiveRow) {\n\r");
- b.append("currentActiveRow.style.backgroundColor = '';\n\r");
- b.append("}\n\r");
- b.append("currentActiveRow = obj;\n\r");
- b.append("currentActiveRow.style.backgroundColor = '#F2F2F2';\n\r");
- b.append("}\n\r");
- b.append("</script>\n\r ");
- return b.toString();
- }
-
- /**
- * 瀵规姤閰嶇疆鐨勬暟鎹繘琛岄獙璇�
- * @return 楠岃瘉閫氳繃锛屽垯杩斿洖绌哄�硷紝濡傛灉鏈夐敊璇紝鍒欒繑鍥為敊璇俊鎭��
- */
- public String toCheckReport(){
-
- //楠岃瘉鏈�鍚庤鏍囬鐨勫垪鏁颁笌鍓嶉潰鏍囬琛岀殑 鍒楁暟鐩稿悓
-
- if(report==null)
- return "鏈纭厤缃姤琛ㄥ弬鏁般��";
- if(report.getTitle()==null
- || report.getColspan()==null
- || report.getRowspan()==null
- || report.getField()==null
- || report.getColWidth()==null
- || report.getDt()==null
- || report.getFormat()==null
- ){
-
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌itle銆乧olspan銆乺owspan銆乧olWidth銆乫ormat銆乨t鏈夌┖鍊笺��";
- }
- if(report.getTitle().length!=1){
- //System.out.println(report.getTitle().length+"|"+report.getColspan().length+"|"+report.getRowspan().length);
- //System.out.println(report.getTitle()[0].length+"|"+report.getColspan()[0].length+"|"+report.getRowspan()[0].length);
- if(report.getTitle().length!=report.getColspan().length
- ||report.getTitle().length!=report.getRowspan().length
- ||report.getRowspan().length!=report.getColspan().length
- || report.getTitle()[0].length!=report.getColspan()[0].length
- ||report.getTitle()[0].length!=report.getRowspan()[0].length
- ||report.getRowspan()[0].length!=report.getColspan()[0].length
- ){
-
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌itle銆乧olspan銆乺owspan鐨勬暟缁勯暱搴�";
-
- }
-
- }
- if(report.getTitle()[0].length!=report.getField().length
- ||(report.getGroupField()!=null&&report.getGroupField().length!=report.getField().length)
- ||(report.getTotalField()!=null&&report.getTotalField().length!=report.getField().length)
- ||report.getColWidth().length!=report.getField().length
- ||report.getFormat().length!=report.getField().length
- ){
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌itle銆丗ield鐨勬暟缁勯暱搴�";
- }
- //楠� 璇佸悎骞跺垪锛屾�诲悎骞跺垪鏁颁笉鑳藉ぇ浜庢墍鏈夊瓧娈垫暟
- for(int i=0;i<report.getColspan().length;i++){
- if(report.getColspan()[0][0]<=0){
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ュ悎骞跺垪璁剧疆锛岀涓�涓暟瀛椾笉鑳藉皬浜庣瓑浜�0.";
- }
- boolean flat=false;
- int index=0;
- int tcol=0;
- for(int j=0;j<report.getColspan()[i].length;j++){
- if(report.getColspan()[i][j]>1){
- index=j+report.getColspan()[i][j];
- flat=true;
- tcol+=report.getColspan()[i][j];
- }else if(flat&&j<index&&report.getColspan()[i][j]!=0){
-
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ュ悎骞跺垪璁剧疆锛屽悎骞跺垪鍚庨潰闇�璁剧疆鍚堝苟鍒楁暟绛夊悓鐨�0銆�";
- }else{
- tcol+=report.getColspan()[i][j];
- flat=false;
- index=0;
- }
- }
-// if(tcol != report.getField().length){
-// return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ユ�诲悎骞跺垪鏁伴渶涓庢�诲瓧娈垫暟鐩哥瓑銆�";
-// }
- }
- //楠� 璇佸悎琛�
- for(int i=0;i<report.getRowspan().length;i++){
-
- for(int j=0;j<report.getRowspan()[i].length;j++){
- if(i==0&&j==0&&report.getRowspan()[i][j]<=0){
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ュ悎骞惰璁剧疆锛岀涓�涓鍚堝苟琛屾暟蹇呴』澶т簬绛変簬1.";
- }
- if(report.getRowspan()[i][j]>report.getRowspan().length){
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ュ悎骞惰璁剧疆锛屽悎骞惰鏁颁笉鑳藉ぇ浜庢爣棰樻�昏鏁�.";
- }
- if(report.getRowspan()[i][j]>1){
- for(int k=i+1;k<report.getRowspan().length;k++){
- if(report.getRowspan()[k][j]!=0){
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ュ悎骞惰璁剧疆锛岃鍚堝苟琛岀殑鍚堝苟鍒楀繀椤讳负0.";
- }
- }
- }
- }
- }
- int width=0;
- for(int i=0;i<report.getColWidth().length;i++){
- width+=report.getColWidth()[i];
- }
- if(width!=100){
- return "鏈纭厤缃姤琛ㄦ爣棰樺弬鏁般�傛鏌ュ垪瀹藉害锛屽垪瀹藉害鍚堣绛変簬100銆�";
- }
- return null;
- }
- /**
- * 鐢熸垚鍒嗛〉浠g爜
- * @return
- */
- public String toPageHtml(int total,int current,int pageSize){
- if(current==0)current=1;
- int next=current+1;
- pageSize=pageSize<1?100:pageSize;
- int pages=total/pageSize;
- pages+=(total%pageSize)>0?1:0;
- if(next>pages) next=pages;
- int pre=current-1;
- if(pre==0)pre=1;
-
- StringBuffer page=new StringBuffer();
- page.append("<div class=\"pageBg clearfix\" style=\"bottom: 0; z-index: 99\"> ");
- page.append("<ul class=\"page fl\">");
- page.append("<li> ");
- if(current==1){
- page.append("<a tabindex=\"-1\" href=\"#this\" title=\"棣栭〉\" class=\"styleBorderColor disable_gray\"><span class=\"fe-font icon-036\"></span></a>");
- page.append("<a tabindex=\"-1\" href=\"#this\" title=\"涓婁竴椤礬" class=\"styleBorderColor disable_gray\"><span class=\"fe-font icon-032\"></span></a>");
- }else{
- page.append("<a tabindex=\"-1\" href=\"#this\" class=\"styleBorderColor styleHoverLightBgColor\" title=\"棣栭〉\" onclick=\"JumpToPageNew('1')\"><span class=\"fe-font icon-036\"></span></a>");
- page.append("<a tabindex=\"-1\" href=\"#this\" class=\"styleBorderColor styleHoverLightBgColor\" title=\"涓婁竴椤礬" onclick=\"JumpToPageNew('").append(pre).append("')\"><span class=\"fe-font icon-032\"></span></a>");
- }
- int m=current-2;
- int e=current+2;
- if(m<=0)e+=(m*-1)+1;
- if(e>pages)
- m=current-2-(e-pages);
- for(int i=m;i<=e;i++){
- if(i>0&&i<=pages){
- page.append("<a tabindex=\"-1\" href=\"#this\" class=\"styleBorderColor ").append(i==current?"btn_on":"").append(" styleBgColor styleHoverLightBgColor\"").append(" onclick=\"JumpToPageNew('").append(i).append("')\">").append(i).append("</a>");
- }
- }
- if(current!=pages){
- page.append("<a tabindex=\"-1\" href=\"#this\" class=\"styleBorderColor styleHoverLightBgColor\" title=\"涓嬩竴椤礬" onclick=\"JumpToPageNew('").append(next).append("')\"><span class=\"fe-font icon-033\"></span></a>");
- page.append("<a tabindex=\"-1\" href=\"#this\" class=\"styleBorderColor styleHoverLightBgColor\" title=\"灏鹃〉\" onclick=\"JumpToPageNew('").append(pages).append("')\"><span class=\"fe-font icon-037\"></span></a>");
- }else{
- page.append("<a tabindex=\"-1\" title=\"涓嬩竴椤礬" class=\"styleBorderColor disable_gray\"><span class=\"fe-font icon-033\"></span></a>");
- page.append("<a tabindex=\"-1\" title=\"灏鹃〉\" class=\"styleBorderColor disable_gray\"><span class=\"fe-font icon-037\"></span></a>");
- }
- page.append("</li>");
- page.append("</ul>");
- page.append("<div class=\"fr page_num\">");
- page.append("<span class=\"fl\">鍏�").append(total).append("鏉�</span> ");
- page.append("<span class=\"fl\">鍏�").append(pages).append("椤�</span>");
- page.append("<span class=\"fl\" id=\"pageShowCountLabel\">姣忛〉鏄剧ず ").append(pageSize).append("鏉�</span>");
- page.append("</div>");
- page.append("<input type=\"hidden\" id=\"current\" name=\"current\" />");
- page.append("</div>");
- return page.toString();
- }
- /**
- * 璁$畻鍒嗛〉鐨勫紑濮嬫暟 鍜岀粨鏉熸暟
- * @param pageSize
- * @param current
- * @return
- */
- public int[] pageNumber(int pageSize,int current){
- pageSize=pageSize<=0?100:pageSize;
- int start=(current-1) * pageSize;
- int end=current * pageSize;
- return new int[]{start,end};
- }
- public Report getReport() {
- return report;
- }
-
- public void setReport(Report report) {
- this.report = report;
- }
- public static void main(String srt[]){
- StringBuffer c=new StringBuffer();
- c.append("YD_0145");
- String cc="YD_0145";
- if(!c.toString().equals(cc)){
- System.out.println("-----------");
- }
- StringBuffer body=new StringBuffer();
- body.append("<tbody><tr id='trs0' class='scrollColThead' bordercolor='#CCCCCC'><td class='all_biaodan_td' align='center' height='28px' id='鍟嗗搧鍒嗙被0' rowspan='SG05415' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>闆风</td><td class='all_biaodan_td' align='center' height='28px' id='鍟嗗搧鍚嶇О0' rowspan=1绉�' width='10%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>12绫虫櫘閫氭绉掑鐖嗙闆风c</td><td class='all_biaodan_td' align='center' height='28px' id='瑙勬牸鍨嬪彿0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>1脳100</td><td class='all_biaodan_td' align='center' height='28px' id='璁¢噺鍗曚綅0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>涓囧彂</td><td class='all_biaodan_td' align='center' height='28px' id='娈靛埆0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '><a href='#this' onclick='show(\"12绫虫櫘閫氭绉掑鐖嗙闆风c,6-10\")'>6-10</a></td><td class='all_biaodan_td' align='center' height='28px' id='鏈堝垵鍚堣0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='鏈堝垵90' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='鏈堝垵100' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '></td><td class='all_biaodan_td' align='center' height='28px' id='绱鍏ュ簱0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.3200</td><td class='all_biaodan_td' align='center' height='28px' id='鏈湀鍏ュ簱0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='绱鍏ュ簱90' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='绱鍏ュ簱100' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '></td><td class='all_biaodan_td' align='center' height='28px' id='绱鍑哄簱0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.3200</td><td class='all_biaodan_td' align='center' height='28px' id='鏈湀鍑哄簱0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='绱鍑哄簱90' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='绱鍑哄簱100' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '></td><td class='all_biaodan_td' align='center' height='28px' id='鏈堟湯鍚堣0' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='鏈堟湯90' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>0.0000</td><td class='all_biaodan_td' align='center' height='28px' id='鏈堟湯100' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '></td></tr> <td name='merg' colspan=1 style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>闆风12绫虫櫘閫氭绉掑鐖嗙闆风c 鍚堣:</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'> </td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'> </td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'> </td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.32</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.32</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> <td align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>0.0</td> </tr><tr class='scrollColThead' bordercolor='#CCCCCC'><tr id='trs1' class='scrollColThead' bordercolor='#CCCCCC'><td class='all_biaodan_td' align='center' height='28px' id='鍟嗗搧鍚嶇О1' rowspan=1绉�' width='10%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>15绫虫姉姘存绉掑鐖嗙闆风c</td><td class='all_biaodan_td' align='center' height='28px' id='瑙勬牸鍨嬪彿1' width='5%' style='BACKGROUND-COLOR:#FFFFFF;text-align:center; '>1脳100</td><td class='all_biaodan_td' align='center' height='28px' id='璁¢噺鍗曚綅1'");
- String field="SG054";
- int index=15;
- int groupRow=10;
- String rspan="rowspan='"+field+index+"'";
- String rowspanNum="rowspan='"+ groupRow +"'";
- int rowspan=body.indexOf(rspan);
- if(rowspan>0) {
- body.replace(rowspan,rowspan+rspan.length(),rowspanNum);//鏇挎崲鎴愯鏁�
- }
- System.out.println("-----------"+body);
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/ReportTypeService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/ReportTypeService.java
deleted file mode 100644
index 8a25827..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/ReportTypeService.java
+++ /dev/null
@@ -1,515 +0,0 @@
-package com.product.server.report.service;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.product.common.lang.StringUtils;
-import com.product.core.dao.BaseDao;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.exception.BaseException;
-import com.product.core.service.support.AbstractBaseService;
-import com.product.core.service.support.QueryFilterService;
-import com.product.core.spring.context.SpringMVCContextHolder;
-import com.product.core.transfer.Transactional;
-import com.product.server.report.config.CmnConst;
-import com.product.server.report.config.ReportCode;
-import com.product.server.report.service.idel.IReportTypeService;
-import com.product.util.BaseUtil;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.Date;
-
-@Component
-public class ReportTypeService extends AbstractBaseService implements IReportTypeService{
-
- @Autowired
- BaseDao baseDao;
- @Autowired
- QueryFilterService queryFilterService;
- /**
- * 鎶ヨ〃鍒嗙被鍒楄〃
- *
- * @param fse 鍒嗛〉鍜岄珮绾х储寮�
- * @return
- */
- public DataTableEntity listReportType(FieldSetEntity fse) {
- String queryFilter = null;
- if (!BaseUtil.dataTableIsEmpty(fse.getSubDataTable("systemSeniorQueryString"))) {
- queryFilter = queryFilterService.getQueryFilter(fse);
- }
- return baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG, queryFilter, null, null, null, fse.getInteger("pagesize"), fse.getInteger("cpage"));
- }
-
- /**
- * 鎶ヨ〃鍒嗙被璇︽儏
- *
- * @param uuid
- * @return
- */
- public FieldSetEntity findReportType(String uuid) {
- FieldSetEntity fse = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG, uuid, true);
- DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, "type_uuid=?", new Object[]{uuid});
- fse.addSubDataTable(dt);
- return fse;
- }
-
- /**
- * 鎶ヨ〃鍒嗙被鏂板
- *
- * @param fse
- * @return
- */
- @Transactional
- public String addReportType(FieldSetEntity fse) {
- fse.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());
- fse.setValue(CmnConst.CREATED_UTC_DATETIME, new Date());
- DataTableEntity subdt = fse.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE);
- fse.removeSubData(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE);
- String uuid = baseDao.add(fse);
- propertyScreen(subdt, uuid);
- return uuid;
- }
-
- /**
- * 鎶ヨ〃鍒嗙被淇敼
- *
- * @param fse
- * @return
- */
- @Transactional
- public boolean updateReportType(FieldSetEntity fse) {
- fse.setValue(CmnConst.UPDATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());
- fse.setValue(CmnConst.UPDATED_UTC_DATETIME, new Date());
- DataTableEntity dtSub = fse.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE);
- fse.removeSubData(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE);
- propertyScreen(dtSub, fse.getUUID());
- return baseDao.update(fse);
- }
-
-
-
-
- /**
- * 鎶ヨ〃鍒嗙被鍒犻櫎
- * @param uuid
- * @return
- */
- @Transactional
- public boolean deleteReportType(String uuid) {
- DataTableEntity listProperty=baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, "type_uuid like ?", new Object[] {"%"+uuid+"%"});
- if (listProperty!=null && listProperty.getRows()>0) {
- for (int i = 0; i < listProperty.getRows(); i++) {
- FieldSetEntity fseProperty=listProperty.getFieldSetEntity(i);
- String type_uuid=fseProperty.getString(CmnConst.TYPE_UUID);
- fseProperty.remove("id");
- if (type_uuid.indexOf(uuid)==0) {
- type_uuid=type_uuid.replace(uuid, "");
- if (!StringUtils.isEmpty(type_uuid)) {
- type_uuid=type_uuid.substring(1, type_uuid.length()-1);
- }
- }else if (type_uuid.indexOf(uuid)==type_uuid.length()-36) {
- type_uuid=type_uuid.replace(uuid, "");
- type_uuid=type_uuid.substring(0, type_uuid.length()-2);
- }else {
- type_uuid=type_uuid.replace(uuid, "");
- type_uuid=type_uuid.replace(",,", ",");
- }
- fseProperty.setValue(CmnConst.TYPE_UUID, type_uuid);
- }
- }
- baseDao.update(listProperty);
- return baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG, "uuid=?", new Object[] {uuid});
- }
-
- /**
- * 寮曠敤灞炴�у垪琛�
- * @param type_group
- * @return
- */
- public DataTableEntity listReportByGroup(String type_group) {
- return baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, "type_group = ?", new Object[] {type_group}, "sort");
- }
-
- /**
- * 寮曠敤灞炴�у垪琛�
- * @param
- * @return
- */
- public DataTableEntity listReportAttr(String type_uuid) {
- return baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, "type_uuid = ?", new Object[] {type_uuid}, "sort");
- }
-
- /**
- * 灞炴�х瓫閫�
- * @param dtSub
- * @param uuid
- */
- public void propertyScreen(DataTableEntity dtSub, String typeUUID) {
- if (!BaseUtil.dataTableIsEmpty(dtSub)) {
- DataTableEntity updateDte = new DataTableEntity();
- FieldSetEntity insertFse;
- for (int i = 0; i < dtSub.getRows(); i++) {
- FieldSetEntity fseSub = dtSub.getFieldSetEntity(i);
- String type = fseSub.getString(CmnConst.TYPE); // 鏁版嵁鎿嶄綔绫诲瀷 锛堝垹闄わ級
- String curTypeUUID = fseSub.getString(CmnConst.TYPE_UUID);
- if (CmnConst.DEL.equals(type)) {
- // 鍒犻櫎锛屽紩鐢ㄦ棤娉曞垹闄わ紝绌哄瓧绗︿覆鎴栬�卬ull鎸夌収娌℃湁浣跨敤璁$畻 2022骞�2鏈�10鏃� 15:37:05 6c
- DataTableEntity subQuoteDte = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE, "report_type_attr=? and report_type_attr_value<>'' and report_type_attr_value is not null", new Object[]{fseSub.getUUID()});
- if (!BaseUtil.dataTableIsEmpty(subQuoteDte)) {
- throw new BaseException(ReportCode.REPORT_ATTR_ALREADY_USED);
- }
- baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE, "report_type_attr=?", new Object[]{fseSub.getUUID()});
- baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, new Object[]{fseSub.getUUID()});
- } else if (StringUtils.isEmpty(type) && !StringUtils.isEmpty(curTypeUUID)) {
- if (!typeUUID.equals(curTypeUUID)) {
- // 閫夋嫨宸叉湁鏂板锛岀洿鎺ユ柊澧炰竴鏉℃暟鎹� 2022骞�2鏈�10鏃� 16:06:23 6c
- insertFse = fseSub.clones();
- insertFse.remove(new String[]{CmnConst.ID, CmnConst.UUID});
- insertFse.setValue(CmnConst.TYPE_UUID, typeUUID);
- updateDte.addFieldSetEntity(insertFse);
- } else {
- // 淇敼
- updateDte.addFieldSetEntity(fseSub);
- }
- } else if (StringUtils.isEmpty(type) && StringUtils.isEmpty(curTypeUUID)) { // 鏂板
- fseSub.setValue(CmnConst.TYPE_UUID, typeUUID);
- updateDte.addFieldSetEntity(fseSub);
- }
- }
- baseDao.update(updateDte);
- }
- }
-
- /**
- * 鑾峰彇涓婄骇灞炴�ф爲
- * xinluo
- * @return
- */
- @Override
- public JSONObject getEChartsElement(String uuid) throws BaseException {
-
- FieldSetEntity masterField = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG,uuid,false);
- DataTableEntity dataTableEntity = this.getEChartsElementList(uuid);
- String[] parameter = new String[]{"f", "e", "d", "c", "b", "a"};
- JSONArray array = new JSONArray();
- for (int j = 0; j < parameter.length; j++) {
- for (int i = 0; i <dataTableEntity.getRows(); i++) {
- FieldSetEntity fieldSetEntity = dataTableEntity.getFieldSetEntity(i);
- if(BaseUtil.strIsNull(fieldSetEntity.getString("nonRepeating"))){
- //濡傛灉鐖跺睘鎬ф垨灞炴�т笉涓虹┖锛屽彇鍑哄綋鍓嶆暟鎹墍鏈夌埗瀛愬厓绱�
- if(!BaseUtil.strIsNull(fieldSetEntity.getString(parameter[j]+"name"))){
- array = this.returnTree(fieldSetEntity,parameter,j, array);
- //瀛樺叆鏍戠殑鍏冪礌闇�瑕佷粠dataTableEntity閲岄潰鍓冩帀
- fieldSetEntity.setValue("nonRepeating", 1);
- }
- }
- }
- }
- JSONObject object = BaseUtil.fieldSetEntityToJson(masterField);
- object.put(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE,array);
- return object;
- }
-
- /**
- * 鑾峰彇涓婄骇灞炴�у垪琛�
- * xinluo
- * @return
- */
- @Override
- public DataTableEntity getEChartsElementList(String uuid)throws BaseException{
- StringBuffer sql = new StringBuffer();
- sql.append(" SELECT a.uuid auuid,a.detail adetail,a.attribute_name aname,a.subordinateElementType asubordinateElementType,a.prompt_name,a.default_value, ")
- .append(" b.uuid buuid,b.detail bdetail,b.attribute_name bname,b.subordinateElementType bsubordinateElementType, ")
- .append(" c.uuid cuuid,c.detail cdetail,c.attribute_name cname,c.subordinateElementType csubordinateElementType, ")
- .append(" d.uuid duuid,d.detail ddetail,d.attribute_name dname,d.subordinateElementType dsubordinateElementType, ")
- .append(" e.uuid euuid,e.detail edetail,e.attribute_name ename,e.subordinateElementType esubordinateElementType, ")
- .append(" f.uuid fuuid,f.detail fdetail,f.attribute_name fname,f.subordinateElementType fsubordinateElementType FROM ")
- .append("product_sys_report_type_attribute a LEFT JOIN ")
- .append("product_sys_report_type_attribute b on a.parentAttributeUuid = b.uuid LEFT JOIN ")
- .append("product_sys_report_type_attribute c on b.parentAttributeUuid = c.uuid LEFT JOIN ")
- .append("product_sys_report_type_attribute d on c.parentAttributeUuid = d.uuid LEFT JOIN ")
- .append("product_sys_report_type_attribute e on d.parentAttributeUuid = e.uuid LEFT JOIN ")
- .append("product_sys_report_type_attribute f on e.parentAttributeUuid = f.uuid ")
- .append(" WHERE a.config_properties = 1 ")
- .append(" AND a.type_uuid = ? ");
-
- return baseDao.listTable(sql.toString(), new String[]{uuid});
- }
-
- /**
- * @param fieldSetEntity
- * @param parameter
- * @param paramIndex
- * @param array
- * @return
- * 鍚岀骇鍏冪礌涓嶈兘閲嶅 xinluo
- */
- public JSONArray returnTree(FieldSetEntity fieldSetEntity, String[] parameter, int paramIndex,JSONArray array){
- boolean flag = true;
- String value = fieldSetEntity.getString(parameter[paramIndex]+"name");
- if(array.size() > 0) {
- for (int i = 0; i < array.size(); i++) {
- JSONObject jsonObject = array.getJSONObject(i);
- String objValue = jsonObject.getString("value");
- //瀛愬睘鎬х浉鍚�
- if (objValue.equals(value)) {
- paramIndex++;
- JSONArray childrenArray = jsonObject.getJSONArray("children");
- flag = false;
- if (paramIndex < parameter.length && childrenArray != null && childrenArray.size() > 0) {
- this.returnTree(fieldSetEntity, parameter, paramIndex, childrenArray);
- }
- }
- }
- //瀛愬睘鎬т笉鍚�
- if(flag){
- return this.returnChildrenTree(fieldSetEntity, parameter, paramIndex, array);
- }
- }else {
- return this.returnChildrenTree(fieldSetEntity, parameter, paramIndex, array);
- }
-
- return array;
- }
- //灏佽瀛愬厓绱� xinluo
- public JSONArray returnChildrenTree(FieldSetEntity fieldSetEntity, String[] parameter, Integer paramIndex,JSONArray array){
- //鍏冪礌鍚�
- String name = fieldSetEntity.getString(parameter[paramIndex]+"name");
- //鍏冪礌鎻忚堪
- String detail = fieldSetEntity.getString(parameter[paramIndex]+"detail");
- //鍏冪礌uuid
- String uuid = fieldSetEntity.getString(parameter[paramIndex]+"uuid");
- //鍏冪礌瀛愬厓绱犵被鍨�
- String subType = fieldSetEntity.getString(parameter[paramIndex]+"subordinateElementType");
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("value",name);
- jsonObject.put("label",detail);
- jsonObject.put("uuid",uuid);
- jsonObject.put("subordinateElementType",subType);
- jsonObject.put("config_properties",fieldSetEntity.getString("config_properties"));
- paramIndex++;
- if(paramIndex < parameter.length) {
- JSONArray childrenArray = new JSONArray();
- jsonObject.put("children", this.returnTree(fieldSetEntity, parameter, paramIndex, childrenArray));
- }else {
- jsonObject.put("prompt_name",fieldSetEntity.getString("prompt_name"));
- jsonObject.put("default_value",fieldSetEntity.getString("default_value"));
- }
- array.add(jsonObject);
- return array;
- }
-
- /**
- * 淇濆瓨鍥捐〃涓昏〃
- * @param fse
- * @return xinluo
- * @throws BaseException
- */
- @Override
- @Transactional
- public String saveEChartsMasterTable(FieldSetEntity fse) throws BaseException {
- if(BaseUtil.strIsNull(fse.getUUID())){
- Date date = new Date();
- Integer userId = SpringMVCContextHolder.getCurrentUser().getUser_id();
- DataTableEntity dataTable = fse.getSubDataTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE);
- fse.removeSubData(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE);
- String type = fse.getString(CmnConst.TYPE_GROUP);
- String uuid = baseDao.add(fse);
- if(!BaseUtil.dataTableIsEmpty(dataTable)) {
- this.processingProperties(dataTable, uuid, userId, date, type, null, null);
- }
- return uuid;
- }else {
- fse.getSubData().clear();
- baseDao.update(fse);
- return fse.getUUID();
- }
- }
-
- /**
- * 淇濆瓨瀛愬睘鎬�
- * @param
- * @return xinluo
- * @throws BaseException
- */
- @Override
- @Transactional
- public void processingProperties(DataTableEntity dataTableEntity,String type_uuid,Integer userId,Date date,String type,String parentAttributeName,String parentAttributeUuid) throws BaseException {
- for (int i = 0; i < dataTableEntity.getRows(); i++) {
- FieldSetEntity fieldSetEntity = new FieldSetEntity();
- fieldSetEntity.setTableName(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE);
- FieldSetEntity subFse = dataTableEntity.getFieldSetEntity(i);
- String name = subFse.getString(CmnConst.ATTRIBUTE_NAME);
- fieldSetEntity.setValue(CmnConst.ATTRIBUTE_NAME,name);
- String promptName = subFse.getString("prompt_name");
- fieldSetEntity.setValue("prompt_name",promptName);
- fieldSetEntity.setValue("detail",subFse.getString("detail"));
- fieldSetEntity.setValue("default_value",subFse.getString("default_value"));
- fieldSetEntity.setValue(CmnConst.CREATED_BY,userId);
- fieldSetEntity.setValue(CmnConst.CREATED_UTC_DATETIME,date);
- fieldSetEntity.setValue(CmnConst.TYPE_UUID, type_uuid);
- fieldSetEntity.setValue("subordinateElementType", subFse.getString("subordinateElementType"));
- if(!BaseUtil.strIsNull(parentAttributeName) && !BaseUtil.strIsNull(parentAttributeUuid)){
- fieldSetEntity.setValue("parentAttributeName", parentAttributeName);
- fieldSetEntity.setValue("parentAttributeUuid", parentAttributeUuid);
- }
- fieldSetEntity.setValue(CmnConst.TYPE_GROUP, type);
-
- DataTableEntity dataTable = subFse.getSubDataTable("children");
- if(dataTable != null && dataTable.getRows() > 0){
- String uuid = baseDao.add(fieldSetEntity);
- this.processingProperties(dataTable,type_uuid,userId,date,type,name,uuid);
- }else {
- fieldSetEntity.setValue("config_properties", "1");
- baseDao.add(fieldSetEntity);
- }
- }
- }
-
- /**
- * 淇濆瓨鍥捐〃鍏冪礌
- * @param fse
- * @return xinluo
- * @throws BaseException
- */
- @Override
- @Transactional
- public String saveEChartsElement(FieldSetEntity fse) throws BaseException {
- String uuid = fse.getUUID();
- String typeUuid = fse.getString(CmnConst.TYPE_UUID);
- String attributeName = fse.getString(CmnConst.ATTRIBUTE_NAME);
- //鏂板
- if(BaseUtil.strIsNull(uuid)){
- String parentAttributeUuid = fse.getString("parentAttributeUuid");
- //濡傛灉涓婄骇灞炴�т笉涓虹┖
- if(!BaseUtil.strIsNull(parentAttributeUuid)){
-
- DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, " type_uuid = ? and parentAttributeUuid = ? and attribute_name = ?", new String[]{uuid, parentAttributeUuid, attributeName});
- if(dataTableEntity.getRows() > 0){
- throw new BaseException(ReportCode.SAVE_CHART_ATTRIBUTE_REPETITION_FAIL.getValue(),
- ReportCode.SAVE_CHART_ATTRIBUTE_REPETITION_FAIL.getText(), this.getClass(), "public String saveEChartsElement(FieldSetEntity fse) throws BaseException");
- }
-
- FieldSetEntity parentElement = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, parentAttributeUuid,false);
- if(BaseUtil.strIsNull(parentElement.getString("subordinateElementType"))){
- parentElement.setValue("subordinateElementType", 0);
- }
- String parentUuid = parentElement.getString("parentAttributeUuid");
- String parentName = parentElement.getString("parentAttributeName");
- if(BaseUtil.strIsNull(parentUuid) && !BaseUtil.strIsNull(parentName)){
- parentElement.setValue("parentAttributeName", null);
- }
- parentElement.setValue("config_properties", 0);
- baseDao.update(parentElement);
- fse.setValue("parentAttributeName", parentElement.getString("attribute_name"));
- }else {
- DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, "type_uuid = ? and attribute_name = ?", new String[]{typeUuid,attributeName});
- if(dataTableEntity.getRows() > 0){
- throw new BaseException(ReportCode.SAVE_CHART_ATTRIBUTE_REPETITION_FAIL.getValue(),
- ReportCode.SAVE_CHART_ATTRIBUTE_REPETITION_FAIL.getText(), this.getClass(), "public String saveEChartsElement(FieldSetEntity fse) throws BaseException");
- }
- fse.setValue("parentAttributeName", "option");
- }
- fse.setValue("config_properties", 1);
- return baseDao.add(fse);
- //淇敼
- }else {
- FieldSetEntity fieldSetEntity = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, uuid, false);
- String attName = fieldSetEntity.getString("attribute_name");
- String newAttName = fse.getString("attribute_name");
- if(!attName.equals(newAttName)){
- DataTableEntity subElementData = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, " parentAttributeUuid = ? ",
- new String[]{uuid});
- for (int i = 0; i < subElementData.getRows(); i++) {
- FieldSetEntity subElementFse = subElementData.getFieldSetEntity(i);
- subElementFse.setValue("parentAttributeName", newAttName);
- baseDao.update(subElementFse);
- }
- }
- baseDao.update(fse);
- return fse.getUUID();
- }
- }
-
- /**
- * 鍒犻櫎鍥捐〃鍏冪礌
- * @param fse
- * @return xinluo
- * @throws BaseException
- */
- @Override
- @Transactional
- public boolean delEChartsElement(FieldSetEntity fse) throws BaseException {
- String uuid = fse.getString("uuid");
- StringBuffer sql = new StringBuffer();
- sql.append(" SELECT * FROM product_sys_report_type_attribute WHERE parentAttributeUuid = ")
- .append(" (SELECT parentAttributeUuid FROM product_sys_report_type_attribute WHERE uuid = ?) ");
- DataTableEntity dataTableEntity = baseDao.listTable(sql.toString(),new String[]{uuid});
- //褰撳墠灞炴�х殑涓婄骇灞炴�� 鍙湁杩欎竴涓瓙灞炴��
- if(dataTableEntity.getRows() == 1){
- String parentAttributeUuid = dataTableEntity.getString(0,"parentAttributeUuid");
- FieldSetEntity parentField = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, parentAttributeUuid,false);
- parentField.setValue("subordinateElementType", null);
- parentField.setValue("config_properties", 1);
- baseDao.update(parentField);
- }
- return baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, new String[]{uuid});
- }
-
- /**
- * 鍒犻櫎鍥捐〃閰嶇疆琛� 杩炲甫鍒犻櫎鍏冪礌琛�
- * @param fse
- * @return
- */
- @Override
- @Transactional
- public boolean delEChartsTable(FieldSetEntity fse) throws BaseException {
- String uuid = fse.getUUID();
- //鑾峰彇灞炴�ц〃鍊间富鍏宠仈琛�
- DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_CONFIG_CHARTS, "report_type_config_uuid = ?", new String[]{uuid});
- //濡傛灉鏈夊睘鎬у�艰〃鍏宠仈涓昏〃锛屼笉鑳藉垹闄�
- if(dataTableEntity.getRows() > 0){
- throw new BaseException(ReportCode.DEL_CHART_MASTER_REPETITION_FAIL.getValue(),
- ReportCode.DEL_CHART_MASTER_REPETITION_FAIL.getText(), this.getClass(), "public boolean delEChartsTable(FieldSetEntity fse) throws BaseException");
- }else {
- //灞炴�ф爲琛ㄥ睘鎬�
- baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE," type_uuid = ? ", new String[]{uuid});
- //鍒犻櫎绫诲瀷琛�
- return baseDao.delete(CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG,new String[]{uuid});
- }
- }
-
- /**
- * 寮曠敤灞炴�� 鍏堟柊澧炲睘鎬х被鍨嬩富琛�
- * @param fse
- * @return
- * @throws BaseException
- */
- @Override
- @Transactional
- public JSONObject referenceProperties(FieldSetEntity fse) throws BaseException {
- String referenced_uuid = fse.getString("referenced_uuid");
- fse.remove("referenced_uuid");
- String uuid = fse.getUUID();
- if(BaseUtil.strIsNull(uuid)){
- uuid = baseDao.add(fse);
- }
- //鍒涘缓浜�
- Integer userId = SpringMVCContextHolder.getCurrentUser().getUser_id();
- //鍒涘缓鏃堕棿
- Date date = new Date();
- DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, " type_uuid = ? ",new String[]{referenced_uuid});
- for (int i = 0; i <dataTableEntity.getRows() ; i++) {
- FieldSetEntity fieldSetEntity = dataTableEntity.getFieldSetEntity(i);
- fieldSetEntity.remove(CmnConst.ID);
- fieldSetEntity.remove(CmnConst.UUID);
- fieldSetEntity.setValue(CmnConst.TYPE_UUID,uuid);
- fieldSetEntity.setValue(CmnConst.CREATED_BY,userId);
- fieldSetEntity.setValue(CmnConst.CREATED_UTC_DATETIME,date);
- }
- baseDao.add(dataTableEntity);
- JSONObject obj = this.getEChartsElement(fse.getUUID());
- return obj;
- }
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/EChartsReportConfigService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/idel/EChartsReportConfigService.java
deleted file mode 100644
index 1b65ba0..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/EChartsReportConfigService.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.product.server.report.service.idel;
-
-
-import com.alibaba.fastjson.JSONObject;
-import com.product.core.exception.BaseException;
-import com.product.core.transfer.Transactional;
-
-
-public interface EChartsReportConfigService {
- /**
- * 鏍规嵁sql鑾峰彇瀛楁淇℃伅 鑾峰彇鍏冩暟鎹�
- * @param parm
- * @return
- * @throws BaseException
- */
- public JSONObject getSqlTableInfo(String sql) throws BaseException;
- /**
- * 鏍规嵁琛ㄥ悕鑾峰彇琛紙瀛愯〃锛夊瓧娈典俊鎭� 鑾峰彇鍏冩暟鎹�
- * @param parm
- * @return
- * @throws BaseException
- */
- public JSONObject getNameTableInfo(String name) throws BaseException;
- /**
- * 鏍规嵁琛ㄥ悕鑾峰彇琛紙瀛愯〃锛夊瓧娈典俊鎭� 鑾峰彇鍏冩暟鎹�
- * @param parm
- * @return
- * @throws BaseException
- */
- public boolean addTableInfo(JSONObject object) throws BaseException;
- /**
- * 鏍规嵁閰嶇疆鎶ヨ〃uuid鑾峰彇閰嶇疆鎶ヨ〃淇℃伅鍙婂瓙琛ㄤ俊鎭紙瀛楁琛� 琛ㄥご琛級
- * @param report_uuid 鎶ヨ〃uuid
- * @return
- * @throws BaseException
- */
- public JSONObject getReportInfo(String report_uuid)throws BaseException;
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IChartPropertyConfigService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IChartPropertyConfigService.java
deleted file mode 100644
index 1fdcce3..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IChartPropertyConfigService.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package com.product.server.report.service.idel;
-
-import com.alibaba.fastjson.JSONObject;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.exception.BaseException;
-
-public interface IChartPropertyConfigService {
-
- /**
- * 娣诲姞鍥惧舰鎶ヨ〃 缁熶竴鎻愪氦
- * @param fse
- * @return
- */
- String addChartsMasterTable(FieldSetEntity fse)throws BaseException;
-
- /**
- * 淇敼鍥惧舰鎶ヨ〃 缁熶竴鎻愪氦
- * @param fse
- * @return
- */
- Boolean upChartsMasterTable(FieldSetEntity fse)throws BaseException;
-
- /**
- * 鍒犻櫎鍥惧舰鎶ヨ〃
- * @param fse
- * @return
- */
- Boolean delChartsMasterTable(FieldSetEntity fse)throws BaseException;
-
- /**
- * 鑾峰彇鍥捐〃璇︽儏
- * @param uuid
- * @return
- * @throws BaseException
- */
- JSONObject getChartsMasterTable(String uuid)throws BaseException;
-
- /**
- * 鑾峰彇鍥捐〃鍒楄〃
- * @param
- * @return
- * @throws BaseException
- */
- DataTableEntity getChartsMasterList(FieldSetEntity fse)throws BaseException;
-
- /**
- * 鎷栦笅绫诲瀷琛ㄦ椂甯﹀嚭绫诲瀷鍙婂瓙琛ㄦ暟鎹�
- * @param uuid
- * @return
- * @throws BaseException
- */
- JSONObject getChartsTypeData(String uuid)throws BaseException;
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IGenerateEChartService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IGenerateEChartService.java
deleted file mode 100644
index c2bc0ca..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IGenerateEChartService.java
+++ /dev/null
@@ -1,89 +0,0 @@
-package com.product.server.report.service.idel;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.exception.BaseException;
-
-import java.util.List;
-
-public interface IGenerateEChartService{
-
-
- /**
- * 澶氫釜鍥惧舰鎶ヨ〃
- * @param fse 閰嶇疆鎶ヨ〃
- * @return
- */
- JSONArray generatePieEChartMaster(FieldSetEntity fse)throws BaseException;
- /**
- * 鍗曚釜鍥惧舰鎶ヨ〃
- * @param fse 閰嶇疆鎶ヨ〃
- * @return
- */
- JSONObject generatePieEChart(FieldSetEntity fse)throws BaseException;
-
- /**
- * 鑾峰彇涓婄骇鏁版嵁骞舵嫾瑁卝son
- * @param superiorUuid 涓婄骇uuid
- * @param obj
- * @return
- * @throws BaseException
- */
- void getAllProperties(String superiorUuid,JSONObject obj, JSONObject allProperties)throws BaseException;
-
- /**
- * 鑾峰彇涓婄骇鏁版嵁骞舵嫾瑁卝son
- * @param dataTableEntity 鏁版嵁鍊糳ata
- * @param
- * @return
- * @throws BaseException
- */
- JSONArray attributesAndValues(DataTableEntity dataTableEntity,List<String> keys,List<String> keys2,String type)throws BaseException;
-
- /**
- * 鏀瑰彉鏁版嵁鏍煎紡
- * @param attr_value 鑾峰彇鐨勬暟鎹��
- * @param
- * @return
- * @throws BaseException
- */
- Object changeDataFormat(String attr_value)throws BaseException;
-
- /**
- * 鍏崇郴琛�
- * @param sql
- * @param
- * @return
- * @throws BaseException
- */
- JSONObject chooseRelationship(String sql)throws BaseException;
-
- /**
- * 閫氳繃閰嶇疆琛╱uid鑾峰彇js鏂规硶
- * @param uuid 閰嶇疆琛╱uid
- * @param
- * @return
- * @throws BaseException
- */
- JSONArray functionArray(String uuid)throws BaseException;
-
- /**
- * 鍥捐〃鍙戝竷
- * @param fieldSetEntity
- * @param
- * @return
- * @throws BaseException
- */
- List<String> releaseConfig(FieldSetEntity fieldSetEntity,String module_uuid,String parentCode)throws BaseException;
-
- /**
- * 鍙栨秷鍙戝竷
- * @param fieldSetEntity
- * @param
- * @return
- * @throws BaseException
- */
- Boolean cancelRelease(FieldSetEntity fieldSetEntity)throws BaseException;
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IReportConfigService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IReportConfigService.java
deleted file mode 100644
index 78cd44e..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IReportConfigService.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package com.product.server.report.service.idel;
-
-import com.product.core.entity.FieldSetEntity;
-
-public interface IReportConfigService {
-
- /**
- * 鎶ヨ〃鏂板
- * @param fse
- * @return
- */
- String addReportConfig(FieldSetEntity fse);
-
- /**
- * 鎶ヨ〃淇敼
- * @param fse
- * @return
- */
- boolean updateReportConfig(FieldSetEntity fse);
-
- /**
- * 鎶ヨ〃鍒犻櫎
- * @param fse
- * @return
- */
- boolean deleteReportConfig(String uuid);
-
- /**
- * 鎶ヨ〃鍙戝竷
- * @param fse
- * @return
- */
- boolean releaseConfig(FieldSetEntity fse);
-
- /**
- * 鍙戝竷鎾ゆ秷
- * @param fse
- * @return
- */
- boolean cancelRelease(FieldSetEntity fse);
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IReportDatasourceService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IReportDatasourceService.java
deleted file mode 100644
index df84391..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IReportDatasourceService.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.product.server.report.service.idel;
-
-import com.product.core.entity.FieldSetEntity;
-
-public interface IReportDatasourceService {
- /**
- * 鏁版嵁婧�-淇濆瓨
- * @param fse
- * @return
- */
- String saveDatasource(FieldSetEntity fse);
-
- /**
- * 鎶ヨ〃鏁版嵁婧愬垹闄�
- * @param uuid
- * @return
- */
- boolean deleteDatasource(String uuid);
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IReportTypeService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IReportTypeService.java
deleted file mode 100644
index 9985a18..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IReportTypeService.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package com.product.server.report.service.idel;
-
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.exception.BaseException;
-
-import java.util.Date;
-
-public interface IReportTypeService {
-
- /**
- * 鎶ヨ〃绫诲瀷鏂板
- * @param fse
- * @return
- */
- String addReportType(FieldSetEntity fse);
-
- /**
- * 鎶ヨ〃绫诲瀷淇敼
- * @param fse
- * @return
- */
- boolean updateReportType(FieldSetEntity fse);
-
- /**
- * 鎶ヨ〃绫诲瀷鍒犻櫎
- * @param uuid
- * @return
- */
- boolean deleteReportType(String uuid);
-
- /**
- * 鏂板鍥捐〃涓昏〃
- * @param fse
- * @return
- */
- String saveEChartsMasterTable(FieldSetEntity fse)throws BaseException;
-
- /**
- *
- * @param dataTableEntity 灞炴�ф垨瀛愬睘鎬�
- * @param type_uuid 绫诲瀷涓昏〃uuid
- * @param userId 褰撳墠浜篿d
- * @param date 褰撳墠鏃堕棿
- * @param parentAttributeName 涓婄骇鍏冪礌name
- * @param parentAttributeUuid 涓婄骇鍏冪礌uuid
- * @throws BaseException
- */
- void processingProperties(DataTableEntity dataTableEntity, String type_uuid, Integer userId, Date date, String type, String parentAttributeName, String parentAttributeUuid) throws BaseException;
-
- /**
- * 寮曠敤鑾峰彇灞炴�ф爲
- * @throws BaseException
- */
- JSONObject getEChartsElement(String uuid)throws BaseException;
-
- /**
- * 寮曠敤鑾峰彇灞炴�у垪琛�
- * @throws BaseException
- */
- DataTableEntity getEChartsElementList(String uuid)throws BaseException;
-
- /**
- * 鏂板鍥捐〃鍏冪礌
- * @param fse
- * @return
- */
- String saveEChartsElement(FieldSetEntity fse)throws BaseException;
-
- /**
- * 鍒犻櫎鍥捐〃鍏冪礌
- * @param fse
- * @return
- */
- boolean delEChartsElement(FieldSetEntity fse)throws BaseException;
-
- /**
- * 鍒犻櫎鍥捐〃缁勮〃 杩炲甫鍒犻櫎鍏冪礌琛ㄥ強灞炴�у�艰〃
- * @param fse
- * @return
- */
- boolean delEChartsTable(FieldSetEntity fse)throws BaseException;
-
- /**
- * 寮曠敤灞炴��
- * @param fse
- * @return
- */
- JSONObject referenceProperties(FieldSetEntity fse)throws BaseException;
-
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IViewDataConvertService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IViewDataConvertService.java
deleted file mode 100644
index a34a01f..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/IViewDataConvertService.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.product.server.report.service.idel;
-
-public interface IViewDataConvertService {
- public void reportDataProcessTask();
-}
diff --git a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/ListReportConfigService.java b/product-server-report_v2/src/main/java/com/product/server/report/service/idel/ListReportConfigService.java
deleted file mode 100644
index 35861ca..0000000
--- a/product-server-report_v2/src/main/java/com/product/server/report/service/idel/ListReportConfigService.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.product.server.report.service.idel;
-
-import java.util.List;
-import com.product.core.entity.DataTableEntity;
-import com.product.core.entity.FieldSetEntity;
-import com.product.core.exception.BaseException;
-import com.product.core.transfer.Transactional;
-
-
-public interface ListReportConfigService {
-
-}
diff --git a/product-server-report_v2/src/test/java/com/product/server/report/AppTest.java b/product-server-report_v2/src/test/java/com/product/server/report/AppTest.java
deleted file mode 100644
index b2e3a1b..0000000
--- a/product-server-report_v2/src/test/java/com/product/server/report/AppTest.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.product.server.report;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import junit.framework.TestSuite;
-
-/**
- * Unit test for simple App.
- */
-public class AppTest
- extends TestCase
-{
- /**
- * Create the test case
- *
- * @param testName name of the test case
- */
- public AppTest( String testName )
- {
- super( testName );
- }
-
- /**
- * @return the suite of tests being tested
- */
- public static Test suite()
- {
- return new TestSuite( AppTest.class );
- }
-
- /**
- * Rigourous Test :-)
- */
- public void testApp()
- {
- assertTrue( true );
- }
-}
diff --git a/product-server-report_v2/src/test/java/com/product/server/report/GenerateEChartTest.java b/product-server-report_v2/src/test/java/com/product/server/report/GenerateEChartTest.java
deleted file mode 100644
index d5c61f7..0000000
--- a/product-server-report_v2/src/test/java/com/product/server/report/GenerateEChartTest.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.product.server.report;
-
-import com.product.common.utils.HttpTest;
-import com.product.server.report.config.CmnConst;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class GenerateEChartTest extends HttpTest{
-
- public static void main(String[] args) {
- generatePieEChart(); //鑾峰彇骞剁敓鎴怑Chart鏁版嵁
-
- }
-
- public static void generatePieEChart() {
- Map<String, Object> map=new HashMap<>();
- map.put("url/api", "/api/report/EChart/generatePieEChart");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_CONFIG);
- //娴嬭瘯楗肩姸鍥惧舰鎶ヨ〃
- map.put("uuid", "b64ddba7-0d00-48ab-9a66-5ea4bd884700");
- map.put("type_uuid","84048cc8-0438-444d-a969-01eedb5a2esz");
- //娴嬭瘯鐜舰鍥惧舰鎶ヨ〃
-// map.put("uuid", "b64ddba7-0d00-48ab-9a66-5ea4bd884701");
-// map.put("type_uuid","84048cc8-0438-444d-a969-01eedb5a2esz");
- //娴嬭瘯鏌辩姸鍥惧舰鎶ヨ〃
-// map.put("uuid", "b64ddba7-0d00-48ab-9a66-5ea4bd884702");
-// map.put("type_uuid","84048cc8-0438-444d-a969-01eedb5a2c4f");
- //娴嬭瘯鎶樼嚎鍥惧舰鎶ヨ〃
-// map.put("uuid", "b64ddba7-0d00-48ab-9a66-5ea4bd884703");
-// map.put("type_uuid","84048cc8-0438-444d-a969-01eedb5a2zxt");
- testPost(map);
- }
-
-}
diff --git a/product-server-report_v2/src/test/java/com/product/server/report/ReportConfigTest.java b/product-server-report_v2/src/test/java/com/product/server/report/ReportConfigTest.java
deleted file mode 100644
index e9bf234..0000000
--- a/product-server-report_v2/src/test/java/com/product/server/report/ReportConfigTest.java
+++ /dev/null
@@ -1,166 +0,0 @@
-package com.product.server.report;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.product.common.utils.HttpTest;
-import com.product.server.report.config.CmnConst;
-
-public class ReportConfigTest extends HttpTest{
-
- public static void main(String[] args) {
-// listReportConfig(); //鎶ヨ〃鍒楄〃
-// findReportConfig(); //鎶ヨ〃璇︽儏
-// addReportConfig(); //鎶ヨ〃鏂板
-// updateReportConfig(); //鎶ヨ〃淇敼
-// deleteReportConfig(); //鎶ヨ〃鍒犻櫎
-// previewReportConfig(); //鎶ヨ〃棰勮
-// releaseReportConfig(); //鎶ヨ〃鍙戝竷
- cancelReleaseReport(); //鍙栨秷鍙戝竷
-// copyReportConfig(); //鎶ヨ〃澶嶅埗
- }
-
- public static void listReportConfig() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-config/list-report-config");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_CONFIG);
- map.put("cpage", 1);
- map.put("pagesize", 10);
- testPost(map);
- }
-
- public static void findReportConfig() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-config/find-report-config");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_CONFIG);
- map.put("uuid", "25485222-2fb3-4994-8893-87bbcef6bdaf");
- testPost(map);
- }
-
- public static void addReportConfig() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-config/add-report-config");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_CONFIG);
- map.put("type_uuid", "dd59cc1a-aab2-4701-838a-a4a258442e41");
- map.put("datasource_uuid", "0aae05ea-632c-42d3-9670-e8fc17a2b367");
- map.put("is_valid", "0");
- map.put("org_level_uuid", "");
- map.put("report_name", "娴嬭瘯鎶ヨ〃");
- map.put("report_width_type", "1");
- map.put("report_width_value", "1200");
-
- List<Map<String, Object>> subList=new ArrayList<Map<String,Object>>();
-
- Map<String, Object> subMap1=new HashMap<String, Object>();
- subMap1.put("field_name", "dict_label");
- subMap1.put("report_type_attr", "2c4fa969-0438-444d-8cc8-01eedb5a8404");
- subMap1.put("report_type_attr_value", "12");
-
- Map<String, Object> subMap2=new HashMap<String, Object>();
- subMap2.put("field_name", "dict_name");
- subMap2.put("report_type_attr", "2c4fa969-0438-444d-8cc8-01eedb5a8404");
- subMap2.put("report_type_attr_value", "12");
-
- Map<String, Object> subMap3=new HashMap<String, Object>();
- subMap3.put("field_name", "dict_id");
- subMap3.put("report_type_attr", "2c4fa969-0438-444d-8cc8-01eedb5a8404");
- subMap3.put("report_type_attr_value", "12");
-
- subList.add(subMap1);
- subList.add(subMap2);
- subList.add(subMap3);
-
- map.put(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE, subList);
-
- testPost(map);
- }
-
- public static void updateReportConfig() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-config/update-report-config");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_CONFIG);
- map.put("uuid", "25485222-2fb3-4994-8893-87bbcef6bdaf");
- map.put("type_uuid", "dd59cc1a-aab2-4701-838a-a4a258442e41");
- map.put("datasource_uuid", "0aae05ea-632c-42d3-9670-e8fc17a2b367");
- map.put("is_valid", "0");
- map.put("org_level_uuid", "");
- map.put("report_name", "娴嬭瘯鎶ヨ〃");
- map.put("report_width_type", "1");
- map.put("report_width_value", "1200");
-
- List<Map<String, Object>> subList=new ArrayList<Map<String,Object>>();
-
- Map<String, Object> subMap1=new HashMap<String, Object>();
- subMap1.put("uuid", "79cb7112-1b79-4b35-b29f-db1d7667e554");
- subMap1.put("report_config_uuid", "25485222-2fb3-4994-8893-87bbcef6bdaf");
- subMap1.put("field_name", "dict_label");
- subMap1.put("report_type_attr", "2c4fa969-0438-444d-8cc8-01eedb5a8404");
- subMap1.put("report_type_attr_value", "12");
-
- Map<String, Object> subMap2=new HashMap<String, Object>();
- subMap2.put("uuid", "e5a2217d-38fd-4f53-a8e9-d27038b24e03");
- subMap1.put("report_config_uuid", "25485222-2fb3-4994-8893-87bbcef6bdaf");
- subMap2.put("field_name", "dict_name");
- subMap2.put("report_type_attr", "2c4fa969-0438-444d-8cc8-01eedb5a8404");
- subMap2.put("report_type_attr_value", "12");
-
- Map<String, Object> subMap3=new HashMap<String, Object>();
- subMap3.put("uuid", "dd6fa9b3-e3d1-4225-91a8-f18626419382");
- subMap1.put("report_config_uuid", "25485222-2fb3-4994-8893-87bbcef6bdaf");
- subMap3.put("field_name", "dict_id");
- subMap3.put("report_type_attr", "2c4fa969-0438-444d-8cc8-01eedb5a8404");
- subMap3.put("report_type_attr_value", "12");
-
- subList.add(subMap1);
- subList.add(subMap2);
- subList.add(subMap3);
-
- map.put(CmnConst.PRODUCT_SYS_REPORT_CONFIG_ATTRIBUTE, subList);
- testPost(map);
- }
-
- public static void deleteReportConfig() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-config/delete-report-config");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_CONFIG);
- map.put("uuid", "25485222-2fb3-4994-8893-87bbcef6bdaf");
- testPost(map);
- }
-
- public static void previewReportConfig() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-config/preview-config");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_CONFIG);
- map.put("uuid", "");
- testPost(map);
- }
-
- public static void releaseReportConfig() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-config/release-config/v1");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_CONFIG);
- map.put("uuid", "b64ddba7-0d00-48ab-9a66-5ea4bd884699");
- map.put(CmnConst.TRICODE_PARENT, "031-000");
- map.put(CmnConst.ROLE_UUID, "bb3d5d27-8c05-49c1-bdb2-c743a53863e0-notchange");
- testPost(map);
- }
-
- public static void cancelReleaseReport() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-config/cancel-release-config/v1");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_CONFIG);
- map.put("uuid", "b64ddba7-0d00-48ab-9a66-5ea4bd884699");
- map.put(CmnConst.FUNCTION_UUID, "a1bb2c6c-b007-457c-ab7b-ba736c5194aa");
- testPost(map);
- }
-
- public static void copyReportConfig() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-config/copy-config");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_CONFIG);
- map.put("uuid", "b64ddba7-0d00-48ab-9a66-5ea4bd884699");
- testPost(map);
- }
-}
diff --git a/product-server-report_v2/src/test/java/com/product/server/report/ReportDatasourceTest.java b/product-server-report_v2/src/test/java/com/product/server/report/ReportDatasourceTest.java
deleted file mode 100644
index 5b9d9a3..0000000
--- a/product-server-report_v2/src/test/java/com/product/server/report/ReportDatasourceTest.java
+++ /dev/null
@@ -1,150 +0,0 @@
-package com.product.server.report;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import com.product.common.utils.HttpTest;
-import com.product.server.report.config.CmnConst;
-
-public class ReportDatasourceTest extends HttpTest{
-
- public static void main(String[] args) {
-// listDatasource(); //鏁版嵁婧愬垪琛�
-// findDatasource(); //鏁版嵁婧愯鎯�
- addDatasource(); //鏁版嵁婧愭柊澧�
-// updateDatasource(); //鏁版嵁婧愪慨鏀�
-// deleteDatasource(); //鏁版嵁婧愬垹闄�
-// sqlVerify(); //sql楠岃瘉
-// getSysParam(); //鑾峰彇绯荤粺鍙傛暟
- }
-
- public static void listDatasource() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-datasource/list-datasource");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG);
- map.put("cpage", 1);
- map.put("pagesize", 10);
- testPost(map);
- }
-
- public static void findDatasource() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-datasource/find-datasource");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG);
- map.put("uuid", "bd70fd58-e6d9-4b06-982d-d3134890eba8");
- testPost(map);
- }
-
- public static void addDatasource() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-datasource/add-datasource");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG);
- map.put("report_database_name", "鏁版嵁婧�");
- map.put("is_page", "1");
- map.put("page_size", "10");
- map.put("sql_text", "SELECT * FROM product_sys_dict");
- map.put("org_level_uuid", "");
-
- List<Map<String, Object>> subList=new ArrayList<Map<String,Object>>();
-
- Map<String, Object> subList1=new HashMap<String, Object>();
- subList1.put("field_name", "dict_label");
- subList1.put("field_text", "");
- subList1.put("field_format", "鏂囨湰鏍煎紡");
- subList1.put("field_prompt", "a");
- subList1.put("search_type", "1");
-
- Map<String, Object> subList2=new HashMap<String, Object>();
- subList2.put("field_name", "dict_value");
- subList2.put("field_text", "");
- subList2.put("field_format", "鏂囨湰鏍煎紡");
- subList2.put("field_prompt", "b");
- subList2.put("search_type", "1");
-
- Map<String, Object> subList3=new HashMap<String, Object>();
- subList3.put("field_name", "dict_id");
- subList3.put("field_text", "");
- subList3.put("field_format", "###");
- subList3.put("field_prompt", "");
- subList3.put("search_type", "2");
-
- subList.add(subList1);
- subList.add(subList2);
- subList.add(subList3);
-
- map.put(CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG_FIELD, subList);
-
- testPost(map);
- }
-
- public static void updateDatasource() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-datasource/update-datasource");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG);
- map.put("uuid", "bd70fd58-e6d9-4b06-982d-d3134890eba8");
- map.put("report_database_name", "鏁版嵁婧�");
- map.put("is_page", "1");
- map.put("page_size", "10");
- map.put("sql_text", "SELECT * FROM product_sys_dict");
- map.put("org_level_uuid", "");
-
- List<Map<String, Object>> subList=new ArrayList<Map<String,Object>>();
-
- Map<String, Object> subList1=new HashMap<String, Object>();
- subList1.put("uuid", "94d12872-a006-4f24-9f4e-8beec8eb69ec");
- subList1.put("datasource_uuid", "bd70fd58-e6d9-4b06-982d-d3134890eba8");
- subList1.put("field_name", "dict_label");
- subList1.put("field_text", "");
- subList1.put("field_format", "鏂囨湰鏍煎紡");
- subList1.put("field_prompt", "a");
- subList1.put("search_type", "1");
-
- Map<String, Object> subList2=new HashMap<String, Object>();
- subList2.put("uuid", "c50d8db3-0254-4be6-b930-45addb3ecd53");
- subList2.put("datasource_uuid", "bd70fd58-e6d9-4b06-982d-d3134890eba8");
- subList2.put("field_name", "dict_value");
- subList2.put("field_text", "");
- subList2.put("field_format", "鏂囨湰鏍煎紡");
- subList2.put("field_prompt", "b");
- subList2.put("search_type", "1");
-
- Map<String, Object> subList3=new HashMap<String, Object>();
- subList3.put("uuid", "921bcc3f-c180-4491-8d14-386185a86fc4");
- subList3.put("datasource_uuid", "bd70fd58-e6d9-4b06-982d-d3134890eba8");
- subList3.put("field_name", "dict_id");
- subList3.put("field_text", "");
- subList3.put("field_format", "##");
- subList3.put("field_prompt", "");
- subList3.put("search_type", "2");
-
- subList.add(subList1);
- subList.add(subList2);
- subList.add(subList3);
-
- map.put(CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG_FIELD, subList);
- testPost(map);
- }
-
- public static void deleteDatasource() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-datasource/delete-datasource");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_DATASOURCE_CONFIG);
- map.put("uuid", "bd70fd58-e6d9-4b06-982d-d3134890eba8");
- testPost(map);
- }
-
- public static void sqlVerify(){
- Map<String,Object>map=new HashMap<>();
- map.put("url/api", "/api/report-datasource/verify-sql");
- map.put(CmnConst.SQL_TEXT, "SELECT CONCAT(dict_id,dict_name) FROM product_sys_dict");
- testPost(map);
- }
-
- public static void getSysParam(){
- Map<String,Object>map=new HashMap<>();
- map.put("url/api", "/api/report-datasource/get-system-param");
- testPost(map);
- }
-}
diff --git a/product-server-report_v2/src/test/java/com/product/server/report/ReportTypeTest.java b/product-server-report_v2/src/test/java/com/product/server/report/ReportTypeTest.java
deleted file mode 100644
index cbd4d7d..0000000
--- a/product-server-report_v2/src/test/java/com/product/server/report/ReportTypeTest.java
+++ /dev/null
@@ -1,324 +0,0 @@
-package com.product.server.report;
-
-import com.product.common.utils.HttpTest;
-import com.product.server.report.config.CmnConst;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class ReportTypeTest extends HttpTest{
-
- public static void main(String[] args) {
-// listReportType(); //鎶ヨ〃鍒嗙被鍒楄〃
-// findReportType(); //鎶ヨ〃鍒嗙被璇︽儏
-// addReportType(); //鎶ヨ〃鍒嗙被鏂板
-// updateReportType(); //鎶ヨ〃鍒嗙被淇敼
-// deleteReportType(); //鎶ヨ〃鍒嗙被鍒犻櫎
-// listReportByGroup(); //寮曠敤灞炴�у垪琛�
-// getEChartsElement(); //鑾峰彇灞炴�ф爲
-// saveEChartsMasterTable(); //淇濆瓨鍥捐〃閰嶇疆涓昏〃
-// saveEChartsElement(); //淇濆瓨鍥捐〃閰嶇疆灞炴��
-// delEChartsElement(); //鍒犻櫎鍥捐〃鍏冪礌
-// getChartsTypeData(); //鎷栦笅绫诲瀷琛ㄦ椂甯﹀嚭绫诲瀷鍙婂瓙琛ㄦ暟鎹�
-// upChartsMasterTable(); //淇敼閰嶇疆鍙婂睘鎬у��
-// delChartsMasterTable();//鍒犻櫎灞炴�у�奸厤缃〃鍙婂瓙琛�
- generatePieEChart(); //灞曠ず鍥惧舰鎶ヨ〃
- }
-
- public static void generatePieEChart(){
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report/EChart/generatePieEChart/v1");
- map.put("~table~", "product_sys_report_config");
-// map.put("uuid", "cb9fd8cd-8a2c-4a55-b83c-f1cb8db5b0b6");//鎶樼幇鍥捐〃
-// map.put("uuid", "bd5eb699-c986-469e-a9b6-d5fa36b8065f");//闆疯揪鍥捐〃
-// map.put("uuid", "d219a233-1ff4-4700-9fa8-575b837ab9c2");//婕忔枟鍥捐〃
-// map.put("uuid", "25b1222a-a54e-4f1e-bbae-a0467de1deaf");//浠〃鐩樺浘琛�
- map.put("uuid", "10856a04-3504-4e86-b15d-866a5680d17b");//鍏紶鍩虹鍥捐〃
-// map.put("uuid", "86df3e93-0193-4a5e-9b2c-4fbeee452a0d");//鍦板浘
- testPost(map);
- }
-
- public static void listReportType() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-type/list-report-type");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG);
- map.put("cpage", 1);
- map.put("pagesize", 10);
- testPost(map);
- }
-
- public static void findReportType() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-type/find-report-type");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG);
- map.put("uuid", "a9698404-0438-444d-8cc8-01eedb5a2c4f");
- testPost(map);
- }
-
- public static void addReportType() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-type/add-report-type");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG);
- map.put("type_name", "鎶樼嚎鍥�");
- map.put("type_group", "Charts");
- map.put("large_icon", "");
- map.put("small_icon", "");
-
- List<Map<String, Object>> subList=new ArrayList<Map<String,Object>>();
-
- Map<String, Object> subList1=new HashMap<String, Object>();
- subList1.put("type_group", "Charts");
- subList1.put("attribute_name", "");
- subList1.put("prompt_name", "");
- subList1.put("detail", "");
- subList1.put("defalut_value", "");
-
- Map<String, Object> subList2=new HashMap<String, Object>();
- subList2.put("type_group", "Charts");
- subList2.put("attribute_name", "");
- subList2.put("prompt_name", "");
- subList2.put("detail", "");
- subList2.put("defalut_value", "");
-
- Map<String, Object> subList3=new HashMap<String, Object>();
- subList3.put("type_group", "Charts");
- subList3.put("attribute_name", "");
- subList3.put("prompt_name", "");
- subList3.put("detail", "");
- subList3.put("defalut_value", "");
-
- subList.add(subList1);
- subList.add(subList2);
- subList.add(subList3);
-
- map.put(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, subList);
-
- testPost(map);
- }
-
- public static void updateReportType() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-type/update-report-type");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG);
- map.put("uuid", "a9698404-0438-444d-8cc8-01eedb5a2c4f");
- map.put("type_name", "鎶樼嚎鍒楄〃");
- map.put("type_group", "DataList");
- map.put("large_icon", "");
- map.put("small_icon", "");
-
- List<Map<String, Object>> subList=new ArrayList<Map<String,Object>>();
-
- Map<String, Object> subList1=new HashMap<String, Object>();
- subList1.put("uuid", "2c4fa969-0438-444d-8cc8-01eedb5a8404");
- subList1.put("type_uuid", "dd59cc1a-aab2-4701-838a-a4a258442e41,a9698404-0438-444d-8cc8-01eedb5a2c4f,533fad14-493d-47b8-8939-390666d9f8de");
- subList1.put("type_group", "Charts");
- subList1.put("attribute_name", "浜害");
- subList1.put("prompt_name", "");
- subList1.put("detail", "");
- subList1.put("defalut_value", "");
-
- Map<String, Object> subList2=new HashMap<String, Object>();
- subList2.put("uuid", "2e41dd59-aab2-4701-838a-a4a25844cc1a");
- subList2.put("~type~", "del");
- subList2.put("type_uuid", "dd59cc1a-aab2-4701-838a-a4a258442e41,a9698404-0438-444d-8cc8-01eedb5a2c4f,533fad14-493d-47b8-8939-390666d9f8de");
- subList2.put("type_group", "Charts");
- subList2.put("attribute_name", "闀垮害");
- subList2.put("prompt_name", "");
- subList2.put("detail", "");
- subList2.put("defalut_value", "");
-
- Map<String, Object> subList3=new HashMap<String, Object>();
-
- subList3.put("uuid", "");
- subList3.put("type_group", "Charts");
- subList3.put("attribute_name", "");
- subList3.put("prompt_name", "");
- subList3.put("detail", "");
- subList3.put("defalut_value", "");
-
- subList.add(subList1);
- subList.add(subList2);
-// subList.add(subList3);
-
- map.put(CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE, subList);
-
- testPost(map);
- }
-
- public static void deleteReportType() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-type/delete-report-type");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_TYPE_CONFIG);
- map.put("uuid", "a9698404-0438-444d-8cc8-01eedb5a2c4f");
- testPost(map);
- }
-
- public static void listReportByGroup() {
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-type/list-property");
- map.put("~table~", CmnConst.PRODUCT_SYS_REPORT_TYPE_ATTRIBUTE);
- map.put("type_group", "DataList");
- testPost(map);
- }
-
- /**
- * 鑾峰彇鍏冪礌
- */
- public static void getEChartsElement(){
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-type/getEChartsElement/v1");
- map.put("~table~", "product_sys_report_type_config");
- map.put("uuid", "84048cc8-0438-444d-a969-01eedbpsbb23");
- testPost(map);
- }
-
- /**
- * 淇濆瓨涓昏〃
- */
- public static void saveEChartsMasterTable(){
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-type/saveEChartsMasterTable/v1");
- map.put("~table~", "product_sys_report_type_config");
- // map.put("uuid", "84048cc8-0438-444d-a969-01eedbpsbb23");
- map.put("type_name", "娴嬭瘯閰嶇疆鍥捐〃20210714");
- map.put("type_group", "Charts");
- testPost(map);
- }
-
- /**
- * 淇濆瓨鍏冪礌
- */
- public static void saveEChartsElement(){
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-type/saveEChartsElement/v1");
- map.put("~table~", "product_sys_report_type_attribute");
- // map.put("uuid", "84048cc8-0438-444d-a969-01eedbpsbb23");
- //绫诲瀷uuid
- map.put("type_uuid", "5339b923-9479-4844-b148-ee736b9e95d3");
- map.put("type_group", "Charts");
- map.put("attribute_name", "title");
- map.put("detail", "鏍囩");
- map.put("subordinateElementType", 0);
- testPost(map);
- }
-
- /**
- * 鍒犻櫎瀛愬厓绱�
- */
- public static void delEChartsElement(){
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/report-type/delEChartsElement/v1");
- map.put("~table~", "product_sys_report_type_attribute");
- // map.put("uuid", "84048cc8-0438-444d-a969-01eedbpsbb23");
- //绫诲瀷uuid
- map.put("uuid", "d4fc20e1-39a1-458b-aaeb-ad95dd3c994f");
- testPost(map);
- }
-
- /**
- * 鍒犻櫎灞炴�у�艰〃
- */
- public static void delChartsMasterTable(){
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/charts/property/delChartsMasterTable/v1");
- map.put("~table~", "product_sys_report_config");
- map.put("uuid", "c4bc8583-55ee-4892-a9b4-8ec206e79cf8");
- testPost(map);
- }
-
- /**
- * 鏂板灞炴�у�奸厤缃〃
- */
- public static void addChartsMasterTable(){
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/charts/property/addChartsMasterTable/v1");
- map.put("~table~", "product_sys_report_config");
- map.put("report_name", "luoxin");
- map.put("report_width_type", "1");
- map.put("report_width_value", "1200");
- map.put("is_valid", "1");
-
- Map<String, Object> subList1=new HashMap<String, Object>();
- subList1.put("report_datasource_uuid", "0aae05ea-e8fc17a2b369-632c-42d3luoxin1");
- subList1.put("report_type_config_uuid", "0aae05ea-e8fc17a2b369-632c-42d3luoxin2");
- subList1.put("width", "1200");
- subList1.put("height", "400");
- subList1.put("left_margin", "0");
- subList1.put("top_margin", "0");
-
-
-
- Map<String, Object> subElement=new HashMap<String, Object>();
-// subElement.put("report_config_uuid", "0aae05ea-e8fc17a2b369-632c-42d3luoxin2");
- subElement.put("field_name", "luoxin");
- subElement.put("report_type_attr", "0aae05ea-e8fc17a2b369-632c-42d3luoxin3");
- subElement.put("report_type_attr_value", "luoxin");
-
-
-
- List<Map<String, Object>> elementList=new ArrayList<Map<String,Object>>();
- elementList.add(subElement);
- subList1.put("product_sys_report_config_attribute", elementList);
-
- List<Map<String, Object>> subList=new ArrayList<Map<String,Object>>();
- subList.add(subList1);
-
- map.put("product_sys_report_config_charts", subList);
- testPost(map);
- }
-
-
- /**
- * 淇敼灞炴�у�奸厤缃〃
- */
- public static void upChartsMasterTable(){
- Map<String, Object>map=new HashMap<>();
- map.put("url/api", "/api/charts/property/upChartsMasterTable/v1");
- map.put("~table~", "product_sys_report_config");
- map.put("uuid", "c4bc8583-55ee-4892-a9b4-8ec206e79cf8");
- map.put("report_name", "luoxin");
- map.put("report_width_type", "1");
- map.put("report_width_value", "1200");
- map.put("is_valid", "1");
-
- Map<String, Object> subList1=new HashMap<String, Object>();
- subList1.put("status", "delete");
- subList1.put("uuid", "2e806dcc-5a17-40b6-af4f-5824916ec2e1");
- subList1.put("report_datasource_uuid", "0aae05ea-e8fc17a2b369-632c-42d3luoxin1gai");
- subList1.put("report_type_config_uuid", "0aae05ea-e8fc17a2b369-632c-42d3luoxin2");
- subList1.put("width", "1200");
- subList1.put("height", "400");
- subList1.put("left_margin", "20");
- subList1.put("top_margin", "20");
-
-
-
- Map<String, Object> subElement=new HashMap<String, Object>();
-// subElement.put("status", "delete");
- subElement.put("uuid", "750a1d02-2106-4f8c-9683-e3c082f9a98c");
- subElement.put("field_name", "luoxingai2");
- subElement.put("report_type_attr", "0aae05ea-e8fc17a2b369-632c-42d3luoxin3");
- subElement.put("report_type_attr_value", "luoxin");
-
- Map<String, Object> subElement2=new HashMap<String, Object>();
- subElement2.put("status", "update");
- subElement2.put("uuid", "432add03-d47c-443f-9e62-c1bacfbaf3be");
- subElement2.put("field_name", "luoxin222");
- subElement2.put("report_type_attr", "0aae05ea-e8fc17a2b369-632c-42d3luoxin3");
- subElement2.put("report_type_attr_value", "luoxin222");
-
- List<Map<String, Object>> elementList=new ArrayList<Map<String,Object>>();
- elementList.add(subElement);
- elementList.add(subElement2);
- subList1.put("product_sys_report_config_attribute", elementList);
-
- List<Map<String, Object>> subList=new ArrayList<Map<String,Object>>();
- subList.add(subList1);
-
- map.put("product_sys_report_config_charts", subList);
- testPost(map);
- }
-
-}
diff --git "a/product-server-web/doc/\347\263\273\347\273\237\350\256\276\350\256\241" "b/product-server-web/doc/\347\263\273\347\273\237\350\256\276\350\256\241"
index 1be3fcf..646f339 100644
--- "a/product-server-web/doc/\347\263\273\347\273\237\350\256\276\350\256\241"
+++ "b/product-server-web/doc/\347\263\273\347\273\237\350\256\276\350\256\241"
@@ -1,8 +1,5 @@
锘跨増鏈帶鍒讹細
褰撳墠浜у搧鐗堟湰1.0.0
- 琛嶇敓椤圭洰鐗堟湰
- 1.1.0 picc锛堢坏闃充汉淇濓級
- 1.2.0 xn
璇︾粏瑙i噴
锛�1锛夌洰鍓嶇殑鐗堟湰鍙峰叡鏈�3绾э紝鏍囧噯鐗堟寜鐓�1.0.0
锛�2锛夌涓�浣嶄綔涓轰骇鍝佸ぇ鐗堟湰
@@ -16,7 +13,7 @@
蹇呴』閰嶇疆榛樿鐨勬暟鎹簮锛屽悕绉板繀椤讳负default,瑙乤pplication.properties
sourceName=default
2.琛ㄨ璁�
- id瀛楁: 绫诲瀷=bigint 锛岄暱搴�11
+ id瀛楁: 绫诲瀷=bigint 锛岄暱搴�11
uuid瀛楁銆乽uid寮曠敤瀛楁锛氾紝闀垮害閮芥槸80
瀛楁绫诲瀷闄や簡閫氱敤String...澶栵紝杩樻湁涓�涓被鍨�:parentuuid,鐢ㄦ瀛楁琛ㄧず涓诲瓙琛ㄧ殑鍏崇郴锛�
鍚屾椂杩樺繀椤婚厤鍏宠仈鐨勭埗琛ㄥ悕绉帮紝鍚屼竴涓叧鑱旂埗琛紝鍙兘閰嶄竴涓猵arentuuid绫诲瀷鐨勫瓧娈碉紝濡傛灉鏄櫘閫氫富澶栭敭鍏宠仈锛屽氨涓嶇敤parentuuid
@@ -27,13 +24,13 @@
......
function_uuid parentuuid mrbase_sys_datamodel_table(淇濆瓨琛ㄧ殑uuid锛屾樉绀鸿〃鐨勫悕绉帮紝榛樿鍏宠仈涓昏〃鐨剈uid)
瀛楁鐨勯暱搴︿负涓嬫媺閫夋嫨锛屾牴鎹笉鍚岀殑鏁版嵁绫诲瀷锛屽畾涔変笉鍚岀殑闀垮害閫夐」锛屽锛�10銆�20銆�50銆�100绛�
-
+
瀛楁绫诲瀷锛�
闄ゆ爣鍑嗙殑string datetime int double ,杩樻湁鐗规畩锛歱arentuuid(涓诲瓙琛ㄥ叧绯伙紝璁板綍鐖惰〃uuid)銆乧ode(缂栫爜瀛楁 000-000-002)銆乻erialNumber(GXD201209020001)
瀛楁绫诲瀷=parentuuid鏃讹紝蹇呴』field_relation_table瀛楁濉啓鐖惰〃鐨剈uid鍚﹀垯涔熶笉鑳戒綔涓轰富瀛愯〃淇濆瓨
-
+
鎵�鏈夌被鍨嬶細string銆乮nt銆乶umber(灏忔暟)銆乨atetime銆乸arentuuid銆乧ode銆乻erialNumber銆乮dcard銆乽rl銆乮p銆乵ac銆乪mail銆乽serid銆乷rgUuid銆乫ile銆乫lowStatus銆乼able_name
-
+
3.缂撳瓨鏁版嵁
* 缂撳瓨閰嶇疆琛細SYS_CACHE_CONFIG
* 瀛楁锛欼D銆乽uid銆乧ache_name銆乀ABLENAME(S200)銆丆ACHEFIELD(鍒嗙骇缂撳瓨瀛楁锛岄�楀彿鍒嗛殧),FIELDS(S4000,瀛楁鍚嶏紝閫楀彿鍒嗛殧)銆乫ilter(S4000)銆佸娉ㄨ鏄�....
@@ -50,10 +47,10 @@
table_name=mrbase_sys_datamodel_field | cache_fields=* | group_field=table_uuid
table_name=mrbase_sys_datamodel_field | cache_fields=* | filter=field_type='parentUuid'
table_name=mrbase_function_permission | cache_fields=role_uuid,function_uuid,button_uuid | group_field=role_uuid
-
+
*缂撳瓨鍒锋柊锛屾暟鎹柊澧炪�佷慨鏀广�佸垹闄ゆ椂閮戒細鍒锋柊瀵瑰簲鐨勮琛ㄧ殑鎵�鏈夌紦瀛橀厤缃紝杩樺彲浠ヨ皟鑷畾涔夌殑浠g爜杩涜鍒锋柊锛坆ean_name銆乥ean_method(String uuid) 鍙傛暟鏄搷浣滄暟鎹殑uuid ,bean_method() 鍚姩鏃朵細璋冩鏂规硶锛屽繀椤诲畾涔変袱涓柟娉� 锛�
*缂撳瓨鐨勪娇鐢ㄦ煡璇㈡柟娉曪細
- 鏈夊垎缁勶紝鍒嗙粍瀛楁锛屽搴斿��
+ 鏈夊垎缁勶紝鍒嗙粍瀛楁锛屽搴斿��
瀵瑰簲缂撳瓨涓搴旂殑鍒嗙粍瀛楁锛屾暣涓弬鏁颁负杩欙紝琛ㄧず娌℃湁鍒嗙粍锛屽彧鑳藉悗闈笉涓虹┖锛屼笉鑳藉墠闈负绌猴紝渚嬪锛�
缂撳瓨鐨勫垎缁勫瓧娈碉細field1銆乫ield2銆乫ield3 ,鑾峰彇鏃跺弬鏁板�硷紝鍙兘涓夌鎯呭喌锛歿value1,null,null}銆亄value1,value2,null}銆亄value1,value2,value2},
涓嶈兘鍑虹幇 {value1,null,value3} 銆亄null,null,value3} 銆亄null,value2,value3} 绛夋儏鍐�
@@ -87,7 +84,7 @@
鍙湁鍒犻櫎鏃剁敤杩欎釜瀛楁鏉ュ尯鍒�,鍗硚type~=del
淇敼涓诲瓙琛ㄦ暟鎹� 涓昏〃蹇呴』鏈塽uid瀛楁锛屽瓙琛ㄦ暟鎹腑涓変釜绉嶆儏鍐碉細鏂板 ~type~="",uuid="",淇敼锛殈type~="",uuid="涓嶄负绌�"锛屽垹闄わ細~type~="del",uuid="涓嶄负绌�"
瀛愯〃鍒楁暟瑕佷竴鑷�
-
+
5.鎵�鏈夊疄浣撶被鍨嬶紝閮藉繀椤绘湁涓瓧娈� table_name锛屽瓨琛ㄥ悕绉� ,鍙互瀹炰綋绫讳腑瀹氫箟鎴愬父閲�
6.API璇锋眰鍙傛暟
@@ -95,7 +92,7 @@
RequestParameterEntity 灏佽鎵�鏈夊弬鏁拌姹傦紝璇︾粏瑙佽绫�
Object bean=request.getAttribute("requestPara");
String accessToken = null;
- if(bean !=null) {
+ if(bean !=null) {
RequestParameterEntity reqp=(RequestParameterEntity)bean;
accessToken=reqp.getToken();
}
@@ -114,7 +111,7 @@
鏌ヨ杩斿洖
OK_List(FieldSetEntity fs)
OK_List(DataTableEntity dt)
-
+
閫氱敤閿欒杩斿洖锛� 鏂板銆佷慨鏀广�佸垹闄ゃ�佹煡璇㈠け璐�
public String error(String code,String msg )
@@ -124,8 +121,8 @@
*/
@Autowired
public BaseDao baseDao = null;
-
-10.~table~ 鍙傛暟鍦ㄦ柊澧炪�佷慨鏀规帴鍙f椂蹇呴』鏀惧埌鏁版嵁鐨勫墠闈紝浠ユ鏉ラ鍏堣幏鍙栧埌
+
+10.~table~ 鍙傛暟鍦ㄦ柊澧炪�佷慨鏀规帴鍙f椂蹇呴』鏀惧埌鏁版嵁鐨勫墠闈紝浠ユ鏉ラ鍏堣幏鍙栧埌
13.楂樼骇鍙傜収涓嬫媺妗嗘帴鍙f暟鎹�
{
@@ -158,16 +155,16 @@
鍏朵腑filter瀛楁锛屾槸閰嶇疆浜哄憳鎵嬪啓鐨剆ql鏉′欢锛屽瓧绗︿覆涓彲鑳介厤缃姩鎬佸弬鏁帮紝鏍煎紡涓猴細~鍙傛暟鍚嶇О~锛屽墠绔皟鐢ㄦ鍙傜収鏃讹紝涔熷繀椤讳紶瀵瑰簲鐨勫弬鏁板�� 锛屼緥濡傦細
閰嶇疆filter: uuid=~cust_uuid~ and name like '%~cust_name~%'
鍓嶇鍙傛暟锛歿cust_uuid="sdgeasge",cust_name="涓浗"}
-
- filter瀛楁涓繕鍙互閰嶇疆绯荤粺鍙橀噺锛屽锛歩s_used=1 and uuid in (select language_uuid from mrbase_sys_company_language where org_level_uuid='{{COMPANY_UUID}}')
+
+ filter瀛楁涓繕鍙互閰嶇疆绯荤粺鍙橀噺锛屽锛歩s_used=1 and uuid in (select language_uuid from mrbase_sys_company_language where org_level_uuid='{{COMPANY_UUID}}')
{{COMPANY_UUID}}:褰撳墠鐧诲綍浜哄憳鐨勫叕鍙窾UID.
-
+
display_type锛� 1:鍒楄〃 2:鏍戠粨鏋勶紝褰撶瓑浜�2琛ㄧず姝ゅ弬鐓ф暟鎹樉绀烘爲鍨嬶紝鍚屾椂 code_field銆乸arent_code_field 銆乨elay_load瑕佸繀濉紝
code_field锛氫笂涓嬬骇鍏崇郴琛ㄤ腑鐨� 缂栫爜瀛楁锛�001锛屾瀛楁涔熷鐞嗗悗鏀惧埌select_fields瀛楁涓幓锛氱敓鎴� xxxxx code,姝ゅ墠绔湪鐐瑰嚮涓�涓妭鐐规椂锛屽彇code鐨勫�间紶缁欐帴鍙o紝鎺ヨ繑鍥炲叾涓嬮潰鐨勫瓙鏁版嵁
parent_code_field锛氱埗缂栫爜瀛楁锛�001
org_filter_field锛氭牴鎹〃涓殑鍏徃瀛楁杩涜鏁版嵁杩囨护锛屽涓互閫楀彿鍒嗛殧
usr_filter_field锛氫汉鍛樻暟鎹繃婊ゆ潯浠跺瓧娈碉紝蹇呴』鏄暟鎹簮琛ㄤ腑鐨勪汉鍛樺瓧娈碉紝鍙互澶氫釜锛岄�楀彿鍒嗛殧锛�
-
+
14.1 涓嬫媺鍙傜収(楂樼骇鍙傜収銆佹暟鎹瓧鍏�)鍦ㄥ垪琛ㄤ腑鏄剧ず锛�
閰嶇疆mrbase_sys_datamodel_field.field_reference瀛楁锛岄厤鍙傜収鍚嶇О鎴栨暟鎹瓧鍏稿悕绉帮紝濡傛灉鏄暟鎹瓧鍏稿悕绉板姞涔﹀悕鍙锋嫭璧锋潵,濡傦細銆奼ender銆�
鍦ㄥ垪琛ㄧ殑鏌ヨ鏂规硶锛屽鍒楄〃鏁版嵁杩涜灏佽涓�娆★細baseDao.loadPromptData(dt);
@@ -198,8 +195,8 @@
SystemUser user = SpringMVCContextHolder.getCurrentUser();
25.鑾峰彇褰撳墠request銆乺eponse銆乻ession绛�
SpringMVCContextHolder.getHttpxxxx()
-
-26.瀵规暟鎹殑鎿嶄綔锛屽彲浠ュ弬鑰冧唬鐮侊細JsonUtil锛屽浣曠敓鎴愮殑 FieldSetEnttiy,濡備綍鍦╢s涓幏鍙栧瓙琛紙DataTableEntity锛夛紝濡備綍鑾峰彇fs涓殑瀛楁鍊硷紝濡備綍鍦―ataTableEntity涓幏鍙栦竴鏉¤褰曪紝鍜屼竴鏉¤褰曚腑鐨勫瓧娈靛��
+
+26.瀵规暟鎹殑鎿嶄綔锛屽彲浠ュ弬鑰冧唬鐮侊細JsonUtil锛屽浣曠敓鎴愮殑 FieldSetEnttiy,濡備綍鍦╢s涓幏鍙栧瓙琛紙DataTableEntity锛夛紝濡備綍鑾峰彇fs涓殑瀛楁鍊硷紝濡備綍鍦―ataTableEntity涓幏鍙栦竴鏉¤褰曪紝鍜屼竴鏉¤褰曚腑鐨勫瓧娈靛��
27.瀵逛竴鏉¤褰曠殑璇诲啓鎿嶄綔
@@ -242,18 +239,18 @@
-----------------------------------------------------------------
controller涓殑鍏蜂綋璋冪敤锛�
鎶� systemClientsService.addClient(fse); 鏀规垚浠ヤ笅浠g爜
-
+
/**浜嬪姟澶勭悊瀹炵幇**/
ISystemClientsService service=(ISystemClientsService)getProxyInstance(systemClientsService);
String uuid = service.addClient(fse);
-
+
ISystemClientsService 锛歴ervice绫荤殑鎺ュ彛绫�
systemClientsService锛歴pring娉ㄥ叆鐨剆ervice绫�
- -------------------------------------------------------------------
-
+ -------------------------------------------------------------------
+
30.鏌ヨ鍒楄〃涓寘鍚瓙琛ㄦ暟鎹�
/**
- *
+ *
* @param tableName
* @param filter
* @param para
@@ -269,7 +266,7 @@
/**
- * @ 鏌ヨ鍒楄〃鏁版嵁鐨勬墍鏈夊瓙琛ㄦ暟鎹� String 1=姣忔潯璁板綍uuid锛孲tring 2= 瀛愯〃鍚嶇О
+ * @ 鏌ヨ鍒楄〃鏁版嵁鐨勬墍鏈夊瓙琛ㄦ暟鎹� String 1=姣忔潯璁板綍uuid锛孲tring 2= 瀛愯〃鍚嶇О
* @param uuids 閫楀彿鍒嗛殧 鐖跺垪琛╱uids
* @param table_name
* @return
@@ -278,18 +275,18 @@
31.鍏充簬闄勪欢鑾峰彇鎿嶄綔
RequestParameterEntity.getFormData().getString(闄勪欢瀛楁);//涓婁紶鐨勫師濮嬫枃浠跺悕锛屽涓互閫楀彿鍒嗛殧
RequestParameterEntity.getFiles().get(鍘熷鏂囦欢鍚�); //瀵瑰簲鐨勬枃浠讹紝鏂囦欢鍚嶏細uuid+"_"+鏂囦欢鐨勫師濮嬪悕绉� 锛屼竴娆″彧鑳借幏鍙栦竴涓�
-
+
32.鍏充簬鎵嬪啓sql璇彞鏌ヨ鍜屽垎椤电殑瑕佹眰
select TIMESTAMPDIFF(YEAR,aciwe.start_datetime,aciwe.end_datetime) AS start_datetime from a,b where f1=f2 鎴� a left join b on f1=f2
瀛楁鍒悕蹇呴』鏄〃涓殑瀛楁锛屽惁鍒欐棤娉曡幏鍙栧埌瀵瑰簲瀛楁鐨勮〃鍚嶅拰瀛楁淇℃伅瀹氫箟锛屽锛�
start_datetime 蹇呴』鏄� a琛ㄦ垨b琛ㄤ腑鐨勪竴涓瓧娈�
-
+
澶氳〃鍏宠仈鏌ヨ锛岃〃瀹氫箟锛歛,b 鎴� a left join b on f1=f2 鏁翠釜鍋氫负琛�
- 鏉′欢瀹氫箟锛寃here 鍚庨潰 锛� f1=f2
- 33.濡傛煡sql璇彞涓病鏈塽uid瀛楁锛屾棤娉曟煡璇㈠嚭瀛愯〃
-
+ 鏉′欢瀹氫箟锛寃here 鍚庨潰 锛� f1=f2
+ 33.濡傛煡sql璇彞涓病鏈塽uid瀛楁锛屾棤娉曟煡璇㈠嚭瀛愯〃
+
34.绯荤粺閿欒璇存槑
-
+
绯荤粺閿欒鍒嗕负涓ょ锛氫富鍔ㄦ姏鍑洪敊璇�佹崟鑾烽敊璇�
涓诲姩鎶涘嚭锛�
/**
@@ -300,7 +297,7 @@
* @param method 閿欒鍙戠敓鏂规硶
*/
public BaseException(String code,String error,Class c,String method);
-
+
鎹曡幏閿欒:
/**
* 鏋勯�犲嚱鏁帮紝璁板綍閿欒鍒板簱---鎹曡幏鐨勯敊璇�
@@ -308,7 +305,7 @@
* @param exc 鎹曡幏鐨勯敊璇�
*/
public BaseException(String code,String error,Class c,String method,Exception sysExc)
-
+
35.licese鏀寔
纭欢淇℃伅璇诲彇搴撴枃浠讹紝涓嬭浇鍦板潃锛歨ttp://sigar.hyperic.com/
windows鐗� mac鐗� linux鐗�
@@ -323,7 +320,7 @@
String code=codeService.createCode(fse.getString("table_name"), fse.getString("field_name"), fse.getString("parentCode")==null?"":fse.getString("parentCode"));
鍦ㄦ柊澧炵殑controller涓皟鐢紝鍦ㄥ簳灞侱ao涓殑淇濆瓨鏂规硶涓幏鍙栬幏鍙栫殑涓存椂缂栫爜鍘婚獙璇佹槸鍚﹁鍗犵敤锛屽崰鐢ㄥ垯閲嶆柊鐢熸垚锛屼繚璇佸敮涓�鎬�
杩斿洖json鍊间腑code鐨勫�煎嵆涓虹敓鎴愮殑缂栫爜鍊�
-
+
37.閫氱敤鍙傛暟楠岃瘉銆佹暟鎹繚瀛橀獙璇�
鍙傛暟楠岃瘉锛歝om.lx..module.sys.config.RegistValidate绫�
鍦╮egistValidateParameter鏂规硶涓坊鍔犻獙璇佷唬鐮侊紝濡傦細
@@ -334,7 +331,7 @@
鏁版嵁淇濆瓨楠岃瘉锛屽湪core鍖呬腑鐨刣ao涓嚜鍔ㄦ牴鎹暟鎹〃瀛楁鐨勯厤缃獙璇侊紝閫氬父涓嶇敤閰嶏紝浣嗗鏋滄湁鍏跺畠楠岃瘉锛屼篃鍙互鍦ㄤ繚瀛樺拰淇敼鎺ュ彛涓厤缃紝鍚﹀垯淇濆瓨鍜屼慨鏀规帴鍙d笉鐢ㄩ厤
鏍规嵁瀛楁绫诲瀷杩涜楠岃瘉锛屽锛氬瓧娈垫槸mail锛宮rbase_sys_datamodel_field.field_type=email,鐜板彧鏀寔锛�
int銆乶umber(灏忔暟)銆乮dcard銆乽rl銆乮p銆乵ac銆乨atetime銆乴ength銆乪mail
-
+
38.properties閰嶇疆鏂囦欢鍙傛暟鑾峰彇
璋冪敤锛�
Global.getPropertyToBoolean("druid.datasource.testOnBorrow", "false")
@@ -365,7 +362,7 @@
/**
* 鑾峰彇浜哄憳鐨勬暟鎹潈闄愶紝鎬诲叆鍙� 锛岃繃婊ゆ寚瀹氫汉鍛樺瓧娈碉紝浣跨敤榛樿鍏徃瀛楁杩涜杩囨护-org_level_uuid
* @tableName 浜哄憳杩囨护鐨勮〃
- * @param staff_fields
+ * @param staff_fields
* @return
*/
public String getDataFilter(String tableName,String staff_fields)
@@ -377,8 +374,8 @@
* @return
*/
public String getDataFilter(String tableName,String staff_fields,String org_fields)
-
- 40.鍏充簬娴佹按鍙�
+
+ 40.鍏充簬娴佹按鍙�
鍙渶瑕佸湪閰嶇疆涓厤缃祦姘村彿,瑙佽〃mrbase_sys_swift_config
琛ㄤ腑瀛樻斁娴佹按鍙风殑瀛楁锛屽繀椤诲湪mrbase_sys_datamodel_field琛ㄤ腑璇ュ瓧娈电殑field_type=serialNumber 锛岀ず渚嬭test琛�
鐣岄潰璋冪敤鎺ュ彛鑾峰彇缂栫爜锛�/api/common/createSerialNumber锛岃娴嬭瘯绫籆odeTest锛屽繀浼犲弬鏁帮細serialNumberName锛屽搴旇〃娴佹按鍙烽厤缃〃涓殑swift_config_name瀛楁鍊�
@@ -426,7 +423,7 @@
/api/language/load-international-info/{version}
鍔犺浇鎸囧畾瀹㈡埛绔�佺増鏈彿銆侀粯璁よ瑷�鐨勬墍鏈夊浗闄呭寲鏁版嵁
瀹㈡埛绔�佺増鏈彿銆侀粯璁よ瑷�鎺ュ彛鍙傛暟涓婁紶
-
+
value:
1銆侀鍏堥厤缃〃銆佸瓧娈典负鍥介檯鍖栧瓧娈�
2銆佸墠绔皟鎺ュ彛鑾峰彇鍝簺琛ㄦ湁鍝簺鍥介檯鍖栧瓧娈碉紝鍦ㄧ晫闈㈢殑涓搴斿厓绱犲悗闈㈡坊鍔犲湴鐞冨浘鏍囷紝鐐瑰浘鏍囧脊鍑哄浗闄呭寲褰曞叆
@@ -486,17 +483,17 @@
/**
* 涓氬姟浠g爜灞傝皟鐢�
* 鑾峰彇涓氬姟瀵瑰簲瀛楁鐨勫浗闄呭寲鏁版嵁,濡傛灉language_code涓嶄负绌猴紝琛ㄦ槑鏄墜鏈虹
- * @param dt 涓氬姟琛ㄦ暟鎹�
+ * @param dt 涓氬姟琛ㄦ暟鎹�
* @param language_code 涓嶄负绌哄垯涓烘墜鏈虹
* @return
*/
DataTableEntity baseDao.listInternationDataTable(DataTableEntity dt,String language_code ) 灏佽鍥介檯鍖栨暟鎹埌姣忔潯璁板綍鐨勬瘡涓浗闄呭寲瀛楁銆�
FieldSetEntity baseDao.listInternationDataTable(FieldSetEntity fs,String language_code ) 灏佽鍥介檯鍖栨暟鎹埌鍗曟潯璁板綍鐨勬瘡涓浗闄呭寲瀛楁銆�
-
+
//baseDao.processInternationDataTable(DataTableEntity dt,String language_code ),鍥介檯鍖栧瓧娈典笉鏄暟缁勬牸寮�
//baseDao.processInternationDataTable(FieldSetEntity fs,String language_code ) 鍥介檯鍖栧瓧娈典笉鏄暟缁勬牸寮�
杩斿洖json鏍煎紡锛�
-
+
{
聽聽聽聽"code":"200",
聽聽聽聽"data":[
@@ -528,7 +525,7 @@
聽聽聽聽"msg":"鎴愬姛",
聽聽聽聽"status":"success"
}
-
+
5銆佷慨鏀逛繚瀛樻暟鎹甹son鏍煎紡锛�
{
聽聽聽聽"token":"11111-鏂板鎻愪氦鏁版嵁",
@@ -562,7 +559,7 @@
聽聽聽聽],
聽聽聽聽"phone":"18123938722"
}
-
+
6.涓嶈兘鍥介檯鍖栫殑琛細
mrbase_sys_cache_config 缂撳瓨閰嶇疆
mrbase_sys_data_sources 鏁版嵁搴撹繛鎺ラ厤缃�
@@ -649,7 +646,7 @@
鏍稿績锛氶渶瑕乻igar-amd64-winnt.dll鎴栬�卻igar-x86-winnt.dll鏂囦欢缃簬jdk鐨刡in涓垨鑰卌鐩榳indows/system32
涓婁紶鐩綍閰嶇疆锛岃properties鏂囦欢涓殑upload.file銆倄xxx 鍑犱釜鐩稿叧鍙傛暟
涓婁紶鏂囦欢鑷姩瀛樺埌鐩綍涓嬶紝鍦╟ontroller鎴杝ervice灞備腑璇诲彇鎿嶄綔銆�
-
+
46.娑堟伅鏈嶅姟
1.鏂板缓闃熷垪
public static void createQueue(String queue_name)
@@ -694,9 +691,9 @@
language:value //鍥介檯鍖栬瑷�
}
杩斿洖鍊硷細list<String> uuids
-
+
褰撴煡璇㈣鍚嶏紝浣跨敤澶氳〃鑱斿悎鏌ヨ锛屽苟浣跨敤浜嗗埆鍚嶆椂锛岄渶瑕佹坊鍔犺〃鍒悕銆佸瓧娈靛埆鍚嶈缃紝骞舵妸sql璇彞浣跨敤select * from (鏌ヨ璇彞+鏁版嵁鏉冮檺鏉′欢+楂樼骇鏌ヨ鏉′欢) b 鎷捣鏉ワ紝娉ㄦ剰
- 48.浠ヤ笅鍐呭鍙樻洿
+ 48.浠ヤ笅鍐呭鍙樻洿
1.core鍖呭紩鍏ュ彉鏇�
<dependency>
<groupId>com.lx</groupId>
@@ -728,13 +725,13 @@
public String DataTableEntity.getUuids() 鍘� 锛屾敼涓轰互涓�
鎸囧畾琛ㄧ殑鎵�鏈塽uid,杩斿洖鏁扮粍
- -> public Object[] getUuids(Object tableName)
+ -> public Object[] getUuids(Object tableName)
鎸囧畾琛ㄧ殑鎵�鏈塽uid锛岃繑鍥為�楀彿鍒嗛殧鐨勫瓧绗︿覆
- -> public String getUuidsToString(Object tableName)
+ -> public String getUuidsToString(Object tableName)
杩斿洖榛樿琛ㄧ殑鎵�鏈塽uid,杩斿洖鏁扮粍
-> public Object[] getUuids()
杩斿洖榛樿琛ㄧ殑鎵�鏈塽uid,杩斿洖閫楀彿鍒嗛殧鐨勫瓧绗︿覆
- -> public String getUuidsToString()
+ -> public String getUuidsToString()
8.鐧诲綍涓婁紶鍥哄畾鍙傛暟
system_language_code 璇█缂栫爜 zh en
system_client_type 瀹㈡埛绫诲瀷
@@ -781,7 +778,7 @@
baseDao.update(DataTableEntity fs,String language_code)
鏁版嵁鏌ヨ锛�
FieldSetEntity listInternationDataTable(FieldSetEntity fs,String language_code )
- DataTableEntity listInternationDataTable(DataTableEntity dt,String language_code )
+ DataTableEntity listInternationDataTable(DataTableEntity dt,String language_code )
49.鍚庣閿欒淇℃伅鍥介檯鍖�
1)閿欒淇℃伅鏋氫妇绫绘敞鍏ワ紝鍚姩绫讳腑娣诲姞娉ㄥ叆浠g爜锛�
DataPoolCacheImpl.getInstance()
@@ -790,11 +787,11 @@
.appendErrorEnumClass("com.lx.base.module.sys.config.SystemErrorCode");
2)鐗规畩鎯呭喌璋冪敤锛圓bstractBaseController.error()銆丅aseException.getMessage()銆乬etMessageInfo()宸插疄鐜帮級
String message=DataPoolCacheImpl.getInstance().getErrorLanguageInternation(code, language_code);
-
+
50.楂樼骇鍙傜収鏁版嵁杩斿洖瑙勫垯
1)鎵�鏈夊崟浣嶉珮绾у弬鐓ф暟鎹� f1 鍏ㄧО f2 鐭紪鐮�
2)鎵�鏈夐儴闂ㄩ珮绾у弬鐓ф暟鎹� f1 鍏ㄧО f2 鐭紪鐮�
- 3)鎵�鏈夊矖浣嶉珮绾у弬鐓ф暟鎹� f1 鍏ㄧО
+ 3)鎵�鏈夊矖浣嶉珮绾у弬鐓ф暟鎹� f1 鍏ㄧО
4)鎵�鏈夊矖浣嶇瓑绾ч珮绾у弬鐓ф暟鎹� f1 绛夌骇绾у埆 f2 缁勫悕
5)鎵�鏈夋ā鍧楅珮绾у弬鐓ф暟鎹� f1 鐭紪鐮�
6)鎵�鏈夊姛鑳介珮绾у弬鐓ф暟鎹� f1 鐭紪鐮�
@@ -820,7 +817,7 @@
52.鍔熻兘鏉冮檺楠岃瘉
蹇呴』閰嶇疆mrbase_sys_function_buttons.api_url閰嶇疆鎸夐挳瀵瑰簲鍚庣鎺ュ彛鍦板潃锛屽涓�楀彿鍒嗛殧,涓嶈兘鍚増鏈彿锛屽锛�
鎺ュ彛鍦板潃锛�/api/management/delete-user/v1 閰嶇疆鍦板潃锛�/api/management/delete-user
-
+
53.鏁版嵁鎿嶄綔鏉冮檺楠岃瘉
涓昏閽堝鍗曟潯鏁版嵁鐨勫垹 銆佹敼 銆佹煡鎿嶄綔锛屽湪鍒� 銆佹敼 銆佹煡鐨勭浉搴旀帴鍙h皟鐢�
蹇呴』璁剧疆mrbase_sys_datamodel_field.field_type,userid锛氬瓨鏀句汉鍛樼殑瀛楁绫诲瀷锛宱rgUuid锛氬瓨鏀剧粍缁囨満鏋勭殑瀛楁绫诲瀷
@@ -837,7 +834,7 @@
/**
* 瀵瑰崟鏉℃暟鎹繘琛屾搷浣滅殑鏉冮檺楠岃瘉
* @param fs 涓婁紶鏁版嵁锛屽繀椤诲寘鍚〃鍚� uuid ,鍚︿竴寰嬮�氳繃
- * @param type 楠岃瘉绫诲瀷 1=浜哄憳楠岃瘉 2= 绾х粐鏈烘瀯楠岃瘉 3 涓よ�呴兘楠岃瘉
+ * @param type 楠岃瘉绫诲瀷 1=浜哄憳楠岃瘉 2= 绾х粐鏈烘瀯楠岃瘉 3 涓よ�呴兘楠岃瘉
* @return
*/
public boolean validDataPermission(FieldSetEntity fs ,int type)
@@ -845,14 +842,14 @@
* 瀵瑰崟鏉℃暟鎹繘琛屾搷浣滅殑鏉冮檺楠岃瘉 ,鐗规畩鏉冮檺鏉′欢 锛屼笉鏍规嵁浜� 缁勭粐鏈烘瀯杩囨护
* @param tableName 琛ㄥ悕
* @param uuid uuid
- * @param filter 鐗规畩鏉冮檺鏉′欢
+ * @param filter 鐗规畩鏉冮檺鏉′欢
* @return
*/
public boolean validDataPermission(String tableName,String uuid,String filter)
/**
* 瀵瑰崟鏉℃暟鎹繘琛屾搷浣滅殑鏉冮檺楠岃瘉 ,鐗规畩鏉冮檺鏉′欢 锛屼笉鏍规嵁浜� 缁勭粐鏈烘瀯杩囨护
* @param fs 涓婁紶鏁版嵁锛屽繀椤诲寘鍚〃鍚� uuid ,鍚︿竴寰嬮�氳繃
- * @param filter 鐗规畩鏉冮檺鏉′欢
+ * @param filter 鐗规畩鏉冮檺鏉′欢
* @return
*/
public boolean validDataPermission(FieldSetEntity fs ,String filter)
@@ -863,7 +860,7 @@
SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
return this.error(SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getValue(), SystemErrorCode.SYSTEM_NOT_OPER_PERMISSION.getText());
}
-
+
4)鎸変汉鍛樸�佺粍缁囨満鏋勯獙璇佹暟鎹潈闄愯皟鐢ㄧず渚�
蹇呴』璁剧疆mrbase_sys_datamodel_field.field_type,userid锛氬瓨鏀句汉鍛樼殑瀛楁绫诲瀷锛宱rgUuid锛氬瓨鏀剧粍缁囨満鏋勭殑瀛楁绫诲瀷
if(!permissionService.validDataPermission(fse,CoreConst.DATA_PERMISSION_VALID_TYPE_ALL)) {
@@ -879,7 +876,7 @@
this.staffBusinessService.addBalance(fs);
this.logger.info(" ");
}
-
+
54.娑堟伅鐢熸垚
/**
* 鎵�鏈夊簲鐢ㄦ湇鍔$敓鎴愭秷鎭皟浜涙柟娉曞幓娣诲姞娑堟伅
@@ -890,30 +887,30 @@
* @param content 娑堟伅鍐呭 涓嶅繀濉�
* @param title 娑堟伅鏍囬 蹇呭~
* @param send_user_id 娑堟伅鍙戦�佷汉 蹇呭~
- * @param message_type 娑堟伅绫诲瀷 蹇呭~
+ * @param message_type 娑堟伅绫诲瀷 蹇呭~
* @param url 娑堟伅閾炬帴鍦板潃 涓嶅繀濉�
* @param source_table 涓氬姟鏁版嵁琛� 涓嶅繀濉�
* @param source_uuid 涓氬姟鏁版嵁琛╱uid 涓嶅繀濉�
- * @param create_by 鍒涘缓浜� userid 蹇呭~
+ * @param create_by 鍒涘缓浜� userid 蹇呭~
* @param is_send_mail 鏄惁鍙戦�侀偖浠� 0:鍚� 1锛氭槸 蹇呭~
* @param is_send_sms 鏄惁鍙戦�佺煭淇� 0:鍚� 1锛氭槸 蹇呭~
*/
- WebsocketMesssageServiceThread.getInstance().appendMessage(String ....);
-
+ WebsocketMesssageServiceThread.getInstance().appendMessage(String ....);
+
//娑堟伅绫诲瀷
//琛ㄥ悕甯搁噺瀹氫箟
- public static final int MESSAGE_TOP_TYPE_SYSTEM =1; //"绯荤粺娑堟伅";
+ public static final int MESSAGE_TOP_TYPE_SYSTEM =1; //"绯荤粺娑堟伅";
public static final int MESSAGE_TYPE_ANNOUNCEMENT =11; //"鍏憡娑堟伅";
-
+
public static final int MESSAGE_TOP_TYPE_TASK =2; //"浠诲姟娑堟伅";
- public static final int MESSAGE_TYPE_APPROVE =21; //"寰呭姙娑堟伅";
+ public static final int MESSAGE_TYPE_APPROVE =21; //"寰呭姙娑堟伅";
public static final int MESSAGE_TYPE_COORDINATION =22; //"鍗忓悓娑堟伅";
public static final int MESSAGE_TYPE_TASK = 23;// "浠诲姟妯″潡娑堟伅";
public static final int MESSAGE_TOP_TYPE_WARNING =3; //"棰勮娑堟伅";
public static final int MESSAGE_TYPE_WARNING =31; //"棰勮娑堟伅";
-
-55.瀛愯〃鎺掑簭瑙勫垯,涓嫭鍙峰唴琛ㄧず瀛愯〃鎺掑簭 鏀惧埌orderby鍙傛暟涓�
+
+55.瀛愯〃鎺掑簭瑙勫垯,涓嫭鍙峰唴琛ㄧず瀛愯〃鎺掑簭 鏀惧埌orderby鍙傛暟涓�
String s="main_field1,main_field2,{sub_table1:sub_table1_field1 desc,sub_table1_field2},{sub_table2:sub_table2_field1 desc,sub_table2_field2}"
56.閿欒淇℃伅涓殑鍔ㄦ�佸彉閲忔浛鎹�
鏇垮垯浣跨敤{}鎶婂彉閲忓悕鎷捣鏉ワ紝姝ゅ彉閲忓悕灏嗗湪Exception涓幏鍙栵細DATA_VERIFY_UNIQUE_ERROR("鏁版嵁涓嶆槸鍞竴锛歿value}", ModuleEnum.CORE.getValue() + "097"),
@@ -924,7 +921,7 @@
56.鍙嶅皠寮曠敤bean :com.product.core.util.ReflectUtil
/**
- *
+ *
* @param beanName 琚唬鐞嗗鍍廱ean 鍚嶇О
* @param methodName 鏂规硶鍚嶇О
* @param objects 鍙傛暟
@@ -961,7 +958,7 @@
jar閮ㄧ讲锛氭墦寮�宸ョ▼鐨刾om.mxl,鍙抽敭->Run as -> Maven install->杩涘叆宸ョ▼鐩綍->target鐩綍->copy 鎶婂畬鍖呯殑宸ョ▼jar锛屾斁鍒版湇鍔″櫒鐨勮繍琛岀洰褰曚笅鐨刲ib鐩綍涓嬶紙渚嬪200涓婏細D:\LXServer\product-server\lib锛�
鍓嶇鏂囦欢閮ㄧ讲锛氳繘鍏x-web骞惰繍琛宲acked.bat锛岄噸鏂扮敓鎴恉ist鐩綍->杩涘叆dist鐩綍copy闄aseUrl.js浠ュ鐨勬墍鏈夋枃浠讹紝鏀惧埌鏈嶅姟鍣ㄧ殑杩愯鐩綍涓嬬殑web鐩綍涓嬨��
閲嶅惎锛堣繍琛屾闈㈠揩鎹烽敭锛�
-
+
60.鍒嗛〉鏌ヨsql
select '6973' as staff_uuid 杩欑娌℃湁from鐨勮鍙�,瑕佹坊鍔� from dual锛屽惁鍒欏垎椤垫煡璇細鍑洪敊
diff --git "a/product-server-web/doc/\347\263\273\347\273\237\351\203\250\347\275\262.docx" "b/product-server-web/doc/\347\263\273\347\273\237\351\203\250\347\275\262.docx"
deleted file mode 100644
index b623971..0000000
--- "a/product-server-web/doc/\347\263\273\347\273\237\351\203\250\347\275\262.docx"
+++ /dev/null
Binary files differ
diff --git "a/product-server-web/doc/\351\224\231\350\257\257\344\273\243\347\240\201\350\257\246\347\273\206\350\257\264\346\230\216.docx" "b/product-server-web/doc/\351\224\231\350\257\257\344\273\243\347\240\201\350\257\246\347\273\206\350\257\264\346\230\216.docx"
index d80f8e7..287cb4e 100644
--- "a/product-server-web/doc/\351\224\231\350\257\257\344\273\243\347\240\201\350\257\246\347\273\206\350\257\264\346\230\216.docx"
+++ "b/product-server-web/doc/\351\224\231\350\257\257\344\273\243\347\240\201\350\257\246\347\273\206\350\257\264\346\230\216.docx"
Binary files differ
diff --git "a/product-server-web/imp_temp/\345\233\275\351\231\205\345\214\226Label\346\250\241\346\235\277.xls" "b/product-server-web/imp_temp/\345\233\275\351\231\205\345\214\226Label\346\250\241\346\235\277.xls"
deleted file mode 100644
index 2e961af..0000000
--- "a/product-server-web/imp_temp/\345\233\275\351\231\205\345\214\226Label\346\250\241\346\235\277.xls"
+++ /dev/null
Binary files differ
diff --git "a/product-server-web/imp_temp/\345\262\227\344\275\215\346\250\241\346\235\277.xls" "b/product-server-web/imp_temp/\345\262\227\344\275\215\346\250\241\346\235\277.xls"
deleted file mode 100644
index fe43fde..0000000
--- "a/product-server-web/imp_temp/\345\262\227\344\275\215\346\250\241\346\235\277.xls"
+++ /dev/null
Binary files differ
diff --git "a/product-server-web/imp_temp/\345\262\227\344\275\215\347\255\211\347\272\247\346\250\241\346\235\277.xls" "b/product-server-web/imp_temp/\345\262\227\344\275\215\347\255\211\347\272\247\346\250\241\346\235\277.xls"
deleted file mode 100644
index e6ecf48..0000000
--- "a/product-server-web/imp_temp/\345\262\227\344\275\215\347\255\211\347\272\247\346\250\241\346\235\277.xls"
+++ /dev/null
Binary files differ
diff --git "a/product-server-web/imp_temp/\346\210\220\346\234\254\344\270\255\345\277\203\346\250\241\346\235\277.xlsx" "b/product-server-web/imp_temp/\346\210\220\346\234\254\344\270\255\345\277\203\346\250\241\346\235\277.xlsx"
deleted file mode 100644
index 3233872..0000000
--- "a/product-server-web/imp_temp/\346\210\220\346\234\254\344\270\255\345\277\203\346\250\241\346\235\277.xlsx"
+++ /dev/null
Binary files differ
diff --git "a/product-server-web/imp_temp/\347\224\250\346\210\267\344\277\241\346\201\257.xls" "b/product-server-web/imp_temp/\347\224\250\346\210\267\344\277\241\346\201\257.xls"
deleted file mode 100644
index 2f0c55e..0000000
--- "a/product-server-web/imp_temp/\347\224\250\346\210\267\344\277\241\346\201\257.xls"
+++ /dev/null
Binary files differ
diff --git "a/product-server-web/imp_temp/\347\273\204\347\273\207\346\234\272\346\236\204\346\250\241\346\235\277.xls" "b/product-server-web/imp_temp/\347\273\204\347\273\207\346\234\272\346\236\204\346\250\241\346\235\277.xls"
deleted file mode 100644
index 3d29800..0000000
--- "a/product-server-web/imp_temp/\347\273\204\347\273\207\346\234\272\346\236\204\346\250\241\346\235\277.xls"
+++ /dev/null
Binary files differ
diff --git a/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix.tar b/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix.tar
deleted file mode 100644
index f5ee478..0000000
--- a/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix.tar
+++ /dev/null
Binary files differ
diff --git a/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix/doc/install.txt b/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix/doc/install.txt
deleted file mode 100644
index 1e2cfe1..0000000
--- a/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix/doc/install.txt
+++ /dev/null
@@ -1,338 +0,0 @@
- IBM Informix
- Installation Notes for IBM Informix JDBC Driver
-
-3.50.JC6, December 2009
-
-This file contains instructions for installing and uninstalling
-IBM� Informix� JDBC Driver 3.50.JC6.
-
-
-JDK REQUIREMENT
-_____________________________
-
-To use IBM Informix JDBC Driver Version 3.50.JC6, you must use a
-JDK 1.4.2 or later package on your platform.
-
-
-
-OBTAINING THE JDBC DRIVER
-_____________________________
-
-You can obtain the IBM Informix JDBC Driver from the IBM Informix JDBC
-Driver product CD, from the JDBC directory of the IBM Informix product
-bundle CD, or you can download the driver
-from http://www.ibm.com/software/data/informix/tools/jdbc
-
-The CD or Web site download contain the following files:
-
-* setup.jar
-* doc/jdbcrel.htm
-* doc/install.txt (this file)
-* doc/patchinfo.htm
-
-The setup.jar file is the IBM Informix JDBC Driver installation program.
-
-The documentation directory, <dir>/doc, contains the release notes file in HTML
-format. Refer to this document for any new information that is not
-available in the manual.
-
-
-
-INSTALLING THE JDBC DRIVER
-_____________________________
-
-Prerequisites:
-
-If you downloaded the IBM Informix JDBC Driver as .zip file from the Web
-site, unzip the file to a directory.
-
-If you are installing the driver from a CD, load the CD into the CD-ROM
-drive.
-
-
-INSTALLING JDBC DRIVER IN GRAPHICAL OR CONSOLE MODE
-
-1. From a command prompt, start the installation program by using one of
- the following commands:
- * To start in graphical mode:
- java -cp <dir>/setup.jar run
-
- * To start in console mode:
- java -cp <dir>/setup.jar run -console
-
- Where <dir> is the location of the setup.jar file.
-
- If you want to log information during the installation, also
- specify the -log parameter. See LOGGING INSTALLATION EVENTS
- for information about the arguments that you can use with this
- parameter.
-
-2. Read the license agreement and accept the terms. Respond to the
- prompts as the installation guides you.
-
-3. When prompted, accept the default directory or specify a different
- directory.
-
- On a Windows platform, the default directory is:
-
- C:\Program Files\IBM\Informix_JDBC_Driver
-
- To prevent errors in installation and uninstallation, do not use an
- exclamation point character (!) in the installation path.
-
-4. When prompted, verify the location of the installation path.
-
- The installer installs the JDBC driver and notifies you that an
- uninstaller is being added to the installation directory.
-
- Note: If the installation stalls when connected to an NFS-mounted
- file system, you should first try resolving NFS issues. In some
- cases, unmounting and remounting the share can resolve the
- issue. Otherwise, forcefully terminate the installation, clean
- up any orphaned processes, and restart the installation.
-
-5. Specify Finish when you see this message:
- InstallShield Wizard has successfully installed IBM Informix JDBC Driver.
-
-
-INSTALLING INFORMIX JDBC DRIVER IN SILENT MODE
-
-From a command prompt, run the following command:
-
-java -cp <dir>/setup.jar run -silent -P product.installLocation=<destination-dir> -G licenseAccepted=true
-
-Where:
-
-<dir> is the location of setup.jar file.
-
-<destination-dir> is the directory where you want to install the JDBC
-Driver.
-
-The installation is complete when the command has finished executing.
-
-If you want to log information during the installation, also specify the
--log parameter. See LOGGING INSTALLATION EVENTS for information
-about the arguments that you can use with this parameter.
-
-
-
-LOGGING INSTALLATION EVENTS
-_____________________________
-
-You can enable logging by specifying the -log option when you run the
-command to install the driver. The -log option takes arguments for
-file type, event type, and file location. For example, to install the
-IBM Informix JDBC Driver in graphical mode and retain a log of the
-events, run the following command:
-
-java -cp setup.jar run -log #![filename] @[event type];[event type]
-
-Where:
-
-# echoes the display to standard output.
-
-![filename] is the name for the log file. You can omit the [filename]
-argument to save the log information to the default file name.
-
-@<event type> is the event type that you want to log.
-
-Following are the arguments and their associated event types:
-
-Argument Event Type
-
-err Errors
-
-wrn Warning
-
-msg1 Primary events
-
-msg2 Secondary events
-
-dbg Debug events
-
-ALL All events
-
-NONE Disables logging and clears the log file
-
-
-LOGGING EXAMPLES
-
-The following command installs IBM Informix JDBC Driver in the graphical
-mode and logs all events to /tmp/jdbcinstall.log:
-
-java -cp setup.jar run -log !/tmp/jdbcinstall.log @ALL
-
-The following command installs IBM Informix JDBC Driver in silent mode
-and logs error events to /tmp/jdbcinstall.log:
-
-java -cp setup.jar run -silent -P product.installLocation=< > -log
-!"/tmp/jdbcinstall.log" @err
-
-
-
-UNINSTALLING THE JDBC DRIVER
-_____________________________
-
-When you install IBM Informix JDBC Driver, the installation program
-creates an uninstall package in the directory in which you installed the
-JDBC Driver. Uninstalling IBM Informix JDBC Driver completely removes
-the driver and all of its components from your computer.
-
-The following section describes how to uninstall IBM Informix JDBC
-Driver on all platforms.
-
-Tip: If the <destination-dir> in which you installed the IBM Informix
- JDBC Driver includes spaces in its pathname, enclose the entire
- pathname in quotation marks when executing the uninstall command.
-
-
-UNINSTALLING IN GRAPHICAL OR CONSOLE MODE
-
-Run one of the following commands to start the uninstall program, where
-<destination-dir> is the directory in which you installed the IBM
-Informix JDBC Driver:
-
-To start in graphical mode:
-
-java -cp <destination-dir>/_uninst/uninstall.jar run
-
-To start in console mode:
-
-java -cp <destination-dir>/_uninst/uninstall.jar run -console
-
-Follow the prompts to uninstall the JDBC driver.
-
-
-UNINSTALLING IN SILENT MODE
-
-Run the following command to start the uninstall program in silent mode,
-where <destination-dir> is the directory in which you installed the IBM
-Informix JDBC Driver:
-
-java -cp <destination-dir>/_uninst/uninstall.jar run -silent
-
-The Uninstall program does not send you any messages but uninstalls the
-driver in silent mode.
-
-_____________________________
-
-CONTACT SUPPORT:
-http://www.ibm.com/software/data/informix/ids/support/
-
-_____________________________
-
-NOTICES:
-This information was developed for products and services offered in the U.S.A.
-
-IBM� may not offer the products, services, or features discussed in this document in other countries.
-Consult your local IBM representative for information on the products and services currently available in your area.
-Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product,
-program, or service may be used. Any functionally equivalent product, program, or service that does not infringe
-any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and
-verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications
-covering subject matter described in this document. The furnishing of this document does not grant you any license to
-these patents. You can send license inquiries, in writing, to:
-
-IBM Director of Licensing
-IBM Corporation
-North Castle Drive
-Armonk, NY 10504-1785
-U.S.A.
-For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department
-in your country or send inquiries, in writing, to:
-
-Intellectual Property Licensing
-Legal and Intellectual Property Law
-IBM Japan Ltd.
-1623-14, Shimotsuruma, Yamato-shi
-Kanagawa 242-8502 Japan
-
-The following paragraph does not apply to the United Kingdom or any other country where such provisions are
-inconsistent with local law:
-
-INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND,
-EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or
-implied warranties in certain transactions, therefore, this statement may not apply to you.
-
-This information could include technical inaccuracies or typographical errors. Changes are periodically made
-to the information herein; these changes will be incorporated in new editions of the publication. IBM may make
-improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice.
-
-Any references in this information to non-IBM Web sites are provided for convenience only and do not in any
-manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials
-for this IBM product and use of those Web sites is at your own risk.
-
-IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring
-any obligation to you.Licensees of this program who wish to have information about it for the purpose of enabling:
-(i) the exchange of information between independently created programs and other programs (including this one) and
-(ii) the mutual use of the information which has been exchanged, should contact:
-
-IBM Corporation
-J46A/G4
-555 Bailey Avenue
-San Jose, CA 95141-1003
-U.S.A.
-
-Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee.
-
-The licensed program described in this document and all licensed material available for it are provided by IBM under
-terms of the IBM Customer Agreement, IBM International Program License Agreement or any equivalent agreement between us.
-
-Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained
-in other operating environments may vary significantly. Some measurements may have been made on development-level
-systems and there is no guarantee that these measurements will be the same on generally available systems.
-Furthermore, some measurements may have been estimated through extrapolation. Actual results may vary.
-Users of this document should verify the applicable data for their specific environment.
-
-Information concerning non-IBM products was obtained from the suppliers of those products, their published
-announcements or other publicly available sources. IBM has not tested those products and cannot confirm the
-accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities
-of non-IBM products should be addressed to the suppliers of those products.
-
-All statements regarding IBM's future direction or intent are subject to change or withdrawal without notice,
-and represent goals and objectives only.
-
-All IBM prices shown are IBM's suggested retail prices, are current and are subject to change without notice.
-Dealer prices may vary.
-
-This information is for planning purposes only. The information herein is subject to change before the products
-described become available.
-
-This information contains examples of data and reports used in daily business operations. To illustrate them as
-completely as possible, the examples include the names of individuals, companies, brands, and products. All of these
-names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental.
-
-COPYRIGHT LICENSE:
-
-This information contains sample application programs in source language, which illustrate programming techniques
-on various operating platforms. You may copy, modify, and distribute these sample programs in any form without
-payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming
-to the application programming interface for the operating platform for which the sample programs are written.
-These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply
-reliability, serviceability, or function of these programs. The sample programs are provided "AS IS", without
-warranty of any kind. IBM shall not be liable for any damages arising out of your use of the sample programs.
-
-Each copy or any portion of these sample programs or any derivative work, must include a copyright notice as follows:
-
-� (your company name) (year). Portions of this code are derived from IBM Corp. Sample Programs.
-
-� Copyright IBM Corp. _enter the year or years_. All rights reserved.
-
-If you are viewing this information softcopy, the photographs and color illustrations may not appear.
-
-_____________________________
-
-TRADEMARKS:
-
-IBM, the IBM logo, and ibm.com� are trademarks or registered trademarks of International Business Machines Corp.,
-registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies.
-A current list of IBM trademarks is available on the Web at 揅opyright and trademark information� at http://www.ibm.com/legal/copytrade.shtml.
-
-Java� and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
-
-Other company, product, or service names may be trademarks or service marks of others.
-
-Contact support: http://www.ibm.com/software/data/informix/ids/support/
-
-� Copyright IBM Corp. 1996, 2009
diff --git a/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix/doc/jdbcrel.htm b/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix/doc/jdbcrel.htm
deleted file mode 100644
index 2bc7e70..0000000
--- a/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix/doc/jdbcrel.htm
+++ /dev/null
@@ -1,490 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-us">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
-<meta name="dc.language" scheme="rfc1766" content="en-us" />
-<!-- Licensed Materials Property of IBM -->
-<!-- US Government Users Restricted Rights -->
-<!-- Use, duplication or disclosure restricted by -->
-<!-- GSA ADP Schedule Contract with IBM Corp. -->
-<meta name="dc.date" scheme="iso8601" content="2009-12-04" />
-<meta name="copyright" content="© Copyright IBM Corporation 2009" />
-<meta name="security" content="public" />
-<meta name="Robots" content="index,follow"/>
-<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
-<title>Release and Documentation Notes for IBM Informix JDBC Driver</title>
-<link rel="stylesheet" type="text/css" href="ibmidwb.css" />
-<link rel="stylesheet" type="text/css" href="notesstyle.css" />
-</head>
-<body>
-<a id="Top_Of_Page" name="Top_Of_Page"></a><h1>IBM Informix</h1>
-<h1>Release and Documentation Notes for IBM Informix JDBC Driver</h1><span class="productlevel">3.50.JC6, December 2009</span>
-<br />
-<a name="wq1"></a>
-<div id="wq1">
-<h1>Contents</h1>
-<div class="head1"><a id="ToC_1" name="ToC_1" href="#wq2" class="toclink">Release Notes</a></div>
-<div class="head2"><a id="ToC_2" name="ToC_2" href="#i1085765" class="toclink">Overview</a></div>
-<div class="head2"><a id="ToC_3" name="ToC_3" href="#wq3" class="toclink">IBM Informix Server Compatibility</a></div>
-<div class="head2"><a id="ToC_4" name="ToC_4" href="#i1084897" class="toclink">Configuration</a></div>
-<div class="head2"><a id="ToC_5" name="ToC_5" href="#wq4" class="toclink">What's New in Version 3.50.JC3 for the Informix JDBC Driver</a></div>
-<div class="head3"><a id="ToC_6" name="ToC_6" href="#wq5" class="toclink">Savepoint Support in JDBC Applications</a></div>
-<div class="head2"><a id="ToC_7" name="ToC_7" href="#wq6" class="toclink">What's New in Version 3.50.JC1 for the Informix JDBC Driver</a></div>
-<div class="head3"><a id="ToC_8" name="ToC_8" href="#wq7" class="toclink">Support for Service Name in SQLHOSTS and Connection URLs</a></div>
-<div class="head2"><a id="ToC_9" name="ToC_9" href="#wq8" class="toclink">Database Connections in the Demo Programs</a></div>
-<div class="head2"><a id="ToC_10" name="ToC_10" href="#wq9" class="toclink">Fixed Problems</a></div>
-<div class="head3"><a id="ToC_11" name="ToC_11" href="#wq10" class="toclink">Defects fixed in Version 3.50.JC6</a></div>
-<div class="head3"><a id="ToC_12" name="ToC_12" href="#wq11" class="toclink">Defects fixed in Version 3.50.JC5</a></div>
-<div class="head3"><a id="ToC_13" name="ToC_13" href="#wq12" class="toclink">Defects fixed in Version 3.50.JC4</a></div>
-<div class="head3"><a id="ToC_14" name="ToC_14" href="#wq13" class="toclink">Defects fixed in Version 3.50.JC3R1</a></div>
-<div class="head3"><a id="ToC_15" name="ToC_15" href="#wq14" class="toclink">Defects fixed in Version 3.50.JC3</a></div>
-<div class="head3"><a id="ToC_16" name="ToC_16" href="#wq15" class="toclink">Defects fixed in Version 3.50.JC2</a></div>
-<div class="head3"><a id="ToC_17" name="ToC_17" href="#wq16" class="toclink">Defects fixed in Version 3.50.JC1</a></div>
-<div class="head2"><a id="ToC_18" name="ToC_18" href="#wq17" class="toclink">Limitations</a></div>
-<div class="head2"><a id="ToC_19" name="ToC_19" href="#wq18" class="toclink">XML Parser</a></div>
-<div class="head1"><a id="ToC_20" name="ToC_20" href="#jdbcdocnotes" class="toclink">Documentation Notes</a></div>
-<div class="head2"><a id="ToC_21" name="ToC_21" href="#i1084897d" class="toclink">Documentation Notes and Corrections</a></div>
-<div class="head1"><a id="ToC_22" name="ToC_22" href="#noitces" class="toclink">Notices</a></div>
-<div class="head2"><a id="ToC_23" name="ToC_23" href="#tmrks01" class="toclink">Trademarks</a></div>
-</div>
-<a name="wq2"></a>
-<h1 id="wq2">Release Notes</h1>
-<a name="i1085765"></a>
-<h2 id="i1085765">Overview</h2>
-<p>The purpose of these release notes is to make you aware of any
-special actions required to configure and use the IBM® Informix® JDBC
-Driver on your computer. This file also describes new features and
-feature differences from earlier versions of this product and other IBM Informix products and how these differences affect
-current products. This release notes document is not intended to be
-all-inclusive; it should be used as an addendum to the <em>IBM Informix JDBC Driver Programmer's Guide</em>, which
-provides thorough information about product features and behavior.
-These release notes are written for Java™ programmers
-who use the JDBC API to connect to IBM Informix databases via the IBM Informix JDBC Driver.</p>
-<a name="wq3"></a>
-<h2 id="wq3">IBM Informix Server Compatibility</h2>
-<p>IBM Informix JDBC Driver 3.50 is supported with the
-following server versions:</p>
-<ul>
-<li>IBM Informix Dynamic Server, Version 9.2x, 9.3x, 9.4x,
-10.0, 11.10, 11.50</li>
-<li>IBM Informix Dynamic Server Express Edition, Version
-10.0, 11.10, 11.50</li>
-<li>IBM Informix Extended Parallel Server, Version 8.3x,
-8.4x, 8.5x</li>
-<li>IBM Informix Dynamic Server, Version 7.x</li>
-<li>IBM Informix-SE, Version
-5.x, 7.x</li>
-<li>IBM Informix OnLine, Version 5.x</li></ul>
-<a name="i1084897"></a>
-<h2 id="i1084897">Configuration</h2>
-<p>You must have JRE 1.4.2 or later installed to use the IBM Informix JDBC Driver. Refer to <a href="http://java.sun.com/products/jdbc/">http://java.sun.com/products/jdbc/</a> for
-details.</p>
-<p>The IBM Informix JDBC driver is tested to run on these platforms:</p>
-<ul>
-<li>Sun 32-bit Solaris Sparc Solaris 9, 10</li>
-<li>Sun 64-bit Solaris Sparc Solaris 9, 10</li>
-<li>Sun 64-bit Solaris AMD64 (Opteron) Solaris 10</li>
-<li>HP 32-bit HP-UX PA-RISC HP-UX 11i, HP-UX 11.23, 11.31</li>
-<li>HP 64-bit HP-UX PA-RISC HP-UX 11i, HP-UX 11.23,11.31</li>
-<li>HP 64-bit HP-UX Itanium® HP-UX
-11.23PI HP-UX 11.31</li>
-<li>IBM 32-bit AIX® PowerPC® AIX 5L™ 5.3</li>
-<li>IBM 64-bit AIX PowerPC AIX 5L 5.3</li>
-<li>Windows® 32-bit Windows 2003, Windows XP, Windows Vista, Windows Server
-2008 (Longhorn)</li>
-<li>Intel® 32-bit Linux® x86 RHEL 4 RHEL 5, SUSE
-SLES 10,Asianux 2.0, Asianux 3.0, Debian 4.0, Ubuntu 6.06 LTS, Ubuntu
-7.10</li>
-<li>Intel/AMD 64-bit Linux x86_64
-(EM64T/AMD64) RHEL 4, RHEL 5, SUSE SLES 10, Asianux 2.0, Asianux 3.0,
-Debian 4.0, Ubuntu 6.06 LTS, Ubuntu 7.10</li>
-<li>IBM 64-bit Linux POWER® (pSeries/iSeries, OpenPower®, JS20 Blades) RHEL 4, RHEL 5, SUSE SLES
-10, Asianux 2.0, Asianux 3.0</li>
-<li>IBM 64-bit Linux zSeries® RHEL 4 RHEL 5, SUSE SLES 10</li>
-<li>Windows 64-bit (EM64T/AMD64) Windows 2003, Windows XP, Windows Vista, Windows Server
-2008 (Longhorn)</li>
-<li>MAC 64-bit MAC Intel EM64T/AMD
-OS X Leopard</li></ul>
-<a name="wq4"></a>
-<h2 id="wq4">What's New in Version 3.50.JC3 for the Informix JDBC Driver</h2>
-<p>The Informix JDBC Driver,
-Version 3.50.JC3, supports the following new feature.</p>
-<a name="wq5"></a>
-<h3 id="wq5">Savepoint Support in JDBC Applications</h3>
-<p>Informix Dynamic Server
-(IDS) now supports using savepoints within the statements of an SQL
-transaction. See the IDS release notes for a description of this feature.</p>
-<p>The following methods supplied by the JDBC 3.0 specification are
-now valid in this release: </p>
-<ul>
-<li><span class="pk">setSavepoint( )</span></li>
-<li><span class="pk">getSavepointId( )</span></li>
-<li><span class="pk">getSavepointName( )</span></li>
-<li><span class="pk">releaseSavepoint( )</span></li>
-<li><span class="pk">rollback</span>(<var class="pv">savepoint</var>)</li></ul>
-<p>The methods that return multiple result sets are now the only standard
-methods the JDBC 3.0 specification that are not currently supported
-by the IBM Informix JDBC driver.</p>
-<p>In addition, the following new method of the <span class="pk">IfxConnection</span> class
-can define a savepoint whose identifier is unique in the current connection: </p>
-<ul>
-<li><span class="pk">setSavepointUnique( )</span></li></ul>
-<p>Two new classes have been added to JDBC to support savepoint objects: </p>
-<ul>
-<li><span class="pk">IfmxSavepoint</span> ( Interface )</li>
-<li><span class="pk">IfxSavepoint</span> ( Savepoint class)</li></ul>
-<a name="wq6"></a>
-<h2 id="wq6">What's New in Version 3.50.JC1 for the Informix JDBC Driver</h2>
-<p>Changes were made in the 3.50.JC1 version of Informix JDBC driver to allow you to use the following
-features of IDS, version 11.50. See the IDS release notes for that
-version to learn more about the new features:</p>
-<ul>
-<li>High availability cluster Connection Manager (installed as part
-of IBM Informix Client SDK)</li>
-<li>The new BIGINT and BIGSERIAL data types</li>
-<li>Single sign-on authentication</li>
-<li>Support for IS NULL or IS NOT NULL with expressions</li>
-<li>J/Foundation Upgraded to JRE 5.0</li></ul>
-<p>The following new feature is available in the Informix JDBC Driver, 3.50.JC1.</p>
-<a name="wq7"></a>
-<h3 id="wq7">Support for Service Name in SQLHOSTS and Connection URLs</h3>
-<p>You can now specify the service name of the Informix database server instead of the port number
-when configuring connections in the <strong>sqlhosts</strong> file
-or a connection URL.</p>
-<a name="wq8"></a>
-<h2 id="wq8">Database Connections in the Demo Programs</h2>
-<p>Except for the pickaseat demo, the examples listed in the<em> IBM Informix JDBC Driver Programmer's
-Guide</em>, Version 3.50, use the <strong>DriverManager.getConnection()</strong> method
-to get a database connection. Sun Microsystems recommends using a
-DataSource object instead. For more information, refer to the Sun
-documentation and to the README.TXT file in the <strong>demo/pickaseat </strong>directory.</p>
-<a name="wq9"></a>
-<h2 id="wq9">Fixed Problems</h2>
-<p>The following are required. Otherwise, the java.net library might
-throw a <tt class="xph">java.net.UnknownHostException</tt> when connecting to
-an IDS server using a host with an ipV6 address:</p>
-<ul>
-<li>APAR IY56903 for AIX 5.1</li></ul>
-<p><em>or</em></p>
-<ul>
-<li>APAR IY57293 for AIX 5.2</li></ul>
-<a name="wq10"></a>
-<h3 id="wq10">Defects fixed in Version 3.50.JC6</h3>
-<p>The following defects were corrected in version 3.50.JC6:</p>
-<ul>
-<li>IC62408 JDBC-JCSM -5009 AUTHENTICATION ERROR WHEN ATTEMPTING TO
-DO PASSWORD ENCRYPTION WITH JDBC</li>
-<li>IC63378 JDBC-GENERIC GETMETADATA THROWS EXCEPTION IN CONJUNCTION
-WITH ONCONFIG PARAMETER SQL_LOGICAL_CHAR</li>
-<li>IC63455 JDBC-GENERIC PHYSICAL CONNECTIONS ARE NOT PROPERLY CLOSED
-WHEN USING CONNECTION POOLING</li>
-<li>IC63506 JDBC-GENERIC THE FUNCTION GETROW() RETURNS 0 FOR EVERY
-ROW IN THE RESULT SET.</li>
-<li>IC64794 JDBC-GENERIC -79865 RETURNED INCORRECTLY WHEN QUERYTIMEOUT
-OCCURS AFTER A PREVIOUS EXCEPTION WHEN USING THE INFORMIX JDBC DRIVER</li>
-<li>IC64795 JDBC-GENERIC IFXCONNECTIONPOOLMANAGER CAN THROW AN INDEXOUTOFBOUNDSEXCEPTION:
-INDEX: -1, SIZE: -1</li></ul>
-<a name="wq11"></a>
-<h3 id="wq11">Defects fixed in Version 3.50.JC5</h3>
-<p>The following defects were corrected in version 3.50.JC5:</p>
-<ul>
-<li>IC59442 JDBC-GENERIC NULLPOINTEREXCEPTION WHEN WRONG PASSWORD
-IS SUPPLIED WITH PAM ENABLED</li>
-<li>IC61014 JDBC-GENERIC "TOO MANY OR TOO FEW HOST VARIABLES GIVEN"
-EXCEPTION THROWN WHEN DOING A BATCH UPDATE</li>
-<li>IC61408 JDBC-GENERIC WHEN USING JDBC, THE BLOB DATA IS NOT LOADED
-IN THE SBSPACE WHERE THE TABLE IS SAYING (PUT COL IN SBSPACE).|IN
-USING JDBC, THE BLOB DATA ISN'T LOADED IN THE SBSPACE WHERE THE TABLE
-IS SAYING (PUT COL IN SBSPACE).</li></ul>
-<a name="wq12"></a>
-<h3 id="wq12">Defects fixed in Version 3.50.JC4</h3>
-<p>The following defects were corrected in version 3.50.JC4:</p>
-<ul>
-<li>IC58469 JDBC-GENERIC JAVA UDR RETURNS OUT OF MEMORY ERROR</li>
-<li>IC59113 JDBC-GENERIC JDBC CONNECTION HANGS DUE TO PACKET LOST
-ON THE CLIENT SIDE</li>
-<li>IC59283 JDBC-GENERIC JDBC HANGS USING XA CONNECTIONS AND CONNECTION
-POOLING</li>
-<li>IC60422 JDBC-GENERIC USING GROUPNAME TO CONNECT IN HDR PAIR FAILS
-WITH XADATASOURCE</li>
-<li>IC60423 JDBC-GENERIC JDBC: SETLONG() GIVES JAVA.LANG.NULLPOINTEREXCEPTION</li></ul>
-<a name="wq13"></a>
-<h3 id="wq13">Defects fixed in Version 3.50.JC3R1</h3>
-<p>The following defect was corrected in version 3.50.JC3R1:</p>
-<ul>
-<li>IC60421 JDBC-JCSM SECURITY: JDBC DRIVER SENDS UNENCRYPTED PASSWORD
-OVER THE NETWORK EVEN WHEN SECURITY=PASSWORD OPTION IS USED</li></ul>
-<a name="wq14"></a>
-<h3 id="wq14">Defects fixed in Version 3.50.JC3</h3>
-<p>The following defect was corrected in version 3.50.JC3:</p>
-<ul>
-<li> IC58245 JDBC-GENERIC GETPROCEDURECOLUMNS RETURNS NULL FOR COLUMN
-NAME WITH A COLUMN TYPE OF 5 (RETURN)</li></ul>
-<a name="wq15"></a>
-<h3 id="wq15">Defects fixed in Version 3.50.JC2</h3>
-<p>The following defects were corrected in version 3.50.JC2:</p>
-<ul>
-<li>IC57135 JDBC-GENERIC JDBC HANGS WHEN CONNECTING TO IDS VIA WEBLOGIC</li>
-<li>IC56691 USING SETOBJECT() TO SET A NUMERIC VALUE TO INSERT TO
-"" RAISES AN EXCEPTION.</li>
-<li>IC57329 DATABASEMETADATA.GETPROCEDURECOLUMNS() RETURNS WRONG COLUMN_TYPE
-WHEN "OUT" / "INOUT" KEYWORDS ARE USE IN ROUTINE PARAMETER LIST</li></ul>
-<a name="wq16"></a>
-<h3 id="wq16">Defects fixed in Version 3.50.JC1</h3>
-<p>The following defects were corrected in version 3.50.JC1:</p>
-<ul>
-<li>IC56169 REQUEST JDBC DRIVER TO PARSE SERVICENAME WHEN USING SQLHOSTS
-LOOKUP IMPLEMENTATION</li>
-<li>IC56171 NULLPOINTEREXCEPTION RAISED WHEN USING SETOBJECT FOR A
-PLACEHOLDER LINKED TO A FUNCTION CALL</li>
-<li>IC49877 THE JDBC DRIVER ALLOWS THE INSERTION OF INVALID CHARACTERS
-FOR A CHARACTER SET</li>
-<li>IC52058 SYSTEM OR INTERNAL ERROR JAVA.LANG.REFLECT.INVOCATIONTARGETEXCEPTION.
- ERROR: -79716 WHEN USING TEXT COLUMNS</li>
-<li>IC52537 NEED TO REWRITE THE IFXTMPFILE CLASS TO AVOID USING THE
-FILE.DELETEONEXIT() METHOD</li>
-<li>IC52703 CODE-SET CONVERSION FOR TEXT DATA TYPES NOT WORKING</li>
-<li>IC52997 THE ENVIRONMENT VARIABLE NAME IFX_PAD_VARCHAR IS WRONGLY
-DOCUMENTED AS IFX_PADVARCHAR WITHIN JDBC 3 DOCUMENTATION</li>
-<li>IC53003 NULLPOINTER EXCEPTION USING SETCHARACTERSTREAM() WITH
-A ZERO LENGTH STRING</li>
-<li>IC53411 JDBC: DATE/TIME OFFSET WHEN READING AND WRITING DATA</li>
-<li>IC53557 BINDING TO FLOAT TYPE WITH THE JAVA METHOD SETDOUBLE CAUSES
-PROBLEMS ON JDBC 3.00.JC3</li>
-<li>IC54835 JAPANESE CHARACTERS ARE CORRUPTED WHEN JDBC CONNECTS TO
-ONLINE 5.20</li>
-<li>IC54850 ERROR 349 "DATABASE NOT SELECTED YET WHEN" WHEN CALLING
-DATABASEMETADATA.GETUDTS IF THERE IS NO OPEN DATABASE.</li>
-<li>IC54852 EXECUTING SIMULTANEOUS CALLS TO GETUDTS() COULD FAIL WITH
-ERROR 673 "ROUTINE ROUTINE-NAME ALREADY EXISTS IN DATABASE"</li></ul>
-<a name="wq17"></a>
-<h2 id="wq17">Limitations</h2>
-<p>Sun JDK 1.4.2 does not support the codeset CP943.</p>
-<p>Refer to the <em>IBM Informix JDBC Driver Programmer's
-Guide</em> for complete list of unsupported methods.</p>
-<a name="wq18"></a>
-<h2 id="wq18">XML Parser</h2>
-<p>The Xerces XML library<strong> xerces.jar</strong> has been
-removed from distribution with the IBM Informix JDBC driver 3.10 and
-later. Xerces is an open source library that is freely available for
-download from the following location:</p>
-<p><a href="http://www.alphaworks.ibm.com/tech/xml4j">http://www.alphaworks.ibm.com/tech/xml4j </a></p>
-<a name="jdbcdocnotes"></a>
-<h1 id="jdbcdocnotes">Documentation Notes</h1>
-<a name="i1084897d"></a>
-<h2 id="i1084897d">Documentation Notes and Corrections</h2>
-<p>This section describes feature and performance topics not covered
-in the <em>IBM Informix JDBC Driver Programmer's
-Guide</em> or modified since publication.</p>
-<p></p>
-<dl>
-<dt class="bold">Handling Transactions</dt>
-<dd>In the section "Handling Transactions" in Chapter 3,
-the text "JDBC applications can create, destroy, or rollback to
-savepoint objects through the following standard JDBC methods of class
-IfxConnection:" is followed by a list of the methods. There is
-an error in that list. Instead of <strong>rollbackSavepoint(
-)</strong>, the last method in the list should be <strong>rollback</strong>(<var class="pv">savepoint</var>).
-</dd>
-<dt class="bold">Avoid Errors Transferring Large Objects</dt>
-<dd>In the section "Smart Large Object Data Types" in Chapter
-4, a new section has been added about avoiding errors when you transfer
-large objects.
-<p>The <strong>IFX_LOB_XFERSIZE</strong> environment
-variable is used to specify the number of bytes in a CLOB or BLOB
-to transfer from a client application to the database server before
-checking whether an error has occurred. The error check occurs each
-time the specified number of bytes is transferred. If an error occurs,
-the remaining data is not sent and an error is reported. If no error
-occurs, the file transfer will continue until it finishes.</p>
-<p>For
-example, if the value of <strong>IFX_LOB_XFERSIZE</strong> is
-set to 10485760 (10 MB), then error checking will occur after every
-10485760 bytes of the CLOB or BLOB is sent. If the <strong>IFX_LOB_XFERSIZE</strong> environment
-variable is not set, the error check occurs after the entire BLOB
-or CLOB is transferred.</p>
-<p>The valid range for the <strong>IFX_LOB_XFERSIZE</strong> environment
-variable is from 1 to 9223372036854775808 bytes. The <strong>IFX_LOB_XFERSIZE</strong> environment
-variable is set on the client.</p>
-<p>You should adjust the value of <strong>IFX_LOB_XFERSIZE</strong> to suit your environment. Set the <strong>IFX_LOB_XFERSIZE</strong> environment variable low enough
-so that transmission errors of large BLOB or CLOB data types are detected
-early, but not so low that excessive network resources are consumed.</p>
-</dd>
-<dt class="bold">Enabling unicode collation by Java/JDBC client applications</dt>
-<dd>In the section "Support for IBM Informix GLS Variables" in Chapter 6, the
-following information about the GL_USEGLU environment variable has
-been added:
-<p>To enable Unicode collation by Java/JDBC client applications
-using the International Components for Unicode (ICU), specify <strong>GL_USEGLU=1</strong> in the connection string before connecting
-to a Dynamic Server instance. This enables the server to utilize advanced
-Unicode converters that are required to work with Java.</p>
-</dd>
-<dt class="bold">Avoid Application Hanging Problems (HP-UX only)</dt>
-<dd>In the section "Managing Performance" in Chapter 7,
-the following information about the PTHREAD_COMPAT_MODE environment
-variable has been added:
-<p>If your JDBC application hangs on your
-HP-UX server, check the setting for the PTHREAD_COMPAT_MODE
-environment variable on the HP-UX server. The PTHREAD_COMPAT_MODE
-environment variable should be set to 1. This variable tells the pthread
-library (libpthread) to run in 1 X 1 mode instead of MxN mode. 1 X
-1 is the default mode now on HP-UX. Setting this environment variable
-should resolve the hang problem.</p>
-</dd>
-</dl>
-<a name="noitces"></a>
-<h1 id="noitces">Notices</h1>
-<p>This information was developed for products and services offered
-in the U.S.A.</p>
-<p>IBM may not offer the products,
-services, or features discussed in this document in all countries.
-Consult your local IBM representative
-for information on the products and services currently available in
-your area. Any reference to an IBM product,
-program, or service is not intended to state or imply that only that IBM product, program, or service
-may be used. Any functionally equivalent product, program, or service
-that does not infringe any IBM intellectual
-property right may be used instead. However, it is the user’s
-responsibility to evaluate and verify the operation of any non-IBM
-product, program, or service.</p>
-<p>IBM may have patents or pending
-patent applications covering subject matter described in this document.
-The furnishing of this document does not give you any license to these
-patents. You can send license inquiries, in writing, to: </p>
-<pre class="address">IBM Director of Licensing
-IBM Corporation
-North Castle Drive
-Armonk, NY 10504-1785
-U.S.A.</pre>
-<p>For license inquiries regarding double-byte (DBCS) information,
-contact the IBM Intellectual
-Property Department in your country or send inquiries, in writing,
-to: </p>
-<pre class="address">Intellectual Property Licensing
-Legal and Intellectual Property Law
-IBM Japan Ltd.
-1623-14, Shimotsuruma, Yamato-shi
-Kanagawa 242-8502 Japan</pre>
-<p><strong>The following paragraph does not apply to the
-United Kingdom or any other country where such provisions are inconsistent
-with local law: </strong><span class="smallcaps">INTERNATIONAL BUSINESS
-MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT
-WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE</span>. Some states do not allow
-disclaimer of express or implied warranties in certain transactions,
-therefore, this statement may not apply to you.</p>
-<p>This information could include technical inaccuracies or typographical
-errors. Changes are periodically made to the information herein; these
-changes will be incorporated in new editions of the publication. IBM may make improvements and/or
-changes in the product(s) and/or the program(s) described in this
-publication at any time without notice.</p>
-<p>Any references in this information to non-IBM Web sites are provided
-for convenience only and do not in any manner serve as an endorsement
-of those Web sites. The materials at those Web sites are not part
-of the materials for this IBM product
-and use of those Web sites is at your own risk.</p>
-<p>IBM may use or distribute
-any of the information you supply in any way it believes appropriate
-without incurring any obligation to you.</p>
-<p>Licensees of this program who wish to have information about it
-for the purpose of enabling: (i) the exchange of information between
-independently created programs and other programs (including this
-one) and (ii) the mutual use of the information which has been exchanged,
-should contact: </p>
-<pre class="address">IBM Corporation
-J46A/G4
-555 Bailey Avenue
-San Jose, CA 95141-1003
-U.S.A.</pre>
-<p>Such information may be available, subject to appropriate terms
-and conditions, including in some cases, payment of a fee.</p>
-<p>The licensed program described in this information and all licensed
-material available for it are provided by IBM under terms of the IBM Customer
-Agreement, IBM International
-Program License Agreement, or any equivalent agreement between us.</p>
-<p>Any performance data contained herein was determined in a controlled
-environment. Therefore, the results obtained in other operating environments
-may vary significantly. Some measurements may have been made on development-level
-systems and there is no guarantee that these measurements will be
-the same on generally available systems. Furthermore, some measurements
-may have been estimated through extrapolation. Actual results may
-vary. Users of this document should verify the applicable data for
-their specific environment.</p>
-<p>Information concerning non-IBM products was obtained from the suppliers
-of those products, their published announcements or other publicly
-available sources. IBM has not
-tested those products and cannot confirm the accuracy of performance,
-compatibility or any other claims related to non-IBM products. Questions
-on the capabilities of non-IBM products should be addressed to the
-suppliers of those products.</p>
-<p>All statements regarding IBM’s
-future direction or intent are subject to change or withdrawal without
-notice, and represent goals and objectives only.</p>
-<p>All IBM prices shown are IBM’s suggested retail prices,
-are current and are subject to change without notice. Dealer prices
-may vary.</p>
-<p>This information contains examples of data and reports used in
-daily business operations. To illustrate them as completely as possible,
-the examples include the names of individuals, companies, brands,
-and products. All of these names are fictitious and any similarity
-to the names and addresses used by an actual business enterprise is
-entirely coincidental.</p>
-<div>
-<span class="pblktitle">COPYRIGHT LICENSE</span>
-<p>This information contains sample application programs in source
-language, which illustrate programming techniques on various operating
-platforms. You may copy, modify, and distribute these sample programs
-in any form without payment to IBM,
-for the purposes of developing, using, marketing or distributing application
-programs conforming to the application programming interface for the
-operating platform for which the sample programs are written. These
-examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee
-or imply reliability, serviceability, or function of these programs.
-The sample programs are provided "AS IS", without warranty of any
-kind. IBM shall not be liable
-for any damages arising out of your use of the sample programs.</p>
-<p>Each copy or any portion of these sample programs or any derivative
-work, must include a copyright notice as follows: </p>
-<ul class="simple">
-<li>© (your company name) (year). Portions of this code are
-derived from IBM Corp. Sample
-Programs. © Copyright IBM Corp.
-(enter the year or years). All rights reserved.</li></ul>
-<p>If you are viewing this information softcopy, the photographs and
-color illustrations may not appear.</p></div>
-<a name="tmrks01"></a>
-<h2 id="tmrks01">Trademarks</h2>
-<p>IBM, the IBM logo, and ibm.com® are
-trademarks or registered trademarks of International Business Machines
-Corp., registered in many jurisdictions worldwide. Other product and
-service names might be trademarks of IBM or
-other companies. A current list of IBM trademarks
-is available on the Web at "Copyright and trademark information"
-at >http://www.ibm.com/legal/copytrade.shtml</a>.</p>
-<p>Adobe®, the Adobe logo, and PostScript® are either registered
-trademarks or trademarks of Adobe Systems
-Incorporated in the United States, and/or other countries.</p>
-<p>Intel, Itanium, and Pentium® are
-trademarks or registered trademarks of Intel Corporation
-or its subsidiaries in the United States and other countries.</p>
-<p>Java and all Java-based trademarks
-are trademarks of Sun Microsystems, Inc. in the United States, other
-countries, or both.</p>
-<p>Linux is a registered trademark
-of Linus Torvalds in the United States, other countries, or both.</p>
-<p>Microsoft®, Windows, and Windows NT® are trademarks
-of Microsoft Corporation
-in the United States, other countries, or both.</p>
-<p>UNIX® is a registered trademark
-of The Open Group in the United States and other countries.</p>
-<p>Other company, product, or service names may be trademarks or service
-marks of others.</p>
-<p>Contact support: <a href=" http://www.ibm.com/software/data/informix/ids/support/"> http://www.ibm.com/software/data/informix/ids/support/</a></p>
-<p>© Copyright IBM Corp.
-2008, 2009</p>
-<a id="Bot_Of_Page" name="Bot_Of_Page"></a>
-</body>
-</html>
diff --git a/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix/doc/patchinfo.htm b/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix/doc/patchinfo.htm
deleted file mode 100644
index 90dbd39..0000000
--- a/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix/doc/patchinfo.htm
+++ /dev/null
@@ -1,8117 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html xmlns:v="urn:schemas-microsoft-com:vml"
-xmlns:o="urn:schemas-microsoft-com:office:office"
-xmlns:w="urn:schemas-microsoft-com:office:word"
-xmlns="http://www.w3.org/TR/REC-html40">
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<meta name=ProgId content=Word.Document>
-<meta name=Generator content="Microsoft Word 9">
-<meta name=Originator content="Microsoft Word 9">
-<link rel=File-List href="./patchinfo_files/filelist.xml">
-<title>IBM Informix JDBC Driver 2.21.JC4 Release Notes</title>
-<!--[if gte mso 9]><xml>
- <o:DocumentProperties>
- <o:Subject>Patch Information of Certified Platforms</o:Subject>
- <o:Author>Arlan Finestead</o:Author>
- <o:LastAuthor>Arlan Finestead</o:LastAuthor>
- <o:Revision>2</o:Revision>
- <o:TotalTime>1197</o:TotalTime>
- <o:Created>2003-01-02T16:51:00Z</o:Created>
- <o:LastSaved>2003-01-02T16:51:00Z</o:LastSaved>
- <o:Pages>112</o:Pages>
- <o:Words>20288</o:Words>
- <o:Characters>168395</o:Characters>
- <o:Company>IBM</o:Company>
- <o:Lines>3742</o:Lines>
- <o:Paragraphs>3238</o:Paragraphs>
- <o:CharactersWithSpaces>194769</o:CharactersWithSpaces>
- <o:Version>9.3821</o:Version>
- </o:DocumentProperties>
-</xml><![endif]-->
-<style>
-<!--
- /* Font Definitions */
-@font-face
- {font-family:Times;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Helvetica;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Courier;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:modern;
- mso-font-format:other;
- mso-font-pitch:fixed;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Geneva;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"Tms Rmn";
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Helv;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"MS Serif";
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"MS Sans Serif";
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"New York";
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:System;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Wingdings;
- panose-1:5 0 0 0 0 0 0 0 0 0;
- mso-font-charset:2;
- mso-generic-font-family:auto;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:Mincho;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-alt:\660E\671D;
- mso-font-charset:128;
- mso-generic-font-family:roman;
- mso-font-format:other;
- mso-font-pitch:fixed;
- mso-font-signature:1 134676480 16 0 131072 0;}
-@font-face
- {font-family:Batang;
- panose-1:2 3 6 0 0 1 1 1 1 1;
- mso-font-alt:\BC14\D0D5;
- mso-font-charset:129;
- mso-generic-font-family:auto;
- mso-font-format:other;
- mso-font-pitch:fixed;
- mso-font-signature:1 151388160 16 0 524288 0;}
-@font-face
- {font-family:SimSun;
- panose-1:2 1 6 0 3 1 1 1 1 1;
- mso-font-alt:\5B8B\4F53;
- mso-font-charset:134;
- mso-generic-font-family:auto;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:1 135135232 16 0 262144 0;}
-@font-face
- {font-family:PMingLiU;
- panose-1:2 2 3 0 0 0 0 0 0 0;
- mso-font-alt:\65B0\7D30\660E\9AD4;
- mso-font-charset:136;
- mso-generic-font-family:auto;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:1 134742016 16 0 1048576 0;}
-@font-face
- {font-family:Gothic;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-alt:\FF7B\FF9E\FF7C\FF6F\FF78;
- mso-font-charset:128;
- mso-generic-font-family:modern;
- mso-font-format:other;
- mso-font-pitch:fixed;
- mso-font-signature:1 134676480 16 0 131072 0;}
-@font-face
- {font-family:Dotum;
- panose-1:2 11 6 0 0 1 1 1 1 1;
- mso-font-alt:\B3CB\C6C0;
- mso-font-charset:129;
- mso-generic-font-family:modern;
- mso-font-format:other;
- mso-font-pitch:fixed;
- mso-font-signature:1 151388160 16 0 524288 0;}
-@font-face
- {font-family:SimHei;
- panose-1:2 1 6 0 3 1 1 1 1 1;
- mso-font-alt:\9ED1\4F53;
- mso-font-charset:134;
- mso-generic-font-family:modern;
- mso-font-format:other;
- mso-font-pitch:fixed;
- mso-font-signature:1 135135232 16 0 262144 0;}
-@font-face
- {font-family:MingLiU;
- panose-1:2 2 3 9 0 0 0 0 0 0;
- mso-font-alt:\7D30\660E\9AD4;
- mso-font-charset:136;
- mso-generic-font-family:modern;
- mso-font-format:other;
- mso-font-pitch:fixed;
- mso-font-signature:1 134742016 16 0 1048576 0;}
-@font-face
- {font-family:"MS Mincho";
- panose-1:2 2 6 9 4 2 5 8 3 4;
- mso-font-alt:"\FF2D\FF33 \660E\671D";
- mso-font-charset:128;
- mso-generic-font-family:roman;
- mso-font-format:other;
- mso-font-pitch:fixed;
- mso-font-signature:1 134676480 16 0 131072 0;}
-@font-face
- {font-family:Gulim;
- panose-1:2 11 6 0 0 1 1 1 1 1;
- mso-font-alt:\AD74\B9BC;
- mso-font-charset:129;
- mso-generic-font-family:roman;
- mso-font-format:other;
- mso-font-pitch:fixed;
- mso-font-signature:1 151388160 16 0 524288 0;}
-@font-face
- {font-family:"MS Gothic";
- panose-1:2 11 6 9 7 2 5 8 2 4;
- mso-font-alt:"\FF2D\FF33 \30B4\30B7\30C3\30AF";
- mso-font-charset:128;
- mso-generic-font-family:modern;
- mso-font-format:other;
- mso-font-pitch:fixed;
- mso-font-signature:1 134676480 16 0 131072 0;}
-@font-face
- {font-family:Century;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Tahoma;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-format:other;
- mso-font-pitch:auto;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Verdana;
- panose-1:2 11 6 4 3 5 4 4 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:536871559 0 0 0 415 0;}
-@font-face
- {font-family:Bookman;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:ZapfDingbats;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:2;
- mso-generic-font-family:decorative;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:Palatino;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:AvantGarde;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Helvetica-Narrow;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:NewCenturySchlbk;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:ZapfChancery;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-format:other;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Marlett;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:2;
- mso-generic-font-family:auto;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:"Lucida Console";
- panose-1:2 11 6 9 4 5 4 2 2 4;
- mso-font-charset:0;
- mso-generic-font-family:modern;
- mso-font-pitch:fixed;
- mso-font-signature:-2147482993 6144 0 0 31 0;}
-@font-face
- {font-family:"Lucida Sans Unicode";
- panose-1:2 11 6 2 3 5 4 2 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:-2147476737 14699 0 0 63 0;}
-@font-face
- {font-family:"Comic Sans MS";
- panose-1:3 15 7 2 3 3 2 2 2 4;
- mso-font-charset:0;
- mso-generic-font-family:script;
- mso-font-pitch:variable;
- mso-font-signature:647 0 0 0 159 0;}
-@font-face
- {font-family:Georgia;
- panose-1:2 4 5 2 5 4 5 2 3 3;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:647 0 0 0 159 0;}
-@font-face
- {font-family:"Palatino Linotype";
- panose-1:2 4 5 2 5 5 5 3 3 4;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:-536870009 1073741843 0 0 415 0;}
-@font-face
- {font-family:"Trebuchet MS";
- panose-1:2 11 6 3 2 2 2 2 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:7 0 0 0 19 0;}
-@font-face
- {font-family:Webdings;
- panose-1:5 3 1 2 1 5 9 6 7 3;
- mso-font-charset:2;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:"Microsoft Sans Serif";
- panose-1:2 11 6 4 2 2 2 2 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:553663111 0 0 0 66047 0;}
-@font-face
- {font-family:"Map Symbols";
- panose-1:0 5 1 2 1 7 6 2 5 7;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"Book Antiqua";
- panose-1:2 4 6 2 5 3 5 3 3 4;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:647 0 0 0 159 0;}
-@font-face
- {font-family:"Bookman Old Style";
- panose-1:2 5 6 4 5 5 5 2 2 4;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:647 0 0 0 159 0;}
-@font-face
- {font-family:"Century Gothic";
- panose-1:2 11 5 2 2 2 2 2 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:647 0 0 0 159 0;}
-@font-face
- {font-family:"Monotype Corsiva";
- panose-1:3 1 1 1 1 2 1 1 1 1;
- mso-font-charset:0;
- mso-generic-font-family:script;
- mso-font-pitch:variable;
- mso-font-signature:647 0 0 0 159 0;}
-@font-face
- {font-family:"MS Outlook";
- panose-1:5 0 0 0 0 0 0 0 0 0;
- mso-font-charset:2;
- mso-generic-font-family:auto;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:"Wingdings 2";
- panose-1:5 2 1 2 1 5 7 7 7 7;
- mso-font-charset:2;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:"Wingdings 3";
- panose-1:5 4 1 2 1 8 7 7 7 7;
- mso-font-charset:2;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:"Arial Black";
- panose-1:2 11 10 4 2 1 2 2 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"MT Extra";
- panose-1:5 5 1 2 1 2 5 2 2 2;
- mso-font-charset:2;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:"Math A";
- panose-1:5 2 6 2 6 2 4 2 3 2;
- mso-font-charset:2;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:"Math B";
- panose-1:5 0 0 0 0 0 0 0 0 0;
- mso-font-charset:2;
- mso-generic-font-family:auto;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:"Math C";
- panose-1:5 0 0 0 0 0 0 0 0 0;
- mso-font-charset:2;
- mso-generic-font-family:auto;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:"LotusWP Int A";
- panose-1:2 2 6 3 6 5 5 2 3 4;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"LotusWP Int B";
- panose-1:2 2 6 3 6 5 5 2 3 4;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"LotusWP Box";
- panose-1:2 7 5 9 3 5 5 2 4 4;
- mso-font-charset:2;
- mso-generic-font-family:modern;
- mso-font-pitch:fixed;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:"LotusWP Type";
- panose-1:2 2 6 3 6 5 5 2 3 4;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"LotusWP Icon";
- panose-1:2 2 6 3 6 5 5 2 3 4;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"Lotus Postal Barcode";
- panose-1:1 1 1 0 1 1 1 1 1 1;
- mso-font-charset:0;
- mso-generic-font-family:auto;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"Brush Script";
- panose-1:3 1 1 1 1 1 1 1 1 1;
- mso-font-charset:0;
- mso-generic-font-family:script;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"Gill Sans";
- panose-1:2 11 5 2 2 1 4 2 2 3;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"Letter Gothic";
- panose-1:2 11 5 9 2 1 2 2 2 4;
- mso-font-charset:0;
- mso-generic-font-family:modern;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Lydian;
- panose-1:2 11 6 2 6 2 1 2 2 3;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"News Gothic";
- panose-1:2 11 5 3 2 1 3 2 2 3;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"News Gothic Condensed";
- panose-1:2 11 5 6 2 1 3 2 2 3;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Perpetua;
- panose-1:2 2 5 2 6 4 1 2 3 3;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"Photina Casual Black";
- panose-1:2 4 10 3 6 3 1 2 2 3;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"Arial Narrow";
- panose-1:2 11 5 6 2 2 2 3 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Baskerville;
- panose-1:2 2 5 2 6 3 6 2 3 3;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"Binner Gothic";
- panose-1:2 1 6 8 2 1 3 2 2 4;
- mso-font-charset:0;
- mso-generic-font-family:auto;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Centaur;
- panose-1:2 2 5 2 6 2 1 2 3 3;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Garamond;
- panose-1:2 2 4 4 3 3 1 1 8 3;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"Gill Sans Condensed";
- panose-1:2 1 6 6 4 4 4 2 2 3;
- mso-font-charset:0;
- mso-generic-font-family:auto;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"Gill Sans Ultra Bold";
- panose-1:2 11 10 2 2 1 4 2 2 3;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Impact;
- panose-1:2 11 8 6 3 9 2 5 2 4;
- mso-font-charset:0;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"Monotype Sorts";
- panose-1:5 1 1 1 1 1 1 1 1 1;
- mso-font-charset:2;
- mso-generic-font-family:auto;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:Nimrod;
- panose-1:2 4 5 3 5 4 1 2 2 4;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Onyx;
- panose-1:2 7 7 6 8 6 1 5 2 4;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Botanical;
- panose-1:1 1 6 1 1 1 1 1 1 1;
- mso-font-charset:2;
- mso-generic-font-family:auto;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:Rockwell;
- panose-1:2 6 8 3 3 4 5 2 1 3;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"Rockwell Condensed";
- panose-1:2 6 9 2 2 1 5 2 4 3;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:7 0 0 0 19 0;}
-@font-face
- {font-family:"Rockwell Light";
- panose-1:2 4 3 4 2 1 3 2 2 3;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"\@Batang";
- panose-1:2 3 6 0 0 1 1 1 1 1;
- mso-font-charset:129;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:-1342176593 1775729915 48 0 524447 0;}
-@font-face
- {font-family:HE_TERMINAL;
- mso-font-charset:0;
- mso-generic-font-family:modern;
- mso-font-pitch:fixed;
- mso-font-signature:647 0 0 0 159 0;}
-@font-face
- {font-family:"System VT Special";
- mso-font-charset:0;
- mso-generic-font-family:modern;
- mso-font-pitch:fixed;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:"System APL Special";
- mso-font-charset:0;
- mso-generic-font-family:modern;
- mso-font-pitch:fixed;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Shapes1;
- mso-font-charset:2;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:Stars1;
- mso-font-charset:2;
- mso-generic-font-family:swiss;
- mso-font-pitch:variable;
- mso-font-signature:0 268435456 0 0 -2147483648 0;}
-@font-face
- {font-family:HTELFNT;
- mso-font-charset:0;
- mso-generic-font-family:roman;
- mso-font-pitch:variable;
- mso-font-signature:3 0 0 0 1 0;}
-@font-face
- {font-family:Roman;
- panose-1:0 0 0 0 0 0 0 0 0 0;
- mso-font-charset:255;
- mso-generic-font-family:auto;
- mso-font-format:other;
- mso-font-pitch:auto;
- mso-font-signature:3 0 0 0 1 0;}
- /* Style Definitions */
-p.MsoNormal, li.MsoNormal, div.MsoNormal
- {mso-style-parent:"";
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-h1
- {mso-style-next:Normal;
- margin:0in;
- margin-bottom:.0001pt;
- mso-pagination:widow-orphan;
- page-break-after:avoid;
- mso-outline-level:1;
- font-size:14.0pt;
- mso-bidi-font-size:12.0pt;
- font-family:"Times New Roman";
- mso-font-kerning:0pt;
- font-weight:bold;}
-h2
- {margin-right:0in;
- mso-margin-top-alt:auto;
- mso-margin-bottom-alt:auto;
- margin-left:0in;
- mso-pagination:widow-orphan;
- mso-outline-level:2;
- font-size:18.0pt;
- font-family:"Times New Roman";
- font-weight:bold;}
-p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
- {margin:0in;
- margin-bottom:.0001pt;
- line-height:12.0pt;
- mso-pagination:widow-orphan lines-together;
- mso-layout-grid-align:none;
- text-autospace:none;
- font-size:12.0pt;
- mso-bidi-font-size:10.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";
- color:black;}
-a:link, span.MsoHyperlink
- {color:blue;
- text-decoration:underline;
- text-underline:single;}
-a:visited, span.MsoHyperlinkFollowed
- {color:blue;
- text-decoration:underline;
- text-underline:single;}
-p
- {margin-right:0in;
- mso-margin-top-alt:auto;
- mso-margin-bottom-alt:auto;
- margin-left:0in;
- mso-pagination:widow-orphan;
- font-size:12.0pt;
- font-family:"Times New Roman";
- mso-fareast-font-family:"Times New Roman";}
-span.msoIns
- {mso-style-type:export-only;
- mso-style-name:"";
- text-decoration:underline;
- text-underline:single;
- color:teal;}
-span.msoDel
- {mso-style-type:export-only;
- mso-style-name:"";
- text-decoration:line-through;
- color:red;}
-span.msoChangeProp
- {mso-style-type:export-only;
- mso-style-name:"";
- color:black;}
-@page Section1
- {size:8.5in 11.0in;
- margin:1.0in 1.25in 1.0in 1.25in;
- mso-header-margin:.5in;
- mso-footer-margin:.5in;
- mso-paper-source:0;}
-div.Section1
- {page:Section1;}
- /* List Definitions */
-@list l0
- {mso-list-id:93329936;
- mso-list-type:hybrid;
- mso-list-template-ids:848070154 -1905114504 1750396058 1786153236 1839515714 109097928 -2138929164 -60774700 -1864496016 1644464320;}
-@list l0:level1
- {mso-level-number-format:bullet;
- mso-level-text:\F0B7;
- mso-level-tab-stop:.5in;
- mso-level-number-position:left;
- text-indent:-.25in;
- mso-ansi-font-size:10.0pt;
- font-family:Symbol;}
-ol
- {margin-bottom:0in;}
-ul
- {margin-bottom:0in;}
--->
-</style>
-<!--[if gte mso 9]><xml>
- <o:shapedefaults v:ext="edit" spidmax="1027"/>
-</xml><![endif]--><!--[if gte mso 9]><xml>
- <o:shapelayout v:ext="edit">
- <o:idmap v:ext="edit" data="1"/>
- </o:shapelayout></xml><![endif]-->
-</head>
-
-<body bgcolor=white lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<p><span style="mso-spacerun: yes"> </span></p>
-
-<h2><span style="mso-spacerun: yes"> </span>Patch Information<a
-name=patch></a> of Certified Platforms</h2>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo3;tab-stops:list .5in'><a href="#sol29">Sun Solaris 2.9</a></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo3;tab-stops:list .5in'><a href="#sol28">Sun Solaris
- 2.8</a></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo3;tab-stops:list .5in'><a href="#sol27">Sun Solaris
- 2.7</a></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo3;tab-stops:list .5in'><a href="#ibmaix5">IBM AIX
- 5.1</a></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo3;tab-stops:list .5in'><a href="#ibmaix43">IBM AIX
- 4.3.3</a></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo3;tab-stops:list .5in'><a href="#hpux1120">HP HP-UX
- 11.20</a></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo3;tab-stops:list .5in'><a href="#hpux1111">HP HP-UX
- 11.11</a></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo3;tab-stops:list .5in'><a href="#hpux1100">HP HP-UX
- 11.00</a></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo3;tab-stops:list .5in'><a href="#compaq">Compaq OSF1
- 5.1</a></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo3;tab-stops:list .5in'><a href="#sgi">SGI IRIX64 6.5</a></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo3;tab-stops:list .5in'><a href="#caldera">Caldera UnixWare
- 7.1.1</a></li>
-</ul>
-
-<h2>Sun Solaris 2.9<a name=sol29></a></h2>
-
-<p class=MsoNormal>Patch: 112233-02 Obsoletes: 112737-03 Requires:
-Incompatibles: Packages: SUNWcar, SUNWcsu, SUNWcsr, SUNWmdb, SUNWcsxu,
-SUNWcarx, SUNWmdbx, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 112998-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 112963-01 Obsoletes: 112833-01 Requires:
-Incompatibles: Packages: SUNWcsu, SUNWcsr, SUNWcsl, SUNWcsxu, SUNWcslx,
-SUNWtoo, SUNWtoox, SUNWbtool, SUNWarc, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 112964-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 113319-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsl, SUNWcslx, SUNWarc</p>
-
-<p class=MsoNormal>Patch: 112970-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsl, SUNWcslx</p>
-
-<p class=MsoNormal>Patch: 112808-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWtltk, SUNWtltkx</p>
-
-<p class=MsoNormal>Patch: 112785-05 Obsoletes: Requires: Incompatibles:
-Packages: SUNWxwplt, SUNWxwsrv</p>
-
-<p class=MsoNormal>Patch: 112951-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWswmt</p>
-
-<p class=MsoNormal>Patch: 112875-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWrcmds</p>
-
-<p class=MsoNormal>Patch: 113068-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 113273-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWsshdu</p>
-
-<h2>Sun Solaris 2.8<a name=sol28></a></h2>
-
-<p class=MsoNormal>Patch: 109887-03 Obsoletes: 109351-04, 109965-03 Requires:
-108979-08 Incompatibles: Packages: SUNWpamsx, SUNWpamsc, SUNWocfx, SUNWocf, SUNWcstl,
-SUNWcstlx, SUNWhea, SUNWocfr, SUNWscmos</p>
-
-<p class=MsoNormal>Patch: 108528-06 Obsoletes: 108874-01, 108966-06, 108979-10,
-109153-01, 109236-01, 109291-06, 109296-05, 109309-02, 109313-02, 109345-02, 109348-05,
-109350-06, 109571-02, 109656-01, 109663-01, 109801-02, 109880-01, 110096-05,
-110118-02, 110121-01, 110132-02, 110133-03, 110134-02, 110141-02, 110201-01,
-110225-01, 110231-01 Requires: 110383-01, , Incompatibles: 109079-01 Packages:
-SUNWkvmx, SUNWkvm, SUNWcsu, SUNWcsr, SUNWcslx, SUNWcsl, SUNWcarx, SUNWcar,
-SUNWarc, SUNWarcx, SUNWcpr, SUNWcprx, SUNWcstl, SUNWcstlx, SUNWcsxu, SUNWhea,
-SUNWmdb, SUNWmdbx, SUNWpmu, SUNWpmr, SUNWpmux, SUNWsrh, SUNWtnfc, SUNWtnfcx</p>
-
-<p class=MsoNormal>Patch: 109137-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 108974-09 Obsoletes: 109343-04 Requires:
-Incompatibles: Packages: SUNWcsu, SUNWcsr, SUNWcarx, SUNWcsxu, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 108975-04 Obsoletes: Requires: 108968-01, 108974-01,
-108977-01 Incompatibles: Packages: SUNWcsu, SUNWvolu</p>
-
-<p class=MsoNormal>Patch: 108875-07 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu, SUNWcsr, SUNWcslx, SUNWcsl, SUNWcarx, SUNWarc, SUNWcstl,
-SUNWcstlx, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 109783-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 108985-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 109277-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 110283-03 Obsoletes: 110332-01 Requires:
-Incompatibles: Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 110662-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 110905-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 110951-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 109279-08 Obsoletes: 109048-06, 110180-01 Requires:
-Incompatibles: Packages: SUNWcsu, SUNWcsr, SUNWcarx, SUNWcsxu, SUNWhea,
-SUNWmdb, SUNWmdbx</p>
-
-<p class=MsoNormal>Patch: 110898-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 110934-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu, SUNWarc</p>
-
-<p class=MsoNormal>Patch: 110387-03 Obsoletes: 110235-01 Requires:
-Incompatibles: Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 109091-04 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 110668-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 110945-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 108725-05 Obsoletes: 109579-01 Requires:
-Incompatibles: Packages: SUNWcsu, SUNWcsr, SUNWcarx, SUNWcsxu, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 109896-04 Obsoletes: 109314-05 Requires: 109883-01,
-108979-08, 108528-06, 110609-01 Incompatibles: Packages: SUNWcsu, SUNWcsr,
-SUNWcsxu, SUNWusb, SUNWusbu, SUNWusbx Patch: 108989-02 Obsoletes: Requires:
-108528-01 Incompatibles: Packages: SUNWcsu, SUNWcsr, SUNWcsxu, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 108977-01 Obsoletes: Requires: 108974-01
-Incompatibles: Packages: SUNWcsr, SUNWhea, SUNWvolu, SUNWvolux</p>
-
-<p class=MsoNormal>Patch: 108968-04 Obsoletes: Requires: 108974-01, 108977-01
-Incompatibles: Packages: SUNWcsr, SUNWesu, SUNWhea, SUNWvolu, SUNWvolux</p>
-
-<p class=MsoNormal>Patch: 111023-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 109472-04 Obsoletes: 109054-02 Requires:
-Incompatibles: Packages: SUNWcsr, SUNWcarx, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 109740-03 Obsoletes: 109056-01, 110196-01 Requires:
-Incompatibles: Packages: SUNWcsr, SUNWcarx Patch: 109898-02 Obsoletes:
-109050-01 Requires: Incompatibles: Packages: SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 110901-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 109041-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 110075-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 109181-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 108993-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcslx, SUNWcsl, SUNWhea, SUNWnisu Patch: 109883-02
-Obsoletes: Requires: Incompatibles: Packages: SUNWcsr, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 109877-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 108727-06 Obsoletes: Requires: 108528-01
-Incompatibles: Packages: SUNWcsr, SUNWcarx, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 109888-06 Obsoletes: 109352-05, 110130-01 Requires:
-108979-08 Incompatibles: Packages: SUNWcsr, SUNWcarx, SUNWcar, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 108991-06 Obsoletes: Requires: 108528-01, 108989-01,
-109236-01, , Incompatibles: 109079-01 Packages: SUNWcsr, SUNWcslx, SUNWcsl,
-SUNWarc, SUNWarcx, SUNWcstl, SUNWcstlx, SUNWdpl, SUNWdplx, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 110383-01 Obsoletes: 110098-01 Requires:
-Incompatibles: Packages: SUNWcslx, SUNWcsl, SUNWarc, SUNWarcx, SUNWcstl,
-SUNWcstlx, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 109322-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcslx, SUNWcsl, SUNWarc, SUNWcstl, SUNWcstlx</p>
-
-<p class=MsoNormal>Patch: 109805-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcslx, SUNWcsl</p>
-
-<p class=MsoNormal>Patch: 110458-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcslx, SUNWcsl, SUNWarc, SUNWcstl, SUNWcstlx</p>
-
-<p class=MsoNormal>Patch: 108827-08 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcslx, SUNWcsl Patch: 109893-02 Obsoletes: 109312-01 Requires:
-108528-03, 108979-08 Incompatibles: Packages: SUNWcarx, SUNWcar, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 108652-28 Obsoletes: Requires: Incompatibles:
-Packages: SUNWxwfnt, SUNWxwice, SUNWxwplt, SUNWxwicx, SUNWxwplx, SUNWxwinc,
-SUNWxwman, SUNWxwpmn, SUNWxwslb</p>
-
-<p class=MsoNormal>Patch: 108940-29 Obsoletes: Requires: 108652-25
-Incompatibles: Packages: SUNWmfrun, SUNWdtbax</p>
-
-<p class=MsoNormal>Patch: 110453-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWadmap</p>
-
-<p class=MsoNormal>Patch: 109221-06 Obsoletes: 108960-01 Requires: 108993-01
-Incompatibles: Packages: SUNWadmap, SUNWadmc Patch: 110286-02 Obsoletes:
-Requires: Incompatibles: Packages: SUNWtltk, SUNWtltkx</p>
-
-<p class=MsoNormal>Patch: 108434-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWlibC</p>
-
-<p class=MsoNormal>Patch: 110700-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWatfsu</p>
-
-<p class=MsoNormal>Patch: 109470-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdtezt Patch: 108921-13 Obsoletes: Requires: 108652-19
-Incompatibles: Packages: SUNWdtwm</p>
-
-<p class=MsoNormal>Patch: 110609-01 Obsoletes: Requires: Incompatibles: Packages:
-SUNWhea</p>
-
-<p class=MsoNormal>Patch: 109892-03 Obsoletes: 109293-04 Requires: 108528-03,
-108979-08, 109877-01, 109883-01 Incompatibles: Packages: SUNWhea, SUNWpd,
-SUNWpdx</p>
-
-<p class=MsoNormal>Patch: 108981-06 Obsoletes: Requires: Incompatibles:
-Packages: SUNWhmd, SUNWhmdu, SUNWhmdx</p>
-
-<p class=MsoNormal>Patch: 108435-01 Obsoletes: Requires: 108434-01
-Incompatibles: Packages: SUNWlibCx Patch: 109328-01 Obsoletes: Requires:
-Incompatibles: Packages: SUNWnisu</p>
-
-<p class=MsoNormal>Patch: 109320-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWpcu, SUNWpsu </p>
-
-<h2>Sun Solaris 2.7<a name=sol27></a></h2>
-
-<p class=MsoNormal>Patch: 107430-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWwsr</p>
-
-<p class=MsoNormal>Patch: 107063-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWtleux</p>
-
-<p class=MsoNormal>Patch: 107437-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWtiu8x, SUNWtiu8</p>
-
-<p class=MsoNormal>Patch: 107316-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWploc, SUNWplcx</p>
-
-<p class=MsoNormal>Patch: 106541-04 Obsoletes: 106976-01, 107029-01, 107030-01,
-107334-01 Requires: Incompatibles: Packages: SUNWkvmx, SUNWkvm, SUNWcsu,
-SUNWcsr, SUNWcslx, SUNWcsl, SUNWcarx, SUNWcar, SUNWesu, SUNWarc, SUNWarcx, SUNWatfsr,
-SUNWcpr, SUNWcprx, SUNWcsxu, SUNWdpl, SUNWdplx, SUNWesxu, SUNWhea, SUNWtoo,
-SUNWpcmci, SUNWtnfc, SUNWtnfcx, SUNWtoox, SUNWvolr</p>
-
-<p class=MsoNormal>Patch: 106541-12 Obsoletes: 106832-03, 106976-01, 107029-01,
-107030-01, 107334-01, 107031-01, 107117-05, 107899-01, 108752-01 Requires:
-107544-02, 109104-01 Incompatibles: Packages: SUNWkvmx, SUNWkvm, SUNWcsu,
-SUNWcsr, SUNWcslx, SUNWcsl, SUNWcarx, SUNWcar, SUNWesu, SUNWarc, SUNWarcx,
-SUNWatfsr, SUNWscpu, SUNWcpr, SUNWcprx, SUNWcsxu, SUNWdpl, SUNWdplx, SUNWesxu,
-SUNWhea, SUNWipc, SUNWtoo, SUNWnisu, SUNWpcmci, SUNWpcmcu, SUNWpcmcx, SUNWtnfc,
-SUNWtnfcx, SUNWtoox, SUNWvolr </p>
-
-<p class=MsoNormal>Patch: 106541-15 Obsoletes: 106832-03, 106976-01, 107029-01,
-107030-01, 107334-01, 107031-01, 107117-05, 107899-01, 108752-01, 107147-08,
-109104-04 Requires: 107544-02 Incompatibles: Packages: SUNWkvmx, SUNWkvm,
-SUNWcsu, SUNWcsr, SUNWcslx, SUNWcsl, SUNWcarx, SUNWcar, SUNWesu, SUNWarc,
-SUNWarcx, SUNWatfsr, SUNWscpu, SUNWcpr, SUNWcprx, SUNWcsxu, SUNWdpl, SUNWdplx,
-SUNWesxu, SUNWhea, SUNWipc, SUNWtoo, SUNWnisu, SUNWpcmci, SUNWpcmcu, SUNWpcmcx,
-SUNWtnfc, SUNWtnfcx, SUNWtoox, SUNWvolu, SUNWvolr</p>
-
-<p class=MsoNormal>Patch: 107453-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWkvm, SUNWcar</p>
-
-<p class=MsoNormal>Patch: 107003-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWi8rf Patch: 107443-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 106793-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 106940-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu Patch: 106950-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu, SUNWbtool, SUNWcsxu, SUNWtoo, SUNWtoox</p>
-
-<p class=MsoNormal>Patch: 106985-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu, SUNWcsr</p>
-
-<p class=MsoNormal>Patch: 106987-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 107018-01 Obsoletes: Requires: 106938-01
-Incompatibles: Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 107117-03 Obsoletes: 106832-03 Requires:
-Incompatibles: Packages: SUNWcsu, SUNWcsr, SUNWcslx, SUNWcsl, SUNWcarx,
-SUNWarc, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 107285-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu, SUNWcslx, SUNWcsl, SUNWnisu</p>
-
-<p class=MsoNormal>Patch: 107401-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu Patch: 107403-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu, SUNWcsxu</p>
-
-<p class=MsoNormal>Patch: 107441-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 107448-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 107451-01 Obsoletes: Requires: 107117-03
-Incompatibles: Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 107454-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 107458-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu, SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 106793-05 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 107544-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu, SUNWcsr</p>
-
-<p class=MsoNormal>Patch: 107451-04 Obsoletes: Requires: 107117-03
-Incompatibles: Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 107454-05 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 107792-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 108301-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 108482-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 106950-11 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu, SUNWcsr, SUNWcslx, SUNWcsl, SUNWarc, SUNWbtool, SUNWbtoox,
-SUNWcsxu, SUNWhea, SUNWtoo, SUNWtoox</p>
-
-<p class=MsoNormal>Patch: 107018-02 Obsoletes: Requires: 106938-01
-Incompatibles: Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 109253-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 108798-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 108838-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 109744-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsu</p>
-
-<p class=MsoNormal>Patch: 106950-13 Obsoletes: Requires: Incompatibles: Packages:
-SUNWcsu, SUNWcsr, SUNWcslx, SUNWcsl, SUNWarc, SUNWbtool, SUNWbtoox, SUNWcsxu,
-SUNWhea, SUNWtoo, SUNWtoox</p>
-
-<p class=MsoNormal>Patch: 106924-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 106944-01 Obsoletes: Requires: Incompatibles: Packages:
-SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 106948-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 106963-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 106936-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr Patch: 107121-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 107148-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 107456-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr</p>
-
-<p class=MsoNormal>Patch: 107459-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 107460-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 107462-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 109104-04 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 106944-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcsr, SUNWcarx</p>
-
-<p class=MsoNormal>Patch: 106938-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcslx, SUNWcsl</p>
-
-<p class=MsoNormal>Patch: 106942-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcslx, SUNWcsl, SUNWarc</p>
-
-<p class=MsoNormal>Patch: 106980-04 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcslx, SUNWcsl, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 106938-04 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcslx, SUNWcsl</p>
-
-<p class=MsoNormal>Patch: 106942-07 Obsoletes: 107215-01 Requires:
-Incompatibles: Packages: SUNWcslx, SUNWcsl, SUNWarc, SUNWnisu</p>
-
-<p class=MsoNormal>Patch: 106980-10 Obsoletes: Requires: 106541-09
-Incompatibles: Packages: SUNWcslx, SUNWcsl, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 106980-15 Obsoletes: Requires: 106541-09
-Incompatibles: Packages: SUNWcslx, SUNWcsl, SUNWhea</p>
-
-<p class=MsoNormal>Patch: 106917-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWciu8x, SUNWciu8</p>
-
-<p class=MsoNormal>Patch: 107147-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWcarx, SUNWcar</p>
-
-<p class=MsoNormal>Patch: 108376-12 Obsoletes: 107078-18, 107648-09 Requires:
-Incompatibles: Packages: SUNWxwfnt, SUNWxwice, SUNWxwplt, SUNWxwicx, SUNWxwplx,
-SUNWxwinc, SUNWxwman, SUNWxwpmn, SUNWxwslb</p>
-
-<p class=MsoNormal>Patch: 108376-21 Obsoletes: 107078-18, 107648-09 Requires:
-Incompatibles: Packages: SUNWxwfnt, SUNWxwice, SUNWxwplt, SUNWxwicx, SUNWxwplx,
-SUNWxwinc, SUNWxwman, SUNWxwpmn, SUNWxwslb</p>
-
-<p class=MsoNormal>Patch: 108376-29 Obsoletes: 107078-18, 107648-09 Requires:
-Incompatibles: Packages: SUNWxwfnt, SUNWxwice, SUNWxwplt, SUNWxwicx, SUNWxwplx,
-SUNWxwinc, SUNWxwman, SUNWxwpmn, SUNWxwslb</p>
-
-<p class=MsoNormal>Patch: 107081-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWmfrun</p>
-
-<p class=MsoNormal>Patch: 107081-20 Obsoletes: 107607-01, 107802-01 Requires:
-Incompatibles: Packages: SUNWmfrun, SUNWdtbax </p>
-
-<p class=MsoNormal>Patch: 107081-37 Obsoletes: 107607-01, 107802-01 Requires:
-107656-07 Incompatibles: Packages: SUNWmfrun, SUNWdtbax</p>
-
-<p class=MsoNormal>Patch: 107059-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWesu, SUNWxcu4</p>
-
-<p class=MsoNormal>Patch: 107893-08 Obsoletes: 108122-01, 108237-01 Requires:
-Incompatibles: Packages: SUNWtltk, SUNWtltkm, SUNWtltkx</p>
-
-<p class=MsoNormal>Patch: 107014-01 Obsoletes: Requires: Incompatibles: Packages:
-SUNWxilow</p>
-
-<p class=MsoNormal>Patch: 107250-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWxwplt</p>
-
-<p class=MsoNormal>Patch: 107650-08 Obsoletes: Requires: 108376-01
-Incompatibles: Packages: SUNWxwplt, SUNWxwinc, SUNWxwpmn, SUNWxwslb</p>
-
-<p class=MsoNormal>Patch: 107656-07 Obsoletes: Requires: 108376-01 Incompatibles:
-Packages: SUNWxwplt, SUNWxwplx, SUNWxwpmn, SUNWxwslb</p>
-
-<p class=MsoNormal>Patch: 107233-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWxwopt</p>
-
-<p class=MsoNormal>Patch: 106934-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdtbas</p>
-
-<p class=MsoNormal>Patch: 107094-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdtbas</p>
-
-<p class=MsoNormal>Patch: 107178-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdtbas</p>
-
-<p class=MsoNormal>Patch: 108219-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdtbas </p>
-
-<p class=MsoNormal>Patch: 108374-03 Obsoletes: 107881-10 Requires:
-Incompatibles: Packages: SUNWdtbas, SUNWdtdte, SUNWdtbax, SUNWdtinc, SUNWdtmad</p>
-
-<p class=MsoNormal>Patch: 106978-06 Obsoletes: Requires: 107456-01
-Incompatibles: Packages: SUNWadmap, SUNWadmc</p>
-
-<p class=MsoNormal>Patch: 106978-10 Obsoletes: Requires: 107456-01
-Incompatibles: Packages: SUNWadmap, SUNWadmc</p>
-
-<p class=MsoNormal>Patch: 108721-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWadmap</p>
-
-<p class=MsoNormal>Patch: 108662-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWadmfw</p>
-
-<p class=MsoNormal>Patch: 107127-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWatfsu</p>
-
-<p class=MsoNormal>Patch: 107001-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdtdte</p>
-
-<p class=MsoNormal>Patch: 107180-04 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdtdte</p>
-
-<p class=MsoNormal>Patch: 107887-09 Obsoletes: 107688-01, 107001-01 Requires:
-Incompatibles: Packages: SUNWdtdte, SUNWdtdst, SUNWdtezt, SUNWdtma</p>
-
-<p class=MsoNormal>Patch: 107022-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdtdmn</p>
-
-<p class=MsoNormal>Patch: 108221-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdtdmn</p>
-
-<p class=MsoNormal>Patch: 106725-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWoldst</p>
-
-<p class=MsoNormal>Patch: 107031-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWscpu</p>
-
-<p class=MsoNormal>Patch: 106949-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWbcp</p>
-
-<p class=MsoNormal>Patch: 107038-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdoc</p>
-
-<p class=MsoNormal>Patch: 107885-06 Obsoletes: 107219-02 Requires: 106934-03
-Incompatibles: Packages: SUNWdticn, SUNWdtdst, SUNWdthev, SUNWdtma</p>
-
-<p class=MsoNormal>Patch: 107011-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdtdst</p>
-
-<p class=MsoNormal>Patch: 107072-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdtdst</p>
-
-<p class=MsoNormal>Patch: 107200-03 Obsoletes: Requires: 107001-01
-Incompatibles: Packages: SUNWdtdst</p>
-
-<p class=MsoNormal>Patch: 107248-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdtdst, SUNWdtma</p>
-
-<p class=MsoNormal>Patch: 107219-01 Obsoletes: Requires: 106934-02
-Incompatibles: Packages: SUNWdtdst</p>
-
-<p class=MsoNormal>Patch: 107306-01 Obsoletes: Requires: 106934-03
-Incompatibles: Packages: SUNWdtdst</p>
-
-<p class=MsoNormal>Patch: 107226-03 Obsoletes: Requires: Incompatibles:
-Packages: SUNWdtwm</p>
-
-<p class=MsoNormal>Patch: 106999-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWesxu</p>
-
-<p class=MsoNormal>Patch: 106327-08 Obsoletes: Requires: Incompatibles:
-Packages: SUNWlibC</p>
-
-<p class=MsoNormal>Patch: 107293-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWgss, SUNWgssx</p>
-
-<p class=MsoNormal>Patch: 106982-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWhmd, SUNWhmdx</p>
-
-<p class=MsoNormal>Patch: 107074-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWinst</p>
-
-<p class=MsoNormal>Patch: 107337-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWkcsrt, SUNWkcspg</p>
-
-<p class=MsoNormal>Patch: 106300-09 Obsoletes: Requires: 106327-07
-Incompatibles: Packages: SUNWlibCx</p>
-
-<p class=MsoNormal>Patch: 106960-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWman</p>
-
-<p class=MsoNormal>Patch: 107318-04 Obsoletes: 106851-04 Requires:
-Incompatibles: Packages: SUNWman</p>
-
-<p class=MsoNormal>Patch: 107445-01 Obsoletes: 106788-02 Requires:
-Incompatibles: Packages: SUNWmibii, SUNWsasnm, SUNWsadmi </p>
-
-<p class=MsoNormal>Patch: 107709-06 Obsoletes: 106788-02, 107445-03 Requires:
-Incompatibles: Packages: SUNWmibii, SUNWsasnm, SUNWsadmi, SUNWsacom, SUNWsadmx,
-SUNWsasnx</p>
-
-<p class=MsoNormal>Patch: 107330-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWntpu</p>
-
-<p class=MsoNormal>Patch: 107115-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWpcu</p>
-
-<p class=MsoNormal>Patch: 107115-05 Obsoletes: Requires: Incompatibles:
-Packages: SUNWpcu, SUNWpsu</p>
-
-<p class=MsoNormal>Patch: 106925-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWpd, SUNWpdx</p>
-
-<p class=MsoNormal>Patch: 107185-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWploc1, SUNWplow1</p>
-
-<p class=MsoNormal>Patch: 107187-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWploc1, SUNWplow1</p>
-
-<p class=MsoNormal>Patch: 107636-05 Obsoletes: Requires: Incompatibles:
-Packages: SUNWxi18n, SUNWxim, SUNWxi18x, SUNWximx </p>
-
-<p class=MsoNormal>Patch: 107636-07 Obsoletes: Requires: Incompatibles:
-Packages: SUNWxi18n, SUNWxim, SUNWxi18x, SUNWximx </p>
-
-<p class=MsoNormal>Patch: 107636-08 Obsoletes: Requires: 107081-25
-Incompatibles: Packages: SUNWxi18n, SUNWxim, SUNWxi18x, SUNWximx</p>
-
-<p class=MsoNormal>Patch: 107438-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWplow</p>
-
-<p class=MsoNormal>Patch: 106857-04 Obsoletes: Requires: 107443-01
-Incompatibles: Packages: SUNWplow, SUNWplow1, SUNWpldte </p>
-
-<p class=MsoNormal>Patch: 106812-04 Obsoletes: Requires: Incompatibles:
-Packages: SUNWplow1</p>
-
-<p class=MsoNormal>Patch: 107044-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWplow1</p>
-
-<p class=MsoNormal>Patch: 107499-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWpldte</p>
-
-<p class=MsoNormal>Patch: 106879-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWpmowu</p>
-
-<p class=MsoNormal>Patch: 107359-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWscbcp</p>
-
-<p class=MsoNormal>Patch: 107359-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWscbcp</p>
-
-<p class=MsoNormal>Patch: 107684-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWsndmu</p>
-
-<p class=MsoNormal>Patch: 107171-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWswmt</p>
-
-<p class=MsoNormal>Patch: 107171-06 Obsoletes: Requires: Incompatibles:
-Packages: SUNWswmt</p>
-
-<p class=MsoNormal>Patch: 107076-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWvolu, SUNWvolux</p>
-
-<p class=MsoNormal>Patch: 107259-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWvolu</p>
-
-<p class=MsoNormal>Patch: 106147-01 Obsoletes: Requires: Incompatibles:
-Packages: SUNWxilvl</p>
-
-<p class=MsoNormal>Patch: 107546-02 Obsoletes: Requires: Incompatibles:
-Packages: SUNWxwpsr </p>
-
-<h2>IBM AIX 5.1<a name=ibmaix5></a></h2>
-
-<p>Fileset Level State Description </p>
-
-<p>----------------------------------------------------------------------------</p>
-
-<p>Path: /usr/lib/objrepos</p>
-
-<p>IMNSearch.rte.DBCS 1.2.3.0 COMMITTED NetQuestion DBCS Search Engine</p>
-
-<p>IMNSearch.rte.SBCS 1.2.3.0 COMMITTED NetQuestion SBCS Search Engine</p>
-
-<p>IMNSearch.rte.httpdlite 2.0.0.2 COMMITTED Lite NetQuestion Local Web Server </p>
-
-<p>Java130.ext.commapi 1.3.0.0 COMMITTED Java Comm API Extension </p>
-
-<p>Java130.ext.jaas 1.3.0.4 COMMITTED JAAS (Java Authentication &
-Authorization Service) Extension </p>
-
-<p>Java130.ext.plugin 1.3.0.5 COMMITTED Java Plugin for Netscape </p>
-
-<p>Java130.rte.bin 1.3.0.5 COMMITTED Java Runtime Environment Executables </p>
-
-<p>Java130.rte.lib 1.3.0.5 COMMITTED Java Runtime Environment Libraries </p>
-
-<p>Java_dev2.adt.debug 1.2.2.2 COMMITTED Java Application Development Debuggers</p>
-
-<p>Java_dev2.adt.includes 1.2.2.0 COMMITTED Java Application Development Toolkit
-Includes</p>
-
-<p>Java_dev2.adt.src 1.2.2.2 COMMITTED Java Classes Source Code</p>
-
-<p>Java_dev2.ext.commapi 1.2.2.0 COMMITTED Java Comm API Extension</p>
-
-<p>Java_dev2.ext.jaas 1.2.2.0 COMMITTED JAAS (Java Authentication &
-Authorization Service) Extension</p>
-
-<p>Java_dev2.ext.plugin 1.2.2.2 COMMITTED Java PlugIn for Netscape</p>
-
-<p>Java_dev2.rte.bin 1.2.2.2 COMMITTED Java Runtime Environment Executables</p>
-
-<p>Java_dev2.rte.lib 1.2.2.2 COMMITTED Java Runtime Environment Libraries</p>
-
-<p>Tivoli_Management_Agent.client.rte 3.2.0.0 COMMITTED Management Agent
-runtime"</p>
-
-<p>X11.Dt.ToolTalk 5.1.0.0 COMMITTED AIX CDE ToolTalk Support </p>
-
-<p>X11.Dt.adt 5.1.0.0 COMMITTED AIX CDE Application Developers' Toolkit </p>
-
-<p>X11.Dt.bitmaps 5.1.0.0 COMMITTED AIX CDE Bitmaps </p>
-
-<p>X11.Dt.compat 5.1.0.0 COMMITTED AIX CDE Compatibility </p>
-
-<p>X11.Dt.helpinfo 5.1.0.0 COMMITTED AIX CDE Help Files and Volumes</p>
-
-<p>X11.Dt.helpmin 5.1.0.0 COMMITTED AIX CDE Minimum Help Files </p>
-
-<p>X11.Dt.helprun 5.1.0.0 COMMITTED AIX CDE Runtime Help </p>
-
-<p>X11.Dt.lib 5.1.0.0 COMMITTED AIX CDE Runtime Libraries </p>
-
-<p>X11.Dt.rte 5.1.0.0 COMMITTED AIX Common Desktop Environment (CDE) 1.0 </p>
-
-<p>X11.Dt.xdt2cde 5.1.0.0 COMMITTED AIX CDE Migration Tool </p>
-
-<p>X11.adt.include 5.1.0.0 COMMITTED AIXwindows Application Development Toolkit
-Include Files </p>
-
-<p>X11.adt.lib 5.1.0.0 COMMITTED AIXwindows Application Development Toolkit
-Libraries </p>
-
-<p>X11.adt.motif 5.1.0.0 COMMITTED AIXwindows Application Development Toolkit
-Motif </p>
-
-<p>X11.apps.aixterm 5.1.0.0 COMMITTED AIXwindows aixterm Application</p>
-
-<p>X11.apps.clients 5.1.0.0 COMMITTED AIXwindows Client Applications</p>
-
-<p>X11.apps.config 5.1.0.0 COMMITTED AIXwindows Configuration Applications </p>
-
-<p>X11.apps.custom 5.1.0.0 COMMITTED AIXwindows Customizing Tool </p>
-
-<p>X11.apps.pm 5.1.0.0 COMMITTED AIXwindows Power Management GUI Utility </p>
-
-<p>X11.apps.rte 5.1.0.0 COMMITTED AIXwindows Runtime Configuration Applications
-</p>
-
-<p>X11.apps.util 5.1.0.0 COMMITTED AIXwindows Utility Applications </p>
-
-<p>X11.apps.xdm 5.1.0.0 COMMITTED AIXwindows xdm Application </p>
-
-<p>X11.apps.xterm 5.1.0.0 COMMITTED AIXwindows xterm Application </p>
-
-<p>X11.base.common 5.1.0.0 COMMITTED AIXwindows Runtime Common Directories </p>
-
-<p>X11.base.lib 5.1.0.0 COMMITTED AIXwindows Runtime Libraries </p>
-
-<p>X11.base.rte 5.1.0.1 COMMITTED AIXwindows Runtime Environment</p>
-
-<p>X11.base.smt 5.1.0.1 COMMITTED AIXwindows Runtime Shared Memory Transport</p>
-
-<p>X11.compat.lib.X11R5 5.1.0.0 COMMITTED AIXwindows X11R5 Compatibility
-Libraries </p>
-
-<p>X11.fnt.coreX 5.1.0.0 COMMITTED AIXwindows X Consortium Fonts </p>
-
-<p>X11.fnt.defaultFonts 5.1.0.0 COMMITTED AIXwindows Default Fonts </p>
-
-<p>X11.fnt.iso1 5.1.0.0 COMMITTED AIXwindows Latin 1 Fonts </p>
-
-<p>X11.loc.en_US.base.lib 5.1.0.0 COMMITTED AIXwindows Client Locale Config -
-U.S. English </p>
-
-<p>X11.loc.en_US.base.rte 5.1.0.0 COMMITTED AIXwindows Locale Configuration -
-U.S. English </p>
-
-<p>X11.motif.lib 5.1.0.1 COMMITTED AIXwindows Motif Libraries</p>
-
-<p>X11.motif.mwm 5.1.0.0 COMMITTED AIXwindows Motif Window Manager </p>
-
-<p>X11.msg.en_US.apps.aixterm 5.1.0.0 COMMITTED AIXwindows aixterm Messages -
-U.S. English </p>
-
-<p>X11.msg.en_US.apps.clients 5.1.0.0 COMMITTED AIXwindows Client Application
-Msgs - U.S. English </p>
-
-<p>X11.msg.en_US.apps.config 5.1.0.0 COMMITTED AIXwindows Config Application
-Msgs - U.S. English </p>
-
-<p>X11.msg.en_US.apps.custom 5.1.0.0 COMMITTED AIXwindows Customizing Tool Msgs
-- U.S. English </p>
-
-<p>X11.msg.en_US.apps.pm 5.1.0.0 COMMITTED AIXwindows Power Mgmt GUI Msgs -
-U.S. English </p>
-
-<p>X11.msg.en_US.apps.rte 5.1.0.0 COMMITTED AIXwindows Runtime Config Messages
-- U.S. English </p>
-
-<p>X11.msg.en_US.apps.xdm 5.1.0.0 COMMITTED AIXwindows xdm Messages - U.S.
-English </p>
-
-<p>X11.msg.en_US.base.common 5.1.0.0 COMMITTED AIXwindows Common Messages -
-U.S. English </p>
-
-<p>X11.msg.en_US.base.rte 5.1.0.0 COMMITTED AIXwindows Runtime Env. Messages -
-U.S. English </p>
-
-<p>X11.msg.en_US.motif.lib 5.1.0.0 COMMITTED AIXwindows Motif Libraries
-Messages - U.S. English </p>
-
-<p>X11.msg.en_US.motif.mwm 5.1.0.0 COMMITTED AIXwindows Motif Window Mgr Msgs -
-U.S. English </p>
-
-<p>bos.acct 5.1.0.0 COMMITTED Accounting Services </p>
-
-<p>bos.adt.base 5.1.0.1 COMMITTED Base Application Development Toolkit</p>
-
-<p>bos.adt.debug 5.1.0.1 COMMITTED Base Application Development Debuggers</p>
-
-<p>bos.adt.graphics 5.1.0.0 COMMITTED Base Application Development Graphics
-Include Files </p>
-
-<p>bos.adt.include 5.1.0.1 COMMITTED Base Application Development Include Files</p>
-
-<p>bos.adt.lib 5.1.0.0 COMMITTED Base Application Development Libraries </p>
-
-<p>bos.adt.libm 5.1.0.0 COMMITTED Base Application Development Math Library </p>
-
-<p>bos.adt.prof 5.1.0.1 COMMITTED Base Profiling Support</p>
-
-<p>bos.adt.prt_tools 5.1.0.0 COMMITTED Printer Support Development Toolkit </p>
-
-<p>bos.adt.samples 5.1.0.0 COMMITTED Base Operating System Samples </p>
-
-<p>bos.adt.sccs 5.1.0.0 COMMITTED SCCS Application Development Toolkit </p>
-
-<p>bos.adt.syscalls 5.1.0.0 COMMITTED System Calls Application Development
-Toolkit </p>
-
-<p>bos.adt.utils 5.1.0.0 COMMITTED Base Application Development Utilities - lex
-and yacc </p>
-
-<p>bos.diag.com 5.1.0.0 COMMITTED Common Hardware Diagnostics </p>
-
-<p>bos.diag.rte 5.1.0.0 COMMITTED Hardware Diagnostics </p>
-
-<p>bos.diag.util 5.1.0.1 COMMITTED Hardware Diagnostics Utilities</p>
-
-<p>bos.docregister.com 5.1.0.1 COMMITTED Docregister Common</p>
-
-<p>bos.docsearch.client.com 5.1.0.0 COMMITTED DocSearch Client Common Files </p>
-
-<p>bos.docsearch.rte 5.1.0.1 COMMITTED DocSearch Runtime</p>
-
-<p>bos.help.msg.en_US.com 5.1.0.0 COMMITTED WebSM/SMIT Context Helps - U.S.
-English</p>
-
-<p>bos.help.msg.en_US.smit 5.1.0.0 COMMITTED SMIT Context Helps - U.S. English</p>
-
-<p>bos.html.en_US.topnav.navigate 5.1.0.0 COMMITTED Top Level Navigation - U.S.
-English</p>
-
-<p>bos.iconv.com 5.1.0.0 COMMITTED Common Language to Language Converters </p>
-
-<p>bos.iconv.ucs.com 5.1.0.0 COMMITTED Unicode Base Converters for AIX Code
-Sets/Fonts </p>
-
-<p>bos.loc.adt.iconv 5.1.0.0 COMMITTED Language Converter Development Toolkit </p>
-
-<p>bos.loc.adt.icu 5.1.0.0 COMMITTED Internationalized Classes for Unicode </p>
-
-<p>bos.loc.adt.imk 5.1.0.0 COMMITTED Keymap Development Toolkit </p>
-
-<p>bos.loc.adt.locale 5.1.0.0 COMMITTED Locale Development Toolkit </p>
-
-<p>bos.loc.adt.unicode 5.1.0.0 COMMITTED Developers Toolkit for Unicode</p>
-
-<p>bos.loc.com.utf 5.1.0.0 COMMITTED Common Locale Support - UTF-8 </p>
-
-<p>bos.loc.iso.en_US 5.1.0.0 COMMITTED Base System Locale ISO Code Set - U.S.
-English </p>
-
-<p>bos.loc.utf.EN_US 5.1.0.0 COMMITTED Base System Locale UTF Code Set - U. S.
-English </p>
-
-<p>bos.man.en_US.cmds 5.1.0.0 COMMITTED AIX Man Commands - U.S. English</p>
-
-<p>bos.mp 5.1.0.1 COMMITTED Base Operating System Multiprocessor Runtime</p>
-
-<p>bos.msg.EN_US.diag.rte 5.1.0.0 COMMITTED Hardware Diagnostics Messages -
-U.S. English (UTF)</p>
-
-<p>bos.msg.EN_US.docregister.com 5.1.0.0 COMMITTED Docregister Common Messages
-- U.S. English (UTF)</p>
-
-<p>bos.msg.EN_US.docsearch.client.com 5.1.0.0 COMMITTED DocSearch Common
-Messages - U.S. English (UTF)</p>
-
-<p>bos.msg.EN_US.mp 5.1.0.0 COMMITTED Base Operating System MP Messages - U.S.
-English (UTF)</p>
-
-<p>bos.msg.EN_US.net.tcp.client 5.1.0.0 COMMITTED TCP/IP Messages - U.S.
-English (UTF)</p>
-
-<p>bos.msg.EN_US.rte 5.1.0.0 COMMITTED Base Operating System Runtime Msgs -
-U.S. English (UTF)</p>
-
-<p>bos.msg.EN_US.svprint 5.1.0.0 COMMITTED System V Print Subsystem Messages -
-U.S. English (UTF)</p>
-
-<p>bos.msg.EN_US.txt.tfs 5.1.0.0 COMMITTED Text Formatting Services Messages -
-U.S. English (UTF)</p>
-
-<p>bos.msg.en_US.diag.rte 5.1.0.0 COMMITTED Hardware Diagnostics Messages -
-U.S. English </p>
-
-<p>bos.msg.en_US.docregister.com 5.1.0.0 COMMITTED Docregister Common Messages
-- U.S. English </p>
-
-<p>bos.msg.en_US.docsearch.client.com 5.1.0.0 COMMITTED DocSearch Common
-Messages - U.S. English </p>
-
-<p>bos.msg.en_US.mp 5.1.0.0 COMMITTED Base Operating System MP Messages - U.S.
-English </p>
-
-<p>bos.msg.en_US.net.tcp.client 5.1.0.0 COMMITTED TCP/IP Messages - U.S.
-English </p>
-
-<p>bos.msg.en_US.rte 5.1.0.0 COMMITTED Base Operating System Runtime Msgs -
-U.S. English </p>
-
-<p>bos.msg.en_US.svprint 5.1.0.0 COMMITTED System V Print Subsystem Messages -
-U.S. English </p>
-
-<p>bos.net.ncs 5.1.0.0 COMMITTED Network Computing System 1.5.1</p>
-
-<p>bos.net.nfs.adt 5.1.0.0 COMMITTED Network File System Development Toolkit </p>
-
-<p>bos.net.nfs.cachefs 5.1.0.0 COMMITTED CacheFS File System </p>
-
-<p>bos.net.nfs.client 5.1.0.1 COMMITTED Network File System Client</p>
-
-<p>bos.net.nfs.server 5.1.0.0 COMMITTED Network File System Server </p>
-
-<p>bos.net.nis.client 5.1.0.0 COMMITTED Network Information Service Client </p>
-
-<p>bos.net.nis.server 5.1.0.1 COMMITTED Network Information Service Server</p>
-
-<p>bos.net.snapp 5.1.0.0 COMMITTED System Networking Analysis and Performance
-Pilot </p>
-
-<p>bos.net.tcp.adt 5.1.0.0 COMMITTED TCP/IP Application Toolkit </p>
-
-<p>bos.net.tcp.client 5.1.0.1 COMMITTED TCP/IP Client Support</p>
-
-<p>bos.net.tcp.server 5.1.0.1 COMMITTED TCP/IP Server</p>
-
-<p>bos.net.tcp.smit 5.1.0.0 COMMITTED TCP/IP SMIT Support </p>
-
-<p>bos.net.uucp 5.1.0.0 COMMITTED Unix to Unix Copy Program </p>
-
-<p>bos.perf.diag_tool 5.1.0.0 COMMITTED Performance Diagnostic Tool </p>
-
-<p>bos.perf.libperfstat 5.1.0.0 COMMITTED Performance Statistics Library
-Interface </p>
-
-<p>bos.perf.perfstat 5.1.0.0 COMMITTED Performance Statistics Interface </p>
-
-<p>bos.perf.tools 5.1.0.1 COMMITTED Base Performance Tools</p>
-
-<p>bos.powermgt.rte 5.1.0.0 COMMITTED Power Management Runtime Software </p>
-
-<p>bos.rte 5.1.0.0 COMMITTED Base Operating System Runtime</p>
-
-<p>bos.rte.Dt 5.1.0.0 COMMITTED Desktop Integrator</p>
-
-<p>bos.rte.ILS 5.1.0.1 COMMITTED International Language Support</p>
-
-<p>bos.rte.SRC 5.1.0.0 COMMITTED System Resource Controller</p>
-
-<p>bos.rte.X11 5.1.0.0 COMMITTED AIXwindows Device Support</p>
-
-<p>bos.rte.aio 5.1.0.0 COMMITTED Asynchronous I/O Extension</p>
-
-<p>bos.rte.archive 5.1.0.0 COMMITTED Archive Commands</p>
-
-<p>bos.rte.bind_cmds 5.1.0.1 COMMITTED Binder and Loader Commands</p>
-
-<p>bos.rte.boot 5.1.0.1 COMMITTED Boot Commands</p>
-
-<p>bos.rte.bosinst 5.1.0.0 COMMITTED Base OS Install Commands</p>
-
-<p>bos.rte.commands 5.1.0.0 COMMITTED Commands</p>
-
-<p>bos.rte.compare 5.1.0.0 COMMITTED File Compare Commands</p>
-
-<p>bos.rte.console 5.1.0.0 COMMITTED Console</p>
-
-<p>bos.rte.control 5.1.0.0 COMMITTED System Control Commands</p>
-
-<p>bos.rte.cron 5.1.0.0 COMMITTED Batch Operations</p>
-
-<p>bos.rte.date 5.1.0.0 COMMITTED Date Control Commands</p>
-
-<p>bos.rte.devices 5.1.0.0 COMMITTED Base Device Drivers</p>
-
-<p>bos.rte.devices_msg 5.1.0.0 COMMITTED Device Driver Messages</p>
-
-<p>bos.rte.diag 5.1.0.0 COMMITTED Diagnostics</p>
-
-<p>bos.rte.edit 5.1.0.0 COMMITTED Editors</p>
-
-<p>bos.rte.filesystem 5.1.0.1 COMMITTED Filesystem Administration</p>
-
-<p>bos.rte.iconv 5.1.0.0 COMMITTED Language Converters</p>
-
-<p>bos.rte.ifor_ls 5.1.0.0 COMMITTED iFOR/LS Libraries</p>
-
-<p>bos.rte.im 5.1.0.0 COMMITTED Input Methods</p>
-
-<p>bos.rte.install 5.1.0.2 COMMITTED LPP Install Commands</p>
-
-<p>bos.rte.jfscomp 5.1.0.0 COMMITTED JFS Compression</p>
-
-<p>bos.rte.libc 5.1.0.2 COMMITTED libc Library</p>
-
-<p>bos.rte.libcfg 5.1.0.0 COMMITTED libcfg Library</p>
-
-<p>bos.rte.libcur 5.1.0.0 COMMITTED libcurses Library</p>
-
-<p>bos.rte.libdbm 5.1.0.0 COMMITTED libdbm Library</p>
-
-<p>bos.rte.libnetsvc 5.1.0.0 COMMITTED Network Services Libraries</p>
-
-<p>bos.rte.libpthreads 5.1.0.1 COMMITTED libpthreads Library</p>
-
-<p>bos.rte.libqb 5.1.0.0 COMMITTED libqb Library</p>
-
-<p>bos.rte.libs 5.1.0.0 COMMITTED libs Library</p>
-
-<p>bos.rte.loc 5.1.0.0 COMMITTED Base Locale Support</p>
-
-<p>bos.rte.lvm 5.1.0.1 COMMITTED Logical Volume Manager</p>
-
-<p>bos.rte.man 5.1.0.0 COMMITTED Man Commands</p>
-
-<p>bos.rte.methods 5.1.0.0 COMMITTED Device Config Methods</p>
-
-<p>bos.rte.misc_cmds 5.1.0.0 COMMITTED Miscellaneous Commands</p>
-
-<p>bos.rte.net 5.1.0.0 COMMITTED Network</p>
-
-<p>bos.rte.odm 5.1.0.0 COMMITTED Object Data Manager</p>
-
-<p>bos.rte.printers 5.1.0.1 COMMITTED Front End Printer Support</p>
-
-<p>bos.rte.security 5.1.0.1 COMMITTED Base Security Function</p>
-
-<p>bos.rte.serv_aid 5.1.0.0 COMMITTED Error Log Service Aids</p>
-
-<p>bos.rte.shell 5.1.0.0 COMMITTED Shells (bsh, ksh, csh)</p>
-
-<p>bos.rte.streams 5.1.0.1 COMMITTED Streams Libraries</p>
-
-<p>bos.rte.tty 5.1.0.1 COMMITTED Base TTY Support and Commands</p>
-
-<p>bos.svprint.fonts 5.1.0.0 COMMITTED System V Print Fonts </p>
-
-<p>bos.svprint.hpnp 5.1.0.0 COMMITTED System V Hewlett-Packard JetDirect </p>
-
-<p>bos.svprint.ps 5.1.0.0 COMMITTED System V Print Postscript </p>
-
-<p>bos.svprint.rte 5.1.0.0 COMMITTED System V Print Subsystem </p>
-
-<p>bos.sysmgt.loginlic 5.1.0.0 COMMITTED License Management </p>
-
-<p>bos.sysmgt.nim.client 5.1.0.1 COMMITTED Network Install Manager - Client
-Tools</p>
-
-<p>bos.sysmgt.serv_aid 5.1.0.1 COMMITTED Software Error Logging and Dump
-Service Aids</p>
-
-<p>bos.sysmgt.smit 5.1.0.1 COMMITTED System Management Interface Tool (SMIT)</p>
-
-<p>bos.sysmgt.sysbr 5.1.0.1 COMMITTED System Backup and BOS Install Utilities</p>
-
-<p>bos.sysmgt.trace 5.1.0.1 COMMITTED Software Trace Service Aids</p>
-
-<p>bos.terminfo.rte 5.1.0.0 COMMITTED Run-time Environment for AIX Terminals </p>
-
-<p>bos.txt.spell 5.1.0.0 COMMITTED Writer's Tools Commands </p>
-
-<p>bos.txt.tfs 5.1.0.0 COMMITTED Text Formatting Services Commands </p>
-
-<p>devices.common.IBM.async.diag 5.1.0.0 COMMITTED Common Serial Adapter
-Diagnostics </p>
-
-<p>devices.common.IBM.disk.rte 5.1.0.0 COMMITTED Common IBM Disk Software </p>
-
-<p>devices.common.IBM.ethernet.rte 5.1.0.1 COMMITTED Common Ethernet Software</p>
-
-<p>devices.common.IBM.fda.diag 5.1.0.0 COMMITTED Common Diskette Adapter and
-Device Diagnostics </p>
-
-<p>devices.common.IBM.fda.rte 5.1.0.0 COMMITTED Common Diskette Device Software
-</p>
-
-<p>devices.common.IBM.ktm_std.diag 5.1.0.0 COMMITTED Common Keyboard, Mouse,
-and Tablet Device Diagnostics </p>
-
-<p>devices.common.IBM.ktm_std.rte 5.1.0.0 COMMITTED Common Keyboard, Tablet,
-and Mouse Software </p>
-
-<p>devices.common.IBM.ppa.diag 5.1.0.0 COMMITTED Common Parallel Printer
-Adapter Diagnostics </p>
-
-<p>devices.common.IBM.ppa.rte 5.1.0.0 COMMITTED Common Parallel Printer Adapter
-Software </p>
-
-<p>devices.common.IBM.scsi.rte 5.1.0.0 COMMITTED Common SCSI I/O Controller
-Software </p>
-
-<p>devices.common.base.diag 5.1.0.0 COMMITTED Common Base System Diagnostics</p>
-
-<p>devices.common.rspcbase.rte 5.1.0.0 COMMITTED RISC PC Common Base System
-Device Software </p>
-
-<p>devices.isa_sio.IBM0017.diag 5.1.0.0 COMMITTED Audio Device Diagnostics </p>
-
-<p>devices.isa_sio.IBM0017.rte 5.1.0.0 COMMITTED Audio Device </p>
-
-<p>devices.isa_sio.IBM0019.diag 5.1.0.0 COMMITTED ISA Tablet Software (IBM0019)
-Diagnostics </p>
-
-<p>devices.isa_sio.IBM0019.rte 5.1.0.0 COMMITTED ISA Tablet Software (IBM0019) </p>
-
-<p>devices.isa_sio.IBM001F.diag 5.1.0.0 COMMITTED Ring Indicate Power-on
-Diagnostics </p>
-
-<p>devices.isa_sio.IBM001F.rte 5.1.0.0 COMMITTED Ring Indicate Power-On
-Software </p>
-
-<p>devices.isa_sio.PNP0303.diag 5.1.0.0 COMMITTED ISA Keyboard Diagnostics
-(PNP0303) </p>
-
-<p>devices.isa_sio.PNP0303.rte 5.1.0.0 COMMITTED ISA Keyboard Software
-(PNP0303) </p>
-
-<p>devices.isa_sio.PNP0400.rte 5.1.0.1 COMMITTED RISC PC Standard Parallel Port
-Adapter Software (PNP0400)</p>
-
-<p>devices.isa_sio.PNP0401.diag 5.1.0.0 COMMITTED RISC PC ECP Parallel Port
-Adapter Diagnostics (PNP0401) </p>
-
-<p>devices.isa_sio.PNP0401.rte 5.1.0.0 COMMITTED RISC PC ECP Parallel Port
-Adapter Software (PNP0401) </p>
-
-<p>devices.isa_sio.PNP0501.diag 5.1.0.0 COMMITTED RISC PC Standard Serial
-Adapter Diagnostics (PNP0501) </p>
-
-<p>devices.isa_sio.PNP0501.rte 5.1.0.0 COMMITTED RISC PC Standard Serial
-Adapter Software (PNP0501) </p>
-
-<p>devices.isa_sio.PNP0700.diag 5.1.0.0 COMMITTED RISC PC Diskette Adapter
-Diagnostics (PNP0700) </p>
-
-<p>devices.isa_sio.PNP0700.rte 5.1.0.0 COMMITTED RISC PC Diskette Adapter
-Software (PNP0700) </p>
-
-<p>devices.isa_sio.PNP0F03.diag 5.1.0.0 COMMITTED ISA Mouse Diagnostics
-(PNP0F03) </p>
-
-<p>devices.isa_sio.PNP0F03.rte 5.1.0.0 COMMITTED ISA Mouse Software (PNP0F03) </p>
-
-<p>devices.isa_sio.baud.rte 5.1.0.0 COMMITTED Audio Device Software </p>
-
-<p>devices.isa_sio.km.diag 5.1.0.0 COMMITTED ISA Keyboard & Mouse
-Diagnostics </p>
-
-<p>devices.isa_sio.km.rte 5.1.0.0 COMMITTED ISA Keyboard, Tablet, and Mouse
-Software </p>
-
-<p>devices.msg.en_US.base.com 5.1.0.0 COMMITTED Base System Device Software
-Msgs - U.S. English </p>
-
-<p>devices.msg.en_US.diag.rte 5.1.0.0 COMMITTED Device Diagnostics Messages -
-U.S. English </p>
-
-<p>devices.msg.en_US.rspc.base.com 5.1.0.0 COMMITTED RISC PC Software Messages
-- U.S. English </p>
-
-<p>devices.msg.en_US.sys.mca.rte 5.1.0.0 COMMITTED Micro Channel Bus Software
-Messages - U.S. English </p>
-
-<p>devices.pci.00100100.com 5.1.0.0 COMMITTED Common Symbios PCI SCSI I/O
-Controller Software </p>
-
-<p>devices.pci.00100100.rte 5.1.0.0 COMMITTED Standard NCR53C810 SCSI Software </p>
-
-<p>devices.pci.00100300.diag 5.1.0.1 COMMITTED PCI 16-bit SCSI I/O Controller
-Diagnostics</p>
-
-<p>devices.pci.00100300.rte 5.1.0.0 COMMITTED PCI 16-bit SCSI I/O Controller
-Software </p>
-
-<p>devices.pci.00100f00.rte 5.1.0.0 COMMITTED SYM53C8xxA PCI SCSI I/O
-Controller Software </p>
-
-<p>devices.pci.22100020.diag 5.1.0.0 COMMITTED PCI Ethernet Adapter Diagnostics
-</p>
-
-<p>devices.pci.22100020.rte 5.1.0.0 COMMITTED IBM PCI Ethernet Adapter Software
-</p>
-
-<p>devices.pci.23100020.diag 5.1.0.0 COMMITTED IBM PCI 10/100 Mb Ethernet
-Adapter (23100020) Diagnostics</p>
-
-<p>devices.pci.23100020.rte 5.1.0.1 COMMITTED IBM PCI 10/100 Ethernet Adapter
-Software</p>
-
-<p>devices.pci.86808404.com 5.1.0.0 COMMITTED Common ISA Bus Software </p>
-
-<p>devices.pci.86808404.rte 5.1.0.0 COMMITTED ISA Bus Software </p>
-
-<p>devices.pci.PNP0A00.rte 5.1.0.0 COMMITTED ISA Bus Bridge Software (PNP0A00) </p>
-
-<p>devices.pci.PNP0A03.rte 5.1.0.0 COMMITTED PCI Bus Bridge Software </p>
-
-<p>devices.rspc.base.diag 5.1.0.0 COMMITTED RISC PC Base System Device
-Diagnostics </p>
-
-<p>devices.rspc.base.rte 5.1.0.1 COMMITTED RISC PC Base System Device Software</p>
-
-<p>devices.scsi.disk.diag.com 5.1.0.1 COMMITTED Common Disk Diagnostic Service
-Aid</p>
-
-<p>devices.scsi.disk.diag.rte 5.1.0.1 COMMITTED SCSI CD_ROM, Disk Device
-Diagnostics</p>
-
-<p>devices.scsi.disk.rspc 5.1.0.0 COMMITTED RISC PC SCSI CD-ROM, Disk,
-Read/Write Optical Software </p>
-
-<p>devices.scsi.disk.rte 5.1.0.1 COMMITTED SCSI CD-ROM, Disk, Read/Write
-Optical Device Software</p>
-
-<p>devices.scsi.tape.diag 5.1.0.0 COMMITTED SCSI Tape Device Diagnostics </p>
-
-<p>devices.scsi.tape.rspc 5.1.0.0 COMMITTED RISC PC SCSI Tape Device Software </p>
-
-<p>devices.scsi.tape.rte 5.1.0.0 COMMITTED SCSI Tape Device Software </p>
-
-<p>devices.sys.PNP0A03.rte 5.1.0.0 COMMITTED PCI Bus Software (PNP0A03) </p>
-
-<p>devices.sys.pci.rte 5.1.0.0 COMMITTED PCI Bus Software </p>
-
-<p>devices.tty.rte 5.1.0.0 COMMITTED TTY Device Driver Support Software </p>
-
-<p>idebug.adt.olt 8.4.1.0 COMMITTED Object Level Trace Development Toolkit</p>
-
-<p>idebug.client.extras 9.1.1.0 COMMITTED Debugger Interpreted Engine for OS390</p>
-
-<p>idebug.client.gui 9.1.1.0 COMMITTED Debugger Graphical User Interface</p>
-
-<p>idebug.client.olt 9.1.1.0 COMMITTED Object Level Trace Viewer</p>
-
-<p>idebug.engine.compiled 9.1.1.0 COMMITTED Debugger Engine for Compiled
-Languages</p>
-
-<p>idebug.engine.interpreted 9.1.1.0 COMMITTED Debugger Engine for Interpreted
-Languages</p>
-
-<p>idebug.help.en_US 9.1.1.0 COMMITTED Debugger Help--U.S. English</p>
-
-<p>idebug.msg.en_US.engine 9.1.1.0 COMMITTED Debugger Engine Messages--U.S.
-English</p>
-
-<p>idebug.msg.en_US.olt 9.1.1.0 COMMITTED Object Level Trace Messages--U.S.
-English</p>
-
-<p>idebug.rte.hpj 9.1.1.0 COMMITTED High-Performance Java Runtime</p>
-
-<p>idebug.rte.jre 9.1.1.0 COMMITTED Java Runtime Environment</p>
-
-<p>idebug.rte.olt.Cxx 8.4.1.0 COMMITTED Object Level Trace C++ Runtime</p>
-
-<p>idebug.rte.olt.Java 9.1.1.0 COMMITTED Object Level Trace Java Runtime</p>
-
-<p>idebug.rte.olt.client 9.1.1.0 COMMITTED Object Level Trace Client Controller</p>
-
-<p>idebug.server.olt 9.1.1.0 COMMITTED Object Level Trace Server</p>
-
-<p>ifor_ls.base.cli 5.1.0.0 COMMITTED License Use Management Runtime Code </p>
-
-<p>ifor_ls.msg.en_US.base.cli 5.1.0.0 COMMITTED LUM Runtime Code Messages -
-U.S. English </p>
-
-<p>invscout.ldb 1.2.0.0 COMMITTED Inventory Scout Logic Database</p>
-
-<p>invscout.msg.en_US.rte 1.2.0.0 COMMITTED Inventory Scout Messages - U.S.
-English</p>
-
-<p>invscout.rte 1.2.0.0 COMMITTED Inventory Scout Runtime</p>
-
-<p>ipfx.adt 2.2.0.0 COMMITTED IBM Information Presentation Facility Development
-Kit/6000</p>
-
-<p>ipfx.msg.En_US.adt 2.2.0.0 COMMITTED English IBM-850 message and grammer
-files</p>
-
-<p>ipfx.msg.en_US.adt 2.2.0.0 COMMITTED English ISO8859-1 message and grammer
-files</p>
-
-<p>ipfx.msg.en_US.rte 2.2.0.0 COMMITTED English ISO8859-1 message and grammer
-files</p>
-
-<p>ipfx.rte 2.2.0.0 COMMITTED IBM Information Presentation Facility/6000</p>
-
-<p>memdbg.adt 4.4.2.0 COMMITTED User Heap/Memory Debug Toolkit</p>
-
-<p>memdbg.aix43.adt 4.4.1.0 COMMITTED User Heap/Memory Debug Toolkit for AIX
-4.3</p>
-
-<p>memdbg.aix50.adt 4.4.2.0 COMMITTED User Heap/Memory Debug Toolkit for AIX
-5.0</p>
-
-<p>memdbg.msg.en_US 4.4.2.0 COMMITTED User Heap/Memory Debug Messages--U.S.
-English </p>
-
-<p>perfagent.tools 5.1.0.1 COMMITTED Local Performance Analysis & Control
-Commands</p>
-
-<p>perl.rte 5.6.0.0 COMMITTED Perl Version 5 Runtime Environment </p>
-
-<p>printers.msg.en_US.rte 5.1.0.0 COMMITTED Printer Backend Messages - U.S.
-English </p>
-
-<p>printers.rte 5.1.0.0 COMMITTED Printer Backend </p>
-
-<p>rpm.rte 3.0.5.20 COMMITTED RPM Package Manager</p>
-
-<p>rsct.core.auditrm 2.2.0.0 COMMITTED RSCT Audit Log Resource Manager</p>
-
-<p>rsct.core.errm 2.2.0.0 COMMITTED RSCT Event Response Resource Manager</p>
-
-<p>rsct.core.fsrm 2.2.0.0 COMMITTED RSCT File System Resource Manager</p>
-
-<p>rsct.core.gui 2.2.0.0 COMMITTED RSCT Graphical User Interface</p>
-
-<p>rsct.core.hostrm 2.2.0.0 COMMITTED RSCT Host Resource Manager</p>
-
-<p>rsct.core.rmc 2.2.0.0 COMMITTED RSCT Resource Monitoring and Control</p>
-
-<p>rsct.core.sec 2.2.0.0 COMMITTED RSCT Security</p>
-
-<p>rsct.core.sr 2.2.0.0 COMMITTED RSCT Registry</p>
-
-<p>rsct.core.utils 2.2.0.0 COMMITTED RSCT Utilities</p>
-
-<p>rsct.msg.EN_US.core.auditrm 2.2.0.0 COMMITTED RSCT Audit Log RM Msgs - U.S.
-English (UTF)</p>
-
-<p>rsct.msg.EN_US.core.errm 2.2.0.0 COMMITTED RSCT Event Response RM Msgs -
-U.S. English (UTF)</p>
-
-<p>rsct.msg.EN_US.core.fsrm 2.2.0.0 COMMITTED RSCT File System RM Msgs - U.S.
-English (UTF)</p>
-
-<p>rsct.msg.EN_US.core.gui 2.2.0.0 COMMITTED RSCT GUI Msgs - U.S. English (UTF)</p>
-
-<p>rsct.msg.EN_US.core.hostrm 2.2.0.0 COMMITTED RSCT Host RM Msgs - U.S.
-English (UTF)</p>
-
-<p>rsct.msg.EN_US.core.rmc 2.2.0.0 COMMITTED RSCT RMC Msgs - U.S. English (UTF)</p>
-
-<p>rsct.msg.EN_US.core.sec 2.2.0.0 COMMITTED RSCT Security Msgs - U.S. English
-(UTF)</p>
-
-<p>rsct.msg.EN_US.core.sr 2.2.0.0 COMMITTED RSCT Registry Msgs - U.S. English
-(UTF)</p>
-
-<p>rsct.msg.EN_US.core.utils 2.2.0.0 COMMITTED RSCT Utilities Msgs - U.S.
-English (UTF)</p>
-
-<p>rsct.msg.en_US.core.auditrm 2.2.0.0 COMMITTED RSCT Audit Log RM Msgs - U.S.
-English</p>
-
-<p>rsct.msg.en_US.core.errm 2.2.0.0 COMMITTED RSCT Event Response RM Msgs -
-U.S. English</p>
-
-<p>rsct.msg.en_US.core.fsrm 2.2.0.0 COMMITTED RSCT File System RM Msgs - U.S.
-English</p>
-
-<p>rsct.msg.en_US.core.gui 2.2.0.0 COMMITTED RSCT GUI Msgs - U.S. English</p>
-
-<p>rsct.msg.en_US.core.hostrm 2.2.0.0 COMMITTED RSCT Host RM Msgs - U.S.
-English</p>
-
-<p>rsct.msg.en_US.core.rmc 2.2.0.0 COMMITTED RSCT RMC Msgs - U.S. English</p>
-
-<p>rsct.msg.en_US.core.sec 2.2.0.0 COMMITTED RSCT Security Msgs - U.S. English</p>
-
-<p>rsct.msg.en_US.core.sr 2.2.0.0 COMMITTED RSCT Registry Msgs - U.S. English</p>
-
-<p>rsct.msg.en_US.core.utils 2.2.0.0 COMMITTED RSCT Utilities Msgs - U.S.
-English</p>
-
-<p>sysmgt.help.en_US.websm 5.1.0.0 COMMITTED WebSM Extended Helps - U.S.
-English</p>
-
-<p>sysmgt.help.msg.en_US.websm 5.1.0.0 COMMITTED WebSM Context Helps - U.S.
-English</p>
-
-<p>sysmgt.msg.en_US.sguide.rte 5.1.0.0 COMMITTED TaskGuide Viewer Messages -
-U.S. English </p>
-
-<p>sysmgt.msg.en_US.websm.apps 5.1.0.0 COMMITTED WebSM Client Apps. Messages -
-U.S. English </p>
-
-<p>sysmgt.sguide.rte 5.1.0.0 COMMITTED TaskGuide Runtime Environment </p>
-
-<p>sysmgt.websm.apps 5.1.0.1 COMMITTED Web-based System Manager Applications</p>
-
-<p>sysmgt.websm.diag 5.1.0.0 COMMITTED Web-based System Manager Diagnostic
-Applications </p>
-
-<p>sysmgt.websm.framework 5.1.0.1 COMMITTED Web-based System Manager
-Client/Server Support</p>
-
-<p>sysmgt.websm.icons 5.1.0.1 COMMITTED Web-based System Manager Icons</p>
-
-<p>sysmgt.websm.rte 5.1.0.1 COMMITTED Web-based System Manager Runtime
-Environment</p>
-
-<p>sysmgt.websm.webaccess 5.1.0.1 COMMITTED WebSM Web Access Enablement</p>
-
-<p>vac.C 5.0.2.0 COMMITTED C for AIX Compiler</p>
-
-<p>vac.C.readme.ibm 5.0.2.0 COMMITTED C for AIX iFOR/LS Information</p>
-
-<p>vac.html.DBCS.search 5.0.1.0 COMMITTED C for AIX Compiler Documentation
-Search Double Byte Common Files</p>
-
-<p>vac.html.Ja_JP.C 5.0.2.0 COMMITTED C for AIX Compiler Documentation (HTML)--Japanese</p>
-
-<p>vac.html.Ja_JP.search 5.0.1.0 COMMITTED C for AIX Compiler Documentation
-Search--Japanese</p>
-
-<p>vac.html.SBCS.search 5.0.1.0 COMMITTED C for AIX Compiler Documentation
-Search Single Byte Common Files</p>
-
-<p>vac.html.common.search 5.0.2.0 COMMITTED C for AIX Compiler Documentation
-Search Common Files</p>
-
-<p>vac.html.en_US.C 5.0.2.0 COMMITTED C for AIX Compiler Documentation
-(HTML)--U.S. English</p>
-
-<p>vac.html.en_US.search 5.0.1.0 COMMITTED C for AIX Compiler Documentation
-Search--U.S. English</p>
-
-<p>vac.html.zh_CN.C 5.0.2.0 COMMITTED C for AIX Compiler Documentation
-(HTML)--Simplified Chinese</p>
-
-<p>vac.html.zh_CN.search 5.0.1.0 COMMITTED C for AIX Compiler Documentation
-Search--Simplified Chinese</p>
-
-<p>vac.msg.en_US.C 5.0.2.0 COMMITTED C for AIX Compiler Messages - en_US</p>
-
-<p>vac.pdf.en_US.C 5.0.2.0 COMMITTED C for AIX Documentation (PDF)--U.S.
-English</p>
-
-<p>vacpp.Dt.common 5.0.2.0 COMMITTED VisualAge C++ Desktop Integration Common
-Files</p>
-
-<p>vacpp.Dt.dax 5.0.2.0 COMMITTED VisualAge C++ Data Access Builder Desktop
-Integration</p>
-
-<p>vacpp.Dt.help 5.0.2.0 COMMITTED VisualAge C++ Help Desktop Integration</p>
-
-<p>vacpp.Dt.ide 5.0.2.0 COMMITTED VisualAge C++ IDE Desktop Integration</p>
-
-<p>vacpp.Dt.ipf 5.0.2.0 COMMITTED VisualAge C++ IPFX Desktop Integration</p>
-
-<p>vacpp.Dt.perf 5.0.2.0 COMMITTED VisualAge C++ Performance Analyzer Desktop
-Integration</p>
-
-<p>vacpp.Dt.techide 5.0.2.0 COMMITTED VisualAge C++ IDE Tech Preview Desktop
-Integration</p>
-
-<p>vacpp.cmp.C 5.0.2.0 COMMITTED VisualAge C++ C Compiler</p>
-
-<p>vacpp.cmp.aix50.lib 5.0.2.1 COMMITTED VisualAge C++ Libraries for AIX 5.0</p>
-
-<p>vacpp.cmp.batch 5.0.2.0 COMMITTED VisualAge C++ Batch Compiler</p>
-
-<p>vacpp.cmp.core 5.0.2.0 COMMITTED VisualAge C++ Compiler</p>
-
-<p>vacpp.cmp.extension 5.0.2.0 COMMITTED VisualAge C++ Extension Interface</p>
-
-<p>vacpp.cmp.include 5.0.2.1 COMMITTED VisualAge C++ Compiler Include Files</p>
-
-<p>vacpp.cmp.incremental 5.0.2.0 COMMITTED VisualAge C++ Incremental Compiler</p>
-
-<p>vacpp.cmp.lib 5.0.2.1 COMMITTED VisualAge C++ Libraries</p>
-
-<p>vacpp.cmp.rte 5.0.2.0 COMMITTED VisualAge C++ Compiler Application Runtime</p>
-
-<p>vacpp.cmp.tools 5.0.2.1 COMMITTED VisualAge C++ Tools</p>
-
-<p>vacpp.dax.adt 5.0.2.0 COMMITTED VisualAge C++ Data Access Builder Toolkit</p>
-
-<p>vacpp.dax.rte 5.0.2.0 COMMITTED VisualAge C++ Data Access Builder Runtime</p>
-
-<p>vacpp.html.common 5.0.2.0 COMMITTED VisualAge C++ Documentation
-(HTML)--Common Files</p>
-
-<p>vacpp.html.help 5.0.2.0 COMMITTED VisualAge C++ HTML Help Engine</p>
-
-<p>vacpp.ide 5.0.2.0 COMMITTED VisualAge C++ IDE</p>
-
-<p>vacpp.ioc.aix50.lib 5.0.2.0 COMMITTED IBM Open Class Library AIX 5.0 Static
-Libraries</p>
-
-<p>vacpp.ioc.aix50.rte 5.0.2.0 COMMITTED IBM Open Class Library AIX 5.0
-Application Runtime</p>
-
-<p>vacpp.ioc.lib 5.0.2.0 COMMITTED IBM Open Class Library Static Libraries</p>
-
-<p>vacpp.ioc.rte 5.0.2.0 COMMITTED IBM Open Class Library Application Runtime</p>
-
-<p>vacpp.lic 5.0.2.0 COMMITTED VisualAge C++ Licence Files</p>
-
-<p>vacpp.loc.en_US.cmp.core 5.0.2.0 COMMITTED VisualAge Compiler C++ Locale
-Data--U.S. English</p>
-
-<p>vacpp.memdbg.aix50.lib 5.0.2.1 COMMITTED VA C++ User Heap/Memory Debug AIX
-5.0 Libraries</p>
-
-<p>vacpp.memdbg.aix50.rte 5.0.2.1 COMMITTED VA C++ User Heap/Memory Debug AIX 5.0
-Runtime</p>
-
-<p>vacpp.memdbg.lib 5.0.2.0 COMMITTED VisualAge C++ User Heap and Memory Debug
-Static Libraries</p>
-
-<p>vacpp.memdbg.rte 5.0.2.0 COMMITTED VisualAge C++ User Heap and Memory Debug
-Runtime</p>
-
-<p>vacpp.msg.en_US.cmp.batch 5.0.2.0 COMMITTED VisualAge Batch Compiler C++
-Messages--U.S. English</p>
-
-<p>vacpp.msg.en_US.cmp.core 5.0.2.0 COMMITTED VisualAge Compiler C++
-Messages--U.S. English</p>
-
-<p>vacpp.msg.en_US.cmp.tools 5.0.2.0 COMMITTED VisualAge C++ Tools
-Messages--U.S. English</p>
-
-<p>vacpp.msg.en_US.dax 5.0.2.0 COMMITTED Data Access Builder Messages--U.S.
-English</p>
-
-<p>vacpp.msg.en_US.html.help 5.0.2.0 COMMITTED VisualAge C++ Help Engine
-Messages--U.S. English</p>
-
-<p>vacpp.msg.en_US.ide 5.0.2.0 COMMITTED VisualAge C++ IDE Messages--U.S.
-English</p>
-
-<p>vacpp.msg.en_US.ioc.rte 5.0.2.0 COMMITTED IBM Open Class Library Runtime
-Messages--U.S. English</p>
-
-<p>vacpp.msg.en_US.rescmp 5.0.2.0 COMMITTED VisualAge C++ Resource Compiler
-Messages--U.S. English</p>
-
-<p>vacpp.pdf.common 5.0.2.0 COMMITTED VisualAge C++ Documentation (PDF)--Common
-Files</p>
-
-<p>vacpp.pdf.en_US 5.0.2.0 COMMITTED VisualAge C++ Documentation (PDF)--U.S.
-English</p>
-
-<p>vacpp.rescmp 5.0.2.0 COMMITTED VisualAge C++ Resource Compiler</p>
-
-<p>vacpp.samples.ansicl 5.0.2.0 COMMITTED ANSI CLass Library Samples</p>
-
-<p>vacpp.samples.dax 5.0.2.0 COMMITTED Data Access Builder Samples</p>
-
-<p>vacpp.source.ioc 5.0.2.0 COMMITTED IBM Open Class Library Source</p>
-
-<p>vacpp.tutorial.Ja_JP 5.0.2.0 COMMITTED VisualAge C++ Tutorial -- Japanese</p>
-
-<p>vacpp.tutorial.common 5.0.2.0 COMMITTED VisualAge C++ Tutorial -- Common
-Files</p>
-
-<p>vacpp.tutorial.en_US 5.0.2.0 COMMITTED VisualAge C++ Tutorial -- U.S.
-English</p>
-
-<p>vacpp.tutorial.zh_CN 5.0.2.0 COMMITTED VisualAge C++ Tutorial -- Simlpified
-Chinese</p>
-
-<p>vacpp.vb.lib 5.0.2.0 COMMITTED Visual Builder Libraries</p>
-
-<p>vacpp.vb.rte 5.0.2.0 COMMITTED VisualAge C++ Visual Builder Runtime</p>
-
-<p>vatools.html.help 5.0.2.0 COMMITTED VisualAge Tools HTML Help Engine</p>
-
-<p>vatools.lpex.editor 5.0.2.0 COMMITTED VisualAge Tools LPEX Editor</p>
-
-<p>vatools.msg.en_US.html.help 5.0.2.0 COMMITTED VA Tools HTML Help Engine
-Messages--U.S. English</p>
-
-<p>vatools.msg.en_US.lpex.editor 5.0.2.0 COMMITTED VisualAge Tools LPEX Editor
-Messages--U.S. English</p>
-
-<p>vatools.msg.en_US.perf 5.0.2.0 COMMITTED VA Tools Performance Analyzer</p>
-
-<p>Messages--U.S. English</p>
-
-<p>vatools.msg.en_US.sg 5.0.2.0 COMMITTED VA Tools SmartGuide Messages--U.S.
-English</p>
-
-<p>vatools.perf.aix50.lib 5.0.2.0 COMMITTED VisualAge Tools Performance
-Analyzer AIX 5.0 Libraries </p>
-
-<p>vatools.perf.analyzer 5.0.2.0 COMMITTED VisualAge Tools Performance Analyzer</p>
-
-<p>vatools.sg 5.0.2.0 COMMITTED VisualAge Tools SmartGuide Framework</p>
-
-<p>xlC.adt.include 5.0.2.0 COMMITTED C Set ++ Application Development Toolkit</p>
-
-<p>xlC.aix43.rte 4.0.2.2 COMMITTED C Set ++ Runtime for AIX 4.3 </p>
-
-<p>xlC.aix50.rte 5.0.2.1 COMMITTED C Set ++ Runtime for AIX 5.0</p>
-
-<p>xlC.cpp 5.0.2.0 COMMITTED C for AIX Preprocessor</p>
-
-<p>xlC.msg.en_US.rte 5.0.2.0 COMMITTED C Set ++ Runtime Messages--U.S. English</p>
-
-<p>xlC.rte 5.0.2.0 COMMITTED C Set ++ Runtime</p>
-
-<p>xlsmp.msg.en_US.rte 1.3.4.0 COMMITTED XL SMP Runtime Messages - U.S. English</p>
-
-<p>xlsmp.rte 1.3.4.0 COMMITTED SMP Runtime Library</p>
-
-<p>Path: /etc/objrepos</p>
-
-<p>IMNSearch.rte.DBCS 1.2.3.0 COMMITTED NetQuestion DBCS Search Engine</p>
-
-<p>IMNSearch.rte.SBCS 1.2.3.0 COMMITTED NetQuestion SBCS Search Engine</p>
-
-<p>IMNSearch.rte.httpdlite 2.0.0.2 COMMITTED Lite NetQuestion Local Web Server </p>
-
-<p>Tivoli_Management_Agent.client.rte 3.2.0.0 COMMITTED Management Agent
-runtime"</p>
-
-<p>X11.Dt.ToolTalk 5.1.0.0 COMMITTED AIX CDE ToolTalk Support </p>
-
-<p>X11.Dt.bitmaps 5.1.0.0 COMMITTED AIX CDE Bitmaps </p>
-
-<p>X11.Dt.helpinfo 5.1.0.0 COMMITTED AIX CDE Help Files and Volumes</p>
-
-<p>X11.Dt.helpmin 5.1.0.0 COMMITTED AIX CDE Minimum Help Files </p>
-
-<p>X11.Dt.rte 5.1.0.0 COMMITTED AIX Common Desktop Environment (CDE) 1.0 </p>
-
-<p>X11.base.rte 5.1.0.0 COMMITTED AIXwindows Runtime Environment</p>
-
-<p>X11.base.smt 5.1.0.0 COMMITTED AIXwindows Runtime Shared Memory Transport </p>
-
-<p>bos.acct 5.1.0.0 COMMITTED Accounting Services </p>
-
-<p>bos.diag.com 5.1.0.0 COMMITTED Common Hardware Diagnostics </p>
-
-<p>bos.diag.rte 5.1.0.0 COMMITTED Hardware Diagnostics </p>
-
-<p>bos.diag.util 5.1.0.0 COMMITTED Hardware Diagnostics Utilities</p>
-
-<p>bos.docsearch.rte 5.1.0.0 COMMITTED DocSearch Runtime </p>
-
-<p>bos.html.en_US.topnav.navigate 5.1.0.0 COMMITTED Top Level Navigation - U.S.
-English</p>
-
-<p>bos.mp 5.1.0.0 COMMITTED Base Operating System Multiprocessor Runtime </p>
-
-<p>bos.net.ncs 5.1.0.0 COMMITTED Network Computing System 1.5.1</p>
-
-<p>bos.net.nfs.cachefs 5.1.0.0 COMMITTED CacheFS File System </p>
-
-<p>bos.net.nfs.client 5.1.0.0 COMMITTED Network File System Client </p>
-
-<p>bos.net.nis.client 5.1.0.0 COMMITTED Network Information Service Client </p>
-
-<p>bos.net.nis.server 5.1.0.0 COMMITTED Network Information Service Server </p>
-
-<p>bos.net.snapp 5.1.0.0 COMMITTED System Networking Analysis and Performance
-Pilot </p>
-
-<p>bos.net.tcp.client 5.1.0.0 COMMITTED TCP/IP Client Support </p>
-
-<p>bos.net.tcp.server 5.1.0.0 COMMITTED TCP/IP Server </p>
-
-<p>bos.net.uucp 5.1.0.0 COMMITTED Unix to Unix Copy Program </p>
-
-<p>bos.perf.diag_tool 5.1.0.0 COMMITTED Performance Diagnostic Tool </p>
-
-<p>bos.perf.perfstat 5.1.0.0 COMMITTED Performance Statistics Interface </p>
-
-<p>bos.powermgt.rte 5.1.0.0 COMMITTED Power Management Runtime Software </p>
-
-<p>bos.rte 5.1.0.0 COMMITTED Base Operating System Runtime</p>
-
-<p>bos.rte.Dt 5.1.0.0 COMMITTED Desktop Integrator</p>
-
-<p>bos.rte.SRC 5.1.0.0 COMMITTED System Resource Controller</p>
-
-<p>bos.rte.aio 5.1.0.0 COMMITTED Asynchronous I/O Extension</p>
-
-<p>bos.rte.archive 5.1.0.0 COMMITTED Archive Commands</p>
-
-<p>bos.rte.boot 5.1.0.1 COMMITTED Boot Commands</p>
-
-<p>bos.rte.commands 5.1.0.0 COMMITTED Commands</p>
-
-<p>bos.rte.control 5.1.0.0 COMMITTED System Control Commands</p>
-
-<p>bos.rte.cron 5.1.0.0 COMMITTED Batch Operations</p>
-
-<p>bos.rte.devices 5.1.0.0 COMMITTED Base Device Drivers</p>
-
-<p>bos.rte.diag 5.1.0.0 COMMITTED Diagnostics</p>
-
-<p>bos.rte.filesystem 5.1.0.1 COMMITTED Filesystem Administration</p>
-
-<p>bos.rte.jfscomp 5.1.0.0 COMMITTED JFS Compression</p>
-
-<p>bos.rte.lvm 5.1.0.0 COMMITTED Logical Volume Manager</p>
-
-<p>bos.rte.printers 5.1.0.0 COMMITTED Front End Printer Support</p>
-
-<p>bos.rte.security 5.1.0.0 COMMITTED Base Security Function</p>
-
-<p>bos.rte.serv_aid 5.1.0.0 COMMITTED Error Log Service Aids</p>
-
-<p>bos.rte.shell 5.1.0.0 COMMITTED Shells (bsh, ksh, csh)</p>
-
-<p>bos.rte.tty 5.1.0.0 COMMITTED Base TTY Support and Commands</p>
-
-<p>bos.svprint.ps 5.1.0.0 COMMITTED System V Print Postscript </p>
-
-<p>bos.sysmgt.loginlic 5.1.0.0 COMMITTED License Management </p>
-
-<p>bos.sysmgt.nim.client 5.1.0.0 COMMITTED Network Install Manager - Client
-Tools </p>
-
-<p>bos.sysmgt.serv_aid 5.1.0.0 COMMITTED Software Error Logging and Dump
-Service Aids </p>
-
-<p>bos.sysmgt.sysbr 5.1.0.0 COMMITTED System Backup and BOS Install Utilities </p>
-
-<p>bos.sysmgt.trace 5.1.0.1 COMMITTED Software Trace Service Aids
-devices.common.IBM.ethernet.rte 5.1.0.0 COMMITTED Common Ethernet Software </p>
-
-<p>devices.common.IBM.ktm_std.rte 5.1.0.0 COMMITTED Common Keyboard, Tablet,
-and Mouse Software </p>
-
-<p>devices.common.IBM.scsi.rte 5.1.0.0 COMMITTED Common SCSI I/O Controller
-Software </p>
-
-<p>devices.isa_sio.IBM001F.rte 5.1.0.0 COMMITTED Ring Indicate Power-On
-Software </p>
-
-<p>devices.isa_sio.PNP0501.rte 5.1.0.0 COMMITTED RISC PC Standard Serial
-Adapter Software (PNP0501) </p>
-
-<p>devices.pci.22100020.rte 5.1.0.0 COMMITTED IBM PCI Ethernet Adapter Software
-</p>
-
-<p>devices.pci.23100020.rte 5.1.0.1 COMMITTED IBM PCI 10/100 Ethernet Adapter
-Software</p>
-
-<p>devices.rspc.base.diag 5.1.0.0 COMMITTED RISC PC Base System Device
-Diagnostics </p>
-
-<p>devices.rspc.base.rte 5.1.0.0 COMMITTED RISC PC Base System Device Software </p>
-
-<p>devices.tty.rte 5.1.0.0 COMMITTED TTY Device Driver Support Software </p>
-
-<p>idebug.client.gui 9.1.1.0 COMMITTED Debugger Graphical User Interface</p>
-
-<p>ifor_ls.base.cli 5.1.0.0 COMMITTED License Use Management Runtime Code </p>
-
-<p>invscout.ldb 1.2.0.0 COMMITTED Inventory Scout Logic Database</p>
-
-<p>invscout.rte 1.2.0.0 COMMITTED Inventory Scout Runtime</p>
-
-<p>perfagent.tools 5.1.0.0 COMMITTED Local Performance Analysis & Control
-Commands </p>
-
-<p>printers.rte 5.1.0.0 COMMITTED Printer Backend </p>
-
-<p>rpm.rte 3.0.5.20 COMMITTED RPM Package Manager</p>
-
-<p>rsct.core.rmc 2.2.0.0 COMMITTED RSCT Resource Monitoring and Control</p>
-
-<p>rsct.core.utils 2.2.0.0 COMMITTED RSCT Utilities</p>
-
-<p>sysmgt.websm.apps 5.1.0.0 COMMITTED Web-based System Manager Applications </p>
-
-<p>sysmgt.websm.framework 5.1.0.0 COMMITTED Web-based System Manager
-Client/Server Support </p>
-
-<p>sysmgt.websm.rte 5.1.0.0 COMMITTED Web-based System Manager Runtime
-Environment </p>
-
-<p>vac.C 5.0.2.0 COMMITTED C for AIX Compiler</p>
-
-<p>vac.html.DBCS.search 5.0.1.0 COMMITTED C for AIX Compiler Documentation
-Search Double Byte Common Files</p>
-
-<p>vac.html.Ja_JP.search 5.0.1.0 COMMITTED C for AIX Compiler Documentation
-Search--Japanese</p>
-
-<p>vac.html.SBCS.search 5.0.1.0 COMMITTED C for AIX Compiler Documentation
-Search Single Byte Common Files</p>
-
-<p>vac.html.en_US.search 5.0.1.0 COMMITTED C for AIX Compiler Documentation
-Search--U.S. English</p>
-
-<p>vac.html.zh_CN.search 5.0.1.0 COMMITTED C for AIX Compiler Documentation
-Search--Simplified Chinese</p>
-
-<p>vacpp.Dt.common 5.0.2.0 COMMITTED VisualAge C++ Desktop Integration Common
-Files</p>
-
-<p>vacpp.Dt.dax 5.0.2.0 COMMITTED VisualAge C++ Data Access Builder Desktop
-Integration</p>
-
-<p>vacpp.Dt.help 5.0.2.0 COMMITTED VisualAge C++ Help Desktop Integration</p>
-
-<p>vacpp.Dt.ide 5.0.2.0 COMMITTED VisualAge C++ IDE Desktop Integration</p>
-
-<p>vacpp.Dt.ipf 5.0.2.0 COMMITTED VisualAge C++ IPFX Desktop Integration</p>
-
-<p>vacpp.Dt.perf 5.0.2.0 COMMITTED VisualAge C++ Performance Analyzer Desktop
-Integration</p>
-
-<p>vacpp.Dt.techide 5.0.2.0 COMMITTED VisualAge C++ IDE Tech Preview Desktop
-Integration</p>
-
-<p>vacpp.cmp.core 5.0.2.0 COMMITTED VisualAge C++ Compiler</p>
-
-<p>vacpp.html.common 5.0.2.0 COMMITTED VisualAge C++ Documentation
-(HTML)--Common Files</p>
-
-<p>vacpp.html.help 5.0.2.0 COMMITTED VisualAge C++ HTML Help Engine</p>
-
-<p>vacpp.loc.en_US.cmp.core 5.0.2.0 COMMITTED VisualAge Compiler C++ Locale Data--U.S.
-English</p>
-
-<p>vatools.html.help 5.0.2.0 COMMITTED VisualAge Tools HTML Help Engine</p>
-
-<p>Path: /usr/share/lib/objrepos</p>
-
-<p>bos.adt.data 5.1.0.0 COMMITTED Base Application Development Toolkit Data </p>
-
-<p>bos.terminfo.ansi.data 5.1.0.0 COMMITTED Amer National Stds Institute
-Terminal Defs </p>
-
-<p>bos.terminfo.com.data 5.1.0.0 COMMITTED Common Terminal Definitions </p>
-
-<p>bos.terminfo.dec.data 5.1.0.0 COMMITTED Digital Equipment Corp. Terminal
-Definitions </p>
-
-<p>bos.terminfo.ibm.data 5.1.0.0 COMMITTED IBM Terminal Definitions </p>
-
-<p>bos.terminfo.pc.data 5.1.0.0 COMMITTED Personal Computer Terminal
-Definitions </p>
-
-<p>bos.terminfo.svprint.data 5.1.0.0 COMMITTED System V Printer Terminal
-Definitions </p>
-
-<p>bos.terminfo.televideo.data 5.1.0.0 COMMITTED Televideo Terminal Definitions</p>
-
-<p>bos.terminfo.wyse.data 5.1.0.0 COMMITTED Wyse Terminal Definitions </p>
-
-<p>bos.txt.spell.data 5.1.0.0 COMMITTED Writer's Tools Data </p>
-
-<p>bos.txt.tfs.data 5.1.0.0 COMMITTED Text Formatting Services Data </p>
-
-<h2>IBM AIX 4.3.3<a name=ibmaix43></a></h2>
-
-<p>Fileset Level State Description</p>
-
-<p>----------------------------------------------------------------------------</p>
-
-<p>Path: /usr/lib/objrepos</p>
-
-<p>IMNSearch.bld.SBCS 1.2.3.0 COMMITTED NetQuestion SBCS Buildtime Modules</p>
-
-<p>IMNSearch.rte.SBCS 1.2.3.1 COMMITTED NetQuestion SBCS Search Engine</p>
-
-<p>IMNSearch.rte.httpdlite 2.0.0.1 COMMITTED NetQuestion Web Server</p>
-
-<p>Java.adt.docs 1.1.8.0 COMMITTED Java Documentation</p>
-
-<p>Java.adt.includes 1.1.8.4 COMMITTED Java Application Development Toolkit
-Includes</p>
-
-<p>Java.adt.src 1.1.8.8 COMMITTED Java Class Source Code</p>
-
-<p>Java.rmi-iiop.bin 1.1.8.0 COMMITTED Java RMI-IIOP Executables</p>
-
-<p>Java.rmi-iiop.docs 1.1.8.8 COMMITTED Java RMI-IIOP Documentation</p>
-
-<p>Java.rmi-iiop.lib 1.1.8.8 COMMITTED Java RMI-IIOP Libraries</p>
-
-<p>Java.rmi-iiop.samples 1.1.8.1 COMMITTED Java RMI-IIOP Samples</p>
-
-<p>Java.rte.Dt 1.1.8.0 COMMITTED Java Runtime Environment Desktop</p>
-
-<p>Java.rte.bin 1.1.8.8 COMMITTED Java Runtime Environment Executables</p>
-
-<p>Java.rte.classes 1.1.8.8 COMMITTED Java Runtime Environment Classes</p>
-
-<p>Java.rte.lib 1.1.8.8 COMMITTED Java Runtime Environment Libraries</p>
-
-<p>Java.samples.AIXDemos 1.1.8.0 COMMITTED Java Universal Navigator AIX Demo</p>
-
-<p>Java.samples.demos 1.1.8.1 COMMITTED Java Sample Demos</p>
-
-<p>Java.samples.examples 1.1.8.2 COMMITTED Java Examples</p>
-
-<p>Java.security.docs 1.1.8.0 COMMITTED Java Security Backport Documentation</p>
-
-<p>Java.security.lib 1.1.8.8 COMMITTED Java Security Backport Libraries</p>
-
-<p>Java.swing.doc 1.1.8.0 COMMITTED Swing Documentation</p>
-
-<p>Java.swing.examples 1.1.8.0 COMMITTED Swing Examples</p>
-
-<p>Java.swing.lib 1.1.8.1 COMMITTED Swing Libraries</p>
-
-<p>Java.swing.src 1.1.8.1 COMMITTED Swing Source Code</p>
-
-<p>Java130.adt.debug 1.3.0.5 COMMITTED Java Application Development Debuggers </p>
-
-<p>Java130.adt.includes 1.3.0.2 COMMITTED Java Application Development Toolkit
-Includes </p>
-
-<p>Java130.cmp-us 1.3.0.0 COMMITTED Java Certificate Management Protocol </p>
-
-<p>Java130.ext.commapi 1.3.0.0 COMMITTED Java Comm API Extension</p>
-
-<p>Java130.ext.jaas 1.3.0.4 COMMITTED JAAS (Java Authentication &
-Authorization Service) Extension </p>
-
-<p>Java130.ext.plugin 1.3.0.5 COMMITTED Java Plugin for Netscape </p>
-
-<p>Java130.jce-us 1.3.0.0 COMMITTED Java Cryptography Extension </p>
-
-<p>Java130.jsse-us 1.3.0.0 COMMITTED Java Secure Socket Extension </p>
-
-<p>Java130.pkcs-us 1.3.0.0 COMMITTED Java Public Key Cryptography Standards </p>
-
-<p>Java130.rte.bin 1.3.0.5 COMMITTED Java Runtime Environment Executables </p>
-
-<p>Java130.rte.lib 1.3.0.5 COMMITTED Java Runtime Environment Libraries </p>
-
-<p>Java130.samples.demos 1.3.0.2 COMMITTED Java Sample Demos </p>
-
-<p>Java130.xml4j 1.3.0.0 COMMITTED XML Parser for Java </p>
-
-<p>Java_dev2.adt.debug 1.2.2.5 COMMITTED Java Application Development Debuggers</p>
-
-<p>Java_dev2.adt.includes 1.2.2.1 COMMITTED Java Application Development
-Toolkit Includes</p>
-
-<p>Java_dev2.adt.src 1.2.2.5 COMMITTED Java Classes Source Code</p>
-
-<p>Java_dev2.ext.commapi 1.2.2.0 COMMITTED Java Comm API Extension</p>
-
-<p>Java_dev2.ext.jaas 1.2.2.1 COMMITTED JAAS (Java Authentication &
-Authorization Service) Extension</p>
-
-<p>Java_dev2.ext.plugin 1.2.2.5 COMMITTED Java PlugIn for Netscape</p>
-
-<p>Java_dev2.rte.bin 1.2.2.5 COMMITTED Java Runtime Environment Executables</p>
-
-<p>Java_dev2.rte.lib 1.2.2.5 COMMITTED Java Runtime Environment Libraries</p>
-
-<p>Java_dev2.samples.demos 1.2.2.0 COMMITTED Java Sample Demos</p>
-
-<p>Netscape.communicator.com 4.6.1.0 COMMITTED Netscape Communicator Common
-Files</p>
-
-<p>Netscape.communicator.plugins</p>
-
-<p>4.6.1.0 COMMITTED Netscape Communicator Plugins</p>
-
-<p>Netscape.communicator.us 4.6.1.0 COMMITTED Netscape Communicator U.S. Version</p>
-
-<p>X11.Dt.ToolTalk 4.3.3.25 COMMITTED AIX CDE ToolTalk Support</p>
-
-<p>X11.Dt.adt 4.3.3.10 COMMITTED AIX CDE Application Developers' Toolkit</p>
-
-<p>X11.Dt.bitmaps 4.3.2.0 COMMITTED AIX CDE Bitmaps </p>
-
-<p>X11.Dt.compat 4.3.1.0 COMMITTED AIX CDE Compatibility </p>
-
-<p>X11.Dt.helpinfo 4.3.3.10 COMMITTED AIX CDE Help Files and Volumes</p>
-
-<p>X11.Dt.helpmin 4.3.1.0 COMMITTED AIX CDE Minimum Help Files </p>
-
-<p>X11.Dt.helprun 4.3.3.0 COMMITTED AIX CDE Runtime Help </p>
-
-<p>X11.Dt.lib 4.3.3.25 COMMITTED AIX CDE Runtime Libraries</p>
-
-<p>X11.Dt.rte 4.3.3.25 COMMITTED AIX Common Desktop Environment (CDE) 1.0</p>
-
-<p>X11.Dt.xdt2cde 4.3.3.0 COMMITTED AIX CDE Migration Tool </p>
-
-<p>X11.adt.bitmaps 4.3.0.0 COMMITTED AIXwindows Application Development Toolkit
-Bitmap Files </p>
-
-<p>X11.adt.ext 4.3.3.10 COMMITTED AIXwindows Application Development Toolkit
-for X Extensions</p>
-
-<p>X11.adt.imake 4.3.3.25 COMMITTED AIXwindows Application Development Toolkit
-imake</p>
-
-<p>X11.adt.include 4.3.3.25 COMMITTED AIXwindows Application Development
-Toolkit Include Files</p>
-
-<p>X11.adt.lib 4.3.3.10 COMMITTED AIXwindows Application Development Toolkit
-Libraries</p>
-
-<p>X11.adt.motif 4.3.3.25 COMMITTED AIXwindows Application Development Toolkit
-Motif</p>
-
-<p>X11.apps.aixterm 4.3.3.25 COMMITTED AIXwindows aixterm Application</p>
-
-<p>X11.apps.clients 4.3.3.25 COMMITTED AIXwindows Client Applications</p>
-
-<p>X11.apps.config 4.3.3.25 COMMITTED AIXwindows Configuration Applications</p>
-
-<p>X11.apps.custom 4.3.3.0 COMMITTED AIXwindows Customizing Tool </p>
-
-<p>X11.apps.msmit 4.3.3.25 COMMITTED AIXwindows msmit Application</p>
-
-<p>X11.apps.pm 4.3.3.0 COMMITTED AIXwindows Power Management GUI Utility </p>
-
-<p>X11.apps.rte 4.3.3.1 COMMITTED AIXwindows Runtime Configuration Applications</p>
-
-<p>X11.apps.util 4.3.3.0 COMMITTED AIXwindows Utility Applications </p>
-
-<p>X11.apps.xdm 4.3.3.25 COMMITTED AIXwindows xdm Application</p>
-
-<p>X11.apps.xterm 4.3.3.10 COMMITTED AIXwindows xterm Application</p>
-
-<p>X11.base.common 4.3.3.0 COMMITTED AIXwindows Runtime Common Directories </p>
-
-<p>X11.base.lib 4.3.3.25 COMMITTED AIXwindows Runtime Libraries</p>
-
-<p>X11.base.rte 4.3.3.25 COMMITTED AIXwindows Runtime Environment</p>
-
-<p>X11.base.smt 4.3.3.10 COMMITTED AIXwindows Runtime Shared Memory Transport</p>
-
-<p>X11.compat.adt.Motif12 4.3.3.0 COMMITTED AIXwindows Motif 1.2 Compatibility
-Development Toolkit </p>
-
-<p>X11.compat.fnt.pc 4.3.0.0 COMMITTED AIXwindows PC850 Fonts Compatibility </p>
-
-<p>X11.compat.lib.Motif10 4.3.0.0 COMMITTED AIXwindows Motif 1.0 Libraries
-Compatibility </p>
-
-<p>X11.compat.lib.Motif114 4.3.0.0 COMMITTED AIXwindows Motif 1.1.4 Libraries
-Compatibility </p>
-
-<p>X11.compat.lib.X11R3 4.3.0.0 COMMITTED AIXwindows X11R3 Libraries
-Compatibility </p>
-
-<p>X11.compat.lib.X11R4 4.3.0.0 COMMITTED AIXwindows X11R4 Libraries
-Compatibility </p>
-
-<p>X11.compat.lib.X11R5 4.3.3.25 COMMITTED AIXwindows X11R5 Compatibility
-Libraries</p>
-
-<p>X11.fnt.coreX 4.3.0.0 COMMITTED AIXwindows X Consortium Fonts </p>
-
-<p>X11.fnt.defaultFonts 4.3.2.0 COMMITTED AIXwindows Default Fonts </p>
-
-<p>X11.fnt.iso1 4.3.3.10 COMMITTED AIXwindows Latin 1 Fonts</p>
-
-<p>X11.fnt.ucs.com 4.3.3.10 COMMITTED AIXwindows Common Fonts Unicode</p>
-
-<p>X11.fnt.ucs.ttf 4.3.3.0 COMMITTED AIXwindows Unicode TrueType Fonts </p>
-
-<p>X11.loc.en_US.Dt.rte 4.3.3.0 COMMITTED AIX CDE Locale Configuration - U.S.
-English </p>
-
-<p>X11.loc.en_US.base.lib 4.3.0.0 COMMITTED AIXwindows Client Locale Config -
-U.S. English </p>
-
-<p>X11.loc.en_US.base.rte 4.3.0.0 COMMITTED AIXwindows Locale Configuration -
-U.S. English </p>
-
-<p>X11.man.en_US.Dt.adt 4.3.0.0 COMMITTED AIX CDE Toolkit Man Pages - U.S.
-English </p>
-
-<p>X11.man.en_US.Dt.rte 4.3.3.10 COMMITTED AIX CDE Man Pages - U.S. English</p>
-
-<p>X11.man.en_US.base 4.3.0.0 COMMITTED AIXwindows Man Pages</p>
-
-<p>X11.motif.lib 4.3.3.25 COMMITTED AIXwindows Motif Libraries</p>
-
-<p>X11.motif.mwm 4.3.3.11 COMMITTED AIXwindows Motif Window Manager</p>
-
-<p>X11.msg.en_US.Dt.helpmin 4.3.0.0 COMMITTED AIX CDE Minimum Help Files - U.S.
-English </p>
-
-<p>X11.msg.en_US.Dt.rte 4.3.0.0 COMMITTED AIX CDE Messages - U.S. English </p>
-
-<p>X11.msg.en_US.adt.ext 4.3.0.0 COMMITTED AIXwindows X Extensions Messages -
-U.S. English </p>
-
-<p>X11.msg.en_US.adt.imake 4.3.2.0 COMMITTED AIXwindows imake Messages - U.S.
-English </p>
-
-<p>X11.msg.en_US.apps.aixterm 4.3.0.0 COMMITTED AIXwindows aixterm Messages -
-U.S. English </p>
-
-<p>X11.msg.en_US.apps.clients 4.3.0.0 COMMITTED AIXwindows Client Application
-Msgs - U.S. English </p>
-
-<p>X11.msg.en_US.apps.config 4.3.0.0 COMMITTED AIXwindows Config Application
-Msgs - U.S. English </p>
-
-<p>X11.msg.en_US.apps.custom 4.3.0.0 COMMITTED AIXwindows Customizing Tool Msgs
-- U.S. English </p>
-
-<p>X11.msg.en_US.apps.pm 4.3.0.0 COMMITTED AIXwindows Power Mgmt GUI Msgs -
-U.S. English </p>
-
-<p>X11.msg.en_US.apps.rte 4.3.0.0 COMMITTED AIXwindows Runtime Config Messages
-- U.S. English </p>
-
-<p>X11.msg.en_US.apps.xdm 4.3.0.0 COMMITTED AIXwindows xdm Messages - U.S.
-English </p>
-
-<p>X11.msg.en_US.base.common 4.3.0.0 COMMITTED AIXwindows Common Messages -
-U.S. English </p>
-
-<p>X11.msg.en_US.base.rte 4.3.1.0 COMMITTED AIXwindows Runtime Env. Messages -
-U.S. English </p>
-
-<p>X11.msg.en_US.motif.lib 4.3.0.0 COMMITTED AIXwindows Motif Libraries Messages
-- U.S. English </p>
-
-<p>X11.msg.en_US.motif.mwm 4.3.0.0 COMMITTED AIXwindows Motif Window Mgr Msgs -
-U.S. English </p>
-
-<p>X11.msg.en_US.vsm.rte 4.3.3.0 COMMITTED Visual System Mgmt. Helps & Msgs
-- U.S. English </p>
-
-<p>X11.samples.apps.aixclients 4.3.3.10 COMMITTED AIXwindows Sample AIX Clients
-Source</p>
-
-<p>X11.samples.apps.clients 4.3.3.10 COMMITTED AIXwindows Sample X Consortium
-Clients Binary/Source</p>
-
-<p>X11.samples.apps.demos 4.3.3.10 COMMITTED AIXwindows Sample X Consortium
-Demos Source</p>
-
-<p>X11.samples.apps.motifdemos 4.3.3.0 COMMITTED AIXwindows Sample Motif Demos
-Source </p>
-
-<p>X11.samples.common 4.3.3.10 COMMITTED AIXwindows Imakefile Structure for
-Samples</p>
-
-<p>X11.samples.doc 4.3.0.0 COMMITTED AIXwindows Sample Documents Source </p>
-
-<p>X11.samples.ext 4.3.3.0 COMMITTED AIXwindows Sample X Extensions Source </p>
-
-<p>X11.samples.fnt.util 4.3.3.0 COMMITTED AIXwindows Sample Font Server
-Utilities Source </p>
-
-<p>X11.samples.lib.Core 4.3.3.10 COMMITTED AIXwindows Sample X Consortium Core
-Libraries Binary/Source</p>
-
-<p>X11.samples.rgb 4.3.3.0 COMMITTED AIXwindows Sample Color Database Source </p>
-
-<p>X11.vfb 4.3.3.10 COMMITTED Virtual Frame Buffer Software for AIXwindows</p>
-
-<p>X11.vsm.helps 4.3.0.0 COMMITTED Visual System Management Default Helps </p>
-
-<p>X11.vsm.icons 4.3.0.0 COMMITTED Visual System Management Icons</p>
-
-<p>X11.vsm.lib 4.3.3.25 COMMITTED Visual System Managment Library</p>
-
-<p>X11.vsm.rte 4.3.3.0 COMMITTED Visual System Management Runtime Environment </p>
-
-<p>bos.64bit 4.3.3.25 COMMITTED Base Operating System 64 bit Runtime</p>
-
-<p>bos.acct 4.3.3.25 COMMITTED Accounting Services</p>
-
-<p>bos.adt.base 4.3.3.25 COMMITTED Base Application Development Toolkit</p>
-
-<p>bos.adt.debug 4.3.3.50 COMMITTED Base Application Development Debuggers</p>
-
-<p>bos.adt.graphics 4.3.3.25 COMMITTED Base Application Development Graphics
-Include Files</p>
-
-<p>bos.adt.include 4.3.3.25 COMMITTED Base Application Development Include
-Files</p>
-
-<p>bos.adt.lib 4.3.3.10 COMMITTED Base Application Development Libraries</p>
-
-<p>bos.adt.libm 4.3.3.0 COMMITTED Base Application Development Math Library </p>
-
-<p>bos.adt.prof 4.3.3.25 COMMITTED Base Profiling Support</p>
-
-<p>bos.adt.prt_tools 4.3.3.0 COMMITTED Printer Support Development Toolkit </p>
-
-<p>bos.adt.samples 4.3.3.25 COMMITTED Base Operating System Samples</p>
-
-<p>bos.adt.sccs 4.3.3.0 COMMITTED SCCS Application Development Toolkit </p>
-
-<p>bos.adt.syscalls 4.3.3.25 COMMITTED System Calls Application Development
-Toolkit</p>
-
-<p>bos.adt.utils 4.3.3.0 COMMITTED Base Application Development Utilities - lex
-and yacc </p>
-
-<p>bos.compat.termcap 4.3.3.0 COMMITTED AIX 3.2 Termcap Source and Library </p>
-
-<p>bos.content_list 4.3.3.25 COMMITTED AIX Release Content List</p>
-
-<p>bos.diag.com 4.3.3.25 COMMITTED Common Hardware Diagnostics</p>
-
-<p>bos.diag.rte 4.3.3.25 COMMITTED Hardware Diagnostics</p>
-
-<p>bos.diag.util 4.3.3.25 COMMITTED Hardware Diagnostics Utilities</p>
-
-<p>bos.docregister.com 4.3.3.10 COMMITTED Docregister Common</p>
-
-<p>bos.docsearch.client.Dt 4.3.3.0 COMMITTED DocSearch Client CDE Application
-Integration </p>
-
-<p>bos.docsearch.client.com 4.3.3.0 COMMITTED DocSearch Client Common Files </p>
-
-<p>bos.docsearch.rte 4.3.3.10 COMMITTED DocSearch Runtime</p>
-
-<p>bos.dosutil 4.3.3.0 COMMITTED DOS Utilities </p>
-
-<p>bos.help.msg.en_US.com 4.3.3.0 COMMITTED WebSM/SMIT Context Helps - U.S.
-English</p>
-
-<p>bos.help.msg.en_US.smit 4.3.3.0 COMMITTED SMIT Context Helps - U.S. English</p>
-
-<p>bos.html.en_US.topnav.navigate</p>
-
-<p>4.3.3.0 COMMITTED Top Level Navigation - U. S. English</p>
-
-<p>bos.iconv.com 4.3.3.10 COMMITTED Common Language to Language Converters</p>
-
-<p>bos.iconv.de_DE 4.3.0.0 COMMITTED EBCDIC & ASCII Language Converters -
-German </p>
-
-<p>bos.iconv.fr_FR 4.3.0.0 COMMITTED EBCDIC & ASCII Language Converters -
-French </p>
-
-<p>bos.iconv.ucs.com 4.3.3.25 COMMITTED Unicode Base Converters for AIX Code
-Sets/Fonts</p>
-
-<p>bos.loc.com.utf 4.3.3.11 COMMITTED Common Locale Support - UTF-8</p>
-
-<p>bos.loc.iso.de_CH 4.3.3.25 COMMITTED Base System Locale ISO Code Set - Swiss
-German</p>
-
-<p>bos.loc.iso.de_DE 4.3.3.25 COMMITTED Base System Locale ISO Code Set -
-German</p>
-
-<p>bos.loc.iso.en_US 4.3.3.25 COMMITTED Base System Locale ISO Code Set - U.S.
-English</p>
-
-<p>bos.loc.pc_compat.De_CH 4.3.3.0 COMMITTED Base System Locale PC Code Set -
-Swiss German </p>
-
-<p>bos.loc.pc_compat.De_DE 4.3.3.0 COMMITTED Base System Locale PC Code Set -
-German </p>
-
-<p>bos.loc.pc_compat.com 4.3.0.0 COMMITTED Common Locale Support - PC Code Set </p>
-
-<p>bos.loc.utf.DE_CH 4.3.3.0 COMMITTED Base System Locale UTF Code Set - Swiss
-German </p>
-
-<p>bos.loc.utf.DE_DE 4.3.3.0 COMMITTED Base System Locale UTF Code Set - German
-</p>
-
-<p>bos.mh 4.3.3.11 COMMITTED Mail Handler</p>
-
-<p>bos.mp 4.3.3.25 COMMITTED Base Operating System Multiprocessor Runtime</p>
-
-<p>bos.msg.De_DE.diag.rte 4.3.3.0 COMMITTED Hardware Diagnostics Messages -
-German IBM-850</p>
-
-<p>bos.msg.De_DE.docregister.com 4.3.3.0 COMMITTED Docregister Common Messages
-- German IBM-850</p>
-
-<p>bos.msg.De_DE.docsearch.client.Dt 4.3.3.0 COMMITTED DocSearch CDE Action -
-German IBM-850</p>
-
-<p>bos.msg.De_DE.docsearch.client.com 4.3.3.0 COMMITTED DocSearch Common
-Messages - German IBM-850</p>
-
-<p>bos.msg.De_DE.mp 4.3.3.0 COMMITTED Base Operating System MP Messages -
-German IBM-850</p>
-
-<p>bos.msg.De_DE.net.tcp.client 4.3.3.0 COMMITTED TCP/IP Messages - German
-IBM-850</p>
-
-<p>bos.msg.De_DE.rte 4.3.3.0 COMMITTED Base Operating System Runtime Msgs -
-German IBM-850</p>
-
-<p>bos.msg.De_DE.txt.tfs 4.3.3.0 COMMITTED Text Formatting Services Messages -
-German IBM-850</p>
-
-<p>bos.msg.de_DE.diag.rte 4.3.3.0 COMMITTED Hardware Diagnostics Messages -
-German</p>
-
-<p>bos.msg.de_DE.docregister.com 4.3.3.0 COMMITTED Docregister Common Messages
-- German</p>
-
-<p>bos.msg.de_DE.docsearch.client.Dt 4.3.3.0 COMMITTED DocSearch CDE Action -
-German</p>
-
-<p>bos.msg.de_DE.docsearch.client.com 4.3.3.0 COMMITTED DocSearch Common
-Messages - German</p>
-
-<p>bos.msg.de_DE.mp 4.3.3.0 COMMITTED Base Operating System MP Messages -
-German</p>
-
-<p>bos.msg.de_DE.net.ipsec 4.3.3.0 COMMITTED IP Security Messages - German</p>
-
-<p>bos.msg.de_DE.net.tcp.client 4.3.3.0 COMMITTED TCP/IP Messages - German</p>
-
-<p>bos.msg.de_DE.rte 4.3.3.0 COMMITTED Base Operating System Runtime Msgs -
-German</p>
-
-<p>bos.msg.de_DE.txt.tfs 4.3.3.0 COMMITTED Text Formatting Services Messages -
-German</p>
-
-<p>bos.msg.en_US.diag.rte 4.3.3.0 COMMITTED Hardware Diagnostics Messages -
-U.S. English </p>
-
-<p>bos.msg.en_US.docregister.com 4.3.1.0 COMMITTED Docregister Common Messages
-- U.S. English </p>
-
-<p>bos.msg.en_US.docsearch.client.Dt 4.3.2.0 COMMITTED DocSearch CDE Action -
-U.S. English </p>
-
-<p>bos.msg.en_US.docsearch.client.com 4.3.3.0 COMMITTED DocSearch Common
-Messages - U.S. English </p>
-
-<p>bos.msg.en_US.mp 4.3.0.0 COMMITTED Base Operating System MP Messages - U.S.
-English </p>
-
-<p>bos.msg.en_US.net.ipsec 4.3.3.0 COMMITTED IP Security Messages - U.S.
-English </p>
-
-<p>bos.msg.en_US.net.tcp.client 4.3.3.0 COMMITTED TCP/IP Messages - U.S.
-English</p>
-
-<p>bos.msg.en_US.rte 4.3.3.0 COMMITTED Base Operating System Runtime Msgs -
-U.S. English </p>
-
-<p>bos.msg.en_US.txt.tfs 4.3.1.0 COMMITTED Text Formatting Services Messages -
-U.S. English </p>
-
-<p>bos.net.ate 4.3.3.0 COMMITTED Asynchronous Terminal Emulator</p>
-
-<p>bos.net.ipsec.keymgt 4.3.3.25 COMMITTED IP Security Key Management</p>
-
-<p>bos.net.ipsec.rte 4.3.3.25 COMMITTED IP Security</p>
-
-<p>bos.net.ipsec.websm 4.3.3.25 COMMITTED IP Security WebSM</p>
-
-<p>bos.net.ncs 4.3.3.25 COMMITTED Network Computing System 1.5.1</p>
-
-<p>bos.net.nfs.adt 4.3.3.25 COMMITTED Network File System Development Toolkit</p>
-
-<p>bos.net.nfs.cachefs 4.3.3.25 COMMITTED CacheFS File System</p>
-
-<p>bos.net.nfs.client 4.3.3.25 COMMITTED Network File System Client</p>
-
-<p>bos.net.nfs.server 4.3.3.10 COMMITTED Network File System Server</p>
-
-<p>bos.net.nis.client 4.3.3.25 COMMITTED Network Information Service Client</p>
-
-<p>bos.net.nis.server 4.3.3.25 COMMITTED Network Information Service Server</p>
-
-<p>bos.net.nisplus 4.3.3.25 COMMITTED Network Information Services Plus (NIS+)</p>
-
-<p>bos.net.ppp 4.3.3.25 COMMITTED Async Point to Point Protocol</p>
-
-<p>bos.net.tcp.adt 4.3.3.25 COMMITTED TCP/IP Application Toolkit</p>
-
-<p>bos.net.tcp.client 4.3.3.25 COMMITTED TCP/IP Client Support</p>
-
-<p>bos.net.tcp.server 4.3.3.25 COMMITTED TCP/IP Server</p>
-
-<p>bos.net.tcp.smit 4.3.3.25 COMMITTED TCP/IP SMIT Support</p>
-
-<p>bos.net.uucp 4.3.3.10 COMMITTED Unix to Unix Copy Program</p>
-
-<p>bos.perf.diag_tool 4.3.3.25 COMMITTED Performance Diagnostic Tool</p>
-
-<p>bos.perf.perfstat 4.3.3.0 COMMITTED Performance Statistics Interface </p>
-
-<p>bos.powermgt.rte 4.3.3.0 COMMITTED Power Management Runtime Software </p>
-
-<p>bos.rcs 4.3.3.0 COMMITTED Remote Customer Support and Services </p>
-
-<p>bos.rte 4.3.3.25 COMMITTED Base Operating System Runtime</p>
-
-<p>bos.rte.Dt 4.3.0.0 COMMITTED Desktop Integrator</p>
-
-<p>bos.rte.ILS 4.3.3.25 COMMITTED International Language Support</p>
-
-<p>bos.rte.SRC 4.3.3.10 COMMITTED System Resource Controller</p>
-
-<p>bos.rte.X11 4.3.0.0 COMMITTED AIXwindows Device Support</p>
-
-<p>bos.rte.aio 4.3.3.25 COMMITTED Asynchronous I/O Extension</p>
-
-<p>bos.rte.archive 4.3.3.25 COMMITTED Archive Commands</p>
-
-<p>bos.rte.bind_cmds 4.3.3.11 COMMITTED Binder and Loader Commands</p>
-
-<p>bos.rte.boot 4.3.3.25 COMMITTED Boot Commands</p>
-
-<p>bos.rte.bosinst 4.3.3.25 COMMITTED Base OS Install Commands</p>
-
-<p>bos.rte.commands 4.3.3.25 COMMITTED Commands</p>
-
-<p>bos.rte.compare 4.3.3.25 COMMITTED File Compare Commands</p>
-
-<p>bos.rte.console 4.3.3.10 COMMITTED Console</p>
-
-<p>bos.rte.control 4.3.3.25 COMMITTED System Control Commands</p>
-
-<p>bos.rte.cron 4.3.3.1 COMMITTED Batch Operations</p>
-
-<p>bos.rte.date 4.3.3.0 COMMITTED Date Control Commands</p>
-
-<p>bos.rte.devices 4.3.3.0 COMMITTED Base Device Drivers</p>
-
-<p>bos.rte.devices_msg 4.3.3.10 COMMITTED Device Driver Messages</p>
-
-<p>bos.rte.diag 4.3.3.25 COMMITTED Diagnostics</p>
-
-<p>bos.rte.edit 4.3.3.25 COMMITTED Editors</p>
-
-<p>bos.rte.filesystem 4.3.3.25 COMMITTED Filesystem Administration</p>
-
-<p>bos.rte.iconv 4.3.3.0 COMMITTED Language Converters</p>
-
-<p>bos.rte.ifor_ls 4.3.3.25 COMMITTED iFOR/LS Libraries</p>
-
-<p>bos.rte.im 4.3.3.25 COMMITTED Input Methods</p>
-
-<p>bos.rte.install 4.3.3.50 COMMITTED LPP Install Commands</p>
-
-<p>bos.rte.jfscomp 4.3.1.0 COMMITTED JFS Compression</p>
-
-<p>bos.rte.libc 4.3.3.25 COMMITTED libc Library</p>
-
-<p>bos.rte.libcfg 4.3.3.0 COMMITTED libcfg Library</p>
-
-<p>bos.rte.libcur 4.3.3.25 COMMITTED libcurses Library</p>
-
-<p>bos.rte.libdbm 4.3.3.0 COMMITTED libdbm Library</p>
-
-<p>bos.rte.libnetsvc 4.3.0.0 COMMITTED Network Services Libraries</p>
-
-<p>bos.rte.libpthreads 4.3.3.25 COMMITTED libpthreads Library</p>
-
-<p>bos.rte.libqb 4.3.3.1 COMMITTED libqb Library</p>
-
-<p>bos.rte.libs 4.3.3.0 COMMITTED libs Library</p>
-
-<p>bos.rte.loc 4.3.3.25 COMMITTED Base Locale Support</p>
-
-<p>bos.rte.lvm 4.3.3.25 COMMITTED Logical Volume Manager</p>
-
-<p>bos.rte.man 4.3.3.10 COMMITTED Man Commands</p>
-
-<p>bos.rte.methods 4.3.3.25 COMMITTED Device Config Methods</p>
-
-<p>bos.rte.misc_cmds 4.3.3.0 COMMITTED Miscellaneous Commands</p>
-
-<p>bos.rte.net 4.3.3.1 COMMITTED Network</p>
-
-<p>bos.rte.odm 4.3.3.10 COMMITTED Object Data Manager</p>
-
-<p>bos.rte.printers 4.3.3.25 COMMITTED Front End Printer Support</p>
-
-<p>bos.rte.security 4.3.3.25 COMMITTED Base Security Function</p>
-
-<p>bos.rte.serv_aid 4.3.3.25 COMMITTED Error Log Service Aids</p>
-
-<p>bos.rte.shell 4.3.3.25 COMMITTED Shells (bsh, ksh, csh)</p>
-
-<p>bos.rte.streams 4.3.3.25 COMMITTED Streams Libraries</p>
-
-<p>bos.rte.tty 4.3.3.25 COMMITTED Base TTY Support and Commands</p>
-
-<p>bos.sysmgt.loginlic 4.3.3.0 COMMITTED License Management </p>
-
-<p>bos.sysmgt.nim.client 4.3.3.25 COMMITTED Network Install Manager - Client
-Tools</p>
-
-<p>bos.sysmgt.quota 4.3.3.25 COMMITTED Filesystem Quota Commands</p>
-
-<p>bos.sysmgt.serv_aid 4.3.3.25 COMMITTED Software Error Logging and Dump
-Service Aids</p>
-
-<p>bos.sysmgt.smit 4.3.3.25 COMMITTED System Management Interface Tool (SMIT)</p>
-
-<p>bos.sysmgt.sysbr 4.3.3.25 COMMITTED System Backup and BOS Install Utilities</p>
-
-<p>bos.sysmgt.trace 4.3.3.25 COMMITTED Software Trace Service Aids</p>
-
-<p>bos.terminfo.rte 4.3.3.0 COMMITTED Run-time Environment for AIX Terminals </p>
-
-<p>bos.txt.bib 4.3.3.0 COMMITTED Bibliography Support </p>
-
-<p>bos.txt.hplj.fnt 4.3.0.0 COMMITTED Fonts for Hewlett Packard Laser Jet
-Printers </p>
-
-<p>bos.txt.ibm3812.fnt 4.3.0.0 COMMITTED Fonts for IBM 3812 Printer </p>
-
-<p>bos.txt.ibm3816.fnt 4.3.0.0 COMMITTED Fonts for IBM 3816 Printer </p>
-
-<p>bos.txt.spell 4.3.3.0 COMMITTED Writer's Tools Commands </p>
-
-<p>bos.txt.tfs 4.3.3.0 COMMITTED Text Formatting Services Commands </p>
-
-<p>bos.txt.ts 4.3.3.25 COMMITTED TranScript Tools</p>
-
-<p>bos.txt.xpv.rte 4.3.3.0 COMMITTED Troff Xpreviewer </p>
-
-<p>devices.chrp.base.diag 4.3.3.25 COMMITTED RISC CHRP Base System Device
-Diagnostics</p>
-
-<p>devices.chrp.base.rte 4.3.3.25 COMMITTED RISC PC Base System Device Software
-(CHRP)</p>
-
-<p>devices.chrp.pci.rte 4.3.3.1 COMMITTED PCI Bus Software (CHRP)</p>
-
-<p>devices.common.IBM.async.diag 4.3.3.25 COMMITTED Common Serial Adapter
-Diagnostics</p>
-
-<p>devices.common.IBM.disk.rte 4.3.3.0 COMMITTED Common IBM Disk Software </p>
-
-<p>devices.common.IBM.ethernet.rte 4.3.3.25 COMMITTED Common Ethernet Software</p>
-
-<p>devices.common.IBM.fda.diag 4.3.3.25 COMMITTED Common Diskette Adapter and
-Device Diagnostics</p>
-
-<p>devices.common.IBM.fda.rte 4.3.3.0 COMMITTED Common Diskette Device Software
-</p>
-
-<p>devices.common.IBM.ktm_std.diag 4.3.0.0 COMMITTED Common Keyboard, Mouse,
-and Tablet Device Diagnostics </p>
-
-<p>devices.common.IBM.ktm_std.rte 4.3.3.0 COMMITTED Common Keyboard, Tablet,
-and Mouse Software </p>
-
-<p>devices.common.IBM.pmmd_chrp.rte 4.3.3.0 COMMITTED CHRP Power Management
-Software</p>
-
-<p>devices.common.IBM.ppa.diag 4.3.3.25 COMMITTED Common Parallel Printer
-Adapter Diagnostics</p>
-
-<p>devices.common.IBM.ppa.rte 4.3.3.0 COMMITTED Common Parallel Printer Adapter
-Software </p>
-
-<p>devices.common.IBM.scsi.rte 4.3.3.0 COMMITTED Common SCSI I/O Controller
-Software </p>
-
-<p>devices.common.IBM.ssa.diag 4.3.3.25 COMMITTED SSA Common Adapter
-Diagnostics</p>
-
-<p>devices.common.IBM.ssa.rte 4.3.3.25 COMMITTED Common SSA Adapter Software</p>
-
-<p>devices.common.base.diag 4.3.3.25 COMMITTED Common Base System Diagnostics</p>
-
-<p>devices.common.rspcbase.rte 4.3.3.0 COMMITTED RISC PC Common Base System
-Device Software </p>
-
-<p>devices.graphics.com 4.3.3.25 COMMITTED Graphics Adapter Common Software</p>
-
-<p>devices.isa_sio.PNP0303.diag 4.3.3.10 COMMITTED ISA Keyboard Diagnostics
-(PNP0303)</p>
-
-<p>devices.isa_sio.PNP0400.rte 4.3.3.0 COMMITTED RISC PC Standard Parallel Port
-Adapter Software (PNP0400) </p>
-
-<p>devices.isa_sio.PNP0501.rte 4.3.3.2 COMMITTED RISC PC Standard Serial
-Adapter Software (PNP0501)</p>
-
-<p>devices.isa_sio.PNP0700.rte 4.3.3.25 COMMITTED RISC PC Diskette Adapter
-Software (PNP0700)</p>
-
-<p>devices.isa_sio.PNP0F03.diag 4.3.3.25 COMMITTED ISA Mouse Diagnostics
-(PNP0F03)</p>
-
-<p>devices.isa_sio.chrp.8042.diag 4.3.0.0 COMMITTED ISA Keyboard & Mouse
-Diagnostics (CHRP) </p>
-
-<p>devices.isa_sio.chrp.8042.rte 4.3.3.25 COMMITTED ISA Keyboard & Mouse
-Software (CHRP)</p>
-
-<p>devices.isa_sio.chrp.ecp.diag 4.3.1.25 COMMITTED CHRP IEEE 1284 Parallel
-Port Adapter Diagnostics</p>
-
-<p>devices.isa_sio.chrp.ecp.rte 4.3.3.25 COMMITTED CHRP IEEE1284 Parallel Port
-Adapter Software</p>
-
-<p>devices.isa_sio.km.diag 4.3.3.0 COMMITTED ISA Keyboard & Mouse
-Diagnostics </p>
-
-<p>devices.isa_sio.pnpPNP.400.diag 4.3.1.0 COMMITTED Standard Parallel Adapter
-Diagnostic (pnpPNP,400) Software </p>
-
-<p>devices.isa_sio.pnpPNP.400.rte 4.3.0.0 COMMITTED RISC PC Standard Parallel
-Port Adapter Software (pnpPNP,400) </p>
-
-<p>devices.isa_sio.pnpPNP.501.diag 4.3.0.0 COMMITTED CHRP Serial Adapter
-Diagnostics (pnpPNP.501) </p>
-
-<p>devices.isa_sio.pnpPNP.501.rte 4.3.3.0 COMMITTED CHRP Serial Adapter
-Software (pnpPNP.501) </p>
-
-<p>devices.isa_sio.pnpPNP.700.diag 4.3.0.0 COMMITTED CHRP Diskette Adapter
-Diagnostic Software (pnpPNP.700) </p>
-
-<p>devices.isa_sio.pnpPNP.700.rte 4.3.3.0 COMMITTED CHRP Diskette Adapter
-Software (pnpPNP.700) </p>
-
-<p>devices.msg.De_DE.base.com 4.3.3.0 COMMITTED Base System Device Software
-Msgs - German IBM-850</p>
-
-<p>devices.msg.De_DE.diag.rte 4.3.3.0 COMMITTED Device Diagnostics Messages -
-German IBM-850</p>
-
-<p>devices.msg.De_DE.rspc.base.com 4.3.3.0 COMMITTED RISC PC Software Messages
-- German IBM-850</p>
-
-<p>devices.msg.De_DE.sys.mca.rte 4.3.3.0 COMMITTED Micro Channel Bus Software
-Messages - German IBM-850</p>
-
-<p>devices.msg.de_DE.base.com 4.3.3.0 COMMITTED Base System Device Software
-Msgs - German</p>
-
-<p>devices.msg.de_DE.diag.rte 4.3.3.0 COMMITTED Device Diagnostics Messages -
-German</p>
-
-<p>devices.msg.de_DE.rspc.base.com 4.3.3.0 COMMITTED RISC PC Software Messages
-- German</p>
-
-<p>devices.msg.de_DE.sys.mca.rte 4.3.3.0 COMMITTED Micro Channel Bus Software
-Messages - German</p>
-
-<p>devices.msg.en_US.base.com 4.3.3.0 COMMITTED Base System Device Software
-Msgs - U.S. English </p>
-
-<p>devices.msg.en_US.diag.rte 4.3.3.0 COMMITTED Device Diagnostics Messages -
-U.S. English </p>
-
-<p>devices.msg.en_US.rspc.base.com 4.3.2.2 COMMITTED RISC PC Software Messages
-- U.S. English</p>
-
-<p>devices.msg.en_US.sys.mca.rte 4.3.3.0 COMMITTED Micro Channel Bus Software
-Messages - U.S. English </p>
-
-<p>devices.pci.00100100.com 4.3.3.25 COMMITTED Common Symbios PCI SCSI I/O
-Controller Software</p>
-
-<p>devices.pci.00100300.diag 4.3.3.25 COMMITTED PCI 16-bit SCSI I/O Controller
-Diagnostics</p>
-
-<p>devices.pci.00100f00.diag 4.3.0.25 COMMITTED SYM53C8xxA PCI SCSI I/O
-Controller Diagnostics</p>
-
-<p>devices.pci.00100f00.rte 4.3.3.11 COMMITTED SYM53C8xxA PCI SCSI I/O
-Controller Software</p>
-
-<p>devices.pci.14109100.diag 4.3.3.25 COMMITTED SSA Adapter (14109100)
-Diagnostics</p>
-
-<p>devices.pci.14109100.rte 4.3.3.25 COMMITTED SSA Adapter (14109100) Software</p>
-
-<p>devices.pci.23100020.diag 4.3.3.25 COMMITTED IBM PCI 10/100 Mb Ethernet
-Adapter (23100020) Diagnostics</p>
-
-<p>devices.pci.23100020.rte 4.3.3.25 COMMITTED IBM PCI 10/100 Ethernet Adapter
-Software</p>
-
-<p>devices.pci.2b101a05.X11 4.3.3.25 COMMITTED AIXwindows GXT120P Graphics
-Adapter Software</p>
-
-<p>devices.pci.2b101a05.diag 4.3.3.10 COMMITTED GXT120P Graphics Adapter
-Diagnostics</p>
-
-<p>devices.pci.2b101a05.rte 4.3.3.25 COMMITTED GXT120P Graphics Adapter
-Software</p>
-
-<p>devices.pci.86808404.com 4.3.0.0 COMMITTED Common ISA Bus Software </p>
-
-<p>devices.pci.86808404.rte 4.3.3.0 COMMITTED ISA Bus Software </p>
-
-<p>devices.pci.isa.rte 4.3.3.0 COMMITTED ISA Bus Bridge Software (CHRP)</p>
-
-<p>devices.scsi.disk.diag.com 4.3.3.25 COMMITTED Common Disk Diagnostic Service
-Aid</p>
-
-<p>devices.scsi.disk.diag.rte 4.3.3.25 COMMITTED SCSI CD_ROM, Disk Device
-Diagnostics</p>
-
-<p>devices.scsi.disk.rspc 4.3.3.25 COMMITTED RISC PC SCSI CD-ROM, Disk, Read/Write
-Optical Software</p>
-
-<p>devices.scsi.disk.rte 4.3.3.25 COMMITTED SCSI CD-ROM, Disk, Read/Write
-Optical Device Software</p>
-
-<p>devices.scsi.ses.diag 4.3.3.25 COMMITTED SCSI Enclosure Services Device
-Diagnostics</p>
-
-<p>devices.scsi.ses.rte 4.3.3.0 COMMITTED SCSI Enclosure Device Software</p>
-
-<p>devices.scsi.tape.diag 4.3.3.25 COMMITTED SCSI Tape Device Diagnostics</p>
-
-<p>devices.scsi.tape.rspc 4.3.3.25 COMMITTED RISC PC SCSI Tape Device Software</p>
-
-<p>devices.scsi.tape.rte 4.3.3.10 COMMITTED SCSI Tape Device Software</p>
-
-<p>devices.ssa.IBM_raid.rte 4.3.3.25 COMMITTED SSA Raid Manager Software</p>
-
-<p>devices.ssa.disk.rte 4.3.3.25 COMMITTED SSA DASD Software</p>
-
-<p>devices.sys.pci.rte 4.3.3.10 COMMITTED PCI Bus Software</p>
-
-<p>devices.tty.rte 4.3.3.0 COMMITTED TTY Device Driver Support Software </p>
-
-<p>freeware.aix.tools.rte 1.5.4.0 COMMITTED ldd, chpass, whichlpp, xd, wi, ll,
-wits</p>
-
-<p>freeware.bull.mklpp.rte 1.2.9.0 COMMITTED Light-LPP generation tool</p>
-
-<p>freeware.cscope.rte 1.5.0.0 COMMITTED text screen based source browsing tool</p>
-
-<p>freeware.glib.rte 1.2.8.0 COMMITTED GLib graphics library</p>
-
-<p>freeware.gnu.gcc.g++ 2.95.3.0 COMMITTED GNU Compiler Collection Extras</p>
-
-<p>freeware.gnu.gcc.rte 2.95.3.0 COMMITTED GNU Compiler Collection</p>
-
-<p>freeware.gnu.gdb.rte 5.0.0.0 COMMITTED gdb debugging utility </p>
-
-<p>freeware.gnu.gzip.rte 1.2.4.1 COMMITTED GZIP compression and decompression
-tools</p>
-
-<p>freeware.lsof.rte 4.55.0.0 COMMITTED List Open Files</p>
-
-<p>freeware.monitor.rte 2.1.9.0 COMMITTED Performance Monitor Program</p>
-
-<p>freeware.sudo.rte 1.6.3.6 COMMITTED sudo - Super-User Do</p>
-
-<p>freeware.zlib.rte 1.1.3.2 COMMITTED Data compression library</p>
-
-<p>greatcircle-xlc 3.1.13.0 COMMITTED Geodesic Great Circle</p>
-
-<p>ibmcxx.cmp 3.6.6.2 COMMITTED IBM C and C++ Compilers</p>
-
-<p>ibmcxx.cmp.lic 3.6.6.0 COMMITTED IBM C and C++ Compilers LUM Licenses</p>
-
-<p>ibmcxx.html.common 3.6.6.1 COMMITTED IBM C and C++ Compilers
-Documentation--Common Files</p>
-
-<p>ibmcxx.html.en_US.doc 3.6.6.0 COMMITTED IBM C and C++ Compilers
-Documentation--U.S. English</p>
-
-<p>ibmcxx.html.en_US.search 3.6.6.0 COMMITTED IBM C and C++ Compilers
-Documentation Search Index--U.S. English</p>
-
-<p>ibmcxx.include 3.6.6.0 COMMITTED IBM C++ Compiler Include Files</p>
-
-<p>ibmcxx.ioc.include 3.6.6.2 COMMITTED IBM Open Class Library Include Files</p>
-
-<p>ibmcxx.ioc.lib 3.6.6.2 COMMITTED IBM Open Class Library</p>
-
-<p>ibmcxx.ioc.rte 3.6.6.2 COMMITTED IBM Open Class Library Application Runtime</p>
-
-<p>ibmcxx.ioc.samples.bin 3.6.6.2 COMMITTED IBM Open Class Library Sample
-Programs</p>
-
-<p>ibmcxx.ioc.samples.source 3.6.6.0 COMMITTED IBM Open Class Library Sample
-Sources</p>
-
-<p>ibmcxx.ioc.source 3.6.6.2 COMMITTED IBM Open Class Library Source</p>
-
-<p>ibmcxx.lib 3.6.6.0 COMMITTED IBM C and C++ Compilers Libraries</p>
-
-<p>ibmcxx.memdbg 3.6.6.0 COMMITTED IBM C and C++ Compilers Memory Debug Runtime</p>
-
-<p>ibmcxx.msg.en_US.cmp 3.6.6.0 COMMITTED IBM C and C++ Compilers
-Messages--U.S. English</p>
-
-<p>ibmcxx.msg.en_US.ioc.rte 3.6.6.2 COMMITTED IBM Open Class Library Runtime
-Messages--U.S. English</p>
-
-<p>ibmcxx.msg.en_US.rescmp 3.6.6.0 COMMITTED IBM Resource Compiler
-Messages--U.S. English</p>
-
-<p>ibmcxx.rescmp 3.6.6.0 COMMITTED IBM Resource Compiler</p>
-
-<p>ibmcxx.rte 3.6.6.0 COMMITTED IBM C++ Compiler Application Runtime</p>
-
-<p>idebug.adt.olt 8.4.1.0 COMMITTED Object Level Trace Development Toolkit</p>
-
-<p>idebug.client.gui 8.4.1.0 COMMITTED Debugger Graphical User Interface</p>
-
-<p>idebug.client.olt 8.4.1.0 COMMITTED Object Level Trace Viewer</p>
-
-<p>idebug.engine.compiled 8.4.1.0 COMMITTED Debugger Engine for Compiled
-Languages</p>
-
-<p>idebug.engine.interpreted 8.4.1.0 COMMITTED Debugger Engine for Interpreted
-Languages</p>
-
-<p>idebug.help.en_US 8.4.1.0 COMMITTED Debugger Help--U.S. English</p>
-
-<p>idebug.msg.en_US.engine 8.4.1.0 COMMITTED Debugger Engine Messages--U.S.
-English</p>
-
-<p>idebug.msg.en_US.olt 8.4.1.0 COMMITTED Object Level Trace Messages--U.S.
-English</p>
-
-<p>idebug.rte.hpj 8.4.1.0 COMMITTED High-Performance Java Runtime</p>
-
-<p>idebug.rte.olt.Cxx 8.4.1.0 COMMITTED Object Level Trace C++ Runtime</p>
-
-<p>idebug.rte.olt.Java 8.4.1.0 COMMITTED Object Level Trace Java Runtime</p>
-
-<p>idebug.rte.olt.client 8.4.1.0 COMMITTED Object Level Trace Client Controller</p>
-
-<p>idebug.server.olt 8.4.1.0 COMMITTED Object Level Trace Server</p>
-
-<p>ifor_ls.base.cli 4.3.3.25 COMMITTED License Use Management Runtime Code</p>
-
-<p>ifor_ls.base.gui 4.3.3.25 COMMITTED License Use Management Runtime GUI</p>
-
-<p>ifor_ls.client.base 4.3.3.0 COMMITTED License Use Management Client Runtime </p>
-
-<p>ifor_ls.client.gui 4.3.3.0 COMMITTED License Use Management Client GUI </p>
-
-<p>ifor_ls.compat.cli 4.3.3.25 COMMITTED License Use Management Compatibility
-Code</p>
-
-<p>ifor_ls.compat.gui 4.3.3.25 COMMITTED License Use Management Compatibility
-GUI</p>
-
-<p>ifor_ls.html.en_US.base.cli 4.3.3.0 COMMITTED LUM HTML Guides - U.S. English</p>
-
-<p>ifor_ls.msg.en_US.base.cli 4.3.3.0 COMMITTED LUM Runtime Code Messages -
-U.S. English </p>
-
-<p>ifor_ls.msg.en_US.base.gui 4.3.3.0 COMMITTED LUM Runtime GUI Messages - U.S.
-English </p>
-
-<p>ifor_ls.msg.en_US.compat.cli 4.3.2.0 COMMITTED LUM Compatibility Code
-Messages - U.S. English </p>
-
-<p>ifor_ls.msg.en_US.compat.gui 4.3.2.0 COMMITTED LUM Compatibility GUI
-Messages - U.S. English </p>
-
-<p>ipfx.adt 2.2.0.0 COMMITTED IBM Information Presentation Facility Development
-Kit/6000</p>
-
-<p>ipfx.msg.En_US.adt 2.2.0.0 COMMITTED English IBM-850 message and grammer
-files</p>
-
-<p>ipfx.msg.en_US.adt 2.2.0.0 COMMITTED English ISO8859-1 message and grammer
-files</p>
-
-<p>ipfx.msg.en_US.rte 2.2.0.0 COMMITTED IPF Messages - U.S. English</p>
-
-<p>ipfx.rte 2.2.0.0 COMMITTED Information Presentation Facility Runtime</p>
-
-<p>ipx.base.api 4.3.2.0 COMMITTED IPX/SPX API Support Files </p>
-
-<p>ipx.base.lib 4.3.1.1 COMMITTED IPX/SPX Libraries </p>
-
-<p>ipx.base.rte 4.3.2.0 COMMITTED IPX/SPX Protocol Stack Runtime</p>
-
-<p>ipx.base.smit 4.3.2.0 COMMITTED IPX/SPX SMIT Panels </p>
-
-<p>ipx.msg.en_US 4.3.0.1 COMMITTED IPX/SPX Protocol Suite Messages - U.S.
-English </p>
-
-<p>ipx.rte 4.2.1.0 COMMITTED IPX and SPX Protocol Stacks </p>
-
-<p>memdbg.adt 4.4.2.0 COMMITTED User Heap/Memory Debug Toolkit</p>
-
-<p>memdbg.aix43.adt 4.4.2.0 COMMITTED User Heap/Memory Debug Toolkit for AIX
-4.3</p>
-
-<p>memdbg.msg.en_US 4.4.2.0 COMMITTED User Heap/Memory Debug Messages--U.S. English</p>
-
-<p>mqm.Client.Bnd 5.1.0.0 COMMITTED MQSeries Client Bundle</p>
-
-<p>mqm.Server.Bnd 5.1.0.0 COMMITTED MQSeries Server Bundle</p>
-
-<p>mqm.base.runtime 5.1.0.0 COMMITTED MQSeries Runtime for Client and Server</p>
-
-<p>mqm.base.samples 5.1.0.0 COMMITTED MQSeries Samples</p>
-
-<p>mqm.base.sdk 5.1.0.0 COMMITTED MQSeries Base Kit for Client and Server</p>
-
-<p>mqm.client.rte 5.1.0.0 COMMITTED MQSeries Client for AIX</p>
-
-<p>mqm.gateway.rte 5.1.0.0 COMMITTED MQSeries Internet Gateway - Runtime</p>
-
-<p>mqm.gateway.samples 5.1.0.0 COMMITTED MQSeries Internet Gateway - Samples</p>
-
-<p>mqm.html.base.doc 5.1.0.0 COMMITTED MQSeries Online Documentation - Base</p>
-
-<p>mqm.html.base.java 5.1.0.0 COMMITTED MQSeries Internet and Java Doc - Base</p>
-
-<p>mqm.java.bindings 5.1.0.0 COMMITTED MQSeries Bindings for Java - Runtime</p>
-
-<p>mqm.java.client 5.1.0.0 COMMITTED MQSeries Client for Java - Runtime</p>
-
-<p>mqm.java.share 5.1.0.0 COMMITTED MQSeries Base for Java</p>
-
-<p>mqm.msg.en_US 5.1.0.0 COMMITTED MQSeries Messages - U.S. English</p>
-
-<p>mqm.server.rte 5.1.0.0 COMMITTED MQSeries Server</p>
-
-<p>netware.client 4.1.0.0 COMMITTED Netware Workstation Client Utilities </p>
-
-<p>netware.fs 4.1.0.0 COMMITTED Netware Basic File System </p>
-
-<p>netware.server 4.1.4.6 COMMITTED Netware Server Code v3.11b </p>
-
-<p>perfagent.server 2.2.32.0 COMMITTED Performance Agent Daemons &
-Utilities </p>
-
-<p>perfagent.tools 2.2.33.25 COMMITTED Local Performance Analysis & Control
-Commands</p>
-
-<p>perfmgr.common 2.2.1.2 COMMITTED Performance Toolbox Manager - Common
-Support</p>
-
-<p>perfmgr.local 2.2.1.4 COMMITTED Performance Toolbox Manager - Local Support</p>
-
-<p>perfmgr.network 2.2.1.4 COMMITTED Performance Toolbox Manager - Network
-Support</p>
-
-<p>perl.man.en_US 5.5.3.0 COMMITTED Perl Version 5 Documentation</p>
-
-<p>perl.rte 5.5.3.0 COMMITTED Perl Version 5 Runtime Environment </p>
-
-<p>pkg_gd 4.3.3.0 COMMITTED Package Installation Database for Current Media</p>
-
-<p>printers.msg.en_US.rte 4.3.3.0 COMMITTED Printer Backend Messages - U.S.
-English </p>
-
-<p>printers.rte 4.3.3.25 COMMITTED Printer Backend</p>
-
-<p>sysmgt.help.en_US.websm 4.3.3.0 COMMITTED WebSM Extended Helps - U.S.
-English</p>
-
-<p>sysmgt.help.msg.en_US.websm 4.3.3.0 COMMITTED WebSM Context Helps - U.S.
-English</p>
-
-<p>sysmgt.msg.en_US.websm.apps 4.3.3.10 COMMITTED WebSM Client Apps. Messages -
-U.S. English</p>
-
-<p>sysmgt.sguide.rte 4.3.3.10 COMMITTED TaskGuide Runtime Environment</p>
-
-<p>sysmgt.websm.apps 4.3.3.10 COMMITTED Web-based System Manager Applications</p>
-
-<p>sysmgt.websm.diag 4.3.3.10 COMMITTED Web-based System Manager Diagnostic
-Applications</p>
-
-<p>sysmgt.websm.framework 4.3.3.10 COMMITTED Web-based System Manager
-Client/Server Support</p>
-
-<p>sysmgt.websm.icons 4.3.3.0 COMMITTED Web-based System Manager Icons</p>
-
-<p>sysmgt.websm.rte 4.3.3.25 COMMITTED Web-based System Manager Runtime
-Environment</p>
-
-<p>sysmgt.websm.ucf 4.3.3.0 COMMITTED Web-based System Manager Container
-Framework </p>
-
-<p>sysmgt.websm.widgets 4.3.3.0 COMMITTED Web-based System Manager Base Widgets
-</p>
-
-<p>tivoli.tsm.client.api.aix43.32bit 4.2.0.0 COMMITTED TSM Client - Application
-Programming Interface</p>
-
-<p>tivoli.tsm.client.api.aix43.64bit 4.2.0.0 COMMITTED TSM Client - 64 Bit
-Application Programming Interface</p>
-
-<p>tivoli.tsm.client.ba.aix43.32bit.base 4.1.0.0 COMMITTED TSM Client -
-Backup/Archive</p>
-
-<p>tivoli.tsm.client.ba.aix43.32bit.common 4.1.0.0 COMMITTED TSM Client -
-Common Files</p>
-
-<p>tivoli.tsm.client.informix.aix43.32bit 4.1.3.0 COMMITTED Tivoli Data
-Production for Informix on AIX</p>
-
-<p>tivoli.tsm.client.informix.aix43.64bit 4.1.3.0 COMMITTED Tivoli Data
-Production for Informix on AIX</p>
-
-<p>tivoli.tsm.msg.en_US.server 4.1.0.0 COMMITTED Tivoli Storage Manager Server
-Common Messages - US English</p>
-
-<p>tivoli.tsm.msg.en_US.webhelp 4.1.0.0 COMMITTED Tivoli Storage Manager Web
-Admin Help - US English</p>
-
-<p>tivoli.tsm.server.com 4.1.0.0 COMMITTED Tivoli Storage Manager Server common
-services</p>
-
-<p>tivoli.tsm.server.rte 4.1.0.0 COMMITTED Tivoli Storage Manager Server
-Runtime</p>
-
-<p>tivoli.tsm.server.webadmin 4.1.0.0 COMMITTED Tivoli Storage Manager Server
-Web Administrator Icons</p>
-
-<p>vac.C 5.0.2.0 COMMITTED C for AIX Compiler</p>
-
-<p>vac.C.readme.ibm 5.0.2.0 COMMITTED C for AIX iFOR/LS Information</p>
-
-<p>vac.html.SBCS.search 5.0.2.0 COMMITTED C for AIX Compiler Documentation
-Search Single Byte Common Files</p>
-
-<p>vac.html.common.search 5.0.2.0 COMMITTED C for AIX Compiler Documentation
-Search Common Files</p>
-
-<p>vac.html.en_US.C 5.0.2.0 COMMITTED C for AIX Compiler Documentation
-(HTML)--U.S. English</p>
-
-<p>vac.html.en_US.search 5.0.2.0 COMMITTED C for AIX Compiler Documentation
-Search--U.S. English</p>
-
-<p>vac.msg.en_US.C 5.0.2.0 COMMITTED C for AIX Compiler Messages - en_US</p>
-
-<p>vac.pdf.en_US.C 5.0.2.0 COMMITTED C for AIX Documentation (PDF)--U.S.
-English</p>
-
-<p>vacpp.Dt.common 5.0.2.0 COMMITTED VisualAge C++ Desktop Integration Common
-Files</p>
-
-<p>vacpp.Dt.dax 5.0.2.0 COMMITTED VisualAge C++ Data Access Builder Desktop
-Integration</p>
-
-<p>vacpp.Dt.help 5.0.2.0 COMMITTED VisualAge C++ Help Desktop Integration</p>
-
-<p>vacpp.Dt.ide 5.0.2.0 COMMITTED VisualAge C++ IDE Desktop Integration</p>
-
-<p>vacpp.Dt.ipf 5.0.2.0 COMMITTED VisualAge C++ IPFX Desktop Integration</p>
-
-<p>vacpp.Dt.perf 5.0.2.0 COMMITTED VisualAge C++ Performance Analyzer Desktop
-Integration</p>
-
-<p>vacpp.Dt.techide 5.0.2.0 COMMITTED VisualAge C++ IDE Tech Preview Desktop
-Integration</p>
-
-<p>vacpp.Dt.vb 5.0.2.0 COMMITTED VisualAge C++ Visual Builder Desktop Integration</p>
-
-<p>vacpp.cmp.C 5.0.2.0 COMMITTED VisualAge C++ C Compiler</p>
-
-<p>vacpp.cmp.aix43.lib 5.0.2.1 COMMITTED VisualAge C++ Libraries for AIX 4.3</p>
-
-<p>vacpp.cmp.batch 5.0.2.0 COMMITTED VisualAge C++ Batch Compiler</p>
-
-<p>vacpp.cmp.core 5.0.2.0 COMMITTED VisualAge C++ Compiler</p>
-
-<p>vacpp.cmp.extension 5.0.2.0 COMMITTED VisualAge C++ Extension Interface</p>
-
-<p>vacpp.cmp.include 5.0.2.1 COMMITTED VisualAge C++ Compiler Include Files</p>
-
-<p>vacpp.cmp.incremental 5.0.2.0 COMMITTED VisualAge C++ Incremental Compiler</p>
-
-<p>vacpp.cmp.lib 5.0.2.1 COMMITTED VisualAge C++ Libraries</p>
-
-<p>vacpp.cmp.rte 5.0.2.0 COMMITTED VisualAge C++ Compiler Application Runtime</p>
-
-<p>vacpp.cmp.tools 5.0.2.1 COMMITTED VisualAge C++ Tools</p>
-
-<p>vacpp.dax.adt 5.0.2.0 COMMITTED VisualAge C++ Data Access Builder Toolkit</p>
-
-<p>vacpp.dax.rte 5.0.2.0 COMMITTED VisualAge C++ Data Access Builder Runtime</p>
-
-<p>vacpp.html.help 5.0.2.0 COMMITTED VisualAge C++ HTML Help Engine</p>
-
-<p>vacpp.ide 5.0.2.0 COMMITTED VisualAge C++ IDE</p>
-
-<p>vacpp.ioc.aix43.lib 5.0.2.0 COMMITTED IBM Open Class Library AIX 4.3 Static
-Libraries</p>
-
-<p>vacpp.ioc.aix43.rte 5.0.2.0 COMMITTED IBM Open Class Library AIX 4.3
-Application Runtime</p>
-
-<p>vacpp.ioc.include 5.0.2.0 COMMITTED IBM Open Class Library Include Files</p>
-
-<p>vacpp.ioc.lib 5.0.2.0 COMMITTED IBM Open Class Library Static Libraries</p>
-
-<p>vacpp.ioc.rte 5.0.2.0 COMMITTED IBM Open Class Library Application Runtime</p>
-
-<p>vacpp.lic 5.0.2.0 COMMITTED VisualAge C++ Licence Files</p>
-
-<p>vacpp.loc.en_US.cmp.core 5.0.2.0 COMMITTED VisualAge Compiler C++ Locale
-Data--U.S. English</p>
-
-<p>vacpp.memdbg.aix43.lib 5.0.2.1 COMMITTED VA C++ User Heap/Memory Debug AIX
-4.3 Libraries</p>
-
-<p>vacpp.memdbg.aix43.rte 5.0.2.1 COMMITTED VA C++ User Heap/Memory Debug AIX
-4.3 Runtime</p>
-
-<p>vacpp.memdbg.lib 5.0.2.0 COMMITTED VisualAge C++ User Heap and Memory Debug
-Static Libraries</p>
-
-<p>vacpp.memdbg.rte 5.0.2.0 COMMITTED VisualAge C++ User Heap and Memory Debug
-Runtime</p>
-
-<p>vacpp.msg.en_US.cmp.batch 5.0.2.0 COMMITTED VisualAge Batch Compiler C++
-Messages--U.S. English</p>
-
-<p>vacpp.msg.en_US.cmp.core 5.0.2.0 COMMITTED VisualAge Compiler C++
-Messages--U.S. English</p>
-
-<p>vacpp.msg.en_US.cmp.tools 5.0.2.0 COMMITTED VisualAge C++ Tools
-Messages--U.S. English</p>
-
-<p>vacpp.msg.en_US.dax 5.0.2.0 COMMITTED Data Access Builder Messages--U.S.
-English</p>
-
-<p>vacpp.msg.en_US.html.help 5.0.2.0 COMMITTED VisualAge C++ Help Engine
-Messages--U.S. English</p>
-
-<p>vacpp.msg.en_US.ide 5.0.2.0 COMMITTED VisualAge C++ IDE Messages--U.S.
-English</p>
-
-<p>vacpp.msg.en_US.ioc.rte 5.0.2.0 COMMITTED IBM Open Class Library Runtime
-Messages--U.S. English</p>
-
-<p>vacpp.msg.en_US.rescmp 5.0.2.0 COMMITTED VisualAge C++ Resource Compiler
-Messages--U.S. English</p>
-
-<p>vacpp.msg.en_US.vb 5.0.2.0 COMMITTED Visual Builder Messages--U.S. English</p>
-
-<p>vacpp.rescmp 5.0.2.0 COMMITTED VisualAge C++ Resource Compiler</p>
-
-<p>vacpp.source.ioc 5.0.2.0 COMMITTED IBM Open Class Library Source</p>
-
-<p>vacpp.vb.adt 5.0.2.0 COMMITTED Visual Builder Toolkit</p>
-
-<p>vacpp.vb.include 5.0.2.0 COMMITTED Visual Builder Include Files</p>
-
-<p>vacpp.vb.lib 5.0.2.0 COMMITTED Visual Builder Libraries</p>
-
-<p>vacpp.vb.rte 5.0.2.0 COMMITTED VisualAge C++ Visual Builder Runtime</p>
-
-<p>vatools.html.help 5.0.2.0 COMMITTED VisualAge Tools HTML Help Engine</p>
-
-<p>vatools.lpex.editor 5.0.2.0 COMMITTED VisualAge Tools LPEX Editor</p>
-
-<p>vatools.msg.en_US.html.help 5.0.2.0 COMMITTED VA Tools HTML Help Engine
-Messages--U.S. English</p>
-
-<p>vatools.msg.en_US.lpex.editor 5.0.2.0 COMMITTED VisualAge Tools LPEX Editor
-Messages--U.S. English</p>
-
-<p>vatools.msg.en_US.perf 5.0.2.0 COMMITTED VA Tools Performance Analyzer
-Messages--U.S. English</p>
-
-<p>vatools.msg.en_US.sg 5.0.2.0 COMMITTED VA Tools SmartGuide Messages--U.S.
-English</p>
-
-<p>vatools.perf.aix43.lib 5.0.2.0 COMMITTED VisualAge Tools Performance
-Analyzer AIX 4.3 Libraries</p>
-
-<p>vatools.perf.analyzer 5.0.2.0 COMMITTED VisualAge Tools Performance Analyzer</p>
-
-<p>vatools.sg 5.0.2.0 COMMITTED VisualAge Tools SmartGuide Framework</p>
-
-<p>xlC.adt.include 5.0.2.0 COMMITTED C Set ++ Application Development Toolkit</p>
-
-<p>xlC.aix43.rte 5.0.2.1 COMMITTED C Set ++ Runtime for AIX 4.3</p>
-
-<p>xlC.cpp 4.3.0.1 COMMITTED C for AIX Preprocessor</p>
-
-<p>xlC.msg.en_US.cpp 4.3.0.1 COMMITTED C for AIX Preprocessor Messages en_US</p>
-
-<p>xlC.msg.en_US.rte 5.0.2.0 COMMITTED C Set ++ Runtime Messages--U.S. English</p>
-
-<p>xlC.rte 5.0.2.0 COMMITTED C Set ++ Runtime</p>
-
-<p>xldb.base 1.2.3.7 COMMITTED IBM XLDB Source Level Debugger</p>
-
-<p>xldb.help.en_US 1.2.3.0 COMMITTED IBM XLDB Source Level Debugger Help Files</p>
-
-<p>xldb.msg.en_US 1.2.3.0 COMMITTED IBM XLDB Source Level Debugger Messages</p>
-
-<p>xlsmp.msg.en_US.rte 1.3.4.0 COMMITTED XL SMP Runtime Messages - U.S. English</p>
-
-<p>xlsmp.rte 1.3.4.0 COMMITTED SMP Runtime Library</p>
-
-<p>Path: /etc/objrepos</p>
-
-<p>IMNSearch.rte.SBCS 1.2.3.1 COMMITTED NetQuestion SBCS Search Engine</p>
-
-<p>IMNSearch.rte.httpdlite 2.0.0.1 COMMITTED NetQuestion Web Server</p>
-
-<p>Java.rte.Dt 1.1.8.0 COMMITTED Java Runtime Environment Desktop</p>
-
-<p>Java.samples.AIXDemos 1.1.8.0 COMMITTED Java Universal Navigator AIX Demo</p>
-
-<p>Netscape.communicator.com 4.6.1.0 COMMITTED Netscape Communicator Common
-Files</p>
-
-<p>X11.Dt.ToolTalk 4.3.3.0 COMMITTED AIX CDE ToolTalk Support </p>
-
-<p>X11.Dt.bitmaps 4.3.2.0 COMMITTED AIX CDE Bitmaps </p>
-
-<p>X11.Dt.helpinfo 4.3.3.0 COMMITTED AIX CDE Help Files and Volumes</p>
-
-<p>X11.Dt.helpmin 4.3.1.0 COMMITTED AIX CDE Minimum Help Files </p>
-
-<p>X11.Dt.rte 4.3.3.0 COMMITTED AIX Common Desktop Environment (CDE) 1.0 </p>
-
-<p>X11.base.rte 4.3.3.0 COMMITTED AIXwindows Runtime Environment</p>
-
-<p>X11.base.smt 4.3.3.0 COMMITTED AIXwindows Runtime Shared Memory Transport </p>
-
-<p>X11.loc.en_US.Dt.rte 4.3.3.0 COMMITTED AIX CDE Locale Configuration - U.S.
-English </p>
-
-<p>X11.vfb 4.3.3.10 COMMITTED Virtual Frame Buffer Software for AIXwindows</p>
-
-<p>bos.64bit 4.3.3.25 COMMITTED Base Operating System 64 bit Runtime</p>
-
-<p>bos.acct 4.3.3.0 COMMITTED Accounting Services </p>
-
-<p>bos.compat.termcap 4.3.3.0 COMMITTED AIX 3.2 Termcap Source and Library </p>
-
-<p>bos.diag.com 4.3.3.0 COMMITTED Common Hardware Diagnostics </p>
-
-<p>bos.diag.rte 4.3.3.25 COMMITTED Hardware Diagnostics</p>
-
-<p>bos.diag.util 4.3.3.0 COMMITTED Hardware Diagnostics Utilities</p>
-
-<p>bos.docsearch.client.Dt 4.3.3.0 COMMITTED DocSearch Client CDE Application
-Integration </p>
-
-<p>bos.html.en_US.topnav.navigate</p>
-
-<p>4.3.3.0 COMMITTED Top Level Navigation - U. S. English</p>
-
-<p>bos.mh 4.3.3.0 COMMITTED Mail Handler </p>
-
-<p>bos.mp 4.3.3.0 COMMITTED Base Operating System Multiprocessor Runtime </p>
-
-<p>bos.msg.De_DE.docsearch.client.Dt 4.3.3.0 COMMITTED DocSearch CDE Action -
-German IBM-850</p>
-
-<p>bos.msg.de_DE.docsearch.client.Dt 4.3.3.0 COMMITTED DocSearch CDE Action -
-German</p>
-
-<p>bos.msg.en_US.docsearch.client.Dt 4.3.2.0 COMMITTED DocSearch CDE Action -
-U.S. English </p>
-
-<p>bos.net.ipsec.keymgt 4.3.3.25 COMMITTED IP Security Key Management</p>
-
-<p>bos.net.ipsec.rte 4.3.3.0 COMMITTED IP Security </p>
-
-<p>bos.net.ncs 4.3.3.0 COMMITTED Network Computing System 1.5.1</p>
-
-<p>bos.net.nfs.cachefs 4.3.3.25 COMMITTED CacheFS File System</p>
-
-<p>bos.net.nfs.client 4.3.3.25 COMMITTED Network File System Client</p>
-
-<p>bos.net.nis.client 4.3.3.0 COMMITTED Network Information Service Client </p>
-
-<p>bos.net.nis.server 4.3.3.0 COMMITTED Network Information Service</p>
-
-<p>Server bos.net.nisplus 4.3.3.0 COMMITTED Network Information Services Plus
-(NIS+) </p>
-
-<p>bos.net.ppp 4.3.3.25 COMMITTED Async Point to Point Protocol</p>
-
-<p>bos.net.tcp.client 4.3.3.25 COMMITTED TCP/IP Client Support</p>
-
-<p>bos.net.tcp.server 4.3.3.25 COMMITTED TCP/IP Server</p>
-
-<p>bos.net.uucp 4.3.3.0 COMMITTED Unix to Unix Copy Program </p>
-
-<p>bos.perf.diag_tool 4.3.3.0 COMMITTED Performance Diagnostic Tool </p>
-
-<p>bos.perf.perfstat 4.3.3.0 COMMITTED Performance Statistics Interface </p>
-
-<p>bos.powermgt.rte 4.3.3.0 COMMITTED Power Management Runtime Software </p>
-
-<p>bos.rcs 4.3.3.0 COMMITTED Remote Customer Support and Services </p>
-
-<p>bos.rte 4.3.3.0 COMMITTED Base Operating System Runtime</p>
-
-<p>bos.rte.Dt 4.3.0.0 COMMITTED Desktop Integrator</p>
-
-<p>bos.rte.SRC 4.3.3.10 COMMITTED System Resource Controller</p>
-
-<p>bos.rte.aio 4.3.3.25 COMMITTED Asynchronous I/O Extension</p>
-
-<p>bos.rte.boot 4.3.3.25 COMMITTED Boot Commands</p>
-
-<p>bos.rte.commands 4.3.3.25 COMMITTED Commands</p>
-
-<p>bos.rte.control 4.3.3.25 COMMITTED System Control Commands</p>
-
-<p>bos.rte.cron 4.3.3.0 COMMITTED Batch Operations</p>
-
-<p>bos.rte.devices 4.3.3.0 COMMITTED Base Device Drivers</p>
-
-<p>bos.rte.diag 4.3.3.0 COMMITTED Diagnostics</p>
-
-<p>bos.rte.filesystem 4.3.3.25 COMMITTED Filesystem Administration</p>
-
-<p>bos.rte.jfscomp 4.3.1.0 COMMITTED JFS Compression</p>
-
-<p>bos.rte.lvm 4.3.3.25 COMMITTED Logical Volume Manager</p>
-
-<p>bos.rte.printers 4.3.3.0 COMMITTED Front End Printer Support</p>
-
-<p>bos.rte.security 4.3.3.25 COMMITTED Base Security Function</p>
-
-<p>bos.rte.serv_aid 4.3.3.25 COMMITTED Error Log Service Aids</p>
-
-<p>bos.rte.shell 4.3.3.0 COMMITTED Shells (bsh, ksh, csh)</p>
-
-<p>bos.rte.tty 4.3.3.25 COMMITTED Base TTY Support and Commands</p>
-
-<p>bos.sysmgt.loginlic 4.3.3.0 COMMITTED License Management </p>
-
-<p>bos.sysmgt.nim.client 4.3.3.0 COMMITTED Network Install Manager - Client
-Tools </p>
-
-<p>bos.sysmgt.serv_aid 4.3.3.25 COMMITTED Software Error Logging and Dump
-Service Aids</p>
-
-<p>bos.sysmgt.sysbr 4.3.3.0 COMMITTED System Backup and BOS Install Utilities </p>
-
-<p>bos.sysmgt.trace 4.3.3.25 COMMITTED Software Trace Service Aids</p>
-
-<p>devices.chrp.base.rte 4.3.3.25 COMMITTED RISC PC Base System Device Software
-(CHRP)</p>
-
-<p>devices.common.IBM.ethernet.rte 4.3.3.0 COMMITTED Common Ethernet Software </p>
-
-<p>devices.common.IBM.ktm_std.rte 4.3.3.0 COMMITTED Common Keyboard, Tablet,
-and Mouse Software </p>
-
-<p>devices.common.IBM.scsi.rte 4.3.3.0 COMMITTED Common SCSI I/O Controller
-Software </p>
-
-<p>devices.common.IBM.ssa.diag 4.3.3.25 COMMITTED SSA Common Adapter
-Diagnostics</p>
-
-<p>devices.common.IBM.ssa.rte 4.3.3.0 COMMITTED Common SSA Adapter Software </p>
-
-<p>devices.graphics.com 4.3.3.0 COMMITTED Graphics Adapter Common Software </p>
-
-<p>devices.isa_sio.PNP0501.rte 4.3.3.2 COMMITTED RISC PC Standard Serial
-Adapter Software (PNP0501)</p>
-
-<p>devices.isa_sio.chrp.ecp.rte 4.3.3.0 COMMITTED CHRP IEEE1284 Parallel Port
-Adapter Software </p>
-
-<p>devices.pci.14109100.diag 4.3.3.0 COMMITTED SSA Adapter (14109100)
-Diagnostics </p>
-
-<p>devices.pci.14109100.rte 4.3.3.0 COMMITTED SSA Adapter (14109100) Software </p>
-
-<p>devices.pci.23100020.rte 4.3.3.25 COMMITTED IBM PCI 10/100 Ethernet Adapter
-Software</p>
-
-<p>devices.scsi.ses.rte 4.3.3.0 COMMITTED SCSI Enclosure Device Software</p>
-
-<p>devices.ssa.IBM_raid.rte 4.3.3.0 COMMITTED SSA Raid Manager Software </p>
-
-<p>devices.ssa.disk.rte 4.3.3.0 COMMITTED SSA DASD Software </p>
-
-<p>devices.tty.rte 4.3.3.0 COMMITTED TTY Device Driver Support Software </p>
-
-<p>freeware.bull.mklpp.rte 1.2.9.0 COMMITTED Light-LPP generation tool</p>
-
-<p>freeware.sudo.rte 1.6.3.6 COMMITTED sudo - Super-User Do</p>
-
-<p>ibmcxx.cmp 3.6.6.0 COMMITTED IBM C and C++ Compilers</p>
-
-<p>ibmcxx.html.en_US.search 3.6.6.0 COMMITTED IBM C and C++ Compilers
-Documentation Search Index--U.S. English</p>
-
-<p>idebug.client.gui 8.4.1.0 COMMITTED Debugger Graphical User Interface</p>
-
-<p>ifor_ls.base.cli 4.3.3.25 COMMITTED License Use Management Runtime Code</p>
-
-<p>ifor_ls.client.base 4.3.3.0 COMMITTED License Use Management Client Runtime </p>
-
-<p>ifor_ls.compat.cli 4.3.2.0 COMMITTED License Use Management Compatibility
-Code </p>
-
-<p>ipx.base.rte 4.3.2.0 COMMITTED IPX/SPX Protocol Stack Runtime</p>
-
-<p>ipx.rte 4.2.1.0 COMMITTED IPX and SPX Protocol Stacks </p>
-
-<p>mqm.base.runtime 5.1.0.0 COMMITTED MQSeries Runtime for Client and Server</p>
-
-<p>mqm.gateway.rte 5.1.0.0 COMMITTED MQSeries Internet Gateway - Runtime</p>
-
-<p>netware.server 4.1.4.6 COMMITTED Netware Server Code v3.11b </p>
-
-<p>perfagent.server 2.2.32.0 COMMITTED Performance Agent Daemons &
-Utilities </p>
-
-<p>printers.rte 4.3.3.0 COMMITTED Printer Backend </p>
-
-<p>sysmgt.websm.rte 4.3.3.0 COMMITTED Web-based System Manager Runtime
-Environment </p>
-
-<p>tivoli.tsm.server.com 4.1.0.0 COMMITTED Tivoli Storage Manager Server common
-services</p>
-
-<p>tivoli.tsm.server.rte 4.1.0.0 COMMITTED Tivoli Storage Manager Server
-Runtime</p>
-
-<p>vac.C 5.0.2.0 COMMITTED C for AIX Compiler</p>
-
-<p>vac.html.SBCS.search 5.0.2.0 COMMITTED C for AIX Compiler Documentation
-Search Single Byte Common Files</p>
-
-<p>vacpp.Dt.common 5.0.2.0 COMMITTED VisualAge C++ Desktop Integration Common
-Files</p>
-
-<p>vacpp.Dt.dax 5.0.2.0 COMMITTED VisualAge C++ Data Access Builder Desktop
-Integration</p>
-
-<p>vacpp.Dt.help 5.0.2.0 COMMITTED VisualAge C++ Help Desktop Integration</p>
-
-<p>vacpp.Dt.ide 5.0.2.0 COMMITTED VisualAge C++ IDE Desktop Integration</p>
-
-<p>vacpp.Dt.ipf 5.0.2.0 COMMITTED VisualAge C++ IPFX Desktop Integration</p>
-
-<p>vacpp.Dt.perf 5.0.2.0 COMMITTED VisualAge C++ Performance Analyzer Desktop
-Integration</p>
-
-<p>vacpp.Dt.techide 5.0.2.0 COMMITTED VisualAge C++ IDE Tech Preview Desktop
-Integration</p>
-
-<p>vacpp.Dt.vb 5.0.2.0 COMMITTED VisualAge C++ Visual Builder Desktop
-Integration</p>
-
-<p>vacpp.cmp.core 5.0.2.0 COMMITTED VisualAge C++ Compiler</p>
-
-<p>vacpp.html.help 5.0.2.0 COMMITTED VisualAge C++ HTML Help Engine</p>
-
-<p>vacpp.loc.en_US.cmp.core 5.0.2.0 COMMITTED VisualAge Compiler C++ Locale
-Data--U.S. English</p>
-
-<p>vatools.html.help 5.0.2.0 COMMITTED VisualAge Tools HTML Help Engine</p>
-
-<p>Path: /usr/share/lib/objrepos</p>
-
-<p>bos.adt.data 4.3.0.0 COMMITTED Base Application Development Toolkit Data </p>
-
-<p>bos.compat.termcap.data 4.3.0.0 COMMITTED AIX 3.2 Termcap Source Data </p>
-
-<p>bos.data 4.3.0.0 COMMITTED Base Operating System Data</p>
-
-<p>bos.terminfo.com.data 4.3.0.0 COMMITTED Common Terminal Definitions </p>
-
-<p>bos.terminfo.dec.data 4.3.0.0 COMMITTED Digital Equipment Corp. Terminal
-Definitions </p>
-
-<p>bos.terminfo.ibm.data 4.3.3.0 COMMITTED IBM Terminal Definitions </p>
-
-<p>bos.terminfo.pc.data 4.3.2.0 COMMITTED Personal Computer Terminal
-Definitions </p>
-
-<p>bos.terminfo.televideo.data 4.3.0.0 COMMITTED Televideo Terminal Definitions</p>
-
-<p>bos.terminfo.wyse.data 4.3.0.10 COMMITTED Wyse Terminal Definitions</p>
-
-<p>bos.txt.bib.data 4.3.0.0 COMMITTED Bibliography Support Data </p>
-
-<p>bos.txt.spell.data 4.3.0.0 COMMITTED Writer's Tools Data </p>
-
-<p>bos.txt.tfs.data 4.3.2.0 COMMITTED Text Formatting Services Data </p>
-
-<p>devices.common.IBM.modemcfg.data 4.3.1.0 COMMITTED Sample Service Processor
-Modem Configuration Files </p>
-
-<p>mqm.gateway.rte.data 5.1.0.0 COMMITTED MQSeries Internet Gateway - Runtime
-Data</p>
-
-<p>mqm.gateway.samples.data 5.1.0.0 COMMITTED MQSeries Internet Gateway -
-Samples Data</p>
-
-<p>mqm.html.de_DE.doc 5.1.0.0 COMMITTED MQSeries Online Documentation - German</p>
-
-<p>mqm.html.de_DE.java 5.1.0.0 COMMITTED MQSeries Internet and Java Doc -
-German</p>
-
-<p>mqm.html.en_US.doc 5.1.0.0 COMMITTED MQSeries Online Documentation - U.S.
-English</p>
-
-<p>mqm.html.en_US.java 5.1.0.0 COMMITTED MQSeries Internet and Java Doc - U.S.
-English</p>
-
-<p>mqm.html.es_ES.doc 5.1.0.0 COMMITTED MQSeries Online Documentation - Spanish</p>
-
-<p>mqm.html.es_ES.java 5.1.0.0 COMMITTED MQSeries Internet and Java Doc -
-Spanish</p>
-
-<p>mqm.html.fr_FR.doc 5.1.0.0 COMMITTED MQSeries Online Documentation - French</p>
-
-<p>mqm.html.fr_FR.java 5.1.0.0 COMMITTED MQSeries Internet and Java Doc -
-French</p>
-
-<p>mqm.html.it_IT.doc 5.1.0.0 COMMITTED MQSeries Online Documentation - Italian</p>
-
-<p>mqm.html.it_IT.java 5.1.0.0 COMMITTED MQSeries Internet and Java Doc -
-Italian</p>
-
-<p>mqm.html.ja_JP.doc 5.1.0.0 COMMITTED MQSeries Online Documentation -
-Japanese</p>
-
-<p>mqm.html.ja_JP.java 5.1.0.0 COMMITTED MQSeries Internet and Java Doc -
-Japanese</p>
-
-<p>mqm.html.ko_KR.doc 5.1.0.0 COMMITTED MQSeries Online Documentation - Korean</p>
-
-<p>mqm.html.ko_KR.java 5.1.0.0 COMMITTED MQSeries Internet and Java Doc -
-Korean</p>
-
-<p>mqm.html.pt_BR.doc 5.1.0.0 COMMITTED MQSeries Online Documentation -
-Brazilian Portuguese</p>
-
-<p>mqm.html.pt_BR.java 5.1.0.0 COMMITTED MQSeries Internet and Java Doc - Brazilian
-Portuguese</p>
-
-<p>mqm.html.zh_CN.doc 5.1.0.0 COMMITTED MQSeries Online Documentation -
-Simplified Chinese</p>
-
-<p>mqm.html.zh_CN.java 5.1.0.0 COMMITTED MQSeries Internet and Java Doc -
-Simplified Chinese</p>
-
-<p>mqm.html.zh_TW.doc 5.1.0.0 COMMITTED MQSeries Online Documentation -
-Traditional Chinese</p>
-
-<p>mqm.html.zh_TW.java 5.1.0.0 COMMITTED MQSeries Internet and Java Doc -
-Traditional Chinese</p>
-
-<p>mqm.man.en_US.data 5.1.0.0 COMMITTED MQSeries Man Pages - U.S.English </p>
-
-<h2>HP HPUX 11.20<a name=hpux1120></a></h2>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>#<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'># Bundle(s):<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>#<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>B3901BA<span style='mso-tab-count:2'> </span>
-<span style='mso-tab-count:1'> </span>B.11.20<span
-style="mso-spacerun: yes"> </span>HP
-C/ANSI C Developer's Bundle for HP-UX 11.20 (S800)<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>B3913DB<span style='mso-tab-count:2'> </span>
-<span style='mso-tab-count:1'> </span>C.05.03<span
-style="mso-spacerun: yes"> </span>HP
-aC++ Compiler (S800)<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>B6323BA<span style='mso-tab-count:2'> </span>
-<span style='mso-tab-count:1'> </span>B.07.00<span
-style="mso-spacerun: yes">
-</span>CXperf Performance Analyzer<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>B9788AA<span style='mso-tab-count:2'> </span>
-<span style='mso-tab-count:1'> </span>1.3.1.04.00<span
-style="mso-spacerun: yes"> </span>Java2 1.3 SDK for HP-UX<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>FibrChanl-00<span style='mso-tab-count:2'> </span>
-<span style='mso-tab-count:1'> </span>B.11.20.05<span
-style="mso-spacerun: yes"> </span>PCI FibreChannel;Supptd
-HW=A5158A<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>GigEther-00<span style='mso-tab-count:2'> </span>
-<span style='mso-tab-count:1'> </span>B.11.20.00<span
-style="mso-spacerun: yes"> </span>PCI
-GigEther;SupptdHW=A4926A/A4929A;SW=J1642AA<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoBodyText>HPUXEng64RT<span style='mso-tab-count:2'> </span>B.11.20<span
-style="mso-spacerun: yes">
-</span>English HP-UX 64-bit Runtime Environment</p>
-
-<p class=MsoBodyText><![if !supportEmptyParas]> <![endif]><o:p></o:p></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>HWEnable1120<span style='mso-tab-count:2'> </span>B.11.20.0109.3
-Hardware Enablement Patches for HP-UX 11.20, September 2001<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><span style="mso-spacerun: yes"> </span><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>OnlineDiag<span style='mso-tab-count:2'> </span>
-<span style='mso-tab-count:1'> </span>B.11.20.02.12<span
-style="mso-spacerun: yes"> </span>HPUX 11.20 Support Tools Bundle, Sep
-2001<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>SNMPAgntHPUX11x<span style='mso-tab-count:2'> </span>B.11.20.00<span
-style="mso-spacerun: yes"> </span>Emanate SNMP Agent<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>#<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'># Product(s) not contained in a Bundle:<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>#<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>PHSS_24470<span style='mso-tab-count:2'> </span>
-<span style='mso-tab-count:1'> </span>1.0<span
-style="mso-spacerun:
-yes">
-</span>aCC product patch<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'>PHSS_24591<span style='mso-tab-count:2'> </span>
-<span style='mso-tab-count:1'> </span>1.0<span
-style="mso-spacerun: yes"> </span><span
-style="mso-spacerun: yes"> </span>X/Motif
-Runtime JUL2001 Periodic Patch<o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'><span style='mso-bidi-font-size:
-10.0pt;color:black'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
-
-<p class=MsoNormal style='line-height:12.0pt;mso-pagination:widow-orphan lines-together;
-mso-layout-grid-align:none;text-autospace:none'>PHSS_26080<span
-style='mso-tab-count:2'> </span>
-<span style='mso-tab-count:1'> </span>1.0<span
-style="mso-spacerun:
-yes">
-</span>C dev cumulative patch<b><o:p></o:p></b></p>
-
-<h2>HP HPUX 11.11<a name=hpux1111></a></h2>
-
-<p># PHCO_23578 1.0 Software Distributor Cumulative Patch</p>
-
-<p>PHCO_23578.SD-AGENT 1.0 SW-DIST.SD-AGENT</p>
-
-<p>PHCO_23578.SD-CMDS 1.0 SW-DIST.SD-CMDS</p>
-
-<p>PHCO_23578.SD-HELP 1.0 SW-DIST.SD-HELP</p>
-
-<p># PHCO_24474 1.0 iostat(1) patch</p>
-
-<p>PHCO_24474.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_24475 1.0 uptime(1) patch</p>
-
-<p>PHCO_24475.CAUX-ENG-A-MAN 1.0 OS-Core.CAUX-ENG-A-MAN</p>
-
-<p>PHCO_24475.CMDS-AUX 1.0 OS-Core.CMDS-AUX</p>
-
-<p># PHCO_24477 1.0 sar(1m) patch</p>
-
-<p>PHCO_24477.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p>PHCO_24477.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_24478 1.0 mpsched(1) patch</p>
-
-<p>PHCO_24478.PAUX-ENG-A-MAN 1.0 ProgSupport.PAUX-ENG-A-MAN</p>
-
-<p>PHCO_24478.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_24479 1.0 vmstat(1) patch</p>
-
-<p>PHCO_24479.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_24480 1.0 getconf(1) man page patch</p>
-
-<p>PHCO_24480.CAUX-ENG-A-MAN 1.0 OS-Core.CAUX-ENG-A-MAN</p>
-
-<p># PHCO_24481 1.0 top(1) patch.</p>
-
-<p>PHCO_24481.CMDS-AUX 1.0 OS-Core.CMDS-AUX</p>
-
-<p>PHCO_24481.CORE-ENG-A-MAN 1.0 OS-Core.CORE-ENG-A-MAN</p>
-
-<p># PHCO_24482 1.0 ps(1) patch.</p>
-
-<p>PHCO_24482.CORE-ENG-A-MAN 1.0 OS-Core.CORE-ENG-A-MAN</p>
-
-<p>PHCO_24482.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_24584 1.0 Thread Local Storage, Psets Enablement Patch</p>
-
-<p>PHCO_24584.C-MIN-32ALIB 1.0 OS-Core.C-MIN-32ALIB</p>
-
-<p>PHCO_24584.C-MIN-64ALIB 1.0 OS-Core.C-MIN-64ALIB</p>
-
-<p>PHCO_24584.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHCO_24584.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p>PHCO_24584.PAUX-ENG-A-MAN 1.0 ProgSupport.PAUX-ENG-A-MAN</p>
-
-<p># PHCO_24587 1.0 psrset(1M) man page patch</p>
-
-<p>PHCO_24587.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p># PHKL_22857 1.0 SCSI Tape (stape) cumulative</p>
-
-<p>PHKL_22857.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_22857.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_22857.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23154 1.0 dflush() panic</p>
-
-<p>PHKL_23154.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23176 1.0 PDC Call retry fix</p>
-
-<p>PHKL_23176.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23196 1.0 Fix for locking problem in I/O (GIO)</p>
-
-<p>PHKL_23196.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23225 1.0 Fix for dqput() data page fault panic</p>
-
-<p>PHKL_23225.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23239 1.0 getmount_entry() performance improvement</p>
-
-<p>PHKL_23239.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23242 1.0 VxFS mmap(2) performance improvement</p>
-
-<p>PHKL_23242.VXFS-BASE-KRN 1.0 JFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_23250 1.0 Fix for memory driver bug</p>
-
-<p>PHKL_23250.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23290 1.0 system_space.h header file patch</p>
-
-<p>PHKL_23290.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p># PHKL_23291 1.0 gpu_data.h header file patch</p>
-
-<p>PHKL_23291.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23292 1.0 scsi_surface.h header file patch</p>
-
-<p>PHKL_23292.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23293 1.0 assert.h header file patch</p>
-
-<p>PHKL_23293.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23294 1.0 buf.h header file patch</p>
-
-<p>PHKL_23294.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23294.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23295 1.0 debug.h header file patch</p>
-
-<p>PHKL_23295.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23295.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23296 1.0 dnlc.h header file patch</p>
-
-<p>PHKL_23296.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23296.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23297 1.0 io.h header file patch</p>
-
-<p>PHKL_23297.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23297.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23298 1.0 ki_iface.h header file patch</p>
-
-<p>PHKL_23298.KERN-DEV-KIT 1.0 KernDevKit.KERN-DEV-KIT</p>
-
-<p># PHKL_23299 1.0 pfdat.h header file patch</p>
-
-<p>PHKL_23299.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23299.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23300 1.0 proc_debug.h header file patch </p>
-
-<p>PHKL_23300.KERN-DEV-KIT 1.0 KernDevKit.KERN-DEV-KIT</p>
-
-<p># PHKL_23301 1.0 proc_iface.h header file patch </p>
-
-<p>PHKL_23301.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_23301.KERN-DEV-KIT 1.0 KernDevKit.KERN-DEV-KIT</p>
-
-<p># PHKL_23302 1.0 rw_lock.h header file patch</p>
-
-<p>PHKL_23302.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23302.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23303 1.0 sem_alpha.h header file patch</p>
-
-<p>PHKL_23303.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23303.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23304 1.0 sem_beta.h header file patch</p>
-
-<p>PHKL_23304.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23304.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23305 1.0 sem_sync.h header file patch</p>
-
-<p>PHKL_23305.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23305.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23306 1.0 sem_utl.h header file patch</p>
-
-<p>PHKL_23306.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23306.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23307 1.0 spinlock.h header file patch</p>
-
-<p>PHKL_23307.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23307.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23308 1.0 vas.h header file patch</p>
-
-<p>PHKL_23308.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23308.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23309 1.0 vfd.h header file patch</p>
-
-<p>PHKL_23309.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23309.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23310 1.0 vnode.h header file patch</p>
-
-<p>PHKL_23310.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23310.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23311 1.0 inode.h header file patch</p>
-
-<p>PHKL_23311.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23311.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23312 1.0 pci.h header file patch</p>
-
-<p>PHKL_23312.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23312.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23313 1.0 scsi_ctl.h header file patch</p>
-
-<p>PHKL_23313.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p># PHKL_23314 1.0 spinlock.h header file patch</p>
-
-<p>PHKL_23314.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23314.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23315 1.0 cpu.h header file patch</p>
-
-<p>PHKL_23315.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23315.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23316 1.0 map.h header file patch</p>
-
-<p>PHKL_23316.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_23335 1.0 solve inode deadlock with mmap and pagefault</p>
-
-<p>PHKL_23335.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23337 1.0 Side effect of madvise() call fixed.</p>
-
-<p>PHKL_23337.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23374 1.0 Fix close(2) data corruption</p>
-
-<p>PHKL_23374.VXFS-BASE-KRN 1.0 JFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_23507 1.0 LVM mirror logical volume fix</p>
-
-<p>PHKL_23507.LVM-KRN 1.0 LVM.LVM-KRN</p>
-
-<p># PHKL_24538 1.0 madvise/pagein race, Psets Enablement Patch</p>
-
-<p>PHKL_24538.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24550 1.0 early boot panic, Psets & vPar enablement</p>
-
-<p>PHKL_24550.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24551 1.0 thread nostop, vPar, Psets, load averages</p>
-
-<p>PHKL_24551.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24561 1.0 Psets & vPar Enablement</p>
-
-<p>PHKL_24561.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24566 1.0 Kernel Memory allocation, Psets Enablement</p>
-
-<p>PHKL_24566.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24567 1.0 signals,threads enhancement,Psets Enablement</p>
-
-<p>PHKL_24567.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24568 1.0 Thread NOSTOP, Psets Enablement</p>
-
-<p>PHKL_24568.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24569 1.0 Thread NOSTOP, Psets Enablement</p>
-
-<p>PHKL_24569.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24570 1.0 Boot hang, Psets & vPar enablement</p>
-
-<p>PHKL_24570.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24571 1.0 Psets Enablement patch</p>
-
-<p>PHKL_24571.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24572 1.0 Psets Enablement patch</p>
-
-<p>PHKL_24572.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24573 1.0 Psets Enablement Patch</p>
-
-<p>PHKL_24573.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24574 1.0 Psets Enablement patch</p>
-
-<p>PHKL_24574.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24575 1.0 Psets Enablement Patch</p>
-
-<p>PHKL_24575.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24577 1.0 Psets Enablement Patch</p>
-
-<p>PHKL_24577.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24578 1.0 Psets Enablement patch</p>
-
-<p>PHKL_24578.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_24578.PAUX-ENG-A-MAN 1.0 ProgSupport.PAUX-ENG-A-MAN</p>
-
-<p># PHKL_24579 1.0 Psets Enablement Patch</p>
-
-<p>PHKL_24579.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_24579.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_24579.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_24579.PAUX-ENG-A-MAN 1.0 ProgSupport.PAUX-ENG-A-MAN</p>
-
-<p># PHKL_24580 1.0 Psets Enablement Patch</p>
-
-<p>PHKL_24580.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24581 1.0 Psets Enablement Patch</p>
-
-<p>PHKL_24581.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24582 1.0 iCOD Support, Psets Enablement Patch</p>
-
-<p>PHKL_24582.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_24582.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24583 1.0 Psets Enablement Patch</p>
-
-<p>PHKL_24583.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_24583.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_24583.PAUX-ENG-A-MAN 1.0 ProgSupport.PAUX-ENG-A-MAN</p>
-
-<p># PHKL_24585 1.0 Psets vPar enablement patch</p>
-
-<p>PHKL_24585.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_24607 1.0 Psets Enablement Patch</p>
-
-<p>PHKL_24607.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHNE_23288 1.0 netmp.h socketvar.h unpcb.h header patch</p>
-
-<p>PHNE_23288.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHNE_23288.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHNE_23288.NET-KRN 1.0 Networking.NET-KRN</p>
-
-<p>PHNE_23288.NET-PRG 1.0 Networking.NET-PRG</p>
-
-<p># PHNE_23289 1.0 mux4.h header file patch</p>
-
-<p>PHNE_23289.C-INC 1.0 ProgSupport.C-INC</p>
-
-<h2>HP HPUX 11.00<a name=hpux1100></a></h2>
-
-<p># PHCO_12555 1.0 ioinit patch</p>
-
-<p>PHCO_12555.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_12577 1.0 uucp(1) - fixes multiple hop test failure</p>
-
-<p>PHCO_12577.UUCP 1.0 UUCP.UUCP</p>
-
-<p># PHCO_13205 1.0 dd(1) patch for block/unblock conversion</p>
-
-<p>PHCO_13205.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_13279 1.0 Fix install/configure for patches</p>
-
-<p>PHCO_13279.SD-AGENT 1.0 SW-DIST.SD-AGENT</p>
-
-<p># PHCO_13284 1.0 cumulative 10.20 libc compatibility support</p>
-
-<p>PHCO_13284.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_13316 1.0 XCurses patch.</p>
-
-<p>PHCO_13316.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHCO_13316.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_13331 1.0 tztab(4) patch</p>
-
-<p>PHCO_13331.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_13332 1.0 sccs(1) patch.</p>
-
-<p>PHCO_13332.SRC-CNTL 1.0 SourceControl.SRC-CNTL</p>
-
-<p># PHCO_13349 1.0 XCurses header patch.</p>
-
-<p>PHCO_13349.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p># PHCO_13362 1.0 mkmf(1) patch</p>
-
-<p>PHCO_13362.PROG-AUX 1.0 ProgSupport.PROG-AUX</p>
-
-<p># PHCO_13363 1.0 POSIX:sh patch</p>
-
-<p>PHCO_13363.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_13411 1.0 fsck cumulative patch</p>
-
-<p>PHCO_13411.VXFS-BASE-RUN 1.0 JournalFS.VXFS-BASE-RUN</p>
-
-<p># PHCO_13467 1.0 cumulative savecrash(1M) patch.</p>
-
-<p>PHCO_13467.CORE-ENG-A-MAN 1.0 OS-Core.CORE-ENG-A-MAN</p>
-
-<p>PHCO_13467.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_13494 1.0 cumulative fbackup(1m)/frecover(1m) patch</p>
-
-<p>PHCO_13494.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p>PHCO_13494.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_13542 1.0 tar(1) exit code for nonfatal errors.</p>
-
-<p>PHCO_13542.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_13571 1.0 mksf patch</p>
-
-<p>PHCO_13571.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_13587 1.0 sort(1) patch for UTF8 changes </p>
-
-<p>PHCO_13587.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_13719 1.0 comsec (ttsyncd) patch</p>
-
-<p>PHCO_13719.SECURITY 1.0 SecurityMon.SECURITY</p>
-
-<p># PHCO_13753 1.0 HP-UX Patch Tools and White Paper</p>
-
-<p>PHCO_13753.RELEASE-NOTES 1.0 RELEASE-NOTES</p>
-
-<p>PHCO_13753.SD-CMDS 1.0 HP-UX Software Distributor commands</p>
-
-<p># PHCO_13808 1.0 cumulative libpam patch.</p>
-
-<p>PHCO_13808.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_13809 1.0 cumulative passwd(1m) patch.</p>
-
-<p>PHCO_13809.CORE-ENG-A-MAN 1.0 OS-Core.CORE-ENG-A-MAN</p>
-
-<p># PHCO_13811 1.0 memory windows cumulative patch</p>
-
-<p>PHCO_13811.CMDS-AUX 1.0 OS-Core.CMDS-AUX</p>
-
-<p># PHCO_13812 1.0 fixes dump(1M) handling of active files</p>
-
-<p>PHCO_13812.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_13828 1.0 ex(1), vi(1) patch</p>
-
-<p>PHCO_13828.EDITORS 1.0 TextEditors.EDITORS</p>
-
-<p># PHCO_13966 1.0 cpio(1) - Fix -p to report number of blocks.</p>
-
-<p>PHCO_13966.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_13983 1.0 df(1M) cumulative patch</p>
-
-<p>PHCO_13983.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_14001 B.11.00.03 HP AutoRAID Manager cumulative patch</p>
-
-<p>PHCO_14001.ADMN-ENG-A-MAN B.11.00.03 HPAutoRaid Utilities Manual Pages</p>
-
-<p>PHCO_14001.ARRAY-MGMT B.11.00.03 HPAutoRaid Utilities</p>
-
-<p># PHCO_14037 1.0 cumulative 64-bit hardware enablement patch</p>
-
-<p>PHCO_14037.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_14044 1.0 cumulative newgrp(1) patch</p>
-
-<p>PHCO_14044.CMDS-AUX 1.0 OS-Core.CMDS-AUX</p>
-
-<p># PHCO_14051 1.0 cumulative SAM/ObAM patch</p>
-
-<p>PHCO_14051.OBAM-RUN 1.0 SystemAdmin.OBAM-RUN</p>
-
-<p>PHCO_14051.SAM 1.0 SystemAdmin.SAM</p>
-
-<p># PHCO_14084 1.0 csh(1) patch</p>
-
-<p>PHCO_14084.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p># PHCO_14102 1.0 libc cumulative patch</p>
-
-<p>PHCO_14102.C-MIN 1.0 OS-Core.C-MIN</p>
-
-<p>PHCO_14102.C-MIN-64ALIB 1.0 OS-Core.C-MIN-64ALIB</p>
-
-<p>PHCO_14102.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHCO_14102.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p>PHCO_14102.PROG-AUX 1.0 ProgSupport.PROG-AUX</p>
-
-<p>PHCO_14102.PROG-AX-64ALIB 1.0 ProgSupport.PROG-AX-64ALIB</p>
-
-<p>PHCO_14102.PROG-MIN 1.0 ProgSupport.PROG-MIN</p>
-
-<p># PHCO_14105 1.0 Patch for /sbin/init</p>
-
-<p>PHCO_14105.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_14112 1.0 cumulative PFS patch</p>
-
-<p>PHCO_14112.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_14177 1.0 cumulative fbackup(1M)/frecover(1M) patch</p>
-
-<p>PHCO_14177.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p>PHCO_14177.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_14194 1.0 quota(1) patch for NFS-quotas</p>
-
-<p>PHCO_14194.DQUOTA 1.0 DiskQuota.DQUOTA</p>
-
-<p># PHCO_14198 1.0 cumulative crashutil(1M) patch.</p>
-
-<p>PHCO_14198.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_14229 1.0 Cumulative patch for prof</p>
-
-<p>PHCO_14229.PROG-MIN 1.0 ProgSupport.PROG-MIN</p>
-
-<p># PHCO_14230 1.0 cummulative patch for gprof.</p>
-
-<p>PHCO_14230.PROG-AUX 1.0 ProgSupport.PROG-AUX</p>
-
-<p># PHCO_14244 1.0 vxdump patch</p>
-
-<p>PHCO_14244.VXFS-BASE-RUN 1.0 JournalFS.VXFS-BASE-RUN</p>
-
-<p># PHCO_14257 1.0 pwgrd consumes CPU when time set backwards</p>
-
-<p>PHCO_14257.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_14269 B.11.00.04 HP AutoRAID Manager cumulative patch</p>
-
-<p>PHCO_14269.ADMN-ENG-A-MAN B.11.00.04 HPAutoRaid Utilities Manual Pages</p>
-
-<p>PHCO_14269.ARRAY-MGMT B.11.00.04 HPAutoRaid Utilities</p>
-
-<p># PHCO_14416 1.0 Obsolete Header Files Removal Patch</p>
-
-<p>PHCO_14416.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p># PHCO_14419 1.0 restore(1M) fix for cross-platform archives</p>
-
-<p>PHCO_14419.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_14562 1.0 LVM commands cumulative patch</p>
-
-<p>PHCO_14562.LVM-ENG-A-MAN 1.0 LVM.LVM-ENG-A-MAN</p>
-
-<p>PHCO_14562.LVM-RUN 1.0 LVM.LVM-RUN</p>
-
-<p># PHCO_14585 B.11.00.07 HP AutoRAID Manager cumulative patch</p>
-
-<p>PHCO_14585.ADMN-ENG-A-MAN B.11.00.07 HPAutoRaid Utilities Manual Pages</p>
-
-<p>PHCO_14585.ARRAY-MGMT B.11.00.07 HPAutoRaid Utilities</p>
-
-<p># PHCO_14600 1.0 patch for lif commands</p>
-
-<p>PHCO_14600.KERN-RUN 1.0 OS-Core.KERN-RUN</p>
-
-<p># PHCO_14625 1.0 bdf(1M) patch to skip autofs file systems.</p>
-
-<p>PHCO_14625.CMDS-AUX 1.0 OS-Core.CMDS-AUX</p>
-
-<p># PHCO_14626 1.0 mount(1M) patch to mount cachefs after nfs.</p>
-
-<p>PHCO_14626.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_14627 1.0 mountall(1M) patch; mount cachefs after nfs.</p>
-
-<p>PHCO_14627.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_14663 1.0 kernsymtab patch for update hang</p>
-
-<p>PHCO_14663.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHCO_14664 1.0 kmtools patch for DLKM load failure</p>
-
-<p>PHCO_14664.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHCO_14700 1.0 Release Notes Addendum June 1998</p>
-
-<p>PHCO_14700.RELEASE-NOTES 1.0 OS-Core.RELEASE-NOTES</p>
-
-<p># PHCO_14704 1.0 libc cumulative patch</p>
-
-<p>PHCO_14704.C-MIN 1.0 OS-Core.C-MIN</p>
-
-<p>PHCO_14704.C-MIN-64ALIB 1.0 OS-Core.C-MIN-64ALIB</p>
-
-<p>PHCO_14704.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHCO_14704.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p>PHCO_14704.PROG-AUX 1.0 ProgSupport.PROG-AUX</p>
-
-<p>PHCO_14704.PROG-AX-64ALIB 1.0 ProgSupport.PROG-AX-64ALIB</p>
-
-<p>PHCO_14704.PROG-MIN 1.0 ProgSupport.PROG-MIN</p>
-
-<p># PHCO_14705 1.0 libc cumulative header file patch</p>
-
-<p>PHCO_14705.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p># PHCO_14717 1.0 libnss_files cumulative patch</p>
-
-<p>PHCO_14717.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHCO_14717.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_14733 1.0 cumulative passwd(1) patch.</p>
-
-<p>PHCO_14733.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_14777 1.0 patch for reboot.</p>
-
-<p>PHCO_14777.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_14778 1.0 cu(1) patch</p>
-
-<p>PHCO_14778.SYSCOM 1.0 SystemComm.SYSCOM</p>
-
-<p># PHCO_14779 1.0 ct(1) patch</p>
-
-<p>PHCO_14779.SYSCOM 1.0 SystemComm.SYSCOM</p>
-
-<p># PHCO_14780 1.0 cron(1M) and at(1) patch.</p>
-
-<p>PHCO_14780.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p># PHCO_14781 1.0 lpspool subsystem cumulative patch</p>
-
-<p>PHCO_14781.LP-SPOOL 1.0 PrinterMgmt.LP-SPOOL</p>
-
-<p># PHCO_14786 1.0 Locales Y2K patch</p>
-
-<p>PHCO_14786.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p>PHCO_14786.GREEK 1.0 International.GREEK</p>
-
-<p>PHCO_14786.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p># PHCO_14809 1.0 top(1) cumulative patch</p>
-
-<p>PHCO_14809.CMDS-AUX 1.0 OS-Core.CMDS-AUX</p>
-
-<p>PHCO_14809.CORE-ENG-A-MAN 1.0 OS-Core.CORE-ENG-A-MAN</p>
-
-<p># PHCO_14810 1.0 year 2000 fix for power_onoff</p>
-
-<p>PHCO_14810.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p>PHCO_14810.UPS-TOOLS 1.0 OS-Core.UPS-TOOLS</p>
-
-<p># PHCO_14812 1.0 acctcon1(1m) patch</p>
-
-<p>PHCO_14812.ACCOUNTNG 1.0 Accounting.ACCOUNTNG</p>
-
-<p># PHCO_14887 1.0 cumulative SAM/ObAM patch</p>
-
-<p>PHCO_14887.OBAM-RUN 1.0 SystemAdmin.OBAM-RUN</p>
-
-<p>PHCO_14887.SAM 1.0 SystemAdmin.SAM</p>
-
-<p># PHCO_15037 1.0 fsck_vxfs(1M) cumulative patch </p>
-
-<p>PHCO_15037.VXFS-BASE-RUN 1.0 JournalFS.VXFS-BASE-RUN</p>
-
-<p># PHCO_15048 1.0 ioinitrc, assign ttys for B,C class systems</p>
-
-<p>PHCO_15048.UX-CORE 1.0 Core HP-UX functionality </p>
-
-<p># PHCO_15219 1.0 nroff(1) Year 2000 fix</p>
-
-<p>PHCO_15219.TEXT-FMT 1.0 TextFormatters.TEXT-FMT </p>
-
-<p># PHCO_15220 1.0 sar(1M) Year 2000 fix</p>
-
-<p>PHCO_15220.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_15221 1.0 patch with Year 2K fix</p>
-
-<p>PHCO_15221.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_15231 1.0 cumulative libpam patch.</p>
-
-<p>PHCO_15231.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_15235 1.0 Cumulative at(1):Cron(1M) including Y2K Fix</p>
-
-<p>PHCO_15235.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p># PHCO_15448 1.0 cumulative libpam.1 patch.</p>
-
-<p>PHCO_15448.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_15746 1.0 mksf cumulative patch</p>
-
-<p>PHCO_15746.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_15932 1.0 clean_tmps cumulative patch</p>
-
-<p>PHCO_15932.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_16021 1.0 Year 2000 rcs(1) cumulative patch</p>
-
-<p>PHCO_16021.SRC-CNTL 1.0 SourceControl.SRC-CNTL</p>
-
-<p># PHCO_16039 1.0 libnss_files cumulative patch</p>
-
-<p>PHCO_16039.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHCO_16039.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_16062 1.0 cumulative 10.20 libc compatibility support</p>
-
-<p>PHCO_16062.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_16127 1.0 patch</p>
-
-<p>PHCO_16127.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_16149 1.0 csh(1) cumulative patch</p>
-
-<p>PHCO_16149.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p># PHCO_16192 1.0 grep(1),egrep(1),fgrep(1) patch</p>
-
-<p>PHCO_16192.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_16195 1.0 mc(1m) bug fixes and enhancements</p>
-
-<p>PHCO_16195.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p>PHCO_16195.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_16253 1.0 Year 2000 cumulative sccs(1) patch</p>
-
-<p>PHCO_16253.SRC-CNTL 1.0 SourceControl.SRC-CNTL</p>
-
-<p># PHCO_16305 1.0 cumulative 10.20 libc compatibility support</p>
-
-<p>PHCO_16305.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_16306 1.0 cumulative 10.20 libc compatibility support</p>
-
-<p>PHCO_16306.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_16341 B.11.00.10 HP AutoRAID Manager cumulative patch</p>
-
-<p>PHCO_16341.ADMN-ENG-A-MAN B.11.00.10 HPAutoRaid Utilities Manual Pages</p>
-
-<p>PHCO_16341.ARRAY-MGMT B.11.00.10 HPAutoRaid Utilities</p>
-
-<p># PHCO_16345 1.0 cumulative SAM/ObAM patch</p>
-
-<p>PHCO_16345.INETSVCS-BOOT 1.0 InternetSrvcs.INETSVCS-BOOT</p>
-
-<p>PHCO_16345.OBAM-RUN 1.0 SystemAdmin.OBAM-RUN</p>
-
-<p>PHCO_16345.SAM 1.0 SystemAdmin.SAM</p>
-
-<p>PHCO_16345.SAM-HELP 1.0 SystemAdmin.SAM-HELP</p>
-
-<p>PHCO_16345.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_16405 1.0 cumulative fbackup(1M)/frecover(1M) patch</p>
-
-<p>PHCO_16405.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p>PHCO_16405.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p>PHCO_16405.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_16438 1.0 PFS cumulative patch</p>
-
-<p>PHCO_16438.CORE-ENG-A-MAN 1.0 OS-Core.CORE-ENG-A-MAN</p>
-
-<p>PHCO_16438.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_16484 1.0 French fr_CA, fr_FR.utf8 locale src, binary</p>
-
-<p>PHCO_16484.FRENCH 1.0 International.FRENCH</p>
-
-<p>PHCO_16484.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p># PHCO_16485 1.0 German de_DE.utf8 locale src and binary</p>
-
-<p>PHCO_16485.GERMAN 1.0 International.GERMAN</p>
-
-<p>PHCO_16485.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p># PHCO_16486 1.0 Italian it_IT.utf8 locale src and binary</p>
-
-<p>PHCO_16486.ITALIAN 1.0 International.ITALIAN</p>
-
-<p>PHCO_16486.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p># PHCO_16487 1.0 Spanish es_ES.utf8 locale src and binary</p>
-
-<p>PHCO_16487.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p>PHCO_16487.SPANISH 1.0 International.SPANISH</p>
-
-<p># PHCO_16488 1.0 Swedish sv_SE.utf8 locale src and binary</p>
-
-<p>PHCO_16488.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p>PHCO_16488.SWEDISH 1.0 International.SWEDISH</p>
-
-<p># PHCO_16489 1.0 S-Chinese zh_CN.utf8 locale src and binary</p>
-
-<p>PHCO_16489.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p># PHCO_16490 1.0 T-Chinese zh_TW.utf8 locale src and binary</p>
-
-<p>PHCO_16490.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p># PHCO_16491 1.0 Hong Kong zh_HK.utf8 locale src and binary</p>
-
-<p>PHCO_16491.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p># PHCO_16492 1.0 Japanese ja_JP.utf8 locale src and binary</p>
-
-<p>PHCO_16492.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p># PHCO_16493 1.0 Korean ko_KR.utf8 locale src and binary</p>
-
-<p>PHCO_16493.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p># PHCO_16494 1.0 Conform C.utf8 locale to Unicode 2.0 std</p>
-
-<p>PHCO_16494.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p>PHCO_16494.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p>PHCO_16494.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_16495 1.0 Europe, Mid-East & Americas UTF8 locale src</p>
-
-<p>PHCO_16495.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p># PHCO_16496 1.0 Align univ.utf8 to Unicode 2.0 std and EURO</p>
-
-<p>PHCO_16496.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p>PHCO_16496.GREEK 1.0 International.GREEK</p>
-
-<p>PHCO_16496.NLS-AUX 1.0 OS-Core.NLS-AUX</p>
-
-<p># PHCO_16527 1.0 eucset(1) patch</p>
-
-<p>PHCO_16527.CORE-ENG-A-MAN 1.0 OS-Core.CORE-ENG-A-MAN</p>
-
-<p>PHCO_16527.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_16551 1.0 Software Distributor (SD-UX) Cumulative Patch</p>
-
-<p>PHCO_16551.SD-AGENT 1.0 SW-DIST.SD-AGENT</p>
-
-<p>PHCO_16551.SD-CMDS 1.0 SW-DIST.SD-CMDS</p>
-
-<p># PHCO_16584 1.0 cumulative 64-bit hardware enablement patch</p>
-
-<p>PHCO_16584.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_16629 1.0 libc cumulative patch</p>
-
-<p>PHCO_16629.C-MIN 1.0 OS-Core.C-MIN</p>
-
-<p>PHCO_16629.C-MIN-64ALIB 1.0 OS-Core.C-MIN-64ALIB</p>
-
-<p>PHCO_16629.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHCO_16629.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p>PHCO_16629.PROG-AUX 1.0 ProgSupport.PROG-AUX</p>
-
-<p>PHCO_16629.PROG-AX-64ALIB 1.0 ProgSupport.PROG-AX-64ALIB</p>
-
-<p>PHCO_16629.PROG-MIN 1.0 ProgSupport.PROG-MIN</p>
-
-<p># PHCO_16704 1.0 config: increase table size for driver libs</p>
-
-<p>PHCO_16704.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHCO_16720 1.0 st(1) New shared tape administration command</p>
-
-<p>PHCO_16720.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p>PHCO_16720.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_16748 1.0 mt(1) new reserve, release, status options</p>
-
-<p>PHCO_16748.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p>PHCO_16748.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_16795 1.0 memory windows cumulative patch</p>
-
-<p>PHCO_16795.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p>PHCO_16795.CMDS-AUX 1.0 OS-Core.CMDS-AUX</p>
-
-<p># PHCO_16796 1.0 pwgrd(1M) cumulative patch</p>
-
-<p>PHCO_16796.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_16851 1.0 LVM commands cumulative patch</p>
-
-<p>PHCO_16851.LVM-ENG-A-MAN 1.0 LVM.LVM-ENG-A-MAN</p>
-
-<p>PHCO_16851.LVM-RUN 1.0 LVM.LVM-RUN</p>
-
-<p># PHCO_16942 1.0 Year 2000 cumulative cron/at/crontab patch</p>
-
-<p>PHCO_16942.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p># PHCO_16965 1.0 Year 2000 rcs(1) cumulative patch</p>
-
-<p>PHCO_16965.SRC-CNTL 1.0 SourceControl.SRC-CNTL</p>
-
-<p># PHCO_17032 1.0 lpspool subsystem cumulative patch</p>
-
-<p>PHCO_17032.LP-SPOOL 1.0 PrinterMgmt.LP-SPOOL</p>
-
-<p># PHCO_17050 1.0 Year 2000 HP-UX Operating System Patch Tool</p>
-
-<p>PHCO_17050.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p># PHCO_17076 1.0 Year 2000 cumulative sccs(1) patch</p>
-
-<p>PHCO_17076.SRC-CNTL 1.0 SourceControl.SRC-CNTL</p>
-
-<p># PHCO_17078 1.0 libc cumulative header file patch</p>
-
-<p>PHCO_17078.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p># PHCO_17100 1.0 and RelNotesExtPak, December 1998</p>
-
-<p>PHCO_17100.RELEASE-NOTES 1.0 OS-Core.RELEASE-NOTES</p>
-
-<p># PHCO_17243 1.0 envd(1M) patch.</p>
-
-<p>PHCO_17243.CORE-ENG-A-MAN 1.0 OS-Core.CORE-ENG-A-MAN</p>
-
-<p>PHCO_17243.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_17371 1.0 Year 2000 HP-UX Operating System Patch Tool</p>
-
-<p>PHCO_17371.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p># PHCO_17440 1.0 useradd(1M) cumulative patch.</p>
-
-<p>PHCO_17440.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_17454 1.0 mkfs_hfs VxVM coexistence patch</p>
-
-<p>PHCO_17454.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_17455 1.0 mkfs_vxfs VxVM coexistence patch</p>
-
-<p>PHCO_17455.VXFS-BASE-RUN 1.0 JournalFS.VXFS-BASE-RUN</p>
-
-<p># PHCO_17503 1.0 envd.conf patch.</p>
-
-<p>PHCO_17503.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_17553 1.0 Year 2000 cumulative cron/at/crontab patch</p>
-
-<p>PHCO_17553.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p>PHCO_17553.CMIN-ENG-A-MAN 1.0 OS-Core.CMIN-ENG-A-MAN</p>
-
-<p># PHCO_17556 1.0 fsck_vxfs(1M) cumulative patch </p>
-
-<p>PHCO_17556.VXFS-BASE-RUN 1.0 JournalFS.VXFS-BASE-RUN</p>
-
-<p># PHCO_17622 1.0 libsec pty patch</p>
-
-<p>PHCO_17622.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p>PHCO_17622.PROG-MIN 1.0 ProgSupport.PROG-MIN</p>
-
-<p>PHCO_17622.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_17712 1.0 Year 2000 nroff(1) cumulative patch</p>
-
-<p>PHCO_17712.TEXT-FMT 1.0 TextFormatters.TEXT-FMT </p>
-
-<p># PHCO_17792 1.0 cumulative SAM/ObAM patch</p>
-
-<p>PHCO_17792.INETSVCS-BOOT 1.0 InternetSrvcs.INETSVCS-BOOT</p>
-
-<p>PHCO_17792.OBAM-RUN 1.0 SystemAdmin.OBAM-RUN</p>
-
-<p>PHCO_17792.SAM 1.0 SystemAdmin.SAM</p>
-
-<p>PHCO_17792.SAM-HELP 1.0 SystemAdmin.SAM-HELP</p>
-
-<p>PHCO_17792.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_17867 1.0 ioinitrc, assign ttys for B,C class systems</p>
-
-<p>PHCO_17867.UX-CORE 1.0 Core HP-UX functionality </p>
-
-<p># PHCO_18102 1.0 cumulative 10.20 libc compatibility support</p>
-
-<p>PHCO_18102.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_18132 1.0 Year 2000 HP-UX Operating System Patch Tool</p>
-
-<p>PHCO_18132.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p># PHCO_18183 1.0 Software Distributor (SD-UX) Cumulative Patch</p>
-
-<p>PHCO_18183.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p>PHCO_18183.SD-AGENT 1.0 SW-DIST.SD-AGENT</p>
-
-<p>PHCO_18183.SD-CMDS 1.0 SW-DIST.SD-CMDS</p>
-
-<p># PHCO_18227 1.0 libc cumulative patch</p>
-
-<p>PHCO_18227.C-MIN 1.0 OS-Core.C-MIN</p>
-
-<p>PHCO_18227.C-MIN-64ALIB 1.0 OS-Core.C-MIN-64ALIB</p>
-
-<p>PHCO_18227.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHCO_18227.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p>PHCO_18227.PROG-AUX 1.0 ProgSupport.PROG-AUX</p>
-
-<p>PHCO_18227.PROG-AX-64ALIB 1.0 ProgSupport.PROG-AX-64ALIB</p>
-
-<p>PHCO_18227.PROG-MIN 1.0 ProgSupport.PROG-MIN</p>
-
-<p># PHCO_18302 1.0 mksf(1M) cumulative patch</p>
-
-<p>PHCO_18302.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_18485 1.0 LVM commands cumulative patch</p>
-
-<p>PHCO_18485.LVM-ENG-A-MAN 1.0 LVM.LVM-ENG-A-MAN</p>
-
-<p>PHCO_18485.LVM-RUN 1.0 LVM.LVM-RUN</p>
-
-<p># PHCO_18685 B.11.00.04 HP Array Manager/60 cumulative patch</p>
-
-<p>PHCO_18685.ADMN-ENG-A-MAN B.11.00.04 HPArray Manager/60 Utilities Manual
-Pages</p>
-
-<p>PHCO_18685.ARRAY-MGMT B.11.00.04 HPArray Manager/60 Utilities</p>
-
-<p># PHCO_18901 1.0 extendfs_hfs fix for large file systems</p>
-
-<p>PHCO_18901.LVM-RUN 1.0 LVM.LVM-RUN</p>
-
-<p># PHCO_19435 1.0 csh(1) cumulative patch.</p>
-
-<p>PHCO_19435.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p># PHCO_19597 1.0 Year 2000 HP-UX Application Patch Tool</p>
-
-<p>PHCO_19597.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p># PHCO_19666 1.0 libpthreads cumulative patch</p>
-
-<p>PHCO_19666.C-MIN-32ALIB 1.0 OS-Core.C-MIN-32ALIB</p>
-
-<p>PHCO_19666.C-MIN-64ALIB 1.0 OS-Core.C-MIN-64ALIB</p>
-
-<p>PHCO_19666.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHCO_19666.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_19732 1.0 cumulative fbackup(1M)/frecover(1M) patch</p>
-
-<p>PHCO_19732.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p>PHCO_19732.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p>PHCO_19732.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_19772 1.0 Correct return values from st(1M)</p>
-
-<p>PHCO_19772.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p>PHCO_19772.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_20183 1.0 itemap(1M) for USB keyboards</p>
-
-<p>PHCO_20183.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_20443 1.0 memory windows cumulative patch</p>
-
-<p>PHCO_20443.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p>PHCO_20443.CMDS-AUX 1.0 OS-Core.CMDS-AUX</p>
-
-<p># PHCO_20679 1.0 user/group(add/mod/del) cumulative patch.</p>
-
-<p>PHCO_20679.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_21242 1.0 vxdump (1M) cumulative patch</p>
-
-<p>PHCO_21242.VXFS-BASE-RUN 1.0 JournalFS.VXFS-BASE-RUN</p>
-
-<p># PHCO_21596 1.0 mksf(1M) cumulative patch</p>
-
-<p>PHCO_21596.CORE-ENG-A-MAN 1.0 OS-Core.CORE-ENG-A-MAN</p>
-
-<p>PHCO_21596.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_21854 1.0 HPDPS cumulative patch</p>
-
-<p>PHCO_21854.PD-CLIENT 1.0 DistributedPrint.PD-CLIENT</p>
-
-<p>PHCO_21854.PD-COMMON 1.0 DistributedPrint.PD-COMMON</p>
-
-<p>PHCO_21854.PD-SERVCOMMON 1.0 DistributedPrint.PD-SERVCOMMON</p>
-
-<p>PHCO_21854.PD-SPOOLER 1.0 DistributedPrint.PD-SPOOLER</p>
-
-<p>PHCO_21854.PD-SUPERVISOR 1.0 DistributedPrint.PD-SUPERVISOR</p>
-
-<p># PHCO_21894 1.0 vmstat(1) patch</p>
-
-<p>PHCO_21894.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p>PHCO_21894.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_21927 1.0 iostat(1) patch</p>
-
-<p>PHCO_21927.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p>PHCO_21927.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_21928 1.0 uptime(1) patch</p>
-
-<p>PHCO_21928.CAUX-ENG-A-MAN 1.0 OS-Core.CAUX-ENG-A-MAN</p>
-
-<p>PHCO_21928.CMDS-AUX 1.0 OS-Core.CMDS-AUX</p>
-
-<p># PHCO_22096 1.0 cumulative newgrp(1) patch</p>
-
-<p>PHCO_22096.CMDS-AUX 1.0 OS-Core.CMDS-AUX</p>
-
-<p># PHCO_22269 1.0 cumulative SAM/ObAM patch</p>
-
-<p>PHCO_22269.INETSVCS-BOOT 1.0 InternetSrvcs.INETSVCS-BOOT</p>
-
-<p>PHCO_22269.OBAM-RUN 1.0 SystemAdmin.OBAM-RUN</p>
-
-<p>PHCO_22269.SAM 1.0 SystemAdmin.SAM</p>
-
-<p>PHCO_22269.SAM-HELP 1.0 SystemAdmin.SAM-HELP</p>
-
-<p>PHCO_22269.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_22314 1.0 libc cumulative patch</p>
-
-<p>PHCO_22314.C-MIN 1.0 OS-Core.C-MIN</p>
-
-<p>PHCO_22314.C-MIN-64ALIB 1.0 OS-Core.C-MIN-64ALIB</p>
-
-<p>PHCO_22314.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHCO_22314.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p>PHCO_22314.PROG-AUX 1.0 ProgSupport.PROG-AUX</p>
-
-<p>PHCO_22314.PROG-AX-64ALIB 1.0 ProgSupport.PROG-AX-64ALIB</p>
-
-<p>PHCO_22314.PROG-MIN 1.0 ProgSupport.PROG-MIN</p>
-
-<p># PHCO_22365 1.0 lpspool subsystem cumulative patch</p>
-
-<p>PHCO_22365.LP-SPOOL 1.0 PrinterMgmt.LP-SPOOL</p>
-
-<p># PHCO_22453 1.0 fsck_vxfs(1M) cumulative patch </p>
-
-<p>PHCO_22453.VXFS-BASE-RUN 1.0 JournalFS.VXFS-BASE-RUN</p>
-
-<p># PHCO_22526 1.0 Software Distributor (SD) Cumulative Patch</p>
-
-<p>PHCO_22526.SD-AGENT 1.0 SW-DIST.SD-AGENT</p>
-
-<p>PHCO_22526.SD-CMDS 1.0 SW-DIST.SD-CMDS</p>
-
-<p>PHCO_22526.SD-ENG-A-MAN 1.0 SW-DIST.SD-ENG-A-MAN</p>
-
-<p>PHCO_22526.SD-FAL 1.0 SW-DIST.SD-FAL</p>
-
-<p>PHCO_22526.SD-HELP 1.0 SW-DIST.SD-HELP</p>
-
-<p># PHCO_22664 1.0 cumulative patch for /sbin/init</p>
-
-<p>PHCO_22664.UX-CORE 1.0 OS-Core.UX-CORE</p>
-
-<p># PHCO_22686 1.0 top(1) cumulative patch</p>
-
-<p>PHCO_22686.CMDS-AUX 1.0 OS-Core.CMDS-AUX</p>
-
-<p>PHCO_22686.CORE-ENG-A-MAN 1.0 OS-Core.CORE-ENG-A-MAN</p>
-
-<p># PHCO_22733 1.0 sar(1) cumulative patch</p>
-
-<p>PHCO_22733.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p>PHCO_22733.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHCO_22767 1.0 cumulative crontab/at/cron patch</p>
-
-<p>PHCO_22767.CMDS-MIN 1.0 OS-Core.CMDS-MIN</p>
-
-<p>PHCO_22767.CMIN-ENG-A-MAN 1.0 OS-Core.CMIN-ENG-A-MAN</p>
-
-<p># PHCO_22899 1.0 DLKM configuration tools cumulative patch</p>
-
-<p>PHCO_22899.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHCO_23076 1.0 LVM commands cumulative patch</p>
-
-<p>PHCO_23076.LVM-ENG-A-MAN 1.0 LVM.LVM-ENG-A-MAN</p>
-
-<p>PHCO_23076.LVM-RUN 1.0 LVM.LVM-RUN</p>
-
-<p># PHCO_23092 1.0 libc cumulative header file patch</p>
-
-<p>PHCO_23092.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p># PHCO_23117 1.0 bdf(1M) cumulative patch</p>
-
-<p>PHCO_23117.CMDS-AUX 1.0 OS-Core.CMDS-AUX</p>
-
-<p># PHCO_23149 B.11.00.14 HP Array Manager/60 cumulative patch</p>
-
-<p>PHCO_23149.ADMN-ENG-A-MAN B.11.00.14 HPArray Manager/60 Utilities Manual Pages</p>
-
-<p>PHCO_23149.ARRAY-MGMT B.11.00.14 HPArray Manager/60 Utilities</p>
-
-<p># PHCO_23169 1.0 cumulative 64 bit hardware enablement patch</p>
-
-<p>PHCO_23169.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_23189 1.0 libnss_files cumulative patch</p>
-
-<p>PHCO_23189.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHCO_23189.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_23218 1.0 cumulative libpam and libpam_unix patch.</p>
-
-<p>PHCO_23218.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHCO_23262 B.11.00.15 HP AutoRAID Manager cumulative patch</p>
-
-<p>PHCO_23262.ADMN-ENG-A-MAN B.11.00.15 HPAutoRaid Utilities Manual Pages</p>
-
-<p>PHCO_23262.ARRAY-MGMT B.11.00.15 HPAutoRaid Utilities</p>
-
-<p># PHCO_23432 1.0 cumulative 10.20 libc compatibility support</p>
-
-<p>PHCO_23432.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHKL_13023 1.0 disc3 I/O cumulative patch</p>
-
-<p>PHKL_13023.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_13121 1.0 POSIX semaphore deadlock/hang</p>
-
-<p>PHKL_13121.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_13200 1.0 JFS fixes for panics and a hang</p>
-
-<p>PHKL_13200.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_13201 1.0 JFS vx_olt_ilistadd() panic fix</p>
-
-<p>PHKL_13201.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_13202 1.0 JFS extended map inodes cause fsck failure</p>
-
-<p>PHKL_13202.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_13219 1.0 64 Bit HPA3519A Graphics Patch </p>
-
-<p>PHKL_13219.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_13346 1.0 lvm boot corruption fix</p>
-
-<p>PHKL_13346.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_13371 1.0 scsi3 cumulative patch</p>
-
-<p>PHKL_13371.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_13387 1.0 DMAPI: ad_len of vx_attr_direct should be 32</p>
-
-<p>PHKL_13387.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_13431 1.0 bad block msg,panic; data possibly corrupted</p>
-
-<p>PHKL_13431.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_13539 1.0 Data page fault in vx_map_delayflush()</p>
-
-<p>PHKL_13539.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_14026 1.0 mtstart() Page fault,tape0 Hang,Panic patch</p>
-
-<p>PHKL_14026.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14045 1.0 Fix for ECC errors in errlogs patch</p>
-
-<p>PHKL_14045.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14046 1.0 un-needed TLB purge locks on non V-Class</p>
-
-<p>PHKL_14046.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14047 1.0 V-class hpmc panic by reading invalid csr</p>
-
-<p>PHKL_14047.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14069 1.0 Enable HSC to HP-PB converter on K Class</p>
-
-<p>PHKL_14069.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14088 1.0 HP-UX Performance Pack; cumulative patch</p>
-
-<p>PHKL_14088.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_14088.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_14088.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_14088.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p># PHKL_14111 1.0 Cumulative FS patch plus perf. enhancements</p>
-
-<p>PHKL_14111.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14119 1.0 32bit binary compatibility on 64bit systems</p>
-
-<p>PHKL_14119.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14174 1.0 proper compilation of C++ large file apps</p>
-
-<p>PHKL_14174.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_14174.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p># PHKL_14252 1.0 SLVM (HA) cumulative patch</p>
-
-<p>PHKL_14252.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_14252.LVM-KRN 1.0 LVM.LVM-KRN</p>
-
-<p># PHKL_14425 1.0 autox0 patch</p>
-
-<p>PHKL_14425.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_14425.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14426 1.0 diag2 data corruption on 64-bit sys >3.75GB</p>
-
-<p>PHKL_14426.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14551 1.0 HSC:HP-PB:converter+OS hang io_query "reg..."</p>
-
-<p>PHKL_14551.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14688 1.0 SCSI Pass thru driver cumulative patch</p>
-
-<p>PHKL_14688.SPT2-DVR 1.0 SCSI-Passthru.SPT2-DVR</p>
-
-<p># PHKL_14703 1.0 mp serialization fix for memory drivers</p>
-
-<p>PHKL_14703.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14729 1.0 Increased timeouts for MO drives</p>
-
-<p>PHKL_14729.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14745 1.0 VxFS lock held too long/perf improvements</p>
-
-<p>PHKL_14745.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_14745.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_14747 1.0 System hang while flushing dirty buffers</p>
-
-<p>PHKL_14747.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_14748 1.0 FS Performance; HFS, VxFS panics</p>
-
-<p>PHKL_14748.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_14748.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_14750 1.0 Fix pthread_cond_timedwait(3T) error return</p>
-
-<p>PHKL_14750.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14751 1.0 WSIO CDIO patch</p>
-
-<p>PHKL_14751.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14762 1.0 POSIX semaphore deadlock/hang</p>
-
-<p>PHKL_14762.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14763 1.0 JFS extended map inodes cause fsck failure</p>
-
-<p>PHKL_14763.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_14764 1.0 DMAPI: ad_len of vx_attr_direct should be 32</p>
-
-<p>PHKL_14764.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_14765 1.0 Fixes HFS Panic in alloccgblk</p>
-
-<p>PHKL_14765.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14766 1.0 Data page fault in vx_map_delayflush()</p>
-
-<p>PHKL_14766.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_14767 1.0 HFS file system patch</p>
-
-<p>PHKL_14767.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14768 1.0 HSCtoPCI, HSC100BT, shared interrupt patch</p>
-
-<p>PHKL_14768.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14805 1.0 Scheduler;panics;PRM;KGDB;CXPerf;pthreads</p>
-
-<p>PHKL_14805.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_14805.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_14805.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_14805.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p>PHKL_14805.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_14806 1.0 64 Bit HPA3519A Graphics Patch </p>
-
-<p>PHKL_14806.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14807 1.0 scsi3 cumulative patch</p>
-
-<p>PHKL_14807.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_14999 1.0 pthread(3t) man page defect fix</p>
-
-<p>PHKL_14999.PAUX-ENG-A-MAN 1.0 ProgSupport.PAUX-ENG-A-MAN</p>
-
-<p># PHKL_15485 1.0 VISUALIZE-EG and FX Graphics Patch</p>
-
-<p>PHKL_15485.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_15485.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_15485.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_15488 1.0 ATM hang, Visualize EG/FX panic</p>
-
-<p>PHKL_15488.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_15489 1.0 setsid, setpgrp, and setpgrp3 manpages</p>
-
-<p>PHKL_15489.PAUX-ENG-A-MAN 1.0 ProgSupport.PAUX-ENG-A-MAN</p>
-
-<p># PHKL_15510 1.0 DLKM kernel patch for DLKM load failure</p>
-
-<p>PHKL_15510.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_15510.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_15510.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_15547 1.0 Recompile with optimization for performance.</p>
-
-<p>PHKL_15547.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_15622 1.0 Add support for PCI memory mapped I/O > 32MB</p>
-
-<p>PHKL_15622.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_15687 1.0 mk_kernel:Eliminate debug related warnings</p>
-
-<p>PHKL_15687.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_15689 1.0 AutoFS support patch</p>
-
-<p>PHKL_15689.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_15910 1.0 VxFS lock held too long fix/perf improvement</p>
-
-<p>PHKL_15910.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_15910.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_15955 1.0 autox0 cumulative patch.</p>
-
-<p>PHKL_15955.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_15955.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_15956 1.0 LVM Cumulative PVLinks patch</p>
-
-<p>PHKL_15956.LVM-KRN 1.0 LVM.LVM-KRN</p>
-
-<p># PHKL_16023 1.0 VxFS Corruption after crash, data page fault</p>
-
-<p>PHKL_16023.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_16074 1.0 KI nfs performance fix and KI panic fix</p>
-
-<p>PHKL_16074.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_16182 1.0 PM/VM/UFS/IO perf cumulative patch</p>
-
-<p>PHKL_16182.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_16182.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_16182.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_16182.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p>PHKL_16182.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p>PHKL_16182.VXFS-PRG 1.0 JournalFS.VXFS-PRG</p>
-
-<p># PHKL_16209 1.0 fix race conditions in UP emulation</p>
-
-<p>PHKL_16209.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_16433 1.0 LVM commands hang due to bad timestamp.</p>
-
-<p>PHKL_16433.LVM-KRN 1.0 LVM.LVM-KRN</p>
-
-<p># PHKL_16807 1.0 DLKM unloading and Open bug with autoloading</p>
-
-<p>PHKL_16807.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_16875 1.0 HSC_FDDI,Opts.,HSCtoPCI,HSC100BT,Shared Int.</p>
-
-<p>PHKL_16875.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_16875.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_16875.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_16981 1.0 Fix for panic in scr_bltb() and scr_bltf()</p>
-
-<p>PHKL_16981.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_16983 1.0 Return correct value for open()</p>
-
-<p>PHKL_16983.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_17019 1.0 ttrace(2) man page update</p>
-
-<p>PHKL_17019.PAUX-ENG-A-MAN 1.0 ProgSupport.PAUX-ENG-A-MAN</p>
-
-<p># PHKL_17036 1.0 Core LAN HPUX driver for V class only.</p>
-
-<p>PHKL_17036.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_17036.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p>PHKL_17036.LAN2-KRN 1.0 Networking.LAN2-KRN</p>
-
-<p># PHKL_17037 1.0 kernel changes to support coke/pmon on V2500</p>
-
-<p>PHKL_17037.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_17038 1.0 Data Page Fault when field vmtrace'ng fix</p>
-
-<p>PHKL_17038.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_17039 1.0 Bug fix; support 64 bit registers on V2500</p>
-
-<p>PHKL_17039.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_17040 1.0 Support PCI cards w/ PCI info tool from STM</p>
-
-<p>PHKL_17040.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_17041 1.0 LVM lv_syncx, lv_split, fsck, bandwidth</p>
-
-<p>PHKL_17041.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_17041.LVM-KRN 1.0 LVM.LVM-KRN</p>
-
-<p># PHKL_17042 1.0 LVM fix for system panics during boot</p>
-
-<p>PHKL_17042.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_17043 1.0 Panic possible on heavily fragmented vxfs fs</p>
-
-<p>PHKL_17043.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_17044 1.0 New linkorder files</p>
-
-<p>PHKL_17044.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_17045 1.0 stale data in disk base MCR leads to panic</p>
-
-<p>PHKL_17045.LVM-KRN 1.0 LVM.LVM-KRN</p>
-
-<p># PHKL_17046 1.0 disc3/disc30/sdisk cumulative patch</p>
-
-<p>PHKL_17046.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_17048 1.0 Obsolete /usr/include/machine/space.h</p>
-
-<p>PHKL_17048.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p># PHKL_17258 1.0 PM/VM/UFS/async/scsi/io/DMAPI/JFS/perf cumul</p>
-
-<p>PHKL_17258.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_17258.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_17258.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_17258.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p>PHKL_17258.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p>PHKL_17258.VXFS-PRG 1.0 JournalFS.VXFS-PRG</p>
-
-<p># PHKL_17294 1.0 libpthreads cumulative patch</p>
-
-<p>PHKL_17294.C-MIN-32ALIB 1.0 OS-Core.C-MIN-32ALIB</p>
-
-<p>PHKL_17294.C-MIN-64ALIB 1.0 OS-Core.C-MIN-64ALIB</p>
-
-<p>PHKL_17294.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHKL_17294.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHKL_17358 1.0 Enable SCSI floppy for 64 bit computers</p>
-
-<p>PHKL_17358.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_17368 1.0 SCSI Pass thru driver cumulative patch</p>
-
-<p>PHKL_17368.SPT2-DVR 1.0 SCSI-Passthru.SPT2-DVR</p>
-
-<p># PHKL_17935 1.0 libpthreads cumulative patch</p>
-
-<p>PHKL_17935.C-MIN-32ALIB 1.0 OS-Core.C-MIN-32ALIB</p>
-
-<p>PHKL_17935.C-MIN-64ALIB 1.0 OS-Core.C-MIN-64ALIB</p>
-
-<p>PHKL_17935.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHKL_17935.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHKL_18232 1.0 Fibre Channel Mass Storage Driver Patch</p>
-
-<p>PHKL_18232.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_18232.FCMS-ENG-A-MAN 1.0 FCMS Manpage Software</p>
-
-<p>PHKL_18232.FCMS-KRN 1.0 FCMS Kernel Software</p>
-
-<p>PHKL_18232.FCMS-RUN 1.0 FCMS Runtime Software</p>
-
-<p># PHKL_18325 1.0 Prevent load 32-bit kernel on 64-bit system.</p>
-
-<p>PHKL_18325.KERN-RUN 1.0 hpux(1M)</p>
-
-<p># PHKL_18490 1.0 diag0 handle more devices,fix data corrupton</p>
-
-<p>PHKL_18490.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_18503 1.0 Audio driver potential data corruption fix</p>
-
-<p>PHKL_18503.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_18543 1.0 PM/VM/UFS/async/scsi/io/DMAPI/JFS/perf patch</p>
-
-<p>PHKL_18543.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_18543.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_18543.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_18543.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p>PHKL_18543.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p>PHKL_18543.VXFS-PRG 1.0 JournalFS.VXFS-PRG</p>
-
-<p># PHKL_18798 1.0 Fix for HFS filesystems with short filenames</p>
-
-<p>PHKL_18798.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_18800 1.0 Cumulative JFS patch - panic:dirty inval</p>
-
-<p>PHKL_18800.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_19060 1.0 LVM Cumulative patch</p>
-
-<p>PHKL_19060.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_19060.LVM-KRN 1.0 LVM.LVM-KRN</p>
-
-<p># PHKL_19080 1.0 New tape support. Defect fix for 9840 tape.</p>
-
-<p>PHKL_19080.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_19080.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_19080.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_19202 1.0 fsadm panic if extending root on 11.x</p>
-
-<p>PHKL_19202.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_19246 1.0 vm_superpage patch</p>
-
-<p>PHKL_19246.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_19734 1.0 diag1 add PCI subvendor info,FC card support</p>
-
-<p>PHKL_19734.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_20016 1.0 2nd CPU not recognized in G70/H70/I70</p>
-
-<p>PHKL_20016.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_20152 1.0 Enable Superio Core Interfaces </p>
-
-<p>PHKL_20152.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_20152.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p># PHKL_20161 1.0 Softpower Switch support for new wkstations</p>
-
-<p>PHKL_20161.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_20162 1.0 I/O space HPMC fix for new workstations</p>
-
-<p>PHKL_20162.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_20163 1.0 Fix for LPMC buffer size panic </p>
-
-<p>PHKL_20163.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_20165 1.0 New workstation WSIO support</p>
-
-<p>PHKL_20165.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_20165.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_20165.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_20166 1.0 New workstation interrupt handling support</p>
-
-<p>PHKL_20166.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_20169 1.0 Use right install kernel on 32/64 bit system</p>
-
-<p>PHKL_20169.KERN-RUN 1.0 hpux(1M)</p>
-
-<p># PHKL_20400 1.0 inherited attrs cause panic in file creation</p>
-
-<p>PHKL_20400.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_20473 1.0 I/O forwarding patch</p>
-
-<p>PHKL_20473.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_20478 1.0 Cumulative USB Driver patch</p>
-
-<p>PHKL_20478.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_20478.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_20478.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p># PHKL_20675 1.0 Fix JFS 3.1 hang, data corruption</p>
-
-<p>PHKL_20675.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p>PHKL_20675.VXFS-PRG 1.0 JournalFS.VXFS-PRG</p>
-
-<p># PHKL_20688 1.0 SCSI IO & Pass-Thru Subsys Cumulative Patch</p>
-
-<p>PHKL_20688.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_20688.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_20688.SPT2-DVR 1.0 SCSI-Passthru.SPT2-DVR</p>
-
-<p># PHKL_20731 1.0 fix vfork(2)-caused panic when low on memory</p>
-
-<p>PHKL_20731.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_20851 1.0 Fix for kthread b_sema wait queue corruption</p>
-
-<p>PHKL_20851.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_20915 1.0 trap-related panics/hangs</p>
-
-<p>PHKL_20915.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_20937 1.0 Fix for TOC vector overwriting </p>
-
-<p>PHKL_20937.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_21262 1.0 SuperIO floppy driver fix</p>
-
-<p>PHKL_21262.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_21262.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_21262.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p># PHKL_21276 1.0 Superio Parallel driver fixes</p>
-
-<p>PHKL_21276.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_21276.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p># PHKL_21420 1.0 diag2 must be MP-safe</p>
-
-<p>PHKL_21420.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_21491 1.0 fix VxFS(JFS 3.1) fsadm hang</p>
-
-<p>PHKL_21491.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_21549 1.0 Cumulative gang scheduling patch</p>
-
-<p>PHKL_21549.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_21569 1.0 more devices, data corrupt, hang, and panic</p>
-
-<p>PHKL_21569.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_21610 1.0 Large Data Space, kernel memory leak fix</p>
-
-<p>PHKL_21610.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_21680 1.0 Fix panic on deadlock: NULL thread ptr</p>
-
-<p>PHKL_21680.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_21681 1.0 Fix for hang/panic in kernel profiling</p>
-
-<p>PHKL_21681.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_21766 1.0 Correct panics when using quotas on HFS</p>
-
-<p>PHKL_21766.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_21834 B.11.00.AA Fibre Channel Mass Storage Driver Patch</p>
-
-<p>PHKL_21834.CORE2-KRN B.11.00.AA OS-Core.CORE2-KRN</p>
-
-<p>PHKL_21834.FCMS-ENG-A-MAN B.11.00.AA FCMassStorage.FCMS-ENG-A-MAN</p>
-
-<p>PHKL_21834.FCMS-KRN B.11.00.AA FCMassStorage.FCMS-KRN</p>
-
-<p>PHKL_21834.FCMS-RUN B.11.00.AA FCMassStorage.FCMS-RUN</p>
-
-<p># PHKL_22071 1.0 superpage +L fix, elf64 bss size check</p>
-
-<p>PHKL_22071.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22264 1.0 AIO panic fix and performance improvement</p>
-
-<p>PHKL_22264.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_22264.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_22264.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22330 1.0 callout list corruption/panic fix</p>
-
-<p>PHKL_22330.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22377 1.0 PC floppy cumulative patch</p>
-
-<p>PHKL_22377.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22432 1.0 VxFS 3.1 icache cumulative patch</p>
-
-<p>PHKL_22432.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_22469 1.0 Directed range,PIOP for N/L class,PAT Events</p>
-
-<p>PHKL_22469.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22494 1.0 PCI ExpROM,bridge,BA hints,Lowfat,PIOP,EPIC</p>
-
-<p>PHKL_22494.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_22494.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_22494.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22589 1.0 LOFS, select(), IDS/9000 and umount race fix</p>
-
-<p>PHKL_22589.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_22589.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_22589.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22635 1.0 fix ufs inode hangs & race of mkdir, umount</p>
-
-<p>PHKL_22635.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22644 1.0 IDE/ATAPI cumulative patch</p>
-
-<p>PHKL_22644.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_22644.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p># PHKL_22677 1.0 fix of getdirentries, MVFS, rcp, mmap & IDS</p>
-
-<p>PHKL_22677.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22719 1.0 vxfs mount,fsck cumulative patch</p>
-
-<p>PHKL_22719.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_22759 1.0 SCSI IO Subsystem Cumulative Patch</p>
-
-<p>PHKL_22759.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_22759.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_22759.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p>PHKL_22759.SPT2-DVR 1.0 SCSI-Passthru.SPT2-DVR</p>
-
-<p># PHKL_22771 1.0 fix device and file system swap problems</p>
-
-<p>PHKL_22771.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_22771.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_22771.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22785 1.0 HPMC, FC reset & conn, chassis log, I20 RAID</p>
-
-<p>PHKL_22785.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22792 1.0 Fix VM page read-ahead panics</p>
-
-<p>PHKL_22792.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22799 1.0 semaphore panic/hang cumulative patch</p>
-
-<p>PHKL_22799.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22807 1.0 fork time fix for large PT_MMAP pregions</p>
-
-<p>PHKL_22807.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22840 1.0 IDS/9000; syscalls related to file/socket</p>
-
-<p>PHKL_22840.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22856 1.0 SCSI Tape (stape) cumulative</p>
-
-<p>PHKL_22856.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_22856.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_22856.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_22856.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p># PHKL_22926 1.0 Incomplete Selective Dump, TOC/Panic Failure</p>
-
-<p>PHKL_22926.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22932 1.0 ufs(hfs) deadlock causes the system hang</p>
-
-<p>PHKL_22932.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22975 1.0 VM 32bit I/O requests kept in I/O space.</p>
-
-<p>PHKL_22975.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_22975.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_22975.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22976 1.0 FXE perf, server patch, cumulative graphics</p>
-
-<p>PHKL_22976.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_22976.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_22976.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_22986 1.0 cumulative pstat patch</p>
-
-<p>PHKL_22986.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_22986.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_22986.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23001 1.0 signal,threads,spinlock,scheduler,IDS,q3p</p>
-
-<p>PHKL_23001.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23002 1.0 pthread, thread hang, nfs/tcp panic, chanq</p>
-
-<p>PHKL_23002.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23002.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_23002.KERN2-RUN 1.0 OS-Core.KERN2-RUN</p>
-
-<p># PHKL_23127 1.0 LVM Cumulative Patch</p>
-
-<p>PHKL_23127.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHKL_23127.LVM-KRN 1.0 LVM.LVM-KRN</p>
-
-<p># PHKL_23180 1.0 Cumulative fix for process scheduling, mpctl</p>
-
-<p>PHKL_23180.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23180.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_23180.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23193 1.0 VxFS cumulative patch</p>
-
-<p>PHKL_23193.VXFS-BASE-KRN 1.0 JournalFS.VXFS-BASE-KRN</p>
-
-<p># PHKL_23226 1.0 syscall, msem_lock, umask cumulative patch</p>
-
-<p>PHKL_23226.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23329 1.0 panic, fails for coredump, drivers</p>
-
-<p>PHKL_23329.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23388 1.0 Audio driver cumulative patch</p>
-
-<p>PHKL_23388.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23388.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23813 1.0 probe,sysproc,shmem,pm,mmap, Enable PA-8700</p>
-
-<p>PHKL_23813.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHKL_23813.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHKL_23813.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23814 1.0 IO pdir,SBA,async IO deadlock,Enable PA-8700</p>
-
-<p>PHKL_23814.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHKL_23815 1.0 dump path,PSW,dump byte count,Enable PA-8700</p>
-
-<p>PHKL_23815.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p># PHNE_13208 1.0 fixes for NFS system and processes hang</p>
-
-<p>PHNE_13208.NFS-KRN 1.0 Core Kernel files</p>
-
-<p># PHNE_13310 1.0 PCI 100BT patch for V2200.</p>
-
-<p>PHNE_13310.SPP100BT-KRN 1.0 pci 100bt product</p>
-
-<p># PHNE_13422 1.0 pppd general patch</p>
-
-<p>PHNE_13422.PPP-RUN 1.0 Networking.PPP-RUN</p>
-
-<p># PHNE_13546 1.0 remshd(1M) and rexecd(1M) cumulative patch</p>
-
-<p>PHNE_13546.INETSVCS-RUN 1.0 Internet Services Fileset</p>
-
-<p># PHNE_13801 1.0 Cumulative Mux and Pty Patch</p>
-
-<p>PHNE_13801.CORE2-KRN 1.0 Core HP-UX kernel functionality</p>
-
-<p># PHNE_13947 1.0 sendmail(1m) 8.8.6 patch</p>
-
-<p>PHNE_13947.INET-ENG-A-MAN 1.0 Internet Services Fileset</p>
-
-<p>PHNE_13947.INETSVCS-RUN 1.0 Internet Services Fileset</p>
-
-<p># PHNE_14017 1.0 cumulative ARPA Transport patch</p>
-
-<p>PHNE_14017.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHNE_14017.NET2-KRN 1.0 Networking.NET2-KRN</p>
-
-<p># PHNE_14027 1.0 LAN product cumulative patch</p>
-
-<p>PHNE_14027.LAN-RUN 1.0 LAN product kernel fileset</p>
-
-<p>PHNE_14027.LAN2-KRN 1.0 LAN product kernel fileset</p>
-
-<p># PHNE_14259 1.0 PCI 100BT cumulative patch for V2200.</p>
-
-<p>PHNE_14259.SPP100BT-INIT 1.0 PCI 100BT utilities fileset</p>
-
-<p>PHNE_14259.SPP100BT-KRN 1.0 PCI 100BT kernel fileset</p>
-
-<p>PHNE_14259.SPP100BT64SLIB 1.0 PCI100BT shared library fileset</p>
-
-<p># PHNE_14279 1.0 cumulative ARPA Transport patch</p>
-
-<p>PHNE_14279.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHNE_14279.NET2-KRN 1.0 Networking.NET2-KRN</p>
-
-<p># PHNE_14370 1.0 LAN product cumulative patch</p>
-
-<p>PHNE_14370.LAN-RUN 1.0 LAN product commands fileset</p>
-
-<p>PHNE_14370.LAN2-KRN 1.0 LAN product kernel fileset</p>
-
-<p>PHNE_14370.NW-ENG-A-MAN 1.0 LAN product manpage fileset</p>
-
-<p># PHNE_14453 1.0 Fibre Channel cumulative patch </p>
-
-<p>PHNE_14453.FCHSC-INIT 1.0 Fibre Channel/9000 initalization</p>
-
-<p>PHNE_14453.FCHSC2-KRN 1.0 FCHSC2-KRN</p>
-
-<p># PHNE_14479 1.0 ftpd(1M) and ftp(1) patch</p>
-
-<p>PHNE_14479.INET-ENG-A-MAN 1.0 Internet Services Fileset</p>
-
-<p>PHNE_14479.INETSVCS-RUN 1.0 Internet Services Fileset</p>
-
-<p># PHNE_14618 1.0 Bind 4.9.7 components</p>
-
-<p>PHNE_14618.INET-ENG-A-MAN 1.0 Internet Services Manpage</p>
-
-<p>PHNE_14618.INETSVCS-RUN 1.0 Internet Services Fileset</p>
-
-<p># PHNE_14644 1.0 rbootd cumulative patch</p>
-
-<p>PHNE_14644.INETSVCS-BOOT 1.0 Internet Services Boot</p>
-
-<p>PHNE_14644.RBTD-ENG-A-MAN 1.0 Internet Services manpages</p>
-
-<p># PHNE_14706 1.0 Cumulative streams patch</p>
-
-<p>PHNE_14706.STREAMS-32ALIB 1.0 Streams.STREAMS-32ALIB</p>
-
-<p>PHNE_14706.STREAMS-64ALIB 1.0 Streams.STREAMS-64ALIB</p>
-
-<p>PHNE_14706.STREAMS-64SLIB 1.0 Streams.STREAMS-64SLIB</p>
-
-<p>PHNE_14706.STREAMS-MIN 1.0 Streams.STREAMS-MIN</p>
-
-<p>PHNE_14706.STREAMS2-KRN 1.0 Streams.STREAMS2-KRN</p>
-
-<p># PHNE_14746 1.0 ONC/NFS Patch</p>
-
-<p>PHNE_14746.KEY-CORE 1.0 NFS.KEY-CORE</p>
-
-<p>PHNE_14746.NFS-64ALIB 1.0 NFS.NFS-64ALIB</p>
-
-<p>PHNE_14746.NFS-64ALIB 1.0 NFS.NFS-64ALIB</p>
-
-<p>PHNE_14746.NFS-64SLIB 1.0 NFS.NFS-64SLIB</p>
-
-<p>PHNE_14746.NFS-64SLIB 1.0 NFS.NFS-64SLIB</p>
-
-<p>PHNE_14746.NFS-CLIENT 1.0 NFS.NFS-CLIENT</p>
-
-<p>PHNE_14746.NFS-CORE 1.0 NFS.NFS-CORE</p>
-
-<p>PHNE_14746.NFS-PRG 1.0 NFS.NFS-PRG</p>
-
-<p>PHNE_14746.NFS-SERVER 1.0 NFS.NFS-SERVER</p>
-
-<p>PHNE_14746.NFS-SHLIBS 1.0 NFS.NFS-SHLIBS</p>
-
-<p>PHNE_14746.NISPLUS-CORE 1.0 NFS.NISPLUS-CORE</p>
-
-<p># PHNE_14800 1.0 NFS Kernel Performance Patch</p>
-
-<p>PHNE_14800.NFS-ENG-A-MAN 1.0 NFS.NFS-ENG-A-MAN</p>
-
-<p>PHNE_14800.NFS-KRN 1.0 NFS.NFS-KRN</p>
-
-<p>PHNE_14800.NFS-SERVER 1.0 NFS.NFS-SERVER</p>
-
-<p># PHNE_14818 1.0 patch for kernel portion of Telnet</p>
-
-<p>PHNE_14818.NET2-KRN 1.0 Networking.NET2-KRN</p>
-
-<p># PHNE_14819 1.0 telnetd(1M) patch</p>
-
-<p>PHNE_14819.INETSVCS-RUN 1.0 InternetSrvcs.INETSVCS-RUN</p>
-
-<p># PHNE_14919 1.0 NFS Kernel General Release/Performance Patch</p>
-
-<p>PHNE_14919.NFS-ENG-A-MAN 1.0 NFS.NFS-ENG-A-MAN</p>
-
-<p>PHNE_14919.NFS-KRN 1.0 NFS.NFS-KRN</p>
-
-<p>PHNE_14919.NFS-SERVER 1.0 NFS.NFS-SERVER</p>
-
-<p># PHNE_14976 1.0 UTF8 support for STREAMS PTY line discipline</p>
-
-<p>PHNE_14976.STRTIO-KRN 1.0 Streams-TIO.STRTIO-KRN</p>
-
-<p>PHNE_14976.STRTIO2-KRN 1.0 Streams-TIO.STRTIO2-KRN</p>
-
-<p># PHNE_15501 1.0 netstat general patch</p>
-
-<p>PHNE_15501.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHNE_15537 1.0 Fibre Channel cumulative patch </p>
-
-<p>PHNE_15537.CORE2-KRN 1.0 Core HP-UX kernel generation files</p>
-
-<p>PHNE_15537.FCHSC-INIT 1.0 Fibre Channel/9000 initalization</p>
-
-<p>PHNE_15537.FCHSC2-KRN 1.0 FCHSC2-KRN</p>
-
-<p># PHNE_15591 1.0 LAN product cumulative patch</p>
-
-<p>PHNE_15591.LAN-RUN 1.0 LAN product commands fileset</p>
-
-<p>PHNE_15591.LAN2-KRN 1.0 LAN product kernel fileset</p>
-
-<p>PHNE_15591.NW-ENG-A-MAN 1.0 LAN product manpage fileset</p>
-
-<p># PHNE_15638 1.0 ONC cumulative patch</p>
-
-<p>PHNE_15638.KEY-CORE 1.0 NFS.KEY-CORE</p>
-
-<p>PHNE_15638.NFS-64ALIB 1.0 NFS.NFS-64ALIB</p>
-
-<p>PHNE_15638.NFS-64SLIB 1.0 NFS.NFS-64SLIB</p>
-
-<p>PHNE_15638.NFS-CLIENT 1.0 NFS.NFS-CLIENT</p>
-
-<p>PHNE_15638.NFS-CORE 1.0 NFS.NFS-CORE</p>
-
-<p>PHNE_15638.NFS-ENG-A-MAN 1.0 NFS.NFS-ENG-A-MAN</p>
-
-<p>PHNE_15638.NFS-KRN 1.0 NFS.NFS-KRN</p>
-
-<p>PHNE_15638.NFS-PRG 1.0 NFS.NFS-PRG</p>
-
-<p>PHNE_15638.NFS-SERVER 1.0 NFS.NFS-SERVER</p>
-
-<p>PHNE_15638.NFS-SHLIBS 1.0 NFS.NFS-SHLIBS</p>
-
-<p>PHNE_15638.NISPLUS-CORE 1.0 NFS.NISPLUS-CORE</p>
-
-<p># PHNE_16091 1.0 r-commands cumulative mega-patch</p>
-
-<p>PHNE_16091.INETSVCS-RUN 1.0 Internet Services Fileset</p>
-
-<p># PHNE_16145 1.0 nettl(1M) & nettladm cumulative patch</p>
-
-<p>PHNE_16145.NETTL-ADM 1.0 NetTL administrative interface</p>
-
-<p>PHNE_16145.NETTL-RUN 1.0 Necessary Binaries for NetTL</p>
-
-<p># PHNE_16158 1.0 ping general patch</p>
-
-<p>PHNE_16158.NET-RUN 1.0 Networking.NET-RUN</p>
-
-<p># PHNE_16159 1.0 traceroute general patch</p>
-
-<p>PHNE_16159.NET-RUN 1.0 Networking.NET-RUN</p>
-
-<p># PHNE_16283 1.0 cumulative ARPA Transport patch</p>
-
-<p>PHNE_16283.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHNE_16283.NET2-KRN 1.0 Networking.NET2-KRN</p>
-
-<p># PHNE_16520 1.0 arp general patch</p>
-
-<p>PHNE_16520.NET-RUN 1.0 Networking.NET-RUN</p>
-
-<p># PHNE_16546 1.0 telnet kernel patch</p>
-
-<p>PHNE_16546.NET2-KRN 1.0 Networking.NET2-KRN</p>
-
-<p># PHNE_16636 1.0 nettl(1M) & nettladm cumulative patch</p>
-
-<p>PHNE_16636.NETTL-ADM 1.0 NetTL administrative interface</p>
-
-<p>PHNE_16636.NETTL-RUN 1.0 Necessary Binaries for NetTL</p>
-
-<p>PHNE_16636.NW-ENG-A-MAN 1.0 Networking man pages</p>
-
-<p># PHNE_16852 1.0 sendmail(1m) 8.8.6 patch</p>
-
-<p>PHNE_16852.INET-ENG-A-MAN 1.0 Internet Services Fileset</p>
-
-<p>PHNE_16852.INETSVCS-RUN 1.0 Internet Services Fileset</p>
-
-<p># PHNE_16930 1.0 PCI 100BT cumulative patch for V2200.</p>
-
-<p>PHNE_16930.SPP100BT-INIT 1.0 PCI 100BT utilities fileset</p>
-
-<p>PHNE_16930.SPP100BT-KRN 1.0 PCI 100BT kernel fileset</p>
-
-<p>PHNE_16930.SPP100BT-MIN 1.0 100BT MIN fileset</p>
-
-<p>PHNE_16930.SPP100BT64SLIB 1.0 PCI100BT shared library fileset</p>
-
-<p># PHNE_16990 1.0 LAN product cumulative patch</p>
-
-<p>PHNE_16990.LAN-RUN 1.0 LAN product commands fileset</p>
-
-<p>PHNE_16990.LAN2-KRN 1.0 LAN product kernel fileset</p>
-
-<p>PHNE_16990.NW-ENG-A-MAN 1.0 LAN product manpage fileset</p>
-
-<p># PHNE_17017 1.0 cumulative ARPA Transport patch</p>
-
-<p>PHNE_17017.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHNE_17017.NET2-KRN 1.0 Networking.NET2-KRN</p>
-
-<p># PHNE_17051 1.0 Cumulative streams patch</p>
-
-<p>PHNE_17051.STREAMS-32ALIB 1.0 Streams.STREAMS-32ALIB</p>
-
-<p>PHNE_17051.STREAMS-64ALIB 1.0 Streams.STREAMS-64ALIB</p>
-
-<p>PHNE_17051.STREAMS-64SLIB 1.0 Streams.STREAMS-64SLIB</p>
-
-<p>PHNE_17051.STREAMS-KRN 1.0 Streams.STREAMS-KRN</p>
-
-<p>PHNE_17051.STREAMS-MIN 1.0 Streams.STREAMS-MIN</p>
-
-<p>PHNE_17051.STREAMS2-KRN 1.0 Streams.STREAMS2-KRN</p>
-
-<p># PHNE_17071 1.0 Built-in PCI 100BASE-T patch</p>
-
-<p>PHNE_17071.LAN-RUN 1.0 LAN-RUN</p>
-
-<p>PHNE_17071.LAN2-KRN 1.0 LAN2-KRN</p>
-
-<p># PHNE_17106 1.0 ftpd(1M) and ftp(1) patch</p>
-
-<p>PHNE_17106.INET-ENG-A-MAN 1.0 Internet Services Fileset</p>
-
-<p>PHNE_17106.INETSVCS-RUN 1.0 Internet Services Fileset</p>
-
-<p># PHNE_17247 1.0 NFS Kernel Prelude Release Patch</p>
-
-<p>PHNE_17247.NFS-ENG-A-MAN 1.0 NFS.NFS-ENG-A-MAN</p>
-
-<p>PHNE_17247.NFS-KRN 1.0 NFS.NFS-KRN</p>
-
-<p>PHNE_17247.NFS-SERVER 1.0 NFS.NFS-SERVER</p>
-
-<p># PHNE_17434 1.0 netstat general patch</p>
-
-<p>PHNE_17434.SYS-ADMIN 1.0 OS-Core.SYS-ADMIN</p>
-
-<p># PHNE_18218 1.0 nettl(1M) & nettladm cumulative patch</p>
-
-<p>PHNE_18218.NETTL-64SLIB 1.0 64-bit NetTL shared library</p>
-
-<p>PHNE_18218.NETTL-ADM 1.0 NetTL administrative interface</p>
-
-<p>PHNE_18218.NETTL-MIN 1.0 Minimal Binaries for NetTL</p>
-
-<p>PHNE_18218.NETTL-RUN 1.0 Necessary Binaries for NetTL</p>
-
-<p>PHNE_18218.NW-ENG-A-MAN 1.0 Networking man pages</p>
-
-<p># PHNE_18272 1.0 Cumulative Mux and Pty Patch</p>
-
-<p>PHNE_18272.CORE2-KRN 1.0 Core HP-UX kernel functionality</p>
-
-<p># PHNE_18354 1.0 ftpd(1M) and ftp(1) patch</p>
-
-<p>PHNE_18354.INET-ENG-A-MAN 1.0 Internet Services Fileset</p>
-
-<p>PHNE_18354.INETSVCS-RUN 1.0 Internet Services Fileset</p>
-
-<p># PHNE_18409 1.0 LAN product cumulative patch</p>
-
-<p>PHNE_18409.LAN-RUN 1.0 LAN product commands fileset</p>
-
-<p>PHNE_18409.LAN2-KRN 1.0 LAN product kernel fileset</p>
-
-<p>PHNE_18409.NW-ENG-A-MAN 1.0 LAN product manpage fileset</p>
-
-<p># PHNE_18486 1.0 Cumulative STREAMS Patch</p>
-
-<p>PHNE_18486.STREAMS-32ALIB 1.0 Streams.STREAMS-32ALIB</p>
-
-<p>PHNE_18486.STREAMS-64ALIB 1.0 Streams.STREAMS-64ALIB</p>
-
-<p>PHNE_18486.STREAMS-64SLIB 1.0 Streams.STREAMS-64SLIB</p>
-
-<p>PHNE_18486.STREAMS-KRN 1.0 Streams.STREAMS-KRN</p>
-
-<p>PHNE_18486.STREAMS-MIN 1.0 Streams.STREAMS-MIN</p>
-
-<p>PHNE_18486.STREAMS2-KRN 1.0 Streams.STREAMS2-KRN</p>
-
-<p># PHNE_18527 1.0 telnetd(1M) patch</p>
-
-<p>PHNE_18527.INETSVCS-RUN 1.0 Internet Services Fileset</p>
-
-<p># PHNE_18574 1.0 Built-in PCI 100BASE-T patch</p>
-
-<p>PHNE_18574.LAN-RUN 1.0 LAN-RUN</p>
-
-<p>PHNE_18574.LAN2-KRN 1.0 LAN2-KRN</p>
-
-<p># PHNE_18668 1.0 PCI 100BT cumulative patch</p>
-
-<p>PHNE_18668.CORE2-KRN 1.0 Core HP-UX kernel generation files</p>
-
-<p>PHNE_18668.SPP100BT-INIT 1.0 PCI 100BT utilities fileset</p>
-
-<p>PHNE_18668.SPP100BT-KRN 1.0 PCI 100BT kernel fileset</p>
-
-<p>PHNE_18668.SPP100BT-MIN 1.0 100BT MIN fileset</p>
-
-<p>PHNE_18668.SPP100BT64SLIB 1.0 PCI100BT shared library fileset</p>
-
-<p># PHNE_18708 1.0 cumulative ARPA Transport patch</p>
-
-<p>PHNE_18708.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHNE_18708.NET2-KRN 1.0 Networking.NET2-KRN</p>
-
-<p>PHNE_18708.NMS2-KRN 1.0 Networking.NMS2-KRN</p>
-
-<p># PHNE_19620 1.0 ONC cumulative patch</p>
-
-<p>PHNE_19620.INETSVCS-INETD 1.0 InternetSrvcs.INETSVCS-INETD</p>
-
-<p>PHNE_19620.KEY-CORE 1.0 NFS.KEY-CORE</p>
-
-<p>PHNE_19620.NFS-64ALIB 1.0 NFS.NFS-64ALIB</p>
-
-<p>PHNE_19620.NFS-64SLIB 1.0 NFS.NFS-64SLIB</p>
-
-<p>PHNE_19620.NFS-CLIENT 1.0 NFS.NFS-CLIENT</p>
-
-<p>PHNE_19620.NFS-CORE 1.0 NFS.NFS-CORE</p>
-
-<p>PHNE_19620.NFS-ENG-A-MAN 1.0 NFS.NFS-ENG-A-MAN</p>
-
-<p>PHNE_19620.NFS-KRN 1.0 NFS.NFS-KRN</p>
-
-<p>PHNE_19620.NFS-PRG 1.0 NFS.NFS-PRG</p>
-
-<p>PHNE_19620.NFS-SERVER 1.0 NFS.NFS-SERVER</p>
-
-<p>PHNE_19620.NFS-SHLIBS 1.0 NFS.NFS-SHLIBS</p>
-
-<p>PHNE_19620.NIS-CLIENT 1.0 NFS.NIS-CLIENT</p>
-
-<p>PHNE_19620.NIS-CORE 1.0 NFS.NIS-CORE</p>
-
-<p>PHNE_19620.NIS-SERVER 1.0 NFS.NIS-SERVER</p>
-
-<p>PHNE_19620.NISPLUS-CORE 1.0 NFS.NISPLUS-CORE</p>
-
-<p># PHNE_20316 1.0 Cumulative STREAMS Patch</p>
-
-<p>PHNE_20316.STREAMS-32ALIB 1.0 Streams.STREAMS-32ALIB</p>
-
-<p>PHNE_20316.STREAMS-64ALIB 1.0 Streams.STREAMS-64ALIB</p>
-
-<p>PHNE_20316.STREAMS-64SLIB 1.0 Streams.STREAMS-64SLIB</p>
-
-<p>PHNE_20316.STREAMS-KRN 1.0 Streams.STREAMS-KRN</p>
-
-<p>PHNE_20316.STREAMS-MIN 1.0 Streams.STREAMS-MIN</p>
-
-<p>PHNE_20316.STREAMS2-KRN 1.0 Streams.STREAMS2-KRN</p>
-
-<p># PHNE_21184 1.0 arp general patch</p>
-
-<p>PHNE_21184.NET-RUN 1.0 Networking.NET-RUN</p>
-
-<p># PHNE_21897 1.0 Cumulative Mux and Pty Patch</p>
-
-<p>PHNE_21897.CORE2-KRN 1.0 Core HP-UX kernel functionality</p>
-
-<p># PHNE_21936 1.0 ftpd(1M) and ftp(1) patch</p>
-
-<p>PHNE_21936.INET-ENG-A-MAN 1.0 Internet Services Fileset</p>
-
-<p>PHNE_21936.INETSVCS-RUN 1.0 Internet Services Fileset</p>
-
-<p># PHNE_22086 1.0 Streams Pty cumulative patch</p>
-
-<p>PHNE_22086.CORE2-KRN 1.0 Core HP-UX kernel functionality</p>
-
-<p>PHNE_22086.STRTIO-KRN 1.0 Streams-TIO.STRTIO-KRN</p>
-
-<p>PHNE_22086.STRTIO2-KRN 1.0 Streams-TIO.STRTIO2-KRN</p>
-
-<p># PHNE_22125 1.0 ONC/NFS General Release/Performance Patch</p>
-
-<p>PHNE_22125.CORE-ENG-A-MAN 1.0 OS-Core.CORE-ENG-A-MAN</p>
-
-<p>PHNE_22125.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHNE_22125.INETSVCS-INETD 1.0 InternetSrvcs.INETSVCS-INETD</p>
-
-<p>PHNE_22125.KEY-CORE 1.0 NFS.KEY-CORE</p>
-
-<p>PHNE_22125.NFS-64ALIB 1.0 NFS.NFS-64ALIB</p>
-
-<p>PHNE_22125.NFS-64SLIB 1.0 NFS.NFS-64SLIB</p>
-
-<p>PHNE_22125.NFS-CLIENT 1.0 NFS.NFS-CLIENT</p>
-
-<p>PHNE_22125.NFS-CORE 1.0 NFS.NFS-CORE</p>
-
-<p>PHNE_22125.NFS-ENG-A-MAN 1.0 NFS.NFS-ENG-A-MAN</p>
-
-<p>PHNE_22125.NFS-KRN 1.0 NFS.NFS-KRN</p>
-
-<p>PHNE_22125.NFS-PRG 1.0 NFS.NFS-PRG</p>
-
-<p>PHNE_22125.NFS-SERVER 1.0 NFS.NFS-SERVER</p>
-
-<p>PHNE_22125.NFS-SHLIBS 1.0 NFS.NFS-SHLIBS</p>
-
-<p>PHNE_22125.NIS-CLIENT 1.0 NFS.NIS-CLIENT</p>
-
-<p>PHNE_22125.NIS-CORE 1.0 NFS.NIS-CORE</p>
-
-<p>PHNE_22125.NIS-SERVER 1.0 NFS.NIS-SERVER</p>
-
-<p>PHNE_22125.NISPLUS-CORE 1.0 NFS.NISPLUS-CORE</p>
-
-<p># PHNE_22159 1.0 telnet kernel and telnetd(1M) patch.</p>
-
-<p>PHNE_22159.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHNE_22159.CORE-KRN 1.0 OS-Core.CORE-KRN</p>
-
-<p>PHNE_22159.INET-ENG-A-MAN 1.0 Internet Services Fileset</p>
-
-<p>PHNE_22159.INETSVCS-RUN 1.0 Internet Services Fileset</p>
-
-<p>PHNE_22159.NET2-KRN 1.0 Networking.NET2-KRN</p>
-
-<p># PHNE_22244 1.0 Built-in PCI 100BASE-T patch</p>
-
-<p>PHNE_22244.LAN-RUN 1.0 LAN-RUN</p>
-
-<p>PHNE_22244.LAN2-KRN 1.0 LAN2-KRN</p>
-
-<p># PHNE_22245 1.0 PCI 100B(Tx/Fx) cumulative patch</p>
-
-<p>PHNE_22245.CORE2-KRN 1.0 Core HP-UX kernel generation files</p>
-
-<p>PHNE_22245.SPP100BT-INIT 1.0 PCI 100BT utilities fileset</p>
-
-<p>PHNE_22245.SPP100BT-KRN 1.0 PCI 100BT kernel fileset</p>
-
-<p>PHNE_22245.SPP100BT-MIN 1.0 100BT MIN fileset</p>
-
-<p>PHNE_22245.SPP100BT64SLIB 1.0 PCI100BT shared library fileset</p>
-
-<p># PHNE_22353 1.0 LAN product cumulative patch</p>
-
-<p>PHNE_22353.LAN-RUN 1.0 LAN product commands fileset</p>
-
-<p>PHNE_22353.LAN2-KRN 1.0 LAN product kernel fileset</p>
-
-<p>PHNE_22353.NW-ENG-A-MAN 1.0 LAN product manpage fileset</p>
-
-<p># PHNE_22397 1.0 cumulative ARPA Transport patch</p>
-
-<p>PHNE_22397.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHNE_22397.NET-KRN 1.0 Networking.NET-KRN</p>
-
-<p>PHNE_22397.NET-PRG 1.0 Networking.NET-PRG</p>
-
-<p>PHNE_22397.NET-RUN 1.0 Networking.NET-RUN</p>
-
-<p>PHNE_22397.NET2-KRN 1.0 Networking.NET2-KRN</p>
-
-<p>PHNE_22397.NMS2-KRN 1.0 Networking.NMS2-KRN</p>
-
-<p># PHNE_22461 1.0 HSC 100BT lan cumulative patch </p>
-
-<p>PHNE_22461.100BT-FORMAT 1.0 100BT-9000 formatter library</p>
-
-<p>PHNE_22461.100BT-INIT 1.0 100BT/9000 master file</p>
-
-<p>PHNE_22461.100BT-KRN 1.0 100BT/9000 GSC kernel library</p>
-
-<p>PHNE_22461.100BT-RUN 1.0 100BT/9000 GSC command libraries</p>
-
-<p># PHNE_22566 1.0 Cumulative STREAMS Patch</p>
-
-<p>PHNE_22566.STREAMS-32ALIB 1.0 Streams.STREAMS-32ALIB</p>
-
-<p>PHNE_22566.STREAMS-64ALIB 1.0 Streams.STREAMS-64ALIB</p>
-
-<p>PHNE_22566.STREAMS-64SLIB 1.0 Streams.STREAMS-64SLIB</p>
-
-<p>PHNE_22566.STREAMS-KRN 1.0 Streams.STREAMS-KRN</p>
-
-<p>PHNE_22566.STREAMS-MIN 1.0 Streams.STREAMS-MIN</p>
-
-<p>PHNE_22566.STREAMS2-KRN 1.0 Streams.STREAMS2-KRN</p>
-
-<p># PHNE_22642 1.0 ONC/NFS General Release/Performance Patch</p>
-
-<p>PHNE_22642.CORE-ENG-A-MAN 1.0 OS-Core.CORE-ENG-A-MAN</p>
-
-<p>PHNE_22642.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHNE_22642.INETSVCS-INETD 1.0 InternetSrvcs.INETSVCS-INETD</p>
-
-<p>PHNE_22642.KEY-CORE 1.0 NFS.KEY-CORE</p>
-
-<p>PHNE_22642.NFS-64ALIB 1.0 NFS.NFS-64ALIB</p>
-
-<p>PHNE_22642.NFS-64SLIB 1.0 NFS.NFS-64SLIB</p>
-
-<p>PHNE_22642.NFS-CLIENT 1.0 NFS.NFS-CLIENT</p>
-
-<p>PHNE_22642.NFS-CORE 1.0 NFS.NFS-CORE</p>
-
-<p>PHNE_22642.NFS-ENG-A-MAN 1.0 NFS.NFS-ENG-A-MAN</p>
-
-<p>PHNE_22642.NFS-KRN 1.0 NFS.NFS-KRN</p>
-
-<p>PHNE_22642.NFS-PRG 1.0 NFS.NFS-PRG</p>
-
-<p>PHNE_22642.NFS-SERVER 1.0 NFS.NFS-SERVER</p>
-
-<p>PHNE_22642.NFS-SHLIBS 1.0 NFS.NFS-SHLIBS</p>
-
-<p>PHNE_22642.NIS-CLIENT 1.0 NFS.NIS-CLIENT</p>
-
-<p>PHNE_22642.NIS-CORE 1.0 NFS.NIS-CORE</p>
-
-<p>PHNE_22642.NIS-SERVER 1.0 NFS.NIS-SERVER</p>
-
-<p>PHNE_22642.NISPLUS-CORE 1.0 NFS.NISPLUS-CORE</p>
-
-<p># PHNE_23456 1.0 cumulative ARPA Transport patch</p>
-
-<p>PHNE_23456.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHNE_23456.NET-KRN 1.0 Networking.NET-KRN</p>
-
-<p>PHNE_23456.NET-PRG 1.0 Networking.NET-PRG</p>
-
-<p>PHNE_23456.NET-RUN 1.0 Networking.NET-RUN</p>
-
-<p>PHNE_23456.NET2-KRN 1.0 Networking.NET2-KRN</p>
-
-<p>PHNE_23456.NMS2-KRN 1.0 Networking.NMS2-KRN</p>
-
-<p># PHNE_24100 1.0 Streams Pty cumulative patch</p>
-
-<p>PHNE_24100.CORE2-KRN 1.0 Core HP-UX kernel functionality</p>
-
-<p>PHNE_24100.STRTIO-KRN 1.0 Streams-TIO.STRTIO-KRN</p>
-
-<p>PHNE_24100.STRTIO2-KRN 1.0 Streams-TIO.STRTIO2-KRN</p>
-
-<p># PHSS_13409 1.0 CDE Loc Action/Res Dec97 Cumulative Patch</p>
-
-<p>PHSS_13409.CDE-LANGS 1.0 CDE Localized Actions And Resources</p>
-
-<p># PHSS_13425 1.0 fixes mib2agt to work with LAN emulation ifs</p>
-
-<p>PHSS_13425.SUBAGT-MIB2 1.0 OVSNMPAgent.SUBAGT-MIB2</p>
-
-<p># PHSS_13871 1.0 X/Motif2.1 Runtime Feb 98 Periodic Patch</p>
-
-<p>PHSS_13871.MOTIF-SHLIB 1.0 Motif Shared Libraries</p>
-
-<p>PHSS_13871.X11R5-SHLIBS 1.0 X11R5 Shared Libraries</p>
-
-<p>PHSS_13871.X11R6-SHLIBS 1.0 X11R6 Shared Libraries</p>
-
-<p># PHSS_13961 1.0 CDE Runtime Mar98 Periodic Patch</p>
-
-<p>PHSS_13961.CDE-DTTERM 1.0 CDE dtterm</p>
-
-<p>PHSS_13961.CDE-ENG-A-HELP 1.0 CDE Runtime Help Volumes</p>
-
-<p>PHSS_13961.CDE-ENG-A-MAN 1.0 CDE Runtime Man Pages</p>
-
-<p>PHSS_13961.CDE-HELP-RUN 1.0 CDE Help Runtime</p>
-
-<p>PHSS_13961.CDE-MIN 1.0 CDE Minimul Runtime</p>
-
-<p>PHSS_13961.CDE-RUN 1.0 CDE Runtime</p>
-
-<p>PHSS_13961.CDE-SHLIBS 1.0 CDE Runtime Shared Libraries</p>
-
-<p># PHSS_14149 1.0 CPSlib fix for cps_set_threads()</p>
-
-<p>PHSS_14149.CPS-32SLIB 1.0 CPSlib fix for cps_set_threads()</p>
-
-<p>PHSS_14149.CPS-64SLIB 1.0 CPSlib fix for cps_set_threads()</p>
-
-<p>PHSS_14149.CPS-MIN 1.0 CPSlib fix for cps_set_threads()</p>
-
-<p># PHSS_14577 1.0 HP aC++ runtime library components (A.03.10)</p>
-
-<p>PHSS_14577.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHSS_14577.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p>PHSS_14577.LANG-64ALIB 1.0 B.11.00</p>
-
-<p>PHSS_14577.LANG-MIN 1.0 B.11.00</p>
-
-<p># PHSS_14578 1.0 HP C++ core library components (A.12.10)</p>
-
-<p>PHSS_14578.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p>PHSS_14578.LANG-MIN 1.0 B.11.00</p>
-
-<p># PHSS_14579 1.0 Assembler patch.</p>
-
-<p>PHSS_14579.C-MIN 1.0 OS-Core.C-MIN</p>
-
-<p># PHSS_14580 1.0 ld(1) and linker tools cumulative patch</p>
-
-<p>PHSS_14580.C-INC 1.0 B.11.00</p>
-
-<p>PHSS_14580.C-KRN 1.0 B.11.00</p>
-
-<p>PHSS_14580.C-MIN 1.0 B.11.00</p>
-
-<p>PHSS_14580.C-MIN-64ALIB 1.0 B.11.00</p>
-
-<p>PHSS_14580.CMDS-AUX 1.0 B.11.00</p>
-
-<p>PHSS_14580.CORE-64SLIB 1.0 B.11.00</p>
-
-<p>PHSS_14580.CORE-SHLIBS 1.0 B.11.00</p>
-
-<p># PHSS_14581 1.0 libm patch</p>
-
-<p>PHSS_14581.C-INC 1.0 ProgSupport.C-INC</p>
-
-<p>PHSS_14581.C-MIN 1.0 OS-Core.C-MIN</p>
-
-<p>PHSS_14581.C-MIN-64ALIB 1.0 OS-Core.C-MIN-64ALIB</p>
-
-<p>PHSS_14581.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHSS_14581.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p># PHSS_14582 1.0 milli.a patch</p>
-
-<p>PHSS_14582.C-KRN 1.0 B.11.00</p>
-
-<p># PHSS_14583 1.0 LIBCL patch</p>
-
-<p>PHSS_14583.CORE-64SLIB 1.0 B.11.00</p>
-
-<p>PHSS_14583.CORE-SHLIBS 1.0 B.11.00</p>
-
-<p>PHSS_14583.LANG-64ALIB 1.0 B.11.00</p>
-
-<p>PHSS_14583.LANG-MIN 1.0 B.11.00</p>
-
-<p># PHSS_14652 1.0 Fibre Channel Mass Storage Driver Patch</p>
-
-<p>PHSS_14652.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHSS_14652.FCMS-ENG-A-MAN 1.0 FCMS Manpage Software</p>
-
-<p>PHSS_14652.FCMS-KRN 1.0 FCMS Kernel Software</p>
-
-<p>PHSS_14652.FCMS-RUN 1.0 FCMS Runtime Software</p>
-
-<p># PHSS_14726 1.0 Man pages for memory windows.</p>
-
-<p>PHSS_14726.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p># PHSS_14826 1.0 Update man page for gang scheduling</p>
-
-<p>PHSS_14826.ADMN-ENG-A-MAN 1.0 OS-Core.ADMN-ENG-A-MAN</p>
-
-<p># PHSS_14934 1.0 Xserver cumulative patch</p>
-
-<p>PHSS_14934.AGRM 1.0 Xserver.AGRM</p>
-
-<p>PHSS_14934.DDX-ADVANCED 1.0 Xserver.DDX-ADVANCED</p>
-
-<p>PHSS_14934.DDX-ENTRY 1.0 Xserver.DDX-ENTRY</p>
-
-<p>PHSS_14934.DDX-LOAD 1.0 Xserver.DDX-LOAD</p>
-
-<p>PHSS_14934.DDX-SAM 1.0 Xserver.DDX-SAM</p>
-
-<p>PHSS_14934.DDX-SLS 1.0 Xserver.DDX-SLS</p>
-
-<p>PHSS_14934.DDX-UTILS 1.0 Xserver.DDX-UTILS</p>
-
-<p>PHSS_14934.X11-SERV 1.0 Xserver.X11-SERV</p>
-
-<p>PHSS_14934.X11-SERV-MAN 1.0 Xserver.X11-SERV-MAN</p>
-
-<p>PHSS_14934.XEXT-DBE 1.0 Xserver.XEXT-DBE</p>
-
-<p>PHSS_14934.XEXT-DBE-MAN 1.0 Xserver.XEXT-DBE-MAN</p>
-
-<p>PHSS_14934.XEXT-DPMS 1.0 Xserver.XEXT-DPMS</p>
-
-<p>PHSS_14934.XEXT-DPMS-MAN 1.0 Xserver.XEXT-DPMS-MAN</p>
-
-<p>PHSS_14934.XEXT-HPCR 1.0 Xserver.XEXT-HPCR</p>
-
-<p>PHSS_14934.XEXT-HPCR-MAN 1.0 Xserver.XEXT-HPCR-MAN</p>
-
-<p>PHSS_14934.XEXT-MBX 1.0 Xserver.XEXT-MBX</p>
-
-<p>PHSS_14934.XEXT-RECORD 1.0 Xserver.XEXT-RECORD</p>
-
-<p># PHSS_15433 1.0 XClients June 1998 Patch</p>
-
-<p>PHSS_15433.X11-RUN-CL 1.0 X11.X11-RUN-CL</p>
-
-<p>PHSS_15433.X11-RUN-CTRB 1.0 X11.X11-RUN-CTRB</p>
-
-<p># PHSS_15536 1.0 Predictive C.11.0[0,a-g] cumulative patch</p>
-
-<p>PHSS_15536.PREDICTIVE-RUN 1.0 Predictive.PREDICTIVE-RUN</p>
-
-<p># PHSS_15840 1.0 X11 64 bit runtime cumulative patch</p>
-
-<p>PHSS_15840.MOTIF-SHLIB 1.0 X11.MOTIF-SHLIB</p>
-
-<p>PHSS_15840.X11R6-SHLIBS 1.0 X11.X11R6-SHLIBS</p>
-
-<p># PHSS_15851 1.0 Xserver cumulative patch</p>
-
-<p>PHSS_15851.AGRM 1.0 Xserver.AGRM</p>
-
-<p>PHSS_15851.DDX-ADVANCED 1.0 Xserver.DDX-ADVANCED</p>
-
-<p>PHSS_15851.DDX-ENTRY 1.0 Xserver.DDX-ENTRY</p>
-
-<p>PHSS_15851.DDX-LOAD 1.0 Xserver.DDX-LOAD</p>
-
-<p>PHSS_15851.DDX-SAM 1.0 Xserver.DDX-SAM</p>
-
-<p>PHSS_15851.DDX-SLS 1.0 Xserver.DDX-SLS</p>
-
-<p>PHSS_15851.DDX-UTILS 1.0 Xserver.DDX-UTILS</p>
-
-<p>PHSS_15851.X11-SERV 1.0 Xserver.X11-SERV</p>
-
-<p>PHSS_15851.X11-SERV-MAN 1.0 Xserver.X11-SERV-MAN</p>
-
-<p>PHSS_15851.XEXT-DBE 1.0 Xserver.XEXT-DBE</p>
-
-<p>PHSS_15851.XEXT-DBE-MAN 1.0 Xserver.XEXT-DBE-MAN</p>
-
-<p>PHSS_15851.XEXT-DPMS 1.0 Xserver.XEXT-DPMS</p>
-
-<p>PHSS_15851.XEXT-DPMS-MAN 1.0 Xserver.XEXT-DPMS-MAN</p>
-
-<p>PHSS_15851.XEXT-HPCR 1.0 Xserver.XEXT-HPCR</p>
-
-<p>PHSS_15851.XEXT-HPCR-MAN 1.0 Xserver.XEXT-HPCR-MAN</p>
-
-<p>PHSS_15851.XEXT-MBX 1.0 Xserver.XEXT-MBX</p>
-
-<p>PHSS_15851.XEXT-RECORD 1.0 Xserver.XEXT-RECORD</p>
-
-<p># PHSS_15914 1.0 CPSlib Cumulative Patch</p>
-
-<p>PHSS_15914.CPS-32SLIB 1.0 CPS.CPS-32SLIB</p>
-
-<p>PHSS_15914.CPS-64SLIB 1.0 CPS.CPS-64SLIB</p>
-
-<p>PHSS_15914.CPS-MIN 1.0 CPS.CPS-MIN</p>
-
-<p># PHSS_16404 1.0 ld(1) and linker tools cumulative patch</p>
-
-<p>PHSS_16404.C-INC 1.0 B.11.00</p>
-
-<p>PHSS_16404.C-KRN 1.0 B.11.00</p>
-
-<p>PHSS_16404.C-MIN 1.0 B.11.00</p>
-
-<p>PHSS_16404.C-MIN-64ALIB 1.0 B.11.00</p>
-
-<p>PHSS_16404.CMDS-AUX 1.0 B.11.00</p>
-
-<p>PHSS_16404.CORE-64SLIB 1.0 B.11.00</p>
-
-<p>PHSS_16404.CORE-SHLIBS 1.0 B.11.00</p>
-
-<p># PHSS_16482 1.0 CDE Localization for UTF8 locales</p>
-
-<p>PHSS_16482.CDE-DTTERM 1.0 CDE.CDE-DTTERM</p>
-
-<p>PHSS_16482.CDE-ENG-A-MSG 1.0 CDE.CDE-ENG-A-MSG</p>
-
-<p>PHSS_16482.CDE-LANGS 1.0 CDE.CDE-LANGS</p>
-
-<p>PHSS_16482.CDE-RUN 1.0 CDE.CDE-RUN</p>
-
-<p># PHSS_16483 1.0 XLocale Database for UTF8</p>
-
-<p>PHSS_16483.X11-RUN-CL 1.0 X11.X11-RUN-CL</p>
-
-<p># PHSS_16540 1.0 ld(1) and linker tools cumulative patch</p>
-
-<p>PHSS_16540.C-INC 1.0 B.11.00</p>
-
-<p>PHSS_16540.C-KRN 1.0 B.11.00</p>
-
-<p>PHSS_16540.C-MIN 1.0 B.11.00</p>
-
-<p>PHSS_16540.C-MIN-64ALIB 1.0 B.11.00</p>
-
-<p>PHSS_16540.CMDS-AUX 1.0 B.11.00</p>
-
-<p>PHSS_16540.CORE-64SLIB 1.0 B.11.00</p>
-
-<p>PHSS_16540.CORE-SHLIBS 1.0 B.11.00</p>
-
-<p># PHSS_16587 1.0 HP aC++ runtime libraries (aCC A.03.13)</p>
-
-<p>PHSS_16587.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHSS_16587.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p>PHSS_16587.LANG-64ALIB 1.0 B.11.00</p>
-
-<p>PHSS_16587.LANG-MIN 1.0 B.11.00</p>
-
-<p># PHSS_16625 1.0 CDE UNICODE Runtime Dec 98 Cumulative Patch</p>
-
-<p>PHSS_16625.CDE-DTTERM 1.0 CDE dtterm</p>
-
-<p>PHSS_16625.CDE-ENG-A-HELP 1.0 CDE Runtime Help Volumes</p>
-
-<p>PHSS_16625.CDE-ENG-A-MAN 1.0 CDE Runtime Man Pages</p>
-
-<p>PHSS_16625.CDE-ENG-A-MSG 1.0 CDE Minimul Runtime</p>
-
-<p>PHSS_16625.CDE-HELP-RUN 1.0 CDE Help Runtime</p>
-
-<p>PHSS_16625.CDE-MIN 1.0 CDE Minimul Runtime</p>
-
-<p>PHSS_16625.CDE-RUN 1.0 CDE Runtime</p>
-
-<p>PHSS_16625.CDE-SHLIBS 1.0 CDE Runtime Shared Libraries</p>
-
-<p>PHSS_16625.CDE-TT 1.0 CDE Minimul Runtime</p>
-
-<p># PHSS_16839 1.0 Assembler patch.</p>
-
-<p>PHSS_16839.C-MIN 1.0 OS-Core.C-MIN</p>
-
-<p># PHSS_16849 1.0 LIBCL patch</p>
-
-<p>PHSS_16849.CORE-64SLIB 1.0 B.11.00</p>
-
-<p>PHSS_16849.CORE-SHLIBS 1.0 B.11.00</p>
-
-<p>PHSS_16849.LANG-64ALIB 1.0 B.11.00</p>
-
-<p>PHSS_16849.LANG-MIN 1.0 B.11.00</p>
-
-<p># PHSS_16901 1.0 X/Motif2.1 UNICODE Dec 98 Cumulative Patch</p>
-
-<p>PHSS_16901.MOTIF-SHLIB 1.0 Motif Shared Libraries</p>
-
-<p>PHSS_16901.X11R5-SHLIBS 1.0 X11R5 Shared Libraries</p>
-
-<p>PHSS_16901.X11R6-SHLIBS 1.0 X11R6 Shared Libraries</p>
-
-<p># PHSS_16903 1.0 CDE Msg Cat Dec 98 Cumulative Patch</p>
-
-<p>PHSS_16903.CDE-DTTERM 1.0 CDE Localized Message Catalogs</p>
-
-<p>PHSS_16903.CDE-LANGS 1.0 CDE Localized Message Catalogs</p>
-
-<p># PHSS_16931 1.0 milli.a patch</p>
-
-<p>PHSS_16931.C-KRN 1.0 B.11.00</p>
-
-<p># PHSS_17116 1.0 CPSlib Cumulative Patch</p>
-
-<p>PHSS_17116.CPS-32SLIB 1.0 CPS.CPS-32SLIB</p>
-
-<p>PHSS_17116.CPS-64SLIB 1.0 CPS.CPS-64SLIB</p>
-
-<p>PHSS_17116.CPS-MIN 1.0 CPS.CPS-MIN</p>
-
-<p># PHSS_17199 1.0 Fibre Channel Mass Storage Driver Patch</p>
-
-<p>PHSS_17199.CORE2-KRN 1.0 OS-Core.CORE2-KRN</p>
-
-<p>PHSS_17199.FCMS-ENG-A-MAN 1.0 FCMS Manpage Software</p>
-
-<p>PHSS_17199.FCMS-KRN 1.0 FCMS Kernel Software</p>
-
-<p>PHSS_17199.FCMS-RUN 1.0 FCMS Runtime Software</p>
-
-<p># PHSS_20863 1.0 CDE Msg Cat MAR2000 Periodic Patch</p>
-
-<p>PHSS_20863.CDE-DTTERM 1.0 CDE Localized Message Catalogs</p>
-
-<p>PHSS_20863.CDE-LANGS 1.0 CDE Localized Message Catalogs</p>
-
-<p># PHSS_21493 1.0 X/Motif2.1 Runtime APR2000 Periodic Patch</p>
-
-<p>PHSS_21493.MOTIF-SHLIB 1.0 Motif Shared Libraries</p>
-
-<p>PHSS_21493.X11-FONT-AUX 1.0 Font Files</p>
-
-<p>PHSS_21493.X11R5-SHLIBS 1.0 X11R5 Shared Libraries</p>
-
-<p>PHSS_21493.X11R6-SHLIBS 1.0 X11R6 Shared Libraries</p>
-
-<p># PHSS_21947 1.0 ld(1) and linker tools cumulative patch</p>
-
-<p>PHSS_21947.C-ENG-A-MAN 1.0 B.11.00</p>
-
-<p>PHSS_21947.C-INC 1.0 B.11.00</p>
-
-<p>PHSS_21947.C-KRN 1.0 B.11.00</p>
-
-<p>PHSS_21947.C-MIN 1.0 B.11.00</p>
-
-<p>PHSS_21947.C-MIN-64ALIB 1.0 B.11.00</p>
-
-<p>PHSS_21947.CAUX-ENG-A-MAN 1.0 B.11.00</p>
-
-<p>PHSS_21947.CMDS-AUX 1.0 B.11.00</p>
-
-<p>PHSS_21947.CORE-64SLIB 1.0 B.11.00</p>
-
-<p>PHSS_21947.CORE-SHLIBS 1.0 B.11.00</p>
-
-<p>PHSS_21947.LANG-MIN 1.0 B.11.00</p>
-
-<p>PHSS_21947.PAUX-ENG-A-MAN 1.0 B.11.00</p>
-
-<p>PHSS_21947.PROG-AUX 1.0 B.11.00</p>
-
-<p>PHSS_21947.PROG-AX-64ALIB 1.0 B.11.00</p>
-
-<p># PHSS_22217 1.0 +O4/PBO compiler cumulative patch</p>
-
-<p>PHSS_22217.LANG-AUX 1.0 B.11.00</p>
-
-<p># PHSS_22272 1.0 ANSI C compiler cumulative patch</p>
-
-<p>PHSS_22272.C 1.0 fr=B.11.00</p>
-
-<p>PHSS_22272.C-HELP 1.0 fr=B.11.00</p>
-
-<p># PHSS_22320 1.0 CDE Runtime SEP2000 Periodic Patch</p>
-
-<p>PHSS_22320.CDE-DTTERM 1.0 CDE dtterm</p>
-
-<p>PHSS_22320.CDE-ENG-A-HELP 1.0 CDE Runtime Help Volumes</p>
-
-<p>PHSS_22320.CDE-ENG-A-MAN 1.0 CDE Runtime Man Pages</p>
-
-<p>PHSS_22320.CDE-ENG-A-MSG 1.0 English Localized Message Catalog</p>
-
-<p>PHSS_22320.CDE-FONTS 1.0 CDE Font and Font Support</p>
-
-<p>PHSS_22320.CDE-HELP-RUN 1.0 CDE Help Runtime</p>
-
-<p>PHSS_22320.CDE-MIN 1.0 CDE Minimul Runtime</p>
-
-<p>PHSS_22320.CDE-RUN 1.0 CDE Runtime</p>
-
-<p>PHSS_22320.CDE-SHLIBS 1.0 CDE Runtime Shared Libraries</p>
-
-<p>PHSS_22320.CDE-TT 1.0 CDE Messaging</p>
-
-<p># PHSS_22514 1.0 ld(1) and linker tools cumulative patch</p>
-
-<p>PHSS_22514.C-ENG-A-MAN 1.0 B.11.00</p>
-
-<p>PHSS_22514.C-INC 1.0 B.11.00</p>
-
-<p>PHSS_22514.C-KRN 1.0 B.11.00</p>
-
-<p>PHSS_22514.C-MIN 1.0 B.11.00</p>
-
-<p>PHSS_22514.C-MIN-64ALIB 1.0 B.11.00</p>
-
-<p>PHSS_22514.CAUX-ENG-A-MAN 1.0 B.11.00</p>
-
-<p>PHSS_22514.CMDS-AUX 1.0 B.11.00</p>
-
-<p>PHSS_22514.CORE-64SLIB 1.0 B.11.00</p>
-
-<p>PHSS_22514.CORE-SHLIBS 1.0 B.11.00</p>
-
-<p>PHSS_22514.LANG-MIN 1.0 B.11.00</p>
-
-<p>PHSS_22514.PAUX-ENG-A-MAN 1.0 B.11.00</p>
-
-<p>PHSS_22514.PROG-AUX 1.0 B.11.00</p>
-
-<p>PHSS_22514.PROG-AX-64ALIB 1.0 B.11.00</p>
-
-<p># PHSS_22543 1.0 HP aC++ -AA runtime libraries (aCC A.03.30)</p>
-
-<p>PHSS_22543.CORE-64SLIB 1.0 OS-Core.CORE-64SLIB</p>
-
-<p>PHSS_22543.CORE-SHLIBS 1.0 OS-Core.CORE-SHLIBS</p>
-
-<p>PHSS_22543.LANG-64ALIB 1.0 B.11.00</p>
-
-<p>PHSS_22543.LANG-MIN 1.0 B.11.00</p>
-
-<p># PHSS_22614 1.0 Xserver cumulative patch</p>
-
-<p>PHSS_22614.AGRM 1.0 Xserver.AGRM</p>
-
-<p>PHSS_22614.DDX-ADVANCED 1.0 Xserver.DDX-ADVANCED</p>
-
-<p>PHSS_22614.DDX-ENTRY 1.0 Xserver.DDX-ENTRY</p>
-
-<p>PHSS_22614.DDX-LOAD 1.0 Xserver.DDX-LOAD</p>
-
-<p>PHSS_22614.DDX-SAM 1.0 Xserver.DDX-SAM</p>
-
-<p>PHSS_22614.DDX-SLS 1.0 Xserver.DDX-SLS</p>
-
-<p>PHSS_22614.DDX-UTILS 1.0 Xserver.DDX-UTILS</p>
-
-<p>PHSS_22614.X11-SERV 1.0 Xserver.X11-SERV</p>
-
-<p>PHSS_22614.X11-SERV-MAN 1.0 Xserver.X11-SERV-MAN</p>
-
-<p>PHSS_22614.XEXT-DBE 1.0 Xserver.XEXT-DBE</p>
-
-<p>PHSS_22614.XEXT-DBE-MAN 1.0 Xserver.XEXT-DBE-MAN</p>
-
-<p>PHSS_22614.XEXT-DPMS 1.0 Xserver.XEXT-DPMS</p>
-
-<p>PHSS_22614.XEXT-DPMS-MAN 1.0 Xserver.XEXT-DPMS-MAN</p>
-
-<p>PHSS_22614.XEXT-HPCR 1.0 Xserver.XEXT-HPCR</p>
-
-<p>PHSS_22614.XEXT-HPCR-MAN 1.0 Xserver.XEXT-HPCR-MAN</p>
-
-<p>PHSS_22614.XEXT-MBX 1.0 Xserver.XEXT-MBX</p>
-
-<p>PHSS_22614.XEXT-RECORD 1.0 Xserver.XEXT-RECORD</p>
-
-<p># PHSS_22653 1.0 LIBCL patch</p>
-
-<p>PHSS_22653.CORE-64SLIB 1.0 B.11.X</p>
-
-<p>PHSS_22653.CORE-SHLIBS 1.0 B.11.X</p>
-
-<p>PHSS_22653.LANG-64ALIB 1.0 B.11.X</p>
-
-<p>PHSS_22653.LANG-MIN 1.0 B.11.X</p>
-
-<p># PHSS_23185 1.0 B1000/B2000/C3X00/J5X00/J6000/J7000 4.9 FW</p>
-
-<p>PHSS_23185.KERN-RUN 1.0 hpux(1M)</p>
-
-<h2>Compaq OSF1 5.1<a name=compaq></a></h2>
-
-<p>Patch 00173.00 - fixso command causes segmentation fault</p>
-
-<p>Patch 00175.00 - Fix for vrestore problems</p>
-
-<p>Patch 00255.00 - tar -F ignores files named err</p>
-
-<p>Patch 00318.00 - Fix for newgrp command</p>
-
-<p>Patch 00333.00 - Upgrades sys_check to v120</p>
-
-<p>Patch 00343.00 - Fix for vi core dump</p>
-
-<p>Patch 00397.00 - Fix for grep command</p>
-
-<p>Patch 00051.00 - Change to kloadsrv and hotswapd entries</p>
-
-<p>Patch 00068.00 - Fix for dump command</p>
-
-<p>Patch 00109.00 - btextract does not create device special files</p>
-
-<p>Patch 00169.00 - Fix for bttape</p>
-
-<p>Patch 00082.00 - List of application groups is not recreated </p>
-
-<p>Patch 00121.00 - Fix for dtlogin</p>
-
-<p>Patch 00158.00 - Fix for dtmail problem</p>
-
-<p>Patch 00310.00 - Fixes a problem on multi-head systems</p>
-
-<p>Patch 00339.00 - Fix for dtpad</p>
-
-<p>Patch 00393.00 - Fix for CDE window manager loop or abort problems</p>
-
-<p>Patch 00049.00 - Fixes the processing of export lists</p>
-
-<p>Patch 00059.00 - Fix for tagged-file induced auto mount requests</p>
-
-<p>Patch 00105.00 - Prevents not currently mounted warning messages</p>
-
-<p>Patch 00171.00 - Fix for voldctl stop command</p>
-
-<p>Patch 00226.00 - Fix for delayed AdvFS requests</p>
-
-<p>Patch 00232.00 - Adds support for activating temporary data logging</p>
-
-<p>Patch 00252.00 - Thread hang on nfs mounted filesystems</p>
-
-<p>Patch 00328.00 - Fixes automount handling of nogrpid option</p>
-
-<p>Patch 00330.00 - Write errors occur on soft mounted NFS filesystems</p>
-
-<p>Patch 00335.00 - Fix for DVD filesystem problem</p>
-
-<p>Patch 00353.00 - Fix for fsx utility</p>
-
-<p>Patch 00374.00 - Hang seen on multi-cpu systems using NFS-over-TCP</p>
-
-<p>Patch 00387.00 - CDFS media burned in 2001 shows the wrong dates</p>
-
-<p>Patch 00074.00 - Fixes environmental warning in GS systems</p>
-
-<p>Patch 00076.00 - Hardware manager inaccurately reports the CPU speed</p>
-
-<p>Patch 00351.00 - Fix for Turbolaser panic</p>
-
-<p>Patch 00057.00 - Fix for panic or system hang that may occur on DS20E</p>
-
-<p>Patch 00278.00 - Cascaded switches may hang system at failover time</p>
-
-<p>Patch 00345.00 - Cannot create builds with CAMDEBUG enabled</p>
-
-<p>Patch 00376.00 - Fixes DS10/DS20 performance problems</p>
-
-<p>Patch 00391.00 - System crash when accessing the FDI floppy</p>
-
-<p>Patch 00391.00 - System crash when accessing the FDI floppy</p>
-
-<p>Patch 00114.00 - Fix for Xt</p>
-
-<p>Patch 00117.00 - Fixes a memory leak in Xt</p>
-
-<p>Patch 00137.00 - Fix for Xlib memory leak</p>
-
-<p>Patch 00140.00 - Support for UTF-8 and UCS-4 locales</p>
-
-<p>Patch 00308.00 - Fixes C shell processing problems</p>
-
-<p>Patch 00245.00 - Install does not allow subset name with an underscore</p>
-
-<p>Patch 00007.00 - Threaded programs do not terminate</p>
-
-<p>Patch 00021.00 - Corrects a stack overflow panic</p>
-
-<p>Patch 00038.00 - Fix for panic that occurs when kloadsrv is restarted</p>
-
-<p>Patch 00092.00 - Fix for system hang during a route command</p>
-
-<p>Patch 00285.00 - Fixes C++ runtime errors</p>
-
-<p>Patch 00316.00 - Attaching debugger to program causes program hang</p>
-
-<p>Patch 00372.00 - Kernel memory fault occurs when using tablet</p>
-
-<p>Patch 00401.00 - Fixes POSIX message queue issues</p>
-
-<p>Patch 00403.00 - Fix for Posix 4 message queue</p>
-
-<p>Patch 00405.00 - Posix 4 message queues not following standard</p>
-
-<p>Patch 00015.00 - libst shared library fix</p>
-
-<p>Patch 00017.00 - libst static library fix</p>
-
-<p>Patch 00370.00 - Fix for prpasswdd daemon hang</p>
-
-<p>Patch 00019.00 - Fix for booting problem via network interface</p>
-
-<p>Patch 00130.00 - Fix for lock hierarchy violation panic</p>
-
-<p>Patch 00349.00 - Corrects memory leak in XTI socket code </p>
-
-<p>Patch 00366.00 - Fixes ee driver for DE60x Ethernet cards</p>
-
-<p>Patch 00368.00 - rdist utility causes segmentation fault</p>
-
-<p>Patch 00378.00 - Fix for unaligned kernel space panic</p>
-
-<p>Patch 00389.00 - corrects a problem with joind</p>
-
-<p>Patch 00300.00 - Introduces the JJ printcap parameter</p>
-
-<p>Patch 00243.00 - Security (SSRT0689U)</p>
-
-<p>Patch 00268.00 - Security (SSRT0690U)</p>
-
-<p>Patch 00283.00 - Security (SSRT0682U)</p>
-
-<p>Patch 00292.00 - Security (SSRT1-38)</p>
-
-<p>Patch 00314.00 - Security (SSRT0708U)</p>
-
-<p>Patch 00326.00 - Security (SSRT0672U)</p>
-
-<p>Patch 00364.00 - Security (SSRT1-15, SSRT0713U)</p>
-
-<p>Patch 00381.00 - Security (SSRT0664U)</p>
-
-<p>Patch 00150.00 - Fix for advscan</p>
-
-<p>Patch 00260.00 - Fix for V5.1 dynamic loader</p>
-
-<p>Patch 00262.00 - Fix for loader and ldd</p>
-
-<p>Patch 00265.00 - loader does not report error</p>
-
-<p>Patch 00290.00 - Fixes problems in the Tru64 UNIX Assembler</p>
-
-<p>Patch 00304.00 - Running cord on libraries causes infinite loop</p>
-
-<p>Patch 00322.00 - Fix for problems in Compaq C compiler</p>
-
-<p>Patch 00324.00 - Fix for libots3</p>
-
-<p>Patch 00358.00 - Fix for link errors</p>
-
-<p>Patch 00111.00 - Fix for smsd crash</p>
-
-<p>Patch 00124.00 - Message fragments now I18N compatible </p>
-
-<p>Patch 00134.00 - Fix for collect command</p>
-
-<p>Patch 00294.00 - Fixes a problem with the EVM daemon evmd</p>
-
-<p>Patch 00296.00 - evmd crashes if rc.config contains a blank line</p>
-
-<p>Patch 00302.00 - dop tool causes segmentation fault</p>
-
-<p>Patch 00320.00 - Fixes a problem in diskconfig</p>
-
-<p>Patch 00337.00 - Fix for bindconfig</p>
-
-<p>Patch 00360.00 - Nodes in cluster unable to set high temp threshold</p>
-
-<p>Patch 00362.00 - Cluster nodes unable to set high temp threshold</p>
-
-<p>Patch 00341.00 - Fix for ksh hang</p>
-
-<p>Patch 00230.00 - Fix for POSIX Threads Library</p>
-
-<p>Patch 00385.00 - Fixes problem in exit status value of swapon utility </p>
-
-<p>Patch 00162.00 - Fix for diskconfig error message</p>
-
-<p>Patch 00270.00 - Updates Netscape Communicator to Version 4.76</p>
-
-<p>Patch 00040.00 - Fix for lbxproxy utility</p>
-
-<p>Patch 00107.00 - Fix for tcl</p>
-
-<p>Patch 00142.00 - Fixes memory leaks in Motif library</p>
-
-<p>Patch 00144.00 - Fix for libXm</p>
-
-<p>Patch 00249.00 - Vendor string displayed when running on COSIX64</p>
-
-<p>Patch 00280.00 - Fixes a memory leak in the X server</p>
-
-<p>Patch 00287.00 - Corrects blocks of erroneous pixels</p>
-
-<h2>SGI IRIX64 6.5<a name=sgi></a></h2>
-
-<p>I patchSG0002641 01/18/1999 Patch SG0002641: Object Instrumentation fix for
-WorkShop 2.6.5</p>
-
-<p>I patchSG0002641.WorkShop_man 01/18/1999 WorkShop man pages</p>
-
-<p>I patchSG0002641.WorkShop_man.relnotes 01/18/1999 WorkShop Release Notes</p>
-
-<p>I patchSG0002641.WorkShop_sw 01/18/1999 WorkShop Executables</p>
-
-<p>I patchSG0002641.WorkShop_sw.cvspeed 01/18/1999 WorkShop Performance
-Analyzer</p>
-
-<p>I patchSG0002641.WorkShop_sw64 01/18/1999 WorkShop 64 bit Executables</p>
-
-<p>I patchSG0002641.WorkShop_sw64.lib 01/18/1999 WorkShop Libs</p>
-
-<p>I patchSG0002909 01/18/1999 Patch SG0002909: WorkShop cvd rollup - cvd slow
-on startup</p>
-
-<p>I patchSG0002909.WorkShop_sw 01/18/1999 WorkShop 2.6.5</p>
-
-<p>I patchSG0002909.WorkShop_sw.cvd 01/18/1999 WorkShop Debugger</p>
-
-<h2>Caldera UnixWare 7.1.1<a name=caldera></a></h2>
-
-<p>NAME: ptf7401 - In-Kernel Sockets Supplement</p>
-
-<p>NAME: ptf7402 - Year 2000 Supplement</p>
-
-<p>NAME: ptf7406 - Pentium II and Pentium III Supplement</p>
-
-<p>NAME: ptf7408 - SCO UnixWare 7.1.0 Security fix for unnecessary privileges
-on packaging commands</p>
-
-<p>NAME: ptf7410 - The libthread Supplement</p>
-
-<p>NAME: ptf7413 - UnixWare 7.1.0 VM subsystem supplement</p>
-
-<p>NAME: ptf7414 - The libc Supplement</p>
-
-<p>NAME: ptf7417 - UnixWare 7.1.0 dlpi driver update</p>
-
-<p>NAME: ptf7418 - SCO UnixWare 7.1.0 mpio, sysdump and sd01 driver update</p>
-
-<p>NAME: ptf7419 - UnixWare 7.1.0 sc01, mc01 sw01 and st01 driver update</p>
-
-<p>NAME: ptf7420 - New ktli/nfs drivers</p>
-
-<p>NAME: ptf7428 - UnixWare 7.1.0 Hot Plug supplement and PCI option ROM update</p>
-
-<p>NAME: ptf7631 - UnixWare 7.1.1 libsocket supplement </p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix/setup.jar b/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix/setup.jar
deleted file mode 100644
index b6ca6f1..0000000
--- a/product-server-web/jdbcDriver/JDBC.3.50.JCinfomix/setup.jar
+++ /dev/null
Binary files differ
diff --git a/product-server-web/lib/mrc-ess-server-util-1.0.0-SNAPSHOT.jar b/product-server-web/lib/mrc-ess-server-util-1.0.0-SNAPSHOT.jar
deleted file mode 100644
index 2cfe090..0000000
--- a/product-server-web/lib/mrc-ess-server-util-1.0.0-SNAPSHOT.jar
+++ /dev/null
Binary files differ
diff --git a/product-server-web/resources/LicenseKey.dat b/product-server-web/resources/LicenseKey.dat
index 4db7d8b..bf6b940 100644
--- a/product-server-web/resources/LicenseKey.dat
+++ b/product-server-web/resources/LicenseKey.dat
@@ -1 +1 @@
-7B6D2332DBB13421010AC91951B73AEE393AA4F5E45D8A81A6572ED29A0FB4447DF3FE2BEC7CD96B066B1AE8A658B97478DCAB2B59F0971241263C69679C721A8AF5514BD65B339FAA7B3034926730E3C0A10BE750BEFD02EF5E6D69BC6C0FB8C1C348F8AC9A60FC4AB8FB2FEA42C50CAB06A195F98259C08B6C31D545887F18799794981CB48507331CED6BEB79F5906E4004B0AC2F98E0EFD14C077055804FC7CEC36666395AD381078F5E8FB364798D6C34BDEA2C8A6093268E09421A203464C23223A30D8931DBC483E47344CF423031D5AF976CDB0FFA21F5B6B628B6849AF9155D68993343EC171BCAADEDBAABE9D583A4A011414F37B7AA8E1D4A6430845B63042C6A1344FBBEB1A94FB4011BB62C489CBCD7701D080AB8E175C45B74DB215C8C4DB5DC38B302550F805E6D3F9C86C247339259CBE2CF1AB21F676ED7BCFE01765BFC566E1A297633E94FF59CF3EAC9D0F54C6CB7BC55018A276886773A9FEB7C620BF276B43B068619ACB745A41F663CDCAF8EFF977E29E4FBCA0F18
\ No newline at end of file
+704F16B1D215BC04042005365EB2001E3324D7BEEBA9206CA1F670D493A7874D7C65C473EBDEBD0C0EF47C7DAA7F2BF77CAEEAD85E4F681748A2D3CD6A86DF628FF6A90AD4E28B7DA66B8EA0915E4F4DC5DAAC065A7B746CEE1E7533BE0918A4C79FBCDEA24B82014A01B6D8E3A52BBDAC3DAA66FE9FDE3E8D92ACB54DA1746779BBD63F16726C6330140ED5EF0D1974692C5AABA9DBB6BFE742983374187BC2C0BF118861E3A0D68EF1CCBA87CA33988FB2F40FEE7ACFF8952DDCAC47AD42976792F264AC0C6C90D698959D70638E1C38307B559BB540F0F978D3F8B663E7D59E4143B96D5A6C02E5D5086BA3858386E638D338AA4353193CF6FDCC122CF6D68768ACF82104FB2AFF7BC993427E0A2CBD0DD5F1BF735AAC085FB9987E6CA983DB4C45064137A400B6F3DA128276ED819B65241830F4C8B5E849C75F16C93A17B11FE7195A7DF875199562CBE01186A6F4E87FFFF487D09BB4D1887F23C681DB31D998DB659BD4CAB381937A188CEF2DAA2F7065D5A5D42D9697A6E6F00BA3E9
diff --git a/product-server-web/sql_patch/update_sql20220107_001.sql b/product-server-web/sql_patch/update_sql20220107_001.sql
deleted file mode 100644
index c88aaa3..0000000
--- a/product-server-web/sql_patch/update_sql20220107_001.sql
+++ /dev/null
@@ -1,6 +0,0 @@
--- 淇敼鏁版嵁婧愰厤缃〃 娣诲姞楂樼骇鎼滅储
-UPDATE `product_sys_datamodel_field` SET `is_filter` = 1 WHERE `uuid` = 'lx_sys_report_datasource_config_report_database_name';
--- 淇敼鎶ヨ〃绫诲瀷閰嶇疆琛� 娣诲姞楂樼骇鎼滅储
-UPDATE `product_sys_datamodel_field` SET `is_filter` = 1 WHERE `uuid` = 'lx_sys_report_type_config_type_name';
--- 淇敼鏁版嵁鎶ヨ〃閰嶇疆琛� 娣诲姞楂樼骇鎼滅储
-UPDATE `product_sys_datamodel_field` SET `is_filter` = 1 WHERE `uuid` = 'lx_sys_report_config_report_name';
\ No newline at end of file
diff --git a/product-server-web/sql_patch/update_sql20220107_002.sql b/product-server-web/sql_patch/update_sql20220107_002.sql
deleted file mode 100644
index f954419..0000000
--- a/product-server-web/sql_patch/update_sql20220107_002.sql
+++ /dev/null
@@ -1,3 +0,0 @@
--- 鍛樺伐妗f澶勭悊
-UPDATE `product_sys_function_buttons` SET `upload_api_url` = '/api/employeefile/list-employee' WHERE `uuid` = '91f70f3e-f8d5-4054-b5bc-0151dddb8a12' AND `function_uuid` = '4404c301-cf39-4571-abf1-956f56a5ed5e' AND `button_name` = 'entrance';
-UPDATE `product_sys_mvc_page` SET `tree_data` = '/api/employeefile/list-orglevels' WHERE `uuid` = '691f3fa6-eac8-444d-8caa-77425e6d7f7f' AND `function_uuid` = '4404c301-cf39-4571-abf1-956f56a5ed5e'AND `page_name` = '鍛樺伐妗f鍒楄〃';
diff --git a/product-server-web/sql_patch/update_sql20220108_001.sql b/product-server-web/sql_patch/update_sql20220108_001.sql
deleted file mode 100644
index 433a8f4..0000000
--- a/product-server-web/sql_patch/update_sql20220108_001.sql
+++ /dev/null
@@ -1 +0,0 @@
-UPDATE `product_sys_prompt` SET `prompt_name` = 'product_sys_clients' WHERE `prompt_name` = 'lx_sys_clients';
\ 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..bd87939 100644
--- a/product-server-web/src/main/resources/application-dev.properties
+++ b/product-server-web/src/main/resources/application-dev.properties
@@ -76,19 +76,8 @@
data.source.type=mysql
data.source.driver=com.mysql.cj.jdbc.Driver
#################local###############################
-#data.source.url=jdbc:mysql://110.185.195.204:9092/ch_kt_mes_apply?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
-#data.source.url=jdbc:mysql://192.168.137.1:3306/ch_kt_mes_apply?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
-# \u672C\u5730mysql8
-#data.source.url=jdbc:mysql://127.0.0.1:3308/ch_kt_mes_apply?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
-# \u6D4B\u8BD5\u670D\u52A1\u5668
-#data.source.url=jdbc:mysql://10.4.69.68:3306/ch_kt_mes_apply?autoReconnect=true&useUnicode=true&characterEncoding=utf8&useNewIO=true&useSSL=false&serverTimezone=Asia/Shanghai
-# \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.user=root
-#data.source.password=root123
-#data.source.password=a123
data.source.password=CHKTADMIN
##################local###############################
#-------------------------druid\u8FDE\u63A5\u6C60\u7684\u914D\u7F6E\u4FE1\u606F------------------------
diff --git a/product-server-web/src/main/resources/application.properties b/product-server-web/src/main/resources/application.properties
index c61ecc6..9f1b91f 100644
--- a/product-server-web/src/main/resources/application.properties
+++ b/product-server-web/src/main/resources/application.properties
@@ -1,5 +1,5 @@
# dev prod
-spring.profiles.active=dev
+spring.profiles.active=prod
# *********server log start **************
server.tomcat.access-log-pattern=%h %D %m %l %u %t "%r" %s %b
diff --git a/product-server-web/src/main/resources/logback-spring.xml b/product-server-web/src/main/resources/logback-spring.xml
index 8deb570..1e417e9 100644
--- a/product-server-web/src/main/resources/logback-spring.xml
+++ b/product-server-web/src/main/resources/logback-spring.xml
@@ -1,8 +1,9 @@
<configuration>
- <property name="LOG_HOME" value="./logs/backend" />
+ <property name="LOG_HOME" value="./logs/backend"/>
<timestamp key="byDate" datePattern="yyyy-MM-dd"/>
<!--鏍煎紡鍖栬緭鍑猴細%d琛ㄧず鏃ユ湡锛�%thread琛ㄧず绾跨▼鍚嶏紝%-5level锛氱骇鍒粠宸︽樉绀�5涓瓧绗﹀搴�%msg锛氭棩蹇楁秷鎭紝%n鏄崲琛岀-->
- <property name="MESSAGE_FILE_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}.%M - %msg%n" />
+ <property name="MESSAGE_FILE_PATTERN"
+ value="%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}.%M - %msg%n"/>
<!-- 鏃ュ織鏂囦欢淇濈暀鏃堕暱 -->
<property name="maxhistory" value="60"/>
<!-- 鏃ュ織鏂囦欢鍒嗗壊澶у皬 -->
@@ -81,12 +82,12 @@
<logger name="java.sql.Statement" level="INFO"/>
<logger name="java.sql.PreparedStatement" level="INFO"/>
<logger name="org.springframework" level="INFO"/>
-
+
<!-- 鐢熶骇鐜 -->
<springProfile name="prod">
<root level="info">
- <appender-ref ref="consoleAppender"/>
+ <!-- 绂佺敤鎺у埗鍙版墦鍗�-->
<appender-ref ref="errorAppender"/>
<appender-ref ref="infoAppender"/>
</root>
@@ -110,5 +111,5 @@
<appender-ref ref="debugAppender"/>
</root>
</springProfile>
- <shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
+ <shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
</configuration>
--
Gitblit v1.9.2