unit U_ProductOrderHzListSel;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
  cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
  cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses,
  cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView,
  cxGridDBTableView, cxGrid, DBClient, cxCheckBox, cxCalendar, cxSplitter,
  RM_Dataset, RM_System, RM_Common, RM_Class, RM_GridReport, RM_e_Xls,
  Menus, cxContainer, cxImage, cxDBEdit;

type
  TfrmProductOrderHzListSel = class(TForm)
    ToolBar1: TToolBar;
    TBClose: TToolButton;
    Panel1: TPanel;
    Tv1: TcxGridDBTableView;
    cxGrid1Level1: TcxGridLevel;
    cxGrid1: TcxGrid;
    cxGridPopupMenu1: TcxGridPopupMenu;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    ADOQueryTemp: TADOQuery;
    DataSource1: TDataSource;
    Label3: TLabel;
    OrderNoM: TEdit;
    v1OrderNo: TcxGridDBColumn;
    v1DeliveryDate: TcxGridDBColumn;
    v1ConNo: TcxGridDBColumn;
    v1MPRTSpec: TcxGridDBColumn;
    Order_Main: TClientDataSet;
    RM1: TRMGridReport;
    RMDBMain: TRMDBDataSet;
    RMXLSExport1: TRMXLSExport;
    v1MPRTCodeName: TcxGridDBColumn;
    v1MPRTMF: TcxGridDBColumn;
    v1PRTOrderQty: TcxGridDBColumn;
    PopupMenu1: TPopupMenu;
    N2: TMenuItem;
    v1MPRTKZ: TcxGridDBColumn;
    v1OrdDefStr1: TcxGridDBColumn;
    ADOQueryPrint: TADOQuery;
    CDS_Print: TClientDataSet;
    ToolButton3: TToolButton;
    v1Column5: TcxGridDBColumn;
    Label1: TLabel;
    MPRTCodeName: TEdit;
    ADOQueryImage: TADOQuery;
    DSImage: TDataSource;
    v1Column4: TcxGridDBColumn;
    v1Column7: TcxGridDBColumn;
    PopupMenu2: TPopupMenu;
    N1: TMenuItem;
    MenuItem1: TMenuItem;
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure TBCloseClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure OrderNoMKeyPress(Sender: TObject; var Key: Char);
    procedure Tv1DblClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure MenuItem1Click(Sender: TObject);
  private
    DQdate:TDateTime;
    procedure InitGrid();
    procedure InitForm();
    procedure InitImage(fsubID:string);
    { Private declarations }
  public
    FFInt,FCloth:Integer;

    { Public declarations }
  end;

var
  frmProductOrderHzListSel: TfrmProductOrderHzListSel;

implementation
uses
  U_DataLink,U_RTFun;

{$R *.dfm}
procedure TfrmProductOrderHzListSel.InitImage(fsubID:string);
begin
  ADOQueryImage.close;
 // IF fwbid='' then exit;
  with ADOQueryImage do
  begin
    close;
    sql.Clear;
    sql.Add('select * from TP_File A');
    sql.Add('inner join JYOrder_Sub B on B.HXFile=A.WBID');
    sql.Add('where B.SubID='+quotedstr(trim(fsubID)));
    open;
  end;
end;

procedure TfrmProductOrderHzListSel.FormDestroy(Sender: TObject);
begin
  frmProductOrderHzListSel:=nil;
end;

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

procedure TfrmProductOrderHzListSel.FormCreate(Sender: TObject);
begin
  cxgrid1.Align:=alClient;
end;

procedure TfrmProductOrderHzListSel.TBCloseClick(Sender: TObject);
begin
  Close;
  WriteCxGrid(Trim(Self.Caption),Tv1,'生产指示单管理');
end;

procedure TfrmProductOrderHzListSel.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered:=False;
      Close;
      sql.Clear;
      sql.Add('select A.*,B.*');
      sql.Add('from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId');
        sQL.Add('where isnull(A.status,''0'')>''0'' ');
      if Trim(OrderNoM.Text)<>'' then
      SQL.Add(' and A.OrderNo like '''+'%'+Trim(OrderNoM.Text)+'%'+'''');
      if Trim(MPRTCodeName.Text)<>'' then
      SQL.Add(' and A.MPRTCodeName like '''+'%'+Trim(MPRTCodeName.Text)+'%'+'''');

      Open;
    end;
    SCreateCDS20(ADOQueryMain,Order_Main);
    SInitCDSData20(ADOQueryMain,Order_Main);
  finally
    ADOQueryMain.EnableControls;
  end;
end;


procedure TfrmProductOrderHzListSel.InitForm();
begin
  ReadCxGrid(Trim(Self.Caption),Tv1,'生产指示单管理');
//  InitGrid();
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered:=False;
      Close;
      sql.Clear;
      sql.Add('select A.*,B.*');
      sql.Add('from JYOrder_Main A inner join JYOrder_Sub B on A.MainId=B.MainId');
      sql.Add('where isnull(A.status,''0'')>''0'' ');
      sql.Add('and  A.OrdDate>'''+FormatDateTime('yyyy-MM-dd',SGetServerDate10(ADOQueryTemp)-90)+'''');
      if Trim(OrderNoM.Text)<>'' then
      sql.Add(' and A.OrderNo like '''+'%'+Trim(OrderNoM.Text)+'%'+'''');
      if Trim(MPRTCodeName.Text)<>'' then
      sql.Add(' and A.MPRTCodeName like '''+'%'+Trim(MPRTCodeName.Text)+'%'+'''');


      Open;
    end;
    SCreateCDS20(ADOQueryMain,Order_Main);
    SInitCDSData20(ADOQueryMain,Order_Main);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

procedure TfrmProductOrderHzListSel.FormShow(Sender: TObject);
begin
  InitForm();
  
end;

procedure TfrmProductOrderHzListSel.ToolButton3Click(Sender: TObject);
begin
  IF Order_Main.IsEmpty then exit;
  ModalResult:=1;
end;

procedure TfrmProductOrderHzListSel.OrderNoMKeyPress(Sender: TObject;
  var Key: Char);
begin
  if Key=#13 then
  begin
    InitGrid();
  end;
end;

procedure TfrmProductOrderHzListSel.Tv1DblClick(Sender: TObject);
begin
  ToolButton3.Click;
end;

procedure TfrmProductOrderHzListSel.N1Click(Sender: TObject);
begin
  if Order_Main.IsEmpty then Exit;
  Order_Main.DisableControls;
  with Order_Main do
  begin
    First;
    while not Eof do
    begin
      Edit;
      FieldByName('SSel').Value:=True;
      Post;
      Next;
    end;
  end;
  Order_Main.EnableControls;
end;

procedure TfrmProductOrderHzListSel.MenuItem1Click(Sender: TObject);
begin
  if Order_Main.IsEmpty then Exit;
  Order_Main.DisableControls;
  with Order_Main do
  begin
    First;
    while not Eof do
    begin
      Edit;
      FieldByName('SSel').Value:=false;
      Post;
      Next;
    end;
  end;
  Order_Main.EnableControls;
end;

end.
