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

📄 wfworker.java

📁 该HttpProxy用于从Applet或Swing界面中访问Ejb和服务端的JavaBean。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
				while (it.hasNext()) {
					actVo = (WfInsActivityVo) it.next();
					rcol.add(actVo);
				}
				col.clear();
			}
		}
		closeDAO();
		return rcol;
	}
	
	public WfInsActivityVo rtvInsActivity(long instanceId, String activityName){
		WfInsActivityVo actVo = null;
		getDAO();
		
		if (instanceId > 0) {
			DAOParameter m_params = DAOFactory.getDAOParameter();
			m_params.setCandiateClass(WfInsActivityVo.class);
			m_params.setIsSingle(true);
			m_params.setFilter("Instance_Id = :m_Instance_Id and Activity_Name = :m_Activity_Name");
			//m_params.setFilter("Activity_Name = :m_Activity_Name");
			m_params.setParameter("m_Instance_Id", new Long(instanceId));
			m_params.setParameter("m_Activity_Name", activityName);
			
			Object obj = DAO.findData(m_params);
			
			if(obj != null){
				actVo = (WfInsActivityVo)obj; 
			}
				
		}
		closeDAO();
		return actVo;
	}
	//
	private int completeActivity(int instanceId, String activity) {
		int r = -1;
		getDAO();
		WfInsActivityVo actVo = null;

		if (instanceId > 0) {
			DAOParameter m_params = DAOFactory.getDAOParameter();
			m_params.setCandiateClass(WfInsActivityVo.class);
			m_params.setFilter("Instance_Id = :m_Instance_Id and Activity_Name = :m_Activity_Name");
			
			//m_params.setFilter("Activity_Name = :m_Activity_Name");
			
			m_params.setParameter("m_Instance_Id", new Long(instanceId));
			m_params.setParameter("m_Activity_Name", activity);
			
			m_params.setIsSingle(true);
			actVo = (WfInsActivityVo) DAO.findData(m_params);
			actVo.setStatus("completed");
			actVo.setAct_Count(actVo.getAct_Count() + 1);
			if (DAO.updateData(actVo)) {
				DAO.Commit();
				Long L = new Long(actVo.getAct_Count());
				L.intValue();
				r = L.intValue();
			} else {
				DAO.Rollback();
			}
		}
		closeDAO();
		return r;
	}

	/*
	 * 2007-04-30
	 */
	public Collection rtvInsOperations(long instanceId) {
		Collection rcol = null;
		getDAO();
		WfInsOperationVo oprVo = null;
		if (instanceId > 0) {
			DAOParameter m_params = DAOFactory.getDAOParameter();
			m_params.setCandiateClass(WfInsOperationVo.class);
			m_params.setFilter("Instance_Id = :m_Instance_Id");
			m_params.setParameter("m_Instance_Id", new Long(instanceId));
			Collection col = (Collection) DAO.findData(m_params);
			if (col != null) {
				rcol = new ArrayList();
				Iterator it = col.iterator();
				while (it.hasNext()) {
					oprVo = (WfInsOperationVo) it.next();
					rcol.add(oprVo);
				}
				col.clear();
			}
		}
		closeDAO();
		return rcol;
	}

	public Collection rtvInsAttributes(long instanceId) {
		Collection rcol = null;
		getDAO();
		WfInsAttributeVo attVo = null;
		if (instanceId > 0) {
			DAOParameter m_params = DAOFactory.getDAOParameter();
			m_params.setCandiateClass(WfInsAttributeVo.class);
			m_params.setFilter("Instance_Id = :m_Instance_Id");
			m_params.setParameter("m_Instance_Id", new Long(instanceId));
			Collection col = (Collection) DAO.findData(m_params);
			if (col != null) {
				rcol = new ArrayList();
				Iterator it = col.iterator();
				while (it.hasNext()) {
					attVo = (WfInsAttributeVo) it.next();
					rcol.add(attVo);
				}
				col.clear();
			}
		}
		closeDAO();
		return rcol;
	}

	public WfInsAttributeVo rtvInsAttribute(long instanceId, String attName) {
		getDAO();
		WfInsAttributeVo attVo = null;
		if (instanceId > 0) {
			DAOParameter m_params = DAOFactory.getDAOParameter();
			m_params.setIsSingle(true);
			m_params.setCandiateClass(WfInsAttributeVo.class);
			m_params
					.setFilter("Instance_Id = :m_Instance_Id and Attribute_Name = :m_Attribute_Name");
			m_params.setParameter("m_Instance_Id", new Long(instanceId));
			m_params.setParameter("m_Attribute_Name", attName);
			Object obj = DAO.findData(m_params);
			if (obj != null) {
				attVo = (WfInsAttributeVo) obj;
			}
		}
		closeDAO();
		return attVo;
	}

	//
	private int updateAttributes(int instanceId, Collection vaues) {
		int r = 0;
		return r;
	}

	/*
	 */
	public boolean exeOperation(WfInsOperationVo insOperation, boolean snFlag,
			boolean syncFlag) {

		//
		boolean r = false;
		getDAO();

		if (insOperation == null)
			return false;
		WfInsOperationVo insOpVo = insOperation;

		//
		if (!snFlag) {
			SequenceMgr seqMgr = new SequenceMgr();
			long opSN = seqMgr.newInsOperId();
			insOpVo.setSn(opSN);
		}

		long insId = insOpVo.getInstance_Id();
		if (insId > 0) {
			DAOParameter m_params = DAOFactory.getDAOParameter();
			m_params.setCandiateClass(WfInsOperationVo.class);

			// if(DAO.updateData(insOpVo))
			if (DAO.insertData(insOpVo)) // 2007-06-06 fix the big bug
			{
				DAO.Commit();
				r = true;
			} else {
				DAO.Rollback();
				r = false;
			}
		}
		//
		if (r && syncFlag)
			syncInstanceStatus(insOpVo.getInstance_Id());
		closeDAO();
		return r;
	}

	//
	public Collection rtvWorkListByUser(String userName) {
		Collection col = null;
		return col;
	}

	public Collection rtvWorkListByUser(String userName, Date beginDate, Date endDate) {
		//modefied by hujun 2007-08!!!
		Collection col = null;
		ArrayList rcol = null;
		getDAO();
		WfWorkItemVo wfItemVo = null;
		String cmdString = "by_date"  
		                   + "$$$" + date2Str(beginDate) 
		                   + "$$$" + date2Str(endDate)
		                   + "$$$" + userName 
		                   + "$$$user";
		DAOParameter m_params = DAOFactory.getDAOParameter();
		m_params.setCandiateClass(WfWorkItemVo.class);
		m_params.setParameter("cmdStr", cmdString);
		m_params.setParameter("sepStr", "$$$");
			
		col = (Collection) DAO.findData(m_params);
		if (col != null) {
			rcol = new ArrayList();
			Iterator it = col.iterator();
			while (it.hasNext()) {
				wfItemVo = (WfWorkItemVo) it.next();
				rcol.add(wfItemVo);
			}
			col.clear();
		}
		
		closeDAO();
		return rcol;
	}
	
	public Collection rtvWorkListByRole(String roleName) {
		Collection col = null;
		return col;
	}

	public Collection rtvWorkListByRole(String roleName, Date beginDate, Date endDate) {
		Collection col = null;
		ArrayList rcol = null;
		getDAO();
		WfWorkItemVo wfItemVo = null;
		String cmdString = "by_date"  
		                   + "$$$" + date2Str(beginDate) 
		                   + "$$$" + date2Str(endDate)
		                   + "$$$" + roleName 
		                   + "$$$user";
		DAOParameter m_params = DAOFactory.getDAOParameter();
		m_params.setCandiateClass(WfWorkItemVo.class);
		m_params.setParameter("cmdStr", cmdString);
		m_params.setParameter("sepStr", "$$$");
			
		col = (Collection) DAO.findData(m_params);
		if (col != null) {
			rcol = new ArrayList();
			Iterator it = col.iterator();
			while (it.hasNext()) {
				wfItemVo = (WfWorkItemVo) it.next();
				rcol.add(wfItemVo);
			}
			col.clear();
		}
		
		closeDAO();
		return rcol;
	}
	
	public String getUserAccount() {
		return userAccount;
	}

	public void setUserAccount(String userAccount) {
		this.userAccount = userAccount;
	}

	public void setDsName(String dsName) {
		this.dsName = dsName;
	}

	public PbosDAO getDAO() {
		if (this.DAO == null) {
			if (dsName != null) {
				ConnectParameters.DataSource = dsName;
			}
			this.DAO = DAOFactory.getPbosDAO();
		}
		return this.DAO;
	}

	public void setDAO(PbosDAO dao) {
		this.DAO = dao;
	}

	public void closeDAO() {
		if (this.DAO != null) {
			this.DAO.closeDAO();
			this.DAO = null;
		}
	}

	//2007-11-15 add by hujun
	public WfInstanceVo rtvInstance(Long instance_id) {
		getDAO();
		WfInstanceVo insVo = null;
		if (instance_id != null) {
			DAOParameter m_params = DAOFactory.getDAOParameter();
			m_params.setCandiateClass(WfInstanceVo.class);
			m_params.setFilter("Instance_Id = :m_Instance_Id");
			m_params.setParameter("m_Instance_Id", instance_id);
			Collection col = (Collection) DAO.findData(m_params);
			if (col != null) {
				Iterator it = col.iterator();
				if (it.hasNext())
					insVo = (WfInstanceVo) it.next();
				col.clear();
			}
		}
		closeDAO();
		return insVo;
	}
	public Long chkUserActivity(String userName, String modelName, String actName){
		//检查是否直接授权,如不是直接授权,检查是否通过, 在存储过程中完成
		Long r = null;
		getDAO();
		
		DAOParameter m_params = DAOFactory.getDAOParameter();
		m_params
				.setProcedure("{call pmoswf.ChkUserActPro(:m_userName, :m_modName, :m_actName, :m_result) }");
		m_params.setParameter("m_userName", userName);
		m_params.setParameter("m_modName", modelName);
		m_params.setParameter("m_actName", actName);
		m_params.setParameter("m_result", Long.class);
		
		boolean cr = DAO.callStoredProcedure(m_params);
		if (cr) {
			r = (Long) m_params.getParameter("m_result");
		}
		closeDAO();
		
		return r;
	}
	public Long chkUserActivityByInsId(String userName, Long InsId, String actName){
		//检查是否直接授权,如不是直接授权,检查是否通过, 在存储过程中完成
		Long r = null;
		getDAO();
		
		DAOParameter m_params = DAOFactory.getDAOParameter();
		m_params
				.setProcedure("{call pmoswf.chkuseractbyinsidpro(:m_userName, :m_insId, :m_actName, :m_result) }");
		m_params.setParameter("m_userName", userName);
		m_params.setParameter("m_insId", new Long(InsId.longValue()));
		m_params.setParameter("m_actName", actName);
		m_params.setParameter("m_result", Long.class);
		
		boolean cr = DAO.callStoredProcedure(m_params);
		if (cr) {
			r = (Long) m_params.getParameter("m_result");
		}
		closeDAO();
		
		return r;
	}
	
	//
	public Long deleteInstance(Long InsId)
	{	//删除流程实例 2008-01-22 增加
		Long r = null;
		getDAO();
		
		DAOParameter m_params = DAOFactory.getDAOParameter();
		m_params.setProcedure("{call pmoswf.delete_instance(:m_insId, :m_result) }");
		
		m_params.setParameter("m_insId", new Long(InsId.longValue()));
		m_params.setParameter("m_result", Long.class);
		
		boolean cr = DAO.callStoredProcedure(m_params);
		if (cr) {
			r = (Long) m_params.getParameter("m_result");
		}
		closeDAO();
		return r;
	}
	
	public static void main(String[] args) {
		
		WfWorker flowWorker = new WfWorker();
		ConnectParameters.IP = "172.16.1.220";
		//ConnectParameters.IP = "10.144.119.221";
		ConnectParameters.Port = 1521;
		//ConnectParameters.ServerName = "localpbs";
		ConnectParameters.ServerName = "pbs";
		ConnectParameters.UserName = "js";
		ConnectParameters.Password = "pmos2000";
		PbosDAO m_dao = DAOFactory.getPbosDAO();
		flowWorker.setDAO(m_dao);
		ArrayList al = new ArrayList();
		//InsAttribute ia = new InsAttribute("year", new Integer(2007));
		//al.add(ia);
		//ia = new InsAttribute("month", new Integer(2));
		//al.add(ia);
		//WfInstanceVo insVo = flowWorker.rtvInstance("SGCBIDMON000", al);
		//System.out.println(insVo);
		//System.out.println(flowWorker.date2Str(new Date()));
		//System.out.println(flowWorker.dateTime2Str(new Date()));
		//System.out.println(flowWorker.rtvInsAttribute(20221, "exame_ok"));
		//System.out.println(flowWorker.rtvWorkListByUser("li_dq",new Date(0), new Date()));
		//System.out.println(flowWorker.chkUserActivityByInsId("gao_gn", new Long(20220), "bidMatch"));
		//System.out.println(flowWorker.chkUserActivity("gao_gn", "SGCBIDMON000", "bidMatch"));
		/*
		select pmoswf.rtvworklistbycmd('by_date$$$2006-01-01$$$2008-12-31$$$yanhg$$$user','$$$')
		from dual
		*/
		System.out.println(flowWorker.rtvInsActivity(20580, "bid_data_in"));
		//System.out.println(flowWorker.rtvWorkListByUser("yanhg", new Date(0), new Date() ));
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -