Commit f01f4f21 authored by 季圣华's avatar 季圣华
Browse files

初始化项目2

parent 238bdf9c
package com.jsh.base;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import org.hibernate.Query;
import org.springframework.dao.DataAccessException;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.jsh.util.common.PageUtil;
import com.jsh.util.common.SearchConditionUtil;
public class BaseDAO<T> extends HibernateDaoSupport implements BaseIDAO<T>
{
protected Class<T> entityClass;
public void setPoJoClass(Class<T> c)
{
this.entityClass = c;
}
protected Class<T> getEntityClass()
{
return this.entityClass;
}
@Override
public Serializable create(T t) throws DataAccessException
{
return this.getHibernateTemplate().save(t);
}
@Override
public void delete(T t) throws DataAccessException
{
this.getHibernateTemplate().delete(t);
}
@Override
public T get(Long objID) throws DataAccessException
{
return (T) this.getHibernateTemplate().get(getEntityClass(), objID);
}
@Override
public void update(T t) throws DataAccessException
{
this.getHibernateTemplate().update(t);
}
@Override
public void batchDelete(String objIDs) throws DataAccessException
{
this.getHibernateTemplate().bulkUpdate("delete from " + getEntityClass().getName() + " where id in ("+ objIDs + ")");
}
@SuppressWarnings("unchecked")
@Override
public void find(PageUtil<T> pageUtil) throws DataAccessException
{
Query query = this.getHibernateTemplate().getSessionFactory().getCurrentSession()
.createQuery(" from " + getEntityClass().getName() + " where 1=1 "+
SearchConditionUtil.getCondition(pageUtil.getAdvSearch()));
pageUtil.setTotalCount(query.list().size());
// 分页查询
int pageNo = pageUtil.getCurPage();
int pageSize = pageUtil.getPageSize();
if (0 != pageNo && 0 != pageSize)
{
query.setFirstResult((pageNo - 1) * pageSize);
query.setMaxResults(pageSize);
}
pageUtil.setPageList(query.list());
}
@SuppressWarnings("unchecked")
@Override
public List<T> find(Map<String, Object> conditon)throws DataAccessException
{
return this.getHibernateTemplate().find(" from " + getEntityClass().getName() + " where 1=1 "+ SearchConditionUtil.getCondition(conditon));
}
@SuppressWarnings("unchecked")
@Override
public List<T> find(String hql) throws DataAccessException
{
return this.getHibernateTemplate().find(" from " + getEntityClass().getName() + " where 1=1 "+ hql);
}
@SuppressWarnings("unchecked")
@Override
public List<T> find(Map<String, Object> conditon, int pageSize, int pageNo)throws DataAccessException
{
Query query = this.getHibernateTemplate().getSessionFactory().getCurrentSession()
.createQuery(" from " + getEntityClass().getName() + " where 1=1 "+ SearchConditionUtil.getCondition(conditon));
query.setFirstResult((pageNo - 1) * pageSize);
query.setMaxResults(pageSize);
return query.list();
}
@SuppressWarnings("unchecked")
@Override
public List<T> find(String hql, int pageSize, int pageNo)throws DataAccessException
{
Query query = this.getHibernateTemplate().getSessionFactory().getCurrentSession()
.createQuery(" from " + getEntityClass().getName() + " where 1=1 "+ hql);
query.setFirstResult((pageNo - 1) * pageSize);
query.setMaxResults(pageSize);
return query.list();
}
@SuppressWarnings("unchecked")
@Override
public Integer countSum(Map<String, Object> conditon)throws DataAccessException
{
List<T> dataList = this.getHibernateTemplate().getSessionFactory().getCurrentSession()
.createQuery(" from " + getEntityClass().getName() + " where 1=1 "+ SearchConditionUtil.getCondition(conditon)).list();
return dataList ==null?0:dataList.size();
}
@SuppressWarnings("unchecked")
@Override
public Integer countSum(String hql) throws DataAccessException
{
List<T> dataList = this.getHibernateTemplate().getSessionFactory().getCurrentSession()
.createQuery(" from " + getEntityClass().getName() + " where 1=1 "+ hql).list();
return dataList ==null?0:dataList.size();
}
@Override
public void save(T t) throws DataAccessException
{
this.getHibernateTemplate().save(t);
}
}
package com.jsh.base;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import org.springframework.dao.DataAccessException;
import com.jsh.util.common.PageUtil;
/**
* 常用增删改查操作
* @author andy
* @param <T>
*/
public interface BaseIDAO<T>
{
/**
* 设置操作类对象
* @param paramClass
*/
void setPoJoClass(Class<T> paramClass);
/**
* 增加
* @param t 对象
* @throws DataAccessException
*/
Serializable create(T t)throws DataAccessException;
/**
* 增加
* @param t 对象
* @throws DataAccessException
*/
void save(T t)throws DataAccessException;
/**
* 删除
* @param t 对象
* @throws DataAccessException
*/
void delete(T t)throws DataAccessException;
/**
* 获取
* @param objID ID
* @return 对象
* @throws DataAccessException
*/
T get(Long objID)throws DataAccessException;
/**
* 修改信息
* @param t 要修改的对象
* @throws DataAccessException
*/
void update(T t)throws DataAccessException;
/**
* 批量删除信息
* @param 以逗号分割的ID
* @throws DataAccessException
*/
void batchDelete(String objIDs)throws DataAccessException;
/**
* 查找列表
* @param pageUtil 分页工具类
* @throws DataAccessException
*/
void find(PageUtil<T> pageUtil)throws DataAccessException;
/**
* 根据条件查询列表--没有分页信息
* @param conditon 查询条件
* @return 查询列表数据
*/
List<T> find(Map<String,Object> conditon)throws DataAccessException;
/**
* 根据hql查询 --没有分页信息
* @param hql hibernate查询
* @return 查询列表数据
*/
List<T> find(String hql)throws DataAccessException;
/**
* 根据搜索条件查询--分页
* @param conditon 查询条件
* @param pageSize 每页个数
* @param pageNo 页码
* @return 查询列表数据
* @throws DataAccessException
*/
List<T> find(Map<String,Object> conditon,int pageSize,int pageNo)throws DataAccessException;
/**
* 根据hql查询--分页
* @param hql hibernate查询语句
* @param pageSize 每页个数
* @param pageNo 页码
* @return 查询列表数据
* @throws DataAccessException
*/
List<T> find(String hql,int pageSize,int pageNo)throws DataAccessException;
/**
* 查找符合条件的总数
* @param conditon
* @return
* @throws DataAccessException
*/
Integer countSum(Map<String,Object> conditon)throws DataAccessException;
/**
* 查找符合条件的总数
* @param hql
* @return
* @throws DataAccessException
*/
Integer countSum(String hql)throws DataAccessException;
}
package com.jsh.base;
import java.io.Serializable;
import org.springframework.dao.DataAccessException;
import com.jsh.util.common.PageUtil;
public interface BaseIService<T>
{
/**
* 增加
* @param t 对象
* @throws DataAccessException
*/
Serializable create(T t)throws DataAccessException;
/**
* 增加
* @param t 对象
* @throws DataAccessException
*/
void save(T t)throws DataAccessException;
/**
* 删除
* @param t 对象
* @throws DataAccessException
*/
void delete(T t)throws DataAccessException;
/**
* 删除
* @param id 对象ID
* @throws DataAccessException
*/
void delete(Long id)throws DataAccessException;
/**
* 获取
* @param objID ID
* @return 对象
* @throws DataAccessException
*/
T get(Long objID)throws DataAccessException;
/**
* 修改信息
* @param t 要修改的对象
* @throws DataAccessException
*/
void update(T t)throws DataAccessException;
/**
* 批量删除信息
* @param 以逗号分割的ID
* @throws DataAccessException
*/
void batchDelete(String objIDs)throws DataAccessException;
/**
* 查找列表
* @param pageUtil 分页工具类
* @throws DataAccessException
*/
void find(PageUtil<T> pageUtil) throws DataAccessException;
/**
* 检查名称是否存在,页面唯一性效验使用
* @param filedName 效验的字段名称
* @param filedVale 校验值
* @param idFiled ID字段名称
* @param objectID 修改时对象ID
* @return true==存在 false==不存在
* @throws DataAccessException
*/
Boolean checkIsNameExist(String filedName,String filedVale,String idFiled,Long objectID) throws DataAccessException;
/**
* 检查UserBusiness是否存在,页面唯一性效验使用
* @param TypeName 类型名称
* @param TypeVale 类型值
* @param KeyIdName 关键id
* @param KeyIdValue 关键值
* @param UBName 关系名称
* @param UBValue 关系值
* @return true==存在 false==不存在
* @throws DataAccessException
*/
Boolean checkIsUserBusinessExist(String TypeName,String TypeVale,String KeyIdName,String KeyIdValue,String UBName,String UBValue) throws DataAccessException;
/**
* 检查UserBusiness是否存在,页面唯一性效验使用
* @param TypeName 类型名称
* @param TypeVale 类型值
* @param KeyIdName 关键id
* @param KeyIdValue 关键值
* @return true==存在 false==不存在
* @throws DataAccessException
*/
Boolean checkIsValueExist(String TypeName, String TypeVale, String KeyIdName, String KeyIdValue) throws DataAccessException;
}
package com.jsh.base;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.dao.DataAccessException;
import com.jsh.exception.AmsException;
import com.jsh.model.po.Basicuser;
import com.jsh.util.common.PageUtil;
public abstract class BaseService<T> implements BaseIService<T>
{
/**
* Dao对象
*/
private BaseIDAO<T> baseDao;
protected Class<T> entityClass;
public void setBaseDao(BaseIDAO<T> baseDao)
{
this.baseDao = baseDao;
setPoJoClass(getEntityClass());
}
protected BaseIDAO<T> getBaseDao()
{
return this.baseDao;
}
private void setPoJoClass(Class<T> c)
{
this.baseDao.setPoJoClass(c);
}
protected abstract Class<T> getEntityClass();
@Override
public Serializable create(T t) throws DataAccessException
{
return baseDao.create(t);
}
@Override
public void save(T t) throws DataAccessException
{
baseDao.save(t);
}
@Override
public void delete(T t) throws DataAccessException
{
baseDao.delete(t);
}
@Override
public void delete(Long id) throws DataAccessException
{
baseDao.batchDelete(id.toString());
}
@Override
public T get(Long objID) throws DataAccessException
{
return baseDao.get(objID);
}
@Override
public void update(T t) throws DataAccessException
{
baseDao.update(t);
}
@Override
public void batchDelete(String objIDs) throws DataAccessException
{
baseDao.batchDelete(objIDs);
}
@Override
public void find(PageUtil<T> pageUtil) throws DataAccessException
{
baseDao.find(pageUtil);
}
@Override
public Boolean checkIsNameExist(String filedName, String filedVale,String idFiled,Long objectID) throws DataAccessException
{
PageUtil<T> pageUtil = new PageUtil<T>();
Map<String,Object> condition = new HashMap<String,Object>();
condition.put(filedName + "_s_eq", filedVale);
condition.put(idFiled + "_n_neq", objectID);
pageUtil.setAdvSearch(condition);
baseDao.find(pageUtil);
List<T> dataList = pageUtil.getPageList();
if(null != dataList && dataList.size() > 0)
return true;
return false;
}
@Override
public Boolean checkIsUserBusinessExist(String TypeName,String TypeVale,String KeyIdName,String KeyIdValue,String UBName,String UBValue) throws DataAccessException
{
PageUtil<T> pageUtil = new PageUtil<T>();
Map<String,Object> condition = new HashMap<String,Object>();
condition.put(TypeName + "_s_eq", TypeVale);
condition.put(KeyIdName + "_s_eq", KeyIdValue);
condition.put(UBName + "_s_like", UBValue);
pageUtil.setAdvSearch(condition);
baseDao.find(pageUtil);
List<T> dataList = pageUtil.getPageList();
if(null != dataList && dataList.size() > 0)
return true;
return false;
}
@Override
public Boolean checkIsValueExist(String TypeName, String TypeVale, String KeyIdName, String KeyIdValue) throws DataAccessException
{
PageUtil<T> pageUtil = new PageUtil<T>();
Map<String,Object> condition = new HashMap<String,Object>();
condition.put(TypeName + "_s_eq", TypeVale);
condition.put(KeyIdName + "_s_eq", KeyIdValue);
pageUtil.setAdvSearch(condition);
baseDao.find(pageUtil);
List<T> dataList = pageUtil.getPageList();
if(null != dataList && dataList.size() > 0)
return true;
return false;
}
}
package com.jsh.base;
import org.apache.log4j.Logger;
/**
* 封装log4j日志信息,打印日志信息类
* @author andy
* @since 2014-01-22
*/
public class Log
{
/**
* 根据异常信息获取调用类的信息
*/
private static final Exception ex = new Exception();
/**
* 获取Log4j实例
*/
private static final Logger log = Logger.getLogger("ams");
/**
* Info级别日志前缀
*/
public static final String LOG_INFO_PREFIX = "==========";
/**
* error级别日志前缀
*/
public static final String LOG_ERROR_PREFIX = ">>>>>>>>>>";
/**
* debug级别日志前缀
*/
public static final String LOG_DEBUG_PREFIX = "-----------";
/**
* fatal级别日志前缀
*/
public static final String LOG_FATAL_PREFIX = "$$$$$$$$$$";
/**
* warn级别日志前缀
*/
public static final String LOG_WARN_PREFIX = "##########";
/**
* 打印deug日期信息
* @param msg 日志信息
*/
public static void debugFileSync(Object msg)
{
log.debug(getLogDetail(msg));
}
/**
* 打印debug异常信息
* @param msg 日志信息
* @param e 异常堆栈
*/
public static void debugFileSync(Object msg, Throwable e)
{
log.debug(getLogDetail(msg), e);
}
/**
* 打印info日志信息
* @param msg 日志信息
*/
public static void infoFileSync(Object msg)
{
log.info(getLogDetail(msg));
}
/**
* 打印 info日志带异常信息
* @param msg 日志信息
* @param e 异常堆栈
*/
public static void infoFileSync(Object msg, Throwable e)
{
log.info(getLogDetail(msg), e);
}
/**
* 打印warn日期信息
* @param msg 日志信息
*/
public static void warnFileSync(Object msg)
{
log.warn(getLogDetail(msg));
}
/**
* 打印warn日志信息带异常
* @param msg日志信息
* @param e 异常堆栈
*/
public static void warnFileSync(Object msg, Throwable e)
{
log.warn(getLogDetail(msg), e);
}
/**
* 打印error日志信息
* @param msg 日志信息
*/
public static void errorFileSync(Object msg)
{
log.error(getLogDetail(msg));
}
/**
* 打印error日志信息带异常
* @param msg 日志信息
* @param e 异常堆栈
*/
public static void errorFileSync(Object msg, Throwable e)
{
log.error(getLogDetail(msg), e);
}
/**
* 打印fatal日志信息
* @param msg 日志信息
*/
public static void fatalFileSync(Object msg)
{
log.fatal(getLogDetail(msg));
}
/**
* 打印fatal日志信息带异常
* @param msg 日志信息
* @param e 异常堆栈
*/
public static void fatalFileSync(Object msg, Throwable e)
{
log.fatal(getLogDetail(msg), e);
}
/**
* 拼装日志详细信息
* @param message 要打印的日志信息
* @return 封装后的日志详细信息
*/
private static synchronized String getLogDetail(Object message)
{
String msg = "";
if (null != message)
msg = message.toString();
StringBuffer bf = new StringBuffer();
try
{
ex.fillInStackTrace();
throw ex;
}
catch (Exception ex)
{
StackTraceElement[] trace = ex.getStackTrace();
//获取异常堆栈中的调用类信息
final int pos = 2;
bf.append(msg);
bf.append(" [class:");
bf.append(trace[pos].getClassName());
bf.append(" method:");
bf.append(trace[pos].getMethodName());
bf.append(" line:");
bf.append(trace[pos].getLineNumber());
bf.append("]");
}
return bf.toString();
}
}
\ No newline at end of file
package com.jsh.constants.asset;
/**
* 定义资产管理常量
* @author andy
*/
public interface AssetConstants
{
/**
* 公共常量
* @author andy
*/
public class Common
{
}
/**
* 资产常量--导入导出excel表格业务相关
* @author andy
*/
public class BusinessForExcel
{
/**
* 资产名称常量
*/
public static final int EXCEL_ASSETNAME = 0;
/**
* 资产类型常量
*/
public static final int EXCEL_CATEGORY = 1;
/**
* 资产单价
*/
public static final int EXCEL_PRICE = 2;
/**
* 用户
*/
public static final int EXCEL_USER = 3;
/**
* 购买日期
*/
public static final int EXCEL_PURCHASE_DATE = 4;
/**
* 资产状态
*/
public static final int EXCEL_STATUS = 5;
/**
* 位置
*/
public static final int EXCEL_LOCATION = 6;
/**
* 资产编号
*/
public static final int EXCEL_NUM = 7;
/**
* 序列号
*/
public static final int EXCEL_SERIALNO = 8;
/**
* 有效日期
*/
public static final int EXCEL_EXPIRATION_DATE = 9;
/**
* 保修日期
*/
public static final int EXCEL_WARRANTY_DATE = 10;
/**
* 供应商
*/
public static final int EXCEL_SUPPLIER = 11;
/**
* 标签
*/
public static final int EXCEL_LABLE = 12;
/**
* 描述
*/
public static final int EXCEL_DESC = 13;
/**
* 表头
*/
public static final int EXCEL_TABLE_HEAD = 0;
/**
* 状态 --在库
*/
public static final int EXCEl_STATUS_ZAIKU = 0;
/**
* 状态 --在用
*/
public static final int EXCEl_STATUS_INUSE = 1;
/**
* 状态 -- 消费
*/
public static final int EXCEl_STATUS_CONSUME = 2;
/**
* action返回excel结果
*/
public static final String EXCEL = "excel";
}
}
package com.jsh.constants.asset;
public interface ExcelConstantsCode
{
/**
* 导入excel表格常量定义
*/
public class ImportExcelCode
{
/**
* 表格正确
*/
public static final String RIGHT = "right";
/**
* 表格错误
*/
public static final String WRONG = "wrong";
/**
* 表格警告
*/
public static final String WARN = "warn";
}
/**
* 导出excel表格常量定义
* @author angel
*
*/
public class ExportExcelCode
{
}
}
package com.jsh.constants.common;
public interface AmsConstants
{
/**
* 定义资产管理公共常量
* @author andy
*/
public class Common
{
/**
* Info级别日志前缀
*/
public static final String LOG_INFO_PREFIX = "==========";
/**
* error级别日志前缀
*/
public static final String LOG_ERROR_PREFIX = ">>>>>>>>>>";
/**
* debug级别日志前缀
*/
public static final String LOG_DEBUG_PREFIX = "-----------";
/**
* fatal级别日志前缀
*/
public static final String LOG_FATAL_PREFIX = "$$$$$$$$$$";
/**
* warn级别日志前缀
*/
public static final String LOG_WARN_PREFIX = "##########";
}
}
package com.jsh.constants.common;
public interface ExceptionCodeConstants
{
/**
* 用户错误码定义
*/
public class UserExceptionCode
{
/**
* 用户不存在
*/
public static final int USER_NOT_EXIST = 1;
/**
* 用户密码错误
*/
public static final int USER_PASSWORD_ERROR = 2;
/**
* 被加入黑名单
*/
public static final int BLACK_USER = 3;
/**
* 可以登录
*/
public static final int USER_CONDITION_FIT = 4;
/**
* 访问数据库异常
*/
public static final int USER_ACCESS_EXCEPTION = 5;
}
}
package com.jsh.constants.common;
public interface LogModuleConstants
{
/**
* 系统管理模块名称定义
* @author andy
*/
public class ManageModuleNameCode
{
/**
* 管理模块资产名称
*/
public static final String MODULE_MANAGE_ASSETNAME = "资产名称";
/**
* 管理模块供应商
*/
public static final String MODULE_MANAGE_SUPPLIER = "供应商";
/**
* 管理模块资产类型
*/
public static final String MODULE_MANAGE_CATEGORY = "资产类型";
/**
* 管理模块用户管理
*/
public static final String MODULE_MANAGE_USER = "用户管理";
}
/**
* 资产管理模块名称定义
* @author andy
*/
public class AssetModuleNameCode
{
/**
* 资产管理模块资产管理
*/
public static final String MODULE_ASSET_MANAGE = "资产管理";
/**
* 资产管理模块资产报表
*/
public static final String MODULE_ASSET_REPORT = "资产报表";
/**
* 资产管理模块资产概况
*/
public static final String MODULE_ASSET_GENERAL = "资产概况";
}
/**
* 日志管理模块名称定义
* @author andy
*/
public class LogModuleNameCode
{
/**
* 日志管理模块日志管理
*/
public static final String MODULE_LOG_MANAGE = "日志管理";
}
}
\ No newline at end of file
package com.jsh.dao.asset;
import com.jsh.base.BaseDAO;
import com.jsh.model.po.Asset;
public class AssetDAO extends BaseDAO<Asset> implements AssetIDAO
{
/**
* 设置dao映射基类
* @return
*/
@Override
public Class<Asset> getEntityClass()
{
return Asset.class;
}
}
package com.jsh.dao.asset;
import com.jsh.base.BaseIDAO;
import com.jsh.model.po.Asset;
public interface AssetIDAO extends BaseIDAO<Asset>
{
}
package com.jsh.dao.asset;
import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.jsh.exception.AmsException;
import com.jsh.model.po.Asset;
import com.jsh.util.common.PageUtil;
import com.jsh.util.common.SearchConditionUtil;
public class ReportDAO extends HibernateDaoSupport implements ReportIDAO
{
@SuppressWarnings("unchecked")
@Override
public void find(PageUtil<Asset> pageUtil,String reportType,String reportName) throws AmsException
{
Query query = this.getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery("select count(" + reportType +") as dataSum, " + reportName + " from Asset asset where 1=1 " + SearchConditionUtil.getCondition(pageUtil.getAdvSearch()));
pageUtil.setTotalCount(query.list().size());
pageUtil.setPageList(query.list());
}
}
package com.jsh.dao.asset;
import com.jsh.exception.AmsException;
import com.jsh.model.po.Asset;
import com.jsh.util.common.PageUtil;
public interface ReportIDAO
{
/**
* 查找资产列表
* @param pageUtil 分页工具类
* @param reportType 报表统计字段
* @throws AmsException
*/
void find(PageUtil<Asset> pageUtil,String reportType,String reportName) throws AmsException;
}
package com.jsh.dao.basic;
import com.jsh.base.BaseDAO;
import com.jsh.model.po.App;
public class AppDAO extends BaseDAO<App> implements AppIDAO
{
/**
* 设置dao映射基类
* @return
*/
@Override
public Class<App> getEntityClass()
{
return App.class;
}
}
package com.jsh.dao.basic;
import com.jsh.base.BaseIDAO;
import com.jsh.model.po.App;
public interface AppIDAO extends BaseIDAO<App>
{
}
package com.jsh.dao.basic;
import com.jsh.base.BaseDAO;
import com.jsh.model.po.Assetname;
public class AssetNameDAO extends BaseDAO<Assetname> implements AssetNameIDAO
{
/**
* 设置dao映射基类
* @return
*/
@Override
public Class<Assetname> getEntityClass()
{
return Assetname.class;
}
}
package com.jsh.dao.basic;
import com.jsh.base.BaseIDAO;
import com.jsh.model.po.Assetname;
public interface AssetNameIDAO extends BaseIDAO<Assetname>
{
}
package com.jsh.dao.basic;
import com.jsh.base.BaseDAO;
import com.jsh.model.po.Category;
public class CategoryDAO extends BaseDAO<Category> implements CategoryIDAO
{
/**
* 设置dao映射基类
* @return
*/
@Override
public Class<Category> getEntityClass()
{
return Category.class;
}
}
package com.jsh.dao.basic;
import com.jsh.base.BaseIDAO;
import com.jsh.model.po.Category;
public interface CategoryIDAO extends BaseIDAO<Category>
{
}
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment