📄 weijie_data.pas
字号:
if not (iPrint < 0) then //is time
exit;
iKey := 0;
cdTem := TclientDataSet.Create(nil);
try
try
ADOCn.BeginTrans;
idl := cdTem.fieldbyname('idl').AsInteger;
ADOSProc3.Close;
ADOSProc3.ProcedureName := 'P_ApplyStockMaster';
ADOSProc3.Parameters.Refresh;
ADOSProc3.Parameters.ParamValues['@CDH'] := cdTem.fieldbyname('CDH').AsString;
ADOSProc3.Parameters.ParamValues['@IKeyForm'] := cdTem.fieldbyname('IKeyForm').AsInteger;
ADOSProc3.Parameters.ParamValues['@IKeyClient'] := cdTem.fieldbyname('IKeyClient').AsInteger;
ADOSProc3.Parameters.ParamValues['@DDatePZ'] := cdTem.fieldbyname('DDatePZ').AsDateTime;
ADOSProc3.Parameters.ParamValues['@DDateJH'] := cdTem.fieldbyname('DDateJH').AsDateTime;
ADOSProc3.Parameters.ParamValues['@CUser'] := cdTem.fieldbyname('CUser').AsString;
ADOSProc3.Parameters.ParamValues['@FJE'] := cdTem.fieldbyname('FJE').AsFloat;
ADOSProc3.Parameters.ParamValues['@IDL'] := cdTem.fieldbyname('IDL').AsInteger;
ADOSProc3.Parameters.ParamValues['@IKey'] := IKEY;
ADOSProc3.ExecProc;
IKey := ADOSProc3.Parameters.ParamValues['@IKey'];
IF IKEY = -1 THEN BEGIN
Result := '单号重复啦,请仔细检查!';
Exit;
END;
IF IKEY = 0 THEN BEGIN
Result := '出现不明错误,保存失败,请稍后再试!';
Exit;
END;
ADOSProc3.Close;
ADOSProc3.ProcedureName := 'P_ApplyStockItem';
ADOSProc3.Parameters.Refresh;
cdTem.First;
WHILE NOT cdTem.Eof DO BEGIN
ADOSProc3.Parameters.ParamValues['@IKeyM'] := IKEY;
ADOSProc3.Parameters.ParamValues['@IKeySTK'] := cdTem.fieldbyname('IKeyCp').AsInteger;
if idl < 0 then begin
ADOSProc3.Parameters.ParamValues['@FSl'] := -cdTem.fieldbyname('FSl').AsFloat;
ADOSProc3.Parameters.ParamValues['@FZL'] := -cdTem.fieldbyname('FZL').AsFloat;
end
else Begin
ADOSProc3.Parameters.ParamValues['@FSl'] := cdTem.fieldbyname('FSl').AsFloat;
ADOSProc3.Parameters.ParamValues['@FZL'] := cdTem.fieldbyname('FZL').AsFloat;
end;
ADOSProc3.ExecProc;
cdTem.Next;
END; // END While
ADOCn.CommitTrans;
except
on E:Exception do
Result := E.Message;
end;
finally
if ADOCn.InTransaction then
ADOCn.RollbackTrans;
cdTem.Free;
end;
end;
function TWeiJieServer.ApplyUpdateStockPlan(mData, iData: OleVariant): String;
VAR cdTem: TclientDataSet;
ikey: integer;
begin
result := '';
iKey := 0;
cdTem := TclientDataSet.Create(nil);
try
try
ADOCn.BeginTrans;
ADOSProc3.Close;
ADOSProc3.ProcedureName := 'P_ApplyStockPlanMaster';
ADOSProc3.Parameters.Refresh;
ADOSProc3.Parameters.ParamValues['@CDH'] := cdTem.fieldbyname('CDH').AsString;
ADOSProc3.Parameters.ParamValues['@IKeyClient'] := cdTem.fieldbyname('IKeyClient').AsInteger;
ADOSProc3.Parameters.ParamValues['@DDatePZ'] := cdTem.fieldbyname('DDatePZ').AsDateTime;
ADOSProc3.Parameters.ParamValues['@DDateJH'] := cdTem.fieldbyname('DDateJH').AsDateTime;
ADOSProc3.Parameters.ParamValues['@CUser'] := cdTem.fieldbyname('CUser').AsString;
ADOSProc3.Parameters.ParamValues['@FJE'] := cdTem.fieldbyname('FJE').AsFloat;
ADOSProc3.Parameters.ParamValues['@IDL'] := cdTem.fieldbyname('IDL').AsInteger;
ADOSProc3.Parameters.ParamValues['@IKey'] := IKEY;
ADOSProc3.ExecProc;
IKey := ADOSProc3.Parameters.ParamValues['@IKey'];
IF IKEY = -1 THEN BEGIN
Result := '单号重复啦,请仔细检查!';
Exit;
END;
IF IKEY = 0 THEN BEGIN
Result := '出现不明错误,保存失败,请稍后再试!';
Exit;
END;
ADOSProc3.Close;
ADOSProc3.ProcedureName := 'P_ApplyStockPlanItem';
ADOSProc3.Parameters.Refresh;
cdTem.First;
WHILE NOT cdTem.Eof DO BEGIN
ADOSProc3.Parameters.ParamValues['@IKeyM'] := IKEY;
ADOSProc3.Parameters.ParamValues['@IKeySTK'] := cdTem.fieldbyname('IKeyCp').AsInteger;
ADOSProc3.Parameters.ParamValues['@FSl'] := cdTem.fieldbyname('FSl').AsFloat;
ADOSProc3.Parameters.ParamValues['@FZL'] := cdTem.fieldbyname('FZL').AsFloat;
ADOSProc3.ExecProc;
cdTem.Next;
END;
ADOCn.CommitTrans;
except
on E:Exception do
Result := E.Message;
end;
finally
if ADOCn.InTransaction then
ADOCn.RollbackTrans;
cdTem.Free;
end;
end;
function TWeiJieServer.IApplyUpdateStock(mData,
iData: OleVariant): Smallint;
var cRet: string;
begin
Result := 1;
cRet := ApplyUpdateStock(mData,iData);
If cRet <> '' Then BEGIN
ReSult := -1;
RAISE exception.Create('保存没有成功,请认真阅读下面提示从中找出原因:'+#13+#13+cRet);
END;
end;
function TWeiJieServer.IApplyUpdateGoods(mData,
iData: OleVariant): Smallint;
var cRet: string;
begin
Result := 1;
cRet := ApplyUpdateGoods(mData,iData);
If cRet <> '' Then BEGIN
ReSult := -1;
RAISE exception.Create('保存没有成功,请认真阅读下面提示从中找出原因:'+#13+#13+cRet);
END;
end;
function TWeiJieServer.IApplyUpdateHGoods(mData,
iData: OleVariant): Smallint;
var cRet: string;
begin
Result := 1;
cRet := ApplyUpdateHGoods(mData,iData);
If cRet <> '' Then BEGIN
ReSult := -1;
RAISE exception.Create('保存没有成功,请认真阅读下面提示从中找出原因:'+#13+#13+cRet);
END;
end;
function TWeiJieServer.IApplyUpdateStockPlan(mData,
iData: OleVariant): Smallint;
var cRet: string;
begin
Result := 1;
cRet := ApplyUpdateStockPlan(mData,iData);
If cRet <> '' Then BEGIN
ReSult := -1;
RAISE exception.Create('保存没有成功,请认真阅读下面提示从中找出原因:'+#13+#13+cRet);
END;
end;
procedure TWeiJieServer.dsColorUpdateData(Sender: TObject;
DataSet: TCustomClientDataSet);
begin
dataset.FieldByName('CKey').ProviderFlags:=
dataset.FieldByName('Ckey').ProviderFlags+[pfinkey];
end;
function TWeiJieServer.IUpChangePass(const ccode, cPassO,
cPassN: WideString): Smallint;
begin
result := DoUpChangePass(ccode,cpasso,cpassN);
if result = -1 then
RAISE exception.Create('用户不存在,无法更改密码!');
if result = 0 then
RAISE exception.Create('原来的密码不正确,请检查!');
end;
function TWeiJieServer.DoUpChangePass(ccode, cpassO,
cPassN: STRING): integer;
begin
with ADOPub do begin
close;
ProcedureName := 'P_UPChangePass';
Parameters.Refresh;
parameters.ParamValues['@ccode'] := ccode;
parameters.ParamValues['@cpassO'] := cPassO;
parameters.ParamValues['@cPassN'] := cPassN;
execProc;
Result := parameters.ParamValues['@return_value'];
end;
end;
procedure TWeiJieServer.PGetZhangbenCWGetData(Sender: TObject;
DataSet: TCustomClientDataSet);
begin
DoGetZhangBenCWJX(DataSet);
end;
procedure TWeiJieServer.DoGetZhangBenCWJX(DataSet: TCustomClientDataSet);
var je: Array[1..6] of double;
mon:word;
begin
je[1] := 0; //销售
je[2] := 0; //收款
je[3] := 0; //结余
je[4] := 0; //付款
je[5] := 0; //发外加工
je[6] := 0; //结余
with DataSet do
begin
first;
mon:=fieldbyname('mon').asinteger;
while not eof do
begin
if (mon <> fieldbyname('mon').asinteger) and
(fieldbyname('cZhaiY').AsString <> '期初转结') then
begin
mon:=fieldbyname('mon').asinteger;
insert;
fieldbyname('cZhaiy').asstring:='本月结存';
fieldbyname('fjfX').asfloat:=je[1];
fieldbyname('fdfX').asfloat:=je[2];
fieldbyname('fjyX').asfloat:=je[1]-je[2]+je[3];
fieldbyname('fjff').asfloat:=je[4];
fieldbyname('fdfJ').asfloat:=je[5];
fieldbyname('fjyf').asfloat:=je[4]-je[5] + je[6];
post;
je[1]:=0;
je[2]:=0;
je[3]:=fieldbyname('fjyX').asfloat;
je[4]:=0;
je[5]:=0;
je[6]:=fieldbyname('fjyf').asfloat;
next;
end;
je[1]:=je[1]+fieldbyname('fjfX').AsFloat;
je[2]:=je[2]+fieldbyname('fdfX').AsFloat;
je[3]:=je[3]+fieldbyname('fjyX').AsFloat;
je[4]:=je[4]+fieldbyname('fjff').AsFloat;
je[5]:=je[5]+fieldbyname('fdfj').AsFloat;
je[6]:=je[6]+fieldbyname('fjyf').AsFloat;
edit;
fieldbyname('fjyX').AsFloat := je[1]-je[2]+je[3];
fieldbyname('fjyf').AsFloat := je[4]-je[5]+je[6];
next;
end;
append;
fieldbyname('cZhaiY').asstring:='本月结存';
fieldbyname('fjfX').asfloat:=je[1];
fieldbyname('fdfX').asfloat:=je[2];
fieldbyname('fjyX').asfloat:=je[1]-je[2]+je[3];
fieldbyname('fjff').asfloat:=je[4];
fieldbyname('fdfj').asfloat:=je[5];
fieldbyname('fjyf').asfloat:=je[4]-je[5]+je[6];
post;
end;
end;
procedure TWeiJieServer.DoGetZhangBenCKJX(DataSet: TCustomClientDataSet);
var je: Array[1..5] of double;
mon:word;
begin
je[1] := 0; //进仓
je[2] := 0; //出仓
je[3] := 0; //回收
je[4] := 0; //发外
je[5] := 0; //结余
with DataSet do
begin
first;
mon:=fieldbyname('mon').asinteger;
while not eof do
begin
if (mon <> fieldbyname('mon').asinteger) and
(fieldbyname('cZhaiY').AsString <> '期初转结') then
begin
mon:=fieldbyname('mon').asinteger;
insert;
fieldbyname('cZhaiy').asstring:='本月结存';
fieldbyname('fjc').asfloat:=je[1];
fieldbyname('fcc').asfloat:=je[2];
fieldbyname('fBack').asfloat:=je[4];
fieldbyname('fout').asfloat:=je[4];
fieldbyname('fjy').asfloat:= je[1] + je[3] - je[2] - je[4] + je[5];
post;
je[1]:=0;
je[2]:=0;
je[3]:=0;
je[4]:=0;
je[5]:=fieldbyname('fjy').asfloat;
next;
end;
je[1]:=je[1]+fieldbyname('fjc').AsFloat;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -