📄 transactionimpl.java
字号:
package com.yondor.oa.service.transaction;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Order;
import com.yondor.oa.common.constant.ConstantBean;
import com.yondor.oa.common.constant.SysParamLib;
import com.yondor.oa.common.utils.BeanManage;
import com.yondor.oa.db.greensysparam.dao.GreensysparamVO;
import com.yondor.oa.db.greensysparam.iface.IGreensysparam;
import com.yondor.oa.db.operator.dao.OperatorVO;
import com.yondor.oa.db.operator.iface.IOperator;
import com.yondor.oa.db.transaction.dao.Transaction;
import com.yondor.oa.db.transaction.dao.TransactionVO;
import com.yondor.oa.db.transaction.iface.ITransaction;
import com.yondor.oa.service.greensysparam.IGreensysparamService;
import com.yondor.oa.service.operator.IOperatorService;
import com.yondor.oa.webapp.example.ExampleAction;
public class TransactionImpl implements ITransactionService {
private static final Log log = LogFactory.getLog(TransactionImpl.class);
private ITransaction itransaction;
private IGreensysparamService igreensysparamService;
private IOperatorService ioperatorService;
/**
* 获取当前用户未读事务集合
* @param operatorVO
* @return List
*/
public List notReadTran(OperatorVO operatorVO){
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.createAlias(ITransaction.ISREAD, "isread")
.add(Expression.eq("isread.mcode", SysParamLib.READ_NOT))
.createAlias(ITransaction.RECEVIEOP, "recevieop")
.add(Expression.eq("recevieop.operatorid", operatorVO.getOperatorid()));
return itransaction.getCriteria(criteria);
}
/**
* 获取当前用户已读事务集合
* @param operatorVO
* @return List
*/
public List hadReadTran(OperatorVO operatorVO) {
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.createAlias(ITransaction.ISREAD, "isread")
.add(Expression.eq("isread.mcode", SysParamLib.READ_IS))
.createAlias(ITransaction.RECEVIEOP, "recevieop")
.add(Expression.eq("recevieop.operatorid", operatorVO.getOperatorid()));
return itransaction.getCriteria(criteria);
}
/**
* 检测是否存在未完成事务
* @param operatorVO
* @param isfinish
* @return
*/
public List notFinishTran(OperatorVO operatorVO){
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.createAlias(ITransaction.ISFINISH, "isfinish")
.add(Expression.eq("isfinish.mcode", SysParamLib.FINISH_NOT))
.createAlias(ITransaction.RECEVIEOP, "recevieop")
.add(Expression.eq("recevieop.operatorid", operatorVO.getOperatorid()));
return itransaction.getCriteria(criteria);
}
public List hadFinishTran(OperatorVO operatorVO){
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.createAlias(ITransaction.ISFINISH, "isfinish")
.add(Expression.eq("isfinish.mcode", SysParamLib.FINISH_IS))
.createAlias(ITransaction.RECEVIEOP, "recevieop")
.add(Expression.eq("recevieop.operatorid", operatorVO.getOperatorid()));
return itransaction.getCriteria(criteria);
}
public List notCheckTran(OperatorVO operatorVO){
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.createAlias(ITransaction.ISCHECK, "ischeck")
.add(Expression.eq("ischeck.mcode", SysParamLib.CHECK_NOT))
.createAlias(ITransaction.RECEVIEOP, "recevieop")
.add(Expression.eq("recevieop.operatorid", operatorVO.getOperatorid()));
return itransaction.getCriteria(criteria);
}
public List hadCheckTran(OperatorVO operatorVO){
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.createAlias(ITransaction.ISCHECK, "ischeck")
.add(Expression.eq("ischeck.mcode", SysParamLib.CHECK_IS))
.createAlias(ITransaction.RECEVIEOP, "recevieop")
.add(Expression.eq("recevieop.operatorid", operatorVO.getOperatorid()));
return itransaction.getCriteria(criteria);
}
/**
* 检索部分当前用户申请的事务信息
* @param operatorVO
* @param firstResult
* @param maxResults
* @return
*/
public List findSegmentBelongIsCheckWithMe(OperatorVO operatorVO,
int firstResult,
int maxResults){
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.add(Expression.isNotNull(ITransaction.ISCHECK))
.createAlias(ITransaction.SENDOP, "sendop")
.add(Expression.eq("sendop.operatorid", operatorVO.getOperatorid()))
.addOrder(Order.desc(ITransaction.SENDTIME));
return itransaction.getCriteria(criteria, firstResult, maxResults);
}
/**
* 检索所有当前用户申请的事务信息
* @param operatorVO
* @return
*/
public List findSegmentBelongIsCheckWithMe(OperatorVO operatorVO){
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.add(Expression.isNotNull(ITransaction.ISCHECK))
.createAlias(ITransaction.SENDOP, "sendop")
.add(Expression.eq("sendop.operatorid", operatorVO.getOperatorid()))
.addOrder(Order.desc(ITransaction.SENDTIME));
return itransaction.getCriteria(criteria);
}
/**
* 检索部分需要当前用户审核的事务信息
* @param operatorVO
* @param firstResult
* @param maxResults
* @return List
*/
public List findSegmentBelongIsCheck(OperatorVO operatorVO,
int firstResult,
int maxResults){
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.add(Expression.isNotNull(ITransaction.ISCHECK))
.createAlias(ITransaction.RECEVIEOP, "recevieop")
.add(Expression.eq("recevieop.operatorid", operatorVO.getOperatorid()))
.addOrder(Order.desc(ITransaction.SENDTIME));
return itransaction.getCriteria(criteria, firstResult, maxResults);
}
/**
* 检索所有需要当前用户审核的事务信息
* @param operatorVO
* @return List
*/
public List findSegmentBelongIsCheck(OperatorVO operatorVO){
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.add(Expression.isNotNull(ITransaction.ISCHECK))
.createAlias(ITransaction.RECEVIEOP, "recevieop")
.add(Expression.eq("recevieop.operatorid", operatorVO.getOperatorid()))
.addOrder(Order.desc(ITransaction.SENDTIME));
return itransaction.getCriteria(criteria);
}
/**
* 检索部分需要当前用户完成的事务
* @param operatorVO
* @param firstResult
* @param maxResults
* @return List
*/
public List findSegmentBelongIsFinish(OperatorVO operatorVO,
int firstResult,
int maxResults){
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.add(Expression.isNotNull(ITransaction.ISFINISH))
.createAlias(ITransaction.RECEVIEOP, "recevieop").add(
Expression.eq("recevieop.operatorid", operatorVO.getOperatorid()))
.addOrder(Order.desc(ITransaction.SENDTIME));
return itransaction.getCriteria(criteria, firstResult, maxResults);
}
/**
* 检索所有需要当前用户完成的事务
* @param operatorVO
* @return List
*/
public List findSegmentBelongIsFinish(OperatorVO operatorVO){
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.add(Expression.isNotNull(ITransaction.ISFINISH))
.createAlias(ITransaction.RECEVIEOP, "recevieop")
.add(Expression.eq("recevieop.operatorid", operatorVO.getOperatorid()))
.addOrder(Order.desc(ITransaction.SENDTIME));
return itransaction.getCriteria(criteria);
}
/**
* 检索部分当前用户发出的事务
* @param operatorVO
* @param firstResult
* @param maxResults
*/
public List findSegmentWithSendOP(OperatorVO operatorVO,
int firstResult,
int maxResults){
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.createAlias(ITransaction.SENDOP, "sendop")
.add(Expression.eq("sendop.operatorid", operatorVO.getOperatorid()))
.addOrder(Order.desc(ITransaction.SENDTIME));
return itransaction.getCriteria(criteria, firstResult, maxResults);
}
/**
* 检索所有当前用户发出的事务信息
* @param operatorVO
* @return List
*/
public List findSegmentWithSendOP(OperatorVO operatorVO){
DetachedCriteria criteria=DetachedCriteria.forClass(Transaction.class)
.createAlias(ITransaction.SENDOP, "sendop")
.add(Expression.eq("sendop.operatorid", operatorVO.getOperatorid()))
.addOrder(Order.desc(ITransaction.SENDTIME));
return itransaction.getCriteria(criteria);
}
public List findAll(){
return itransaction.findByHql("from Transaction");
}
public void dofinish(Long id){
TransactionVO transactionVO=findById(id);
GreensysparamVO isfinish=igreensysparamService
.findGCODEAndMCODE(SysParamLib.FINISH, SysParamLib.FINISH_IS);
GreensysparamVO isread=igreensysparamService
.findGCODEAndMCODE(SysParamLib.READ, SysParamLib.READ_IS);
if(transactionVO.getPreid().equals(Long.parseLong("-1"))){
transactionVO.setIsfinish(igreensysparamService.convertPojo(isfinish));
transactionVO.setIsread(igreensysparamService.convertPojo(isread));
attachDirty(transactionVO);
}else{
TransactionVO tmp=new TransactionVO();
BeanManage.simpleCopy(transactionVO, tmp);
transactionVO.setIsfinish(igreensysparamService.convertPojo(isfinish));
transactionVO.setIsread(igreensysparamService.convertPojo(isread));
attachDirty(transactionVO);
while(!tmp.getPreid().equals(Long.parseLong("-1"))){
TransactionVO superior=findById(tmp.getPreid());
BeanManage.simpleCopy(superior, tmp);
superior.setIsfinish(igreensysparamService.convertPojo(isfinish));
attachDirty(superior);
}
}
}
// ------------------- insert update delete query method
public void save(TransactionVO transactionVO) {
Transaction transaction=new Transaction();
BeanManage.simpleCopy(transactionVO, transaction);
itransaction.save(transaction);
}
public void attachDirty(TransactionVO transactionVO){
Transaction transaction=new Transaction();
BeanManage.simpleCopy(transactionVO, transaction);
itransaction.attachDirty(transaction);
}
public void delete(TransactionVO transactionVO) {
Transaction transaction=new Transaction();
BeanManage.simpleCopy(transactionVO, transaction);
itransaction.delete(transaction);
}
public TransactionVO findById(Long id){
Transaction transaction=itransaction.findById(id);
TransactionVO transactionVO=new TransactionVO();
BeanManage.simpleCopy(transaction, transactionVO);
return transactionVO;
}
// ----------------getter/setter
public ITransaction getItransaction() {
return itransaction;
}
public void setItransaction(ITransaction itransaction) {
this.itransaction = itransaction;
}
public IGreensysparamService getIgreensysparamService() {
return igreensysparamService;
}
public void setIgreensysparamService(IGreensysparamService igreensysparamService) {
this.igreensysparamService = igreensysparamService;
}
public IOperatorService getIoperatorService() {
return ioperatorService;
}
public void setIoperatorService(IOperatorService ioperatorService) {
this.ioperatorService = ioperatorService;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -