mirror of https://gitee.com/jeecg/jeecg.git
parent
e6ef4211de
commit
6c1dba1ea8
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -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 {
|
||||
|
||||
}
|
||||
@ -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.entity;
|
||||
package org.jeecgframework.web.system.sms.entity;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
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.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.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.util.Date;
|
||||
@ -1,5 +1,5 @@
|
||||
package org.jeecgframework.web.sms.service;
|
||||
import org.jeecgframework.web.sms.entity.TSSmsEntity;
|
||||
package org.jeecgframework.web.system.sms.service;
|
||||
import org.jeecgframework.web.system.sms.entity.TSSmsEntity;
|
||||
import org.jeecgframework.core.common.service.CommonService;
|
||||
|
||||
import java.io.Serializable;
|
||||
@ -1,5 +1,5 @@
|
||||
package org.jeecgframework.web.sms.service;
|
||||
import org.jeecgframework.web.sms.entity.TSSmsSqlEntity;
|
||||
package org.jeecgframework.web.system.sms.service;
|
||||
import org.jeecgframework.web.system.sms.entity.TSSmsSqlEntity;
|
||||
import org.jeecgframework.core.common.service.CommonService;
|
||||
|
||||
import java.io.Serializable;
|
||||
@ -1,5 +1,5 @@
|
||||
package org.jeecgframework.web.sms.service;
|
||||
import org.jeecgframework.web.sms.entity.TSSmsTemplateEntity;
|
||||
package org.jeecgframework.web.system.sms.service;
|
||||
import org.jeecgframework.web.system.sms.entity.TSSmsTemplateEntity;
|
||||
import org.jeecgframework.core.common.service.CommonService;
|
||||
|
||||
import java.io.Serializable;
|
||||
@ -1,5 +1,5 @@
|
||||
package org.jeecgframework.web.sms.service;
|
||||
import org.jeecgframework.web.sms.entity.TSSmsTemplateSqlEntity;
|
||||
package org.jeecgframework.web.system.sms.service;
|
||||
import org.jeecgframework.web.system.sms.entity.TSSmsTemplateSqlEntity;
|
||||
import org.jeecgframework.core.common.service.CommonService;
|
||||
|
||||
import java.io.Serializable;
|
||||
@ -1,7 +1,7 @@
|
||||
package org.jeecgframework.web.sms.service.impl;
|
||||
import org.jeecgframework.web.sms.service.TSSmsSqlServiceI;
|
||||
package org.jeecgframework.web.system.sms.service.impl;
|
||||
import org.jeecgframework.web.system.sms.service.TSSmsSqlServiceI;
|
||||
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.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@ -1,7 +1,7 @@
|
||||
package org.jeecgframework.web.sms.service.impl;
|
||||
import org.jeecgframework.web.sms.service.TSSmsTemplateServiceI;
|
||||
package org.jeecgframework.web.system.sms.service.impl;
|
||||
import org.jeecgframework.web.system.sms.service.TSSmsTemplateServiceI;
|
||||
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.transaction.annotation.Transactional;
|
||||
import java.util.UUID;
|
||||
@ -1,7 +1,7 @@
|
||||
package org.jeecgframework.web.sms.service.impl;
|
||||
import org.jeecgframework.web.sms.service.TSSmsTemplateSqlServiceI;
|
||||
package org.jeecgframework.web.system.sms.service.impl;
|
||||
import org.jeecgframework.web.system.sms.service.TSSmsTemplateSqlServiceI;
|
||||
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.transaction.annotation.Transactional;
|
||||
import java.util.UUID;
|
||||
@ -1,4 +1,4 @@
|
||||
package org.jeecgframework.web.sms.util;
|
||||
package org.jeecgframework.web.system.sms.util;
|
||||
/**
|
||||
*
|
||||
* @author skycc
|
||||
@ -1,6 +1,6 @@
|
||||
// ~ 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.Properties;
|
||||
@ -1,4 +1,4 @@
|
||||
package org.jeecgframework.web.sms.util;
|
||||
package org.jeecgframework.web.system.sms.util;
|
||||
/**
|
||||
*
|
||||
* @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.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.ByteArrayInputStream;
|
||||
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.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.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.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.ByteArrayInputStream;
|
||||
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 org.jeecgframework.core.util.LogUtil;
|
||||
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;
|
||||
|
||||
@ -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.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.scheduling.annotation.Scheduled;
|
||||
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
|
||||
@ -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;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -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;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -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;
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -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>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue