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

📄 uselectsotckorder.pas

📁 天涯進銷存系統
💻 PAS
字号:
unit uSelectSotckOrder;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, VCLBase, epMorph, jpeg, LBCtrls, ActnList, StdCtrls,
  LBDBScrollBar, Grids, LBDBGrid, DB, DBClient, SimpleDS;

type
  TfrmSelectStockOrder = class(TForm)
    Image2: TImage;
    SysCloseButton: TLBMorphButton;
    Panel4: TPanel;
    Panel6: TPanel;
    Panel3: TPanel;
    ActionList1: TActionList;
    Action1: TAction;
    Action2: TAction;
    LBSpeecButton1: TLBSpeecButton;
    LBSpeecButton2: TLBSpeecButton;
    Label2: TLabel;
    Label1: TLabel;
    BillCodeEdit: TLBEdit;
    NameEdit: TLBEdit;
    Label3: TLabel;
    StateEdit: TLBComboBox;
    Shape1: TShape;
    DataDBGrid: TLBDBGrid;
    Panel2: TPanel;
    LBDBScrollBar1: TLBDBScrollBar;
    Label17: TLabel;
    Label21: TLabel;
    Label4: TLabel;
    Label7: TLabel;
    Label5: TLabel;
    sdsSelectBillData: TSimpleDataSet;
    dsSelectBillData: TDataSource;
    sdsSelectBillDataBILLCODE: TStringField;
    sdsSelectBillDataPROVIDERCODE: TStringField;
    sdsSelectBillDataPROVIDERNAME: TStringField;
    sdsSelectBillDataBILLDATE: TSQLTimeStampField;
    sdsSelectBillDataINPUTTYPE: TStringField;
    sdsSelectBillDataISEXECUTE: TStringField;
    sdsSelectBillDataState: TStringField;
    WindowCaption: TLabel;
    procedure FormShow(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure BillCodeEditChange(Sender: TObject);
    procedure NameEditKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure DataDBGridKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Action2Execute(Sender: TObject);
    procedure Action1Execute(Sender: TObject);
    procedure BillCodeEditKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure sdsSelectBillDataCalcFields(DataSet: TDataSet);
  private
    procedure SelectData;
  public
    { Public declarations }
  end;

var
  frmSelectStockOrder: TfrmSelectStockOrder;

const
  sql = 'select BillCode, ProviderCode, ProviderName, BillDate, InPutType, '+
        'isExecute From PartsInPutHand';

implementation

uses uDataMo, uPublicvar;

{$R *.dfm}

procedure TfrmSelectStockOrder.SelectData;
var
  sqltext: string;
begin
  sqltext:=sql;
  if SelectPurchaseOrderType=2 then
  begin
    Sqltext:=Sqltext+' and isExecute="0" and isAUDITING="1"';
    if ProviderCode<>'' then
       sqltext:=Sqltext+' and ProviderCode='+#39+PROVIDERCode+#39;
  end;
  if Trim(SCEdit.Text)<>'' then
    sqltext:=sqltext+' and BillCode like '+#39+'%'+Trim(SCEdit.Text)+'%'+#39;
  if Trim(SNEdit.Text)<>'' then
    sqltext:=sqltext+' and Provider like '+#39+'%'+Trim(SNEdit.Text)+'%'+#39;
  if OpposingCode<>'' then sqltext:=Sqltext+' and ProviderCode='+#39+OpposingCode+#39;
  if StateEdit.ItemIndex=0 then sqltext:=Sqltext+' and isExecute="1"';
  if StateEdit.ItemIndex=1 then sqltext:=Sqltext+' and isExecute="0"';
  OpenData(Sqltext,sdsSelectBillData);
  OpposingCode:='';
end;

procedure TfrmSelectStockOrder.FormShow(Sender: TObject);
var
  sqltext: string;
begin
  StateEdit.ItemIndex:=2;
  sqltext:=Sql;
  if SelectBillType =1 then sqltext:=sqltext+' where InPutType="3" ';
  if SelectBillType =2 then sqltext:=sqltext+' where InPutType in ("2","3")';
  if OpposingCode<>'' then sqltext:=Sqltext+' and ProviderCode='+#39+OpposingCode+#39;
  OpenData(Sqltext,sdsSelectBillData);
  OpposingCode:='';
end;

procedure TfrmSelectStockOrder.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=27 then Close;
end;

procedure TfrmSelectStockOrder.BillCodeEditChange(Sender: TObject);
begin
  SelectData;
end;

procedure TfrmSelectStockOrder.NameEditKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if key=13 then  Perform(WM_NEXTDLGCTL,0,0);
end;

procedure TfrmSelectStockOrder.DataDBGridKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if key=13 then Action2Execute(Sender);
  if key=VK_NEXT then
    if sdsSelectBillData.Eof then
       sdsSelectBillData.GetNextPacket;
end;

procedure TfrmSelectStockOrder.Action2Execute(Sender: TObject);
begin
  if sdsSelectBillData.IsEmpty then
  begin
    Application.MessageBox('没有选择任何入库单。','提示信息',$30);
    Exit;
  end;
  with sdsSelectBillData do
  begin
    SelectBillCode:=Fieldbyname('BillCode').asstring;
    OpposingCode:=Fieldbyname('ProviderCode').asstring;
    OpposingName:=Fieldbyname('ProviderName').asstring;
  end;
  Close;
end;

procedure TfrmSelectStockOrder.Action1Execute(Sender: TObject);
begin
  FormShow(Nil);
end;

procedure TfrmSelectStockOrder.BillCodeEditKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if key=13 then DataDBGrid.SetFocus;
end;

procedure TfrmSelectStockOrder.sdsSelectBillDataCalcFields(
  DataSet: TDataSet);
begin
  if sdsSelectBillData.FieldByName('ISEXECUTE').AsString='1' then
     sdsSelectBillData.FieldByName('STATE').AsString:='已收货'
  else
     sdsSelectBillData.FieldByName('STATE').AsString:='未收货';
end;

end.

⌨️ 快捷键说明

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