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的更多相关文章
随机推荐
- 函数lock_rec_enqueue_waiting
type_mode基础上 加上 LOCK_WAIT 表示等待状态 /****************************************************************** ...
- Mybatis foreach
批量删除: <delete id= "deleteBatchByXXX" parameterType= "list"> delete from 表名 ...
- svn备份脚 本
一直用这套脚本备份,脚本主体虽不是原创,但是从网上得到后因为不能运行也进行了些修改,前两天看到有人问关于SVN备份的问题,今天又把脚本整理了一下,解决了不能循环备份多个配置库的问题.希望对大家有所帮助 ...
- C#中的lock关键字;就是lock住一个大家都共同访问的(静态static的)东东就行了
public class ChatService : IChat //继承IChat接口或者说IChat的实现类 { //定义一个静态对象用于线程部份代码块的锁定,用于lock操作 private s ...
- Wireshark基本介绍和学习TCP三次握手(转)
http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html 之前写过一篇博客:用 Fiddler 来调试HTTP,HTTPS. 这篇 ...
- XE7 - Image的双击事件无响应,咋整?(已解决)
今天折腾了好一会,本想做个类似于手机相册的功能,显示SQLite数据库中的图片,然后继续做一些处理.哪成想,写个测试例子时就被卡住了:简单的往窗体上拖放了一个TImage和一个TLabel,没有修改任 ...
- pipe()管道最基本的IPC机制
<h4>进程间通信 fork pipe pie_t 等用法(管道机制 通信)</h4>每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之 ...
- 聊聊Dataguard的三种保护模式实验(下)
4.最大保护模式Maximum Protection 最大保护模式是DG可以提供的最高保护级别,建立在日志同步传输和确认的基础上.同样,可以使用alter database方法进行设置. SQL> ...
- Android源码分析--CircleImageView 源码详解
源码地址为 https://github.com/hdodenhof/CircleImageView 实际上就是一个圆形的imageview 的自定义控件.代码写的很优雅,实现效果也很好, 特此分析. ...
- Safari里使用JsonView
这是第三方开发的一个Safari的jsonView,和chrome以及FF功能类似,现在已经更新到1.1版了. 传送门:https://github.com/rfletcher/safari-json ...