📄 fjdlpz_un.pas
字号:
unit fjdlpz_un;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, fjxcbase_un, ADODB, DB, ActnList, bsMessages, bsSkinData,
BusinessSkinForm, bsSkinCtrls, bsSkinGrids, bsDBGrids, ExtCtrls,
StdCtrls, bsdbctrls, Mask, bsSkinBoxCtrls,StrUtils;
type
Tfjdlpz_frm = class(Tfjxcbase_frm)
bsSkinStdLabel8: TbsSkinStdLabel;
bsSkinStdLabel5: TbsSkinStdLabel;
bsSkinDBEdit1: TbsSkinDBEdit;
bsdb_1: TbsSkinEdit;
bssl_1: TbsSkinDBText;
bsSkinStdLabel17: TbsSkinStdLabel;
bsSkinStdLabel6: TbsSkinStdLabel;
bsSkinStdLabel7: TbsSkinStdLabel;
bsSkinEdit2: TbsSkinEdit;
bsSkinDBEdit2: TbsSkinDBEdit;
bsSkinDBLookupComboBox4: TbsSkinDBLookupComboBox;
tbl_yg: TADOTable;
ds_yg: TDataSource;
tbl_gt: TADOTable;
ds_gt: TDataSource;
bsSkinDBLookupComboBox3: TbsSkinDBLookupComboBox;
bsSkinStdLabel9: TbsSkinStdLabel;
bsSkinStdLabel12: TbsSkinStdLabel;
bsSkinStdLabel13: TbsSkinStdLabel;
bsSkinStdLabel14: TbsSkinStdLabel;
bsSkinStdLabel15: TbsSkinStdLabel;
bsSkinStdLabel16: TbsSkinStdLabel;
bsSkinStdLabel18: TbsSkinStdLabel;
bsSkinStdLabel19: TbsSkinStdLabel;
bsSkinStdLabel20: TbsSkinStdLabel;
bsSkinStdLabel21: TbsSkinStdLabel;
bsSkinStdLabel22: TbsSkinStdLabel;
bsSkinStdLabel23: TbsSkinStdLabel;
sp_checkdlfj: TADOStoredProc;
bsSkinStdLabel24: TbsSkinStdLabel;
bsSkinStdLabel25: TbsSkinStdLabel;
sp_checkfj: TADOStoredProc;
procedure acSaveExecute(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure acModifyExecute(Sender: TObject);
procedure acDeleteExecute(Sender: TObject);
procedure acNewExecute(Sender: TObject);
private
procedure setsta();
{ Private declarations }
public
{ Public declarations }
end;
var
fjdlpz_frm: Tfjdlpz_frm;
implementation
{$R *.dfm}
procedure tfjdlpz_frm.setsta();
var i:integer;
begin
for i:=0 to ComponentCount-1 do
if Components[i] is TbsSkinDBLookupComboBox then
TbsSkinDBLookupComboBox(Components[i]).KeyValue:=null;
bsSkinPanel3.Enabled:=false;
bsSkinCheckRadioBox2.Checked:=true;
acNew.Enabled:=true;
acModify.Enabled:=true;
acDelete.Enabled:=true;
acSave.Enabled:=false;
acCancel.Enabled:=false;
bsSkinGroupBox3.Enabled:=true;
bsSkinDBGrid2.Enabled:=true;
bsSkinStdLabel19.Caption:='';
bsSkinStdLabel20.Caption:='';
bsSkinStdLabel21.Caption:='';
bsSkinStdLabel22.Caption:='';
bsSkinStdLabel23.Caption:='';
exit;
end;
procedure Tfjdlpz_frm.acSaveExecute(Sender: TObject);
begin
if ((act=1)and( StrToInt(bsdb_1.Text)<StrToInt(bsSkinStdLabel25.Caption)))or (act=2)then
begin
with spsave.Parameters do
begin
ParamValues['@IDType']:='FX';
ParamValues['@act']:=act;
ParamValues['@pjzl']:=bsSkinStdLabel4.Caption;
ParamValues['@gt']:=tbl_gt.FieldValues['fid'];
ParamValues['@num']:=bsdb_1.Text;
ParamValues['@date']:=Date();
ParamValues['@glfjid']:=bsSkinStdLabel17.Caption;
ParamValues['@mon']:=bsSkinEdit2.Text;
ParamValues['@person']:=tbl_yg.FieldValues['fid'];
end;
inherited;
end
else
begin
bsSkinMessage1.MessageDlg('本类型附件没有存货,'+#13+'引起原因:'+#13+'原来没有对每一个附件进行领货结帐操作,'+#13+'补求方法:'+#13+'重新添加入库记录,'+#13+'否则不允许操作',mtWarning,[mbYes],0);
setsta();
end;
end;
procedure Tfjdlpz_frm.FormShow(Sender: TObject);
begin
bsSkinStdLabel17.Caption:='' ;
tbl_gt.Open;
tbl_yg.Open;
bsSkinStdLabel19.Caption:='' ;
bsSkinStdLabel20.Caption:='';
bsSkinStdLabel21.Caption:='';
bsSkinStdLabel22.Caption:='';
bsSkinStdLabel23.Caption:='';
bsSkinStdLabel25.Caption:='';
inherited;
end;
procedure Tfjdlpz_frm.acModifyExecute(Sender: TObject);
begin
inherited;
bsSkinStdLabel17.Caption:=bssl_1.Caption;
bsdb_1.Text:=bsSkinDBEdit1.Text;
bsSkinEdit2.Text:=bsSkinDBEdit2.Text;
bsdb_1.Enabled:=false;
end;
procedure Tfjdlpz_frm.acDeleteExecute(Sender: TObject);
begin
with spsave.Parameters do
begin
ParamValues['@IDType']:='FX';
ParamValues['@act']:=3;
end;
inherited;
end;
procedure Tfjdlpz_frm.acNewExecute(Sender: TObject);
var fw:integer;
begin
inherited;
bsdb_1.Enabled:=true;
if LeftStr(sp_fjlx.Parameters.ParamValues['@OutStr'],2)='PZ' then
begin
with sp_checkdlfj.Parameters do
begin
ParamValues['@fpjzl']:= sp_fjlx.Parameters.ParamValues['@OutStr'];
ParamValues['@gt']:=tbl_gt.FieldValues['fid'];
end;
sp_checkdlfj.ExecProc;
if sp_checkdlfj.Parameters.ParamValues['@exist']=1 then
begin
bsSkinStdLabel19.Caption:='有领货';
bsSkinStdLabel20.Caption:=IntToStr(sp_checkdlfj.Parameters.ParamValues['@fl']);
bsSkinStdLabel21.Caption:=IntToStr(sp_checkdlfj.Parameters.ParamValues['@fx']);
bsSkinStdLabel22.Caption:= IntToStr(sp_checkdlfj.Parameters.ParamValues['@ft']);
fw:= sp_checkdlfj.Parameters.ParamValues['@fl']-sp_checkdlfj.Parameters.ParamValues['@fx']-sp_checkdlfj.Parameters.ParamValues['@ft'];
bsSkinStdLabel23.Caption:=IntToStr(fw);
if fw=0 then
bsSkinStdLabel19.Caption:='没有存货';
sp_checkfj.Parameters.ParamValues['@fpjzl']:=sp_fjlx.Parameters.ParamValues['@OutStr'];
sp_checkfj.ExecProc;
bsSkinStdLabel25.Caption:= sp_checkfj.Parameters.ParamValues['@OUtnumber'];
if sp_checkfj.Parameters.ParamValues['@OUtnumber']<=0 then
begin
bsSkinMessage1.MessageDlg('本类型附件没有存货,'+#13+'引起原因:'+#13+'原来没有对每一个附件进行领货结帐操作,'+#13+'补求方法:'+#13+'重新添加入库记录,'+#13+'否则不允许操作',mtWarning,[mbYes],0); setsta();
exit;
end
end;
if sp_checkdlfj.Parameters.ParamValues['@exist']=0 then
begin
bsSkinStdLabel19.Caption:='代理商没有领货';
if bsSkinMessage1.MessageDlg('代理商没有领这种货,是否继续??',mtWarning,[mbYes,mbNo],0)=mrno then
setsta();
end ;
if (sp_checkdlfj.Parameters.ParamValues['@exist']=1)and ((fw=0)or(fw<0)) then
if bsSkinMessage1.MessageDlg('代理商没有存货,是否继续??',mtWarning,[mbYes,mbNo],0)=mrno then
setsta();
end
else
setsta();
//有记录,调用存储过程查询本代理商些类类是否领货,总共领多少,已结帐多少,退领多少,卖多少
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -