Ver Fonte

Merge branch 'fix/describejs0709' into 'develop'

修改表结构在前端显示

See merge request o2oa/o2oa!1082
o2null há 5 anos atrás
pai
commit
d875388cd9

+ 6 - 32
o2server/x_base_core_project/src/main/java/com/x/base/core/project/annotation/TableBuilder.java

@@ -12,11 +12,6 @@ import java.util.Comparator;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Objects;
-import java.util.Set;
-import java.util.stream.Collectors;
 import javax.persistence.Table;
 import javax.persistence.Column;
 import javax.persistence.Entity;
@@ -24,41 +19,16 @@ import javax.persistence.Lob;
 import javax.persistence.OrderColumn;
 import org.apache.openjpa.persistence.jdbc.ElementColumn;
 
-import javax.ws.rs.ApplicationPath;
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.HEAD;
-import javax.ws.rs.OPTIONS;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
 import 	org.apache.openjpa.persistence.jdbc.ContainerTable;
 
 import org.apache.commons.collections4.list.SetUniqueList;
 import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang3.ArrayUtils;
 import org.apache.commons.lang3.ClassUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.reflect.FieldUtils;
-import org.apache.commons.lang3.reflect.MethodUtils;
-import org.glassfish.jersey.media.multipart.FormDataContentDisposition;
-import org.glassfish.jersey.media.multipart.FormDataParam;
 
-import com.google.gson.JsonElement;
-import com.x.base.core.project.annotation.DescribeBuilder.JaxrsMethod;
-import com.x.base.core.project.bean.WrapCopier;
 import com.x.base.core.project.gson.XGsonBuilder;
-import com.x.base.core.project.jaxrs.StandardJaxrsAction;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.base.core.project.tools.DefaultCharset;
-import com.x.base.core.project.tools.ListTools;
 
 import io.github.classgraph.ClassGraph;
 import io.github.classgraph.ClassInfo;
@@ -141,6 +111,10 @@ public class TableBuilder {
 			
 			Column column = field.getAnnotation(Column.class);
 			FieldDescribe fieldDescribe = field.getAnnotation(FieldDescribe.class);
+			String  strFieldDescribe = "";
+			if(fieldDescribe != null) {
+				strFieldDescribe = fieldDescribe.value();
+			}
 			Lob lob = field.getAnnotation(Lob.class); 
 			ContainerTable containerTable = field.getAnnotation(ContainerTable.class);
 			
@@ -153,7 +127,7 @@ public class TableBuilder {
 					columnElement.setType(javaTypeToSqlType(field.getType().getCanonicalName()));
 				}
 				columnElement.setLength(column.length()+"");
-				columnElement.setRemark(fieldDescribe.value());
+				columnElement.setRemark(strFieldDescribe);
 				jaxrsClass.getColumn().add(columnElement);
 			}else {
 				//关联表
@@ -162,7 +136,7 @@ public class TableBuilder {
 					 columnElement.setName(field.getName());
 					 columnElement.setType("ContainerTable");
 					 columnElement.setLength("");
-					 columnElement.setRemark(fieldDescribe.value());
+					 columnElement.setRemark(strFieldDescribe);
 					 
 					 ContainerTableProperty containerTableProperty = new ContainerTableProperty();
 					 containerTableProperty.setName(containerTable.name());

+ 3 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/project/build/CreateWebXml.java

@@ -48,6 +48,9 @@ public class CreateWebXml {
 			sb.append("<param-name>project</param-name>");
 			sb.append("<param-value>" + moduleClassName + "</param-value>");
 			sb.append("</context-param>");
+			sb.append("<welcome-file-list>");
+			sb.append("<welcome-file>/index.html</welcome-file>");
+			sb.append("</welcome-file-list>");
 			sb.append("</web-app>");
 			return sb.toString();
 		}

+ 1 - 1
o2server/x_program_center/src/main/webapp/WEB-INF/web.xml

@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><web-app id="x_program_center" metadata-complete="false" version="3.0"><display-name>x_program_center</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_program_center</param-value></context-param></web-app>
+<?xml version="1.0" encoding="UTF-8"?><web-app id="x_program_center" metadata-complete="false" version="3.0"><display-name>x_program_center</display-name><context-param><param-name>project</param-name><param-value>com.x.base.core.project.x_program_center</param-value></context-param><welcome-file-list><welcome-file>/index.html</welcome-file></welcome-file-list></web-app>

+ 191 - 0
o2server/x_program_center/src/main/webapp/index.html

@@ -0,0 +1,191 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset="UTF-8" />
+<meta http-equiv="pragma" content="no-cache" />
+<script src="./jest/jquery.min.js"></script>
+<script src="./jest/common.js"></script>
+<style type="text/css">
+	<!--
+	body {
+		font-family: Arial, Helvetica, sans-serif;
+		font-size:12px;
+		color:#666666;
+		background:#fff;
+		text-align:left;
+	}
+	a {
+		color:#1E7ACE;
+		text-decoration:none; 
+	}
+	a:hover {
+		color:#000;
+		text-decoration:underline;
+	}
+	h3 {
+		font-size:14px;
+		font-weight:bold;
+	}
+	
+	pre,p {
+		color:#1E7ACE;
+		margin:4px;
+	}
+	
+	table { 
+		border-collapse: collapse;
+		margin: 0 auto;
+		text-align: left;
+	}
+	 
+	table td, table th {
+		border: 1px solid #cad9ea;
+		color: #666;
+		height: 30px;
+		padding-left:20px;
+		padding-right:60px;
+	}
+	 
+	table thead th {
+		background-color: #CCE8EB;
+		width: 100px;
+	}
+	 
+	table tr:nth-child(odd) {
+		background: #fff;
+	}
+	 
+	table tr:nth-child(even) {
+		background: #F5FAFA;
+	}
+	
+	-->
+</style>
+<script>
+var appMap = new Map();
+appMap.set("com.x.base.core.project.x_program_center", "中心服务");
+appMap.set("com.x.base.core.project.x_attendance_assemble_control", "考勤相关服务");
+appMap.set("com.x.base.core.project.x_bbs_assemble_control", "论坛相关服务");
+appMap.set("com.x.base.core.project.x_calendar_assemble_control", "日程管理相关服务");
+appMap.set("com.x.base.core.project.x_cms_assemble_control", "内容管理平台相关服务");
+appMap.set("com.x.base.core.project.x_component_assemble_control","组件管理");
+appMap.set("com.x.base.core.project.x_file_assemble_control", "云文件相关服务");
+appMap.set("com.x.base.core.project.x_general_assemble_control", "常用功能");
+appMap.set("com.x.base.core.project.x_hotpic_assemble_control", "热点信息相关服务");
+appMap.set("com.x.base.core.project.x_meeting_assemble_control", "会议管理相关服务");
+appMap.set("com.x.base.core.project.x_message_assemble_communicate", "消息通信相关服务");
+appMap.set("com.x.base.core.project.x_mind_assemble_control", "脑图模块相关服务");
+appMap.set("com.x.base.core.project.x_okr_assemble_control", "执行力相关服务");
+appMap.set("com.x.base.core.project.x_organization_assemble_authentication", "组织认证服务");
+appMap.set("com.x.base.core.project.x_organization_assemble_control", "组织管理接口");
+appMap.set("com.x.base.core.project.x_organization_assemble_express", "组织查询接口");
+appMap.set("com.x.base.core.project.x_organization_assemble_personal", "个人设置相关服务");
+appMap.set("com.x.base.core.project.x_portal_assemble_designer", "门户使用接口");
+appMap.set("com.x.base.core.project.x_portal_assemble_surface", "门户手机服务");
+appMap.set("com.x.base.core.project.x_processplatform_assemble_bam", "流程平台统计服务");
+appMap.set("com.x.base.core.project.x_processplatform_assemble_designer", "流程元素设计");
+appMap.set("com.x.base.core.project.x_processplatform_assemble_surface", "流程数据操作");
+appMap.set("com.x.base.core.project.x_processplatform_service_processing", "流程过程服务");
+appMap.set("com.x.base.core.project.x_query_assemble_designer", "数据平台元素设计");
+appMap.set("com.x.base.core.project.x_query_assemble_surface", "数据平台查询");
+appMap.set("com.x.base.core.project.x_query_service_processing", "数据平台全文检索");
+appMap.set("com.x.base.core.project.x_teamwork_assemble_control", "团队");
+appMap.set("com.x.wcrm.assemble.control.x_wcrm_assemble_control", "WCRM管理");
+appMap.set("com.x.base.core.project.x_jpush_assemble_control", "极光推送");
+appMap.set("zoneland.unicom.bj.assemble.control.zoneland_unicom_bj_assemble_control", "北京联通单点");
+    $(function() {
+	$.ajax({
+	    type : 'get',
+	    dataType : 'json',
+	    contentType : 'application/json; charset=utf-8',
+	    url : './jaxrs/jest/list',
+	    xhrFields : {
+		'withCredentials' : true
+	    },
+	    crossDomain : true
+	}).done(function(json) {
+	    debugger;
+	    if (json.type == 'success') {
+		if (json.data) {
+		    var str = '<table border="1">';
+		    $.each(json.data, function(index, o) {
+			str += '<tr>';  
+			debugger;
+             if(typeof(appMap.get(o.name)) == "undefined"){
+			   str += '<td>' + '</td>';
+              }else{
+				str += '<td>' + appMap.get(o.name) + '</td>';
+              }			  
+			str += '<td>' + o.name + '</td>';
+			str += '<td>';
+			$.each(o.urlList, function(i, url) {
+			    url = url.replace(/(127.0.0.1)/g, window.location.hostname);
+			    str += '<a href="'+url+'" target="_blank">' + url + '</a><br/>';
+			});
+			str += '</td>';
+			str += '</tr>';
+		    });
+			
+			str += '<tr><td>中心服务</td><td>com.x.base.core.project.x_program_center</td><td><a href="http://'+window.location.hostname+':20030/x_program_center/jest/index.html" target="_blank">http://'+window.location.hostname+':20030/x_program_center/jest/index.html</a><br></td></tr>';
+		    str += '</table>';
+		    $('#content').html(str);
+		}
+
+	    }
+	});
+    });
+</script>
+
+<script>
+var entityMap = new Map();
+entityMap.set("x_attendance_core_entity", "考勤相关");
+entityMap.set("x_bbs_core_entity", "论坛相关");
+entityMap.set("x_calendar_core_entity", "日程管理相关");
+entityMap.set("x_cms_core_entity", "内容管理相关");
+entityMap.set("x_component_core_entity", "组件管理相关");
+entityMap.set("x_file_core_entity", "云文件相关");
+entityMap.set("x_general_core_entity","常用功能相关");
+entityMap.set("x_hotpic_core_entity", "热点信息相关");
+entityMap.set("x_jpush_core_entity", "极光推送");
+entityMap.set("x_meeting_core_entity", "会议管理相关");
+entityMap.set("x_message_core_entity", "消息通信相关");
+entityMap.set("x_mind_core_entity", "脑图模块相关");
+entityMap.set("x_okr_core_entity", "执行力相关");
+entityMap.set("x_organization_core_entity", "组织管理相关");
+entityMap.set("x_portal_core_entity", "门户");
+entityMap.set("x_processplatform_core_entity", "流程平台");
+entityMap.set("x_program_center_core_entity", "中心服务");
+entityMap.set("x_query_core_entity", "数据平台全文检索");
+entityMap.set("x_teamwork_core_entity", "团队");
+$(function() {
+	   $.getJSON('./describe/table/tableList.json?rd=' + Math.random(), function(json) {
+				var str = '<center id="title" style="font-size:32px; font-weight:bold;">O2OA Table structure URL</center>	<table border="1">';
+				
+				for(var key in json){
+					str += '<tr>'; 
+					if(typeof(entityMap.get(key)) == "undefined"){
+					   str += '<td>' + '</td>';
+					  }else{
+						str += '<td>' + entityMap.get(key) + '</td>';
+					  }			  
+					str += '<td>' + key + '</td>';
+					str += '<td>';
+					var url = "./jest/listTableDetail.html?param="+ json[key]
+				    str += '<a href="'+url+'" target="_blank">' + json[key] + '</a><br/>'; ;
+					str += '</td>';
+					str += '</tr>';
+                }
+
+				str += '</table>';
+				$('#contentTable').html(str);
+			});
+  });
+</script>
+</head>
+
+<body style="font-size: 12px; font-family: Microsoft Yahei; margin: 0px">
+	<center id="title" style="font-size:32px; font-weight:bold;">O2OA Service API URL</center>	
+	<div id="content" style="margin-top:10px;margin-left: 50px;float: left;">&nbsp;</div>
+	<div id="contentTable" style="margin-top:20px;margin-left: 50px;float: left;">&nbsp;</div>
+</body>
+</html>

+ 5 - 5
o2server/x_program_center/src/main/webapp/jest/describeTable.js

@@ -46,13 +46,13 @@ Describe.prototype = {
 							function() {
 								$('#result').html('');
 								 var txt = "";
-								 txt += '<table>';	
-								 txt += '<tr><td width ="3%"><b>序号</b></td><td width ="10%"><b>列名</b></td><td width ="5%"><b>类型</b></td><td width ="5%"><b>长度</b></td><td width ="*"><b>用途</b></td></tr>';
+								 txt += '<table style="table-layout:word-wrap:break-word;word-break:break-all;">';	
+								 txt += '<tr style="height:28px"><td width ="5%"><b>序号</b></td><td width ="20%"><b>列名</b></td><td style="word-wrap:break-word;word-break:break-all;width:20%"><b>类型</b></td><td width ="10%"><b>长度</b></td><td width ="*"><b>用途</b></td></tr>';
 								$.each(m.columnProperty, function(ci, c) {
 									 if(c.type == "ContainerTable"){
-								        txt += '<tr><td>'+(ci+1)+'</td><td>'+c.name+'</td><td>'+c.type+'</td><td>'+c.length+'</td><td>'+c.remark+ "("+ c.containerTableProperty.name+')</td><td>'
+								        txt += '<tr><td>'+(ci+1)+'</td><td>'+c.name+'</td><td >'+c.type+'</td><td>'+c.length+'</td><td>'+c.remark+ "("+ c.containerTableProperty.name+')</td><td>'
 										txt +='</td></tr>';
-										txt += '<tr><td></td><td colspan="4"><table><tr><td width ="3%"><b>序号</b></td><td width ="8%"><b>列名</b></td><td width ="5%"><b>类型</b></td><td width ="*"><b>用途</b></td></tr>';
+										txt += '<tr><td></td><td colspan="4"><table style="width: 600px;font-style:italic"><tr><td width ="5%"><b>序号</b></td><td width ="30%"><b>列名</b></td><td width ="20%"><b>类型</b></td><td width ="*"><b>用途</b></td></tr>';
 										$.each(c.containerTableProperty.containerTableColumnProperty, function(cti, ct) {
 										  txt += '<tr><td>'+(cti+1)+'</td><td>'+ct.name+'</td><td>'+ct.type+'</td><td>'+ct.remark+'</td></tr>';
 										});
@@ -60,7 +60,7 @@ Describe.prototype = {
 										txt +='</table></td></tr>';
 										
 									 }else{
-										  txt += '<tr><td>'+(ci+1)+'</td><td>'+c.name+'</td><td>'+c.type+'</td><td>'+c.length+'</td><td>'+c.remark+'</td><td></td></tr>';
+										  txt += '<tr  style="height:28px"><td>'+(ci+1)+'</td><td>'+c.name+'</td><td style="word-wrap:break-word;word-break:break-all;">'+c.type+'</td><td>'+c.length+'</td><td>'+c.remark+'</td><td></td></tr>';
 									 }
                                  });
 								 

+ 4 - 0
o2server/x_program_center/src/main/webapp/jest/listTable.html

@@ -66,6 +66,7 @@ var appMap = new Map();
 appMap.set("x_attendance_core_entity", "考勤相关");
 appMap.set("x_bbs_core_entity", "论坛相关");
 appMap.set("x_calendar_core_entity", "日程管理相关");
+appMap.set("x_cms_core_entity", "内容管理相关");
 appMap.set("x_component_core_entity", "组件管理相关");
 appMap.set("x_file_core_entity", "云文件相关");
 appMap.set("x_general_core_entity","常用功能相关");
@@ -77,6 +78,9 @@ appMap.set("x_mind_core_entity", "脑图模块相关");
 appMap.set("x_okr_core_entity", "执行力相关");
 appMap.set("x_organization_core_entity", "组织管理相关");
 appMap.set("x_portal_core_entity", "门户");
+appMap.set("x_processplatform_core_entity", "流程平台");
+appMap.set("x_program_center_core_entity", "中心服务");
+appMap.set("x_query_core_entity", "数据平台全文检索");
 appMap.set("x_teamwork_core_entity", "团队");
 $(function() {
 	   $.getJSON('../describe/table/tableList.json?rd=' + Math.random(), function(json) {

+ 5 - 2
o2server/x_program_center/src/main/webapp/jest/listTableDetail.html

@@ -64,6 +64,9 @@
 		font-weight:bold;
 		color:#1E7ACE;
 	}
+	
+	.table-s table td{border-bottom:1px solid #E6E6E6;} 
+	
 	-->
 </style>
 	
@@ -118,8 +121,8 @@
 					<legend>
 						字段列表&nbsp;<a id="btn_copy" href="javascript:" data-clipboard-target="#result">copy</a>&nbsp;
 					</legend>
-					<div id="result"
-						style="white-space: pre; font-size: 12px; word-break: break-all; word-wrap: break-word; width: 1400px">&nbsp;</div>
+					<div id="result"  class="table-s"
+						style=" font-size: 12px; word-wrap:break-word;word-break:break-all; width: 1400px">&nbsp;</div>
 				</fieldset>