jeecg 3.6.5 版本发布

jeecg_3.6.5
zhangdaiscott 10 years ago
parent e6ef4211de
commit 6c1dba1ea8

@ -1,7 +1,7 @@
JEECG 微云快速开发平台 JEECG 微云快速开发平台
=============== ===============
当前最新版本: 3.6.4发布日期20160701 当前最新版本: 3.6.5发布日期20160718
前言: 前言:
----------------------------------- -----------------------------------

File diff suppressed because one or more lines are too long

@ -3,11 +3,11 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<groupId>org.jeecgframework</groupId> <groupId>org.jeecgframework</groupId>
<artifactId>jeecg</artifactId> <artifactId>jeecg</artifactId>
<version>3.6.4</version> <version>3.6.5</version>
<packaging>war</packaging> <packaging>war</packaging>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<codegenerate.version>3.6-SNAPSHOT</codegenerate.version> <codegenerate.version>3.6.1-SNAPSHOT</codegenerate.version>
<minidao.version>1.6-SNAPSHOT</minidao.version> <minidao.version>1.6-SNAPSHOT</minidao.version>
<guava.version>16.0.1</guava.version> <guava.version>16.0.1</guava.version>
@ -937,7 +937,7 @@
<version>${cxf.version}</version> <version>${cxf.version}</version>
</dependency> </dependency>
<!-- jeecg plugin begin --> <!-- jeecg plugin -->
<dependency> <dependency>
<groupId>org.p3framework</groupId> <groupId>org.p3framework</groupId>
<artifactId>jeecg-p3-core</artifactId> <artifactId>jeecg-p3-core</artifactId>
@ -949,13 +949,21 @@
<version>1.1-SNAPSHOT</version> <version>1.1-SNAPSHOT</version>
<type>jar</type> <type>jar</type>
</dependency> </dependency>
<!-- 插件demo -->
<dependency> <dependency>
<groupId>org.p3framework</groupId> <groupId>org.p3framework</groupId>
<artifactId>jeecg-p3-biz-demo</artifactId> <artifactId>jeecg-p3-biz-demo</artifactId>
<version>1.0.1</version> <version>1.0.2</version>
</dependency> </dependency>
<!-- 插件: 我的邮箱 -->
<!-- 插件:微信企业号 <dependency>
<groupId>org.p3framework</groupId>
<artifactId>jeecg-p3-biz-mail</artifactId>
<version>1.0.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<!-- 插件: 微信企业号
<dependency> <dependency>
<groupId>org.p3framework</groupId> <groupId>org.p3framework</groupId>
<artifactId>jeecg-p3-biz-qywx</artifactId> <artifactId>jeecg-p3-biz-qywx</artifactId>
@ -970,9 +978,8 @@
<type>jar</type> <type>jar</type>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
--> -->
<!-- jeecg plugin end --> <!-- jeecg plugin -->
</dependencies> </dependencies>
<organization> <organization>

@ -0,0 +1,98 @@
package org.jeecgframework.core.enums;
import org.jeecgframework.core.util.StringUtil;
/**
*
*
* @author zhoujf
*/
public enum OnlineGenerateEnum {
//
ONLINE_03("03","Table风格(form)","onetomany", "system"),
ONLINE_06("06","bootstrap风格(form)","onetomany","system"),
ONLINE_01("01","Table风格(form)","single", "system"),
ONLINE_02("02","Div风格(form)","single", "system"),
ONLINE_04("04","自定义word(form)","single", "system"),
ONLINE_05("05","bootstrap风格(form)","single", "system"),
/*ONLINE_07("07","nopopform风格","single","system"),*/
ONLINE_NOPOP_SINGLE("nopop.single","nopopform风格","single","ext"),
ONLINE_DEFAULT_SINGLE("default.single","用户扩展风格示例","single","ext"),
ONLINE_DEFAULT_ONETOMANY("default.onetomany","用户扩展风格示例","onetomany","ext");
/**
*
*/
private String code;
/**
*
*/
private String desc;
/**
* single onetomany
*/
private String formType;
/**
* system , ext
*/
private String version;
private OnlineGenerateEnum(String code, String desc, String formType, String version) {
this.code = code;
this.desc = desc;
this.formType = formType;
this.version = version;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getFormType() {
return formType;
}
public void setFormType(String formType) {
this.formType = formType;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public static OnlineGenerateEnum toEnum(String code) {
if(StringUtil.isEmpty(code)){
return null;
}
for(OnlineGenerateEnum item : OnlineGenerateEnum.values()) {
if(item.getCode().equals(code)) {
return item;
}
}
return null;
}
}

@ -292,7 +292,6 @@ public class HqlGenerateUtil {
//---author:jg_xugj----start-----date:20151226--------for#814 【数据权限】扩展支持写表达式通过session取值 //---author:jg_xugj----start-----date:20151226--------for#814 【数据权限】扩展支持写表达式通过session取值
//这个方法建议去掉直接调用ResourceUtil.converRuleValue(ruleValue) //这个方法建议去掉直接调用ResourceUtil.converRuleValue(ruleValue)
String value = ResourceUtil.converRuleValue(ruleValue); String value = ResourceUtil.converRuleValue(ruleValue);
//---author:jg_xugj----end-----date:20151226--------for#814 【数据权限】扩展支持写表达式通过session取值
return value!= null ? value : ruleValue; return value!= null ? value : ruleValue;
} }
@ -399,8 +398,6 @@ public class HqlGenerateUtil {
} }
return sb.toString(); return sb.toString();
} }
// --author龙金波 ------end---date20150628--------forsql组装
/** /**
* , * ,
* return: java.lang.Integer * return: java.lang.Integer
@ -440,7 +437,6 @@ public class HqlGenerateUtil {
} }
return column; return column;
} }
// --author陈璞 ------end---date20150612--------forsql组装

@ -51,7 +51,6 @@ public class SysContextSqlConvert {
String tempValue = null; String tempValue = null;
//---author:jg_xugj----start-----date:20151226--------for#814 【数据权限】扩展支持写表达式通过session取值 //---author:jg_xugj----start-----date:20151226--------for#814 【数据权限】扩展支持写表达式通过session取值
tempValue = ResourceUtil.converRuleValue(ValueTemp); tempValue = ResourceUtil.converRuleValue(ValueTemp);
//---author:jg_xugj----end-----date:20151226--------for#814 【数据权限】扩展支持写表达式通过session取值
if(tempValue!=null){ if(tempValue!=null){
tempValue = tempValue + moshi; tempValue = tempValue + moshi;

@ -154,7 +154,6 @@ public class AuthInterceptor implements HandlerInterceptor {
//---author:jg_xugj----start-----date:20151210--------for#781 【oracle兼容】兼容问题fun.operation!='' 在oracle 数据下不正确 //---author:jg_xugj----start-----date:20151210--------for#781 【oracle兼容】兼容问题fun.operation!='' 在oracle 数据下不正确
String hasOperSql="SELECT operation FROM t_s_role_function fun, t_s_role_user role WHERE " + String hasOperSql="SELECT operation FROM t_s_role_function fun, t_s_role_user role WHERE " +
"fun.functionid='"+functionId+"' AND fun.operation is not null AND fun.roleid=role.roleid AND role.userid='"+client.getUser().getId()+"' "; "fun.functionid='"+functionId+"' AND fun.operation is not null AND fun.roleid=role.roleid AND role.userid='"+client.getUser().getId()+"' ";
//---author:jg_xugj----end-----date:20151210--------for#781 【oracle兼容】兼容问题fun.operation!='' 在oracle 数据下不正确
List<String> hasOperList = this.systemService.findListbySql(hasOperSql); List<String> hasOperList = this.systemService.findListbySql(hasOperSql);
for(String operationIds:hasOperList){ for(String operationIds:hasOperList){
for(String operationId:operationIds.split(",")){ for(String operationId:operationIds.split(",")){

@ -25,7 +25,11 @@ public class DynamicDBUtil {
String driverClassName = dynamicSourceEntity.getDriverClass(); String driverClassName = dynamicSourceEntity.getDriverClass();
String url = dynamicSourceEntity.getUrl(); String url = dynamicSourceEntity.getUrl();
String dbUser = dynamicSourceEntity.getDbUser(); String dbUser = dynamicSourceEntity.getDbUser();
String dbPassword = dynamicSourceEntity.getDbPassword();
//设置数据源的时候,要重新解密
//String dbPassword = dynamicSourceEntity.getDbPassword();
String dbPassword = PasswordUtil.decrypt(dynamicSourceEntity.getDbPassword(), dynamicSourceEntity.getDbUser(), PasswordUtil.getStaticSalt());//解密字符串;
dataSource.setDriverClassName(driverClassName); dataSource.setDriverClassName(driverClassName);
dataSource.setUrl(url); dataSource.setUrl(url);

@ -187,8 +187,8 @@ public class PasswordUtil {
} }
} }
System.out.print(-1%2==0); System.out.print(-1%2==0);
String str = "admin"; String str = "root";
String password = "123456"; String password = "root";
org.jeecgframework.core.util.LogUtil.info("明文:" + str); org.jeecgframework.core.util.LogUtil.info("明文:" + str);
org.jeecgframework.core.util.LogUtil.info("密码:" + password); org.jeecgframework.core.util.LogUtil.info("密码:" + password);
@ -199,6 +199,9 @@ public class PasswordUtil {
org.jeecgframework.core.util.LogUtil.info("密文:" + ciphertext); org.jeecgframework.core.util.LogUtil.info("密文:" + ciphertext);
String plaintext = PasswordUtil.decrypt(ciphertext, password, salt); String plaintext = PasswordUtil.decrypt(ciphertext, password, salt);
org.jeecgframework.core.util.LogUtil.info("明文:" + plaintext); org.jeecgframework.core.util.LogUtil.info("明文:" + plaintext);
String result = PasswordUtil.decrypt("ea3d519525358e00", "root", salt);
org.jeecgframework.core.util.LogUtil.info("明文:" + result);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }

@ -304,7 +304,6 @@ public class ResourceUtil {
HttpSession session = ContextHolderUtils.getSession(); HttpSession session = ContextHolderUtils.getSession();
returnValue = (String) session.getAttribute(key); returnValue = (String) session.getAttribute(key);
} }
//---author:jg_xugj----end-----date:20151226--------for修改bug 1、key.contains("${") 应改为 key.contains("#{") 2、StringUtil.isEmpty(key) 判断 不为空
//结果加上${} 后面的值 //结果加上${} 后面的值
if(returnValue!=null){returnValue = returnValue + moshi;} if(returnValue!=null){returnValue = returnValue + moshi;}
@ -324,7 +323,6 @@ public class ResourceUtil {
value = ResourceUtil.getUserSystemData(ruleValue); value = ResourceUtil.getUserSystemData(ruleValue);
return value!= null ? value : ruleValue; return value!= null ? value : ruleValue;
} }
//---author:jg_xugj----end-----date:20151226--------for#814 【数据权限】扩展支持写表达式通过session取值
public static void main(String[] args) { public static void main(String[] args) {
org.jeecgframework.core.util.LogUtil.info(getPorjectPath()); org.jeecgframework.core.util.LogUtil.info(getPorjectPath());

@ -108,6 +108,7 @@ public class BaseTag extends TagSupport {
sb.append(SysThemesUtil.getEasyUiIconTheme(sysThemesEnum)); sb.append(SysThemesUtil.getEasyUiIconTheme(sysThemesEnum));
// sb.append("<link rel=\"stylesheet\" href=\"plug-in/easyui/themes/icon.css\" type=\"text/css\"></link>"); // sb.append("<link rel=\"stylesheet\" href=\"plug-in/easyui/themes/icon.css\" type=\"text/css\"></link>");
sb.append("<link rel=\"stylesheet\" type=\"text/css\" href=\"plug-in/accordion/css/accordion.css\">"); sb.append("<link rel=\"stylesheet\" type=\"text/css\" href=\"plug-in/accordion/css/accordion.css\">");
sb.append("<link rel=\"stylesheet\" type=\"text/css\" href=\"plug-in/accordion/css/icons.css\">");
sb.append("<script type=\"text/javascript\" src=\"plug-in/easyui/jquery.easyui.min.1.3.2.js\"></script>"); sb.append("<script type=\"text/javascript\" src=\"plug-in/easyui/jquery.easyui.min.1.3.2.js\"></script>");
sb.append("<script type=\"text/javascript\" src=\"plug-in/easyui/locale/zh-cn.js\"></script>"); sb.append("<script type=\"text/javascript\" src=\"plug-in/easyui/locale/zh-cn.js\"></script>");
sb.append("<script type=\"text/javascript\" src=\"plug-in/tools/syUtil.js\"></script>"); sb.append("<script type=\"text/javascript\" src=\"plug-in/tools/syUtil.js\"></script>");

@ -72,7 +72,6 @@ public class ChooseTag extends TagSupport {
sb.append("var initValue = ").append("$(\'#" + hiddenName + "\').val();"); sb.append("var initValue = ").append("$(\'#" + hiddenName + "\').val();");
sb.append("url += ").append("'&ids='+initValue;"); sb.append("url += ").append("'&ids='+initValue;");
} }
// --authorzhoujf------end-----date:20150531--------for: 编辑用户,选择角色,弹出的角色列表页面,默认没选中 标签扩展
sb.append("if(typeof(windowapi) == 'undefined'){"); sb.append("if(typeof(windowapi) == 'undefined'){");
sb.append("$.dialog({"); sb.append("$.dialog({");
sb.append("content: \'url:\'+url,"); sb.append("content: \'url:\'+url,");

@ -54,6 +54,9 @@ public class DataGridColumnTag extends TagSupport {
private String extendParams;//扩展参数 private String extendParams;//扩展参数
private String langArg; private String langArg;
protected String editor;//高级查询用的编辑器 protected String editor;//高级查询用的编辑器
private String defaultVal = "";//列默认值
public String getEditor() { public String getEditor() {
return editor; return editor;
} }
@ -66,7 +69,7 @@ public class DataGridColumnTag extends TagSupport {
Tag t = findAncestorWithClass(this, DataGridTag.class); Tag t = findAncestorWithClass(this, DataGridTag.class);
DataGridTag parent = (DataGridTag) t; DataGridTag parent = (DataGridTag) t;
parent.setColumn(title,field,width,showLen,rowspan,colspan,align,sortable,checkbox,formatter,formatterjs,hidden,replace,treefield,image,imageSize,query,url,funname,arg,queryMode, dictionary,popup,frozenColumn,extend,style,downloadName,autocomplete,extendParams,editor); parent.setColumn(title,field,width,showLen,rowspan,colspan,align,sortable,checkbox,formatter,formatterjs,hidden,replace,treefield,image,imageSize,query,url,funname,arg,queryMode, dictionary,popup,frozenColumn,extend,style,downloadName,autocomplete,extendParams,editor,defaultVal);
return EVAL_PAGE; return EVAL_PAGE;
} }
@ -217,5 +220,15 @@ public class DataGridColumnTag extends TagSupport {
public void setShowLen(Integer showLen) { public void setShowLen(Integer showLen) {
this.showLen = showLen; this.showLen = showLen;
} }
public String getDefaultVal() {
return defaultVal;
}
public void setDefaultVal(String defaultVal) {
this.defaultVal = defaultVal;
}
} }

@ -294,7 +294,7 @@ public class DataGridTag extends TagSupport {
boolean query, String url, String funname, boolean query, String url, String funname,
String arg,String queryMode, String dictionary,boolean popup, String arg,String queryMode, String dictionary,boolean popup,
boolean frozenColumn,String extend, boolean frozenColumn,String extend,
String style,String downloadName,boolean isAuto,String extendParams,String editor) { String style,String downloadName,boolean isAuto,String extendParams,String editor,String defaultVal) {
DataGridColumn dataGridColumn = new DataGridColumn(); DataGridColumn dataGridColumn = new DataGridColumn();
dataGridColumn.setAlign(align); dataGridColumn.setAlign(align);
dataGridColumn.setCheckbox(checkbox); dataGridColumn.setCheckbox(checkbox);
@ -328,6 +328,9 @@ public class DataGridTag extends TagSupport {
dataGridColumn.setAutocomplete(isAuto); dataGridColumn.setAutocomplete(isAuto);
dataGridColumn.setExtendParams(extendParams); dataGridColumn.setExtendParams(extendParams);
dataGridColumn.setEditor(editor); dataGridColumn.setEditor(editor);
dataGridColumn.setDefaultVal(defaultVal);
columnList.add(dataGridColumn); columnList.add(dataGridColumn);
Set<String> operationCodes = (Set<String>) super.pageContext.getRequest().getAttribute(Globals.OPERATIONCODES); Set<String> operationCodes = (Set<String>) super.pageContext.getRequest().getAttribute(Globals.OPERATIONCODES);
@ -476,7 +479,6 @@ public class DataGridTag extends TagSupport {
out.print(end().toString()); out.print(end().toString());
out.flush(); out.flush();
// } // }
//-----author:jg_longjb----end-----date:20150408--------for:读取cookie主题样式 ace界面下table的输出
}else{ }else{
out.print(datatables().toString()); out.print(datatables().toString());
out.flush(); out.flush();
@ -601,6 +603,7 @@ public class DataGridTag extends TagSupport {
if (title != null) { if (title != null) {
sb.append("title: \'" + title + "\',"); sb.append("title: \'" + title + "\',");
} }
if(autoLoadData) if(autoLoadData)
sb.append("url:\'" + actionUrl + "&field=" + fields + "\',"); sb.append("url:\'" + actionUrl + "&field=" + fields + "\',");
@ -617,6 +620,24 @@ public class DataGridTag extends TagSupport {
} else { } else {
sb.append("fit:false,"); sb.append("fit:false,");
} }
if(hasQueryColum(columnList)){
String queryParams = "";
queryParams += "queryParams:{";
for (DataGridColumn col : columnList) {
if (col.isQuery()&&col.getDefaultVal()!=null&&!col.getDefaultVal().trim().equals("")) {
//sb.append("queryParams:{documentTitle:'woniu'},");
queryParams += col.getField()+":'"+col.getDefaultVal()+"',";
}
}
if(queryParams.indexOf(",")>-1){
queryParams = queryParams.substring(0, queryParams.length()-1);
}
queryParams += "},";
//System.out.println("queryParams===="+queryParams);
sb.append(queryParams);
}
sb.append(StringUtil.replaceAll("loadMsg: \'{0}\',", "{0}", MutiLangUtil.getMutiLangInstance().getLang("common.data.loading"))); sb.append(StringUtil.replaceAll("loadMsg: \'{0}\',", "{0}", MutiLangUtil.getMutiLangInstance().getLang("common.data.loading")));
sb.append("pageSize: " + pageSize + ","); sb.append("pageSize: " + pageSize + ",");
sb.append("pagination:" + pagination + ","); sb.append("pagination:" + pagination + ",");
@ -1255,7 +1276,6 @@ public class DataGridTag extends TagSupport {
sb.append(" if(value.length<=");sb.append(column.getShowLen());sb.append(") {return value}"); sb.append(" if(value.length<=");sb.append(column.getShowLen());sb.append(") {return value}");
sb.append(" else{ return '<a title= '+value+'>'+ value.substring(0,");sb.append(column.getShowLen());sb.append(")+'...';}}"); sb.append(" else{ return '<a title= '+value+'>'+ value.substring(0,");sb.append(column.getShowLen());sb.append(")+'...';}}");
} }
//author:xugj-----end-----date:20160512 ---- for: TASK #1080 【UI标签改造】t:dgCol 显示内容长度控制
else if (columnValueList.size() > 0 && !column.getField().equals("opt")) {// 值替換 else if (columnValueList.size() > 0 && !column.getField().equals("opt")) {// 值替換
String testString = ""; String testString = "";
for (ColumnValue columnValue : columnValueList) { for (ColumnValue columnValue : columnValueList) {
@ -1817,7 +1837,6 @@ public class DataGridTag extends TagSupport {
} }
return sb; return sb;
} }
//-----author:jg_longjb----end-----date:20150408--------for:新增封装查询器组件-
//-----author:jg_longjb----start-----date:20150427--------for:新增高级查询器queryBuilder //-----author:jg_longjb----start-----date:20150427--------for:新增高级查询器queryBuilder

@ -42,6 +42,10 @@ public class DataGridColumn {
protected boolean autocomplete;//自动补全 protected boolean autocomplete;//自动补全
protected String extendParams;//扩展参数,easyui有的,但是jeecg没有的参数进行扩展 protected String extendParams;//扩展参数,easyui有的,但是jeecg没有的参数进行扩展
protected String editor;//高级查询用的编辑器 protected String editor;//高级查询用的编辑器
private String defaultVal = "";//列默认值
public String getEditor() { public String getEditor() {
return editor; return editor;
} }
@ -286,6 +290,14 @@ public class DataGridColumn {
this.formatterjs = formatterjs; this.formatterjs = formatterjs;
} }
public String getDefaultVal() {
return defaultVal;
}
public void setDefaultVal(String defaultVal) {
this.defaultVal = defaultVal;
}
} }

@ -23,7 +23,6 @@
</property> </property>
</bean> </bean>
<!-- update begin online代码生成器支持 自定义word改造 -->
<!-- FreeMarker 自定义word代码生成器 --> <!-- FreeMarker 自定义word代码生成器 -->
<bean id="freemarkerWord" class="freemarker.template.Configuration"> <bean id="freemarkerWord" class="freemarker.template.Configuration">
<property name="templateLoader" ref="templetLoaderWord" /> <property name="templateLoader" ref="templetLoaderWord" />
@ -39,7 +38,6 @@
</map> </map>
</property> </property>
</bean> </bean>
<!-- update end online代码生成器支持 自定义word改造 -->
<!-- 拦截器 --> <!-- 拦截器 -->
<mvc:interceptors> <mvc:interceptors>

@ -742,7 +742,6 @@ public class AutoFormController extends BaseController {
if(!flag){ if(!flag){
hqlTable.append(autoFormDbFieldEntity.getFieldName()+","); hqlTable.append(autoFormDbFieldEntity.getFieldName()+",");
} }
//author:jg_renjie----end-----date:20160228--------forTASK #704 【表单填报预览】针对特殊类型数据需要进行转换比如blob
} }
hqlTable.deleteCharAt(hqlTable.length()-1).append(" from "+formDb.getDbTableName()); hqlTable.deleteCharAt(hqlTable.length()-1).append(" from "+formDb.getDbTableName());
@ -873,8 +872,6 @@ public class AutoFormController extends BaseController {
} }
return data; return data;
} }
//author:jg_renjie----end-----date:20160228--------forTASK #704 【表单填报预览】针对特殊类型数据需要进行转换比如blob
/** /**
* *
* @param * @param

@ -640,7 +640,6 @@ public class CgAutoListController extends BaseController{
sysVarName =sysVarName.replace("sys.", ""); sysVarName =sysVarName.replace("sys.", "");
//---author:jg_xugj----start-----date:20151226--------for#814 【数据权限】扩展支持写表达式通过session取值 //---author:jg_xugj----start-----date:20151226--------for#814 【数据权限】扩展支持写表达式通过session取值
return ResourceUtil.converRuleValue(sysVarName); return ResourceUtil.converRuleValue(sysVarName);
//---author:jg_xugj----end-----date:20151226--------for#814 【数据权限】扩展支持写表达式通过session取值
}else{ }else{
return sysVarName; return sysVarName;
} }

@ -447,7 +447,6 @@ public class CgAutoListRestController extends BaseController{
sysVarName =sysVarName.replace("sys.", ""); sysVarName =sysVarName.replace("sys.", "");
//---author:jg_xugj----start-----date:20151226--------for#814 【数据权限】扩展支持写表达式通过session取值 //---author:jg_xugj----start-----date:20151226--------for#814 【数据权限】扩展支持写表达式通过session取值
return ResourceUtil.converRuleValue(sysVarName); return ResourceUtil.converRuleValue(sysVarName);
//---author:jg_xugj----end-----date:20151226--------for#814 【数据权限】扩展支持写表达式通过session取值
}else{ }else{
return sysVarName; return sysVarName;

@ -26,14 +26,17 @@ import org.jeecgframework.codegenerate.util.CodeResourceUtil;
import org.jeecgframework.codegenerate.util.CodeStringUtils; import org.jeecgframework.codegenerate.util.CodeStringUtils;
import org.jeecgframework.core.common.controller.BaseController; import org.jeecgframework.core.common.controller.BaseController;
import org.jeecgframework.core.common.model.json.AjaxJson; import org.jeecgframework.core.common.model.json.AjaxJson;
import org.jeecgframework.core.enums.OnlineGenerateEnum;
import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.core.util.StringUtil;
import org.jeecgframework.web.cgform.entity.button.CgformButtonEntity; import org.jeecgframework.web.cgform.entity.button.CgformButtonEntity;
import org.jeecgframework.web.cgform.entity.button.CgformButtonSqlEntity; import org.jeecgframework.web.cgform.entity.button.CgformButtonSqlEntity;
import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity; import org.jeecgframework.web.cgform.entity.config.CgFormFieldEntity;
import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity;
import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJavaEntity;
import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity; import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity;
import org.jeecgframework.web.cgform.entity.generate.GenerateEntity; import org.jeecgframework.web.cgform.entity.generate.GenerateEntity;
import org.jeecgframework.web.cgform.entity.generate.GenerateSubListEntity; import org.jeecgframework.web.cgform.entity.generate.GenerateSubListEntity;
import org.jeecgframework.web.cgform.service.build.DataBaseService;
import org.jeecgframework.web.cgform.service.button.CgformButtonServiceI; import org.jeecgframework.web.cgform.service.button.CgformButtonServiceI;
import org.jeecgframework.web.cgform.service.button.CgformButtonSqlServiceI; import org.jeecgframework.web.cgform.service.button.CgformButtonSqlServiceI;
import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI; import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI;
@ -74,6 +77,8 @@ public class GenerateController extends BaseController {
private CgformEnhanceJsServiceI cgformEnhanceJsService; private CgformEnhanceJsServiceI cgformEnhanceJsService;
@Autowired @Autowired
private TempletContextWord templetContextWord; private TempletContextWord templetContextWord;
@Autowired
private DataBaseService dataBaseService;
/** /**
* *
* @param request * @param request
@ -91,6 +96,7 @@ public class GenerateController extends BaseController {
Map<String,String> entityNameMap = new HashMap<String,String>(0); Map<String,String> entityNameMap = new HashMap<String,String>(0);
if(cgFormHead.getJformType()==1 || cgFormHead.getJformType()==3){ if(cgFormHead.getJformType()==1 || cgFormHead.getJformType()==3){
//如果是单表或者附表,则进入单表模型 //如果是单表或者附表,则进入单表模型
request.setAttribute("jspModeList", getOnlineGenerateEnum("single"));// 表单风格
returnModelAndView = "jeecg/cgform/generate/single"; returnModelAndView = "jeecg/cgform/generate/single";
}else{ }else{
//如果是主表,则进入一对多模型 //如果是主表,则进入一对多模型
@ -103,6 +109,7 @@ public class GenerateController extends BaseController {
entityNameMap.put(subHead.getTableName(), JeecgReadTable.formatFieldCapital(subHead.getTableName())); entityNameMap.put(subHead.getTableName(), JeecgReadTable.formatFieldCapital(subHead.getTableName()));
} }
} }
request.setAttribute("jspModeList", getOnlineGenerateEnum("onetomany"));// 表单风格
request.setAttribute("subTableList", subTableList); request.setAttribute("subTableList", subTableList);
returnModelAndView = "jeecg/cgform/generate/one2many"; returnModelAndView = "jeecg/cgform/generate/one2many";
} }
@ -130,6 +137,16 @@ public class GenerateController extends BaseController {
request.setAttribute("entityNames",entityNameMap ); request.setAttribute("entityNames",entityNameMap );
return new ModelAndView(returnModelAndView); return new ModelAndView(returnModelAndView);
} }
private List<OnlineGenerateEnum> getOnlineGenerateEnum(String type){
List<OnlineGenerateEnum> list = new ArrayList<OnlineGenerateEnum>();
for(OnlineGenerateEnum item : OnlineGenerateEnum.values()) {
if(item.getFormType().equals(type)) {
list.add(item);
}
}
return list;
}
/** /**
* - * -
* @param generateEntity * @param generateEntity
@ -156,17 +173,28 @@ public class GenerateController extends BaseController {
boolean tableexist = new JeecgReadTable().checkTableExist(tableName); boolean tableexist = new JeecgReadTable().checkTableExist(tableName);
if(tableexist){ if(tableexist){
//step.3 判断是不是用用户自定义界面 OnlineGenerateEnum modeEnum = OnlineGenerateEnum.toEnum(createFileProperty.getJspMode());
CgformCodeGenerate generate = new CgformCodeGenerate(createFileProperty,generateEntity); if(modeEnum!=null){
if(createFileProperty.getJspMode().equals("04")){ if("system".equals(modeEnum.getVersion())){
String formhtml = templetContextWord.autoFormGenerateHtml(tableName, null, null);
generate.setCgformJspHtml(formhtml); //step.3 判断是不是用用户自定义界面
CgformCodeGenerate generate = new CgformCodeGenerate(createFileProperty,generateEntity);
if(createFileProperty.getJspMode().equals("04")){
String formhtml = templetContextWord.autoFormGenerateHtml(tableName, null, null);
generate.setCgformJspHtml(formhtml);
}
//step.4 调用代码生成器
generate.generateToFile();
}else if("ext".equals(modeEnum.getVersion())){
CgformCodeGenerate generate = new CgformCodeGenerate(createFileProperty,generateEntity);
generate.generateToFileUserDefined();
}
j.setMsg(ftlDescription+":功能生成成功,请刷新项目重启,菜单访问路径:"+CodeStringUtils.getInitialSmall(generateEntity.getEntityName())+"Controller.do?list");
}else{
j.setMsg("代码生成器不支持该页面风格");
} }
//step.4 调用代码生成器
generate.generateToFile();
j.setMsg(ftlDescription+":功能生成成功,请刷新项目重启,菜单访问路径:"+CodeStringUtils.getInitialSmall(generateEntity.getEntityName())+"Controller.do?list");
}else{ }else{
j.setMsg("表["+tableName+"] 在数据库中,不存在"); j.setMsg("表["+tableName+"] 在数据库中,不存在");
} }
@ -241,16 +269,27 @@ public class GenerateController extends BaseController {
subsG.put(sTableName, subG); subsG.put(sTableName, subG);
} }
codeParamEntityIn.setSubTabParam(subTabParamIn); codeParamEntityIn.setSubTabParam(subTabParamIn);
//step.5 一对多(父子表)数据模型,代码生成
if("06".equals(jspMode)){ OnlineGenerateEnum modeEnum = OnlineGenerateEnum.toEnum(jspMode);
CgformCodeGenerateOneToMany.oneToManyCreateBootstap(subTabParamIn, codeParamEntityIn,mainG,subsG); if(modeEnum!=null){
if("system".equals(modeEnum.getVersion())){
//step.5 一对多(父子表)数据模型,代码生成
if("06".equals(jspMode)){
CgformCodeGenerateOneToMany.oneToManyCreateBootstap(subTabParamIn, codeParamEntityIn,mainG,subsG);
}else{
CgformCodeGenerateOneToMany.oneToManyCreate(subTabParamIn, codeParamEntityIn,mainG,subsG);
}
//j.setMsg("成功生成增删改查->功能:"+codeParamEntityIn.getFtlDescription());
}else if("ext".equals(modeEnum.getVersion())){
CgformCodeGenerateOneToMany.oneToManyCreateUserDefined(jspMode,subTabParamIn, codeParamEntityIn,mainG,subsG);
}
j.setMsg(codeParamEntityIn.getFtlDescription()+":功能生成成功,请刷新项目重启,菜单访问路径:"+CodeStringUtils.getInitialSmall(codeParamEntityIn.getEntityName())+"Controller.do?list");
}else{ }else{
CgformCodeGenerateOneToMany.oneToManyCreate(subTabParamIn, codeParamEntityIn,mainG,subsG); j.setMsg("代码生成器不支持该页面风格");
} }
//j.setMsg("成功生成增删改查->功能:"+codeParamEntityIn.getFtlDescription());
j.setMsg(codeParamEntityIn.getFtlDescription()+":功能生成成功,请刷新项目重启,菜单访问路径:"+CodeStringUtils.getInitialSmall(codeParamEntityIn.getEntityName())+"Controller.do?list");
}catch (Exception e) { }catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
j.setMsg(e.getMessage()); j.setMsg(e.getMessage());
@ -314,6 +353,17 @@ public class GenerateController extends BaseController {
buttonSqlMap.put("update", cbsUpdate==null?new String[]{}:cbsUpdate.getCgbSqlStr().replaceAll("(\r\n|\r|\n|\n\r)", "").split(";")); buttonSqlMap.put("update", cbsUpdate==null?new String[]{}:cbsUpdate.getCgbSqlStr().replaceAll("(\r\n|\r|\n|\n\r)", "").split(";"));
CgformButtonSqlEntity cbsDelete = cgformButtonSqlService.getCgformButtonSqlByCodeFormId("delete", cgFormHead.getId()); CgformButtonSqlEntity cbsDelete = cgformButtonSqlService.getCgformButtonSqlByCodeFormId("delete", cgFormHead.getId());
buttonSqlMap.put("delete", cbsDelete==null?new String[]{}:cbsDelete.getCgbSqlStr().replaceAll("(\r\n|\r|\n|\n\r)", "").split(";")); buttonSqlMap.put("delete", cbsDelete==null?new String[]{}:cbsDelete.getCgbSqlStr().replaceAll("(\r\n|\r|\n|\n\r)", "").split(";"));
//按钮java增强
Map<String, CgformEnhanceJavaEntity> buttonJavaMap = new LinkedHashMap<String, CgformEnhanceJavaEntity>();
List<CgformEnhanceJavaEntity> javaList = dataBaseService.getCgformEnhanceJavaEntityByFormId(cgFormHead.getId());
if(javaList!=null&&javaList.size()>0){
for(CgformEnhanceJavaEntity e:javaList){
if(StringUtil.isNotEmpty(e.getCgJavaValue())){
buttonJavaMap.put(e.getButtonCode(), e);
}
}
}
//JS增强-列表 //JS增强-列表
CgformEnhanceJsEntity listJs = cgformEnhanceJsService.getCgformEnhanceJsByTypeFormId("list", cgFormHead.getId()); CgformEnhanceJsEntity listJs = cgformEnhanceJsService.getCgformEnhanceJsByTypeFormId("list", cgFormHead.getId());
CgformEnhanceJsEntity listJsCopy = null; CgformEnhanceJsEntity listJsCopy = null;
@ -342,6 +392,7 @@ public class GenerateController extends BaseController {
} }
generateEntity.setButtons(buttons); generateEntity.setButtons(buttons);
generateEntity.setButtonSqlMap(buttonSqlMap); generateEntity.setButtonSqlMap(buttonSqlMap);
generateEntity.setButtonJavaMap(buttonJavaMap);
generateEntity.setCgFormHead(cgFormHead); generateEntity.setCgFormHead(cgFormHead);
generateEntity.setListJs(listJsCopy); generateEntity.setListJs(listJsCopy);
generateEntity.setFormJs(formJsCopy); generateEntity.setFormJs(formJsCopy);

@ -9,6 +9,7 @@ import java.util.Map;
import org.jeecgframework.web.cgform.entity.button.CgformButtonEntity; import org.jeecgframework.web.cgform.entity.button.CgformButtonEntity;
import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity; import org.jeecgframework.web.cgform.entity.config.CgFormHeadEntity;
import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJavaEntity;
import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity; import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJsEntity;
/** /**
@ -56,6 +57,10 @@ public class GenerateEntity implements java.io.Serializable{
* Js * Js
*/ */
private CgformEnhanceJsEntity formJs; private CgformEnhanceJsEntity formJs;
/**
* java
*/
private Map<String,CgformEnhanceJavaEntity> buttonJavaMap;
public String getEntityPackage() { public String getEntityPackage() {
return entityPackage; return entityPackage;
@ -182,7 +187,15 @@ public class GenerateEntity implements java.io.Serializable{
public Object clone() throws CloneNotSupportedException { public Object clone() throws CloneNotSupportedException {
return super.clone(); return super.clone();
} }
public Map<String, CgformEnhanceJavaEntity> getButtonJavaMap() {
return buttonJavaMap;
}
public void setButtonJavaMap(Map<String, CgformEnhanceJavaEntity> buttonJavaMap) {
this.buttonJavaMap = buttonJavaMap;
}
/** /**
* *
* @return * @return

@ -3,6 +3,7 @@ package org.jeecgframework.web.cgform.service.build;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import org.jeecgframework.web.cgform.entity.enhance.CgformEnhanceJavaEntity;
import org.jeecgframework.web.cgform.exception.BusinessException; import org.jeecgframework.web.cgform.exception.BusinessException;
/** /**
@ -39,4 +40,6 @@ public interface DataBaseService {
*/ */
public void executeJavaExtend(String formId, String buttonCode,Map<String, Object> data) throws BusinessException; public void executeJavaExtend(String formId, String buttonCode,Map<String, Object> data) throws BusinessException;
public List<CgformEnhanceJavaEntity> getCgformEnhanceJavaEntityByFormId(String formId);
} }

@ -641,5 +641,13 @@ public class DataBaseServiceImpl extends CommonServiceImpl implements DataBaseSe
return null; return null;
} }
public List<CgformEnhanceJavaEntity> getCgformEnhanceJavaEntityByFormId( String formId) {
StringBuilder hql = new StringBuilder("");
hql.append(" from CgformEnhanceJavaEntity t");
hql.append(" where t.formId='").append(formId).append("'");
List<CgformEnhanceJavaEntity> list = this.findHql(hql.toString());
return list;
}
} }

@ -1,345 +0,0 @@
package org.jeecgframework.web.onlinedoc.controller;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.jeecgframework.core.common.controller.BaseController;
import org.jeecgframework.core.common.exception.BusinessException;
import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
import org.jeecgframework.core.common.model.json.AjaxJson;
import org.jeecgframework.core.common.model.json.DataGrid;
import org.jeecgframework.core.constant.Globals;
import org.jeecgframework.core.util.ExceptionUtil;
import org.jeecgframework.core.util.MyBeanUtils;
import org.jeecgframework.core.util.ResourceUtil;
import org.jeecgframework.core.util.StringUtil;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
import org.jeecgframework.tag.core.easyui.TagUtil;
import org.jeecgframework.web.onlinedoc.entity.OnlineDocEntity;
import org.jeecgframework.web.onlinedoc.service.OnlineDocServiceI;
import org.jeecgframework.web.system.service.SystemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
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.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
/**
* @Title: Controller
* @Description: 线
* @author onlineGenerator
* @date 2016-03-19 15:49:59
* @version V1.0
*
*/
//@Scope("prototype")
@Controller
@RequestMapping("/onlineDocController")
public class OnlineDocController extends BaseController {
/**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(OnlineDocController.class);
@Autowired
private OnlineDocServiceI onlineDocService;
@Autowired
private SystemService systemService;
/**
* 线
*
* @return
*/
@RequestMapping(params = "list")
public ModelAndView list(HttpServletRequest request) {
return new ModelAndView("jeecg/onlinedoc/onlineDocList");
}
/**
* easyui AJAX
*
* @param request
* @param response
* @param dataGrid
* @param user
*/
@RequestMapping(params = "datagrid")
public void datagrid(OnlineDocEntity onlineDoc,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
CriteriaQuery cq = new CriteriaQuery(OnlineDocEntity.class, dataGrid);
//查询条件组装器
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, onlineDoc, request.getParameterMap());
try{
//自定义追加查询条件
}catch (Exception e) {
throw new BusinessException(e.getMessage());
}
cq.add();
this.onlineDocService.getDataGridReturn(cq, true);
TagUtil.datagrid(response, dataGrid);
}
/**
* 线
*
* @return
*/
@RequestMapping(params = "doDel")
@ResponseBody
public AjaxJson doDel(OnlineDocEntity onlineDoc, HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
onlineDoc = systemService.getEntity(OnlineDocEntity.class, onlineDoc.getId());
message = "在线文档删除成功";
try{
onlineDocService.delete(onlineDoc);
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
}catch(Exception e){
e.printStackTrace();
message = "在线文档删除失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
* 线
*
* @return
*/
@RequestMapping(params = "doBatchDel")
@ResponseBody
public AjaxJson doBatchDel(String ids,HttpServletRequest request){
String message = null;
AjaxJson j = new AjaxJson();
message = "在线文档删除成功";
try{
for(String id:ids.split(",")){
OnlineDocEntity onlineDoc = systemService.getEntity(OnlineDocEntity.class,
id
);
onlineDocService.delete(onlineDoc);
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
}
}catch(Exception e){
e.printStackTrace();
message = "在线文档删除失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
* 线
*
* @param ids
* @return
*/
@RequestMapping(params = "doAdd")
@ResponseBody
public AjaxJson doAdd(OnlineDocEntity onlineDoc, HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
message = "在线文档添加成功";
try{
onlineDocService.save(onlineDoc);
systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
}catch(Exception e){
e.printStackTrace();
message = "在线文档添加失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
* 线
*
* @param ids
* @return
*/
@RequestMapping(params = "doUpdate")
@ResponseBody
public AjaxJson doUpdate(OnlineDocEntity onlineDoc, HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
message = "在线文档更新成功";
OnlineDocEntity t = onlineDocService.get(OnlineDocEntity.class, onlineDoc.getId());
try {
MyBeanUtils.copyBeanNotNull2Bean(onlineDoc, t);
onlineDocService.saveOrUpdate(t);
systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
} catch (Exception e) {
e.printStackTrace();
message = "在线文档更新失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
* 线
*
* @return
*/
@RequestMapping(params = "goAdd")
public ModelAndView goAdd(OnlineDocEntity onlineDoc, HttpServletRequest req) {
if (StringUtil.isNotEmpty(onlineDoc.getId())) {
onlineDoc = onlineDocService.getEntity(OnlineDocEntity.class, onlineDoc.getId());
req.setAttribute("onlineDocPage", onlineDoc);
}
return new ModelAndView("jeecg/onlinedoc/onlineDoc-add");
}
/**
* 线
*
* @return
*/
@RequestMapping(params = "goUpdate")
public ModelAndView goUpdate(OnlineDocEntity onlineDoc, HttpServletRequest req) {
if (StringUtil.isNotEmpty(onlineDoc.getId())) {
onlineDoc = onlineDocService.getEntity(OnlineDocEntity.class, onlineDoc.getId());
req.setAttribute("onlineDocPage", onlineDoc);
}
return new ModelAndView("jeecg/onlinedoc/onlineDoc-update");
}
/**
*
*
* @return
*/
@RequestMapping(params = "upload")
public ModelAndView upload(HttpServletRequest req) {
req.setAttribute("controller_name","onlineDocController");
return new ModelAndView("common/upload/pub_excel_upload");
}
/**
* excel
*
* @param request
* @param response
*/
@RequestMapping(params = "exportXls")
public String exportXls(OnlineDocEntity onlineDoc,HttpServletRequest request,HttpServletResponse response
, DataGrid dataGrid,ModelMap modelMap) {
CriteriaQuery cq = new CriteriaQuery(OnlineDocEntity.class, dataGrid);
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, onlineDoc, request.getParameterMap());
List<OnlineDocEntity> onlineDocs = this.onlineDocService.getListByCriteriaQuery(cq,false);
modelMap.put(NormalExcelConstants.FILE_NAME,"在线文档");
modelMap.put(NormalExcelConstants.CLASS,OnlineDocEntity.class);
modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("在线文档列表", "导出人:"+ResourceUtil.getSessionUserName().getRealName(),
"导出信息"));
modelMap.put(NormalExcelConstants.DATA_LIST,onlineDocs);
return NormalExcelConstants.JEECG_EXCEL_VIEW;
}
/**
* excel 使
*
* @param request
* @param response
*/
@RequestMapping(params = "exportXlsByT")
public String exportXlsByT(OnlineDocEntity onlineDoc,HttpServletRequest request,HttpServletResponse response
, DataGrid dataGrid,ModelMap modelMap) {
modelMap.put(NormalExcelConstants.FILE_NAME,"在线文档");
modelMap.put(NormalExcelConstants.CLASS,OnlineDocEntity.class);
modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("在线文档列表", "导出人:"+ResourceUtil.getSessionUserName().getRealName(),
"导出信息"));
modelMap.put(NormalExcelConstants.DATA_LIST,new ArrayList());
return NormalExcelConstants.JEECG_EXCEL_VIEW;
}
@SuppressWarnings("unchecked")
@RequestMapping(params = "importExcel", method = RequestMethod.POST)
@ResponseBody
public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
AjaxJson j = new AjaxJson();
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象
ImportParams params = new ImportParams();
params.setTitleRows(2);
params.setHeadRows(1);
params.setNeedSave(true);
try {
List<OnlineDocEntity> listOnlineDocEntitys = ExcelImportUtil.importExcel(file.getInputStream(),OnlineDocEntity.class,params);
for (OnlineDocEntity onlineDoc : listOnlineDocEntitys) {
onlineDocService.save(onlineDoc);
}
j.setMsg("文件导入成功!");
} catch (Exception e) {
j.setMsg("文件导入失败!");
logger.error(ExceptionUtil.getExceptionMessage(e));
}finally{
try {
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return j;
}
//上传文件方法
@RequestMapping(params="ajaxUpload")
@ResponseBody
public String ajaxUpload(HttpServletRequest request) throws IllegalStateException, IOException {
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
String fileName = "";
String uploadPath = "upload/";
String path =request.getSession().getServletContext().getRealPath("/")+uploadPath;
String realPath = "";
String oldName = "";
for (Iterator<String> it = multipartRequest.getFileNames(); it.hasNext();) {
String key = it.next();
MultipartFile mulfile = multipartRequest.getFile(key);
fileName = mulfile.getOriginalFilename();
oldName = fileName.substring(0,fileName.lastIndexOf("."));
fileName = rewriteFileName(fileName);
File file = new File(path + fileName);
mulfile.transferTo(file);
}
realPath = "{\"path\":\""+uploadPath+fileName+"\",\"oldName\":\"" + oldName + "\",\"newName\":\"" + fileName + "\"}";
return realPath;
}
//文件名称处理
private String rewriteFileName(String fileName) {
int pointIndex = fileName.lastIndexOf(".");
StringBuffer fileNameBuffer = new StringBuffer();
fileNameBuffer.append((new Date()).getTime()+"_"+fileName.substring(0,pointIndex));
fileNameBuffer.append(fileName.substring(pointIndex));
return fileNameBuffer.toString();
}
}

@ -1,293 +0,0 @@
package org.jeecgframework.web.onlinedoc.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
* @Title: Entity
* @Description: 线
* @author onlineGenerator
* @date 2016-03-19 15:49:59
* @version V1.0
*
*/
@Entity
@Table(name = "t_s_online_doc", schema = "")
@SuppressWarnings("serial")
public class OnlineDocEntity implements java.io.Serializable {
/**主键*/
private java.lang.String id;
/**创建人名称*/
private java.lang.String createName;
/**创建人登录名称*/
private java.lang.String createBy;
/**创建日期*/
private java.util.Date createDate;
/**更新人名称*/
private java.lang.String updateName;
/**更新人登录名称*/
private java.lang.String updateBy;
/**更新日期*/
private java.util.Date updateDate;
/**所属部门*/
private java.lang.String sysOrgCode;
/**所属公司*/
private java.lang.String sysCompanyCode;
/**流程状态*/
private java.lang.String bpmStatus;
/**文件原名*/
private java.lang.String oldName;
/**文件名*/
private java.lang.String newName;
/**描述*/
@Excel(name="描述")
private java.lang.String description;
/**分类节点*/
@Excel(name="分类节点")
private java.lang.String treeNode;
/**下载地址*/
private java.lang.String path;
/**
*: java.lang.String
*@return: java.lang.String
*/
@Id
@GeneratedValue(generator = "paymentableGenerator")
@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
@Column(name ="ID",nullable=false,length=36)
public java.lang.String getId(){
return this.id;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setId(java.lang.String id){
this.id = id;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="CREATE_NAME",nullable=true,length=50)
public java.lang.String getCreateName(){
return this.createName;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setCreateName(java.lang.String createName){
this.createName = createName;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="CREATE_BY",nullable=true,length=50)
public java.lang.String getCreateBy(){
return this.createBy;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setCreateBy(java.lang.String createBy){
this.createBy = createBy;
}
/**
*: java.util.Date
*@return: java.util.Date
*/
@Column(name ="CREATE_DATE",nullable=true,length=20)
public java.util.Date getCreateDate(){
return this.createDate;
}
/**
*: java.util.Date
*@param: java.util.Date
*/
public void setCreateDate(java.util.Date createDate){
this.createDate = createDate;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="UPDATE_NAME",nullable=true,length=50)
public java.lang.String getUpdateName(){
return this.updateName;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setUpdateName(java.lang.String updateName){
this.updateName = updateName;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="UPDATE_BY",nullable=true,length=50)
public java.lang.String getUpdateBy(){
return this.updateBy;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setUpdateBy(java.lang.String updateBy){
this.updateBy = updateBy;
}
/**
*: java.util.Date
*@return: java.util.Date
*/
@Column(name ="UPDATE_DATE",nullable=true,length=20)
public java.util.Date getUpdateDate(){
return this.updateDate;
}
/**
*: java.util.Date
*@param: java.util.Date
*/
public void setUpdateDate(java.util.Date updateDate){
this.updateDate = updateDate;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="SYS_ORG_CODE",nullable=true,length=50)
public java.lang.String getSysOrgCode(){
return this.sysOrgCode;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setSysOrgCode(java.lang.String sysOrgCode){
this.sysOrgCode = sysOrgCode;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="SYS_COMPANY_CODE",nullable=true,length=50)
public java.lang.String getSysCompanyCode(){
return this.sysCompanyCode;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setSysCompanyCode(java.lang.String sysCompanyCode){
this.sysCompanyCode = sysCompanyCode;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="BPM_STATUS",nullable=true,length=32)
public java.lang.String getBpmStatus(){
return this.bpmStatus;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setBpmStatus(java.lang.String bpmStatus){
this.bpmStatus = bpmStatus;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="OLD_NAME",nullable=true,length=50)
public java.lang.String getOldName(){
return this.oldName;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setOldName(java.lang.String oldName){
this.oldName = oldName;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="NEW_NAME",nullable=true,length=50)
public java.lang.String getNewName(){
return this.newName;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setNewName(java.lang.String newName){
this.newName = newName;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="DESCRIPTION",nullable=true,length=200)
public java.lang.String getDescription(){
return this.description;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setDescription(java.lang.String description){
this.description = description;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="PATH",nullable=true,length=200)
public java.lang.String getPath(){
return this.path;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setPath(java.lang.String path){
this.path = path;
}
public void setTreeNode(java.lang.String treeNode) {
this.treeNode = treeNode;
}
@Column(name ="TREE_NODE",nullable=true,length=200)
public java.lang.String getTreeNode() {
return treeNode;
}
}

@ -1,33 +0,0 @@
package org.jeecgframework.web.onlinedoc.service;
import java.io.Serializable;
import org.jeecgframework.core.common.service.CommonService;
import org.jeecgframework.web.onlinedoc.entity.OnlineDocEntity;
public interface OnlineDocServiceI extends CommonService{
public <T> void delete(T entity);
public <T> Serializable save(T entity);
public <T> void saveOrUpdate(T entity);
/**
* -sql-
* @param id
* @return
*/
public boolean doAddSql(OnlineDocEntity t);
/**
* -sql-
* @param id
* @return
*/
public boolean doUpdateSql(OnlineDocEntity t);
/**
* -sql-
* @param id
* @return
*/
public boolean doDelSql(OnlineDocEntity t);
}

@ -1,84 +0,0 @@
package org.jeecgframework.web.onlinedoc.service.impl;
import java.io.Serializable;
import java.util.UUID;
import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
import org.jeecgframework.web.onlinedoc.entity.OnlineDocEntity;
import org.jeecgframework.web.onlinedoc.service.OnlineDocServiceI;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service("onlineDocService")
@Transactional
public class OnlineDocServiceImpl extends CommonServiceImpl implements OnlineDocServiceI {
public <T> void delete(T entity) {
super.delete(entity);
//执行删除操作配置的sql增强
this.doDelSql((OnlineDocEntity)entity);
}
public <T> Serializable save(T entity) {
Serializable t = super.save(entity);
//执行新增操作配置的sql增强
this.doAddSql((OnlineDocEntity)entity);
return t;
}
public <T> void saveOrUpdate(T entity) {
super.saveOrUpdate(entity);
//执行更新操作配置的sql增强
this.doUpdateSql((OnlineDocEntity)entity);
}
/**
* -sql-
* @param id
* @return
*/
public boolean doAddSql(OnlineDocEntity t){
return true;
}
/**
* -sql-
* @param id
* @return
*/
public boolean doUpdateSql(OnlineDocEntity t){
return true;
}
/**
* -sql-
* @param id
* @return
*/
public boolean doDelSql(OnlineDocEntity t){
return true;
}
/**
* sql
* @param sql
* @return
*/
public String replaceVal(String sql,OnlineDocEntity t){
sql = sql.replace("#{id}",String.valueOf(t.getId()));
sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName()));
sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy()));
sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate()));
sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName()));
sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy()));
sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate()));
sql = sql.replace("#{sys_org_code}",String.valueOf(t.getSysOrgCode()));
sql = sql.replace("#{sys_company_code}",String.valueOf(t.getSysCompanyCode()));
sql = sql.replace("#{bpm_status}",String.valueOf(t.getBpmStatus()));
sql = sql.replace("#{old_name}",String.valueOf(t.getOldName()));
sql = sql.replace("#{new_name}",String.valueOf(t.getNewName()));
sql = sql.replace("#{description}",String.valueOf(t.getDescription()));
sql = sql.replace("#{treeNode}",String.valueOf(t.getTreeNode()));
sql = sql.replace("#{path}",String.valueOf(t.getPath()));
sql = sql.replace("#{UUID}",UUID.randomUUID().toString());
return sql;
}
}

@ -1,366 +0,0 @@
package org.jeecgframework.web.onlinedocsort.controller;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.jeecgframework.core.common.controller.BaseController;
import org.jeecgframework.core.common.exception.BusinessException;
import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
import org.jeecgframework.core.common.model.json.AjaxJson;
import org.jeecgframework.core.common.model.json.ComboTree;
import org.jeecgframework.core.common.model.json.DataGrid;
import org.jeecgframework.core.common.model.json.TreeGrid;
import org.jeecgframework.core.constant.Globals;
import org.jeecgframework.core.util.ExceptionUtil;
import org.jeecgframework.core.util.MyBeanUtils;
import org.jeecgframework.core.util.ResourceUtil;
import org.jeecgframework.core.util.StringUtil;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
import org.jeecgframework.tag.vo.easyui.TreeGridModel;
import org.jeecgframework.web.onlinedocsort.entity.OnlineDocSortEntity;
import org.jeecgframework.web.onlinedocsort.service.OnlineDocSortServiceI;
import org.jeecgframework.web.system.pojo.base.TSCategoryEntity;
import org.jeecgframework.web.system.service.SystemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
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.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
/**
* @Title: Controller
* @Description: 线
* @author onlineGenerator
* @date 2016-03-20 11:46:20
* @version V1.0
*
*/
//@Scope("prototype")
@Controller
@RequestMapping("/onlineDocSortController")
public class OnlineDocSortController extends BaseController {
/**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(OnlineDocSortController.class);
@Autowired
private OnlineDocSortServiceI onlineDocSortService;
@Autowired
private SystemService systemService;
/**
* 线
*
* @return
*/
@RequestMapping(params = "list")
public ModelAndView list(HttpServletRequest request) {
return new ModelAndView("jeecg/onlinedocsort/onlineDocSortList");
}
/**
* easyui AJAX
*
* @param request
* @param response
* @param dataGrid
* @param user
*/
@RequestMapping(params = "datagrid")
@ResponseBody
public List<TreeGrid> datagrid(OnlineDocSortEntity onlineDocSort,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
CriteriaQuery cq = new CriteriaQuery(OnlineDocSortEntity.class, dataGrid);
if (onlineDocSort.getId() == null || StringUtils.isEmpty(onlineDocSort.getId())) {
cq.isNull("parent");
} else {
cq.eq("parent.id", onlineDocSort.getId());
onlineDocSort.setId(null);
}
// 查询条件组装器
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, onlineDocSort, request.getParameterMap());
List<TSCategoryEntity> list = this.onlineDocSortService.getListByCriteriaQuery(cq, false);
List<TreeGrid> treeGrids = new ArrayList<TreeGrid>();
TreeGridModel treeGridModel = new TreeGridModel();
treeGridModel.setIdField("id");
treeGridModel.setSrc("id");
treeGridModel.setTextField("name");
treeGridModel.setParentText("parent_name");
treeGridModel.setParentId("parent_id");
treeGridModel.setChildList("list");
treeGrids = systemService.treegrid(list, treeGridModel);
return treeGrids;
}
@RequestMapping(params = "tree")
@ResponseBody
public List<ComboTree> tree(String selfCode,ComboTree comboTree, boolean isNew) {
CriteriaQuery cq = new CriteriaQuery(OnlineDocSortEntity.class);
cq.isNull("parent");
cq.add();
List<OnlineDocSortEntity> categoryList = systemService.getListByCriteriaQuery(cq, false);
List<ComboTree> comboTrees = new ArrayList<ComboTree>();
for (int i = 0; i < categoryList.size(); i++) {
comboTrees.add(onlineDocSortEntityConvertToTree(categoryList.get(i)));
}
return comboTrees;
}
private ComboTree onlineDocSortEntityConvertToTree(OnlineDocSortEntity entity) {
ComboTree tree = new ComboTree();
tree.setId(entity.getId());
tree.setText(entity.getName());
if (entity.getList() != null && entity.getList().size() > 0) {
List<ComboTree> comboTrees = new ArrayList<ComboTree>();
for (int i = 0; i < entity.getList().size(); i++) {
comboTrees.add(onlineDocSortEntityConvertToTree(entity.getList().get(i)));
}
tree.setChildren(comboTrees);
}
return tree;
}
/**
* 线
*
* @return
*/
@RequestMapping(params = "doDel")
@ResponseBody
public AjaxJson doDel(OnlineDocSortEntity onlineDocSort, HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
onlineDocSort = systemService.getEntity(OnlineDocSortEntity.class, onlineDocSort.getId());
message = "在线文档分类删除成功";
try{
onlineDocSortService.delete(onlineDocSort);
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
}catch(Exception e){
e.printStackTrace();
message = "在线文档分类删除失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
* 线
*
* @return
*/
@RequestMapping(params = "doBatchDel")
@ResponseBody
public AjaxJson doBatchDel(String ids,HttpServletRequest request){
String message = null;
AjaxJson j = new AjaxJson();
message = "在线文档分类删除成功";
try{
for(String id:ids.split(",")){
OnlineDocSortEntity onlineDocSort = systemService.getEntity(OnlineDocSortEntity.class,
id
);
onlineDocSortService.delete(onlineDocSort);
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
}
}catch(Exception e){
e.printStackTrace();
message = "在线文档分类删除失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
* 线
*
* @param ids
* @return
*/
@RequestMapping(params = "doAdd")
@ResponseBody
public AjaxJson doAdd(OnlineDocSortEntity onlineDocSort, HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
boolean flag = StringUtil.isEmpty(onlineDocSort.getParent().getId());
message = "在线文档分类添加成功";
try{
if (flag) {
onlineDocSort.setParent(null);
}
onlineDocSortService.save(onlineDocSort);
systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
}catch(Exception e){
e.printStackTrace();
message = "在线文档分类添加失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
* 线
*
* @param ids
* @return
*/
@RequestMapping(params = "doUpdate")
@ResponseBody
public AjaxJson doUpdate(OnlineDocSortEntity onlineDocSort, HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
boolean flag = StringUtil.isEmpty(onlineDocSort.getParent().getId());
message = "在线文档分类更新成功";
OnlineDocSortEntity t = onlineDocSortService.get(OnlineDocSortEntity.class, onlineDocSort.getId());
try {
MyBeanUtils.copyBeanNotNull2Bean(onlineDocSort, t);
if (flag) {
t.setParent(null);
}
onlineDocSortService.saveOrUpdate(t);
systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
} catch (Exception e) {
e.printStackTrace();
message = "在线文档分类更新失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
* 线
*
* @return
*/
@RequestMapping(params = "goAdd")
public ModelAndView goAddOrUpdate(OnlineDocSortEntity onlineDocSort,HttpServletRequest request) {
String id = request.getParameter("id");
if (StringUtil.isNotEmpty(id)) {
onlineDocSort = onlineDocSortService.getEntity(OnlineDocSortEntity.class, id);
request.setAttribute("onlineDocSortPage", onlineDocSort);
}
return new ModelAndView("jeecg/onlinedocsort/onlineDocSort-add");
}
/**
* 线
*
* @return
*/
@RequestMapping(params = "goUpdate")
public ModelAndView goUpdate(OnlineDocSortEntity onlineDocSort, HttpServletRequest request) {
String id = request.getParameter("id");
if (StringUtil.isNotEmpty(id)) {
onlineDocSort = onlineDocSortService.getEntity(OnlineDocSortEntity.class, id);
request.setAttribute("onlineDocSortPage", onlineDocSort);
}
return new ModelAndView("jeecg/onlinedocsort/onlineDocSort-update");
}
/**
*
*
* @return
*/
@RequestMapping(params = "upload")
public ModelAndView upload(HttpServletRequest req) {
req.setAttribute("controller_name","onlineDocSortController");
return new ModelAndView("common/upload/pub_excel_upload");
}
/**
* excel
*
* @param request
* @param response
*/
@RequestMapping(params = "exportXls")
public String exportXls(OnlineDocSortEntity onlineDocSort,HttpServletRequest request,HttpServletResponse response
, DataGrid dataGrid,ModelMap modelMap) {
CriteriaQuery cq = new CriteriaQuery(OnlineDocSortEntity.class, dataGrid);
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, onlineDocSort, request.getParameterMap());
List<OnlineDocSortEntity> onlineDocSorts = this.onlineDocSortService.getListByCriteriaQuery(cq,false);
modelMap.put(NormalExcelConstants.FILE_NAME,"在线文档分类");
modelMap.put(NormalExcelConstants.CLASS,OnlineDocSortEntity.class);
modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("在线文档分类列表", "导出人:"+ResourceUtil.getSessionUserName().getRealName(),
"导出信息"));
modelMap.put(NormalExcelConstants.DATA_LIST,onlineDocSorts);
return NormalExcelConstants.JEECG_EXCEL_VIEW;
}
/**
* excel 使
*
* @param request
* @param response
*/
@RequestMapping(params = "exportXlsByT")
public String exportXlsByT(OnlineDocSortEntity onlineDocSort,HttpServletRequest request,HttpServletResponse response
, DataGrid dataGrid,ModelMap modelMap) {
modelMap.put(NormalExcelConstants.FILE_NAME,"在线文档分类");
modelMap.put(NormalExcelConstants.CLASS,OnlineDocSortEntity.class);
modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("在线文档分类列表", "导出人:"+ResourceUtil.getSessionUserName().getRealName(),
"导出信息"));
modelMap.put(NormalExcelConstants.DATA_LIST,new ArrayList());
return NormalExcelConstants.JEECG_EXCEL_VIEW;
}
@RequestMapping(params = "importExcel", method = RequestMethod.POST)
@ResponseBody
public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
AjaxJson j = new AjaxJson();
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象
ImportParams params = new ImportParams();
params.setTitleRows(2);
params.setHeadRows(1);
params.setNeedSave(true);
try {
List<OnlineDocSortEntity> listOnlineDocSortEntitys = ExcelImportUtil.importExcel(file.getInputStream(),OnlineDocSortEntity.class,params);
for (OnlineDocSortEntity onlineDocSort : listOnlineDocSortEntitys) {
onlineDocSortService.save(onlineDocSort);
}
j.setMsg("文件导入成功!");
} catch (Exception e) {
j.setMsg("文件导入失败!");
logger.error(ExceptionUtil.getExceptionMessage(e));
}finally{
try {
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return j;
}
}

@ -1,249 +0,0 @@
package org.jeecgframework.web.onlinedocsort.entity;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
* @Title: Entity
* @Description: 线
* @author onlineGenerator
* @date 2016-03-20 11:46:20
* @version V1.0
*
*/
@Entity
@Table(name = "t_s_online_doc_sort", schema = "")
@SuppressWarnings("serial")
public class OnlineDocSortEntity implements java.io.Serializable {
/**主键*/
private java.lang.String id;
/**创建人名称*/
private java.lang.String createName;
/**创建人登录名称*/
private java.lang.String createBy;
/**创建日期*/
private java.util.Date createDate;
/**更新人名称*/
private java.lang.String updateName;
/**更新人登录名称*/
private java.lang.String updateBy;
/**更新日期*/
private java.util.Date updateDate;
/**所属部门*/
private java.lang.String sysOrgCode;
/**所属公司*/
private java.lang.String sysCompanyCode;
/**流程状态*/
private java.lang.String bpmStatus;
/**名称*/
@Excel(name="名称")
private java.lang.String name;
/**父级节点*/
private OnlineDocSortEntity parent;
private List<OnlineDocSortEntity> list;
/**
*: java.lang.String
*@return: java.lang.String
*/
@Id
@GeneratedValue(generator = "paymentableGenerator")
@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
@Column(name ="ID",nullable=false,length=36)
public java.lang.String getId(){
return this.id;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setId(java.lang.String id){
this.id = id;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="CREATE_NAME",nullable=true,length=50)
public java.lang.String getCreateName(){
return this.createName;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setCreateName(java.lang.String createName){
this.createName = createName;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="CREATE_BY",nullable=true,length=50)
public java.lang.String getCreateBy(){
return this.createBy;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setCreateBy(java.lang.String createBy){
this.createBy = createBy;
}
/**
*: java.util.Date
*@return: java.util.Date
*/
@Column(name ="CREATE_DATE",nullable=true,length=20)
public java.util.Date getCreateDate(){
return this.createDate;
}
/**
*: java.util.Date
*@param: java.util.Date
*/
public void setCreateDate(java.util.Date createDate){
this.createDate = createDate;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="UPDATE_NAME",nullable=true,length=50)
public java.lang.String getUpdateName(){
return this.updateName;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setUpdateName(java.lang.String updateName){
this.updateName = updateName;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="UPDATE_BY",nullable=true,length=50)
public java.lang.String getUpdateBy(){
return this.updateBy;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setUpdateBy(java.lang.String updateBy){
this.updateBy = updateBy;
}
/**
*: java.util.Date
*@return: java.util.Date
*/
@Column(name ="UPDATE_DATE",nullable=true,length=20)
public java.util.Date getUpdateDate(){
return this.updateDate;
}
/**
*: java.util.Date
*@param: java.util.Date
*/
public void setUpdateDate(java.util.Date updateDate){
this.updateDate = updateDate;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="SYS_ORG_CODE",nullable=true,length=50)
public java.lang.String getSysOrgCode(){
return this.sysOrgCode;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setSysOrgCode(java.lang.String sysOrgCode){
this.sysOrgCode = sysOrgCode;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="SYS_COMPANY_CODE",nullable=true,length=50)
public java.lang.String getSysCompanyCode(){
return this.sysCompanyCode;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setSysCompanyCode(java.lang.String sysCompanyCode){
this.sysCompanyCode = sysCompanyCode;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="BPM_STATUS",nullable=true,length=32)
public java.lang.String getBpmStatus(){
return this.bpmStatus;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setBpmStatus(java.lang.String bpmStatus){
this.bpmStatus = bpmStatus;
}
public void setName(java.lang.String name) {
this.name = name;
}
@Column(name ="NAME",nullable=true,length=32)
public java.lang.String getName() {
return name;
}
public void setParent(OnlineDocSortEntity parent) {
this.parent = parent;
}
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PARENT_CODE",referencedColumnName = "id")
public OnlineDocSortEntity getParent() {
return parent;
}
public void setList(List<OnlineDocSortEntity> list) {
this.list = list;
}
@OneToMany(cascade = CascadeType.REMOVE, mappedBy = "parent")
public List<OnlineDocSortEntity> getList() {
return list;
}
}

@ -1,33 +0,0 @@
package org.jeecgframework.web.onlinedocsort.service;
import java.io.Serializable;
import org.jeecgframework.core.common.service.CommonService;
import org.jeecgframework.web.onlinedocsort.entity.OnlineDocSortEntity;
public interface OnlineDocSortServiceI extends CommonService{
public <T> void delete(T entity);
public <T> Serializable save(T entity);
public <T> void saveOrUpdate(T entity);
/**
* -sql-
* @param id
* @return
*/
public boolean doAddSql(OnlineDocSortEntity t);
/**
* -sql-
* @param id
* @return
*/
public boolean doUpdateSql(OnlineDocSortEntity t);
/**
* -sql-
* @param id
* @return
*/
public boolean doDelSql(OnlineDocSortEntity t);
}

@ -1,81 +0,0 @@
package org.jeecgframework.web.onlinedocsort.service.impl;
import java.io.Serializable;
import java.util.UUID;
import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
import org.jeecgframework.web.onlinedocsort.entity.OnlineDocSortEntity;
import org.jeecgframework.web.onlinedocsort.service.OnlineDocSortServiceI;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service("onlineDocSortService")
@Transactional
public class OnlineDocSortServiceImpl extends CommonServiceImpl implements OnlineDocSortServiceI {
public <T> void delete(T entity) {
super.delete(entity);
//执行删除操作配置的sql增强
this.doDelSql((OnlineDocSortEntity)entity);
}
public <T> Serializable save(T entity) {
Serializable t = super.save(entity);
//执行新增操作配置的sql增强
this.doAddSql((OnlineDocSortEntity)entity);
return t;
}
public <T> void saveOrUpdate(T entity) {
super.saveOrUpdate(entity);
//执行更新操作配置的sql增强
this.doUpdateSql((OnlineDocSortEntity)entity);
}
/**
* -sql-
* @param id
* @return
*/
public boolean doAddSql(OnlineDocSortEntity t){
return true;
}
/**
* -sql-
* @param id
* @return
*/
public boolean doUpdateSql(OnlineDocSortEntity t){
return true;
}
/**
* -sql-
* @param id
* @return
*/
public boolean doDelSql(OnlineDocSortEntity t){
return true;
}
/**
* sql
* @param sql
* @return
*/
public String replaceVal(String sql,OnlineDocSortEntity t){
sql = sql.replace("#{id}",String.valueOf(t.getId()));
sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName()));
sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy()));
sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate()));
sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName()));
sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy()));
sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate()));
sql = sql.replace("#{sys_org_code}",String.valueOf(t.getSysOrgCode()));
sql = sql.replace("#{sys_company_code}",String.valueOf(t.getSysCompanyCode()));
sql = sql.replace("#{bpm_status}",String.valueOf(t.getBpmStatus()));
sql = sql.replace("#{name}",String.valueOf(t.getName()));
sql = sql.replace("#{parent}",String.valueOf(t.getParent().getId()));
sql = sql.replace("#{UUID}",UUID.randomUUID().toString());
return sql;
}
}

@ -1,422 +0,0 @@
package org.jeecgframework.web.rank.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
import org.jeecgframework.core.common.controller.BaseController;
import org.jeecgframework.core.common.exception.BusinessException;
import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
import org.jeecgframework.core.common.model.json.AjaxJson;
import org.jeecgframework.core.common.model.json.DataGrid;
import org.jeecgframework.core.constant.Globals;
import org.jeecgframework.core.util.ExceptionUtil;
import org.jeecgframework.core.util.MyBeanUtils;
import org.jeecgframework.core.util.ResourceUtil;
import org.jeecgframework.core.util.StringUtil;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.entity.TemplateExportParams;
import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.vo.TemplateExcelConstants;
import org.jeecgframework.tag.core.easyui.TagUtil;
import org.jeecgframework.web.cgform.engine.FreemarkerHelper;
import org.jeecgframework.web.rank.entity.TSTeamPersonEntity;
import org.jeecgframework.web.rank.service.TSTeamPersonServiceI;
import org.jeecgframework.web.system.service.SystemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
/**
* @Title: Controller
* @Description:
* @author onlineGenerator
* @date 2015-07-04 21:29:29
* @version V1.0
*
*/
//@Scope("prototype")
@Controller
@RequestMapping("/tSTeamPersonController")
public class TSTeamPersonController extends BaseController {
/**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(TSTeamPersonController.class);
private final String FTL_Teachers="clzcontext/template/cms/rank/html/teachers.ftl";
private final String FTL_Teacher="clzcontext/template/cms/rank/html/teacher.ftl";
private final String FTL_Introduce="clzcontext/template/cms/rank/html/introduce.ftl";
@Autowired
private TSTeamPersonServiceI tSTeamPersonService;
@Autowired
private SystemService systemService;
private String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
/**
*
*
* @return
*/
@RequestMapping(params = "tSTeamPerson")
public ModelAndView tSTeamPerson(HttpServletRequest request) {
return new ModelAndView("system/rank/tSTeamPersonList");
}
/**
* -
* @param request
* @param response
*/
@RequestMapping(params = "getTeacherList")
public void getTeacherList(HttpServletRequest request, HttpServletResponse response){
FreemarkerHelper viewEngine = new FreemarkerHelper();
Map<String, Object> map = new HashMap<String, Object>();
List<TSTeamPersonEntity> teamPersonEntities = this.tSTeamPersonService.findByQueryString("from TSTeamPersonEntity order by isJoin desc, jionDate");
String path = request.getContextPath();
String url = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
map.put("teachers", teamPersonEntities);
map.put("url", url);
String html = viewEngine.parseTemplate(FTL_Teachers, map);
PrintWriter writer = null;
try {
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-store");
writer = response.getWriter();
writer.println(html);
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
writer.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
}
/**
* .
* @param id
* @param request
* @param response
*/
@RequestMapping(params = "getTeacher")
public void getTeacher(@RequestParam String id, HttpServletRequest request, HttpServletResponse response){
FreemarkerHelper viewEngine = new FreemarkerHelper();
TSTeamPersonEntity teamPersonEntity = this.tSTeamPersonService.get(TSTeamPersonEntity.class, id);
String path = request.getContextPath();
String url = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
Map<String, Object> map = new HashMap<String, Object>();
map.put("teacher", teamPersonEntity);
map.put("url", url);
String html = viewEngine.parseTemplate(FTL_Teacher, map);
PrintWriter writer = null;
try {
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-store");
writer = response.getWriter();
writer.println(html);
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
writer.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
}
/**
* easyui AJAX
*
* @param request
* @param response
* @param dataGrid
* @param user
*/
@RequestMapping(params = "datagrid")
public void datagrid(TSTeamPersonEntity tSTeamPerson,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
CriteriaQuery cq = new CriteriaQuery(TSTeamPersonEntity.class, dataGrid);
//查询条件组装器
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, tSTeamPerson, request.getParameterMap());
cq.add();
this.systemService.getDataGridReturn(cq, true);
TagUtil.datagrid(response, dataGrid);
}
/**
*
*
* @return
*/
@RequestMapping(params = "doDel")
@ResponseBody
public AjaxJson doDel(TSTeamPersonEntity tSTeamPerson, HttpServletRequest request) {
AjaxJson j = new AjaxJson();
tSTeamPerson = systemService.getEntity(TSTeamPersonEntity.class, tSTeamPerson.getId());
message = "团队人员榜删除成功";
try{
tSTeamPersonService.delete(tSTeamPerson);
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
}catch(Exception e){
e.printStackTrace();
message = "团队人员榜删除失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
*
*
* @return
*/
@RequestMapping(params = "doBatchDel")
@ResponseBody
public AjaxJson doBatchDel(String ids,HttpServletRequest request){
AjaxJson j = new AjaxJson();
message = "团队人员榜删除成功";
try{
for(String id:ids.split(",")){
TSTeamPersonEntity tSTeamPerson = systemService.getEntity(TSTeamPersonEntity.class,
id
);
tSTeamPersonService.delete(tSTeamPerson);
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
}
}catch(Exception e){
e.printStackTrace();
message = "团队人员榜删除失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
*
*
* @param ids
* @return
*/
@RequestMapping(params = "doAdd")
@ResponseBody
public AjaxJson doAdd(TSTeamPersonEntity tSTeamPerson, HttpServletRequest request) {
AjaxJson j = new AjaxJson();
message = "团队人员榜添加成功";
try{
tSTeamPersonService.save(tSTeamPerson);
systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
}catch(Exception e){
e.printStackTrace();
message = "团队人员榜添加失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
*
*
* @param ids
* @return
*/
@RequestMapping(params = "doUpdate")
@ResponseBody
public AjaxJson doUpdate(TSTeamPersonEntity tSTeamPerson, HttpServletRequest request) {
AjaxJson j = new AjaxJson();
message = "团队人员榜更新成功";
TSTeamPersonEntity t = tSTeamPersonService.get(TSTeamPersonEntity.class, tSTeamPerson.getId());
try {
MyBeanUtils.copyBeanNotNull2Bean(tSTeamPerson, t);
tSTeamPersonService.saveOrUpdate(t);
systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
} catch (Exception e) {
e.printStackTrace();
message = "团队人员榜更新失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
*
*
* @return
*/
@RequestMapping(params = "goAdd")
public ModelAndView goAdd(TSTeamPersonEntity tSTeamPerson, HttpServletRequest req) {
if (StringUtil.isNotEmpty(tSTeamPerson.getId())) {
tSTeamPerson = tSTeamPersonService.getEntity(TSTeamPersonEntity.class, tSTeamPerson.getId());
req.setAttribute("tSTeamPersonPage", tSTeamPerson);
}
return new ModelAndView("system/rank/tSTeamPerson-add");
}
/**
*
*
* @return
*/
@RequestMapping(params = "goUpdate")
public ModelAndView goUpdate(TSTeamPersonEntity tSTeamPerson, HttpServletRequest req) {
if (StringUtil.isNotEmpty(tSTeamPerson.getId())) {
tSTeamPerson = tSTeamPersonService.getEntity(TSTeamPersonEntity.class, tSTeamPerson.getId());
req.setAttribute("tSTeamPersonPage", tSTeamPerson);
}
return new ModelAndView("system/rank/tSTeamPerson-update");
}
/**
*
*
* @return
*/
@RequestMapping(params = "upload")
public ModelAndView upload(HttpServletRequest req) {
req.setAttribute("controller_name","tSTeamPersonController");
return new ModelAndView("common/upload/pub_excel_upload");
}
/**
* excel
*
* @param request
* @param response
*/
@RequestMapping(params = "exportXls")
public String exportXls(TSTeamPersonEntity tSTeamPerson,HttpServletRequest request,HttpServletResponse response
, DataGrid dataGrid,ModelMap modelMap) {
CriteriaQuery cq = new CriteriaQuery(TSTeamPersonEntity.class, dataGrid);
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, tSTeamPerson, request.getParameterMap());
List<TSTeamPersonEntity> tSTeamPersons = this.tSTeamPersonService.getListByCriteriaQuery(cq,false);
modelMap.put(NormalExcelConstants.FILE_NAME,"团队人员榜");
modelMap.put(NormalExcelConstants.CLASS,TSTeamPersonEntity.class);
modelMap.put(NormalExcelConstants.PARAMS,new ExportParams("团队人员榜列表", "导出人:"+ResourceUtil.getSessionUserName().getRealName(),
"导出信息"));
modelMap.put(NormalExcelConstants.DATA_LIST, tSTeamPersons);
return NormalExcelConstants.JEECG_EXCEL_VIEW;
}
/**
* excel 使
*
* @param request
* @param response
*/
@RequestMapping(params = "exportXlsByT")
public String exportXlsByT(TSTeamPersonEntity tSTeamPerson,HttpServletRequest request,HttpServletResponse response
, DataGrid dataGrid,ModelMap modelMap) {
modelMap.put(TemplateExcelConstants.FILE_NAME, "团队人员榜");
modelMap.put(TemplateExcelConstants.PARAMS,new TemplateExportParams("Excel模板地址"));
modelMap.put(TemplateExcelConstants.MAP_DATA,null);
modelMap.put(TemplateExcelConstants.CLASS,TSTeamPersonEntity.class);
modelMap.put(TemplateExcelConstants.LIST_DATA,null);
return TemplateExcelConstants.JEECG_TEMPLATE_EXCEL_VIEW;
}
@RequestMapping(params = "importExcel", method = RequestMethod.POST)
@ResponseBody
public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
AjaxJson j = new AjaxJson();
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象
ImportParams params = new ImportParams();
params.setTitleRows(2);
params.setHeadRows(1);
params.setNeedSave(true);
try {
List<TSTeamPersonEntity> listTSTeamPersonEntitys = ExcelImportUtil.importExcel(file.getInputStream(),TSTeamPersonEntity.class,params);
for (TSTeamPersonEntity tSTeamPerson : listTSTeamPersonEntitys) {
tSTeamPersonService.save(tSTeamPerson);
}
j.setMsg("文件导入成功!");
} catch (Exception e) {
j.setMsg("文件导入失败!");
logger.error(ExceptionUtil.getExceptionMessage(e));
}finally{
try {
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return j;
}
/**
*
* @param
* @return
*/
@RequestMapping(params = "introduce")
public void introduce(HttpServletRequest request,HttpServletResponse response) {
FreemarkerHelper viewEngine = new FreemarkerHelper();
String path = request.getContextPath();
String url = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
Map<String, Object> map = new HashMap<String, Object>();
map.put("url", url);
String html = viewEngine.parseTemplate(FTL_Introduce, map);
PrintWriter writer = null;
try {
response.setContentType("text/html");
response.setHeader("Cache-Control", "no-store");
writer = response.getWriter();
writer.println(html);
writer.flush();
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
writer.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
}
}

@ -1,279 +0,0 @@
package org.jeecgframework.web.rank.entity;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
* @Title: Entity
* @Description:
* @author onlineGenerator
* @date 2015-07-04 21:29:29
* @version V1.0
*
*/
@Entity
@Table(name = "t_s_team_person", schema = "")
@SuppressWarnings("serial")
public class TSTeamPersonEntity implements java.io.Serializable {
/**主键*/
private java.lang.String id;
/**创建人名称*/
private java.lang.String createName;
/**创建人登录名称*/
private java.lang.String createBy;
/**创建日期*/
private java.util.Date createDate;
/**更新人名称*/
private java.lang.String updateName;
/**更新人登录名称*/
private java.lang.String updateBy;
/**更新日期*/
private java.util.Date updateDate;
/**所属部门*/
private java.lang.String sysOrgCode;
/**所属公司*/
private java.lang.String sysCompanyCode;
/**名称*/
@Excel(name="名称")
private java.lang.String name;
/**头像路径*/
@Excel(name="头像", type=2,height=15,width=20)
private java.lang.String imgSrc;
/**简介*/
@Excel(name="简介")
private java.lang.String introduction;
/**加入时间*/
@Excel(name="加入时间", importFormat="yyyy-MM-dd HH:mm:ss")
private java.util.Date jionDate;
/**是否参与*/
private Integer isJoin;
/**
*: java.lang.String
*@return: java.lang.String
*/
@Id
@GeneratedValue(generator = "paymentableGenerator")
@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
@Column(name ="ID",nullable=false,length=36)
public java.lang.String getId(){
return this.id;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setId(java.lang.String id){
this.id = id;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="CREATE_NAME",nullable=true,length=50)
public java.lang.String getCreateName(){
return this.createName;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setCreateName(java.lang.String createName){
this.createName = createName;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="CREATE_BY",nullable=true,length=50)
public java.lang.String getCreateBy(){
return this.createBy;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setCreateBy(java.lang.String createBy){
this.createBy = createBy;
}
/**
*: java.util.Date
*@return: java.util.Date
*/
@Column(name ="CREATE_DATE",nullable=true,length=20)
public java.util.Date getCreateDate(){
return this.createDate;
}
/**
*: java.util.Date
*@param: java.util.Date
*/
public void setCreateDate(java.util.Date createDate){
this.createDate = createDate;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="UPDATE_NAME",nullable=true,length=50)
public java.lang.String getUpdateName(){
return this.updateName;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setUpdateName(java.lang.String updateName){
this.updateName = updateName;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="UPDATE_BY",nullable=true,length=50)
public java.lang.String getUpdateBy(){
return this.updateBy;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setUpdateBy(java.lang.String updateBy){
this.updateBy = updateBy;
}
/**
*: java.util.Date
*@return: java.util.Date
*/
@Column(name ="UPDATE_DATE",nullable=true,length=20)
public java.util.Date getUpdateDate(){
return this.updateDate;
}
/**
*: java.util.Date
*@param: java.util.Date
*/
public void setUpdateDate(java.util.Date updateDate){
this.updateDate = updateDate;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="SYS_ORG_CODE",nullable=true,length=50)
public java.lang.String getSysOrgCode(){
return this.sysOrgCode;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setSysOrgCode(java.lang.String sysOrgCode){
this.sysOrgCode = sysOrgCode;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="SYS_COMPANY_CODE",nullable=true,length=50)
public java.lang.String getSysCompanyCode(){
return this.sysCompanyCode;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setSysCompanyCode(java.lang.String sysCompanyCode){
this.sysCompanyCode = sysCompanyCode;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="NAME",nullable=true,length=32)
public java.lang.String getName(){
return this.name;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setName(java.lang.String name){
this.name = name;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="IMG_SRC",nullable=true,length=50)
public java.lang.String getImgSrc(){
return this.imgSrc;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setImgSrc(java.lang.String imgSrc){
this.imgSrc = imgSrc;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="INTRODUCTION",nullable=true,length=500)
public java.lang.String getIntroduction(){
return this.introduction;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setIntroduction(java.lang.String introduction){
this.introduction = introduction;
}
/**
*: java.util.Date
*@return: java.util.Date
*/
@Column(name ="JION_DATE",nullable=true,length=20)
public java.util.Date getJionDate(){
return this.jionDate;
}
/**
*: java.util.Date
*@param: java.util.Date
*/
public void setJionDate(java.util.Date jionDate){
this.jionDate = jionDate;
}
@Column(name ="is_join")
public Integer getIsJoin() {
return isJoin;
}
public void setIsJoin(Integer isJoin) {
this.isJoin = isJoin;
}
}

@ -1,33 +0,0 @@
package org.jeecgframework.web.rank.service;
import org.jeecgframework.web.rank.entity.TSTeamPersonEntity;
import org.jeecgframework.core.common.service.CommonService;
import java.io.Serializable;
public interface TSTeamPersonServiceI extends CommonService{
public <T> void delete(T entity);
public <T> Serializable save(T entity);
public <T> void saveOrUpdate(T entity);
/**
* -sql-
* @param id
* @return
*/
public boolean doAddSql(TSTeamPersonEntity t);
/**
* -sql-
* @param id
* @return
*/
public boolean doUpdateSql(TSTeamPersonEntity t);
/**
* -sql-
* @param id
* @return
*/
public boolean doDelSql(TSTeamPersonEntity t);
}

@ -1,81 +0,0 @@
package org.jeecgframework.web.rank.service.impl;
import org.jeecgframework.web.rank.service.TSTeamPersonServiceI;
import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
import org.jeecgframework.web.rank.entity.TSTeamPersonEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.UUID;
import java.io.Serializable;
@Service("tSTeamPersonService")
@Transactional
public class TSTeamPersonServiceImpl extends CommonServiceImpl implements TSTeamPersonServiceI {
public <T> void delete(T entity) {
super.delete(entity);
//执行删除操作配置的sql增强
this.doDelSql((TSTeamPersonEntity)entity);
}
public <T> Serializable save(T entity) {
Serializable t = super.save(entity);
//执行新增操作配置的sql增强
this.doAddSql((TSTeamPersonEntity)entity);
return t;
}
public <T> void saveOrUpdate(T entity) {
super.saveOrUpdate(entity);
//执行更新操作配置的sql增强
this.doUpdateSql((TSTeamPersonEntity)entity);
}
/**
* -sql-
* @param id
* @return
*/
public boolean doAddSql(TSTeamPersonEntity t){
return true;
}
/**
* -sql-
* @param id
* @return
*/
public boolean doUpdateSql(TSTeamPersonEntity t){
return true;
}
/**
* -sql-
* @param id
* @return
*/
public boolean doDelSql(TSTeamPersonEntity t){
return true;
}
/**
* sql
* @param sql
* @return
*/
public String replaceVal(String sql,TSTeamPersonEntity t){
sql = sql.replace("#{id}",String.valueOf(t.getId()));
sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName()));
sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy()));
sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate()));
sql = sql.replace("#{update_name}",String.valueOf(t.getUpdateName()));
sql = sql.replace("#{update_by}",String.valueOf(t.getUpdateBy()));
sql = sql.replace("#{update_date}",String.valueOf(t.getUpdateDate()));
sql = sql.replace("#{sys_org_code}",String.valueOf(t.getSysOrgCode()));
sql = sql.replace("#{sys_company_code}",String.valueOf(t.getSysCompanyCode()));
sql = sql.replace("#{name}",String.valueOf(t.getName()));
sql = sql.replace("#{img_src}",String.valueOf(t.getImgSrc()));
sql = sql.replace("#{introduction}",String.valueOf(t.getIntroduction()));
sql = sql.replace("#{jion_date}",String.valueOf(t.getJionDate()));
sql = sql.replace("#{UUID}",UUID.randomUUID().toString());
return sql;
}
}

@ -1,5 +0,0 @@
package org.jeecgframework.web.sms.util.task;
public class SmsSendTaskJob {
}

@ -329,6 +329,11 @@ public class DepartController extends BaseController {
*/ */
@RequestMapping(params = "userDatagrid") @RequestMapping(params = "userDatagrid")
public void userDatagrid(TSUser user,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) { public void userDatagrid(TSUser user,HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
if(user!=null&&user.getDepartid()!=null){
user.setDepartid(null);//设置用户的所属部门的查询条件为空;
}
CriteriaQuery cq = new CriteriaQuery(TSUser.class, dataGrid); CriteriaQuery cq = new CriteriaQuery(TSUser.class, dataGrid);
//查询条件组装器 //查询条件组装器
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, user); org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, user);

@ -18,6 +18,7 @@ import org.jeecgframework.core.constant.Globals;
import org.jeecgframework.core.enums.SysDatabaseEnum; import org.jeecgframework.core.enums.SysDatabaseEnum;
import org.jeecgframework.core.util.MutiLangUtil; import org.jeecgframework.core.util.MutiLangUtil;
import org.jeecgframework.core.util.MyBeanUtils; import org.jeecgframework.core.util.MyBeanUtils;
import org.jeecgframework.core.util.PasswordUtil;
import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.core.util.StringUtil;
import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.tag.core.easyui.TagUtil;
import org.jeecgframework.web.system.pojo.base.DynamicDataSourceEntity; import org.jeecgframework.web.system.pojo.base.DynamicDataSourceEntity;
@ -126,6 +127,9 @@ public class DynamicDataSourceController extends BaseController {
DynamicDataSourceEntity t = dynamicDataSourceService.get(DynamicDataSourceEntity.class, dbSource.getId()); DynamicDataSourceEntity t = dynamicDataSourceService.get(DynamicDataSourceEntity.class, dbSource.getId());
try { try {
MyBeanUtils.copyBeanNotNull2Bean(dbSource, t); MyBeanUtils.copyBeanNotNull2Bean(dbSource, t);
t.setDbPassword(PasswordUtil.encrypt(t.getDbPassword(), t.getDbUser(), PasswordUtil.getStaticSalt()));
dynamicDataSourceService.saveOrUpdate(t); dynamicDataSourceService.saveOrUpdate(t);
dynamicDataSourceService.refleshCache(); dynamicDataSourceService.refleshCache();
systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO); systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
@ -136,6 +140,12 @@ public class DynamicDataSourceController extends BaseController {
} else { } else {
message = MutiLangUtil.paramAddSuccess("common.datasource.manage"); message = MutiLangUtil.paramAddSuccess("common.datasource.manage");
try {
dbSource.setDbPassword(PasswordUtil.encrypt(dbSource.getDbPassword(), dbSource.getDbUser(), PasswordUtil.getStaticSalt()));
} catch (Exception e) {
e.printStackTrace();
}
dynamicDataSourceService.save(dbSource); dynamicDataSourceService.save(dbSource);
dynamicDataSourceService.refleshCache(); dynamicDataSourceService.refleshCache();
systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO); systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
@ -153,6 +163,15 @@ public class DynamicDataSourceController extends BaseController {
public ModelAndView addorupdate(DynamicDataSourceEntity dbSource, HttpServletRequest req) { public ModelAndView addorupdate(DynamicDataSourceEntity dbSource, HttpServletRequest req) {
if (StringUtil.isNotEmpty(dbSource.getId())) { if (StringUtil.isNotEmpty(dbSource.getId())) {
dbSource = dynamicDataSourceService.getEntity(DynamicDataSourceEntity.class, dbSource.getId()); dbSource = dynamicDataSourceService.getEntity(DynamicDataSourceEntity.class, dbSource.getId());
try {
//String result = PasswordUtil.decrypt(d.getDbPassword(), d.getDbUser(), PasswordUtil.getStaticSalt());
//System.out.println("==result"+result);
dbSource.setDbPassword(PasswordUtil.decrypt(dbSource.getDbPassword(), dbSource.getDbUser(), PasswordUtil.getStaticSalt()));//解密字符串,密文展示
} catch (Exception e) {
e.printStackTrace();
}
req.setAttribute("dbSourcePage", dbSource); req.setAttribute("dbSourcePage", dbSource);
} }
return new ModelAndView("system/dbsource/dbSource"); return new ModelAndView("system/dbsource/dbSource");

@ -1,501 +0,0 @@
package org.jeecgframework.web.system.controller.core;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import org.jeecgframework.core.common.controller.BaseController;
import org.jeecgframework.core.common.exception.BusinessException;
import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
import org.jeecgframework.core.common.model.common.UploadFile;
import org.jeecgframework.core.common.model.json.AjaxJson;
import org.jeecgframework.core.common.model.json.DataGrid;
import org.jeecgframework.core.constant.Globals;
import org.jeecgframework.core.util.DateUtils;
import org.jeecgframework.core.util.MyBeanUtils;
import org.jeecgframework.core.util.StringUtil;
import org.jeecgframework.core.util.oConvertUtils;
import org.jeecgframework.tag.core.easyui.TagUtil;
import org.jeecgframework.web.system.manager.ClientManager;
import org.jeecgframework.web.system.pojo.base.JformInnerMailAttach;
import org.jeecgframework.web.system.pojo.base.JformInnerMailEntity;
import org.jeecgframework.web.system.pojo.base.JformInnerMailReceiverEntity;
import org.jeecgframework.web.system.pojo.base.TSUser;
import org.jeecgframework.web.system.service.JformInnerMailServiceI;
import org.jeecgframework.web.system.service.SystemService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
/**
* @Title: Controller
* @Description:
* @author onlineGenerator
* @date 2016-03-12 14:43:11
* @version V1.0
*
*/
//@Scope("prototype")
@Controller
@RequestMapping("/jformInnerMailController")
public class JformInnerMailController extends BaseController {
/**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(JformInnerMailController.class);
@Autowired
private JformInnerMailServiceI jformInnerMailService;
@Autowired
private SystemService systemService;
/**
*
* @param ids
* @return
*/
@RequestMapping(params = "doSave")
@ResponseBody
public AjaxJson doSave(JformInnerMailEntity jformInnerMail,HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
message = "内部邮件添加成功";
//更新
try {
if(!StringUtils.isEmpty(jformInnerMail.getId())){
JformInnerMailEntity t = jformInnerMailService.get(JformInnerMailEntity.class, jformInnerMail.getId());
MyBeanUtils.copyBeanNotNull2Bean(jformInnerMail, t);
jformInnerMailService.saveOrUpdate(t);
}
//新增
else{
jformInnerMailService.save(jformInnerMail);
}
//更新收件人
this.saveMailReceiver(jformInnerMail);
} catch (Exception e) {
e.printStackTrace();
message = "内部邮件保存失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
j.setObj(jformInnerMail);
return j;
}
/**
*
*
* @return
*/
@RequestMapping(params = "receivers")
public ModelAndView roles(HttpServletRequest request) {
ModelAndView mv = new ModelAndView("system/mail/selectReceiver");
String ids = oConvertUtils.getString(request.getParameter("ids"));
mv.addObject("ids", ids);
return mv;
}
/**
*
* @param mail
*/
protected void saveMailReceiver(JformInnerMailEntity mail) {
String[] userids = mail.getReceiverIds().split(",");
//先删除原来的邮件 收件人 记录
systemService.deleteAllEntitie(systemService.findByProperty(JformInnerMailReceiverEntity.class, "JMail.id", mail.getId()));
for (int i = 0; i < userids.length; i++) {
JformInnerMailReceiverEntity mailReceiver = new JformInnerMailReceiverEntity();
mailReceiver.setJMail(mail);
mailReceiver.setCreateDate(new Date());
mailReceiver.setStatus(Globals.MAILRECEIVER_STATUS_UNREAD);
TSUser tsUser = new TSUser();
tsUser.setId(userids[i]);
mailReceiver.setTSUser(tsUser);
this.systemService.save(mailReceiver);
}
}
/**
*
*
* @return
*/
@RequestMapping(params = "goAddOrUpdate")
public ModelAndView goAddOrUpdate(JformInnerMailEntity jformInnerMail, HttpServletRequest req) {
if (StringUtil.isNotEmpty(jformInnerMail.getId())) {
jformInnerMail = jformInnerMailService.getEntity(JformInnerMailEntity.class, jformInnerMail.getId());
List<JformInnerMailAttach> documents = systemService.findByProperty(JformInnerMailAttach.class, "mailid", jformInnerMail.getId());
req.setAttribute("documents", documents);
req.setAttribute("jformInnerMailPage", jformInnerMail);
}
String clickFunctionId = req.getParameter("clickFunctionId");
req.setAttribute("clickFunctionId", clickFunctionId);
return new ModelAndView("system/mail/jformInnerMail-update");
}
/**
*
*
* @return
*/
@RequestMapping(params = "goDetail")
public ModelAndView goDetail(JformInnerMailEntity jformInnerMail, HttpServletRequest req) {
if (StringUtil.isNotEmpty(jformInnerMail.getId())) {
jformInnerMail = jformInnerMailService.getEntity(JformInnerMailEntity.class, jformInnerMail.getId());
List<JformInnerMailAttach> documents = systemService.findByProperty(JformInnerMailAttach.class, "mailid", jformInnerMail.getId());
req.setAttribute("documents", documents);
req.setAttribute("jformInnerMailPage", jformInnerMail);
}
return new ModelAndView("system/mail/jformInnerMail-detail");
}
/**
*
* @return
*/
@RequestMapping(params = "goSendMails")
public ModelAndView goSendMails(HttpServletRequest request,String type) {
return new ModelAndView("system/mail/jformInnerMailSendList");
}
/**
*
* @return
*/
@RequestMapping(params = "getSendMails")
@ResponseBody
public List<Map<String,Object>> getSendMails(String title){
String account = ClientManager.getInstance().getClient().getUser().getUserName();
StringBuffer sqlb =new StringBuffer("from JformInnerMailEntity where status ='"+Globals.MAIL_STATUS_SEND+"' and createBy ='"+account +"'");
if(StringUtils.isNotEmpty(title)){
sqlb.append(" and title like '%"+title+"%'");
}
List<JformInnerMailEntity> mails =this.systemService.findByQueryString(sqlb.toString());
List<Map<String,Object>> ret = new ArrayList<Map<String,Object>>();
for(int i=0;i< mails.size();i++){
Map<String,Object> m = new HashMap<String, Object>();
m.put("id", mails.get(i).getId());
m.put("title", mails.get(i).getTitle());
m.put("receiverNames", mails.get(i).getReceiverNames());
m.put("createTime", DateUtils.date2Str(mails.get(i).getCreateDate(), DateUtils.time_sdf));
m.put("status", mails.get(i).getStatus());
ret.add(m);
}
return ret;
}
/**
* 稿
* @return
*/
@RequestMapping(params = "goUnSendMails")
public ModelAndView goUnSendMails(HttpServletRequest request,String type) {
return new ModelAndView("system/mail/jformInnerMailUnSendList");
}
/**
* 稿
* @return
*/
@RequestMapping(params = "getUnSendMails")
@ResponseBody
public List<Map<String,Object>> getUnSendMails(String title){
String account = ClientManager.getInstance().getClient().getUser().getUserName();
StringBuffer sqlb =new StringBuffer("from JformInnerMailEntity where status ='"+Globals.MAIL_STATUS_UNSEND+"' and createBy ='"+account +"'");
if(StringUtils.isNotEmpty(title)){
sqlb.append(" and title like '%"+title+"%'");
}
List<JformInnerMailEntity> mails =this.systemService.findByQueryString(sqlb.toString());
List<Map<String,Object>> ret = new ArrayList<Map<String,Object>>();
for(int i=0;i< mails.size();i++){
Map<String,Object> m = new HashMap<String, Object>();
m.put("id", mails.get(i).getId());
m.put("title", mails.get(i).getTitle());
m.put("receiverNames", mails.get(i).getReceiverNames());
m.put("createTime", DateUtils.date2Str(mails.get(i).getCreateDate(), DateUtils.time_sdf));
m.put("status", mails.get(i).getStatus());
ret.add(m);
}
sqlb.setLength(0);
return ret;
}
/**
* 稿
*
* @return
*/
@RequestMapping(params = "doDelMail")
@ResponseBody
public AjaxJson doDelMail(JformInnerMailEntity innerMailEntity, HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
innerMailEntity = systemService.getEntity(JformInnerMailEntity.class, innerMailEntity.getId());
message = "删除成功";
try{
// 未发送 直接删除
if(innerMailEntity.getStatus().equals(Globals.MAIL_STATUS_UNSEND)){
systemService.delete(innerMailEntity);
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
}
// 已经发送的 更新状态
else{
innerMailEntity.setStatus(Globals.MAIL_STATUS_DEL);
systemService.updateEntitie(innerMailEntity);
systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
}
}catch(Exception e){
e.printStackTrace();
message = "删除失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
* 稿
*
* @return
*/
@RequestMapping(params = "doDelMails")
@ResponseBody
public AjaxJson doDelMails(String ids, HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
message = "删除成功";
try{
for(String id :ids.split(",")){
JformInnerMailEntity innerMailEntity = systemService.getEntity(JformInnerMailEntity.class, id);
// 未发送 直接删除
if(innerMailEntity.getStatus().equals(Globals.MAIL_STATUS_UNSEND)){
systemService.delete(innerMailEntity);
}
// 已经发送的 更新状态
else{
innerMailEntity.setStatus(Globals.MAIL_STATUS_DEL);
systemService.updateEntitie(innerMailEntity);
}
}
}
catch(Exception e){
e.printStackTrace();
message = "删除失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
*
* @return
*/
@RequestMapping(params = "goReceivedMails")
public ModelAndView goReceivedMails(HttpServletRequest request,String type) {
return new ModelAndView("system/mail/jformInnerMailReceiveList");
}
/**
*
* @return
*/
@RequestMapping(params = "getReceivedMails")
@ResponseBody
public List<Map<String,Object>> getReceivedMails(HttpServletRequest request, String senderName,String title,DataGrid dataGrid){
String userId = ClientManager.getInstance().getClient().getUser().getId();
StringBuffer sqlb =new StringBuffer("from JformInnerMailReceiverEntity where TSUser.id ='"+userId +"'and JMail.status !='"+Globals.MAIL_STATUS_UNSEND+"'");
if(StringUtils.isNotEmpty(senderName)){
sqlb.append(" and JMail.createName like '%"+senderName+"%'");
}
if(StringUtils.isNotEmpty(title)){
sqlb.append(" and JMail.title like '%"+title+"%'");
}
//收件状态不为删除,且邮件为已发送状态
List<JformInnerMailReceiverEntity> receivers =this.systemService.findByQueryString(sqlb.toString());
List<Map<String,Object>> ret = new ArrayList<Map<String,Object>>();
for(int i=0;i< receivers.size();i++){
Map<String,Object> m = new HashMap<String, Object>();
m.put("id", receivers.get(i).getId());
m.put("mailId", receivers.get(i).getJMail().getId());
m.put("title", receivers.get(i).getJMail().getTitle());
m.put("senderName", receivers.get(i).getJMail().getCreateName());
m.put("senderAccount", receivers.get(i).getJMail().getCreateBy());
m.put("sendTime", DateUtils.date2Str(receivers.get(i).getCreateDate(), DateUtils.time_sdf));
m.put("status", receivers.get(i).getStatus());
ret.add(m);
}
return ret;
}
/**
*
* @return
*/
@RequestMapping(params = "doDelReceivedMail")
@ResponseBody
public AjaxJson doDelReceivedMail(JformInnerMailReceiverEntity jformInnerMailReceiverEntity, HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
jformInnerMailReceiverEntity = systemService.getEntity(JformInnerMailReceiverEntity.class, jformInnerMailReceiverEntity.getId());
message = "删除成功";
try{
systemService.delete(jformInnerMailReceiverEntity);
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
}catch(Exception e){
e.printStackTrace();
message = "删除失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
*
* @return
*/
@RequestMapping(params = "doDelReceivedMails")
@ResponseBody
public AjaxJson doDelReceivedMails(String ids, HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
message = "删除成功";
for(String id :ids.split(",")){
JformInnerMailReceiverEntity jformInnerMailReceiverEntity = systemService.getEntity(JformInnerMailReceiverEntity.class, id);
systemService.delete(jformInnerMailReceiverEntity);
}
j.setMsg(message);
return j;
}
/**
*
*
* @return
*/
@RequestMapping(params = "delFile")
@ResponseBody
public AjaxJson delFile(JformInnerMailAttach jformInnerMailAttach, HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
String id = request.getParameter("id");
JformInnerMailAttach file = systemService.getEntity(JformInnerMailAttach.class, id);
message = "" + file.getAttachmenttitle() + "被删除成功";
jformInnerMailService.deleteFile(file);
systemService.addLog(message, Globals.Log_Type_DEL,
Globals.Log_Leavel_INFO);
j.setSuccess(true);
j.setMsg(message);
return j;
}
/**
*
*
* @return
*/
@RequestMapping(params = "saveFile")
@ResponseBody
public AjaxJson saveFile(HttpServletRequest request, HttpServletResponse response) {
AjaxJson j = new AjaxJson();
JformInnerMailAttach jformInnerMailAttach = new JformInnerMailAttach();
String fileKey = oConvertUtils.getString(request.getParameter("fileKey"));// 文件ID
String mailId = oConvertUtils.getString(request.getParameter("mailId"));//邮件id
if (StringUtil.isNotEmpty(fileKey)) {
jformInnerMailAttach.setId(fileKey);
jformInnerMailAttach = systemService.getEntity(JformInnerMailAttach.class, fileKey);
}
jformInnerMailAttach.setMailid(mailId);
UploadFile uploadFile = new UploadFile(request, jformInnerMailAttach);
uploadFile.setCusPath("files");
uploadFile.setSwfpath("swfpath");
uploadFile.setByteField(null);//不存二进制内容
jformInnerMailAttach = systemService.uploadFile(uploadFile);
j.setMsg("文件添加成功");
return j;
}
/**
*
*
* @return
*/
@RequestMapping(params = "doDel")
@ResponseBody
public AjaxJson doDel(JformInnerMailEntity jformInnerMail, HttpServletRequest request) {
String message = null;
AjaxJson j = new AjaxJson();
jformInnerMail = systemService.getEntity(JformInnerMailEntity.class, jformInnerMail.getId());
message = "内部邮件删除成功";
try{
jformInnerMailService.delete(jformInnerMail);
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
}catch(Exception e){
e.printStackTrace();
message = "内部邮件删除失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
*
*
* @return
*/
@RequestMapping(params = "doBatchDel")
@ResponseBody
public AjaxJson doBatchDel(String ids,HttpServletRequest request){
String message = null;
AjaxJson j = new AjaxJson();
message = "内部邮件删除成功";
try{
for(String id:ids.split(",")){
JformInnerMailEntity jformInnerMail = systemService.getEntity(JformInnerMailEntity.class,
id
);
jformInnerMailService.delete(jformInnerMail);
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
}
}catch(Exception e){
e.printStackTrace();
message = "内部邮件删除失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
}

@ -132,7 +132,9 @@ public class LoginController extends BaseController{
saveLoginSuccessInfo(req, u, orgId); saveLoginSuccessInfo(req, u, orgId);
} }
} else { } else {
j.setMsg(mutiLangService.getLang("common.username.or.password.error"));
j.setMsg(mutiLangService.getLang("common.lock.user"));
j.setSuccess(false); j.setSuccess(false);
} }
} }

@ -610,7 +610,6 @@ public class UserController extends BaseController {
String ids = oConvertUtils.getString(request.getParameter("ids")); String ids = oConvertUtils.getString(request.getParameter("ids"));
mv.addObject("ids", ids); mv.addObject("ids", ids);
return mv; return mv;
//--authorzhoujf-----end------date:20150531--------for: 编辑用户,选择角色,弹出的角色列表页面,默认没选中
} }
/** /**

@ -1,35 +0,0 @@
package org.jeecgframework.web.system.pojo.base;
// default package
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;
/**
*
* @author
*/
@Entity
@Table(name = "jform_inner_mail_attach")
@PrimaryKeyJoinColumn(name = "id")
public class JformInnerMailAttach extends TSAttachment implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private String mailid;// 邮件id
@Column(name = "mailid", length = 100)
public String getMailid() {
return mailid;
}
public void setMailid(String mailid) {
this.mailid = mailid;
}
}

@ -1,212 +0,0 @@
package org.jeecgframework.web.system.pojo.base;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
* @Title: Entity
* @Description:
* @author onlineGenerator
* @date 2016-03-13 20:09:29
* @version V1.0
*
*/
@Entity
@Table(name = "jform_inner_mail", schema = "")
@SuppressWarnings("serial")
public class JformInnerMailEntity implements java.io.Serializable {
/**主键*/
private java.lang.String id;
/**创建人名称*/
private java.lang.String createName;
/**创建人登录名称*/
private java.lang.String createBy;
/**创建日期*/
private java.util.Date createDate;
/**主题*/
@Excel(name="主题")
private java.lang.String title;
/**附件*/
@Excel(name="附件")
private java.lang.String attachment;
/**内容*/
@Excel(name="内容")
private java.lang.String content;
/**状态*/
private java.lang.String status;
/**接收者姓名列表*/
private java.lang.String receiverNames;
/**收件人标识列表*/
@Excel(name="收件人标识列表")
private java.lang.String receiverIds;
/**
*: java.lang.String
*@return: java.lang.String
*/
@Id
@GeneratedValue(generator = "paymentableGenerator")
@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
@Column(name ="ID",nullable=false,length=36)
public java.lang.String getId(){
return this.id;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setId(java.lang.String id){
this.id = id;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="CREATE_NAME",nullable=true,length=50)
public java.lang.String getCreateName(){
return this.createName;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setCreateName(java.lang.String createName){
this.createName = createName;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="CREATE_BY",nullable=true,length=50)
public java.lang.String getCreateBy(){
return this.createBy;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setCreateBy(java.lang.String createBy){
this.createBy = createBy;
}
/**
*: java.util.Date
*@return: java.util.Date
*/
@Column(name ="CREATE_DATE",nullable=true,length=20)
public java.util.Date getCreateDate(){
return this.createDate;
}
/**
*: java.util.Date
*@param: java.util.Date
*/
public void setCreateDate(java.util.Date createDate){
this.createDate = createDate;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="TITLE",nullable=true,length=100)
public java.lang.String getTitle(){
return this.title;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setTitle(java.lang.String title){
this.title = title;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="ATTACHMENT",nullable=true,length=1000)
public java.lang.String getAttachment(){
return this.attachment;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setAttachment(java.lang.String attachment){
this.attachment = attachment;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="CONTENT",nullable=true,length=2000)
public java.lang.String getContent(){
return this.content;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setContent(java.lang.String content){
this.content = content;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="STATUS",nullable=true,length=50)
public java.lang.String getStatus(){
return this.status;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setStatus(java.lang.String status){
this.status = status;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="RECEIVER_NAMES",nullable=true,length=300)
public java.lang.String getReceiverNames(){
return this.receiverNames;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setReceiverNames(java.lang.String receiverNames){
this.receiverNames = receiverNames;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="RECEIVER_IDS",nullable=true,length=300)
public java.lang.String getReceiverIds(){
return this.receiverIds;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setReceiverIds(java.lang.String receiverIds){
this.receiverIds = receiverIds;
}
}

@ -1,131 +0,0 @@
package org.jeecgframework.web.system.pojo.base;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
* @Title: Entity
* @Description:
* @author onlineGenerator
* @date 2016-03-13 20:05:55
* @version V1.0
*
*/
@Entity
@Table(name = "jform_inner_mail_receiver", schema = "")
@SuppressWarnings("serial")
public class JformInnerMailReceiverEntity implements java.io.Serializable {
/**主键*/
private java.lang.String id;
/**创建日期*/
private java.util.Date createDate;
/**更新日期*/
private java.util.Date updateDate;
/**收件状态*/
@Excel(name="收件状态")
private java.lang.String status;
private TSUser TSUser = new TSUser();
private JformInnerMailEntity JMail = new JformInnerMailEntity();
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "user_id")
public TSUser getTSUser() {
return this.TSUser;
}
public void setTSUser(TSUser TSUser) {
this.TSUser = TSUser;
}
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "mail_id")
public JformInnerMailEntity getJMail() {
return JMail;
}
public void setJMail(JformInnerMailEntity jMail) {
JMail = jMail;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Id
@GeneratedValue(generator = "paymentableGenerator")
@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
@Column(name ="ID",nullable=false,length=36)
public java.lang.String getId(){
return this.id;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setId(java.lang.String id){
this.id = id;
}
/**
*: java.util.Date
*@return: java.util.Date
*/
@Column(name ="CREATE_DATE",nullable=true,length=20)
public java.util.Date getCreateDate(){
return this.createDate;
}
/**
*: java.util.Date
*@param: java.util.Date
*/
public void setCreateDate(java.util.Date createDate){
this.createDate = createDate;
}
/**
*: java.util.Date
*@return: java.util.Date
*/
@Column(name ="UPDATE_DATE",nullable=true,length=20)
public java.util.Date getUpdateDate(){
return this.updateDate;
}
/**
*: java.util.Date
*@param: java.util.Date
*/
public void setUpdateDate(java.util.Date updateDate){
this.updateDate = updateDate;
}
/**
*: java.lang.String
*@return: java.lang.String
*/
@Column(name ="STATUS",nullable=true,length=50)
public java.lang.String getStatus(){
return this.status;
}
/**
*: java.lang.String
*@param: java.lang.String
*/
public void setStatus(java.lang.String status){
this.status = status;
}
}

@ -1,43 +0,0 @@
package org.jeecgframework.web.system.service;
import java.io.Serializable;
import java.util.Map;
import org.jeecgframework.core.common.service.CommonService;
import org.jeecgframework.core.util.ContextHolderUtils;
import org.jeecgframework.core.util.FileUtils;
import org.jeecgframework.web.demo.entity.test.TFinanceFilesEntity;
import org.jeecgframework.web.system.pojo.base.JformInnerMailAttach;
import org.jeecgframework.web.system.pojo.base.JformInnerMailEntity;
public interface JformInnerMailServiceI extends CommonService{
/**
*
*/
public void deleteFile(JformInnerMailAttach file);
public <T> void delete(T entity);
public <T> Serializable save(T entity);
public <T> void saveOrUpdate(T entity);
/**
* -sql-
* @param id
* @return
*/
public boolean doAddSql(JformInnerMailEntity t);
/**
* -sql-
* @param id
* @return
*/
public boolean doUpdateSql(JformInnerMailEntity t);
/**
* -sql-
* @param id
* @return
*/
public boolean doDelSql(JformInnerMailEntity t);
}

@ -1,104 +0,0 @@
package org.jeecgframework.web.system.service.impl;
import java.io.Serializable;
import java.util.Map;
import java.util.UUID;
import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
import org.jeecgframework.core.util.ContextHolderUtils;
import org.jeecgframework.core.util.FileUtils;
import org.jeecgframework.web.demo.entity.test.TFinanceFilesEntity;
import org.jeecgframework.web.system.pojo.base.JformInnerMailAttach;
import org.jeecgframework.web.system.pojo.base.JformInnerMailEntity;
import org.jeecgframework.web.system.service.JformInnerMailServiceI;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@Service("jformInnerMailService")
@Transactional
public class JformInnerMailServiceImpl extends CommonServiceImpl implements JformInnerMailServiceI {
/**
*
*/
public void deleteFile(JformInnerMailAttach file) {
//[1].删除附件
String sql = "select * from t_s_attachment where id = ?";
Map<String, Object> attachmentMap = commonDao.findOneForJdbc(sql, file.getId());
//附件相对路径
String realpath = (String) attachmentMap.get("realpath");
String fileName = FileUtils.getFilePrefix2(realpath);
//获取部署项目绝对地址
String realPath = ContextHolderUtils.getSession().getServletContext().getRealPath("/");
FileUtils.delete(realPath+realpath);
FileUtils.delete(realPath+fileName+".pdf");
FileUtils.delete(realPath+fileName+".swf");
//[2].删除数据
commonDao.delete(file);
}
public <T> void delete(T entity) {
super.delete(entity);
//执行删除操作配置的sql增强
this.doDelSql((JformInnerMailEntity)entity);
}
public <T> Serializable save(T entity) {
Serializable t = super.save(entity);
//执行新增操作配置的sql增强
this.doAddSql((JformInnerMailEntity)entity);
return t;
}
public <T> void saveOrUpdate(T entity) {
super.saveOrUpdate(entity);
//执行更新操作配置的sql增强
this.doUpdateSql((JformInnerMailEntity)entity);
}
/**
* -sql-
* @param id
* @return
*/
public boolean doAddSql(JformInnerMailEntity t){
return true;
}
/**
* -sql-
* @param id
* @return
*/
public boolean doUpdateSql(JformInnerMailEntity t){
return true;
}
/**
* -sql-
* @param id
* @return
*/
public boolean doDelSql(JformInnerMailEntity t){
return true;
}
/**
* sql
* @param sql
* @return
*/
public String replaceVal(String sql,JformInnerMailEntity t){
sql = sql.replace("#{id}",String.valueOf(t.getId()));
sql = sql.replace("#{create_name}",String.valueOf(t.getCreateName()));
sql = sql.replace("#{create_by}",String.valueOf(t.getCreateBy()));
sql = sql.replace("#{create_date}",String.valueOf(t.getCreateDate()));
sql = sql.replace("#{title}",String.valueOf(t.getTitle()));
sql = sql.replace("#{attachment}",String.valueOf(t.getAttachment()));
sql = sql.replace("#{content}",String.valueOf(t.getContent()));
sql = sql.replace("#{status}",String.valueOf(t.getStatus()));
sql = sql.replace("#{receiver_names}",String.valueOf(t.getReceiverNames()));
sql = sql.replace("#{receiver_ids}",String.valueOf(t.getReceiverIds()));
sql = sql.replace("#{UUID}",UUID.randomUUID().toString());
return sql;
}
}

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.controller; package org.jeecgframework.web.system.sms.controller;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
@ -24,8 +24,8 @@ import org.jeecgframework.core.util.MyBeanUtils;
import org.jeecgframework.core.util.ResourceUtil; import org.jeecgframework.core.util.ResourceUtil;
import org.jeecgframework.core.util.StringUtil; import org.jeecgframework.core.util.StringUtil;
import org.jeecgframework.tag.core.easyui.TagUtil; import org.jeecgframework.tag.core.easyui.TagUtil;
import org.jeecgframework.web.sms.entity.TSSmsEntity; import org.jeecgframework.web.system.sms.entity.TSSmsEntity;
import org.jeecgframework.web.sms.service.TSSmsServiceI; import org.jeecgframework.web.system.sms.service.TSSmsServiceI;
import org.jeecgframework.web.system.service.SystemService; import org.jeecgframework.web.system.service.SystemService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.controller; package org.jeecgframework.web.system.sms.controller;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -21,8 +21,8 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import org.jeecgframework.web.sms.entity.TSSmsSqlEntity; import org.jeecgframework.web.system.sms.entity.TSSmsSqlEntity;
import org.jeecgframework.web.sms.service.TSSmsSqlServiceI; import org.jeecgframework.web.system.sms.service.TSSmsSqlServiceI;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.controller; package org.jeecgframework.web.system.sms.controller;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -21,8 +21,8 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import org.jeecgframework.web.sms.entity.TSSmsTemplateEntity; import org.jeecgframework.web.system.sms.entity.TSSmsTemplateEntity;
import org.jeecgframework.web.sms.service.TSSmsTemplateServiceI; import org.jeecgframework.web.system.sms.service.TSSmsTemplateServiceI;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.controller; package org.jeecgframework.web.system.sms.controller;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
@ -25,9 +25,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import org.jeecgframework.web.sms.entity.TSSmsTemplateSqlEntity; import org.jeecgframework.web.system.sms.entity.TSSmsTemplateSqlEntity;
import org.jeecgframework.web.sms.service.TSSmsTemplateSqlServiceI; import org.jeecgframework.web.system.sms.service.TSSmsTemplateSqlServiceI;
import org.jeecgframework.web.sms.util.TuiSongMsgUtil; import org.jeecgframework.web.system.sms.util.TuiSongMsgUtil;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.entity; package org.jeecgframework.web.system.sms.entity;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.entity; package org.jeecgframework.web.system.sms.entity;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.entity; package org.jeecgframework.web.system.sms.entity;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.entity; package org.jeecgframework.web.system.sms.entity;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;

@ -1,5 +1,5 @@
package org.jeecgframework.web.sms.service; package org.jeecgframework.web.system.sms.service;
import org.jeecgframework.web.sms.entity.TSSmsEntity; import org.jeecgframework.web.system.sms.entity.TSSmsEntity;
import org.jeecgframework.core.common.service.CommonService; import org.jeecgframework.core.common.service.CommonService;
import java.io.Serializable; import java.io.Serializable;

@ -1,5 +1,5 @@
package org.jeecgframework.web.sms.service; package org.jeecgframework.web.system.sms.service;
import org.jeecgframework.web.sms.entity.TSSmsSqlEntity; import org.jeecgframework.web.system.sms.entity.TSSmsSqlEntity;
import org.jeecgframework.core.common.service.CommonService; import org.jeecgframework.core.common.service.CommonService;
import java.io.Serializable; import java.io.Serializable;

@ -1,5 +1,5 @@
package org.jeecgframework.web.sms.service; package org.jeecgframework.web.system.sms.service;
import org.jeecgframework.web.sms.entity.TSSmsTemplateEntity; import org.jeecgframework.web.system.sms.entity.TSSmsTemplateEntity;
import org.jeecgframework.core.common.service.CommonService; import org.jeecgframework.core.common.service.CommonService;
import java.io.Serializable; import java.io.Serializable;

@ -1,5 +1,5 @@
package org.jeecgframework.web.sms.service; package org.jeecgframework.web.system.sms.service;
import org.jeecgframework.web.sms.entity.TSSmsTemplateSqlEntity; import org.jeecgframework.web.system.sms.entity.TSSmsTemplateSqlEntity;
import org.jeecgframework.core.common.service.CommonService; import org.jeecgframework.core.common.service.CommonService;
import java.io.Serializable; import java.io.Serializable;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.service.impl; package org.jeecgframework.web.system.sms.service.impl;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.Serializable; import java.io.Serializable;
import java.net.ConnectException; import java.net.ConnectException;
@ -17,11 +17,11 @@ import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.jeecgframework.web.sms.entity.TSSmsEntity; import org.jeecgframework.web.system.sms.entity.TSSmsEntity;
import org.jeecgframework.web.sms.service.TSSmsServiceI; import org.jeecgframework.web.system.sms.service.TSSmsServiceI;
import org.jeecgframework.web.sms.util.CMPPSenderUtil; import org.jeecgframework.web.system.sms.util.CMPPSenderUtil;
import org.jeecgframework.web.sms.util.Constants; import org.jeecgframework.web.system.sms.util.Constants;
import org.jeecgframework.web.sms.util.MailUtil; import org.jeecgframework.web.system.sms.util.MailUtil;
import com.sun.mail.smtp.SMTPAddressFailedException; import com.sun.mail.smtp.SMTPAddressFailedException;

@ -1,7 +1,7 @@
package org.jeecgframework.web.sms.service.impl; package org.jeecgframework.web.system.sms.service.impl;
import org.jeecgframework.web.sms.service.TSSmsSqlServiceI; import org.jeecgframework.web.system.sms.service.TSSmsSqlServiceI;
import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
import org.jeecgframework.web.sms.entity.TSSmsSqlEntity; import org.jeecgframework.web.system.sms.entity.TSSmsSqlEntity;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;

@ -1,7 +1,7 @@
package org.jeecgframework.web.sms.service.impl; package org.jeecgframework.web.system.sms.service.impl;
import org.jeecgframework.web.sms.service.TSSmsTemplateServiceI; import org.jeecgframework.web.system.sms.service.TSSmsTemplateServiceI;
import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
import org.jeecgframework.web.sms.entity.TSSmsTemplateEntity; import org.jeecgframework.web.system.sms.entity.TSSmsTemplateEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.UUID; import java.util.UUID;

@ -1,7 +1,7 @@
package org.jeecgframework.web.sms.service.impl; package org.jeecgframework.web.system.sms.service.impl;
import org.jeecgframework.web.sms.service.TSSmsTemplateSqlServiceI; import org.jeecgframework.web.system.sms.service.TSSmsTemplateSqlServiceI;
import org.jeecgframework.core.common.service.impl.CommonServiceImpl; import org.jeecgframework.core.common.service.impl.CommonServiceImpl;
import org.jeecgframework.web.sms.entity.TSSmsTemplateSqlEntity; import org.jeecgframework.web.system.sms.entity.TSSmsTemplateSqlEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.UUID; import java.util.UUID;

@ -1,5 +1,5 @@
// ~ CopyRight © 2012 USTC SINOVATE SOFTWARE CO.LTD All Rights Reserved. // ~ CopyRight © 2012 USTC SINOVATE SOFTWARE CO.LTD All Rights Reserved.
package org.jeecgframework.web.sms.util; package org.jeecgframework.web.system.sms.util;
import java.io.IOException; import java.io.IOException;
import java.net.URLEncoder; import java.net.URLEncoder;
@ -12,7 +12,7 @@ import org.apache.commons.httpclient.params.HttpMethodParams;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.jeecgframework.web.sms.util.msg.util.MsgContainer; import org.jeecgframework.web.system.sms.util.msg.util.MsgContainer;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util; package org.jeecgframework.web.system.sms.util;
/** /**
* *
* @author skycc * @author skycc

@ -1,6 +1,6 @@
// ~ CopyRight © 2012 USTC SINOVATE SOFTWARE CO.LTD All Rights Reserved. // ~ CopyRight © 2012 USTC SINOVATE SOFTWARE CO.LTD All Rights Reserved.
package org.jeecgframework.web.sms.util; package org.jeecgframework.web.system.sms.util;
import java.util.Date; import java.util.Date;
import java.util.Properties; import java.util.Properties;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util; package org.jeecgframework.web.system.sms.util;
import java.io.BufferedWriter; import java.io.BufferedWriter;
import java.io.File; import java.io.File;
@ -15,14 +15,14 @@ import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate;
import org.springframework.jdbc.core.namedparam.SqlParameterSource; import org.springframework.jdbc.core.namedparam.SqlParameterSource;
import org.jeecgframework.web.sms.entity.TSSmsEntity; import org.jeecgframework.web.system.sms.entity.TSSmsEntity;
import org.jeecgframework.web.sms.entity.TSSmsSqlEntity; import org.jeecgframework.web.system.sms.entity.TSSmsSqlEntity;
import org.jeecgframework.web.sms.entity.TSSmsTemplateEntity; import org.jeecgframework.web.system.sms.entity.TSSmsTemplateEntity;
import org.jeecgframework.web.sms.entity.TSSmsTemplateSqlEntity; import org.jeecgframework.web.system.sms.entity.TSSmsTemplateSqlEntity;
import org.jeecgframework.web.sms.service.TSSmsServiceI; import org.jeecgframework.web.system.sms.service.TSSmsServiceI;
import org.jeecgframework.web.sms.service.TSSmsSqlServiceI; import org.jeecgframework.web.system.sms.service.TSSmsSqlServiceI;
import org.jeecgframework.web.sms.service.TSSmsTemplateServiceI; import org.jeecgframework.web.system.sms.service.TSSmsTemplateServiceI;
import org.jeecgframework.web.sms.service.TSSmsTemplateSqlServiceI; import org.jeecgframework.web.system.sms.service.TSSmsTemplateSqlServiceI;
import freemarker.template.Configuration; import freemarker.template.Configuration;
import freemarker.template.DefaultObjectWrapper; import freemarker.template.DefaultObjectWrapper;
import freemarker.template.Template; import freemarker.template.Template;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util; package org.jeecgframework.web.system.sms.util;
/** /**
* *
* @author cmzcheng xml * @author cmzcheng xml

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.domain; package org.jeecgframework.web.system.sms.util.msg.domain;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.DataInputStream; import java.io.DataInputStream;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.domain; package org.jeecgframework.web.system.sms.util.msg.domain;
/** /**
* . * .
* *

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.domain; package org.jeecgframework.web.system.sms.util.msg.domain;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
@ -6,7 +6,7 @@ import java.io.IOException;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.jeecgframework.web.sms.util.msg.util.MsgUtils; import org.jeecgframework.web.system.sms.util.msg.util.MsgUtils;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.domain; package org.jeecgframework.web.system.sms.util.msg.domain;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.DataInputStream; import java.io.DataInputStream;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.domain; package org.jeecgframework.web.system.sms.util.msg.domain;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.DataInputStream; import java.io.DataInputStream;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.domain; package org.jeecgframework.web.system.sms.util.msg.domain;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.domain; package org.jeecgframework.web.system.sms.util.msg.domain;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.domain; package org.jeecgframework.web.system.sms.util.msg.domain;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
@ -6,7 +6,7 @@ import java.io.IOException;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.jeecgframework.web.sms.util.msg.util.MsgUtils; import org.jeecgframework.web.system.sms.util.msg.util.MsgUtils;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.domain; package org.jeecgframework.web.system.sms.util.msg.domain;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.DataInputStream; import java.io.DataInputStream;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.util; package org.jeecgframework.web.system.sms.util.msg.util;
import java.io.DataInputStream; import java.io.DataInputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
@ -11,13 +11,13 @@ import java.util.List;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.jeecgframework.web.sms.util.msg.domain.MsgActiveTestResp; import org.jeecgframework.web.system.sms.util.msg.domain.MsgActiveTestResp;
import org.jeecgframework.web.sms.util.msg.domain.MsgCommand; import org.jeecgframework.web.system.sms.util.msg.domain.MsgCommand;
import org.jeecgframework.web.sms.util.msg.domain.MsgConnectResp; import org.jeecgframework.web.system.sms.util.msg.domain.MsgConnectResp;
import org.jeecgframework.web.sms.util.msg.domain.MsgDeliver; import org.jeecgframework.web.system.sms.util.msg.domain.MsgDeliver;
import org.jeecgframework.web.sms.util.msg.domain.MsgDeliverResp; import org.jeecgframework.web.system.sms.util.msg.domain.MsgDeliverResp;
import org.jeecgframework.web.sms.util.msg.domain.MsgHead; import org.jeecgframework.web.system.sms.util.msg.domain.MsgHead;
import org.jeecgframework.web.sms.util.msg.domain.MsgSubmitResp; import org.jeecgframework.web.system.sms.util.msg.domain.MsgSubmitResp;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.util; package org.jeecgframework.web.system.sms.util.msg.util;
import org.jeecgframework.core.util.LogUtil; import org.jeecgframework.core.util.LogUtil;
import org.quartz.JobExecutionContext; import org.quartz.JobExecutionContext;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.util; package org.jeecgframework.web.system.sms.util.msg.util;
import java.util.ResourceBundle; import java.util.ResourceBundle;

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.util; package org.jeecgframework.web.system.sms.util.msg.util;
import java.io.DataInputStream; import java.io.DataInputStream;
import java.io.DataOutputStream; import java.io.DataOutputStream;
@ -12,10 +12,10 @@ import java.util.List;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.jeecgframework.web.sms.util.msg.domain.MsgCommand; import org.jeecgframework.web.system.sms.util.msg.domain.MsgCommand;
import org.jeecgframework.web.sms.util.msg.domain.MsgConnect; import org.jeecgframework.web.system.sms.util.msg.domain.MsgConnect;
import org.jeecgframework.web.sms.util.msg.domain.MsgHead; import org.jeecgframework.web.system.sms.util.msg.domain.MsgHead;
import org.jeecgframework.web.sms.util.msg.domain.MsgSubmit; import org.jeecgframework.web.system.sms.util.msg.domain.MsgSubmit;
/** /**

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.msg.util; package org.jeecgframework.web.system.sms.util.msg.util;
import java.io.DataOutputStream; import java.io.DataOutputStream;
import java.io.IOException; import java.io.IOException;

@ -1,10 +1,10 @@
package org.jeecgframework.web.sms.util.task; package org.jeecgframework.web.system.sms.util.task;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.jeecgframework.web.sms.service.TSSmsServiceI; import org.jeecgframework.web.system.sms.service.TSSmsServiceI;

@ -0,0 +1,5 @@
package org.jeecgframework.web.system.sms.util.task;
public class SmsSendTaskJob {
}

@ -1,4 +1,4 @@
package org.jeecgframework.web.sms.util.webservice; package org.jeecgframework.web.system.sms.util.webservice;
/** /**
* *
* @author skycc * @author skycc

@ -1,402 +0,0 @@
.text-sm {
font-size: 12px;
}
.text-lg {
font-size: 16px;
}
.panel-lg .panel-heading {
padding: 15px 20px;
}
.panel-lg h1 {
margin: 0px 0;
font-size: 20px;
font-weight: bold;
line-height: 1.5;
}
.btn-muted {
color: #999999;
}
.clear-modal-dialog .modal-body {
padding: 30px;
}
.clear-modal-dialog .close {
position: absolute;
top: 20px;
right: 20px;
float: none;
z-index: 1060;
}
/*!
* Datetimepicker for Bootstrap
*
* Copyright 2012 Stefan Petre
* Improvements by Andrew Rowls
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
*/
.datetimepicker {
padding: 4px;
margin-top: 1px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
direction: ltr;
/*.dow {
border-top: 1px solid #ddd !important;
}*/
}
.datetimepicker-inline {
width: 220px;
}
.datetimepicker.datetimepicker-rtl {
direction: rtl;
}
.datetimepicker.datetimepicker-rtl table tr td span {
float: right;
}
.datetimepicker-dropdown, .datetimepicker-dropdown-left {
top: 0;
left: 0;
}
[class*=" datetimepicker-dropdown"]:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #ccc;
border-bottom-color: rgba(0, 0, 0, 0.2);
position: absolute;
}
[class*=" datetimepicker-dropdown"]:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #ffffff;
position: absolute;
}
[class*=" datetimepicker-dropdown-top"]:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-top: 7px solid #ccc;
border-top-color: rgba(0, 0, 0, 0.2);
border-bottom: 0;
}
[class*=" datetimepicker-dropdown-top"]:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-top: 6px solid #ffffff;
border-bottom: 0;
}
.datetimepicker-dropdown-bottom-right:before {
top: -7px;
right: 6px;
}
.datetimepicker-dropdown-bottom-right:after {
top: -6px;
right: 7px;
}
.datetimepicker-dropdown-bottom-left:before {
top: -7px;
left: 6px;
}
.datetimepicker-dropdown-bottom-left:after {
top: -6px;
left: 7px;
}
.datetimepicker-dropdown-top-right:before {
bottom: -7px;
right: 6px;
}
.datetimepicker-dropdown-top-right:after {
bottom: -6px;
right: 7px;
}
.datetimepicker-dropdown-top-left:before {
bottom: -7px;
left: 6px;
}
.datetimepicker-dropdown-top-left:after {
bottom: -6px;
left: 7px;
}
.datetimepicker > div {
display: none;
}
.datetimepicker.minutes div.datetimepicker-minutes {
display: block;
}
.datetimepicker.hours div.datetimepicker-hours {
display: block;
}
.datetimepicker.days div.datetimepicker-days {
display: block;
}
.datetimepicker.months div.datetimepicker-months {
display: block;
}
.datetimepicker.years div.datetimepicker-years {
display: block;
}
.datetimepicker table {
margin: 0;
}
.datetimepicker td,
.datetimepicker th {
text-align: center;
width: 20px;
height: 20px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
border: none;
}
.table-striped .datetimepicker table tr td,
.table-striped .datetimepicker table tr th {
background-color: transparent;
}
.datetimepicker table tr td.minute:hover {
background: #eeeeee;
cursor: pointer;
}
.datetimepicker table tr td.hour:hover {
background: #eeeeee;
cursor: pointer;
}
.datetimepicker table tr td.day:hover {
background: #eeeeee;
cursor: pointer;
}
.datetimepicker table tr td.old,
.datetimepicker table tr td.new {
color: #999999;
}
.datetimepicker table tr td.disabled,
.datetimepicker table tr td.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datetimepicker table tr td.today,
.datetimepicker table tr td.today:hover,
.datetimepicker table tr td.today.disabled,
.datetimepicker table tr td.today.disabled:hover {
background-color: #fde19a;
background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
background-image: linear-gradient(top, #fdd49a, #fdf59a);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
border-color: #fdf59a #fdf59a #fbed50;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.datetimepicker table tr td.today:hover,
.datetimepicker table tr td.today:hover:hover,
.datetimepicker table tr td.today.disabled:hover,
.datetimepicker table tr td.today.disabled:hover:hover,
.datetimepicker table tr td.today:active,
.datetimepicker table tr td.today:hover:active,
.datetimepicker table tr td.today.disabled:active,
.datetimepicker table tr td.today.disabled:hover:active,
.datetimepicker table tr td.today.active,
.datetimepicker table tr td.today:hover.active,
.datetimepicker table tr td.today.disabled.active,
.datetimepicker table tr td.today.disabled:hover.active,
.datetimepicker table tr td.today.disabled,
.datetimepicker table tr td.today:hover.disabled,
.datetimepicker table tr td.today.disabled.disabled,
.datetimepicker table tr td.today.disabled:hover.disabled,
.datetimepicker table tr td.today[disabled],
.datetimepicker table tr td.today:hover[disabled],
.datetimepicker table tr td.today.disabled[disabled],
.datetimepicker table tr td.today.disabled:hover[disabled] {
background-color: #fdf59a;
}
.datetimepicker table tr td.today:active,
.datetimepicker table tr td.today:hover:active,
.datetimepicker table tr td.today.disabled:active,
.datetimepicker table tr td.today.disabled:hover:active,
.datetimepicker table tr td.today.active,
.datetimepicker table tr td.today:hover.active,
.datetimepicker table tr td.today.disabled.active,
.datetimepicker table tr td.today.disabled:hover.active {
background-color: #fbf069 \9;
}
.datetimepicker table tr td.active,
.datetimepicker table tr td.active:hover,
.datetimepicker table tr td.active.disabled,
.datetimepicker table tr td.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(top, #0088cc, #0044cc);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datetimepicker table tr td.active:hover,
.datetimepicker table tr td.active:hover:hover,
.datetimepicker table tr td.active.disabled:hover,
.datetimepicker table tr td.active.disabled:hover:hover,
.datetimepicker table tr td.active:active,
.datetimepicker table tr td.active:hover:active,
.datetimepicker table tr td.active.disabled:active,
.datetimepicker table tr td.active.disabled:hover:active,
.datetimepicker table tr td.active.active,
.datetimepicker table tr td.active:hover.active,
.datetimepicker table tr td.active.disabled.active,
.datetimepicker table tr td.active.disabled:hover.active,
.datetimepicker table tr td.active.disabled,
.datetimepicker table tr td.active:hover.disabled,
.datetimepicker table tr td.active.disabled.disabled,
.datetimepicker table tr td.active.disabled:hover.disabled,
.datetimepicker table tr td.active[disabled],
.datetimepicker table tr td.active:hover[disabled],
.datetimepicker table tr td.active.disabled[disabled],
.datetimepicker table tr td.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datetimepicker table tr td.active:active,
.datetimepicker table tr td.active:hover:active,
.datetimepicker table tr td.active.disabled:active,
.datetimepicker table tr td.active.disabled:hover:active,
.datetimepicker table tr td.active.active,
.datetimepicker table tr td.active:hover.active,
.datetimepicker table tr td.active.disabled.active,
.datetimepicker table tr td.active.disabled:hover.active {
background-color: #003399 \9;
}
.datetimepicker table tr td span {
display: block;
width: 23%;
height: 54px;
line-height: 54px;
float: left;
margin: 1%;
cursor: pointer;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.datetimepicker .datetimepicker-hours span {
height: 26px;
line-height: 26px;
}
.datetimepicker .datetimepicker-hours table tr td span.hour_am,
.datetimepicker .datetimepicker-hours table tr td span.hour_pm {
width: 14.6%;
}
.datetimepicker .datetimepicker-hours fieldset legend,
.datetimepicker .datetimepicker-minutes fieldset legend {
margin-bottom: inherit;
line-height: 30px;
}
.datetimepicker .datetimepicker-minutes span {
height: 26px;
line-height: 26px;
}
.datetimepicker table tr td span:hover {
background: #eeeeee;
}
.datetimepicker table tr td span.disabled,
.datetimepicker table tr td span.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datetimepicker table tr td span.active,
.datetimepicker table tr td span.active:hover,
.datetimepicker table tr td span.active.disabled,
.datetimepicker table tr td span.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(top, #0088cc, #0044cc);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datetimepicker table tr td span.active:hover,
.datetimepicker table tr td span.active:hover:hover,
.datetimepicker table tr td span.active.disabled:hover,
.datetimepicker table tr td span.active.disabled:hover:hover,
.datetimepicker table tr td span.active:active,
.datetimepicker table tr td span.active:hover:active,
.datetimepicker table tr td span.active.disabled:active,
.datetimepicker table tr td span.active.disabled:hover:active,
.datetimepicker table tr td span.active.active,
.datetimepicker table tr td span.active:hover.active,
.datetimepicker table tr td span.active.disabled.active,
.datetimepicker table tr td span.active.disabled:hover.active,
.datetimepicker table tr td span.active.disabled,
.datetimepicker table tr td span.active:hover.disabled,
.datetimepicker table tr td span.active.disabled.disabled,
.datetimepicker table tr td span.active.disabled:hover.disabled,
.datetimepicker table tr td span.active[disabled],
.datetimepicker table tr td span.active:hover[disabled],
.datetimepicker table tr td span.active.disabled[disabled],
.datetimepicker table tr td span.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datetimepicker table tr td span.active:active,
.datetimepicker table tr td span.active:hover:active,
.datetimepicker table tr td span.active.disabled:active,
.datetimepicker table tr td span.active.disabled:hover:active,
.datetimepicker table tr td span.active.active,
.datetimepicker table tr td span.active:hover.active,
.datetimepicker table tr td span.active.disabled.active,
.datetimepicker table tr td span.active.disabled:hover.active {
background-color: #003399 \9;
}
.datetimepicker table tr td span.old {
color: #999999;
}
.datetimepicker th.switch {
width: 145px;
}
.datetimepicker thead tr:first-child th,
.datetimepicker tfoot tr:first-child th {
cursor: pointer;
}
.datetimepicker thead tr:first-child th:hover,
.datetimepicker tfoot tr:first-child th:hover {
background: #eeeeee;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
cursor: pointer;
width: 14px;
height: 14px;
}

@ -1,131 +0,0 @@
@font-face {font-family: "es-icon";
src: url("es-icon.eot")/*tpa=http://www.osforce.cn/assets/v2/css/fonts/es-icon.eot*/; /* IE9*/
src: url("es-icon.eot-#iefix")/*tpa=http://www.osforce.cn/assets/v2/css/fonts/es-icon.eot?#iefix*/ format('embedded-opentype'), /* IE6-IE8 */
url("es-icon.woff")/*tpa=http://www.osforce.cn/assets/v2/css/fonts/es-icon.woff*/ format('woff'), /* chrome、firefox */
url("es-icon.ttf")/*tpa=http://www.osforce.cn/assets/v2/css/fonts/es-icon.ttf*/ format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/
url("es-icon.svg#es-icon")/*tpa=http://www.osforce.cn/assets/v2/css/fonts/es-icon.svg#es-icon*/ format('svg'); /* iOS 4.1- */
}
.es-icon {
font-family:"es-icon" !important;
font-size:16px;
font-style:normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: 0.2px;
-moz-osx-font-smoothing: grayscale;
}
.es-icon-anonymous-iconfont:before { content: "\e666"; }
.es-icon-wenhao:before { content: "\e671"; }
.es-icon-playcircleoutline:before { content: "\e66d"; }
.es-icon-portrait:before { content: "\e65e"; }
.es-icon-accesstime:before { content: "\e658"; }
.es-icon-accountcircle:before { content: "\e668"; }
.es-icon-addbox:before { content: "\e65f"; }
.es-icon-checkbox:before { content: "\e660"; }
.es-icon-forum:before { content: "\e662"; }
.es-icon-history:before { content: "\e670"; }
.es-icon-removecircle:before { content: "\e66c"; }
.es-icon-thumbup:before { content: "\e659"; }
.es-icon-reply:before { content: "\e65a"; }
.es-icon-textsms:before { content: "\e657"; }
.es-icon-assignmentind:before { content: "\e661"; }
.es-icon-keyboardarrowdown:before { content: "\e663"; }
.es-icon-keyboardarrowup:before { content: "\e664"; }
.es-icon-language:before { content: "\e65b"; }
.es-icon-locallibrary:before { content: "\e66e"; }
.es-icon-loyalty:before { content: "\e65c"; }
.es-icon-morehoriz:before { content: "\e665"; }
.es-icon-mylocation:before { content: "\e669"; }
.es-icon-permcontactcal:before { content: "\e66f"; }
.es-icon-publish:before { content: "\e66a"; }
.es-icon-remove:before { content: "\e667"; }
.es-icon-addcircle:before { content: "\e66b"; }
.es-icon-search:before { content: "\e600"; }
.es-icon-mail:before { content: "\e601"; }
.es-icon-personadd:before { content: "\e602"; }
.es-icon-person:before { content: "\e604"; }
.es-icon-arrowdropdown:before { content: "\e603"; }
.es-icon-drafts:before { content: "\e605"; }
.es-icon-notifications:before { content: "\e606"; }
.es-icon-notificationsoff:before { content: "\e607"; }
.es-icon-notificationson:before { content: "\e608"; }
.es-icon-book:before { content: "\e609"; }
.es-icon-bookmarkoutline:before { content: "\e60a"; }
.es-icon-bookmark:before { content: "\e60b"; }
.es-icon-graphicclass:before { content: "\e60e"; }
.es-icon-description:before { content: "\e60f"; }
.es-icon-phone:before { content: "\e610"; }
.es-icon-swaphoriz:before { content: "\e611"; }
.es-icon-audioclass:before { content: "\e60d"; }
.es-icon-flashclass:before { content: "\e612"; }
.es-icon-pptclass:before { content: "\e613"; }
.es-icon-videoclass:before { content: "\e614"; }
.es-icon-assignment:before { content: "\e615"; }
.es-icon-crown:before { content: "\e616"; }
.es-icon-exit:before { content: "\e617"; }
.es-icon-arrowback:before { content: "\e618"; }
.es-icon-arrowdropup:before { content: "\e619"; }
.es-icon-arrowforward:before { content: "\e61a"; }
.es-icon-chevronleft:before { content: "\e61b"; }
.es-icon-chevronright:before { content: "\e61c"; }
.es-icon-refresh:before { content: "\e61d"; }
.es-icon-menu:before { content: "\e61e"; }
.es-icon-android:before { content: "\e61f"; }
.es-icon-apple:before { content: "\e620"; }
.es-icon-comment:before { content: "\e621"; }
.es-icon-favoriteoutline:before { content: "\e622"; }
.es-icon-favorite:before { content: "\e623"; }
.es-icon-flag:before { content: "\e624"; }
.es-icon-help:before { content: "\e625"; }
.es-icon-home:before { content: "\e626"; }
.es-icon-importexport:before { content: "\e627"; }
.es-icon-lock:before { content: "\e628"; }
.es-icon-noteadd:before { content: "\e629"; }
.es-icon-power:before { content: "\e62a"; }
.es-icon-setting:before { content: "\e62b"; }
.es-icon-share:before { content: "\e62c"; }
.es-icon-starhalf:before { content: "\e62d"; }
.es-icon-staroutline:before { content: "\e62e"; }
.es-icon-star:before { content: "\e62f"; }
.es-icon-studydone:before { content: "\e630"; }
.es-icon-study:before { content: "\e631"; }
.es-icon-toc:before { content: "\e632"; }
.es-icon-calendar:before { content: "\e633"; }
.es-icon-contentcopy:before { content: "\e634"; }
.es-icon-delete:before { content: "\e635"; }
.es-icon-done:before { content: "\e636"; }
.es-icon-edit:before { content: "\e637"; }
.es-icon-filedownload:before { content: "\e638"; }
.es-icon-fileupdate:before { content: "\e639"; }
.es-icon-help1:before { content: "\e63a"; }
.es-icon-infooutline:before { content: "\e63b"; }
.es-icon-info:before { content: "\e63c"; }
.es-icon-send:before { content: "\e63d"; }
.es-icon-today:before { content: "\e63e"; }
.es-icon-viewlist:before { content: "\e63f"; }
.es-icon-viewmodule:before { content: "\e640"; }
.es-icon-visibilityoff:before { content: "\e641"; }
.es-icon-visibility:before { content: "\e642"; }
.es-icon-administrator:before { content: "\e643"; }
.es-icon-qq:before { content: "\e644"; }
.es-icon-qzone:before { content: "\e645"; }
.es-icon-renren:before { content: "\e646"; }
.es-icon-weibo:before { content: "\e65d"; }
.es-icon-weixin:before { content: "\e647"; }
.es-icon-done1:before { content: "\e649"; }
.es-icon-undone:before { content: "\e64a"; }
.es-icon-whatshot:before { content: "\e64b"; }
.es-icon-people:before { content: "\e64d"; }
.es-icon-school:before { content: "\e64c"; }
.es-icon-groupadd:before { content: "\e64e"; }
.es-icon-recentactors:before { content: "\e64f"; }
.es-icon-doneall:before { content: "\e650"; }
.es-icon-findinpage:before { content: "\e651"; }
.es-icon-headset:before { content: "\e652"; }
.es-icon-landscape:before { content: "\e653"; }
.es-icon-assignment1:before { content: "\e654"; }
.es-icon-accountwallet:before { content: "\e655"; }
.es-icon-dashboard:before { content: "\e656"; }
.es-icon-check:before { content: "\e60c"; }
.es-icon-doing:before { content: "\e648"; }

File diff suppressed because one or more lines are too long

@ -1,646 +0,0 @@
#dd{
min-height:500px;
}
#dd ul{
950px;
overflow:hidden;
margin-right:-20px;
zoom:1;
}
#dd li{
width:323px;
height:200px;
float:left;
display:inline;
margin:0 15px 15px 0;
word-wrap: break-word;
}
<!-- -->
.site-navbar .navbar-brand {
color: #fff;
padding-top: 17px;
padding-bottom: 17px;
}
.site-navbar .navbar-brand-logo {
margin-left: -15px;
padding-left: 15px;
padding-right: 15px;
float: left;
}
.site-navbar .navbar-brand-logo img {
/*height: 50px;*/
}
.site-navbar .navbar-nav > li > a {
color: #fff;
padding-top: 17px;
padding-bottom: 17px;
}
.site-navbar .navbar-nav > li > a:hover,
.site-navbar .navbar-nav > li > a:focus {
background-color: #3a485d;
}
.site-navbar .navbar-nav > .active > a,
.site-navbar .navbar-nav > .active > a:hover,
.site-navbar .navbar-nav > .active > a:focus,
.site-navbar .navbar-nav > .open > a,
.site-navbar .navbar-nav > .open > a:hover,
.site-navbar .navbar-nav > .open > a:focus {
color: #ffffff;
background-color: #3a485d;
}
<!-- -->
.footer-autumn-primary a {
color: #999;
}
.footer-autumn-primary {
background-color: #363e45;
color: #fff;
text-align: center;
}
.footer-autumn-primary .container div {
margin: 20px 0px;
}
.footer-autumn-primary ul {
text-align: center;
}
html {
font-family: sans-serif;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
}
body {
margin: 0;
}
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary {
display: block;
}
a {
background: transparent;
}
a:active,a:hover {
outline: 0;
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
:before,:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
html {
font-size: 62.5%;
-webkit-tap-highlight-color: rgba(0,0,0,0);
}
body {
font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 14px;
line-height: 1.42857143;
color: #333;
background-color: #fff;
}
a {
color: #428bca;
text-decoration: none;
}
a:hover,a:focus {
color: #2a6496;
text-decoration: underline;
}
a:focus {
outline: thin dotted;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
figure {
margin: 0;
}
img {
vertical-align: middle;
}
.container {
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
@media (min-width:768px) {
.container {
width: 750px;
}
}
@media (min-width:992px) {
.container {
width: 970px;
}
}
@media (min-width:1200px) {
.container {
width: 1170px;
}
}
.fade {
opacity: 0;
-webkit-transition: opacity .15s linear;
transition: opacity .15s linear;
}
.fade.in {
opacity: 1;
}
.collapse {
display: none;
}
.collapse.in {
display: block;
}
.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition: height .35s ease;
transition: height .35s ease;
}
.nav {
padding-left: 0;
margin-bottom: 0;
list-style: none;
}
.nav>li {
position: relative;
display: block;
}
.nav>li>a {
position: relative;
display: block;
padding: 10px 15px;
}
.nav>li>a:hover,.nav>li>a:focus {
text-decoration: none;
background-color: #eee;
}
.nav>li.disabled>a {
color: #999;
}
.nav>li.disabled>a:hover,.nav>li.disabled>a:focus {
color: #999;
text-decoration: none;
cursor: not-allowed;
background-color: transparent;
}
.nav .open>a,.nav .open>a:hover,.nav .open>a:focus {
background-color: #eee;
border-color: #428bca;
}
.nav .nav-divider {
height: 1px;
margin: 9px 0;
overflow: hidden;
background-color: #e5e5e5;
}
.nav>li>a>img {
max-width: none;
}
.nav-tabs {
border-bottom: 1px solid #ddd;
}
.nav-tabs>li {
float: left;
margin-bottom: -1px;
}
.nav-tabs>li>a {
margin-right: 2px;
line-height: 1.42857143;
border: 1px solid transparent;
border-radius: 4px 4px 0 0;
}
.nav-tabs>li>a:hover {
border-color: #eee #eee #ddd;
}
.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus {
color: #555;
cursor: default;
background-color: #fff;
border: 1px solid #ddd;
border-bottom-color: transparent;
}
.nav-tabs.nav-justified {
width: 100%;
border-bottom: 0;
}
.nav-tabs.nav-justified>li {
float: none;
}
.nav-tabs.nav-justified>li>a {
margin-bottom: 5px;
text-align: center;
}
.nav-tabs.nav-justified>.dropdown .dropdown-menu {
top: auto;
left: auto;
}
@media (min-width:768px) {
.nav-tabs.nav-justified>li {
display: table-cell;
width: 1%;
}
.nav-tabs.nav-justified>li>a {
margin-bottom: 0;
}
}
.nav-tabs.nav-justified>li>a {
margin-right: 0;
border-radius: 4px;
}
.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus {
border: 1px solid #ddd;
}
@media (min-width:768px) {
.nav-tabs.nav-justified>li>a {
border-bottom: 1px solid #ddd;
border-radius: 4px 4px 0 0;
}
.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus {
border-bottom-color: #fff;
}
}
.nav-pills>li {
float: left;
}
.nav-pills>li>a {
border-radius: 4px;
}
.nav-pills>li+li {
margin-left: 2px;
}
.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus {
color: #fff;
background-color: #428bca;
}
.nav-stacked>li {
float: none;
}
.nav-stacked>li+li {
margin-top: 2px;
margin-left: 0;
}
.nav-justified {
width: 100%;
}
.nav-justified>li {
float: none;
}
.nav-justified>li>a {
margin-bottom: 5px;
text-align: center;
}
.nav-justified>.dropdown .dropdown-menu {
top: auto;
left: auto;
}
@media (min-width:768px) {
.nav-justified>li {
display: table-cell;
width: 1%;
}
.nav-justified>li>a {
margin-bottom: 0;
}
}
.nav-tabs-justified {
border-bottom: 0;
}
.nav-tabs-justified>li>a {
margin-right: 0;
border-radius: 4px;
}
.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus {
border: 1px solid #ddd;
}
@media (min-width:768px) {
.nav-tabs-justified>li>a {
border-bottom: 1px solid #ddd;
border-radius: 4px 4px 0 0;
}
.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus {
border-bottom-color: #fff;
}
}
.tab-content>.tab-pane {
display: none;
}
.tab-content>.active {
display: block;
}
.nav-tabs .dropdown-menu {
margin-top: -1px;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.navbar {
position: relative;
min-height: 50px;
margin-bottom: 20px;
border: 1px solid transparent;
}
@media (min-width:768px) {
.navbar {
border-radius: 4px;
}
}
@media (min-width:768px) {
.navbar-header {
float: left;
}
}
.navbar-collapse {
max-height: 340px;
padding-right: 15px;
padding-left: 15px;
overflow-x: visible;
-webkit-overflow-scrolling: touch;
border-top: 1px solid transparent;
box-shadow: inset 0 1px 0 rgba(255,255,255,.1);
}
.navbar-collapse.in {
overflow-y: auto;
}
@media (min-width:768px) {
.navbar-collapse {
width: auto;
border-top: 0;
box-shadow: none;
}
.navbar-collapse.collapse {
display: block!important;
height: auto!important;
padding-bottom: 0;
overflow: visible!important;
}
.navbar-collapse.in {
overflow-y: visible;
}
.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse {
padding-right: 0;
padding-left: 0;
}
}
.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse {
margin-right: -15px;
margin-left: -15px;
}
@media (min-width:768px) {
.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse {
margin-right: 0;
margin-left: 0;
}
}
.navbar-static-top {
z-index: 1000;
border-width: 0 0 1px;
}
@media (min-width:768px) {
.navbar-static-top {
border-radius: 0;
}
}
.navbar-fixed-top,.navbar-fixed-bottom {
position: fixed;
right: 0;
left: 0;
z-index: 1030;
}
@media (min-width:768px) {
.navbar-fixed-top,.navbar-fixed-bottom {
border-radius: 0;
}
}
.navbar-fixed-top {
top: 0;
border-width: 0 0 1px;
}
.navbar-fixed-bottom {
bottom: 0;
margin-bottom: 0;
border-width: 1px 0 0;
}
.navbar-brand {
float: left;
height: 50px;
padding: 15px;
font-size: 18px;
line-height: 20px;
}
.navbar-brand:hover,.navbar-brand:focus {
text-decoration: none;
}
@media (min-width:768px) {
.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand {
margin-left: -15px;
}
}
.navbar-toggle {
position: relative;
float: right;
padding: 9px 10px;
margin-top: 8px;
margin-right: 15px;
margin-bottom: 8px;
background-color: transparent;
background-image: none;
border: 1px solid transparent;
border-radius: 4px;
}
.navbar-toggle:focus {
outline: 0;
}
.navbar-toggle .icon-bar {
display: block;
width: 22px;
height: 2px;
border-radius: 1px;
}
.navbar-toggle .icon-bar+.icon-bar {
margin-top: 4px;
}
@media (min-width:768px) {
.navbar-toggle {
display: none;
}
}
.navbar-nav {
margin: 7.5px -15px;
}
.navbar-nav>li>a {
padding-top: 10px;
padding-bottom: 10px;
line-height: 20px;
}
@media (max-width:767px) {
.navbar-nav .open .dropdown-menu {
position: static;
float: none;
width: auto;
margin-top: 0;
background-color: transparent;
border: 0;
box-shadow: none;
}
.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header {
padding: 5px 15px 5px 25px;
}
.navbar-nav .open .dropdown-menu>li>a {
line-height: 20px;
}
.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus {
background-image: none;
}
}
@media (min-width:768px) {
.navbar-nav {
float: left;
margin: 0;
}
.navbar-nav>li {
float: left;
}
.navbar-nav>li>a {
padding-top: 15px;
padding-bottom: 15px;
}
.navbar-nav.navbar-right:last-child {
margin-right: -15px;
}
}
@media (min-width:768px) {
.navbar-left {
float: left!important;
}
.navbar-right {
float: right!important;
}
}
.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after {
display: table;
content: " ";
}
.clearfix:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after {
clear: both;
}

@ -1,36 +0,0 @@
.member-item .course-picture {
float: left;
}
.member-item .course-view {
float:right;
margin:10px;
visibility: hidden;
}
.member-item:hover .course-view {
visibility: visible;
}
.lastest-member-list .member-picture-link {
float: left;
margin: 0 10px 5px 0;
}
.lastest-member-list .media {
padding-bottom: 0px;
}
.lastest-member-list .member-picture {
display: block;
width: 48px;
height: 48px;
border-radius: 3px;
}
.lastest-member-list .member-nickname {
color: #555;
}
.lastest-member-list .member-title {
color: #777;
font-size: 12px;
}
.memberzone {
min-height: 450px;
}

@ -1,110 +0,0 @@
.custompage .es-section img {
max-width: 100%;
height: auto;
}
.es-section {
background: #fff;
padding: 15px;
margin-bottom: 20px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
-webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
-moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}
.es-section .section-header {
position: relative;
margin-bottom: 20px;
border-bottom: 1px solid #e0e0e0;
}
.es-section .section-header h1 {
margin-top: 10px;
margin-bottom: 20px;
}
.es-section .section-header .more {
position: absolute;
top: 0;
right: 0;
display: block;
color: #9e9e9e;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
}
.es-section .section-header .more:hover {
color: #616161;
-webkit-transition: all 0.3s ease;
-moz-transition: all 0.3s ease;
-o-transition: all 0.3s ease;
transition: all 0.3s ease;
}
.es-section .section-header .more > i {
font-size: 24px;
}
.lt-ie9 .es-section {
border: 1px solid #e0e0e0;
}
.course-detail-header .es-section {
position: relative;
padding: 0;
}
.teacher-list-group .nickname {
display: inline-block;
width: 160px;
margin-left: 6px;
}
.teacher-list-group .visible-checkbox {
font-weight: normal;
}
.teacher-list-group .delete-btn {
margin-top: 12px;
}
.teacher-list-group li .sort-handle {
font-size: 18px;
padding: 15px 10px 5px 5px;
cursor: pointer;
}
.teacher-carousel .teacher-item {
display: none;
}
.teacher-carousel .teacher-item-active {
display: block;
}
.teacher-carousel .teacher-item .nickname {
text-align: center;
font-size: 16px;
margin: 15px 0 5px;
}
.teacher-carousel .teacher-item .title {
text-align: center;
margin: 5px 0 5px;
color: #666;
}
.teacher-carousel .teacher-item .about {
font-size: 13px;
}
.teacher-carousel .teacher-item .divider {
background: #e3e3e3;
height: 1px;
overflow: hidden;
margin: 15px 0;
}
.teacher-item .teacher-top {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
background-color: #fafafa;
padding: 20px 10px;
}

@ -1,164 +0,0 @@
<!DOCTYPE html>
<html>
<head lang="en">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>社区介绍</title>
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/main.css">
<#--update-begin--Author:张忠亮 Date:20150722 for新样式-->
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/bootstrap.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/common.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/bootstrap-extends.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/web.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/member.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/font-awesome.min.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/es-icon.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/main.css-osf_6.0.4.css">
<#--update-end--Author:张忠亮 Date:20150722 for新样式-->
<style type="text/css">
.l_left{ width:150px; height:180px; float:left;}
.l_right{ width:150px; height:180px; float:right;}
.l_left img{width:150px; height:150px; border-radius: 100px; -webkit-border-radius: 100px; -moz-border-radius : 100px; -o-border-radius : 100px;}
.ellips{position:relative;width:120px;height:120px;line-height:20px;overflow:hidden;}
.ellips .dot{position:absolute;right:0px;bottom:0px;height:20px;background:#fff}
h2{margin-top: 10px;margin-bottom: 0px;}
</style>
</head>
<body s>
<nav class="site-navbar" style="background-color: #363e45;">
<div class="container">
<div class="row">
<div style="width: 25%;">
<div class="navbar-header ptm">
<a class="navbar-brand-logo" href="http://www.jeecg.org/">
<img class="img-responsive" src="http://www.jeecg.org/static/image/common/logo.png">
</a>
</div>
</div>
<div style="width:33.33333333%"></div>
<div style="width: 75%;">
<div class="navbar-right navbar-collapse collapse in" style="height: auto;">
<ul class="nav navbar-nav">
<li class=""><a href="http://www.jeecg.org/" class="">首页</a></li>
<li class=""><a href="${url}tSTeamPersonController.do?getTeacherList" class="">红人榜</a></li>
<li class=""><a href="${url}tSTeamPersonController.do?introduce" class="">社区介绍</a></li>
</ul>
</div>
</div>
</div>
</div>
</nav>
<div id="content-container" class="container">
<div class="es-section">
<div class="teacher-list row">
<div class="col-lg-12 col-md-12 col-sm-12">
<table cellspacing="0" cellpadding="0">
<tr>
<td class="t_f" id="postmessage_6026">
<div align="left" style="margin-left: 20px;margin-top: 10px;">
<div align="left">
<div align="left">
<div align="left"><font face="楷体"><font size="6">JEEGG开源社区介绍</font><font
style="font-size:16pt"><a href="http://www.jeecg.org/" target="_blank">http://www.jeecg.org/</a></font></font>
</div>
<br/>
<font face="楷体, 楷体_GB2312"><font size="5">作者:</font></font><a
href="http://www.jeecg.org/forum.php?mod=viewthread&amp;tid=1047" target="_blank"><font
size="6">张代浩</font></a></div>
<div align="left"><br/>
<div align="left"><font face="楷体"><font size="5"><strong>发展历程</strong></font></font></div>
<div align="left"><font size="3">★</font><font face="楷体"><font size="3">2012年JEECG在<a
href="http://code.google.com/p/jeecg/" target="_blank">Google Code</a>上开源;</font></font>
</div>
<div align="left"><font size="3">★</font><font face="楷体"><font size="3">2012年底开源项目JEECG被&quot;<a
href="http://www.iteye.com/magazines/109"
target="_blank">ITeye专家访谈</a>&quot;;</font></font></div>
<div align="left"><font size="3">★</font><font size="3">2012年底开源项目JEECG被&quot;<a
href="http://blog.csdn.net/blogdevteam/article/details/8534797"
target="_blank">CSDN专家访谈</a>&quot;; </font></div>
<div align="left"><font size="3">★</font><font face="楷体"><font size="3">2013年应邀参加&quot;<a
href="http://ocow.csdn.net/" target="_blank">第八届开源中国开源世界高峰论坛</a>&quot;该论坛由中国开源软件推进联盟主办、全球最大中文IT社区CSDN与程序员杂志协办</font></font>
</div>
<div align="left"><font size="3">★</font><font size="3">2013年应邀参加&quot;<a
href="http://www.csdn.net/article/a/2013-06-13/15815573"
target="_blank">开源群英会2013”的开源英雄</a>;</font></div>
<div align="left"><font size="3">★</font><font face="楷体"><font
size="3">2013年度中国优秀开源项目评选-公开投票,“<a
href="https://code.csdn.net/2013OSSurvey/gitop/codevote/vote_num" target="_blank">JEECG以887票位居第九&quot;</a>该项目中国开源软件推进联盟主办、全球最大中文IT社区CSDN与程序员杂志协办</font></font>
</div>
<div align="left"><font size="3">★</font><font size="3">2013年度成立JEECG开源团队创立JEECG开源社区;</font>
</div>
<div align="left"><font size="3">★</font><font face="楷体"><font size="3">2013年度JEECG参加<a
href="http://dasai.aliyun.com/signup/works2013" target="_blank">“云计算成就创业梦想”第二届阿里云开发者大赛&quot;</a>;</font></font>
</div>
<div align="left"><font size="3">★</font><font size="3">2013年度应邀参加了&quot;<a
href="http://special.csdncms.csdn.net/sdcc2013/" target="_blank">SDCC 2013中国软件开发者大会</a>&quot;
大会由CSDN和《程序员》杂志倾力打造</font></div>
<div align="left"><font size="3">★</font><font size="3">2013年下半年推出开源项目&quot;<a
href="http://zhangdaiscott.github.io/MiniDao/" target="_blank">MiniDao(持久层解决方案</a>&quot;超越了Mybatis和Hibernate</font>
</div>
<div align="left"><font size="3">★</font><font size="3">2014年5月应邀参加中国科学院大学创新创业年度论坛探讨“创业企业发展、创新创业孵化”的主题成为中国科学院大学创新创业和风险投资协会副会长。</font>
</div>
<div align="left"><font size="3">★</font><font size="3">2014年推出当前最火的开源项目“<a
href="http://www.oschina.net/p/jeewx" target="_blank">JeeWx(捷微:敏捷微信开发平台</a>并获得CSDN举办的“<a
href="http://bss.csdn.net/m/topic/weixin_dev/index?action=vote_num" target="_blank">2014年开发者大会</a>”公开投票第一名</font>
</div>
<div align="left"><font size="3">★</font><font size="3">2014年8月份捷微jeewx2.0与百度达成战略合作,集成百度地图,增加地图功能,附近商家团购等信息搜索。 </font>
</div>
<br/>
<br/>
<div align="left"><font face="楷体"><font size="5"><strong>代表产品:</strong></font></font></div>
<div align="left"><font face="楷体"><font size="3">★捷微:开源微信管家系统&nbsp; &nbsp;<a
href="http://www.oschina.net/p/jeewx" target="_blank">http://www.oschina.net/p/jeewx</a></font></font>
</div>
<div align="left"><font face="楷体"><font size="3">★JEECG 工作流业务构建平台 <a
href="http://git.oschina.net/jeecg/jeecg/tree/master/jeecg-framework" target="_blank">http://git.oschina.net/jeecg/jeecg/tree/master/jeecg-framework</a></font></font>
</div>
<div align="left"><font face="楷体"><font size="3">★MiniDao 持久层开发框架&nbsp; &nbsp;<a
href="http://git.oschina.net/jeecg/minidao" target="_blank">http://git.oschina.net/jeecg/minidao</a></font></font>
</div>
<div align="left"><font face="楷体"><font size="3">★OSGI 模式插件式开发框架&nbsp;&nbsp;<a
href="https://github.com/zhangdaiscott/saas-plugin-web" target="_blank">https://github.com/zhangdaiscott/saas-plugin-web</a></font></font>
</div>
<br/>
<div align="left"><font face="楷体"><font size="5"><strong>JEECG 业务构建平台介绍:</strong></font></font>
</div>
<div align="left"><font size="3"> </font><font size="2"> <a
href="http://zhangdaiscott.github.io/jeecg/" target="_blank">JEECG 业务流程构建平台</a>经历了多年的积累,目前版本已经稳定。目前发布最新版本[<a
href="http://code.google.com/p/jeecg/downloads/detail?name=jeecg-framework-3.3.2-RELEASE.zip&amp;can=2&amp;q="
target="_blank">jeecg-framework-3.3.2-RELEASE.zip</a> ]。</font></div>
<div align="left"><font size="2">&nbsp; &nbsp; JEECG
微云开发平台可以应用于任何J2EE项目尤其适合企业信息管理系统MIS、内部办公系统OA、企业资源计划系统ERP、客户关系管理系统CRM显著提高开发效率降低成本支持代码生成器支持在线开发支持多数据库采用微信提供移动端解决方案。 </font>
</div>
<br/>
</div>
<br/>
</div>
</div>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="footer-autumn-primary">
<div class="container">
<div>
<ul style="padding-left: 0;list-style: none;">
<li>
<span>Powered by <a href="http://www.jeecg.org/" target="_blank">JEECG微云快速开发平台</a> Support by 国炬IT培训©2015 </span>
</li>
</ul>
</div>
</div>
</div>
</body>
</html>

@ -1,79 +0,0 @@
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>师资介绍</title>
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/main.css">
<style type="text/css">
.l_left{ width:150px;}
.l_left img{width:150px; height:150px; border-radius: 100px; -webkit-border-radius: 100px; -moz-border-radius : 100px; -o-border-radius : 100px;}
</style>
</head>
<body>
<nav class="site-navbar" style="background-color: #363e45;">
<div class="container">
<div class="row">
<div style="width: 25%;">
<div class="navbar-header ptm">
<a class="navbar-brand-logo" href="http://www.jeecg.org/">
<img class="img-responsive" src="http://www.jeecg.org/static/image/common/logo.png">
</a>
</div>
</div>
<div style="width:33.33333333%"></div>
<div style="width: 75%;">
<div class="navbar-right navbar-collapse collapse in" style="height: auto;">
<ul class="nav navbar-nav">
<li class=""><a href="http://www.jeecg.org/" class="">首页</a></li>
<li class=""><a href="${url}tSTeamPersonController.do?getTeacherList" class="">红人榜</a></li>
<li class=""><a href="${url}tSTeamPersonController.do?introduce" class="">社区介绍</a></li>
<#--<li class=""><a href="javascript:void(0)" class="">师资力量</a></li>-->
</ul>
</div>
</div>
</div>
</div>
</nav>
<div class="container" id="dd" style="padding-top: 30px;">
<div >
<ul>
<li>
<div class="l_left">
<img style="margin-top: 30px;" src="${url}${teacher.imgSrc}">
</div>
</li>
<li>
<div class="l_left">
<h2>${teacher.name}</h2>
<time>${teacher.jionDate?string("yyyy-MM-dd")}</time>
</div>
<div style="width: 90%" >
<p style=" margin-top: 10px;">${teacher.introduction}</p>
</div>
</li>
</ul>
</div>
</div>
<div class="footer-autumn-primary">
<div class="container">
<div>
<ul style="padding-left: 0;list-style: none;">
<li>
<span>Powered by <a href="http://www.jeecg.org/" target="_blank">JEECG微云快速开发平台</a> Support by 国炬IT培训©2015 </span>
</li>
</ul>
</div>
</div>
</div>
</body>
</html>

@ -1,117 +0,0 @@
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>师资介绍</title>
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/main.css">
<#--update-begin--Author:张忠亮 Date:20150709 for新样式-->
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/bootstrap.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/common.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/bootstrap-extends.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/web.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/member.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/font-awesome.min.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/es-icon.css-osf_6.0.4.css">
<link rel="stylesheet" type="text/css" href="clzcontext/template/cms/rank/css/main.css-osf_6.0.4.css">
<#--update-end--Author:张忠亮 Date:20150709 for新样式-->
<style type="text/css">
/* .l_left{ width:150px; }
.l_right{ width:150px;height: 50px; }
.l_left img{width:150px; height:150px; border-radius: 100px; -webkit-border-radius: 100px; -moz-border-radius : 100px; -o-border-radius : 100px;}
.ellips{position:relative;width:120px;height:40px;line-height:20px;overflow:hidden;}
.ellips .dot{position:absolute;right:0px;bottom:0px;height:20px;background:#fff}
h2{margin-top: 10px;margin-bottom: 0px;}*/
</style>
</head>
<body class="teacherpage">
<nav class="site-navbar" style="background-color: #363e45;">
<div class="container">
<div class="row">
<div style="width: 25%;">
<div class="navbar-header ptm">
<a class="navbar-brand-logo" href="http://www.jeecg.org/">
<img class="img-responsive" src="http://www.jeecg.org/static/image/common/logo.png">
</a>
</div>
</div>
<div style="width:33.33333333%"></div>
<div style="width: 75%;">
<div class="navbar-right navbar-collapse collapse in" style="height: auto;">
<ul class="nav navbar-nav">
<li class=""><a href="http://www.jeecg.org/" class="">首页</a></li>
<li class=""><a href="${url}tSTeamPersonController.do?getTeacherList" class="">红人榜</a></li>
<li class=""><a href="${url}tSTeamPersonController.do?introduce" class="">社区介绍</a></li>
<#--<li class=""><a href="javascript:void(0)" class="">师资力量</a></li>-->
</ul>
</div>
</div>
</div>
</div>
</nav>
<#--update-begin--Author:张忠亮 Date:20150709 for新样式-->
<div id="content-container" class="container">
<div class="es-section">
<div class="teacher-list row">
<#list teachers as teacher>
<div class="col-lg-3 col-md-4 col-sm-6">
<div class="teacher-item">
<div class="teacher-top">
<a class="teacher-img" href="${url}tSTeamPersonController.do?getTeacher&id=${teacher.id}" >
<img class="avatar-lg" src="${url}${teacher.imgSrc}" >
</a>
<h3 class="title">
<a class="link-light" href="${url}tSTeamPersonController.do?getTeacher&id=${teacher.id}" >${teacher.name}</a>
</h3>
<div class="position">
${teacher.jionDate?string("yyyy-MM-dd")}
</div>
</div>
<div class="teacher-bottom">
<#if teacher.introduction?length gt 40>
${teacher.introduction?substring(0,40)}...
<#else>
${teacher.introduction}
</#if>
</div>
</div>
</div>
</#list>
</div>
</div>
</div>
<#--update-end--Author:张忠亮 Date:20150709 for新样式-->
<#--<div class="container" id="dd" style="padding-top: 30px;min-height:800px;">
<ul>
<#list teachers as teacher>
<li style="height: 270px;width: 200px;">
<div class="l_left">
<img style="margin-top: 30px;" src="${url}${teacher.imgSrc}">
</div>
<div class="l_right">
<h2 style="text-align: center">${teacher.name}</h2>
<div style="text-align: center">${teacher.jionDate?string("yyyy-MM-dd")}</div>
<div class="ellips"><div class="dot"><a href="${url}tSTeamPersonController.do?getTeacher&id=${teacher.id}">[详细]</a></div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${teacher.introduction}</div>
</div>
</li>
</#list>
</ul>
</div>-->
<div class="footer-autumn-primary">
<div class="container">
<div>
<ul style="padding-left: 0;list-style: none;">
<li>
<span>Powered by <a href="http://www.jeecg.org/" target="_blank">JEECG微云快速开发平台</a> Support by 国炬IT培训©2015 </span>
</li>
</ul>
</div>
</div>
</div>
</body>
</html>

@ -1,7 +1,7 @@
#SQLServer2005\u4ee5\u4e0a #SQLServer2005\u4ee5\u4e0a
#hibernate.dialect=org.hibernate.dialect.SQLServerDialect #hibernate.dialect=org.hibernate.dialect.SQLServerDialect
#validationQuery.sqlserver=SELECT 1 #validationQuery.sqlserver=SELECT 1
#jdbc.url.jeecg=jdbc:sqlserver://localhost:1697;DatabaseName=jeecg #jdbc.url.jeecg=jdbc:sqlserver://192.168.0.199:1697;DatabaseName=jeecg
#jdbc.username.jeecg=sa #jdbc.username.jeecg=sa
#jdbc.password.jeecg=SA #jdbc.password.jeecg=SA
#jdbc.dbType=sqlserver #jdbc.dbType=sqlserver
@ -25,7 +25,7 @@ jdbc.dbType=mysql
#Oracle #Oracle
#hibernate.dialect=org.hibernate.dialect.OracleDialect #hibernate.dialect=org.hibernate.dialect.OracleDialect
#validationQuery.sqlserver=SELECT 1 FROM DUAL #validationQuery.sqlserver=SELECT 1 FROM DUAL
#jdbc.url.jeecg=jdbc:oracle:thin:@localhost:1521:ORCL #jdbc.url.jeecg=jdbc:oracle:thin:@192.168.0.88:1521:ORCL
#jdbc.username.jeecg=jeecg #jdbc.username.jeecg=jeecg
#jdbc.password.jeecg=jeecg #jdbc.password.jeecg=jeecg
#jdbc.dbType=oracle #jdbc.dbType=oracle

@ -0,0 +1,597 @@
<#if packageStyle == "service">
package ${bussiPackage}.${entityPackage}.controller;
import ${bussiPackage}.${entityPackage}.entity.${entityName}Entity;
import ${bussiPackage}.${entityPackage}.service.${entityName}ServiceI;
import ${bussiPackage}.${entityPackage}.page.${entityName}Page;
<#list subTab as sub>
import ${bussiPackage}.${sub.entityPackage}.entity.${sub.entityName}Entity;
</#list>
<#else>
package ${bussiPackage}.controller.${entityPackage};
import ${bussiPackage}.entity.${entityPackage}.${entityName}Entity;
import ${bussiPackage}.service.${entityPackage}.${entityName}ServiceI;
import ${bussiPackage}.page.${entityPackage}.${entityName}Page;
<#list subTab as sub>
import ${bussiPackage}.entity.${sub.entityPackage}.${sub.entityName}Entity;
</#list>
</#if>
import java.util.ArrayList;
import java.util.List;
import java.text.SimpleDateFormat;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
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.servlet.ModelAndView;
import org.jeecgframework.core.common.controller.BaseController;
import org.jeecgframework.core.common.exception.BusinessException;
import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
import org.jeecgframework.core.common.model.json.AjaxJson;
import org.jeecgframework.core.common.model.json.DataGrid;
import org.jeecgframework.core.constant.Globals;
import org.jeecgframework.core.util.ExceptionUtil;
import org.jeecgframework.core.util.ResourceUtil;
import org.jeecgframework.core.util.StringUtil;
import org.jeecgframework.tag.core.easyui.TagUtil;
import org.jeecgframework.web.system.pojo.base.TSDepart;
import org.jeecgframework.web.system.service.SystemService;
import org.jeecgframework.core.util.MyBeanUtils;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.entity.vo.NormalExcelConstants;
import org.springframework.ui.ModelMap;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import java.io.IOException;
import java.util.Map;
<#-- restful 通用方法生成 -->
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
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.ResponseStatus;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.jeecgframework.core.beanvalidator.BeanValidators;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.Validator;
import java.net.URI;
import org.springframework.http.MediaType;
import org.springframework.web.util.UriComponentsBuilder;
<#-- restful 通用方法生成 -->
<#-- 列为文件类型的文件代码生成 -->
<#assign fileFlag = false />
<#list columns as filePo>
<#if filePo.showType=='file'>
<#assign fileFlag = true />
</#if>
</#list>
<#if fileFlag==true>
import org.jeecgframework.web.cgform.entity.upload.CgUploadEntity;
import org.jeecgframework.web.cgform.service.config.CgFormFieldServiceI;
import java.util.HashMap;
</#if>
<#-- 列为文件类型的文件代码生成 -->
/**
* @Title: Controller
* @Description: ${ftl_description}
* @author onlineGenerator
* @date ${ftl_create_time}
* @version V1.0
*
*/
@Controller
@RequestMapping("/${entityName?uncap_first}Controller")
public class ${entityName}Controller extends BaseController {
/**
* Logger for this class
*/
private static final Logger logger = Logger.getLogger(${entityName}Controller.class);
@Autowired
private ${entityName}ServiceI ${entityName?uncap_first}Service;
@Autowired
private SystemService systemService;
@Autowired
private Validator validator;
<#-- 列为文件类型的文件代码生成 -->
<#if fileFlag==true>
@Autowired
private CgFormFieldServiceI cgFormFieldService;
</#if>
<#-- 列为文件类型的文件代码生成 -->
/**
* ${ftl_description}列表 页面跳转
*
* @return
*/
@RequestMapping(params = "list")
public ModelAndView list(HttpServletRequest request) {
return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}List");
}
/**
* easyui AJAX请求数据
*
* @param request
* @param response
* @param dataGrid
* @param user
*/
@RequestMapping(params = "datagrid")
public void datagrid(${entityName}Entity ${entityName?uncap_first},HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
CriteriaQuery cq = new CriteriaQuery(${entityName}Entity.class, dataGrid);
//查询条件组装器
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, ${entityName?uncap_first});
try{
//自定义追加查询条件
<#list columns as po>
<#if po.isQuery =='Y' && po.queryMode =='group'>
String query_${po.fieldName}_begin = request.getParameter("${po.fieldName}_begin");
String query_${po.fieldName}_end = request.getParameter("${po.fieldName}_end");
if(StringUtil.isNotEmpty(query_${po.fieldName}_begin)){
<#if po.type == "java.util.Date">
cq.ge("${po.fieldName}", new SimpleDateFormat("yyyy-MM-dd").parse(query_${po.fieldName}_begin));
<#else>
cq.ge("${po.fieldName}", Integer.parseInt(query_${po.fieldName}_begin));
</#if>
}
if(StringUtil.isNotEmpty(query_${po.fieldName}_end)){
<#if po.type == "java.util.Date">
cq.le("${po.fieldName}", new SimpleDateFormat("yyyy-MM-dd").parse(query_${po.fieldName}_end));
<#else>
cq.le("${po.fieldName}", Integer.parseInt(query_${po.fieldName}_end));
</#if>
}
</#if>
</#list>
}catch (Exception e) {
throw new BusinessException(e.getMessage());
}
cq.add();
this.${entityName?uncap_first}Service.getDataGridReturn(cq, true);
TagUtil.datagrid(response, dataGrid);
}
/**
* 删除${ftl_description}
*
* @return
*/
@RequestMapping(params = "doDel")
@ResponseBody
public AjaxJson doDel(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest request) {
AjaxJson j = new AjaxJson();
${entityName?uncap_first} = systemService.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId());
String message = "${ftl_description}删除成功";
try{
${entityName?uncap_first}Service.delMain(${entityName?uncap_first});
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
}catch(Exception e){
e.printStackTrace();
message = "${ftl_description}删除失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
* 批量删除${ftl_description}
*
* @return
*/
@RequestMapping(params = "doBatchDel")
@ResponseBody
public AjaxJson doBatchDel(String ids,HttpServletRequest request){
AjaxJson j = new AjaxJson();
String message = "${ftl_description}删除成功";
try{
for(String id:ids.split(",")){
${entityName}Entity ${entityName?uncap_first} = systemService.getEntity(${entityName}Entity.class,
<#if cgformConfig.cgFormHead.jformPkType?if_exists?html == "UUID">
id
<#elseif cgformConfig.cgFormHead.jformPkType?if_exists?html == "NATIVE">
Integer.parseInt(id)
<#elseif cgformConfig.cgFormHead.jformPkType?if_exists?html == "SEQUENCE">
Integer.parseInt(id)
<#else>
id
</#if>
);
${entityName?uncap_first}Service.delMain(${entityName?uncap_first});
systemService.addLog(message, Globals.Log_Type_DEL, Globals.Log_Leavel_INFO);
}
}catch(Exception e){
e.printStackTrace();
message = "${ftl_description}删除失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
* 添加${ftl_description}
*
* @param ids
* @return
*/
@RequestMapping(params = "doAdd")
@ResponseBody
public AjaxJson doAdd(${entityName}Entity ${entityName?uncap_first},${entityName}Page ${entityName?uncap_first}Page, HttpServletRequest request) {
<#list subTab as sub>
List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List = ${entityName?uncap_first}Page.get${sub.entityName}List();
</#list>
AjaxJson j = new AjaxJson();
String message = "添加成功";
try{
${entityName?uncap_first}Service.addMain(${entityName?uncap_first}, <#list subTab as sub>${sub.entityName?uncap_first}List<#if sub_has_next>,</#if></#list>);
systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
}catch(Exception e){
e.printStackTrace();
message = "${ftl_description}添加失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
<#-- 列为文件类型的文件代码生成 -->
<#if fileFlag==true>
j.setObj(${entityName?uncap_first});
</#if>
<#-- 列为文件类型的文件代码生成 -->
return j;
}
/**
* 更新${ftl_description}
*
* @param ids
* @return
*/
@RequestMapping(params = "doUpdate")
@ResponseBody
public AjaxJson doUpdate(${entityName}Entity ${entityName?uncap_first},${entityName}Page ${entityName?uncap_first}Page, HttpServletRequest request) {
<#list subTab as sub>
List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List = ${entityName?uncap_first}Page.get${sub.entityName}List();
</#list>
AjaxJson j = new AjaxJson();
String message = "更新成功";
try{
${entityName?uncap_first}Service.updateMain(${entityName?uncap_first}, <#list subTab as sub>${sub.entityName?uncap_first}List<#if sub_has_next>,</#if></#list>);
systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
}catch(Exception e){
e.printStackTrace();
message = "更新${ftl_description}失败";
throw new BusinessException(e.getMessage());
}
j.setMsg(message);
return j;
}
/**
* ${ftl_description}新增页面跳转
*
* @return
*/
@RequestMapping(params = "goAdd")
public ModelAndView goAdd(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest req) {
if (StringUtil.isNotEmpty(${entityName?uncap_first}.getId())) {
${entityName?uncap_first} = ${entityName?uncap_first}Service.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId());
req.setAttribute("${entityName?uncap_first}Page", ${entityName?uncap_first});
}
return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}-add");
}
/**
* ${ftl_description}编辑页面跳转
*
* @return
*/
@RequestMapping(params = "goUpdate")
public ModelAndView goUpdate(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest req) {
if (StringUtil.isNotEmpty(${entityName?uncap_first}.getId())) {
${entityName?uncap_first} = ${entityName?uncap_first}Service.getEntity(${entityName}Entity.class, ${entityName?uncap_first}.getId());
req.setAttribute("${entityName?uncap_first}Page", ${entityName?uncap_first});
}
return new ModelAndView("${bussiPackage?replace(".","/")}/${entityPackage}/${entityName?uncap_first}-update");
}
<#list subTab as sub>
/**
* 加载明细列表[${sub.ftlDescription}]
*
* @return
*/
@RequestMapping(params = "${sub.entityName?uncap_first}List")
public ModelAndView ${sub.entityName?uncap_first}List(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest req) {
//===================================================================================
//获取参数
<#list sub.foreignKeys as key>
<#if key?lower_case?index_of("${jeecg_table_id}")!=-1>
Object ${jeecg_table_id}${sub_index} = ${entityName?uncap_first}.get${jeecg_table_id?cap_first}();
<#else>
Object ${key?uncap_first}${sub_index} = ${entityName?uncap_first}.get${key}();
</#if>
</#list>
//===================================================================================
//查询-${sub.ftlDescription}
String hql${sub_index} = "from ${sub.entityName}Entity where 1 = 1<#list sub.foreignKeys as key> AND ${key?uncap_first} = ? </#list>";
try{
List<${sub.entityName}Entity> ${sub.entityName?uncap_first}EntityList = systemService.findHql(hql${sub_index},<#list sub.foreignKeys as key><#if key?lower_case?index_of("${jeecg_table_id}")!=-1>${jeecg_table_id}${sub_index}<#else>${key?uncap_first}${sub_index}</#if><#if key_has_next>,</#if></#list>);
req.setAttribute("${sub.entityName?uncap_first}List", ${sub.entityName?uncap_first}EntityList);
}catch(Exception e){
logger.info(e.getMessage());
}
return new ModelAndView("${bussiPackage?replace(".","/")}/${sub.entityPackage}/${sub.entityName?uncap_first}List");
}
</#list>
/**
* 导出excel
*
* @param request
* @param response
*/
@RequestMapping(params = "exportXls")
public String exportXls(${entityName}Entity ${entityName?uncap_first},HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid,ModelMap map) {
CriteriaQuery cq = new CriteriaQuery(${entityName}Entity.class, dataGrid);
//查询条件组装器
org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, ${entityName?uncap_first});
try{
//自定义追加查询条件
}catch (Exception e) {
throw new BusinessException(e.getMessage());
}
cq.add();
List<${entityName}Entity> list=this.${entityName?uncap_first}Service.getListByCriteriaQuery(cq, false);
List<${entityName}Page> pageList=new ArrayList<${entityName}Page>();
if(list!=null&&list.size()>0){
for(${entityName}Entity entity:list){
try{
${entityName}Page page=new ${entityName}Page();
MyBeanUtils.copyBeanNotNull2Bean(entity,page);
<#list subTab as sub>
<#list sub.foreignKeys as key>
<#if key?lower_case?index_of("${jeecg_table_id}")!=-1>
Object ${jeecg_table_id}${sub_index} = entity.get${jeecg_table_id?cap_first}();
<#else>
Object ${key?uncap_first}${sub_index} = entity.get${key}();
</#if>
</#list>
String hql${sub_index} = "from ${sub.entityName}Entity where 1 = 1<#list sub.foreignKeys as key> AND ${key?uncap_first} = ? </#list>";
List<${sub.entityName}Entity> ${sub.entityName?uncap_first}EntityList = systemService.findHql(hql${sub_index},<#list sub.foreignKeys as key><#if key?lower_case?index_of("${jeecg_table_id}")!=-1>${jeecg_table_id}${sub_index}<#else>${key?uncap_first}${sub_index}</#if><#if key_has_next>,</#if></#list>);
page.set${sub.entityName}List(${sub.entityName?uncap_first}EntityList);
</#list>
pageList.add(page);
}catch(Exception e){
logger.info(e.getMessage());
}
}
}
map.put(NormalExcelConstants.FILE_NAME,"${ftl_description}");
map.put(NormalExcelConstants.CLASS,${entityName}Page.class);
map.put(NormalExcelConstants.PARAMS,new ExportParams("${ftl_description}列表", "导出人:Jeecg",
"导出信息"));
map.put(NormalExcelConstants.DATA_LIST,pageList);
return NormalExcelConstants.JEECG_EXCEL_VIEW;
}
/**
* 通过excel导入数据
* @param request
* @param
* @return
*/
@RequestMapping(params = "importExcel", method = RequestMethod.POST)
@ResponseBody
public AjaxJson importExcel(HttpServletRequest request, HttpServletResponse response) {
AjaxJson j = new AjaxJson();
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
MultipartFile file = entity.getValue();// 获取上传文件对象
ImportParams params = new ImportParams();
params.setTitleRows(2);
params.setHeadRows(2);
params.setNeedSave(true);
try {
List<${entityName}Page> list = ExcelImportUtil.importExcel(file.getInputStream(), ${entityName}Page.class, params);
${entityName}Entity entity1=null;
for (${entityName}Page page : list) {
entity1=new ${entityName}Entity();
MyBeanUtils.copyBeanNotNull2Bean(page,entity1);
${entityName?uncap_first}Service.addMain(entity1, <#list subTab as sub>page.get${sub.entityName}List()<#if sub_has_next>,</#if></#list>);
}
j.setMsg("文件导入成功!");
} catch (Exception e) {
j.setMsg("文件导入失败!");
logger.error(ExceptionUtil.getExceptionMessage(e));
}finally{
try {
file.getInputStream().close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return j;
}
/**
* 导出excel 使模板
*/
@RequestMapping(params = "exportXlsByT")
public String exportXlsByT(ModelMap map) {
map.put(NormalExcelConstants.FILE_NAME,"${ftl_description}");
map.put(NormalExcelConstants.CLASS,${entityName}Page.class);
map.put(NormalExcelConstants.PARAMS,new ExportParams("${ftl_description}列表", "导出人:"+ ResourceUtil.getSessionUserName().getRealName(),
"导出信息"));
map.put(NormalExcelConstants.DATA_LIST,new ArrayList());
return NormalExcelConstants.JEECG_EXCEL_VIEW;
}
/**
* 导入功能跳转
*
* @return
*/
@RequestMapping(params = "upload")
public ModelAndView upload(HttpServletRequest req) {
req.setAttribute("controller_name", "${entityName?uncap_first}Controller");
return new ModelAndView("common/upload/pub_excel_upload");
}
<#list buttons as btn>
<#if btn.buttonStyle =='button' && btn.optType=='action'>
/**
* 自定义按钮-sql增强-${btn.buttonName}
* @param ids
* @return
*/
@RequestMapping(params = "do${btn.buttonCode?cap_first}")
@ResponseBody
public AjaxJson do${btn.buttonCode?cap_first}(${entityName}Entity ${entityName?uncap_first}, HttpServletRequest request) {
AjaxJson j = new AjaxJson();
message = "${btn.buttonName}成功";
${entityName}Entity t = ${entityName?uncap_first}Service.get(${entityName}Entity.class, ${entityName?uncap_first}.getId());
try{
${entityName?uncap_first}Service.do${btn.buttonCode?cap_first}Sql(t);
systemService.addLog(message, Globals.Log_Type_UPDATE, Globals.Log_Leavel_INFO);
}catch(Exception e){
e.printStackTrace();
message = "${btn.buttonName}失败";
}
j.setMsg(message);
return j;
}
</#if>
</#list>
<#-- restful 通用方法生成 -->
@RequestMapping(method = RequestMethod.GET)
@ResponseBody
public List<${entityName}Entity> list() {
List<${entityName}Entity> list${entityName}s=${entityName?uncap_first}Service.getList(${entityName}Entity.class);
return list${entityName}s;
}
@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ResponseBody
public ResponseEntity<?> get(@PathVariable("id") String id) {
${entityName}Entity task = ${entityName?uncap_first}Service.get(${entityName}Entity.class, id);
if (task == null) {
return new ResponseEntity(HttpStatus.NOT_FOUND);
}
return new ResponseEntity(task, HttpStatus.OK);
}
@RequestMapping(method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
public ResponseEntity<?> create(@RequestBody ${entityName}Page ${entityName?uncap_first}Page, UriComponentsBuilder uriBuilder) {
//调用JSR303 Bean Validator进行校验如果出错返回含400错误码及json格式的错误信息.
Set<ConstraintViolation<${entityName}Page>> failures = validator.validate(${entityName?uncap_first}Page);
if (!failures.isEmpty()) {
return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
}
//保存
<#list subTab as sub>
List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List = ${entityName?uncap_first}Page.get${sub.entityName}List();
</#list>
${entityName}Entity ${entityName?uncap_first} = new ${entityName}Entity();
try{
MyBeanUtils.copyBeanNotNull2Bean(${entityName?uncap_first},${entityName?uncap_first}Page);
}catch(Exception e){
logger.info(e.getMessage());
}
${entityName?uncap_first}Service.addMain(${entityName?uncap_first}, <#list subTab as sub>${sub.entityName?uncap_first}List<#if sub_has_next>,</#if></#list>);
//按照Restful风格约定创建指向新任务的url, 也可以直接返回id或对象.
String id = ${entityName?uncap_first}Page.getId();
URI uri = uriBuilder.path("/rest/${entityName?uncap_first}Controller/" + id).build().toUri();
HttpHeaders headers = new HttpHeaders();
headers.setLocation(uri);
return new ResponseEntity(headers, HttpStatus.CREATED);
}
@RequestMapping(value = "/{id}", method = RequestMethod.PUT, consumes = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> update(@RequestBody ${entityName}Page ${entityName?uncap_first}Page) {
//调用JSR303 Bean Validator进行校验如果出错返回含400错误码及json格式的错误信息.
Set<ConstraintViolation<${entityName}Page>> failures = validator.validate(${entityName?uncap_first}Page);
if (!failures.isEmpty()) {
return new ResponseEntity(BeanValidators.extractPropertyAndMessage(failures), HttpStatus.BAD_REQUEST);
}
//保存
<#list subTab as sub>
List<${sub.entityName}Entity> ${sub.entityName?uncap_first}List = ${entityName?uncap_first}Page.get${sub.entityName}List();
</#list>
${entityName}Entity ${entityName?uncap_first} = new ${entityName}Entity();
try{
MyBeanUtils.copyBeanNotNull2Bean(${entityName?uncap_first},${entityName?uncap_first}Page);
}catch(Exception e){
logger.info(e.getMessage());
}
${entityName?uncap_first}Service.updateMain(${entityName?uncap_first}, <#list subTab as sub>${sub.entityName?uncap_first}List<#if sub_has_next>,</#if></#list>);
//按Restful约定返回204状态码, 无内容. 也可以返回200状态码.
return new ResponseEntity(HttpStatus.NO_CONTENT);
}
@RequestMapping(value = "/{id}", method = RequestMethod.DELETE)
@ResponseStatus(HttpStatus.NO_CONTENT)
public void delete(@PathVariable("id") String id) {
${entityName}Entity ${entityName?uncap_first} = ${entityName?uncap_first}Service.get(${entityName}Entity.class, id);
${entityName?uncap_first}Service.delMain(${entityName?uncap_first});
}
<#-- restful 通用方法生成 -->
<#-- 列为文件类型的文件代码生成 -->
<#if fileFlag==true>
/**
* 获取文件附件信息
*
* @param id ${entityName?uncap_first}主键id
*/
@RequestMapping(params = "getFiles")
@ResponseBody
public AjaxJson getFiles(String id){
List<CgUploadEntity> uploadBeans = cgFormFieldService.findByProperty(CgUploadEntity.class, "cgformId", id);
List<Map<String,Object>> files = new ArrayList<Map<String,Object>>(0);
for(CgUploadEntity b:uploadBeans){
String title = b.getAttachmenttitle();//附件名
String fileKey = b.getId();//附件主键
String path = b.getRealpath();//附件路径
String field = b.getCgformField();//表单中作为附件控件的字段
Map<String, Object> file = new HashMap<String, Object>();
file.put("title", title);
file.put("fileKey", fileKey);
file.put("path", path);
file.put("field", field==null?"":field);
files.add(file);
}
AjaxJson j = new AjaxJson();
j.setObj(files);
return j;
}
</#if>
<#-- 列为文件类型的文件代码生成 -->
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save