unit U_TatClothWaitReleased;

interface

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

type
  TfrmTatClothWaitReleased = class(TForm)
    cxGrid1: TcxGrid;
    Tv2: TcxGridDBTableView;
    v1OrderNo: TcxGridDBColumn;
    cxGridDBColumn2: TcxGridDBColumn;
    v1Column10: TcxGridDBColumn;
    v1Column14: TcxGridDBColumn;
    cxGridDBColumn3: TcxGridDBColumn;
    v1PRTMF: TcxGridDBColumn;
    v1PRTKZ: TcxGridDBColumn;
    cxGrid1Level1: TcxGridLevel;
    Panel1: TPanel;
    Label2: TLabel;
    OrderNo: TEdit;
    Label3: TLabel;
    PRTColor: TEdit;
    CDS_OrderSel: TClientDataSet;
    DataSource1: TDataSource;
    ADOQueryTemp: TADOQuery;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    cxGridPopupMenu1: TcxGridPopupMenu;
    v2Column2: TcxGridDBColumn;
    Label8: TLabel;
    CustomerNoName: TEdit;
    v2Column3: TcxGridDBColumn;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    v2Column8: TcxGridDBColumn;
    Tv2Column1: TcxGridDBColumn;
    carNo: TEdit;
    Label1: TLabel;
    ToolBar3: TToolBar;
    ToolButton5: TToolButton;
    ToolButton8: TToolButton;
    ToolButton7: TToolButton;
    ToolButton1: TToolButton;
    Tv2Column2: TcxGridDBColumn;
    Tv2Column3: TcxGridDBColumn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure OrderNoChange(Sender: TObject);
    procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
  private
    { Private declarations }
    procedure InitGrid();
  public
    { Public declarations }
  end;

var
  frmTatClothWaitReleased: TfrmTatClothWaitReleased;

implementation

uses
  U_DataLink, U_RTFun;

{$R *.dfm}

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

procedure TfrmTatClothWaitReleased.FormDestroy(Sender: TObject);
begin
  frmTatClothWaitReleased := nil;
end;

procedure TfrmTatClothWaitReleased.FormShow(Sender: TObject);
begin
  ReadCxGrid('订单选择11', Tv2, '成品仓库');
  InitGrid();
end;

procedure TfrmTatClothWaitReleased.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered := False;
      Close;
      sql.Clear;
      sql.Add('select A.*,B.*,C.*');
      sql.Add(',ZPPS=(select Count(KC.StkID) from Tat_Cloth_Stock KC  where KC.PCID=A.PCID and KC.StkExists=1  ) ');
      sql.Add(',ZPKGQty=(select sum(StkGrossWeight) from Tat_Cloth_Stock KC where KC.PCID=A.PCID and KC.StkExists=1 ) ');
      sql.Add(',ZPQty=(select sum(StkMeter) from Tat_Cloth_Stock KC where KC.PCID=A.PCID and KC.StkExists=1 ) ');
      sql.Add(' from Tat_Plan_Card A  inner join Tat_Plan_main B on A.mainid=B.mainid ');
      sql.Add('  inner join Tat_Plan_Sub C on A.subid=C.subid ');
      sql.Add(' where exists(select KC.PCID from Tat_Cloth_Stock KC where KC.PCID=A.PCID and KC.StkExists=1)');

//      ShowMessage(SQL.Text);
      Open;
    end;
    SCreateCDS(ADOQueryMain, CDS_OrderSel);
    SInitCDSData(ADOQueryMain, CDS_OrderSel);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

procedure TfrmTatClothWaitReleased.OrderNoChange(Sender: TObject);
begin
  SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
  SCreateCDS(ADOQueryMain, CDS_OrderSel);
  SInitCDSData(ADOQueryMain, CDS_OrderSel);
end;

procedure TfrmTatClothWaitReleased.ToolButton1Click(Sender: TObject);
var
  KHName: string;
begin
  if CDS_OrderSel.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('没有选择数据！', '提示', 0);
    Exit;
  end;
  CDS_OrderSel.DisableControls;
  KHName := '';
  with CDS_OrderSel do
  begin
    First;
    while not Eof do
    begin
      if FieldByName('SSel').AsBoolean = True then
      begin
        if Trim(KHName) = '' then
        begin
          KHName := Trim(fieldbyname('CustNo').AsString);
        end
        else
        begin
          if Trim(fieldbyname('CustNo').AsString) <> KHName then
          begin
            CDS_OrderSel.EnableControls;
            Application.MessageBox('不能选择不同客户！', '提示', 0);
            Exit;
          end;
        end;
      end;
      Next;
    end;
  end;
  CDS_OrderSel.EnableControls;
  ModalResult := 1;
end;

procedure TfrmTatClothWaitReleased.ToolButton5Click(Sender: TObject);
begin
  InitGrid();
end;

procedure TfrmTatClothWaitReleased.ToolButton7Click(Sender: TObject);
begin

  Close;
end;

procedure TfrmTatClothWaitReleased.ToolButton8Click(Sender: TObject);
begin
  WriteCxGrid('订单选择11', Tv2, '成品仓库');
end;

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

procedure TfrmTatClothWaitReleased.N1Click(Sender: TObject);
begin
  SelOKNo(CDS_OrderSel, True);
end;

procedure TfrmTatClothWaitReleased.N2Click(Sender: TObject);
begin
  SelOKNo(CDS_OrderSel, False);
end;

end.

