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

📄 ioqryfrm.pas

📁 文件包含程序源原文件
💻 PAS
字号:
unit IOQryFrm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls, Buttons, InvDef, dpConst;

type
  TfrmIOQry = class(TForm)
    lblFDate: TLabel;
    edtFDate: TDateTimePicker;
    Image2: TImage;
    lblEDate: TLabel;
    edtEDate: TDateTimePicker;
    edtMatCode: TLabeledEdit;
    edtMoldID: TLabeledEdit;
    edtstkName: TEdit;
    cbxStk: TComboBox;
    edtStkID: TEdit;
    edtSulier: TLabeledEdit;
    edtSuplierName: TEdit;
    cbxSuplier: TComboBox;
    rdoIOMode: TRadioGroup;
    lblStockID: TLabel;
    Panel1: TPanel;
    btnQuery: TBitBtn;
    btnClose: TBitBtn;
    edtPaperNo: TLabeledEdit;
    edtIssPaper: TLabeledEdit;
    edtOrderCode: TLabeledEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btnQueryClick(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure rdoIOModeClick(Sender: TObject);
    procedure cbxStkChange(Sender: TObject);
    procedure cbxSuplierDropDown(Sender: TObject);
    procedure cbxSuplierChange(Sender: TObject);
    procedure edtStkIDChange(Sender: TObject);
    procedure edtStkIDExit(Sender: TObject);
    procedure edtSulierChange(Sender: TObject);
  private
    { Private declarations }
    procedure SetMultilingual;


  public
    { Public declarations }
    ///////////////////////////////////////////////////////
    iSortKey: integer;
    FDate,EDate: TDatetime;
    stk_id:      string;
    sup_cd:      Integer;
    iss_paperno: string;
    mat_rec_id:  Integer;
    order_rec_id:Integer;
    paperno:     string;
    order_code:  string;
    iKind:       Integer;  //-- inventory_sheet kind field value control

    function Set_QryCondition(lcP: PInventory): Boolean;


  end;

var
  frmIOQry: TfrmIOQry;

implementation

uses InvDM;

{$R *.dfm}

procedure TfrmIOQry.FormCreate(Sender: TObject);
begin
  edtStkID.Text       := '';
  edtstkName.Text     := '';
  cbxStk.Text         := '';
  edtSulier.Text      := '';
  edtSuplierName.Text := '';
  cbxSuplier.Text     := '';
  edtMatCode.Text     := '';
  edtMoldID.Text      := '';
  edtPaperNo.Text     := '';
  edtIssPaper.Text    := '';
  edtOrderCode.Text   := '';
  SetMultilingual;
end;

procedure TfrmIOQry.FormShow(Sender: TObject);
begin
  rdoIOMode.ItemIndex := 5;
  case rdoIOMode.ItemIndex of
    0: iKind := 0;
    1: iKind := 1;
    2: iKind := 2;
    3: iKind := 3;
    4: iKind := 4;
    5: iKind := 5;
    else iKind := 5;
  end;
  edtFDate.Date := Now-14;
  edtEDate.Date := Now+1;
end;

procedure TfrmIOQry.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  //Close;
end;


function TfrmIOQry.Set_QryCondition(lcP: PInventory): Boolean;
var i: Integer;
    WDate: array[0..1] of TDatetime;
begin
  Result := True;

   Result := True;
    //--
    WDate[0] := edtFDate.Date;
    WDate[1] := edtEDate.Date;
    if ((WDate[0] > 2)and(formatdatetime('yy/mm/dd',WDate[0]) > formatdatetime('yy/mm/dd',lcP^.DATE)))or
       ((WDate[1] > 2)and(formatdatetime('yy/mm/dd',WDate[1]) < formatdatetime('yy/mm/dd',lcP^.DATE)))then begin
      Result := False;
      Exit;
    end;

    if trim(edtStkID.Text)<>'' then
      if not(lcp^.STK_ID=trim(edtStkID.Text)) then  begin
        result := false;
        exit;
      end;

    if trim(edtSulier.Text)<>'' then
      if not (IntTostr(lcp^.SUP_CD)= trim(edtSulier.Text)) then begin
      result := false;
      exit;
    end;

    if trim(edtMatCode.Text)<>'' then
      if not(dm_Inventory.GetMaterialRID(trim(edtMatCode.Text))=lcp^.MAT_RID) then begin
        result := false;
        exit;
      end;

    if trim(edtMoldID.Text)<>'' then
      if NOT(dm_Inventory.GetOrderRID(trim(edtMoldID.Text))=lcp^.ODR_RID) then begin
        result := false;
        exit;
      end;

    if trim(edtPaperNo.Text)<>'' then
      if NOT(trim(edtPaperNo.Text)=lcp^.PAPERNO) then begin
        result := false;
        exit;
      end;

    if trim(edtIssPaper.Text)<>'' then
      if NOT(trim(edtIssPaper.Text)=lcp^.ISS_PAPERNO) then begin
        result := false;
        exit;
      end;

    if trim(edtOrderCode.Text)<>'' then
      if NOT(trim(edtOrderCode.Text)=lcp^.HAT_CODE) then begin
        result := false;
        exit;
      end;

    if iKind <> 5 then
      if (lcp^.KIND <> iKind) then begin
        result := false;
        exit;
      end;
end;






procedure TfrmIOQry.btnQueryClick(Sender: TObject);
begin
  FDate := strtodatetime(formatdatetime('yyyy/mm/dd',edtFDate.Date)+' 00:00:00');
  EDate := strtodatetime(formatdatetime('yyyy/mm/dd',edtEDate.Date)+' 23:59:59');
  stk_id := trim(edtStkID.Text);
  if trim(edtSulier.Text)='' then sup_cd := 0
  else sup_cd := StrToIntDef(trim(edtSulier.Text),0);
  iss_paperno := trim(edtIssPaper.Text);
  if trim(edtMatCode.Text)='' then mat_rec_id :=0
  else mat_rec_id  := dm_inventory.GetMaterialRID(trim(edtMatCode.Text));

  if trim(edtMoldID.Text)='' then order_rec_id :=0
  else order_rec_id  := dm_inventory.GetOrderRID(trim(edtMoldID.Text));
  paperno    := trim(edtPaperNo.Text);
  order_code := trim(edtOrderCode.Text);
  if rdoIOMode.ItemIndex=-1 then iKind := 5
  else iKind      := rdoIOMode.ItemIndex;
  ModalResult := mrOK;  
end;

procedure TfrmIOQry.btnCloseClick(Sender: TObject);
begin
  //close;
  //ModalResult := mrCancel;
end;

procedure TfrmIOQry.rdoIOModeClick(Sender: TObject);
begin
  case rdoIOMode.ItemIndex of
    0: iKind := 0;
    1: iKind := 1;
    2: iKind := 2;
    3: iKind := 3;
    4: iKind := 4;
    5: iKind := 5;
    else iKind := 5;
  end;
end;

procedure TfrmIOQry.cbxStkChange(Sender: TObject);
begin
  edtStkID.Text   := Get_PosBeforeStr(cbxStk.Text,'_');
  edtStkName.Text := Get_PosAfterStr(cbxStk.Text,'_');
  edtStkID.SetFocus;
end;

procedure TfrmIOQry.cbxSuplierDropDown(Sender: TObject);
begin
  dm_Inventory.Read_SupplyMake_ToCbx(cbxSuplier);
end;

procedure TfrmIOQry.cbxSuplierChange(Sender: TObject);
begin
  edtSulier.Text      := Get_PosBeforeStr(cbxSuplier.Text,'_');
  edtSuplierName.Text := Get_PosAfterStr(cbxSuplier.Text,'_');
  edtSulier.SetFocus;
end;

procedure TfrmIOQry.edtStkIDChange(Sender: TObject);
begin
  edtStkName.Text := dm_Inventory.GetStockName(trim(edtStkID.Text));
end;

procedure TfrmIOQry.edtStkIDExit(Sender: TObject);
var iBool: Boolean;
begin
  iBool := true;
  if not(trim(edtStkID.Text)='') then begin
    iBool := dm_Inventory.Get_StockCheck(trim(edtStkID.Text),edtStkName);
    if not(iBool) then begin
      edtStkID.Text := '';
      Exit;
    end;
  end;
end;

procedure TfrmIOQry.SetMultilingual;
begin
  self.Caption                  := GetMultiLingalMsg(90009, 'I/O History List');
  lblFDate.Caption              := GetMultiLingalMsg(90113, 'Start Date')+' ';
  lblEDate.Caption              := GetMultiLingalMsg(90114, 'End Date')+' ';
  lblStockID.Caption            := GetMultiLingalMsg(90027, 'Stock ID')+' ';
  edtSulier.EditLabel.Caption   := GetMultiLingalMsg(90057, 'Suplier')+' ';
  edtMatCode.EditLabel.Caption  := GetMultiLingalMsg(90028, 'Material Code')+' ';
  edtMoldID.EditLabel.Caption   := GetMultiLingalMsg(90063, 'Mold Code')+' ';
  edtPaperNo.EditLabel.Caption  := GetMultiLingalMsg(90246, 'Manager Paper')+' ';
  edtIssPaper.EditLabel.Caption := GetMultiLingalMsg(90236, 'Issure Paper')+' ';
  edtOrderCode.EditLabel.Caption:= GetMultiLingalMsg(32093, 'Order Code')+' ';
  rdoIOMode.Caption             := GetMultiLingalMsg(90094, 'Kind');
  rdoIOMode.Items[0]            := GetMultiLingalMsg(90104, 'In');
  rdoIOMode.Items[1]            := GetMultiLingalMsg(90105, 'Out');
  rdoIOMode.Items[2]            := GetMultiLingalMsg(90098, 'Return');
  rdoIOMode.Items[3]            := GetMultiLingalMsg(90099, 'Tune');
  rdoIOMode.Items[4]            := GetMultiLingalMsg(90248, 'Bala');
  rdoIOMode.Items[5]            := GetMultiLingalMsg(90079, 'ALL');

  btnQuery.Caption             := GetMultiLingalMsg(90115, 'Filter Query');
  btnClose.Caption             := GetMultiLingalMsg(90025, 'Exit');
end;

procedure TfrmIOQry.edtSulierChange(Sender: TObject);
begin
  edtSuplierName.Text := dm_inventory.GetShigenName(StrToIntDef(trim(edtSulier.Text),0));
end;

end.

⌨️ 快捷键说明

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