unit U_BGFeeChkList;

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, cxTextEdit, cxDropDownEdit;

type
  TfrmBGFeeChkList = class(TForm)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBFind: TToolButton;
    TBEdit: TToolButton;
    TBPrint: TToolButton;
    TBClose: TToolButton;
    Tv1: TcxGridDBTableView;
    cxGrid1Level1: TcxGridLevel;
    cxGrid1: TcxGrid;
    cxGridPopupMenu1: TcxGridPopupMenu;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    ADOQueryTemp: TADOQuery;
    DataSource1: TDataSource;
    TBExport: TToolButton;
    V1SFKDate: TcxGridDBColumn;
    v1ConNo: TcxGridDBColumn;
    v1PRTColor: TcxGridDBColumn;
    v1MPRTSpec: TcxGridDBColumn;
    Order_Main: TClientDataSet;
    RM1: TRMGridReport;
    RMDBDataSet1: TRMDBDataSet;
    RMXLSExport1: TRMXLSExport;
    v1CustomerNoName: TcxGridDBColumn;
    v1MPRTCodeName: TcxGridDBColumn;
    v1MPRTMF: TcxGridDBColumn;
    PopupMenu1: TPopupMenu;
    N2: TMenuItem;
    v1PRTPrice: TcxGridDBColumn;
    ToolButton1: TToolButton;
    v1Column1: TcxGridDBColumn;
    ADOQueryPrint: TADOQuery;
    CDS_Print: TClientDataSet;
    v1Column4: TcxGridDBColumn;
    Panel1: TPanel;
    Label4: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    BegDate: TDateTimePicker;
    EndDate: TDateTimePicker;
    OrderNoHZ: TEdit;
    BMNo: TEdit;
    ChuanGS: TEdit;
    V1TuiDanChkDate: TcxGridDBColumn;
    cxTabControl1: TcxTabControl;
    v1Column3: TcxGridDBColumn;
    v1Column5: TcxGridDBColumn;
    v1Column6: TcxGridDBColumn;
    v1Column7: TcxGridDBColumn;
    v1Column8: TcxGridDBColumn;
    v1Column9: TcxGridDBColumn;
    v1Column10: TcxGridDBColumn;
    v1Column11: TcxGridDBColumn;
    cxSplitter1: TcxSplitter;
    Label2: TLabel;
    ChuanNo: TEdit;
    Label3: TLabel;
    HDName: TEdit;
    Label5: TLabel;
    FeeName: TEdit;
    ComboBox1: TComboBox;
    DataSource2: TDataSource;
    ClientDataSet2: TClientDataSet;
    v1Column12: TcxGridDBColumn;
    v1Column13: TcxGridDBColumn;
    v1Column14: TcxGridDBColumn;
    Panel2: TPanel;
    cxGrid2: TcxGrid;
    Tv2: TcxGridDBTableView;
    cxGridDBColumn1: TcxGridDBColumn;
    cxGridDBColumn2: TcxGridDBColumn;
    cxGridDBColumn3: TcxGridDBColumn;
    cxGridDBColumn4: TcxGridDBColumn;
    cxGridDBColumn5: TcxGridDBColumn;
    cxGridDBColumn6: TcxGridDBColumn;
    cxGridDBColumn7: TcxGridDBColumn;
    cxGridDBColumn8: TcxGridDBColumn;
    cxGridDBColumn9: TcxGridDBColumn;
    cxGridDBColumn10: TcxGridDBColumn;
    cxGridDBColumn11: TcxGridDBColumn;
    cxGridDBColumn12: TcxGridDBColumn;
    cxGridLevel1: TcxGridLevel;
    cxSplitter2: TcxSplitter;
    cxGrid3: TcxGrid;
    Tv3: TcxGridDBTableView;
    v2Column1: TcxGridDBColumn;
    cxGridDBColumn13: TcxGridDBColumn;
    cxGridDBColumn14: TcxGridDBColumn;
    cxGridDBColumn15: TcxGridDBColumn;
    cxGridDBColumn16: TcxGridDBColumn;
    cxGridDBColumn17: TcxGridDBColumn;
    cxGridDBColumn18: TcxGridDBColumn;
    cxGridDBColumn19: TcxGridDBColumn;
    cxGridDBColumn20: TcxGridDBColumn;
    cxGridLevel2: TcxGridLevel;
    DataSource3: TDataSource;
    ClientDataSet3: TClientDataSet;
    cxGridPopupMenu2: TcxGridPopupMenu;
    cxGridPopupMenu3: TcxGridPopupMenu;
    v1Column15: TcxGridDBColumn;
    v1Column16: TcxGridDBColumn;
    v1Column17: TcxGridDBColumn;
    ToolButton2: TToolButton;
    Panel3: TPanel;
    Panel4: TPanel;
    SFKDate: TDateTimePicker;
    TuiDanChkDate: TDateTimePicker;
    Button1: TButton;
    Button2: TButton;
    procedure FormDestroy(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure TBCloseClick(Sender: TObject);
    procedure TBFindClick(Sender: TObject);
    procedure TBExportClick(Sender: TObject);
    procedure TBPrintClick(Sender: TObject);
    procedure TBRafreshClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Tv1StylesGetContentStyle(Sender: TcxCustomGridTableView;
      ARecord: TcxCustomGridRecord; AItem: TcxCustomGridTableItem;
      out AStyle: TcxStyle);
    procedure v1DeliveryDateCustomDrawCell(Sender: TcxCustomGridTableView;
      ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
      var ADone: Boolean);
    procedure ToolButton1Click(Sender: TObject);
    procedure OrderNoHZChange(Sender: TObject);
    procedure BMNoKeyPress(Sender: TObject; var Key: Char);
    procedure cxTabControl1Change(Sender: TObject);
    procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView;
      APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord;
      ANewItemRecordFocusingChanged: Boolean);
    procedure OrderNoHZKeyPress(Sender: TObject; var Key: Char);
    procedure TBEditClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    DQdate:TDateTime;
    procedure InitGrid();
    procedure InitForm();
    function  DelData():Boolean;
    { Private declarations }
  public
    FFInt,FCloth:Integer;

    { Public declarations }
  end;

var
  frmBGFeeChkList: TfrmBGFeeChkList;

implementation
uses
  U_DataLink,U_BGFeeInPut,U_RTFun;

{$R *.dfm}

procedure TfrmBGFeeChkList.FormDestroy(Sender: TObject);
begin
  frmBGFeeChkList:=nil;
end;

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

procedure TfrmBGFeeChkList.FormCreate(Sender: TObject);
begin
  cxgrid1.Align:=alClient;
  //BegDate.DateTime:=SGetServerDateTime(ADOQueryTemp)-7;
  //EndDate.DateTime:=SGetServerDateTime(ADOQueryTemp);
  DQdate:=SGetServerDate(ADOQueryTemp);
end;

procedure TfrmBGFeeChkList.TBCloseClick(Sender: TObject);
begin
  Close;
  WriteCxGrid('���ط����б�1',Tv1,'���ط���');
  WriteCxGrid('���ط����б�2',Tv2,'���ط���');
  WriteCxGrid('���ط����б�3',Tv3,'���ط���');
end;

procedure TfrmBGFeeChkList.InitGrid();
begin
  try
    ADOQueryMain.DisableControls;
    with ADOQueryMain do
    begin
      Filtered:=False;
      Close;
      sql.Clear;
      if cxTabControl1.TabIndex=0 then
      begin
        sql.Add('select A.*,B.* ');
        sql.Add(',OrderNoHZ=dbo.F_Get_Order_SubStr(A.BMID,''BGOrderNo'')');
        sql.Add(' from BGFee_Main A  ');
        sql.Add(' inner join BGFee_HuoDai B on A.BMID=B.BMID');
        sql.Add(' where 1=1');
        sql.Add(' and isnull(B.SFKDate,'''')='''' ');
      end  else
      if cxTabControl1.TabIndex=1 then
      begin
        sql.Add('select A.*,B.* ');
        sql.Add(',OrderNoHZ=dbo.F_Get_Order_SubStr(A.BMID,''BGOrderNo'')');
        sql.Add(' from BGFee_Main A  ');
        sql.Add(' inner join BGFee_HuoDai B on A.BMID=B.BMID');
        sql.Add(' where 1=1');
        sql.Add(' and isnull(B.SFKDate,'''')<>'''' ');
      end  else
      if cxTabControl1.TabIndex=2 then
      begin
        sql.Add('select A.*,B.* ');
        sql.Add(',OrderNoHZ=dbo.F_Get_Order_SubStr(A.BMID,''BGOrderNo'')');
        sql.Add(' from BGFee_Main A  ');
        sql.Add(' left join BGFee_HuoDai B on A.BMID=B.BMID');
        sql.Add(' where 1=1');
        sql.Add(' and isnull(TuiDanChkDate,'''')='''' ');
      end   else
      if cxTabControl1.TabIndex=3 then
      begin
        sql.Add('select A.*,B.* ');
        sql.Add(',OrderNoHZ=dbo.F_Get_Order_SubStr(A.BMID,''BGOrderNo'')');
        sql.Add(' from BGFee_Main A  ');
        sql.Add(' left join BGFee_HuoDai B on A.BMID=B.BMID');
        sql.Add(' where 1=1');
        sql.Add(' and isnull(TuiDanChkDate,'''')<>''''');
      end else
      begin
        sql.Add('select A.*,B.* ');
        sql.Add(',OrderNoHZ=dbo.F_Get_Order_SubStr(A.BMID,''BGOrderNo'')');
        sql.Add(' from BGFee_Main A  ');
        sql.Add(' left join BGFee_HuoDai B on A.BMID=B.BMID');
        sql.Add(' where 1=1');
      end;

      if (cxTabControl1.TabIndex=1) or  (cxTabControl1.TabIndex=3) or (cxTabControl1.TabIndex=4) then
      begin
        if Trim(ComboBox1.Text)='���Ǽ�����' then
        begin
          SQL.Add('and  A.FillTIme>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
          SQL.Add('and  A.FillTIme<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
        end else
        if Trim(ComboBox1.Text)='��װ������' then
        begin
          SQL.Add('and  A.ZhuangXiangDate>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
          SQL.Add('and  A.ZhuangXiangDate<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
        end  else
        if Trim(ComboBox1.Text)='������' then
        begin
          SQL.Add('and  A.ChuanDate>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
          SQL.Add('and  A.ChuanDate<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
        end else
        if Trim(ComboBox1.Text)='��Ԥ¼������' then
        begin
          SQL.Add('and  A.YuLuDanDate>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
          SQL.Add('and  A.YuLuDanDate<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
        end else
        if Trim(ComboBox1.Text)='���ᵥ����' then
        begin
          SQL.Add('and  A.TiDanDate>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
          SQL.Add('and  A.TiDanDate<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
        end else
        if Trim(ComboBox1.Text)='��Ԥ�˵�����' then
        begin
          SQL.Add('and  A.YuTuiDanDate>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
          SQL.Add('and  A.YuTuiDanDate<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
        end else
        if Trim(ComboBox1.Text)='�����˵�������' then
        begin
          SQL.Add('and  A.JiaoTuiDanDate>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
          SQL.Add('and  A.JiaoTuiDanDate<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
        end else
        if Trim(ComboBox1.Text)='���˵�(��)����' then
        begin
          SQL.Add('and  A.TuiDanChkDate>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
          SQL.Add('and  A.TuiDanChkDate<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
        end else
        if Trim(ComboBox1.Text)='����������' then
        begin
          SQL.Add('and  B.SFKDate>='''+FormatDateTime('yyyy-MM-dd',BegDate.DateTime)+'''');
          SQL.Add('and  B.SFKDate<'''+FormatDateTime('yyyy-MM-dd',enddate.DateTime+1)+'''');
        end;
      end;
      SQL.Add(' and isnull(A.SChkTime,'''')<>'''' ');
      Open;
    end;
    SCreateCDS20(ADOQueryMain,Order_Main);
    SInitCDSData20(ADOQueryMain,Order_Main);
  finally
    ADOQueryMain.EnableControls;
  end;
end;


procedure TfrmBGFeeChkList.InitForm();
begin
  ReadCxGrid('���ط����б�1',Tv1,'���ط���');
  ReadCxGrid('���ط����б�2',Tv2,'���ط���');
  ReadCxGrid('���ط����б�3',Tv3,'���ط���');
  BegDate.DateTime:=SGetServerDate10(ADOQueryTemp)-7;
  EndDate.DateTime:=SGetServerDate10(ADOQueryTemp);
  SFKDate.DateTime:=EndDate.DateTime;
  TuiDanChkDate.DateTime:=EndDate.DateTime;
  InitGrid();
end;

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

function TfrmBGFeeChkList.DelData():Boolean;
begin
  try
    Result:=false;
    ADOQueryCmd.Connection.BeginTrans;
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('delete BGFee_Main where BMId='''+Trim(Order_Main.fieldbyname('BMId').AsString)+'''');
      ExecSQL;
    end;
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('delete BGFee_Sub where BMId='''+Trim(Order_Main.fieldbyname('BMId').AsString)+'''');
      ExecSQL;
    end;
    ADOQueryCmd.Connection.CommitTrans;
    Result:=True;
  except
    ADOQueryCmd.Connection.RollbackTrans;
    Result:=False;
    Application.MessageBox('����ɾ���쳣��','��ʾ',0);
  end;
end;

procedure TfrmBGFeeChkList.TBExportClick(Sender: TObject);
begin
  //if ADOQueryMain.IsEmpty then Exit;
  //SelExportData(Tv1,ADOQueryMain,'����ָʾ���б�');
  if Order_Main.IsEmpty then Exit;
  TcxGridToExcel('������ͬ',cxGrid1);
end;

procedure TfrmBGFeeChkList.TBPrintClick(Sender: TObject);
var
   fPrintFile:string;
   EngMoney:string;
begin
  if Order_Main.IsEmpty then Exit;
  fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\Ӣ�ĺ�ͬ.rmf' ;
  with ADOQueryPrint do
  begin
    Close;
    sql.Clear;
    sql.Add('select A.*,B.*,ConMoney=B.PRTOrderQty*B.PRTPrice,COL=''COL:''  ');
    sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
    sql.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
    Open;
  end;
  SCreateCDS20(ADOQueryPrint,CDS_Print);
  SInitCDSData20(ADOQueryPrint,CDS_Print);
  //
  with ADOQueryTemp do
  begin
    close;
    sql.Clear;
    sql.Add('select TolConMoney=Sum(PRTOrderQty*PRTPrice)');
    sql.Add(' from JYOrderCon_Main A inner join JYOrderCon_Sub B on A.MainId=B.MainId ');
    sql.Add(' where A.MainId='''+Trim(Order_Main.fieldbyname('MainId').AsString)+'''');
    Open;
  end;
  EngMoney:=num2cengnum(ADOQueryTemp.fieldbyname('TolConMoney').AsString);
  EngMoney:=UpperCase(EngMoney);
  if FileExists(fPrintFile) then
  begin
    RMVariables['EngMoney']:=EngMoney;
    //RMVariables['enddate']:=enddate.DateTime;
    //RMVariables['printtime']:=Now;
    //RMVariables['printer']:=Trim(gUserName);
    RM1.LoadFromFile(fPrintFile);
    RM1.ShowReport;
  end else
  begin
    Application.MessageBox(PChar('û����'+ExtractFilePath(Application.ExeName)+'Report\Ӣ�ĺ�ͬ.rmf'),'��ʾ',0);
  end;
end;

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

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

procedure TfrmBGFeeChkList.Tv1StylesGetContentStyle(
  Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
  AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
var
  id,id10:Integer;
begin
  {try
    if Tv1.GroupedItemCount=0 then
    begin
      Id:=Tv1.GetColumnByFieldName('DeliveryDate').Index-tv1.GroupedItemCount;
      Id10:=Tv1.GetColumnByFieldName('SubStatus').Index-tv1.GroupedItemCount;
      if Trim(VarToStr(ARecord.Values[id]))='' then Exit;
      if Id<0 then Exit;
      if ARecord.Values[id10]='���' then exit;
      if (ARecord.Values[id]-DQdate)>=4 then Exit;
      if ((ARecord.Values[id]-DQdate)>=0) and ((ARecord.Values[id]-DQdate)<4) then
        AStyle:=DataLink_.QHuangSe
      else
      if ARecord.Values[id]-DQdate<0 then
      begin
        AStyle:=DataLink_OrderManage.FenHongS;
      end;
    end else
    begin

    end;
  except
  end; }
end;

procedure TfrmBGFeeChkList.v1DeliveryDateCustomDrawCell(
  Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
  AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
 { Id:=TV1.GetColumnByFieldName('DeliveryDate').Index;//;-TV1.GroupedItemCount;
  Id10:=TV1.GetColumnByFieldName('SubStatus').Index;
  if Id<0 then Exit;
  if AViewInfo.GridRecord.Values[Id10]='���' then Exit;
  if AViewInfo.GridRecord.Values[Id]-SGetServerDate(ADOQueryTemp)>=4 then Exit;
  if ((AViewInfo.GridRecord.Values[id]-SGetServerDate10(ADOQueryTemp))>=0) and ((AViewInfo.GridRecord.Values[id]-SGetServerDate(ADOQueryTemp))<4) then
    ACanvas.Brush.Color:=clYellow
  else
  if (AViewInfo.GridRecord.Values[id])-(SGetServerDate10(ADOQueryTemp)<0) then
  begin
    ACanvas.Brush.Color:=clRed;
  end;
  begin
    ACanvas.Brush.Color:=clRed;
  end else
  if AViewInfo.GridRecord.Values[Id]='Purple' then
  begin
    ACanvas.Brush.Color:=clPurple;
  end else
  if AViewInfo.GridRecord.Values[Id]='Olive' then
  begin
    ACanvas.Brush.Color:=clOlive;
  end else
  if AViewInfo.GridRecord.Values[Id]='Teal' then
  begin
    ACanvas.Brush.Color:=clTeal;
  end else
  if AViewInfo.GridRecord.Values[Id]='Background' then
  begin
    ACanvas.Brush.Color:=clBackground;
  end;   }
end;

procedure TfrmBGFeeChkList.ToolButton1Click(Sender: TObject);
begin
  if Order_Main.IsEmpty then Exit;
  try
    frmBGFeeInPut:=TfrmBGFeeInPut.Create(Application);
    with frmBGFeeInPut do
    begin
      PState:=1;
      FMainId:=Trim(Self.Order_Main.fieldbyname('BMId').AsString);
      ToolBar2.Visible:=False;
      TBSave.Visible:=False;
      ScrollBox1.Enabled:=False;
      Tv1.OptionsSelection.CellSelect:=False;
      if ShowModal=1 then
      begin

      end;
    end;
  finally
    frmBGFeeInPut.Free;
  end;
end;

procedure TfrmBGFeeChkList.OrderNoHZChange(Sender: TObject);
begin
  if ADOQueryMain.Active=False then Exit;
  SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2));
  SCreateCDS20(ADOQueryMain,Order_Main);
  SInitCDSData20(ADOQueryMain,Order_Main);
end;

procedure TfrmBGFeeChkList.BMNoKeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
  begin
    if Length(BMNo.Text)<3 then Exit;
    try
      ADOQueryMain.DisableControls;
      with ADOQueryMain do
      begin
        Filtered:=False;
        Close;
        SQL.Clear;
        sql.Add('select A.*,B.* ');
        sql.Add(',OrderNoHZ=dbo.F_Get_Order_SubStr(A.BMID,''BGOrderNo'')');
        sql.Add(' from BGFee_Main A  ');
        sql.Add(' left join BGFee_HuoDai B on A.BMID=B.BMID');
        SQL.Add('where  1=1');
        {if Trim(DParameters1)<>'��Ȩ��'  then
        begin
          sql.Add(' and A.Filler in(select UserName from  SY_User where DPID in');
          sql.Add(' (select DPID from SY_User where UserName='''+Trim(DName)+'''))');
        end; }
        sql.Add(' and BMNO like '''+'%'+Trim(BMNO.Text)+'%'+'''');
        SQL.Add(' and isnull(A.SChkTime,'''')<>'''' ');
        if cxTabControl1.TabIndex=0 then
        begin
          sql.Add(' and isnull(B.SFKDate,'''')='''' ');
        end  else
        if cxTabControl1.TabIndex=1 then
        begin
          sql.Add(' and isnull(B.SFKDate,'''')<>'''' ');
        end  else
        if cxTabControl1.TabIndex=2 then
        begin
          sql.Add(' and isnull(TuiDanChkDate,'''')='''' ');
        end   else
        if cxTabControl1.TabIndex=3 then
        begin
          sql.Add(' and isnull(TuiDanChkDate,'''')<>''''');
        end;
        Open;
      end;
      SCreateCDS20(ADOQueryMain,Order_Main);
      SInitCDSData20(ADOQueryMain,Order_Main);
    finally
      ADOQueryMain.EnableControls;
    end;
  end;
end;

procedure TfrmBGFeeChkList.cxTabControl1Change(Sender: TObject);
begin
  InitGrid();
end;

procedure TfrmBGFeeChkList.Tv1FocusedRecordChanged(
  Sender: TcxCustomGridTableView; APrevFocusedRecord,
  AFocusedRecord: TcxCustomGridRecord;
  ANewItemRecordFocusingChanged: Boolean);
begin
  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select * from BGFee_Sub where BMID='''+Trim(Order_Main.fieldbyname('BMID').AsString)+'''');
    Open;
  end;
  SCreateCDS20(ADOQueryTemp,ClientDataSet2);
  SInitCDSData20(ADOQueryTemp,ClientDataSet2);
  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select * from BGFee_HuoDai where BMID='''+Trim(Order_Main.fieldbyname('BMID').AsString)+'''');
    Open;
  end;
  SCreateCDS20(ADOQueryTemp,ClientDataSet3);
  SInitCDSData20(ADOQueryTemp,ClientDataSet3);
end;

procedure TfrmBGFeeChkList.OrderNoHZKeyPress(Sender: TObject; var Key: Char);
begin
  if Key=#13 then
  begin
    if Length(OrderNoHZ.Text)<3 then Exit;
    try
      ADOQueryMain.DisableControls;
      with ADOQueryMain do
      begin
        Filtered:=False;
        Close;
        SQL.Clear;
        sql.Add('select A.*,B.* ');
        sql.Add(',OrderNoHZ=dbo.F_Get_Order_SubStr(A.BMID,''BGOrderNo'')');
        sql.Add(' from BGFee_Main A  ');
        sql.Add(' left join BGFee_HuoDai B on A.BMID=B.BMID');
        SQL.Add('where  1=1');
        {if Trim(DParameters1)<>'��Ȩ��'  then
        begin
          sql.Add(' and A.Filler in(select UserName from  SY_User where DPID in');
          sql.Add(' (select DPID from SY_User where UserName='''+Trim(DName)+'''))');
        end; }
        sql.Add(' and dbo.F_Get_Order_SubStr(A.BMID,''BGOrderNo'') like '''+'%'+Trim(OrderNoHZ.Text)+'%'+'''');
        SQL.Add(' and isnull(A.SChkTime,'''')<>'''' ');
        if cxTabControl1.TabIndex=0 then
        begin
          sql.Add(' and isnull(B.SFKDate,'''')='''' ');
        end  else
        if cxTabControl1.TabIndex=1 then
        begin
          sql.Add(' and isnull(B.SFKDate,'''')<>'''' ');
        end  else
        if cxTabControl1.TabIndex=2 then
        begin
          sql.Add(' and isnull(TuiDanChkDate,'''')='''' ');
        end   else
        if cxTabControl1.TabIndex=3 then
        begin
          sql.Add(' and isnull(TuiDanChkDate,'''')<>''''');
        end;
        Open;
      end;
      SCreateCDS20(ADOQueryMain,Order_Main);
      SInitCDSData20(ADOQueryMain,Order_Main);
    finally
      ADOQueryMain.EnableControls;
    end;
  end;
end;

procedure TfrmBGFeeChkList.TBEditClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then exit;
  if cxTabControl1.TabIndex<>0 then Exit;
  if Order_Main.Locate('SSel',True,[])=False then
  begin
    Application.MessageBox('û��ѡ������!','��ʾ',0);
    Exit;
  end;
  if Application.MessageBox('ȷ��Ҫִ�д˲�����','��ʾ',32+4)<>IDYES then Exit;
  try
    ADOQueryCmd.Connection.BeginTrans;
    Order_Main.DisableControls;
    with Order_Main do
    begin
      First;
      while Locate('SSel',True,[]) do
      begin
        with ADOQueryCmd do
        begin
          Close;
          sql.Clear;
          sql.Add('select * from BGFee_HuoDai where BHID='''+Trim(Order_Main.fieldbyname('BHID').AsString)+'''');
          Open;
        end;
        with ADOQueryCmd do
        begin
          Edit;
          FieldByName('SFKDate').Value:=Trim(FormatDateTime('yyyy-MM-dd',SFKDate.Date));
          Post;
        end;
        Order_Main.Delete;
      end;
    end;
    Order_Main.EnableControls;
    ADOQueryCmd.Connection.CommitTrans;
  except
    ADOQueryCmd.Connection.RollbackTrans;
    Application.MessageBox('���¸��������쳣!','��ʾ',0);
  end;
end;

procedure TfrmBGFeeChkList.Button1Click(Sender: TObject);
begin
  if Order_Main.IsEmpty then exit;
  if cxTabControl1.TabIndex<>1 then Exit;
  if Order_Main.Locate('SSel',True,[])=False then
  begin
    Application.MessageBox('û��ѡ������!','��ʾ',0);
    Exit;
  end;
  if Application.MessageBox('ȷ��Ҫִ�д˲�����','��ʾ',32+4)<>IDYES then Exit;
  try
    ADOQueryCmd.Connection.BeginTrans;
    Order_Main.DisableControls;
    with Order_Main do
    begin
      First;
      while Locate('SSel',True,[]) do
      begin
        with ADOQueryCmd do
        begin
          Close;
          sql.Clear;
          sql.Add('select * from BGFee_HuoDai where BHID='''+Trim(Order_Main.fieldbyname('BHID').AsString)+'''');
          Open;
        end;
        with ADOQueryCmd do
        begin
          Edit;
          FieldByName('SFKDate').Value:=NUll;
          Post;
        end;
        Order_Main.Delete;
      end;
    end;
    Order_Main.EnableControls;
    ADOQueryCmd.Connection.CommitTrans;
  except
    ADOQueryCmd.Connection.RollbackTrans;
    Application.MessageBox('�������������쳣!','��ʾ',0);
  end;
end;

procedure TfrmBGFeeChkList.ToolButton2Click(Sender: TObject);
begin
  if Order_Main.IsEmpty then exit;
  if cxTabControl1.TabIndex<>2 then Exit;
  if Order_Main.Locate('SSel',True,[])=False then
  begin
    Application.MessageBox('û��ѡ������!','��ʾ',0);
    Exit;
  end;
  if Application.MessageBox('ȷ��Ҫִ�д˲�����','��ʾ',32+4)<>IDYES then Exit;
  try
    ADOQueryCmd.Connection.BeginTrans;
    Order_Main.DisableControls;
    with Order_Main do
    begin
      First;
      while Locate('SSel',True,[]) do
      begin
        with ADOQueryCmd do
        begin
          Close;
          sql.Clear;
          sql.Add('select * from BGFee_Main where BMID='''+Trim(Order_Main.fieldbyname('BMID').AsString)+'''');
          Open;
        end;
        with ADOQueryCmd do
        begin
          Edit;
          FieldByName('TuiDanChkDate').Value:=Trim(FormatDateTime('yyyy-MM-dd',TuiDanChkDate.Date));
          Post;
        end;
        Order_Main.Delete;
      end;
    end;
    Order_Main.EnableControls;
    ADOQueryCmd.Connection.CommitTrans;
  except
    ADOQueryCmd.Connection.RollbackTrans;
    Application.MessageBox('���¸��������쳣!','��ʾ',0);
  end;
end;

procedure TfrmBGFeeChkList.Button2Click(Sender: TObject);
begin
  if Order_Main.IsEmpty then exit;
  if cxTabControl1.TabIndex<>3 then Exit;
  if Order_Main.Locate('SSel',True,[])=False then
  begin
    Application.MessageBox('û��ѡ������!','��ʾ',0);
    Exit;
  end;
  if Application.MessageBox('ȷ��Ҫִ�д˲�����','��ʾ',32+4)<>IDYES then Exit;
  try
    ADOQueryCmd.Connection.BeginTrans;
    Order_Main.DisableControls;
    with Order_Main do
    begin
      First;
      while Locate('SSel',True,[]) do
      begin
        with ADOQueryCmd do
        begin
          Close;
          sql.Clear;
          sql.Add('select * from BGFee_Main where BMID='''+Trim(Order_Main.fieldbyname('BMID').AsString)+'''');
          Open;
        end;
        with ADOQueryCmd do
        begin
          Edit;
          FieldByName('TuiDanChkDate').Value:=NUll;
          Post;
        end;
        Order_Main.Delete;
      end;
    end;
    Order_Main.EnableControls;
    ADOQueryCmd.Connection.CommitTrans;
  except
    ADOQueryCmd.Connection.RollbackTrans;
    Application.MessageBox('���¸��������쳣!','��ʾ',0);
  end;
end;

end.