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

📄 finddocbyguidang.java

📁 sso呵呵
💻 JAVA
字号:
package com.mdcl.mocha.jlcmcc.contract.serviceimp.guidang;

import java.util.ArrayList;
import java.util.List;

import com.mdcl.mocha.bpm.sdk.ServiceManager;
import com.mdcl.mocha.bpm.sdk.bo.BizObjectException;
import com.mdcl.mocha.bpm.sdk.bo.entity.IBizObjectDefinition;
import com.mdcl.mocha.bpm.sdk.bo.entity.IBizObjectTypeDefinition;
import com.mdcl.mocha.bpm.sdk.bo.service.IBizObjectTypeDefinitionService;
import com.mdcl.mocha.bpm.sdk.boins.entity.IBoInstance;
import com.mdcl.mocha.bpm.sdk.boins.service.IBoInstanceService;
import com.mdcl.mocha.bpm.sdk.document.entity.IContent;
import com.mdcl.mocha.bpm.sdk.document.entity.IDocument;
import com.mdcl.mocha.bpm.sdk.license.ExpiryException;
import com.mdcl.mocha.bpm.sdk.license.LicenseException;
import com.mdcl.mocha.bpm.sdk.license.NotFoundModuleException;
import com.mdcl.mocha.jlcmcc.configmanager.ConfigManager;


/**
 * <strong>Title : findDocbyguidang<br></strong>
 * <strong>Description : </strong>吉林移动BPM查找文档归档情况类<br>
 * <strong>Create on : 2007-9-15<br></strong>
 * <p>
 * <strong>Copyright (C) Mocha Software Co.,Ltd.<br></strong>
 * <p>
 * @author liulf@mochasoft.com.cn<br>
 * @version <strong>Mocha BPM v6.2</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人		修改日期		修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public class findDocbyguidang {

//	public static boolean GUIDANG_STATE_TRUE=true;		//归档状态;已归档
//	public static boolean GUIDANG_STATE_FALSE=false;	//归档状态;未归档
	public static String GUIDANG_STATE_TRUE="1";				//归档状态;已归档
	public static String GUIDANG_STATE_FALSE="0";				//归档状态;未归档

	/**
	 *
	 * 根据文档归档状态查找文档列表
	 *
	 *@param Docstate
	 *            <i>文档状态 GUIDANG_STATE_TRUE:已归档,GUIDANG_STATE_FALSE:未归档</i>
	 * @return 处于此归档状态的业务流程实例列表
	 */
	public List getDocByGuiDang(String Docstate){
		List result=new ArrayList();

		try {
			//System.out.println("----------### getDocByGuiDang start ###----------");

			//获取业务流程类型列表
			IBizObjectTypeDefinitionService IBi=(IBizObjectTypeDefinitionService) ServiceManager.getInstance().getService(IBizObjectTypeDefinitionService.class);
			List IBioTypelist = null;
			IBioTypelist=IBi.getAll();

			//获得合同流程类型列表
			List pacttype=getPactName("contract.typeID");
//
//			if(pacttype!=null){
//				if(pacttype.size()>0)System.out.println("----------### 合同流程类型列表="+(String)pacttype.get(0)+" ###----------");
//				else System.out.println("----------### 合同流程类型列表=0 ###----------");
//			}else System.out.println("----------### 合同流程类型列表=null ###----------");
//

			//业务流程类型所有合同业务流程定义
			List t_bizList = new ArrayList();
			for(int i=0;i<IBioTypelist.size();i++){
				IBizObjectTypeDefinition t_IBioType=(IBizObjectTypeDefinition)IBioTypelist.get(i);
				//System.out.println("----------### 业务流程类型="+t_IBioType.getName()+" ###----------");
				//System.out.println("----------### 业务流程类型ID="+t_IBioType.getId()+" ###----------");
				String t_IBioTypeID=t_IBioType.getId();
				//判断是否是合同
				if(isNeed(t_IBioTypeID,pacttype)){
					List temp=IBi.getBoDefs(t_IBioTypeID);
					for(int j=0;j<temp.size();j++){
						t_bizList.add((IBizObjectDefinition)temp.get(j));
					}
				}
			}

			//根据业务流程定义获得所有已结束业务流程实例
			List BoInsIdlist=new ArrayList();
			IBoInstanceService IBoSer = (IBoInstanceService)ServiceManager.getInstance().getService(IBoInstanceService.class);
			for(int i=0;i<t_bizList.size();i++){
				List temp=IBoSer.getInstancesByBoDefId(((IBizObjectDefinition)t_bizList.get(i)).getboDefID());
				for(int j=0;j<temp.size();j++){
					IBoInstance IBo=(IBoInstance)temp.get(j);
					if(IBo.ifFinished()){
						BoInsIdlist.add(IBo);
					}
					//System.out.println("----------### 合同业务流程实例="+IBo.getCreaterID()+" ###--------");
				}
			}

			//扫描所有已结束流程实例得到未(已)归档业务流程实例列表,并且剔除投资合同中的“建设工程施工”、“勘察设计”、“建设装潢”、“监理合同”
			//System.out.println("----------### BoInsIdlist size is ="+BoInsIdlist.size()+" ###--------");
			List dalei=this.getPactName("contract.guidang.dalei");
			List xiaolei=this.getPactName("contract.guidang.xiaolei");
			for(int i=0;i<BoInsIdlist.size();i++){
				IBoInstance t_IBoIn=(IBoInstance)BoInsIdlist.get(i);
				IDocument t_Doc=t_IBoIn.getDocument();
				IContent t_ICo=null;
				try{
					t_ICo=t_Doc.getContent("guidang");
					//System.out.println("----------### guidang="+t_ICo.getItemValue()+" ###--------");
					if(t_ICo.getItemValue().equalsIgnoreCase(Docstate)){
						//判断是否是投资合同
						try{
							t_ICo=t_Doc.getContent("hetongdalei");
							if(isNeed(t_ICo.getItemValue(),dalei)){
								//判断是否是“建设工程施工”、“勘察设计”、“建设装潢”、“监理合同”
								try{
									t_ICo=t_Doc.getContent("hetongxiaolei");
									if(isNeed(t_ICo.getItemValue(),xiaolei))
										continue;
								}catch(Exception e){}
							}
						}catch(Exception e){}
						result.add(t_IBoIn);
					}
				}catch(Exception e){}
				//System.out.println("----------### find guidang end ###--------");
			}
		} catch (NotFoundModuleException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ExpiryException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (LicenseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (BizObjectException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		//System.out.println("----------### getDocByGuiDang end ###----------");
		return result;
	}

	/**
	 *
	 * 判断是否是需要的合同
	 *
	 * @param str
	 *            <i>待判断的标识</i>
	 * @param leibiao
	 *            <i>待判断列表</i>
	 * @return 判断结果
	 */
	private boolean isNeed(String str,List leibiao){
		for(int t=0;t<leibiao.size();t++){
			if(str.equalsIgnoreCase((String)leibiao.get(t))){
				return true;
			}
		}
		return false;
	}

	/**
	 *
	 * 从配置文件取得合同流程名
	 *
	 * @return 合同流程名列表
	 */
	private List getPactName(String path)
    {
		List result=new ArrayList();
        String name="";
        ConfigManager cm;
		try {
			cm = (ConfigManager)ServiceManager.getInstance().getService(ConfigManager.class);
			name = cm.getPath("jlcmcc-contract.properties",path);
	        String[] str=null;
	        str=name.split(":");
	        for(int i=0;i<str.length;i++)result.add(str[i]);
		} catch (NotFoundModuleException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ExpiryException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (LicenseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

        return result;
    }
}

⌨️ 快捷键说明

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