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

📄 untadjstattr.pas

📁 是分布式粮库程序,是采用Delphi实现的
💻 PAS
字号:
unit UntAdjstAttr;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UnitStandard1, DBTables, DBCtrls, DB, Menus, ImgList, Grids,
  DBGrids, ComCtrls, StdCtrls, ExtCtrls, Mask, Buttons, ToolWin;

type
  TFrmAdjustAttr = class(TFrmStandard1)
    LblUnitName: TLabel;
    DBLkpCmbxUnitName: TDBLookupComboBox;
    TblUnit_Info: TTable;
    DataSourceUnit_info: TDataSource;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    DBEditInStackID: TDBEdit;
    DBEditClerk: TDBEdit;
    DBEditManager: TDBEdit;
    DBEditDate: TDBEdit;
    DBEditQuantity: TDBEdit;
    Label33: TLabel;
    TblPosition: TTable;
    DataSourcePosition: TDataSource;
    TblSite: TTable;
    DataSourceSite: TDataSource;
    TblDepot: TTable;
    DataSourceDepot: TDataSource;
    GroupBox8: TGroupBox;
    Label52: TLabel;
    Label53: TLabel;
    Label54: TLabel;
    DBLkpCmbxPosition: TDBLookupComboBox;
    DBLkpCmbxSite: TDBLookupComboBox;
    DBLkpCmbxDepot: TDBLookupComboBox;
    GroupBox6: TGroupBox;
    DBMemo1: TDBMemo;
    BitBtnSlctInStackID: TBitBtn;
    TblFood: TTable;
    DataSourceFood: TDataSource;
    DBLkpCmbxInFood: TDBLookupComboBox;
    QrySQLUNIT_ID: TIntegerField;
    QrySQLADJUST_ID: TStringField;
    QrySQLINSTACK_ID: TStringField;
    QrySQLSITE_ID: TIntegerField;
    QrySQLDEPOT_ID: TIntegerField;
    QrySQLFOODPOSITION_ID: TIntegerField;
    QrySQLNEW_ATTR: TStringField;
    QrySQLFOODTYPE: TStringField;
    QrySQLQUANTITY: TFloatField;
    QrySQLDATETIME: TDateTimeField;
    QrySQLMANAGER: TStringField;
    QrySQLCLERK: TStringField;
    QrySQLMEMO: TStringField;
    TblAttr: TTable;
    DataSourceAttr: TDataSource;
    DBLkpCmbxOldAttr: TDBLookupComboBox;
    DBLkpCmbxNewAttr: TDBLookupComboBox;
    QrySQLATTR: TStringField;
    QrySQLAdjustor: TStringField;
    QrySQLstatus: TIntegerField;
    QrySQLCOM_FLAG: TIntegerField;
    DBEditStatus: TDBEdit;
    LblStatus: TLabel;
    procedure BitBtnSlctInStackIDClick(Sender: TObject);
    procedure DBEditKeyExit(Sender: TObject);
    procedure DBLkpCmbxUnitNameExit(Sender: TObject);
    procedure BitBtnNewClick(Sender: TObject);
    procedure BitBtnSaveClick(Sender: TObject);
    procedure BitBtnRefreshClick(Sender: TObject);
    procedure BitBtnCancelClick(Sender: TObject);
    procedure QrySQLAfterScroll(DataSet: TDataSet);
    procedure QrySQLDATETIMESetText(Sender: TField; const Text: String);
    procedure QrySQLQUANTITYSetText(Sender: TField; const Text: String);
  private
    { Private declarations }
  public
    { Public declarations }
    InStackID,FdType,Attribute: string;
    Remain: double;
    SiteID, DepotID, PositionID: integer;
  end;

var
  FrmAdjustAttr: TFrmAdjustAttr;

implementation

uses UntSlctInStockID;

{$R *.dfm}


procedure TFrmAdjustAttr.BitBtnSlctInStackIDClick(Sender: TObject);
begin
  inherited;
  InStackID := '';
  FdType := '';
  Attribute :='';

  Remain := 0;
  SiteID := 0;
  DepotID := 0;
  PositionID := 0;

  UntSlctInStockId.SltFlds(Self);

  if Length(InStackID)<>0 then
  begin
    DBGrid1.DataSource.DataSet.Edit;
    DBEditInStackID.Field.AsString := InStackID;
  end;
  if Length(FdType)<>0 then
  begin
    DBGrid1.DataSource.DataSet.Edit;
    DBLkpCmbxInfood.Field.AsString := FdType;
  end;
  if Length(Attribute)<>0 then
  begin
    DBGrid1.DataSource.DataSet.Edit;
    DBLkpCmbxOldAttr.Field.AsString := Attribute;
  end;
  if SiteID <> 0 then
  begin
    DBGrid1.DataSource.DataSet.Edit;
    DBLkpCmbxSite.Field.AsInteger := SiteID;
  end;
  if DepotID <> 0 then
  begin
    DBGrid1.DataSource.DataSet.Edit;
    DBLkpCmbxDepot.Field.AsInteger := DepotID;
  end;
  if PositionID <> 0 then
  begin
    DBGrid1.DataSource.DataSet.Edit;
    DBLkpCmbxPosition.Field.AsInteger := PositionID;
  end;
  if Remain <> 0 then
  begin
    DBGrid1.DataSource.DataSet.Edit;
    DBEditQuantity.Field.AsFloat := Remain;
  end;
end;

procedure TFrmAdjustAttr.DBEditKeyExit(Sender: TObject);
begin
  inherited;
  if DBEditKey.Text='' then
  begin
    showmessage('性质调整单编号不能为空,请输入!');
    DBEditKey.SetFocus;
    exit;
  end;
  DBLkpCmbxUnitName.Enabled:=true;
  DBLkpCmbxUnitName.SetFocus;

end;

procedure TFrmAdjustAttr.DBLkpCmbxUnitNameExit(Sender: TObject);
var
  QryCX: Tquery;
  Str : string;
begin
  inherited;
  if DBLkpCmbxUnitName.Text='' then
  begin
    Showmessage('分公司不能为空,请输入!');
    DBLkpCmbxUnitName.SetFocus;
    exit;
  end;
  try
    QryCX:= TQuery.Create(nil);
    QryCX.DatabaseName := 'LYDB';
    QryCX.SQL.Clear;
    str:='select * from ENT_ADJUST_ATTR where ADJUST_ID='''+trim(DBEditKey.Text)+''' and UNIT_ID='+intToStr(DBLkpCmbxUnitName.Field.AsInteger);
    QryCX.SQL.Add(Str);
    QryCX.Open;
    if QryCX.RecordCount>0 then
    begin
      showmessage('调整编号重复,请重新输入!');
      DBEditKey.Enabled:=true;
      DBEditKey.SetFocus;
    end;
  finally
    QryCX.Close;
    QryCX.Free;
  end;
end;

procedure TFrmAdjustAttr.BitBtnNewClick(Sender: TObject);
begin
  inherited;
  DBLkpCmbxUnitName.Enabled:=true;
  DBEditStatus.Field.AsInteger:=0;
end;

procedure TFrmAdjustAttr.BitBtnSaveClick(Sender: TObject);
begin
  inherited;
  if DBEditkey.Text='' then
  begin
    Showmessage('调整编号不能为空,请输入!');
    DBEditKey.SetFocus;
    DBEditKey.Enabled:=true;
    exit;
  end;
  if DBLkpCmbxUnitName.Text='' then
  begin
    Showmessage('分公司不能为空,请输入!');
    DBLkpCmbxUnitName.Enabled:=true;
    DBLkpCmbxUnitName.SetFocus;
    exit;
  end;
  if DBEditInStackID.Text='' then
  begin
    Showmessage('入库单编号不能为空,请输入!');
    BitBtnSlctInStackID.SetFocus;
    exit;
  end;
  if DBLkpCmbxNewAttr.Text='' then
  begin
    Showmessage('新性质不能为空,请输入!');
    DBLkpCmbxNewAttr.SetFocus;
    exit;
  end;
  DBLkpCmbxUnitName.Enabled:=false;
end;

procedure TFrmAdjustAttr.BitBtnRefreshClick(Sender: TObject);
begin
  inherited;
  DBLkpCmbxUnitName.Enabled:=false;
end;

procedure TFrmAdjustAttr.BitBtnCancelClick(Sender: TObject);
begin
  inherited;
  DBLkpCmbxUnitName.Enabled:=false;
end;

procedure TFrmAdjustAttr.QrySQLAfterScroll(DataSet: TDataSet);
begin
  inherited;
  DBLkpCmbxUnitName.Enabled:=false;
end;

procedure TFrmAdjustAttr.QrySQLDATETIMESetText(Sender: TField;
  const Text: String);
begin
  inherited;
  if DBEditDate.Text<>'    -  -  ' then
    try
      Sender.AsDateTime:=strtodate(DBEditDate.EditText);
    except
      Application.MessageBox(PChar(DBEditDate.EditText+'不是有效的日期!'),'错误',mb_Ok+mb_IconError);
      abort;
    end
  else
    Sender.Clear;
end;

procedure TFrmAdjustAttr.QrySQLQUANTITYSetText(Sender: TField;
  const Text: String);
begin
  inherited;
  if DBEditQuantity.EditText<>'' then
    begin
      try
        Sender.AsFloat:=strtofloat(DBEditQuantity.EditText);
      except
        Application.MessageBox(PChar(DBEditQuantity.EditText+'不是有效的数值或超出范围'),'错误',mb_Ok+mb_IconError);
        abort;
      end;
      if (DBEditQuantity.Field.AsFloat>9999999.99) or (DBEditQuantity.Field.AsFloat<0) then
        begin
          Application.MessageBox(PChar(DBEditQuantity.EditText+'数值超出范围'),'错误',mb_Ok+mb_IconError);
          abort;
        end;
    end
  else
    Sender.Clear;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -