procedure TZDHFZRSP.FlowBroker1AfterFlowOut(Sender: TObject; Command: TFlowOutCommand);
Var
sProcID : string;
// 与地调流程进行交互---S
linf : TGYXX ;
DsnStr : string;
qry : TQuery;
newID_New,TaskBt,ZDM,ZDSZ : string; //ZDM:字段名 ZDSZ:字段数值
begin
sProcID := Command.FlowTasks[0].ProcUnit.ID; //得到下一步 环节ID
if sProcID='SBSD' then //下一步环节ID
begin
// 与地调流程进行交互---S
linf := TGYXX.Create(Context);
//写进地调业务表 返回主表主键值
newID_New :=linf.GetDdValue('Biz:\DMIS\DMISSJK.DATABASE\FZ_ZZH_ZDHJXGLLC.Table');//在“流程字段”中查找
qry:=TQuery.Create(nil);
try
qry.ConnectionString:='DATABASEURL=Biz:\SYSTEM\SYSTEM.DATABASE';
qry.CommandText:='insert into dd_FZ_ZZH_ZDHJXGLLC '+
'(JXSQDW,JXSBMC,GZLXRJDH,GZNR,KNYXDSJ,JHKSSJ,JHJSSJ,SQTXR,SQTXSJ,INST_ID,ZYSX,AQCS,YDXGBFXXB,YDZZWZXXB,GSDQ,SFSBDD)'+ // 需要传输的字段名
'VALUES (:JXSQDW,:JXSBMC,:GZLXRJDH,:GZNR,:KNYXDSJ,:JHKSSJ,:JHJSSJ,:SQTXR,:SQTXSJ,:INST_ID,:ZYSX,:AQCS,:YDXGBFXXB,:YDZZWZXXB,:GSDQ,:SFSBDD)'; // 需要传输的字段的值
qry.Params.ParamByName('JXSQDW').AsString:=DSB_LC.DataSet.FieldByName('JXSQDW').AsString;
qry.Params.ParamByName('JXSBMC').AsString:=DSB_LC.DataSet.FieldByName('JXSBMC').AsString;
qry.Params.ParamByName('GZLXRJDH').AsString:=DSB_LC.DataSet.FieldByName('GZLXRJDH').AsString;
qry.Params.ParamByName('GZNR').AsBlob:=DSB_LC.DataSet.FieldByName('GZNR').AsString;
qry.Params.ParamByName('KNYXDSJ').AsBlob:=DSB_LC.DataSet.FieldByName('KNYXDSJ').AsString;
qry.Params.ParamByName('JHKSSJ').AsDateTime:=DSB_LC.DataSet.FieldByName('JHKSSJ').AsDateTime;
qry.Params.ParamByName('JHJSSJ').AsDateTime:=DSB_LC.DataSet.FieldByName('JHJSSJ').AsDateTime;
qry.Params.ParamByName('SQTXR').AsString:=DSB_LC.DataSet.FieldByName('SQTXR').AsString;
qry.Params.ParamByName('SQTXSJ').AsDateTime:=DSB_LC.DataSet.FieldByName('SQTXSJ').AsDateTime;
qry.Params.ParamByName('INST_ID').AsFloat:=SysUtils.StrToFloat(newID_New);
qry.Params.ParamByName('ZYSX').AsBlob:=DSB_LC.DataSet.FieldByName('ZYSX').AsString;
qry.Params.ParamByName('AQCS').AsBlob:=DSB_LC.DataSet.FieldByName('AQCS').AsString;
qry.Params.ParamByName('YDXGBFXXB').AsString:=DSB_LC.DataSet.FieldByName('YDXGBFXXB').AsString;
qry.Params.ParamByName('YDZZWZXXB').AsString:=DSB_LC.DataSet.FieldByName('YDZZWZXXB').AsString;
qry.Params.ParamByName('GSDQ').AsString:=DSB_LC.DataSet.FieldByName('GSDQ').AsString;
qry.Params.ParamByName('SFSBDD').AsString:=DSB_LC.DataSet.FieldByName('SFSBDD').AsString;
//上面添加的字段和值,要一一对应,顺序不能搞错。AsFloat:数字 AsString:字符 AsDateTime:日期 Ablob:文本(与字符对应)
qry.Execute;
finally
qry.free;
end;
//附件交换
//linf.FJJH('fjb','DD_DDDZDLC_ZDRYJSLZ',DSB_LC.DataSet.FieldByName('INST_ID').AsString,'dd_fjb','TBJZKHDZXEXX_DZDNR_FJ_',newID_New);
//记录地调流程主键值
linf.JhsjLOG(DSB_LC.DataSet.FieldByName('INST_ID').AsString+':XD:XD_ZDH_ZDHJXGLLC_LCXX',newID_New+' D:dd_FZ_ZZH_ZDHJXGLLC','2,XD'); //县调的表别名 地调的表别名
//启动地调流程
TaskBt:='[集中]'+command.FlowTasks[0].Subject; //下一步流程标题
linf.GenerateTask('DD_ZDHJXGLLC_FZ_ZDHFZRSP_FZ',',,,,'+TaskBt+',ALL',newID_New); //交换类型
linf.Free;
end;
end; |