unit U_YarnInList_Sel;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
  cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
  cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
  cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
  ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
  cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
  RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC,
  cxLookAndFeels, cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters,
  cxNavigator, dxDateRanges, dxBarBuiltInMenu, U_BaseList, dxSkinWXI,
  dxScrollbarAnnotations, cxContainer, dxCore, cxDateUtils, cxMaskEdit,
  FrameDateSel, U_InputBoxSingleNumber, dxSkinBasic, dxSkinBlack, dxSkinBlue,
  dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkroom, dxSkinDarkSide,
  dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
  dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
  dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
  dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
  dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
  dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
  dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
  dxSkinOffice2013White, dxSkinOffice2016Colorful, dxSkinOffice2016Dark,
  dxSkinOffice2019Black, dxSkinOffice2019Colorful, dxSkinOffice2019DarkGray,
  dxSkinOffice2019White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
  dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringtime, dxSkinStardust,
  dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinTheBezier, dxSkinValentine,
  dxSkinVisualStudio2013Blue, dxSkinVisualStudio2013Dark,
  dxSkinVisualStudio2013Light, dxSkinVS2010, dxSkinWhiteprint,
  dxSkinXmas2008Blue, U_BaseHelp, System.ImageList, Vcl.ImgList;

type
  TfrmYarnInList_Sel = class(TfrmBaseHelp)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBFind: TToolButton;
    TBExport: TToolButton;
    TBClose: TToolButton;
    Panel1: TPanel;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    ADOQueryTemp: TADOQuery;
    DS_1: TDataSource;
    GPM_1: TcxGridPopupMenu;
    CDS_Main: TClientDataSet;
    TBDel: TToolButton;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    Label3: TLabel;
    Label4: TLabel;
    Label8: TLabel;
    Label12: TLabel;
    Y_Name: TcxTextEdit;
    FromCoName: TcxTextEdit;
    Y_spec: TcxTextEdit;
    cxGrid1: TcxGrid;
    Tv1: TcxGridDBTableView;
    v1Column6: TcxGridDBColumn;
    v1Column2: TcxGridDBColumn;
    v1Column4: TcxGridDBColumn;
    v1Column14: TcxGridDBColumn;
    v2Column1: TcxGridDBColumn;
    v1Column8: TcxGridDBColumn;
    v2Column6: TcxGridDBColumn;
    v1Column3: TcxGridDBColumn;
    v1Column5: TcxGridDBColumn;
    v1Column12: TcxGridDBColumn;
    cxGrid1Level1: TcxGridLevel;
    v1Column10: TcxGridDBColumn;
    Label10: TLabel;
    BatchNo: TcxTextEdit;
    v1Column20: TcxGridDBColumn;
    ToolButton1: TToolButton;
    Label6: TLabel;
    BYIOID: TcxTextEdit;
    Tv1Column1: TcxGridDBColumn;
    Tv1Column2: TcxGridDBColumn;
    Tv1Column3: TcxGridDBColumn;
    Tv1Column4: TcxGridDBColumn;
    Tv1Column5: TcxGridDBColumn;
    Tv1Column6: TcxGridDBColumn;
    Tv1Column7: TcxGridDBColumn;
    Tv1Column9: TcxGridDBColumn;
    Tv1Column10: TcxGridDBColumn;
    Label5: TLabel;
    Supplier: TcxTextEdit;
    IOType: TcxComboBox;
    Tv1Column11: TcxGridDBColumn;
    Tv1Column8: TcxGridDBColumn;
    Y_Code: TcxTextEdit;
    Label1: TLabel;
    Tv1Column12: TcxGridDBColumn;
    Tv1Column13: TcxGridDBColumn;
    Tv1Column14: TcxGridDBColumn;
    Tv1Column15: TcxGridDBColumn;
    Tv1Column16: TcxGridDBColumn;
    Tv1Column17: TcxGridDBColumn;
    Frame11: TfrmFrameDateSel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure TBRafreshClick(Sender: TObject);
    procedure ConNoMChange(Sender: TObject);
    procedure TBCloseClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure TBExportClick(Sender: TObject);
    procedure TBFindClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure BYIOIDChange(Sender: TObject);
    procedure Y_specChange(Sender: TObject);
    procedure FromCoNameChange(Sender: TObject);
    procedure cxTabControl1Change(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure BYIOIDPropertiesChange(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    canshu1, FStkName, canshu3: string;
    procedure InitGrid();
    procedure setStatus();
    { Private declarations }
  public

    { Public declarations }
  end;

var
  frmYarnInList_Sel: TfrmYarnInList_Sel;

implementation

uses
  U_DataLink, U_RTFun, U_LabelPrint;

{$R *.dfm}
procedure TfrmYarnInList_Sel.setStatus();
begin

end;

procedure TfrmYarnInList_Sel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  Action := caFree;
end;

procedure TfrmYarnInList_Sel.FormCreate(Sender: TObject);
begin
  inherited;
  Frame11.EndDate.Date := SGetServerDate(ADOQueryTemp);
  Frame11.BegDate.Date := Frame11.EndDate.Date - 30;

  canshu1 := '管理';
  FStkName := '纱线';
end;

procedure TfrmYarnInList_Sel.FormDestroy(Sender: TObject);
begin
  inherited;
  frmYarnInList_Sel := nil;
end;

procedure TfrmYarnInList_Sel.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered := False;
      Close;
      sql.Clear;
      sql.Add(' select A.* ');
      sql.Add(' from BS_Yarn_IO A');
      sql.add(' where A.IOTime>=''' + Trim(FormatDateTime('yyyy-MM-dd', Frame11.BegDate.Date)) + '''');
      sql.Add(' and A.IOTime<''' + Trim(FormatDateTime('yyyy-MM-dd', Frame11.enddate.Date + 1)) + '''');
      sql.Add(' and isnull(StkName,'''')=''' + Trim(FStkName) + '''');
      SQL.Add(' and IOFlag=''入库''  ');
      SQL.Add(' order by IOTime desc');
      Open;
    end;
    SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
    SCreateCDS(ADOQueryMain, CDS_Main);
    SInitCDSData(ADOQueryMain, CDS_Main);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

procedure TfrmYarnInList_Sel.TBRafreshClick(Sender: TObject);
begin
  ToolBar1.SetFocus;
  InitGrid();
end;

procedure TfrmYarnInList_Sel.ToolButton1Click(Sender: TObject);
begin
  WriteCxGrid(Self.Caption + '1', Tv1, '纱线仓库');
end;

procedure TfrmYarnInList_Sel.BYIOIDPropertiesChange(Sender: TObject);
begin
  TBFind.Click;
end;

procedure TfrmYarnInList_Sel.ConNoMChange(Sender: TObject);
begin
  if ADOQueryMain.Active then
  begin
    SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
  end;
end;

procedure TfrmYarnInList_Sel.TBCloseClick(Sender: TObject);
begin

  Close;
end;

procedure TfrmYarnInList_Sel.FormShow(Sender: TObject);
var
  mSql: string;
begin
  inherited;
  mSql := 'select distinct name=A.IOType from BS_Yarn_IO A where IOFlag=''入库'' and isnull(STKNAME,'''')=''' + Trim(FSTKNAME) + ''' ';
  SInitTcxComBoxBySql(ADOQueryTemp, IOType, false, mSql);
  ReadCxGrid(Self.Caption + '1', Tv1, '纱线仓库');
  setStatus();
  InitGrid();
end;

procedure TfrmYarnInList_Sel.TBExportClick(Sender: TObject);
begin
  if ADOQueryMain.IsEmpty then
    exit;
  TcxGridToExcel(FStkName + '入库列表', cxGrid1);
end;

procedure TfrmYarnInList_Sel.TBFindClick(Sender: TObject);
begin
  if ADOQueryMain.Active then
  begin
    SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
    SCreateCDS(ADOQueryMain, CDS_Main);
    SInitCDSData(ADOQueryMain, CDS_Main);
  end;
end;

procedure TfrmYarnInList_Sel.N1Click(Sender: TObject);
begin
  SelOKNo(CDS_Main, True);
end;

procedure TfrmYarnInList_Sel.N2Click(Sender: TObject);
begin
  SelOKNo(CDS_Main, False);
end;

procedure TfrmYarnInList_Sel.BYIOIDChange(Sender: TObject);
begin
  if Length(Trim(BYIOID.Text)) < 4 then
  begin
    if Trim(BYIOID.Text) <> '' then
      Exit;
  end;
  TBFind.Click;
end;

procedure TfrmYarnInList_Sel.Y_specChange(Sender: TObject);
begin
  TBFind.Click;
end;

procedure TfrmYarnInList_Sel.FromCoNameChange(Sender: TObject);
begin
  TBFind.Click;
end;

procedure TfrmYarnInList_Sel.cxTabControl1Change(Sender: TObject);
begin
  InitGrid();
end;

end.

