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 >&nbsp;</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(";'>&nbsp;</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;'>&nbsp;</td> <td  align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>&nbsp;</td> <td  align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>&nbsp;</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 >&nbsp;</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(";'>&nbsp;</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;'>&nbsp;</td> <td  align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>&nbsp;</td> <td  align='center' width='5%' style='color:#4682B4;BACKGROUND-COLOR:#FFFFFF;text-align:center;'>&nbsp;</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="&copy; 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&reg; Informix&reg; 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&trade; 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&reg; HP-UX
-11.23PI HP-UX 11.31</li>
-<li>IBM 32-bit AIX&reg; PowerPC&reg; AIX 5L&trade; 5.3</li>
-<li>IBM 64-bit AIX PowerPC AIX 5L 5.3</li>
-<li>Windows&reg; 32-bit Windows 2003, Windows XP, Windows Vista, Windows Server
-2008 (Longhorn)</li>
-<li>Intel&reg; 32-bit Linux&reg; 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&reg; (pSeries/iSeries, OpenPower&reg;, JS20 Blades) RHEL 4, RHEL 5, SUSE SLES
-10, Asianux 2.0, Asianux 3.0</li>
-<li>IBM 64-bit Linux zSeries&reg; 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 &quot;Handling Transactions&quot; in Chapter 3,
-the text &quot;JDBC applications can create, destroy, or rollback to
-savepoint objects through the following standard JDBC methods of class
-IfxConnection:&quot; 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 &quot;Smart Large Object Data Types&quot; 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 &quot;Support for IBM Informix GLS Variables&quot; 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 &quot;Managing Performance&quot; 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&rsquo;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 &quot;AS IS&quot; 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&rsquo;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&rsquo;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>&copy; (your company name) (year). Portions of this code are
-derived from IBM Corp. Sample
-Programs. &copy; 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&reg; 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 &quot;Copyright and trademark information&quot;
-at >http://www.ibm.com/legal/copytrade.shtml</a>.</p>
-<p>Adobe&reg;, the Adobe logo, and PostScript&reg; are either registered
-trademarks or trademarks of Adobe Systems
-Incorporated in the United States, and/or other countries.</p>
-<p>Intel, Itanium, and Pentium&reg; 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&reg;, Windows, and Windows NT&reg; are trademarks
-of Microsoft Corporation
-in the United States, other countries, or both.</p>
-<p>UNIX&reg; 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>&copy; 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">&nbsp;</span></p>
-
-<h2><span style="mso-spacerun: yes">&nbsp;</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 &amp;
-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 &amp;
-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&quot;</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 &amp; 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 &amp; 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&quot;</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 &amp; 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 &amp;
-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 &amp;
-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 &amp; 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 &amp; ASCII Language Converters -
-German </p>
-
-<p>bos.iconv.fr_FR 4.3.0.0 COMMITTED EBCDIC &amp; 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 &amp; Mouse
-Diagnostics (CHRP) </p>
-
-<p>devices.isa_sio.chrp.8042.rte 4.3.3.25 COMMITTED ISA Keyboard &amp; 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 &amp; 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 &amp;
-Utilities </p>
-
-<p>perfagent.tools 2.2.33.25 COMMITTED Local Performance Analysis &amp; 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 &amp;
-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]>&nbsp;<![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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
-<span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>B.11.20<span
-style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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]>&nbsp;<![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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
-<span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>C.05.03<span
-style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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]>&nbsp;<![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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
-<span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>B.07.00<span
-style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</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]>&nbsp;<![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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
-<span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>1.3.1.04.00<span
-style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp; </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]>&nbsp;<![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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
-<span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>B.11.20.05<span
-style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </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]>&nbsp;<![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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
-<span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>B.11.20.00<span
-style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </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]>&nbsp;<![endif]><o:p></o:p></span></p>
-
-<p class=MsoBodyText>HPUXEng64RT<span style='mso-tab-count:2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>B.11.20<span
-style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</span>English HP-UX 64-bit Runtime Environment</p>
-
-<p class=MsoBodyText><![if !supportEmptyParas]>&nbsp;<![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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </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">&nbsp;</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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
-<span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>B.11.20.02.12<span
-style="mso-spacerun: yes">&nbsp; </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]>&nbsp;<![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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>B.11.20.00<span
-style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp; </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]>&nbsp;<![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]>&nbsp;<![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]>&nbsp;<![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]>&nbsp;<![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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
-<span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>1.0<span
-style="mso-spacerun:
-yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</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]>&nbsp;<![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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
-<span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>1.0<span
-style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span
-style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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]>&nbsp;<![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'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>
-<span style='mso-tab-count:1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>1.0<span
-style="mso-spacerun:
-yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-</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 &amp; 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 &amp; 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 &amp; 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 &amp; 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 &gt;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 &quot;reg...&quot;</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 &gt; 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 &amp; 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 &amp; 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 &amp; 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 &amp; 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) &amp; 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) &amp; 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) &amp; 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