📄 finddocbyguidang.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 + -