⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transactionimpl.java

📁 spring+hibernate+struts开发的校务oa系统
💻 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 + -