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

📄 untslctinstockid.pas

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

interface

uses
  UntAdjstAttr,UntSaleOutStack, UntTransferOutStack, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UntSlctField, DB, DBTables, Grids, DBGrids, StdCtrls, Buttons,
  ExtCtrls, DBCtrls;

type
  TFrmSlctInStockID = class(TFrmSlctField)
    TblSlctINSTACK_ID: TStringField;
    TblSlctIN_QUANTITY: TFloatField;
    TblSlctSTORAGE: TFloatField;
    TblSlctPROD_AREA: TStringField;
    TblSlctFQ_MOISTURE: TFloatField;
    TblSlctFQ_IMPURITY: TFloatField;
    TblSlctFQ_ITEM1: TFloatField;
    TblSlctFQ_ITEM2: TFloatField;
    TblSlctFQ_ITEM3: TFloatField;
    TblSlctFQ_ITEM4: TFloatField;
    TblSlctFQ_CLASS: TStringField;
    TblSlctATTRIBUTE: TStringField;
    TblSlctMEMO: TStringField;
    TblSlctIN_FOOD: TStringField;
    TblSlctSUPPLYER: TStringField;
    TblSlctUNIT_ID: TIntegerField;
    TblSlctSITE_ID: TIntegerField;
    TblSlctDEPOT_ID: TIntegerField;
    TblSlctFOODPOSITION_ID: TIntegerField;
    TblSlctFQ_ITEM5: TFloatField;
    TblSlctATTACHMENT: TStringField;
    TblSlctR_NEW: TIntegerField;
    TblSlctR_OLD: TIntegerField;
    TblSlctR_MISC: TIntegerField;
    TblSlctIN_TIME: TDateTimeField;
    TblSlctREAP_YEAR: TIntegerField;
    TblSlctR_TORN: TIntegerField;
    TblSlctR_KNIT: TIntegerField;
    DtSrcDepot: TDataSource;
    DtSrcSite: TDataSource;
    QryUnit: TQuery;
    DtSrcUnit: TDataSource;
    DtSrcPosition: TDataSource;
    BitBtnFilter: TBitBtn;
    DBLkpCmbxSite: TDBLookupComboBox;
    DBLkpCmbxPosition: TDBLookupComboBox;
    DBLkpCmbxDepot: TDBLookupComboBox;
    DBLkpCmbxUnit: TDBLookupComboBox;
    QrySite: TQuery;
    QryDepot: TQuery;
    QryPosition: TQuery;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    procedure BitBtnOkClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtnFilterClick(Sender: TObject);
    procedure DBLkpCmbxSiteDropDown(Sender: TObject);
    procedure DBLkpCmbxDepotDropDown(Sender: TObject);
    procedure DBLkpCmbxPositionDropDown(Sender: TObject);
    procedure DBLkpCmbxUnitDropDown(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    
  end;

 procedure SltFlds(OwnerForm: TForm);

var
  FrmSlctInStockID: TFrmSlctInStockID;
  s_InStackID,s_FdType,s_FQ_Class,s_Attribute: string;
  s_Remain,s_FQ_Moisture,s_FQ_IMPURITY,s_FQ_ITEM1,s_FQ_ITEM2,s_FQ_ITEM3,s_FQ_ITEM4,s_FQ_ITEM5: double;
  s_SiteID,s_DepotID,s_PositionID: integer;

implementation

uses Global;

{$R *.dfm}

procedure SltFlds(OwnerForm: TForm);
begin
  FrmSlctInStockID := TFrmSlctInStockID.create (OwnerForm);
  try
    if FrmSlctInStockID.ShowModal = mrOK then
      begin
        if FrmSlctInStockID.Owner = FrmTransferOutStack then
        begin
          FrmTransferOutStack.InStackID := s_InStackID;
          FrmTransferOutStack.FdType := s_FdType;
          FrmTransferOutStack.FQ_Class := s_FQ_Class;
          FrmTransferOutStack.FQ_Moisture := s_FQ_Moisture;
          FrmTransferOutStack.FQ_IMPURITY := s_FQ_IMPURITY;
          FrmTransferOutStack.FQ_ITEM1 := s_FQ_ITEM1;
          FrmTransferOutStack.FQ_ITEM2 := s_FQ_ITEM2;
          FrmTransferOutStack.FQ_ITEM3 := s_FQ_ITEM3;
          FrmTransferOutStack.FQ_ITEM4 := s_FQ_ITEM4;
          FrmTransferOutStack.FQ_ITEM5 := s_FQ_ITEM5;
          FrmTransferOutStack.Remain := s_Remain;
        end;
        if FrmSlctInStockID.Owner = FrmSaleOutStack then
        begin
          FrmSaleOutStack.InStackID := s_InStackID;
          FrmSaleOutStack.FdType := s_FdType;
          FrmSaleOutStack.FQ_Class := s_FQ_Class;
          FrmSaleOutStack.FQ_Moisture := s_FQ_Moisture;
          FrmSaleOutStack.FQ_IMPURITY := s_FQ_IMPURITY;
          FrmSaleOutStack.FQ_ITEM1 := s_FQ_ITEM1;
          FrmSaleOutStack.FQ_ITEM2 := s_FQ_ITEM2;
          FrmSaleOutStack.FQ_ITEM3 := s_FQ_ITEM3;
          FrmSaleOutStack.FQ_ITEM4 := s_FQ_ITEM4;
          FrmSaleOutStack.FQ_ITEM5 := s_FQ_ITEM5;
          FrmSaleOutStack.Remain := s_Remain;
        end;
        if FrmSlctInStockID.Owner = FrmAdjustAttr then
        begin
          FrmAdjustAttr.InStackID := s_InStackID;
          FrmAdjustAttr.FdType := s_FdType;
          FrmAdjustAttr.SiteID := s_SiteID;
          FrmAdjustAttr.DepotID := s_DepotID;
          FrmAdjustAttr.PositionID := s_PositionID;
          FrmAdjustAttr.Remain := s_Remain;
          FrmAdjustAttr.Attribute := s_Attribute;
        end;
      end
  finally
    FrmSlctInStockID.Free;
    FrmSlctInStockID:=nil;
  end;
end;

procedure TFrmSlctInStockID.BitBtnOkClick(Sender: TObject);
begin
  s_InStackID := TblSlct.FieldByName('InStack_ID').AsString;
  s_FdType := TblSlct.FieldByName('IN_FOOD').AsString;
  s_Attribute := TblSlct.FieldByName('Attribute').AsString;
  s_FQ_Class := TblSlct.FieldByName('FQ_Class').AsString;
  s_Remain := TblSlct.FieldByName('STORAGE').AsFloat;
  s_FQ_Moisture := TblSlct.FieldByName('FQ_Moisture').AsFloat;
  s_FQ_IMPURITY := TblSlct.FieldByName('FQ_IMPURITY').AsFloat;
  s_FQ_ITEM1 := TblSlct.FieldByName('FQ_ITEM1').AsFloat;
  s_FQ_ITEM2 := TblSlct.FieldByName('FQ_ITEM2').AsFloat;
  s_FQ_ITEM3 := TblSlct.FieldByName('FQ_ITEM3').AsFloat;
  s_FQ_ITEM4 := TblSlct.FieldByName('FQ_ITEM4').AsFloat;
  s_FQ_ITEM5 := TblSlct.FieldByName('FQ_ITEM5').AsFloat;
  s_SiteID :=  TblSlct.FieldByName('Site_id').AsInteger;
  S_DepotID := TblSlct.FieldByName('Depot_id').AsInteger;
  s_PositionID := TblSlct.FieldByName('FoodPosition_id').AsInteger;
  inherited;
end;

procedure TFrmSlctInStockID.FormCreate(Sender: TObject);
begin
  inherited;
  if global.g_user.UnitID<>0 then
    begin
      DBLkpCmbxUnit.KeyValue:=global.g_user.UnitID;
      DBLkpCmbxUnit.Enabled:=false;
    end;
end;

procedure TFrmSlctInStockID.BitBtnFilterClick(Sender: TObject);
var
  StrFilter: string;
begin
  inherited;
  if DBLkpCmbxUnit.Text<>'' then
    if DBLkpCmbxSite.Text<>'' then
      if DBLkpCmbxDepot.Text<>'' then
        if DBLkpCmbxPosition.Text<>'' then
          StrFilter:='Unit_id='+inttostr(DBLkpCmbxUnit.KeyValue)+' and Site_id='+inttostr(DBLkpCmbxSite.KeyValue)+' and Depot_id='+inttostr(DBLkpCmbxDepot.KeyValue)+' and FoodPosition_Id='+inttostr(DBLkpCmbxPosition.KeyValue)
        else
          StrFilter:='Unit_id='+inttostr(DBLkpCmbxUnit.KeyValue)+' and Site_id='+inttostr(DBLkpCmbxSite.KeyValue)+' and Depot_id='+inttostr(DBLkpCmbxDepot.KeyValue)
      else
        StrFilter:='Unit_id='+inttostr(DBLkpCmbxUnit.KeyValue)+' and Site_id='+inttostr(DBLkpCmbxSite.KeyValue)
    else
      StrFilter:='Unit_id='+inttostr(DBLkpCmbxUnit.KeyValue)
  else
    strFilter:='';
  TblSlct.Active:=false;
  TblSlct.Filter:=StrFilter;
  TblSlct.Filtered:=true;
  TblSlct.Active:=true;
  if DBGrid1.DataSource.DataSet.RecordCount > 0 then
    BitBtnOk.Enabled := true ;
end;

procedure TFrmSlctInStockID.DBLkpCmbxSiteDropDown(Sender: TObject);
begin
  inherited;
  if DBLkpCmbxUnit.Text<>'' then
    begin
      DBLkpCmbxDepot.KeyValue:=-1;
      DBLkpCmbxPosition.KeyValue:=-1;
      QrySite.Close;
      QrySite.Filter:='UNIT_ID='+ IntToStr(DBLkpCmbxUnit.KeyValue);
      QrySite.Filtered:=true;
      QrySite.Open;
    end
  else
    begin
      showmessage('请选择分公司!');
      DBLkpCmbxUnit.Enabled:=true;
      DBLkpCmbxUnit.SetFocus;
    end;
end;

procedure TFrmSlctInStockID.DBLkpCmbxDepotDropDown(Sender: TObject);
begin
  inherited;
  if (DBLkpCmbxUnit.Text<>'') and (DBLkpCmbxSite.Text<>'') then
    begin
      DBLkpCmbxPosition.KeyValue:=-1;
      QryDepot.Close;
      QryDepot.Filter:='UNIT_ID='+ IntToStr(DBLkpCmbxUnit.KeyValue)+' and SITE_ID='+IntToStr(DBLkpCmbxSite.KeyValue);
      QryDepot.Filtered:=true;
      QryDepot.Open;
    end;
  if DBLkpCmbxUnit.Text='' then
    begin
      showmessage('请选择分公司!');
      DBLkpCmbxUnit.Enabled:=true;
      DBLkpCmbxUnit.SetFocus;
      exit;
    end;
  if DBLkpCmbxSite.Text='' then
    begin
      showmessage('请选择库点!');
      DBLkpCmbxSite.Enabled:=true;
      DBLkpCmbxSite.SetFocus;
    end;
end;

procedure TFrmSlctInStockID.DBLkpCmbxPositionDropDown(Sender: TObject);
begin
  inherited;
  if (DBLkpCmbxUnit.Text<>'') and (DBLkpCmbxSite.Text<>'') and (DBLkpCmbxDepot.Text<>'') then
    begin
      QryPosition.Close;
      QryPosition.Filter:='UNIT_ID='+ IntToStr(DBLkpCmbxUnit.KeyValue)+' and SITE_ID='+IntToStr(DBLkpCmbxSite.KeyValue)+' and Depot_ID='+IntToStr(DBLkpCmbxDepot.KeyValue);
      QryPosition.Filtered:=true;
      QryPosition.Open;
    end;
  if DBLkpCmbxUnit.Text='' then
    begin
      showmessage('请选择分公司!');
      DBLkpCmbxUnit.Enabled:=true;
      DBLkpCmbxUnit.SetFocus;
      exit;
    end;
  if DBLkpCmbxSite.Text='' then
    begin
      showmessage('请选择库点!');
      DBLkpCmbxSite.Enabled:=true;
      DBLkpCmbxSite.SetFocus;
      exit;
    end;
  if DBLkpCmbxDepot.Text='' then
    begin
      showmessage('请选择库房!');
      DBLkpCmbxDepot.Enabled:=true;
      DBLkpCmbxDepot.SetFocus;
    end;
end;

procedure TFrmSlctInStockID.DBLkpCmbxUnitDropDown(Sender: TObject);
begin
  inherited;
  DBLkpCmbxsite.KeyValue:=-1;
  DBLkpCmbxdepot.KeyValue:=-1;
  DBLkpCmbxPosition.KeyValue:=-1;
end;

end.

⌨️ 快捷键说明

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