VoToucher
VoToucher
package com.isoftstone.pcis.policy.common.utils;
import com.isoftstone.pcis.policy.common.context.Operator;
import java.util.Date;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.log4j.Logger;
public class VoToucher
{
private static final Logger logger = Logger.getLogger(VoToucher.class);
public static void touchOnCreate(Object vo, String modifyUser, Date modifyTime)
{
try
{
PropertyUtils.setProperty(vo, "CCrtCde", modifyUser);
PropertyUtils.setProperty(vo, "CUpdCde", modifyUser);
PropertyUtils.setProperty(vo, "TCrtTm", modifyTime);
PropertyUtils.setProperty(vo, "TUpdTm", modifyTime);
} catch (Exception e) {
logger.error("设置vo操作人/时间出错:" + vo.getClass().getName() + e.getMessage());
}
}
public static void touchOnCreate(Object vo, String modifyUser) {
touchOnCreate(vo, modifyUser, new Date());
}
public static void touchOnCreate(Object vo, Date modifyTime) {
touchOnCreate(vo, Operator.getCurrentOperatorCde(), modifyTime);
}
public static void touchOnCreate(Object vo) {
touchOnCreate(vo, Operator.getCurrentOperatorCde(), new Date());
}
public static void touch(Object vo, String modifyUser, Date modifyTime)
{
try
{
String crtCde = (String)PropertyUtils.getProperty(vo, "CCrtCde");
Date crtTm = (Date)PropertyUtils.getProperty(vo, "TCrtTm");
if (StringUtils.isEmpty(crtCde)) {
PropertyUtils.setProperty(vo, "CCrtCde", modifyUser);
}
if (crtTm == null) {
PropertyUtils.setProperty(vo, "TCrtTm", modifyTime);
}
PropertyUtils.setProperty(vo, "CUpdCde", modifyUser);
PropertyUtils.setProperty(vo, "TUpdTm", modifyTime);
} catch (Exception e) {
logger.error("更新vo操作人/时间出错:" + vo.getClass().getName() + e.getMessage());
}
}
public static void touch(Object vo, String modifyUser) {
touch(vo, modifyUser, new Date());
}
public static void touch(Object vo, Date modifyTime) {
touch(vo, Operator.getCurrentOperatorCde(), modifyTime);
}
public static void touch(Object vo) {
touch(vo, Operator.getCurrentOperatorCde(), new Date());
}
public static void clearTouch(Object vo)
{
try
{
PropertyUtils.setProperty(vo, "CCrtCde", null);
PropertyUtils.setProperty(vo, "TCrtTm", null);
PropertyUtils.setProperty(vo, "CUpdCde", null);
PropertyUtils.setProperty(vo, "TUpdTm", null);
} catch (Exception e) {
logger.error("清空vo操作人/时间出错:" + vo.getClass().getName() + e.getMessage());
}
}
}
VoToucher的更多相关文章
随机推荐
- maven-source 1.3 中不支持注释请使用 -source 5 或更高版本以启用注释
解决办法:在pom里 加上以下代码 <build> <plugins> <plugin> <groupId>org.apache.maven.plugi ...
- System.Linq.Dynamic 和Nhibernate
var session = NHibernateSessionManager.Instance.GetSession(); "); var staffList = session.Query ...
- easyui tree 模仿ztree 使用扁平化加载json
1,载入扩展JS //作者孙宇 //自定义loadFilter的实现 $.fn.tree.defaults.loadFilter = function (data, parent) { var opt ...
- HDU 2512 一卡通大冒险
我感觉这更像个数学问题. dp[i][j]表示将i件物品分成j组的方案数. 状态转移方程: dp[i][j] = dp[i-1][j-1] + j * dp[i-1][j]; 将i张卡分成j组可以有之 ...
- Jqgrid入门-Jqgrid分组的实现(八)
上一章主要说明了如果实现Jqgrid列数据拖动,这一章主要讨论在Jqgrid中如何实现分组功能. 类似于Sql语句的Group By,Jqgrid提供了属性实现数据分组,这样表现数据会 ...
- Codeforces Round #275 (Div. 2)
A. Counterexample 题意:给出l,r,找出使得满足l<a<b<c<r,同时满足a,b的最大公约数为1,b,c的最大公约数为1,且a,b的最大公约数不为1 因为题 ...
- XenServer6.2详细安装步骤
系统要求 系统要求 XenServer 至少需要两台单独的 x86 物理计算机:一台用作 XenServer 主机,另一台用于运行XenCenter 应用程序. XenServer 主计算机完全专用于 ...
- 转:Emmet:快速编写HTML,CSS代码的有力工具
http://www.cnblogs.com/xiazdong/p/3562179.html 试着用用
- OC 设计模式——单例模式
单例模式的作用:可以保证在程序运行过程,一个类只有一个实例,而且这个实例易于供外界访问.永远只分配一次内存给这个类.由于在调用alloc方法的时候,都会调用allocWithZone,所以要重写这个方 ...
- kdtree备份
库在这里 这个很好用. 例子: /*! gcc -Wall -g -o test test.c libkdtree.a */ #include <stdio.h> #include < ...