unit U_DJBCKKCSelList2;

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;

type
  TfrmDJBCKKCSelList2 = class(TForm)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBFind: TToolButton;
    TBClose: TToolButton;
    Panel1: TPanel;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    ADOQueryTemp: TADOQuery;
    DataSource1: TDataSource;
    cxGridPopupMenu1: TcxGridPopupMenu;
    CDS_Main: TClientDataSet;
    RM1: TRMGridReport;
    RMDBMain: TRMDBDataSet;
    RMXLSExport1: TRMXLSExport;
    RMDBHZ: TRMDBDataSet;
    CDS_HZ: TClientDataSet;
    CDS_PRT: TClientDataSet;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    ToolButton1: TToolButton;
    cxGrid2: TcxGrid;
    Tv1: TcxGridDBTableView;
    v2Column1: TcxGridDBColumn;
    v1Column9: TcxGridDBColumn;
    v2Column6: TcxGridDBColumn;
    v1Column3: TcxGridDBColumn;
    cxGrid2Level1: TcxGridLevel;
    Label3: TLabel;
    SPName: TEdit;
    v1Column15: TcxGridDBColumn;
    Label10: TLabel;
    SPColor: TEdit;
    v1Column20: TcxGridDBColumn;
    cv1Column1: TcxGridDBColumn;
    cv1Column3: TcxGridDBColumn;
    cv1Column2: TcxGridDBColumn;
    lbl1: TLabel;
    SPKZ: TEdit;
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TBRafreshClick(Sender: TObject);
    procedure ConNoMChange(Sender: TObject);
    procedure TBCloseClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure TBFindClick(Sender: TObject);
    procedure MPRTCodeNameChange(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure SXBatchNOChange(Sender: TObject);
    procedure FactoryNameChange(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
  private
    procedure InitGrid();
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmDJBCKKCSelList2: TfrmDJBCKKCSelList2;

implementation

uses
  U_DataLink, U_RTFun, U_SXCKInPut;

{$R *.dfm}

procedure TfrmDJBCKKCSelList2.FormDestroy(Sender: TObject);
begin
  frmDJBCKKCSelList2 := nil;
end;

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

procedure TfrmDJBCKKCSelList2.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered := False;
      Close;
      sql.Clear;
      sql.Add(' select a.spname,a.spcolor,factoryname,A.qtyunit,A.SPKZ,A.PHTIME ');
      sql.add(' ,kcQTY=Sum(case when crQtyFlag= 1  then Qty else -Qty end  ) ');
      SQL.Add(',kcps=Sum(case when crQtyFlag= 1  then PiQty else -PiQty end  )');
      sql.Add(' from CK_SXPB_CR A where isnull(CKName,'''')=''成品布'' ');

      SQL.Add(' group by spname,spcolor,factoryname,qtyunit,SPKZ,PHTIME');
      SQL.Add(' having Sum(case when crQtyFlag= 1  then PiQty else -PiQty end  )>0 ');
      Open;
      //ShowMessage(SQL.Text);
    end;
    SCreateCDS20(ADOQueryMain, CDS_Main);
    SInitCDSData20(ADOQueryMain, CDS_Main);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

procedure TfrmDJBCKKCSelList2.TBRafreshClick(Sender: TObject);
begin
  InitGrid();
end;

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

procedure TfrmDJBCKKCSelList2.TBCloseClick(Sender: TObject);
begin
  WriteCxGrid('成品库存选择表', Tv1, '成品库存选择表');
  Close;
end;

procedure TfrmDJBCKKCSelList2.FormShow(Sender: TObject);
begin
  ReadCxGrid('成品库存选择表', Tv1, '成品库存选择表2');
  InitGrid();
end;

procedure TfrmDJBCKKCSelList2.TBFindClick(Sender: TObject);
begin
  if ADOQueryMain.Active then
  begin
    SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
    SCreateCDS20(ADOQueryMain, CDS_Main);
    SInitCDSData20(ADOQueryMain, CDS_Main);
  end;
end;

procedure TfrmDJBCKKCSelList2.MPRTCodeNameChange(Sender: TObject);
begin
  TBFind.Click;
end;

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

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

procedure TfrmDJBCKKCSelList2.SXBatchNOChange(Sender: TObject);
begin
  TBFind.Click;
end;

procedure TfrmDJBCKKCSelList2.FactoryNameChange(Sender: TObject);
begin
  TBFind.Click;
end;

procedure TfrmDJBCKKCSelList2.ToolButton1Click(Sender: TObject);
begin
  if CDS_Main.IsEmpty then
    Exit;
  if CDS_Main.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('没有选择数据!', '提示', 0);
    Exit;
  end;
  ModalResult := 1;
end;

procedure TfrmDJBCKKCSelList2.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
  ModalResult := 1;
end;

end.

