unit U_PlanYarnSel;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
  cxEdit, DB, cxDBData, ToolWin, ComCtrls, U_BaseHelp, cxGridCustomTableView,
  cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
  cxGridCustomView, cxGrid, DBClient, ADODB, ImgList, StdCtrls, ExtCtrls,
  cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels,
  cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator,
  dxDateRanges, dxBarBuiltInMenu, System.ImageList, U_BaseInput, cxButtonEdit,
  cxCheckBox, Vcl.Menus;

type
  TfrmPlanYarnSel = class(TfrmBaseHelp)
    ToolBar1: TToolBar;
    ADOQueryMain: TADOQuery;
    ADOQueryTemp: TADOQuery;
    ADOQueryCmd: TADOQuery;
    DS_1: TDataSource;
    CDS_1: TClientDataSet;
    TBSave: TToolButton;
    TBClose: TToolButton;
    ToolButton1: TToolButton;
    ADOConnection1: TADOConnection;
    Panel1: TPanel;
    Label1: TLabel;
    orderno: TEdit;
    GPM_1: TcxGridPopupMenu;
    ImageList1: TImageList;
    cxGrid1: TcxGrid;
    Tv1: TcxGridDBTableView;
    v1Column2: TcxGridDBColumn;
    v1Column18: TcxGridDBColumn;
    v1Column15: TcxGridDBColumn;
    v1SPName: TcxGridDBColumn;
    v1SPSpec: TcxGridDBColumn;
    v1Column1: TcxGridDBColumn;
    v1QtyUnit: TcxGridDBColumn;
    v1Column10: TcxGridDBColumn;
    v1Column3: TcxGridDBColumn;
    v1Column12: TcxGridDBColumn;
    cxGrid1Level1: TcxGridLevel;
    ThreeColorBase: TcxStyleRepository;
    SHuangSe: TcxStyle;
    SkyBlue: TcxStyle;
    Default: TcxStyle;
    QHuangSe: TcxStyle;
    Red: TcxStyle;
    FontBlue: TcxStyle;
    TextSHuangSe: TcxStyle;
    FonePurple: TcxStyle;
    FoneClMaroon: TcxStyle;
    FoneRed: TcxStyle;
    RowColor: TcxStyle;
    handBlack: TcxStyle;
    cxBlue: TcxStyle;
    SHuangSeCu: TcxStyle;
    Tv1Column1: TcxGridDBColumn;
    Tv1Column2: TcxGridDBColumn;
    PM_1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    Tv1Column3: TcxGridDBColumn;
    Tv1Column4: TcxGridDBColumn;
    Tv1Column5: TcxGridDBColumn;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure TBSaveClick(Sender: TObject);
    procedure TV1DblClick(Sender: TObject);
    procedure TBCloseClick(Sender: TObject);
    procedure ordernoChange(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
  private
    procedure InitGrid();
    { Private declarations }
  public
    FSTKName, FAuthority, FYType: string;
    { Public declarations }
  end;

var
  frmPlanYarnSel: TfrmPlanYarnSel;

implementation

uses
  U_DataLink, U_RTFun, U_YarnInfoInPut, U_YarnInfoSel;

{$R *.dfm}

procedure TfrmPlanYarnSel.FormCreate(Sender: TObject);
begin
  inherited;
  try
    with ADOConnection1 do
    begin
      Connected := false;
      ConnectionString := DConString;
      Connected := true;
    end;
    ADOQueryBaseCmd.Connection := ADOConnection1;
    ADOQueryBaseTemp.Connection := ADOConnection1;
  except
    application.MessageBox('��������ʧ�ܣ�', '��ʾ��Ϣ');
  end;
end;

procedure TfrmPlanYarnSel.ordernoChange(Sender: TObject);
begin
  if ADOQueryMain.Active then
  begin
    SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
    SCreateCDS(ADOQueryMain, CDS_1);
    SInitCDSData(ADOQueryMain, CDS_1);
  end;

end;

procedure TfrmPlanYarnSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin

  orderno.SetFocus;

  Action := cahide;
end;

procedure TfrmPlanYarnSel.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Close;
      sql.Clear;
      sql.Add('select A.*,B.*  ');
      sql.Add(',C.*  ');
      sql.Add(' from knit_Plan_Main A   ');

      sql.Add(' inner join knit_Plan_Sub B on A.Mainid=B.MainId');
      sql.Add(' inner join knit_Plan_Yarn C on C.SubId=B.SubId');

      sql.Add('where isnull(Status,''0'') =''9'' ');

      Open;
    end;
    SCreateCDS(ADOQueryMain, CDS_1);
    SInitCDSData(ADOQueryMain, CDS_1);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

procedure TfrmPlanYarnSel.N1Click(Sender: TObject);
begin
  SelOKNo(CDS_1, true);

end;

procedure TfrmPlanYarnSel.N2Click(Sender: TObject);
begin
  SelOKNo(CDS_1, False);

end;

procedure TfrmPlanYarnSel.FormShow(Sender: TObject);
begin
  inherited;

  InitGrid();

  ReadCxGrid('��λ����' + Trim(FSTKName), TV1, '�Զ�������');

end;

procedure TfrmPlanYarnSel.TBCloseClick(Sender: TObject);
begin
  inherited;
  Close;
end;

procedure TfrmPlanYarnSel.TBSaveClick(Sender: TObject);
begin
  WriteCxGrid('��λ����' + Trim(FSTKName), TV1, '�Զ�������');

end;

procedure TfrmPlanYarnSel.ToolButton1Click(Sender: TObject);
begin
  orderno.SetFocus;
  ModalResult := 1;
end;

procedure TfrmPlanYarnSel.ToolButton2Click(Sender: TObject);
begin
  InitGrid();
end;

procedure TfrmPlanYarnSel.ToolButton3Click(Sender: TObject);
begin
  if CDS_1.IsEmpty then
    Exit;

  try
    frmYarnInfoInPut := TfrmYarnInfoInPut.Create(Application);
    with frmYarnInfoInPut do
    begin
      FBCId := Trim(CDS_1.fieldbyname('BYIID').AsString);
      FSTKName := self.FSTKName;
      TBDel.Visible := False;
      TBAdd.Visible := False;
      if ShowModal = 1 then
      begin
        Self.InitGrid();
      end;
    end;
  finally
    frmYarnInfoInPut.Free;
  end;
end;

procedure TfrmPlanYarnSel.ToolButton4Click(Sender: TObject);
begin
  try
    frmYarnInfoInPut := TfrmYarnInfoInPut.Create(Application);
    with frmYarnInfoInPut do
    begin
      FBCId := '';
      FSTKName := self.FSTKName;
      if ShowModal = 1 then
      begin
        Self.InitGrid();
      end;
    end;
  finally
    frmYarnInfoInPut.Free;
  end;
end;

procedure TfrmPlanYarnSel.TV1DblClick(Sender: TObject);
begin
  ModalResult := 1;
end;

procedure TfrmPlanYarnSel.FormDestroy(Sender: TObject);
begin
  inherited;
  frmYarnInfoSel := nil;
end;

end.