lne818
1. 在树型结构中查找指定节点
string parObjID = p_bd.ParentObjID;
BusinessInvokeResult res 
= BusinessRunTimeService.LoadBusinessData(parObjID,null,null,null,null);
if(res.IsSuccessful)
{
    BusinessData bd 
= (BusinessData)res.ResultValue;
    p_bd[
"MC"= bd["MC"];
    p_bd[
"XH"= bd["XH"];
}

   
string id = parObjID;
string bm = "",sql = "";
do
{
    sql 
= string.Format("select l.src_obj_id ID from mwt_om_link l where l.TGT_OBJ_ID =\'{0}\'",id);
    id 
= (string)DataAccessService.ExecuteScalar(sql);
    
    sql 
= string.Format("select MC from MW_APP.PM_NW_ZH_BM where obj_id=\'{0}\'",id);
    bm 
= (string)DataAccessService.ExecuteScalar(sql);
}
while(bm==null);
p_bd[
"BM"= bm;
 

2.创建具体对象之间的连接并保存业务对象
BusinessInvokeResult res = WorkflowMediator.GetObjIDOfProcessInstance(Context.SourceActivityInstance.ProcessInstanceID);
string objID = (string)res.ResultValue;
res 
= BusinessRunTimeService.LoadBusinessData(objID,null,null,null,null);
if(res.IsSuccessful)
{
    BusinessData bd 
= (BusinessData)res.ResultValue;
    bd[
"ZT"= "提出";
    BusinessRunTimeService.SaveBusinessData(bd, 
null,nullnull);
    
    
string asctID = "5F73900F-12BA-411A-AFD4-F75856372E6D";
    
string parObjID = bd["MC"].ToString();
    
    BusinessInvokeResult link 
= BusinessRunTimeService.CreateLink(asctID,parObjID,objID);
     
    
if(!link.IsSuccessful)
    
{
     result.IsSuccessful 
= false;
     result.ResultHint 
= "创建业务对象失败!";
      
     
return result;
    }
 
}


需要注意的是,以上代码是在迁移脚本中实现的,而在活动脚本中获取业务对象就有点不同.代码如下
BusinessInvokeResult res = WorkflowMediator.GetObjIDOfProcessInstance(Context.ActivityInstance.ProcessInstanceID);

3. 在UserControl的服务段获取业务对象

private IBusinessRunTimeService modelService;

protected void Page_Load(object sender, EventArgs e)
{
    
string dt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
    
string filter = "mw_sys.MWT_PD_BULLETIN.bulletin_exptime > to_date(\'" + dt + "\',\'yyyy-MM-dd HH24:mi:ss\')";

    BusinessObject bo 
= new BusinessObject();
    modelService 
= PlatformSingleton.Platform.GetService(typeof(IBusinessRunTimeService)) as IBusinessRunTimeService;
    BusinessNodeCollection collection 
= modelService.LoadBusinessNodes("75EA100E-592A-426F-9379-845DE456DC4A",
                                                                        
null,
                                                                        
"74C27BD6-4F26-4A5B-85F1-EA43F18F30A5",
                                                                        
null,
                                                                        
null,
                                                                        
null);

    
foreach (BusinessNode node in collection)
    
{
        Response.Write(node.ObjID);
    }


    BusinessInvokeResult result 
= modelService.BatchLoadBusinessData2("75EA100E-592A-426F-9379-845DE456DC4A",
                                                                        filter,
                                                                        
null,
                                                                        
null,
                                                                        
null,
                                                                        
"74C27BD6-4F26-4A5B-85F1-EA43F18F30A5",
                                                                        
null);
    
if (result.IsSuccessful)
    
{
        BusinessDataCollection datas 
= result.ResultValue as BusinessDataCollection;

        
foreach (BusinessData data in datas)
        
{
            Response.Write(data[
"bulletin_body"]);
        }

    }

}

分类:

技术点:

相关文章:

  • 2021-07-29
  • 2021-06-17
  • 2021-08-28
  • 2021-04-06
  • 2022-12-23
猜你喜欢
  • 2021-12-13
  • 2022-12-23
  • 2021-12-25
  • 2022-02-15
  • 2022-12-23
  • 2021-08-03
相关资源
相似解决方案