unit U_ClothCLCXList;

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, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class,
  RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit,
  cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore,
  dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu;

type
  TfrmClothCLCXList = class(TForm)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBFind: TToolButton;
    TBAdd: TToolButton;
    TBClose: TToolButton;
    cxGridPopupMenu1: TcxGridPopupMenu;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    ADOQueryTemp: TADOQuery;
    DataSource1: TDataSource;
    TBExport: TToolButton;
    Order_Main: TClientDataSet;
    RM1: TRMGridReport;
    RMXLSExport1: TRMXLSExport;
    CDS_PRT: TClientDataSet;
    cxGrid1: TcxGrid;
    Tv1: TcxGridDBTableView;
    cxGrid1Level1: TcxGridLevel;
    RMDBPRT: TRMDBDataSet;
    RMDBPZ: TRMDBDataSet;
    CDS_PZ: TClientDataSet;
    CDS_SJ: TClientDataSet;
    RMDBSJ: TRMDBDataSet;
    v1Column24: TcxGridDBColumn;
    RMDBDataSet1: TRMDBDataSet;
    ClientDataSet1: TClientDataSet;
    CDS_WJG: TClientDataSet;
    RMDBWJG: TRMDBDataSet;
    v1Column1: TcxGridDBColumn;
    v1Column2: TcxGridDBColumn;
    v1Column3: TcxGridDBColumn;
    Panel1: TPanel;
    Label1: TLabel;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure TBCloseClick(Sender: TObject);
    procedure TBFindClick(Sender: TObject);
    procedure TBExportClick(Sender: TObject);
    procedure TBRafreshClick(Sender: TObject);
    procedure TBAddClick(Sender: TObject);
    procedure ConNoChange(Sender: TObject);
    procedure FormShow(Sender: TObject);
 //   procedure conPress(Sender: TObject; var Key: Char);
    procedure FormDestroy(Sender: TObject);
    procedure Tv1DblClick(Sender: TObject);
  private
    FInt, PFInt: Integer;
    procedure InitGrid();
    procedure InitForm();
    function DelData(): Boolean;
    procedure InitButton();
    { Private declarations }
  public
    canshu1, FCheJian, FMainID: string;
    { Public declarations }
  end;

var
  frmClothCLCXList: TfrmClothCLCXList;

implementation

uses
  U_DataLink, U_RTFun, U_ZDYHelp,U_ClothCLJTCXList;
 //U_ClothSCInPutSC ,U_ClothSCInPut ,U_SCPerson



{$R *.dfm}

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

procedure TfrmClothCLCXList.InitButton();
begin

end;

procedure TfrmClothCLCXList.TBCloseClick(Sender: TObject);
begin
  Close;
  WriteCxGrid('���������ƻ���', Tv1, '������������');
end;

procedure TfrmClothCLCXList.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered := False;
      Close;
      sql.Clear;
      sql.Add(' exec P_View_DDJD2 ' + QuotedStr(FMainID));
      Open;
    end;
    SCreateCDS(ADOQueryMain, Order_Main);
    SInitCDSData(ADOQueryMain, Order_Main);
  finally
    ADOQueryMain.EnableControls;
  end;
end;

procedure TfrmClothCLCXList.InitForm();
begin
  InitButton();
  ReadCxGrid('���������ƻ���', Tv1, '������������');
  //BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 7;
  //EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
  InitGrid();
end;

procedure TfrmClothCLCXList.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;

function TfrmClothCLCXList.DelData(): Boolean;
begin
  try
    Result := false;
    ADOQueryCmd.Connection.BeginTrans;
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('delete Cloth_Sub where SubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + '''');
      ExecSQL;
    end;
    with ADOQueryTemp do
    begin
      Close;
      sql.Clear;
      sql.Add('select * from Cloth_Sub where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
      Open;
    end;
    if ADOQueryTemp.IsEmpty then
    begin
      with ADOQueryCmd do
      begin
        Close;
        sql.Clear;
        sql.Add('delete Cloth_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
        ExecSQL;
      end;
    end;
    if Trim(Order_Main.fieldbyname('SubId').AsString) = '' then
    begin
      with ADOQueryCmd do
      begin
        Close;
        sql.Clear;
        sql.Add('delete Cloth_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
        ExecSQL;
      end;
    end;
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('delete Cloth_PaiZhen where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
      ExecSQL;
    end;
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('delete Cloth_YCL_PB where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
      ExecSQL;
    end;
    ADOQueryCmd.Connection.CommitTrans;
    Result := True;
  except
    ADOQueryCmd.Connection.RollbackTrans;
    Result := False;
    Application.MessageBox('����ɾ���쳣��', '��ʾ', 0);
  end;
end;

procedure TfrmClothCLCXList.TBExportClick(Sender: TObject);
begin
  if ADOQueryMain.IsEmpty then
    Exit;
  TcxGridToExcel('����������', cxGrid1);
end;

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

procedure TfrmClothCLCXList.TBAddClick(Sender: TObject);
begin
//
//  try
//    frmClothSCInPut := TfrmClothSCInPut.Create(Application);
//    with frmClothSCInPut do
//    begin
//      PState := 0;
//      FMainId := '';
//      FSubId := '';
//      if ShowModal = 1 then
//      begin
//        InitGrid();
//      end;
//    end;
//  finally
//    frmClothSCInPut.Free;
//  end;
end;

procedure TfrmClothCLCXList.ConNoChange(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 TfrmClothCLCXList.FormShow(Sender: TObject);
begin
  InitForm();
end;

//procedure TfrmClothCLCXList.conPress(Sender: TObject; var Key: Char);
//begin
//  if Key = #13 then
//  begin
//    if Length(Trim(ConNo.Text)) < 4 then
//      Exit;
//    try
//      ADOQueryMain.DisableControls;
//      with ADOQueryMain do
//      begin
//        Filtered := False;
//        Close;
//        sql.Clear;
//        //sql.Add('exec Cloth_QryList :MainId,:WSql');
//       // Parameters.ParamByName('WSql').Value:=' and OM.conNo like '''+'%'+Trim(ConNoM.Text)+'%'+''''
//                                             // +' and ConType=''����'' ';
//        sql.Add('select * from Cloth_Main A inner join CLoth_Sub B on A.Mainid=B.MainId');
//        sql.Add(' where A.ConNo like ''' + '%' + Trim(ConNo.Text) + '%' + '''');
//
//        Open;
//      end;
//      SCreateCDS20(ADOQueryMain, Order_Main);
//      SInitCDSData20(ADOQueryMain, Order_Main);
//    finally
//      ADOQueryMain.EnableControls;
//    end;
//  end;
//end;

procedure TfrmClothCLCXList.FormDestroy(Sender: TObject);
begin
  frmClothCLCXList := nil;
end;

procedure TfrmClothCLCXList.Tv1DblClick(Sender: TObject);
begin
 try
    frmClothCLJTCXList := TfrmClothCLJTCXList.Create(Application);
    with frmClothCLJTCXList do
    begin
     FMainID := self.Order_Main.fieldbyname('MAINID').asstring;
     FCarNo := self.Order_Main.fieldbyname('CARNO').asstring;
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmClothCLJTCXList.Free;
  end;
end;

end.