⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fjdlpz_un.pas

📁 手机进销存系统Delphi源码,管理手机的进货还有销售方面的功能
💻 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 + -