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

📄 companyhandlerbean.java

📁 j2ee源码
💻 JAVA
字号:
package com.leeman.wkexs.master.company.handler;

import java.sql.*;
import java.util.*;
import javax.ejb.*;
import javax.naming.*;
import java.util.ArrayList;

import com.leeman.common.db.*;
import com.leeman.common.util.*;
import com.leeman.common.data.Dao;
import com.leeman.wkexs.master.company.dao.Company;
import com.leeman.wkexs.master.company.dao.CompanyDao;
import com.leeman.wkexs.master.company.dao.CompanyHome;
import com.leeman.wkexs.master.company.entity.CompanyVO;
import com.leeman.wkexs.master.company.entity.CompanySO;

import com.leeman.wkexs.master.users.dao.*;
import com.leeman.wkexs.master.rolemgt.dao.*;
import com.leeman.wkexs.master.privilege.entity.*;

/**
 * Bean implementation class for Enterprise Bean: CompanyHandler
 */
public class CompanyHandlerBean implements javax.ejb.SessionBean {
	private javax.ejb.SessionContext mySessionCtx;
	private CompanyDao companyDao;
	
	/**
	 * getSessionContext
	 */
	public javax.ejb.SessionContext getSessionContext() {
		return mySessionCtx;
	}
	/**
	 * setSessionContext
	 */
	public void setSessionContext(javax.ejb.SessionContext ctx) {
		mySessionCtx = ctx;
	}
	/**
	 * ejbCreate
	 */
	public void ejbCreate() throws javax.ejb.CreateException {
	}
	/**
	 * ejbActivate
	 */
	public void ejbActivate() {
	}
	/**
	 * ejbPassivate
	 */
	public void ejbPassivate() {
	}
	/**
	 * ejbRemove
	 */
	public void ejbRemove() {
		if (companyDao != null){
			companyDao.releaseDbConn();
		}
	}
	
	private CompanyHome getCompanyHome() throws javax.naming.NamingException{	
		return (CompanyHome)EjbGetter.getEJBHome(Company.JNDINAME, CompanyHome.class);
	}
	
	public CompanyVO get(CompanyVO vo) throws Exception{
		return get(vo.getCompany_id());
	}
	
	public CompanyVO get(String company_id) throws Exception{
		try{
			CompanyHome uhome = getCompanyHome();
			Company company = uhome.findByPrimaryKey(company_id);
				
			CompanyVO companyVO = new CompanyVO();
			companyVO.setCompany_id(company_id);
			companyVO.setCompany_name_cht(company.getCompany_name_cht());
			companyVO.setCompany_name_chs(company.getCompany_name_chs());
			companyVO.setCompany_name_eng(company.getCompany_name_eng());
			companyVO.setCompany_desc_cht(company.getCompany_desc_cht());
			companyVO.setCompany_desc_chs(company.getCompany_desc_chs());
			companyVO.setCompany_desc_eng(company.getCompany_desc_eng());
			companyVO.setCompany_address_cht(company.getCompany_address_cht());
			companyVO.setCompany_address_chs(company.getCompany_address_chs());
			companyVO.setCompany_address_eng(company.getCompany_address_eng());
			companyVO.setCompany_chop_name_cht(company.getCompany_chop_name_cht());
			companyVO.setCompany_chop_name_chs(company.getCompany_chop_name_chs());
			companyVO.setCompany_chop_name_eng(company.getCompany_chop_name_eng());
			companyVO.setBase_currency(company.getBase_currency());
			companyVO.setPostal_cd(company.getPostal_cd());
			companyVO.setTelephone(company.getTelephone());
			companyVO.setFax(company.getFax());
			companyVO.setEmail(company.getEmail());
			companyVO.setActive(company.getActive());
			companyVO.setCreate_by(company.getCreate_by());
			companyVO.setCreate_dttm(company.getCreate_dttm());
			companyVO.setLast_modify_by(company.getLast_modify_by());
			companyVO.setLast_modify_dttm(company.getLast_modify_dttm());
			companyVO.setCompany_prefix_cd(company.getCompany_prefix_cd());
			companyVO.setLast_mth_end(company.getLast_mth_end());
			companyVO.setBank_id(company.getBank_id());
			companyVO.setCustomer_prefix_cd(company.getCustomer_prefix_cd());
			
			return companyVO;
		}
		catch(ObjectNotFoundException e)
		{
			return null;
		}
	}
	
	public ArrayList getList() throws Exception{
		initCompanyDao();
		return companyDao.getList();
	}
	
	public void add(CompanyVO companyVO) throws Exception
	{
		try{
			Company company = getCompanyHome().create(companyVO.getCompany_id());
			company.setCreate_by(companyVO.getCreate_by());
			company.setCreate_dttm(companyVO.getCreate_dttm());
			
			GregorianCalendar gc = (GregorianCalendar)GregorianCalendar.getInstance();
			gc.set(gc.get(GregorianCalendar.YEAR),gc.get(GregorianCalendar.MONTH),1,0,0,0);
			company.setLast_mth_end(gc.getTime());
						
			update(companyVO);
			
			//Create an administrator account
			UsersHome usersHome = getUsersHome();
			Users users = usersHome.create(companyVO.getCompany_id(), "ADMIN");
			users.setName("System Administrator");
			users.setPassword("admin");
			users.setActive("Y");
			users.setRole_id("ADMIN");
			users.setCreate_by("ADMIN");
			users.setCreate_dttm(companyVO.getCreate_dttm());
			
			//Add role for administrator
			Role_HdrHome role_hdrHome = getRoleHdrHome();
			Role_Hdr role_hdr = role_hdrHome.create(companyVO.getCompany_id(), "ADMIN");
			role_hdr.setRole_name("System Administrator");
			role_hdr.setCreate_by("ADMIN");
			role_hdr.setCreate_dttm(companyVO.getCreate_dttm());
			
			//Add privilege for administrator
			ArrayList priv_list = getPrivList(companyVO,true);
			for(int i=0; i < priv_list.size(); i++)
			{
				PrivilegeVO vo = (PrivilegeVO)priv_list.get(i);
				insertPrivListQuery(vo);
			}				
			
			//Add role_dtl for administrator
			Role_DtlHome role_dtlHome= getRoleDtlHome();
			ArrayList priv_list1 = getPrivList(companyVO,false);
			for(int i=0; i < priv_list1.size(); i++)
			{
				PrivilegeVO vo1 = (PrivilegeVO)priv_list1.get(i);
				Role_Dtl role_dtl = role_dtlHome.create(companyVO.getCompany_id(),"ADMIN",vo1.getProgram_id(),vo1.getPriv_id().toString());
				role_dtl.setActive("Y");
				//insertRoleDtlListQuery(vo1);
			}	
		}
		catch(Exception e)
		{
			mySessionCtx.setRollbackOnly();
			throw e;
		}
	}

	public void update(CompanyVO companyVO) throws Exception
	{
		try{
			Company company = getCompanyHome().findByPrimaryKey(companyVO.getCompany_id());
			company.setCompany_name_eng(companyVO.getCompany_name_eng());
			company.setCompany_name_chs(companyVO.getCompany_name_chs());
			company.setCompany_name_cht(companyVO.getCompany_name_cht());
			
			company.setCompany_desc_eng(companyVO.getCompany_desc_eng());
			company.setCompany_desc_chs(companyVO.getCompany_desc_chs());
			company.setCompany_desc_cht(companyVO.getCompany_desc_cht());
			
			company.setCompany_chop_name_eng(companyVO.getCompany_chop_name_eng());
			company.setCompany_chop_name_chs(companyVO.getCompany_chop_name_chs());
			company.setCompany_chop_name_cht(companyVO.getCompany_chop_name_cht());
						
			company.setCompany_address_eng(companyVO.getCompany_address_eng());
			company.setCompany_address_chs(companyVO.getCompany_address_chs());
			company.setCompany_address_cht(companyVO.getCompany_address_cht());
			
			company.setBase_currency(companyVO.getBase_currency());
			company.setPostal_cd(companyVO.getPostal_cd());
			company.setTelephone(companyVO.getTelephone());
			company.setFax(companyVO.getFax());
			company.setEmail(companyVO.getEmail());
			
			company.setActive(companyVO.getActive());
			
			company.setLast_modify_by(companyVO.getLast_modify_by());
			company.setLast_modify_dttm(companyVO.getLast_modify_dttm());
			company.setCompany_prefix_cd(companyVO.getCompany_prefix_cd());
			company.setBank_id(companyVO.getBank_id());
			company.setCustomer_prefix_cd(companyVO.getCustomer_prefix_cd());
		}
		catch(Exception e)
		{
			mySessionCtx.setRollbackOnly();
			throw e;
		}
	}

	public void delete(CompanyVO companyVO) throws Exception
	{
		try{
			Company company = getCompanyHome().findByPrimaryKey(companyVO.getCompany_id());
			company.remove();
			
			// remove users
			UsersHome usersHome = getUsersHome();
			Users users = usersHome.findByPrimaryKey(new UsersKey(companyVO.getCompany_id(),"ADMIN"));
			users.remove();
			
			// remove role_hdr
			Role_HdrHome role_HdrHome = getRoleHdrHome();
			Role_Hdr role_hdr = role_HdrHome.findByPrimaryKey(new Role_HdrKey(companyVO.getCompany_id(),"ADMIN"));
			role_hdr.remove();
			
			// remove privilege
			deletePrivListQuery(companyVO);
			
			// remove role_dtl
			Role_DtlHome role_DtlHome = getRoleDtlHome();
			java.util.Collection dtlCollection = role_DtlHome.findByRoleId(companyVO.getCompany_id(), "ADMIN");
			Iterator it;
			it = dtlCollection.iterator();
			while (it.hasNext())
			{
				Role_Dtl role_Dtl = (Role_Dtl)it.next();
				role_Dtl.remove();
			}
		}
		catch(Exception e)
		{
			mySessionCtx.setRollbackOnly();
			throw e;
		}
	}

	public boolean isExist(CompanyVO companyKey) throws Exception
	{
		try{
			Company company = getCompanyHome().findByPrimaryKey(companyKey.getCompany_id());
			return true;
		}
		catch(ObjectNotFoundException ex){
			return false;
		}
	}
	
	public long getListCount(CompanySO companySO) throws Exception{
		initCompanyDao();
		return companyDao.getListCount(companySO);
	}

	public ArrayList getList(CompanySO companySO, int fr, int to) throws Exception{
		initCompanyDao();
		return companyDao.getList(companySO, fr, to);
	}
	
	private UsersHome getUsersHome() throws javax.naming.NamingException{	
		return (UsersHome)EjbGetter.getEJBHome(Users.JNDINAME, UsersHome.class);
	}
	
	private Role_HdrHome getRoleHdrHome() throws javax.naming.NamingException{	
		return (Role_HdrHome)EjbGetter.getEJBHome(Role_Hdr.JNDINAME, Role_HdrHome.class);
	}

	private Role_DtlHome getRoleDtlHome() throws javax.naming.NamingException{
		return (Role_DtlHome)EjbGetter.getEJBHome(Role_Dtl.JNDINAME, Role_DtlHome.class);
	}
	
	public void initCompanyDao(){
		if (companyDao == null){
			companyDao = new CompanyDao(); 
		}
	}

	public ArrayList getPrivList(CompanyVO companyVO, boolean r) throws Exception{
		initCompanyDao();
		return companyDao.getPrivList(companyVO,r);
	}
	
	public void insertPrivListQuery(PrivilegeVO privilegeVO) throws Exception{
		initCompanyDao();
		companyDao.insertPrivListQuery(privilegeVO);
	}
	
	public void insertRoleDtlListQuery(PrivilegeVO privilegeVO) throws Exception{
		initCompanyDao();
		companyDao.insertRoleDtlListQuery(privilegeVO);
	}
	
	public void deletePrivListQuery(CompanyVO companyVO) throws Exception{
		initCompanyDao();
		companyDao.deletePrivListQuery(companyVO);
	}
}

⌨️ 快捷键说明

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