|

楼主 |
发表于 2008-7-28 11:25:02
|
显示全部楼层
djbm:= GetValue;
gsbm:= TSQLDataSet(nbxshcjb.DataSet).FieldByName('gsbm').AsString;
TSQLDataSet(nbxshctz.DataSet).Open;
try
//获取所有详表所对应的物资编码
TSQLDataSet(nbxshcxb.DataSet).First;
while not TSQLDataSet(nbxshcxb.DataSet).Eof do
begin
wzbm:= TSQLDataSet(nbxshcxb.DataSet).FieldByName('wzbm').AsString;
TSQLDataSet(nbxshcxb.DataSet).Next;
wzbms:= ''+wzbm+''+','+wzbms;
end;
//对物资编码进行转换处理
wzbms:='('+wzbms+')';
slength:= wzbms.Length;
wzbms2:= wzbms.Substring(0,slength-2) + wzbms.Substring(slength-1,1);
TSQLDataSet(nbxshcwzkc.DataSet).SQL.Text:='select * from zbmroler.wzkcxxb where wzbm in '+wzbms2+' and gsbm='''+gsbm+'''';
TSQLDataSet(nbxshcwzkc.DataSet).Open;
TSQLDataSet(nbxshcxb.DataSet).First;
while not TSQLDataSet(nbxshcxb.DataSet).Eof do
begin
wzbm:= TSQLDataSet(nbxshcxb.DataSet).FieldByName('wzbm').AsString;
TSQLDataSet(nbxshcwzkc.DataSet).locate('wzbm',[wzbm],[]);
if (TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('kcsl').AsFloat <> (0-TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsFloat)) then
begin
jqpjj := (TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('zje').AsFloat - TSQLDataSet(nbxshcxb.DataSet).FieldByName('xsje').AsFloat)/(TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('kcsl').AsFloat - TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsFloat);
end
else
begin
jqpjj:=0;
end;
TSQLDataSet(nbxshctz.DataSet).Append;
TSQLDataSet(nbxshctz.DataSet).FieldByName('pzbm').AsString:= TSQLDataSet(nbxshcjb.DataSet).FieldByName('xsdbm').AsString;
TSQLDataSet(nbxshctz.DataSet).FieldByName('wzbm').AsString:= TSQLDataSet(nbxshcxb.DataSet).FieldByName('wzbm').AsString;
TSQLDataSet(nbxshctz.DataSet).FieldByName('sfbz').AsString:= '1';
TSQLDataSet(nbxshctz.DataSet).FieldByName('srsl').AsString:= '0';
TSQLDataSet(nbxshctz.DataSet).FieldByName('fcsl').AsString:= TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsString;
TSQLDataSet(nbxshctz.DataSet).FieldByName('gsbm').AsString:= gsbm;
TSQLDataSet(nbxshctz.DataSet).FieldByName('pzgldmbbm').AsString:='009';
TSQLDataSet(nbxshctz.DataSet).FieldByName('pzmcbm').AsString:='002';
TSQLDataSet(nbxshctz.DataSet).FieldByName('cbdj').AsFloat:= jqpjj;
TSQLDataSet(nbxshctz.DataSet).FieldByName('je').AsFloat:= TSQLDataSet(nbxshcxb.DataSet).FieldByName('xsje').AsFloat;
TSQLDataSet(nbxshctz.DataSet).FieldByName('pjbm').AsString:= djbm;
TSQLDataSet(nbxshctz.DataSet).FieldByName('bz').AsString:= '001';
TSQLDataSet(nbxshctz.DataSet).FieldByName('jcsl').AsFloat:= TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('kcsl').AsFloat - TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsFloat;
TSQLDataSet(nbxshctz.DataSet).FieldByName('jcje').AsFloat:= TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('zje').AsFloat - TSQLDataSet(nbxshcxb.DataSet).FieldByName('xsje').AsFloat;
TSQLDataSet(nbxshctz.DataSet).FieldByName('sjkcsl').AsFloat:= TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('sjkcsl').AsFloat;
TSQLDataSet(nbxshctz.DataSet).Post;
TSQLDataSet(nbxshcxb.DataSet).Next;
end;
TSQLDataSet(nbxshcxb.DataSet).First;
while not TSQLDataSet(nbxshcxb.DataSet).Eof do
begin
wzbm:= TSQLDataSet(nbxshcxb.DataSet).FieldByName('wzbm').AsString;
flag2:= TSQLDataSet(nbxshcwzkc.DataSet).locate('wzbm',[wzbm],[]);
if not (flag2) then
begin
Dialogs.ShowMessage('内部销售红冲审核出现错误,error:物资库存信息表不存在,line309!');
end
else if flag2 then
begin
if (TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('kcsl').AsFloat <> (0-TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsFloat)) then
begin
jqpjj := (TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('zje').AsFloat - TSQLDataSet(nbxshcxb.DataSet).FieldByName('xsje').AsFloat)/(TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('kcsl').AsFloat - TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsFloat);
end
else
begin
jqpjj:=0;
end;
TSQLDataSet(nbxshcwzkc.DataSet).Edit;
TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('bcljsl').AsFloat:=TSQLDataSet(nbxshcwzkc.DataSet).fieldByName('bcljsl').AsFloat+TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsFloat;
TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('bcljje').AsFloat:=TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('bcljje').AsFloat+TSQLDataSet(nbxshcxb.DataSet).FieldByName('xsje').AsFloat;
TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('zje').AsFloat:=TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('zje').AsFloat-TSQLDataSet(nbxshcxb.DataSet).FieldByName('xsje').AsFloat;
TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('kcsl').AsFloat:= TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('kcsl').AsFloat-TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsFloat;
TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('jqpjj').AsFloat:= jqpjj;
TSQLDataSet(nbxshcwzkc.DataSet).Post;
end;
TSQLDataSet(nbxshcxb.DataSet).Next;
end;
TSQLDataSet(nbxshcjb.DataSet).ReadOnly := false;
TSQLDataSet(nbxshcjb.DataSet).Edit;
TSQLDataSet(nbxshcjb.DataSet).FieldByName('ppbm').AsString:= djbm;
TSQLDataSet(nbxshcjb.DataSet).FieldByName('shbs').AsString:='1';
TSQLDataSet(nbxshcjb.DataSet).FieldByName('shsj').AsString:= getSysDate;
TSQLDataSet(nbxshcjb.DataSet).FieldByName('shrybm').AsString:= getOPR;
TSQLDataSet(nbxshcjb.DataSet).Post;
InfoBrokerYWXX_NBXSHC.Info.ApplyUpdates;
gsbm:= TSQLDataSet(nbxslrjb.DataSet).FieldByName('gsbm').AsString;
TSQLDataSet(nbxslrtz.DataSet).Open;
TSQLDataSet(nbxslrxb.DataSet).First;
while not TSQLDataSet(nbxslrxb.DataSet).Eof do
begin
wzbm:= TSQLDataSet(nbxslrxb.DataSet).FieldByName('wzbm').AsString;
TSQLDataSet(nbxslrxb.DataSet).Next;
wzbmshc:= ''+wzbm+''+','+wzbms;
end;
//对物资编码进行转换处理
wzbmshc:='('+wzbms+')';
slength:= wzbms.Length;
wzbms2hc:= wzbms.Substring(0,slength-2) + wzbms.Substring(slength-1,1);
TSQLDataSet(nbxslrwzkc.DataSet).SQL.Text:='select * from zbmroler.wzkcxxb where wzbm in '+wzbms2hc+' and gsbm='''+gsbm+'''';
TSQLDataSet(nbxslrwzkc.DataSet).Open;
TSQLDataSet(nbxslrxb.DataSet).First;
while not TSQLDataSet(nbxslrxb.DataSet).Eof do
begin
wzbm:= TSQLDataSet(nbxslrxb.DataSet).FieldByName('wzbm').AsString;
TSQLDataSet(nbxslrwzkc.DataSet).locate('wzbm',[wzbm],[]);
jqpjj := (TSQLDataSet(nbxslrwzkc.DataSet).FieldByName('zje').AsFloat - TSQLDataSet(nbxslrxb.DataSet).FieldByName('xsje').AsFloat+TSQLDataSet(nbxshcxb.DataSet).FieldByName('xsje').AsFloat)/(TSQLDataSet(nbxslrwzkc.DataSet).FieldByName('kcsl').AsFloat-TSQLDataSet(nbxslrxb.DataSet).FieldByName('sxsl').AsFloat - TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsFloat);
TSQLDataSet(nbxslrtz.DataSet).Append;
TSQLDataSet(nbxslrtz.DataSet).FieldByName('pzbm').AsString:= TSQLDataSet(nbxslrjb.DataSet).FieldByName('xsdbm').AsString;
TSQLDataSet(nbxslrtz.DataSet).FieldByName('wzbm').AsString:= TSQLDataSet(nbxslrxb.DataSet).FieldByName('wzbm').AsString;
TSQLDataSet(nbxslrtz.DataSet).FieldByName('sfbz').AsString:= '1';
TSQLDataSet(nbxslrtz.DataSet).FieldByName('srsl').AsString:= '0';
TSQLDataSet(nbxslrtz.DataSet).FieldByName('fcsl').AsString:= TSQLDataSet(nbxslrxb.DataSet).FieldByName('sxsl').AsString;
TSQLDataSet(nbxslrtz.DataSet).FieldByName('gsbm').AsString:= gsbm;
TSQLDataSet(nbxslrtz.DataSet).FieldByName('pzgldmbbm').AsString:='009';
TSQLDataSet(nbxslrtz.DataSet).FieldByName('pzmcbm').AsString:='002';
TSQLDataSet(nbxslrtz.DataSet).FieldByName('cbdj').AsFloat:= jqpjj;
TSQLDataSet(nbxslrtz.DataSet).FieldByName('je').AsFloat:= TSQLDataSet(nbxslrxb.DataSet).FieldByName('xsje').AsFloat;
TSQLDataSet(nbxslrtz.DataSet).FieldByName('pjbm').AsString:= djbm2;
TSQLDataSet(nbxslrtz.DataSet).FieldByName('bz').AsString:= '000';
TSQLDataSet(nbxslrtz.DataSet).FieldByName('jcsl').AsFloat:= TSQLDataSet(nbxslrwzkc.DataSet).FieldByName('kcsl').AsFloat - TSQLDataSet(nbxslrxb.DataSet).FieldByName('sxsl').AsFloat-TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsFloat;
TSQLDataSet(nbxslrtz.DataSet).FieldByName('jcje').AsFloat:= TSQLDataSet(nbxslrwzkc.DataSet).FieldByName('zje').AsFloat-TSQLDataSet(nbxslrxb.DataSet).FieldByName('xsje').AsFloat-TSQLDataSet(nbxshcxb.DataSet).FieldByName('xsje').AsFloat;
TSQLDataSet(nbxslrtz.DataSet).FieldByName('sjkcsl').AsFloat:= TSQLDataSet(nbxslrwzkc.DataSet).FieldByName('sjkcsl').AsFloat;
TSQLDataSet(nbxslrtz.DataSet).Post;
TSQLDataSet(nbxslrxb.DataSet).Next;
end;
TSQLDataSet(nbxslrxb.DataSet).First;
while not TSQLDataSet(nbxslrxb.DataSet).Eof do
begin
wzbm:= TSQLDataSet(nbxslrxb.DataSet).FieldByName('wzbm').AsString;
flag2:= TSQLDataSet(nbxslrwzkc.DataSet).locate('wzbm',[wzbm],[]);
if not (flag2) then
begin
Dialogs.ShowMessage('内部销售红冲审核出现错误,error:物资库存信息表不存在,line309!');
end
else if flag2 then
begin
if (TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('kcsl').AsFloat <> (0-TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsFloat)) then
begin
jqpjj := (TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('zje').AsFloat - TSQLDataSet(nbxshcxb.DataSet).FieldByName('xsje').AsFloat)/(TSQLDataSet(nbxshcwzkc.DataSet).FieldByName('kcsl').AsFloat - TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsFloat);
end
else
begin
jqpjj:=0;
end;
TSQLDataSet(nbxslrwzkc.DataSet).Edit;
TSQLDataSet(nbxslrwzkc.DataSet).FieldByName('bcljsl').AsFloat:=TSQLDataSet(nbxslrwzkc.DataSet).fieldByName('bcljsl').AsFloat+TSQLDataSet(nbxslrxb.DataSet).FieldByName('sxsl').AsFloat+TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsFloat;
TSQLDataSet(nbxslrwzkc.DataSet).FieldByName('bcljje').AsFloat:=TSQLDataSet(nbxslrwzkc.DataSet).FieldByName('bcljje').AsFloat+TSQLDataSet(nbxslrxb.DataSet).FieldByName('xsje').AsFloat+TSQLDataSet(nbxshcxb.DataSet).FieldByName('xsje').AsFloat;
TSQLDataSet(nbxslrwzkc.DataSet).FieldByName('zje').AsFloat:=TSQLDataSet(nbxslrwzkc.DataSet).FieldByName('zje').AsFloat-TSQLDataSet(nbxslrxb.DataSet).FieldByName('xsje').AsFloat - TSQLDataSet(nbxshcxb.DataSet).FieldByName('xsje').AsFloat;
TSQLDataSet(nbxslrwzkc.DataSet).FieldByName('kcsl').AsFloat:= TSQLDataSet(nbxslrwzkc.DataSet).FieldByName('kcsl').AsFloat-TSQLDataSet(nbxslrxb.DataSet).FieldByName('sxsl').AsFloat - TSQLDataSet(nbxshcxb.DataSet).FieldByName('sxsl').AsFloat;
TSQLDataSet(nbxslrwzkc.DataSet).FieldByName('jqpjj').AsFloat:= jqpjj;
TSQLDataSet(nbxslrwzkc.DataSet).Post;
end;
TSQLDataSet(nbxslrxb.DataSet).Next;
end;
TSQLDataSet(nbxslrjb.DataSet).Edit;
TSQLDataSet(nbxslrjb.DataSet).FieldByName('ppbm').AsString:= djbm2;
TSQLDataSet(nbxslrjb.DataSet).FieldByName('shbs').AsString:='1';
TSQLDataSet(nbxslrjb.DataSet).FieldByName('shsj').AsString:= getSysDate;
TSQLDataSet(nbxslrjb.DataSet).FieldByName('shrybm').AsString:= getOPR;
TSQLDataSet(nbxslrjb.DataSet).Post;
InfoBrokerYWXX_NBXSLR.Info.ApplyUpdates;
TSQLDataSet(nbxsysdj.DataSet).Edit;
TSQLDataSet(nbxsysdj.DataSet).FieldByName('pjztbm').AsString:='002';
TSQLDataSet(nbxsysdj.DataSet).ApplyUpdates;
finally
end; |
|