unit U_TradeClothInspList;

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, MovePanel, cxTextEdit,
  cxContainer, cxCurrencyEdit, BtnEdit, RM_e_main, RM_e_htm, RM_e_Graphic,
  RM_e_Jpeg, RM_e_txt, RM_e_csv, Math, Clipbrd, cxPC, cxLookAndFeels,
  cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore,
  dxSkinsDefaultPainters, dxDateRanges, U_BaseList, dxDateTimeWheelPicker,
  dxScrollbarAnnotations;

type
  TfrmTradeClothInspList = class(TfrmBaseList)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBClose: TToolButton;
    Panel1: TPanel;
    BegDate: TDateTimePicker;
    EndDate: TDateTimePicker;
    GPM_1: TcxGridPopupMenu;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    ADOQueryTemp: TADOQuery;
    DS_1: TDataSource;
    Label3: TLabel;
    OrderNo: TEdit;
    TBExport: TToolButton;
    Order_Main: TClientDataSet;
    conNO: TEdit;
    Label7: TLabel;
    Label8: TLabel;
    Label10: TLabel;
    Label5: TLabel;
    C_Name: TEdit;
    Filler: TComboBox;
    btnEdit: TToolButton;
    TBZF: TToolButton;
    btnJBQ: TToolButton;
    RM1: TRMGridReport;
    RMDB_1: TRMDBDataSet;
    ADOQueryPrint: TADOQuery;
    MovePanel2: TMovePanel;
    C_Color: TEdit;
    IsJYTime: TCheckBox;
    lbl1: TLabel;
    BCIOID: TEdit;
    btnJYBG: TToolButton;
    Label16: TLabel;
    CIMachNo: TEdit;
    Label20: TLabel;
    C_ColorNo: TEdit;
    Label23: TLabel;
    C_Code: TEdit;
    ToolButton1: TToolButton;
    PM_1: TPopupMenu;
    cxGrid1: TcxGrid;
    Tv1: TcxGridDBTableView;
    v1Column22: TcxGridDBColumn;
    v1Column21: TcxGridDBColumn;
    v1Column32: TcxGridDBColumn;
    v1Column1: TcxGridDBColumn;
    Tv1Column4: TcxGridDBColumn;
    v1Column13: TcxGridDBColumn;
    v1Column4: TcxGridDBColumn;
    v1Column7: TcxGridDBColumn;
    v1Column17: TcxGridDBColumn;
    v1Column18: TcxGridDBColumn;
    v1Column23: TcxGridDBColumn;
    v1Column8: TcxGridDBColumn;
    v1Column27: TcxGridDBColumn;
    v1Column28: TcxGridDBColumn;
    v1Column10: TcxGridDBColumn;
    v1Column20: TcxGridDBColumn;
    v1Column14: TcxGridDBColumn;
    v1Column12: TcxGridDBColumn;
    v1Column9: TcxGridDBColumn;
    v1Column42: TcxGridDBColumn;
    v1Column6: TcxGridDBColumn;
    v1Column3: TcxGridDBColumn;
    v1Column5: TcxGridDBColumn;
    v1MKXS: TcxGridDBColumn;
    v1Column34: TcxGridDBColumn;
    v1Column46: TcxGridDBColumn;
    Tv1Column3: TcxGridDBColumn;
    cxGrid1Level1: TcxGridLevel;
    Panel6: TPanel;
    Label31: TLabel;
    LBCPAP: TLabel;
    BTLP: TButton;
    BTNP: TButton;
    TCBNOR: TComboBox;
    Tv1Column10: TcxGridDBColumn;
    Tv1Column6: TcxGridDBColumn;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    ToolButton2: TToolButton;
    Tv1Column1: TcxGridDBColumn;
    Tv1Column2: TcxGridDBColumn;
    Tv1Column5: TcxGridDBColumn;
    Tv1Column7: TcxGridDBColumn;
    Tv1Column8: TcxGridDBColumn;
    Tv1Column9: TcxGridDBColumn;
    Tv1Column11: TcxGridDBColumn;
    cxgrdbclmnTv1Column12: TcxGridDBColumn;
    btn1: TToolButton;
    MovePanel1: TMovePanel;
    lbl2: TLabel;
    btn3: TButton;
    btn2: TButton;
    edt1: TEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure TBCloseClick(Sender: TObject);
    procedure TBRafreshClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure btnEditClick(Sender: TObject);
    procedure TBZFClick(Sender: TObject);
    procedure btnJBQClick(Sender: TObject);
    procedure OrderNoKeyPress(Sender: TObject; var Key: Char);
    procedure BTLPClick(Sender: TObject);
    procedure BTNPClick(Sender: TObject);
    procedure TCBNORChange(Sender: TObject);
    procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
    procedure conNOKeyPress(Sender: TObject; var Key: Char);
    procedure CIIOFlagChange(Sender: TObject);
    procedure GradeChange(Sender: TObject);
    procedure KHConNOKeyPress(Sender: TObject; var Key: Char);
    procedure RKOrdIDKeyPress(Sender: TObject; var Key: Char);
    procedure btnJYBGClick(Sender: TObject);
    procedure Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
    procedure cxPageControl1Change(Sender: TObject);
    procedure chkZFClick(Sender: TObject);
    procedure TBExportClick(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure btn1Click(Sender: TObject);
    procedure btn3Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
  private
    DQdate: TDateTime;
    FLeft, FTop: Integer;
    CurrentPage, RecordsNumber: Integer;
    procedure InitGrid();
    function Savedata(): Boolean;
    procedure SetStatus();
    procedure PrintCKMDG(MRKOrdID: string);
    { Private declarations }
  public
    FFInt: Integer;
    canshu1: string;
    { Public declarations }
  end;

implementation

uses
  U_DataLink, U_RTFun, U_TradeInspEdit, U_ZDYHelp, U_LabelPrint, U_LabSet;

{$R *.dfm}

procedure TfrmTradeClothInspList.SetStatus();
begin
  if trim(canshu1) <> '����' then
  begin
    btnEdit.Enabled := False;
    TBZF.Enabled := False;
  end;

//  btnEdit.Enabled := False;
//  TBZF.Enabled := False;
//  btnHY.Enabled := False;
//  btnJBQ.Enabled := False;
//  btnJYBG.Enabled := False;
//
//  btnEdit.Enabled := True;
//  TBZF.Enabled := True;
//  btnJBQ.Enabled := True;
//  btnJYBG.Enabled := True;

end;

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

procedure TfrmTradeClothInspList.FormCreate(Sender: TObject);
begin
  inherited;
  cxgrid1.Align := alClient;
  DQdate := SGetServerDate(ADOQueryTemp);
end;

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

procedure TfrmTradeClothInspList.TBExportClick(Sender: TObject);
begin
  if ADOQueryMain.IsEmpty then
    Exit;
  TcxGridToExcel(self.Caption, cxgrid1);
end;

procedure TfrmTradeClothInspList.PrintCKMDG(MRKOrdID: string);
begin

end;

procedure TfrmTradeClothInspList.InitGrid();
var
  WSql: string;
begin
  MovePanel2.Left := (self.Width - MovePanel2.Width) div 2;
  MovePanel2.Visible := True;
  MovePanel2.Refresh;
  WSql := SGetFilters(Panel1, 1, 2);
  if trim(WSql) <> '' then
  begin
    WSql := ' and ' + trim(WSql);
  end;

  if IsJYTime.Checked then
  begin
    WSql := WSql + ' and Filltime>' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.DateTime));
    WSql := WSql + ' and Filltime<=' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1));
  end
  else
  begin
    if trim(WSql) <> '' then
      WSql := ' and 1=1' + trim(WSql)
    else
      WSql := WSql + ' and 1=2 ';
  end;
  if trim(WSql) = 'and 1=2' then
    Application.MessageBox('��ѡ�������ڻ�������������', '��ʾ', 0);

  try
    ADOQueryMain.DisableControls;

    with ADOQueryMain do
    begin
      Filtered := False;
      Close;
      sql.Clear;
      sql.Add('exec P_Trade_Insp_Get_Page ');
      sql.Add('@pageIndex=' + inttostr(CurrentPage));
      sql.Add(',@pageSize=' + inttostr(RecordsNumber));
      sql.Add(',@criteria= ' + quotedstr(WSql));
      Open;
    end;
    SCreateCDS(ADOQueryMain, Order_Main);
    SInitCDSData(ADOQueryMain, Order_Main);
    LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber));

    MovePanel2.Visible := false;
  finally
    ADOQueryMain.EnableControls;
    MovePanel2.Visible := false;
    TV1.DataController.Filter.Clear;
  end;
end;

procedure TfrmTradeClothInspList.TBRafreshClick(Sender: TObject);
begin
  OrderNo.SetFocus;
  CurrentPage := 1;
  InitGrid();
end;

procedure TfrmTradeClothInspList.FormShow(Sender: TObject);
begin
  inherited;
  canshu1 := self.fParameters1;
  CurrentPage := 1;
  RecordsNumber := 500;
  ReadCxGrid(Trim(self.Caption) + 'Tv1', Tv1, 'ó�׼������');
  EndDate.DateTime := SGetServerDate(ADOQueryTemp);
  BegDate.DateTime := EndDate.DateTime;
//  fsj := 'select distinct(Filler) name from Trade_Cloth_Inspect   ';
//  SInitComBoxBySql(ADOQueryCmd, Filler, False, fsj);
//  Filler.ItemIndex := Filler.Items.IndexOf(trim(DName));


  InitGrid();
  SetStatus();
  InitGrid();
end;

procedure TfrmTradeClothInspList.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  FLeft := X;
  FTop := Y;
end;

procedure TfrmTradeClothInspList.btn1Click(Sender: TObject);
var
  fPrintFile, FLabVolume: string;
begin
  if Order_Main.IsEmpty then
    Exit;
  if Order_Main.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('û��ѡ������!', '��ʾ', 0);
    Exit;
  end;
  frmLabSet := TfrmLabSet.Create(self);
  with frmLabSet do
  begin
    if self.fParameters1 = '¼��' then
      FAuthority := '����ҵ��';
    if showmodal = 1 then
    begin
//      Order_Sub.Edit;
//      Order_Sub.fieldbyname('LabName').Value := frmLabSet.CDS_Label.fieldbyname('labelCaption').asstring;
//      Order_Sub.Post;
      Order_Main.DisableControls;
      with Order_Main do
      begin
        First;
        while not Eof do
        begin
          if Order_Main.FieldByName('SSel').AsBoolean = True then
          begin
            with ADOQueryCmd do
            begin
              Close;
              sql.Clear;
              sql.Add('Update Trade_Cloth_Inspect Set LabName=''' + frmLabSet.CDS_Label.fieldbyname('labelCaption').asstring + '''');
              sql.Add(' where CIID=''' + Trim(Order_Main.fieldbyname('CIID').AsString) + '''');
              ExecSQL;
            end;
          end;
          Next;
        end;
      end;
      Order_Main.EnableControls;
      application.MessageBox('����ɹ���', '��ʾ��Ϣ');
    end;
    free;
  end;
end;

procedure TfrmTradeClothInspList.btn2Click(Sender: TObject);
begin
  MovePanel1.Visible := false;
end;

procedure TfrmTradeClothInspList.btn3Click(Sender: TObject);
var
  fPrintFile, FLabVolume: string;
begin
  Order_Main.DisableControls;
  with Order_Main do
  begin
    First;
    while not Eof do
    begin
      if Order_Main.FieldByName('SSel').AsBoolean = True then
      begin
        with ADOQueryCmd do
        begin
          Close;
          sql.Clear;
          sql.Add('Update Trade_Cloth_Inspect Set PrtCount=PrtCount+1,PrtDate=getdate(),Prter=''' + Trim(DName) + '''');
          sql.Add(' where CIID=''' + Trim(Order_Main.fieldbyname('CIID').AsString) + '''');
          ExecSQL;
        end;

        with ADOQueryPrint do
        begin
          Close;
          SQL.Clear;
          sql.Add(' EXEC P_Trade_Insp_Prt_Lab ');
          SQL.Add(' @CIID=''' + Trim(Order_Main.fieldbyname('CIID').AsString) + '''');
          Open;
        end;
        if ADOQueryPrint.IsEmpty then
        begin
          application.MessageBox('��ǩ����δ�ҵ���', '��ʾ��Ϣ', MB_ICONERROR);
          exit;
        end;

        if Trim(ADOQueryPrint.fieldbyname('Grade').AsString) = '��Ʒ' then
          FLabVolume := Trim(ADOQueryPrint.fieldbyname('LabPackage').AsString)
        else
          FLabVolume := '��Ʒ��ǩ';

        ExportFtErpFile(FLabVolume + '.rmf', ADOQueryTemp);
        fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + FLabVolume + '.rmf';

        if FileExists(fPrintFile) then
        begin
          RM1.LoadFromFile(fPrintFile);
          if Trim(ADOQueryPrint.fieldbyname('LabPackage').AsString) <> '��Ʒ��ǩ' then
            Rm1.DefaultCopies := strtointdef((edt1.Text),1)
          else
            Rm1.DefaultCopies:=strtointdef((edt1.Text),1);
          RM1.PrintReport;
        end
        else
        begin
          Application.MessageBox(PChar('û����' + fPrintFile), '��ʾ', 0);
        end;
      end;
      Next;
    end;
  end;
  MovePanel1.Visible := false;
  Order_Main.EnableControls;
end;

procedure TfrmTradeClothInspList.btnEditClick(Sender: TObject);
begin
  if Order_Main.IsEmpty then
    exit;

  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select * from Trade_Cloth_IO where IOFlag=''���'' and stkid=''' + Trim(Order_Main.fieldbyname('CIID').AsString) + '''');
    Open;
  end;
  if ADOQueryTemp.IsEmpty = False then
  begin
    Order_Main.EnableControls;
    Application.MessageBox('�Ѳ���������ݲ��ܱ༭!', '��ʾ', 0);
    Exit;
  end;
  try
    frmTradeInspEdit := TfrmTradeInspEdit.Create(Application);
    with frmTradeInspEdit do
    begin
      CIID.Text := Trim(Self.Order_Main.fieldbyname('CIID').AsString);
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmTradeInspEdit.Free;
  end;
end;

procedure TfrmTradeClothInspList.TBZFClick(Sender: TObject);
var
  MCIIDS, MPCID: string;
begin
  if Order_Main.Locate('ssel', True, []) = False then
  begin
    Application.MessageBox('û��ѡ������!', '��ʾ', 0);
    Exit;
  end;
  if Application.MessageBox('ȷ��Ҫ�������������Ϻ����ݲ��ָܻ���', '��ʾ', 32 + 4) <> IDYES then
    Exit;
  Order_Main.DisableControls;
  with Order_Main do
  begin
    First;
    while not Eof do
    begin
      if Order_Main.FieldByName('SSel').AsBoolean = True then
      begin

        MCIIDS := MCIIDS + Trim(Order_Main.fieldbyname('CIID').AsString) + ',';
        MPCID := MPCID + Trim(Order_Main.fieldbyname('BCIOID').AsString) + ',';
        Order_Main.Delete;
      end
      else
        Next;
    end;
  end;
  Order_Main.EnableControls;
  try
    ADOQueryCmd.Connection.BeginTrans;
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('insert into Trade_Need_Up(UOperation,UType,UDataId) values(''����'',''����ɾ��'',' + quotedstr(MCIIDS) + ')  ');
      ExecSQL;
    end;
    with ADOQueryCmd do
    begin
      Close;
      Sql.Clear;
      Sql.Add('exec P_Trade_Insp_Del ');
      Sql.Add('@CIIDS=' + quotedstr(Trim(MCIIDS)));
      Sql.Add(',@DCode=' + Quotedstr(DCode));
      Sql.Add(',@DName=' + Quotedstr(DName));
      Open;
    end;
    if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
    begin
      raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
    end;

//    with ADOQueryTemp do
//    begin
//      Close;
//      SQL.Clear;
//      sql.Add(' select * from Knit_Cloth_IO');
//      sql.Add(' where IOFlag = ''����'' and StkId in (''' + Trim(Copy(MPCID, 1, Length(MPCID) - 1)) + ''')');
//      ShowMessage(sql.text);
//      Open;
//    end;
//    if ADOQueryTemp.IsEmpty = false then
//    begin
//    with ADOQueryCmd do
//    begin
//      Close;
//      Sql.Clear;
//      Sql.Add('exec P_Knit_Cloth_ReOut ');
//      Sql.Add('@StkIds=' + quotedstr(trim(MPCID)));
//      Sql.Add(',@IOIDS=' + quotedstr(trim('')));
//      Sql.Add(',@FillId=' + quotedstr(trim(DCode)));
//      Sql.Add(',@Filler=' + quotedstr(trim(DName)));
////        ShowMessage(sql.Text);
//      Open;
//    end;
//    end;
    ADOQueryCmd.Connection.CommitTrans;
    CurrentPage := 1;
    InitGrid();
    application.MessageBox('ɾ���ɹ���', '��ʾ��Ϣ');
  except
    ADOQueryCmd.Connection.RollbackTrans;
    application.MessageBox(PChar(Exception(ExceptObject).Message), '��ʾ��Ϣ', 0);
  end;

end;

procedure TfrmTradeClothInspList.btnJBQClick(Sender: TObject);

begin
  if Order_Main.IsEmpty then
    Exit;
  if Order_Main.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('û��ѡ������!', '��ʾ', 0);
    Exit;
  end;
  MovePanel1.Visible := true;
end;

function TfrmTradeClothInspList.Savedata(): Boolean;
var
  maxno, LLID: string;
  HXPS: Integer;
  HXQty, HXMQty: Double;
begin
  HXPS := 0;
  HXQty := 0;
  with ADOQueryTemp do
  begin
    Close;
    sql.Clear;
    sql.Add('select Top 1 * from Contract_Cloth_LL where OrdSubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + '''');
    sql.Add(' and FirstName=''' + Trim(Order_Main.fieldbyname('AOrddefstr4').AsString) + '''');
    Open;
  end;
  LLID := Trim(ADOQueryTemp.fieldbyname('LLID').AsString);
  if Trim(LLID) = '' then
  begin
    Result := False;
    Application.MessageBox('û�����Ӧ�ļӹ���!', '��ʾ', 0);
    Exit;
  end;
  try
    ADOQueryCmd.Connection.BeginTrans;
    if GetLSNo(ADOQueryCmd, maxno, 'HX', 'Contract_Cloth_BefChkHX', 2, 1) = False then
    begin
      Result := False;
      ADOQueryCmd.Connection.RollbackTrans;
      Application.MessageBox('ȡ��������ʧ��!', '��ʾ', 0);
      Exit;
    end;
    with Order_Main do
    begin
      First;
      while not Eof do
      begin
        if Order_Main.FieldByName('SSel').AsBoolean = True then
        begin
          HXPS := HXPS + 1;
          HXQty := HXQty + Order_Main.FieldByName('MJLen').Value;
        end;
        Next;
      end;
    end;
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('');
      Open;
    end;
  except
  end;
end;

procedure TfrmTradeClothInspList.OrderNoKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    CurrentPage := 1;
    InitGrid();
  end;
end;

procedure TfrmTradeClothInspList.BTLPClick(Sender: TObject);
begin
  if CurrentPage > 1 then
    CurrentPage := CurrentPage - 1;
  InitGrid();
end;

procedure TfrmTradeClothInspList.BTNPClick(Sender: TObject);
begin
  if CurrentPage < Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then
    CurrentPage := CurrentPage + 1;
  InitGrid();
end;

procedure TfrmTradeClothInspList.TCBNORChange(Sender: TObject);
begin
  RecordsNumber := StrToInt(TCBNOR.Text);
  CurrentPage := 1;
  InitGrid();
end;

procedure TfrmTradeClothInspList.ToolButton1Click(Sender: TObject);
begin
  WriteCxGrid(Trim(self.Caption) + 'Tv1', Tv1, 'ó�׼������');
end;

procedure TfrmTradeClothInspList.ToolButton2Click(Sender: TObject);
var
  MStrsql, MStrIn: string;
begin

  if Order_Main.IsEmpty then
    Exit;

  if Order_Main.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('û��ѡ������', '��ʾ', 0);
    Exit;
  end;
  if Application.MessageBox('ȷ��Ҫ�޸�������', '��ʾ', 32 + 4) <> IDYES then
    Exit;
  MovePanel2.Visible := True;
  MovePanel2.Refresh;
  try
    Order_Main.DisableControls;
    with Order_Main do
    begin
      MStrsql := '';
      First;
      while not Eof do
      begin
        if Order_Main.FieldByName('SSel').AsBoolean then
        begin
          if MStrsql = '' then
            MStrsql := Quotedstr(trim(Order_Main.FieldByName('CIID').AsString))
          else
            MStrsql := MStrsql + ',' + Quotedstr(trim(Order_Main.FieldByName('CIID').AsString));
        end;
        Next;
      end;
    end;
    Order_Main.EnableControls;
    MovePanel2.Visible := False;
  except
    MovePanel2.Visible := False;
    Order_Main.EnableControls;
  end;

  if InputQuery('����', '������', MStrIn) then
  begin
    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('Update Trade_Cloth_Inspect Set BatchNO=' + QuotedStr(MStrIn));
      sql.Add(' where CIID in (' + MStrsql + ')');

      sql.Add('Update Trade_Cloth_Stock Set BatchNO=' + QuotedStr(MStrIn));
      sql.Add(' where CIID in (' + MStrsql + ')');
      ExecSQL;
    end;

  end;
  InitGrid();
end;

procedure TfrmTradeClothInspList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
  Clipboard.SetTextBuf(PChar(Trim(Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;

procedure TfrmTradeClothInspList.chkZFClick(Sender: TObject);
begin
  inherited;
  CurrentPage := 1;
  SetStatus();
  InitGrid();
end;

procedure TfrmTradeClothInspList.conNOKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    CurrentPage := 1;
    InitGrid();
  end;
end;

procedure TfrmTradeClothInspList.cxPageControl1Change(Sender: TObject);
begin
  CurrentPage := 1;
  SetStatus();
  InitGrid();
end;

procedure TfrmTradeClothInspList.CIIOFlagChange(Sender: TObject);
begin
  CurrentPage := 1;
  InitGrid();
end;

procedure TfrmTradeClothInspList.GradeChange(Sender: TObject);
begin
  CurrentPage := 1;
  InitGrid();
end;

procedure TfrmTradeClothInspList.KHConNOKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    CurrentPage := 1;
    InitGrid();
  end;
end;

procedure TfrmTradeClothInspList.N2Click(Sender: TObject);
begin
  SelOKNoFiler(Tv1, True); //ȫѡ
end;

procedure TfrmTradeClothInspList.N3Click(Sender: TObject);
begin
  SelOKNoFiler(Tv1, False); //ȫ��
end;

procedure TfrmTradeClothInspList.N4Click(Sender: TObject);
begin
  Clipboard.SetTextBuf(PChar(Trim(Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;

procedure TfrmTradeClothInspList.RKOrdIDKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    CurrentPage := 1;
    InitGrid();
  end;
end;

procedure TfrmTradeClothInspList.btnJYBGClick(Sender: TObject);
var
  WSql: string;
begin
  if Order_Main.IsEmpty then
    Exit;
  WSql := '';
  Order_Main.DisableControls;
  with Order_Main do
  begin
    First;
    while not Eof do
    begin
      if Order_Main.fieldbyname('SSel').AsBoolean then
      begin
        if WSql <> '' then
        begin
          WSql := WSql + ',' + Trim(Order_Main.fieldbyname('CIID').AsString);
        end
        else
        begin
          WSql := Trim(Order_Main.fieldbyname('CIID').AsString);
        end;
      end;
      Next;
    end;
  end;
  Order_Main.Locate('SSel', True, []);
  Order_Main.EnableControls;
  try
    frmLabelPrint := TfrmLabelPrint.Create(Application);
    with frmLabelPrint do
    begin
      FLMType := 'TradeInsp';
      FFiltration1 := WSql;
      if ShowModal = 1 then
      begin
//        Self.InitGrid();
      end;
    end;
  finally
    frmLabelPrint.Free;
  end;

  if Order_Main.Locate('SSel', True, []) = False then
  begin
    Application.MessageBox('û��ѡ������', '��ʾ', 0);
    Exit;
  end;

end;

procedure TfrmTradeClothInspList.Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
var
  FValue: string;
  FBounds: TRect;
begin
  FBounds := AViewInfo.Bounds;
  if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then
  begin
    ACanvas.FillRect(FBounds);
    ACanvas.DrawComplexFrame(FBounds, clBlack, clBlack, [bBottom, bLeft, bRight], 1);
    FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1);
    InflateRect(FBounds, -3, -2); //Platform specific. May not work on Linux.
    ACanvas.Font.Color := clBlack;
    ACanvas.Brush.Style := bsClear;
    ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop);
    ADone := True;
  end;
end;

end.