|

楼主 |
发表于 2010-4-26 12:24:10
|
显示全部楼层
我发送任务的代码,帮看下是哪个设错?
procedure TZJ.BitBtn1Click(Sender: TObject);
Var
Str:String;
BGBZ,BM,NoBH,YBZ:String;//报告标准,确认部门,NoBH,原标准
BM_ID,GW_ID:String; //部门ID,岗位ID
lFlowControl: TFlowControl;
begin
YBZ:='';
BM:=DataSetBroker4.DataSet.FieldByName('LQBM').AsString;
if DataSetBroker4.DataSet.State in [TDataSetState.dsInsert,TDataSetState.dsEdit] then
DataSetBroker4.DataSet.ApplyUpdates;
if DataSetBroker4.DataSet.RecordCount=0 then Exit;
if BM=''then
begin
JsDialogs.ShowMsg('请选择标准确认部门','提示');
Exit;
end;
if DataSetBroker4.DataSet.FieldByName('QRQK').AsString<>''then
begin // 待确认
JsDialogs.ShowMsg('该标准已处于"'+DataSetBroker4.DataSet.FieldByName('QRQK').AsString+'"状态','提示');
Exit;
end;
Query1.Close;
query1.ConnectionString := 'dataBaseURL=Biz:\ZJGLXT\ZJSJK.Database';
query1.CommandText:='Select TOP 1 * From BZSZB WHERE LX=''标准科室代码''and MC=:MC';
query1.Params.ParamByName('MC').AsString:=BM;
query1.Open;
if (query1.RecordCount=0) OR (query1.FieldByName('DM').AsString='')then
begin
JsDialogs.ShowMsg('请在分类设置初始化 '+BM+' 的科室代码','提示');
Exit;
end;
NoBH:=NoNumber(query1.FieldByName('DM').AsString); //流程编号
query1.Close;
query1.ConnectionString := 'dataBaseURL=Biz:\SYSTEM\SYSTEM.DATABASE';
query1.CommandText :='SELECT Top 1 TPOSITION.FID, TDEPT.FID '+
'FROM TORGSYSTEM, TDEPT, TPOSITION '+
'WHERE TORGSYSTEM.FKIND = ''.PSM'' and fpath like ''\ROOT\GXCPZLJDJYY.OGN%'' and '+
'TDEPT.FID = TORGSYSTEM.FDEPT and TORGSYSTEM.FPOSITION = TPOSITION.FID '+
'and TDEPT.FDISPLAYNAME=:BM and (TPOSITION.FDISPLAYNAME =''主任'' or TPOSITION.FDISPLAYNAME =''副主任'')';
query1.Params.ParamByName('BM').AsString:=BM;
query1.Open;
if query1.RecordCount=0 then
begin
JsDialogs.ShowMsg('请联系系统管理员设置['+BM+']下的主任/副主任的相关人员!','提示');
Exit;
end else
begin
GW_ID:=query1.Fields[0].AsString;//岗位
BM_ID:=query1.Fields[1].AsString;//部门
end;
if DataSetBroker2.DataSet.RecordCount<>0 then
begin
DataSetBroker2.DataSet.First;
while not DataSetBroker2.DataSet.Eof do
begin
if DataSetBroker2.DataSet.FieldByName('SFSKG').AsString='是' then
begin
YBZ:=YBZ+','+DataSetBroker2.DataSet.FieldByName('BZDH').AsString+' '+DataSetBroker2.DataSet.FieldByName('BZMC').AsString;
end;
DataSetBroker2.DataSet.Next;
end;
if YBZ<>'' then
begin
if YBZ[1]=',' then
YBZ:=strUtils.RightStr(YBZ,stringUtils.LengthAnsi(YBZ)-StringUtils.PosAnsi(',',YBZ));
end;
end;
Str:=Business.System.JSCommon.CreateGUIDStr;
BGBZ:=DataSetBroker1.DataSet.FieldByName('BZDH').AsString+' '+DataSetBroker1.DataSet.FieldByName('BZMC').AsString;
query1.Close;
query1.ConnectionString := 'dataBaseURL=Biz:\SYSTEM\SYSTEM.DATABASE';
query1.CommandText := 'Insert into BZQRJL(BH,NoBH,YBZ,BGBZ,ZLBS,JYS,QRBH,LRRQ) values(:BH,:NoBH,:YBZ,:BGBZ,:ZLBS,:JYS, RBH, RRQ)';
query1.Params.ParamByName('BH').AsString:=Str;
query1.Params.ParamByName('NoBH').AsString:=NoBH; //No编号
query1.Params.ParamByName('YBZ').AsString:=YBZ; //原标准
query1.Params.ParamByName('BGBZ').AsString:=BGBZ; //变更标准
query1.Params.ParamByName('QRBH').AsString:=DataSetBroker4.DataSet.FieldByName('ZDBH').AsString;//关联的编号
query1.Params.ParamByName('ZLBS').AsString:=DataSetBroker1.DataSet.FieldByName('ZLBS').AsString;//关联的编号
query1.Params.ParamByName('LRRQ').AsDateTime:=Business.Data.SysSrv.SysService.Time; //日期时间
query1.Params.ParamByName('JYS').AsString:=BM;//
query1.Execute;
UserStartFlow('Biz:\ZJGLXT\PROC\XJCFF_BZQRJL.PROC', //流程URL
BM_ID,//部门
'', //岗位
'', //人员
'JYSJYY',Str,BGBZ,'新检测方法、标准确认记录流程');
DataSetBroker4.DataSet.Edit;
DataSetBroker4.DataSet.FieldByName('QRQK').AsString:='待确认';
DataSetBroker4.DataSet.ApplyUpdates;
JsDialogs.ShowMsg('标准:'+BGBZ+' 已发放至'+BM,'提示');
end; |
|