unit U_CPCKOutList_CX;

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, RM_BarCode;

type
  TfrmCPCKOutList_CX = 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;
    RMDBMain: TRMDBDataSet;
    RMXLSExport1: TRMXLSExport;
    RMDBHZ: TRMDBDataSet;
    CDS_HZ: TClientDataSet;
    CDS_PRT: TClientDataSet;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    cxGrid2: TcxGrid;
    Tv1: TcxGridDBTableView;
    v1Column2: TcxGridDBColumn;
    v1Column4: TcxGridDBColumn;
    v1Column13: TcxGridDBColumn;
    v1Column14: TcxGridDBColumn;
    v2Column1: TcxGridDBColumn;
    v1Column8: TcxGridDBColumn;
    v1Column1: TcxGridDBColumn;
    v1Column10: TcxGridDBColumn;
    v1Column16: TcxGridDBColumn;
    v1Column9: TcxGridDBColumn;
    v2Column6: TcxGridDBColumn;
    v1Column3: TcxGridDBColumn;
    v1Column11: TcxGridDBColumn;
    v1Column5: TcxGridDBColumn;
    v1Column18: TcxGridDBColumn;
    v1Column19: TcxGridDBColumn;
    v1Column17: TcxGridDBColumn;
    v1Column12: TcxGridDBColumn;
    cxGrid2Level1: TcxGridLevel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label8: TLabel;
    Label12: TLabel;
    Label7: TLabel;
    SPName: TEdit;
    FactoryName: TEdit;
    SPID: TEdit;
    SPSpec: TEdit;
    CRType: TComboBox;
    QCorderNo: TEdit;
    Label10: TLabel;
    CKorderNo: TEdit;
    Label11: TLabel;
    FromFactoryName: TEdit;
    Label13: TLabel;
    ToFactoryName: TEdit;
    Label9: TLabel;
    Label14: TLabel;
    RCGangNo: TEdit;
    ConNo: TEdit;
    v1Column15: TcxGridDBColumn;
    ADOQueryPrint: TADOQuery;
    Label15: TLabel;
    PRTColor: TEdit;
    Label16: TLabel;
    PRTColorNo: TEdit;
    Label17: TLabel;
    PRTHX: TEdit;
    RM1: TRMGridReport;
    RMBarCodeObject1: TRMBarCodeObject;
    v1ConNo: TcxGridDBColumn;
    v1KuanNO: TcxGridDBColumn;
    CDS_Print: TClientDataSet;
    RM2: TRMGridReport;
    v1PRTColorEng: TcxGridDBColumn;
    v1BPType: TcxGridDBColumn;
    v1filler: TcxGridDBColumn;
    v1filltime: TcxGridDBColumn;
    procedure FormDestroy(Sender: TObject);
    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 TBFindClick(Sender: TObject);
    procedure SPNameChange(Sender: TObject);
    procedure SPIDChange(Sender: TObject);
    procedure SPIDKeyPress(Sender: TObject; var Key: Char);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure PRTColorChange(Sender: TObject);
    procedure PRTColorNoChange(Sender: TObject);
    procedure PRTHXChange(Sender: TObject);
  private
    canshu1,canshu2,canShu3:string;
    procedure InitGrid();
    { Private declarations }
  public
    FConNO:string;
    Formid:string;
    { Public declarations }
  end;

var
  frmCPCKOutList_CX: TfrmCPCKOutList_CX;

implementation
uses
  U_DataLink,U_RTFun;

{$R *.dfm}

procedure TfrmCPCKOutList_CX.FormDestroy(Sender: TObject);
begin
  frmCPCKOutList_CX:=nil;
end;

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

procedure TfrmCPCKOutList_CX.FormCreate(Sender: TObject);
begin
  //cxGrid1.Align:=alClient;
  canshu1:=Trim(DParameters1);
  canshu2:=Trim(DParameters2);
  canShu3:=trim(DParameters3);
end;

procedure TfrmCPCKOutList_CX.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered:=False;
      Close;
      sql.Clear;
      sql.Add(' select isnull(B.PRTColorEng,B.PRTColor) PRTColorEng,B.PRTColor,B.PRTHX,E.ConNO,A.*');
      sql.Add(' from CK_SXPB_CR A');
      sql.Add(' left join JYOrder_Sub B on A.ORDSubIdCK=B.SubId');
      sql.add(' left join JYOrder_Main E on E.Mainid=B.Mainid');
      sql.add(' where CRFlag=''出库''  ');
      SQL.Add(' and isnull(CKName,'''')=''成品'' ');
      if FormID='1' then
      begin
        sql.Add(' and exists (select B.OrderNo from JYOrder_Main B where A.OrdMainidRK=B.Mainid and B.OrderNo='''+trim(FConNO)+''') ');
      end
      else
      begin
        sql.Add(' and exists (select B.ConNO from JYOrder_Main B where A.OrdMainidRK=B.Mainid and B.Conno='''+trim(FConNO)+''') ');
      end;
      SQL.Add(' order by A.IFPrint,A.CRTime desc');
      Open;
    end;
    SCreateCDS20(ADOQueryMain,CDS_Main);
    SInitCDSData20(ADOQueryMain,CDS_Main);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

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

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

procedure TfrmCPCKOutList_CX.TBCloseClick(Sender: TObject);
begin
  WriteCxGrid('成品出库列表1',Tv1,'外加工仓库');
  Close;
end;

procedure TfrmCPCKOutList_CX.FormShow(Sender: TObject);
begin
  
  ReadCxGrid('成品出库列表1',Tv1,'外加工仓库');
  InitGrid();
end;

procedure TfrmCPCKOutList_CX.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 TfrmCPCKOutList_CX.SPNameChange(Sender: TObject);
begin
  TBFind.Click;
end;

procedure TfrmCPCKOutList_CX.SPIDChange(Sender: TObject);
begin
  if Length(Trim(SPID.Text))<4 then
  begin
    if Trim(SPID.Text)<>'' then Exit;
  end;
  TBFind.Click;
end;

procedure TfrmCPCKOutList_CX.SPIDKeyPress(Sender: TObject;
  var Key: Char);
begin
  if Key=#13 then
  begin
    {if Length(Trim(SPID.Text))<4 then Exit;
    try
      ADOQueryMain.DisableControls;
      with ADOQueryMain do
      begin
        Filtered:=False;
        Close;
        sql.Clear;
        sql.Add(' select A.* ');
        sql.Add(' from CK_SXPB_CR A');
        sql.add(' where SPID like :SXID');
        Parameters.ParamByName('SXID').Value:='%'+Trim(SXID.Text)+'%';
        Open;
        //ShowMessage(SQL.Text);
      end;
      SCreateCDS20(ADOQueryMain,CDS_Main);
      SInitCDSData20(ADOQueryMain,CDS_Main);
    finally
      ADOQueryMain.EnableControls;
    end; }
  end;
end;

procedure TfrmCPCKOutList_CX.N1Click(Sender: TObject);
begin
  if CDS_Main.IsEmpty then Exit;
  CDS_Main.DisableControls;
  with CDS_Main do
  begin
    First;
    while not eof do
    begin
      if Trim(CDS_Main.fieldbyname('CRType').AsString)='检验出库' then
      begin
        Edit;
        FieldByName('SSel').Value:=True;
        Post;
      end;
      Next;
    end;
  end;
  CDS_Main.EnableControls;
end;

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

procedure TfrmCPCKOutList_CX.Tv1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if CDS_Main.IsEmpty then Exit;
  if Trim(CDS_Main.fieldbyname('CRType').AsString)<>'检验出库' then
  begin
    Tv1.OptionsSelection.CellSelect:=False;
  end else
  begin
    Tv1.OptionsSelection.CellSelect:=True;
  end;
end;

procedure TfrmCPCKOutList_CX.PRTColorChange(Sender: TObject);
begin
  TBFind.Click;
end;

procedure TfrmCPCKOutList_CX.PRTColorNoChange(Sender: TObject);
begin
  TBFind.Click;
end;

procedure TfrmCPCKOutList_CX.PRTHXChange(Sender: TObject);
begin
  TBFind.Click;
end;

end.
