unit U_TatDRSel;

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, cxPC, cxButtonEdit,
  cxDropDownEdit, cxTextEdit, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
  dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters, U_BaseHelp,
  dxDateRanges, U_BaseList, System.ImageList, Vcl.ImgList;

type
  TfrmTatDRSel = class(TfrmBaseHelp)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBFind: TToolButton;
    TBClose: TToolButton;
    Tv1: TcxGridDBTableView;
    cxGrid1Level1: TcxGridLevel;
    cxGrid1: TcxGrid;
    cxGridPopupMenu1: TcxGridPopupMenu;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    ADOQueryTemp: TADOQuery;
    DataSource1: TDataSource;
    v1OrdDate: TcxGridDBColumn;
    Order_Main: TClientDataSet;
    Panel1: TPanel;
    Label4: TLabel;
    Label8: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    BegDate: TDateTimePicker;
    EndDate: TDateTimePicker;
    ToCoName: TEdit;
    MPRTCodeName: TEdit;
    MPRTKZ: TEdit;
    MPRTMF: TEdit;
    cxTabControl1: TcxTabControl;
    cxSplitter1: TcxSplitter;
    DS_2: TDataSource;
    v1Column8: TcxGridDBColumn;
    Label2: TLabel;
    ClientDataSet2: TClientDataSet;
    GPM_2: TcxGridPopupMenu;
    v1Column13: TcxGridDBColumn;
    v1Column17: TcxGridDBColumn;
    v1Column1: TcxGridDBColumn;
    v1Column7: TcxGridDBColumn;
    v1Column10: TcxGridDBColumn;
    v1Column27: TcxGridDBColumn;
    CheckBox1: TCheckBox;
    ToolButton6: TToolButton;
    Label1: TLabel;
    cxGrid2: TcxGrid;
    TV2: TcxGridDBTableView;
    cxGridDBColumn1: TcxGridDBColumn;
    cxGridDBColumn2: TcxGridDBColumn;
    cxGridDBColumn3: TcxGridDBColumn;
    v1Column6: TcxGridDBColumn;
    cxGridDBColumn4: TcxGridDBColumn;
    cxGridDBColumn5: TcxGridDBColumn;
    cxGridDBColumn6: TcxGridDBColumn;
    cxGridDBColumn7: TcxGridDBColumn;
    cv1Column3: TcxGridDBColumn;
    cxGridLevel1: TcxGridLevel;
    TV2Column1: TcxGridDBColumn;
    TV2Column2: TcxGridDBColumn;
    TV2Column3: TcxGridDBColumn;
    ToolButton1: TToolButton;
    //RMllPDFExport1: TRMllPDFExport;
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TBCloseClick(Sender: TObject);
    procedure TBFindClick(Sender: TObject);
    procedure TBRafreshClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure CheckBox1Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
    procedure ToCoNameChange(Sender: TObject);
    procedure cxTabControl1Change(Sender: TObject);
    procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
    procedure v1Column7PropertiesEditValueChanged(Sender: TObject);
    procedure Tv1Column9PropertiesEditValueChanged(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
  private
    procedure InitGrid();
    procedure InitSubGrid();
    { Private declarations }
  public
    FFInt: Integer;
    canshu1, canshu2: string;
    { Public declarations }
  end;

var
  frmTatDRSel: TfrmTatDRSel;

implementation

uses
  U_DataLink, U_RTFun, U_ZDYHelp, U_LabelPrint;

{$R *.dfm}

procedure TfrmTatDRSel.FormDestroy(Sender: TObject);
begin
  inherited;
  //frmFHSQList:=nil;

end;

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

procedure TfrmTatDRSel.TBCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmTatDRSel.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered := False;
      Close;
      sql.Clear;
      Sql.Add(' select A.*  ');
      sql.Add(' from Tat_Cloth_DR_Main A where 1=1');
      if CheckBox1.Checked then
      begin
        sql.Add(' and Filltime>=''' + FormatDateTime('yyyy-MM-dd', begdate.DateTime) + ''' ');
        sql.Add(' and Filltime<''' + FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1) + ''' ');
      end;
      case cxTabControl1.TabIndex of
        0:
          begin
            SQL.Add(' and isnull(A.status,''0'')=''0'' ');
          end;
        1:
          begin
            SQL.Add(' and isnull(A.status,''0'')=''9'' ');
          end;
        2:
          begin
            SQL.Add(' and isnull(A.status,''0'')=''10'' ');
          end;
      end;
      if Trim(canshu1) <> '管理' then
      begin
        sql.Add(' and isnull(A.Filler,'''')=''' + Trim(DName) + '''');
      end;
      sql.Add(' order by  Filltime desc ');
      Open;
    end;
    SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
    SCreateCDS(ADOQueryMain, Order_Main);
    SInitCDSData(ADOQueryMain, Order_Main);
  finally
    ADOQueryMain.EnableControls;
    TV1.DataController.Filter.Clear;
    TV2.DataController.Filter.Clear;
  end;
end;

procedure TfrmTatDRSel.TBFindClick(Sender: TObject);
begin
  if ADOQueryMain.Active = False then
    Exit;
  SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
  SCreateCDS(ADOQueryMain, Order_Main);
  SInitCDSData(ADOQueryMain, Order_Main);
end;

procedure TfrmTatDRSel.TBRafreshClick(Sender: TObject);
begin
  InitGrid();

end;

procedure TfrmTatDRSel.FormShow(Sender: TObject);
begin
  inherited;

  ReadCxGrid(trim(self.Caption) + 'Tv1', Tv1, '发货管理');
  ReadCxGrid(trim(self.Caption) + 'Tv2', Tv2, '发货管理');

  EndDate.DateTime := SGetServerDate(ADOQueryTemp);
  BegDate.DateTime := EndDate.DateTime - 60;

  InitGrid();
end;

procedure TfrmTatDRSel.CheckBox1Click(Sender: TObject);
begin
  InitGrid();
end;

procedure TfrmTatDRSel.CheckBox2Click(Sender: TObject);
begin
  TBRafresh.Click;
end;

procedure TfrmTatDRSel.ToCoNameChange(Sender: TObject);
begin
  if ADOQueryMain.Active = False then
    Exit;
  SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
  SCreateCDS(ADOQueryMain, Order_Main);
  SInitCDSData(ADOQueryMain, Order_Main);
end;

procedure TfrmTatDRSel.InitSubGrid();
begin

  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select A.* ');
    sql.Add('from Tat_Cloth_DR_Sub A   where A.DRMID=''' + Trim(Order_Main.fieldbyname('DRMID').AsString) + '''');
    Open;
  end;
  SCreateCDS(ADOQueryTemp, ClientDataSet2);
  SInitCDSData(ADOQueryTemp, ClientDataSet2);
end;

procedure TfrmTatDRSel.cxTabControl1Change(Sender: TObject);
begin

  InitGrid();
end;

procedure TfrmTatDRSel.ToolButton1Click(Sender: TObject);
begin
  ModalResult := 1;
end;

procedure TfrmTatDRSel.ToolButton6Click(Sender: TObject);
begin
  WriteCxGrid(trim(self.Caption) + 'Tv1', Tv1, '发货管理');
  WriteCxGrid(trim(self.Caption) + 'Tv2', Tv2, '发货管理');
end;

procedure TfrmTatDRSel.Tv1Column9PropertiesEditValueChanged(Sender: TObject);
var
  mvalue, FFieldName: string;
begin
  mvalue := TcxTextEdit(Sender).EditingText;
  FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);

  if mvalue = '' then
  begin
    with ADOQueryCmd do
    begin
      Close;
      SQL.Clear;
      sql.Add('update Tat_Cloth_DR_Main set  ' + FFieldName + '=' + 'NULL');
      sql.Add('where  DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString)));
      ExecSQL;
    end;
  end
  else
  begin
    with Order_Main do
    begin
      Edit;
      FieldByName(FFieldName).Value := mvalue;
      Post;
    end;
    with ADOQueryCmd do
    begin
      Close;
      SQL.Clear;
      sql.Add('update Tat_Cloth_DR_Main set  ' + FFieldName + '=' + quotedstr(Trim(mvalue)));
      sql.Add('where  DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString)));
      ExecSQL;
    end;
  end;

  tv1.Controller.EditingController.ShowEdit();
end;

procedure TfrmTatDRSel.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
  InitSubGrid();
end;

procedure TfrmTatDRSel.v1Column7PropertiesEditValueChanged(Sender: TObject);
var
  mvalue, FFieldName: string;
begin
  mvalue := TcxTextEdit(Sender).EditingText;
  FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
  with Order_Main do
  begin
    Edit;
    FieldByName(FFieldName).Value := mvalue;
    Post;

  end;

  with ADOQueryCmd do
  begin
    Close;
    SQL.Clear;
    sql.Add('update Tat_Cloth_DR_Main set  ' + FFieldName + '=' + quotedstr(Trim(mvalue)));
    sql.Add('where  DRMID=' + quotedstr(Trim(Order_Main.fieldbyname('DRMID').AsString)));
    ExecSQL;
  end;
  tv1.Controller.EditingController.ShowEdit();
end;

end.

