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的更多相关文章

随机推荐

  1. D:/apache2/conf/httpd.conf:Cannot load D:/apache2/modules/mod_actions.so

    报错如下: errors reported here must be corrected before service can be started.httpd:Syntax error on lin ...

  2. [ionic开源项目教程] - 第4讲 通Service层获取数据列表

    第4讲:通Service层获取数据列表 上一讲中页面的基本架构已完成,这一讲介绍如何通过service层从服务器请求数据,在通过controller层为载体,显示到视图层. 1.在services.j ...

  3. 51nod1204 Parity

    如果sm[j]和sm[i]奇偶性相同,那么(i+1,j)个数为偶数如果奇偶性相同看成是朋友,不同的看成是敌人,那么就跟bzoj1370的做法差不多了. 如果奇偶性相同,就将x和y合并,x+n,y+n合 ...

  4. xp关不了机

    自己测试:按第2点的设置既可成功1.点“开始→设置→控制面板→电源选项→高级电源管理”,如果你的机器支持高级电源管理功能,则选中“启用高级电源管理支持”:2.单击“开始”,并运行“regedit”,然 ...

  5. yaf框架流程三

    路由的原理请看http://yaf.laruence.com/manual/yaf.routes.html这个链接 要点:路由的顺序是堆栈模式的,及最后添加的路由规则最优先.由上两篇可知,定义的第一条 ...

  6. textarea高度自适应

    var tx=document.getElementById("tx"); tx.style.height=tx.scrollHeight+"px" tx.st ...

  7. 关于COUNT STOPKEY的工作机制(转载)

    SQL> select rownum rn ,a.* from cnmir.ew_auctions a where rownum<50000; Execution Plan-------- ...

  8. dzzoffice的树型结构用户管理设计

    在DzzOffice1.1的开发中,针对用户使用群体重新设计了,机构.部门.用户管理应用. 传统OA,企业相关程序,一般是设置机构-设置部门-设置职位-添加用户这样的步骤.每个步骤分为不同的管理界面. ...

  9. oracle导入导出数据库和创建表空间和用户

    直入主题: 首先在本地创建2个文件,D:\oradata\jgszz\temp.dbf和 D:\oradata\jgszz\data.dbf. 然后执行下面的SQL. /*创建临时表空间 */ cre ...

  10. python中的深拷贝与浅拷贝

    深拷贝和浅拷贝 浅拷贝的时候,修改原来的对象,浅拷贝的对象不会发生改变. 1.对象的赋值 对象的赋值实际上是对象之间的引用:当创建一个对象,然后将这个对象赋值给另外一个变量的时候,python并没有拷 ...