unit U_CJRKList;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
  cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView,
  cxGridBandedTableView, cxGridDBBandedTableView, cxGridLevel, cxClasses,
  cxControls, cxGridCustomView, cxGridDBTableView, cxGrid, StdCtrls, ComCtrls,
  ExtCtrls, ToolWin, cxGridCustomPopupMenu, cxGridPopupMenu, ADODB, DBClient,
  cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
  RM_System, RM_GridReport, Menus, cxCalendar, MovePanel, Math, Clipbrd,
  cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxTextEdit, 
   dxDateRanges, dxBarBuiltInMenu, U_BaseList, cxPC,
  System.StrUtils, cxContainer, dxCore, cxDateUtils, cxMaskEdit, 
      
    
     
     
     
    
    
    
    
    
     
     
     
    
    
     dxScrollbarAnnotations,
  cxButtonEdit, cxProgressBar;

type
  TfrmCJRKList = class(TfrmBaseList)
    ToolBar1: TToolBar;
    TBRafresh: TToolButton;
    TBExport: TToolButton;
    TBClose: TToolButton;
    ADOQueryCmd: TADOQuery;
    ADOQueryMain: TADOQuery;
    ADOQueryTemp: TADOQuery;
    DS_1: TDataSource;
    GPM_1: TcxGridPopupMenu;
    CDS_1: TClientDataSet;
    TBRKCX: TToolButton;
    ToolButton2: TToolButton;
    ToolButton4: TToolButton;
    PM_1: TPopupMenu;
    PM11: TMenuItem;
    ToolButton1: TToolButton;
    N1: TMenuItem;
    N2: TMenuItem;
    cxPageControl1: TcxPageControl;
    cxTabSheet1: TcxTabSheet;
    cxTabSheet2: TcxTabSheet;
    Panel6: TPanel;
    Label31: TLabel;
    LBCPAP: TLabel;
    BTLP: TButton;
    BTNP: TButton;
    TCBNOR: TComboBox;
    Pnl_F1: TPanel;
    Label2: TLabel;
    begtime: TDateTimePicker;
    endTime: TDateTimePicker;
    Pnl_F2: TPanel;
    Label1: TLabel;
    DateTimePicker3: TDateTimePicker;
    DateTimePicker4: TDateTimePicker;
    GPM_2: TcxGridPopupMenu;
    CDS_2: TClientDataSet;
    DS_2: TDataSource;
    BegDate2: TcxDateEdit;
    EndDate2: TcxDateEdit;
    chk_F2: TcxCheckBox;
    chk_F1: TcxCheckBox;
    BegDate: TcxDateEdit;
    EndDate: TcxDateEdit;
    cxGrid2: TcxGrid;
    Tv2: TcxGridDBTableView;
    v1Column2: TcxGridDBColumn;
    cxGridDBColumn3: TcxGridDBColumn;
    cxGridDBColumn5: TcxGridDBColumn;
    cxGridDBColumn6: TcxGridDBColumn;
    cxGridDBColumn7: TcxGridDBColumn;
    cxGridDBColumn8: TcxGridDBColumn;
    cxGridDBColumn9: TcxGridDBColumn;
    cxGridDBColumn10: TcxGridDBColumn;
    cxGridDBColumn11: TcxGridDBColumn;
    cxGridDBColumn12: TcxGridDBColumn;
    cxGridDBColumn13: TcxGridDBColumn;
    cxGridDBColumn14: TcxGridDBColumn;
    cxGridDBColumn16: TcxGridDBColumn;
    v1Column20: TcxGridDBColumn;
    cxGridDBColumn17: TcxGridDBColumn;
    cxGridDBColumn18: TcxGridDBColumn;
    cxGridDBColumn19: TcxGridDBColumn;
    cxGridDBColumn20: TcxGridDBColumn;
    cxGridDBColumn21: TcxGridDBColumn;
    cxGridDBColumn22: TcxGridDBColumn;
    cxGridLevel1: TcxGridLevel;
    Label4: TLabel;
    Label6: TLabel;
    Label9: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Y_name: TcxTextEdit;
    FromCoName: TcxTextEdit;
    Y_Spec: TcxComboBox;
    cxTextEdit1: TcxTextEdit;
    Yarn_Name: TcxTextEdit;
    cxGrid1: TcxGrid;
    Tv1: TcxGridDBTableView;
    cxGridDBColumn23: TcxGridDBColumn;
    cxGridDBColumn24: TcxGridDBColumn;
    cxGridDBColumn27: TcxGridDBColumn;
    cxGridDBColumn28: TcxGridDBColumn;
    cxGridDBColumn29: TcxGridDBColumn;
    cxGridDBColumn30: TcxGridDBColumn;
    cxGridDBColumn31: TcxGridDBColumn;
    cxGridDBColumn32: TcxGridDBColumn;
    cxGridDBColumn33: TcxGridDBColumn;
    cxGridDBColumn34: TcxGridDBColumn;
    cxGridDBColumn35: TcxGridDBColumn;
    cxGridDBColumn36: TcxGridDBColumn;
    cxGridDBColumn37: TcxGridDBColumn;
    cxGridDBColumn38: TcxGridDBColumn;
    cxGridDBColumn39: TcxGridDBColumn;
    cxGridDBColumn40: TcxGridDBColumn;
    cxGridDBColumn41: TcxGridDBColumn;
    cxGridDBColumn42: TcxGridDBColumn;
    cxGridDBColumn43: TcxGridDBColumn;
    cxGridDBColumn44: TcxGridDBColumn;
    cxGridLevel2: TcxGridLevel;
    Tv1Column1: TcxGridDBColumn;
    Tv1Column2: TcxGridDBColumn;
    Label3: TLabel;
    Label5: TLabel;
    Label7: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    cxTextEdit2: TcxTextEdit;
    cxTextEdit3: TcxTextEdit;
    cxComboBox1: TcxComboBox;
    cxTextEdit8: TcxTextEdit;
    cxTextEdit9: TcxTextEdit;
    cxTabSheet3: TcxTabSheet;
    Panel1: TPanel;
    Label21: TLabel;
    Label22: TLabel;
    Button1: TButton;
    Button2: TButton;
    ComboBox1: TComboBox;
    Pnl_F3: TPanel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label28: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    DateTimePicker1: TDateTimePicker;
    DateTimePicker2: TDateTimePicker;
    cxCheckBox1: TcxCheckBox;
    cxDateEdit1: TcxDateEdit;
    cxDateEdit2: TcxDateEdit;
    cxTextEdit10: TcxTextEdit;
    cxTextEdit11: TcxTextEdit;
    cxTextEdit13: TcxTextEdit;
    cxComboBox2: TcxComboBox;
    cxTextEdit16: TcxTextEdit;
    cxTextEdit17: TcxTextEdit;
    cxGrid3: TcxGrid;
    Tv3: TcxGridDBTableView;
    cxGridDBColumn45: TcxGridDBColumn;
    cxGridDBColumn46: TcxGridDBColumn;
    cxGridDBColumn47: TcxGridDBColumn;
    cxGridDBColumn50: TcxGridDBColumn;
    cxGridDBColumn51: TcxGridDBColumn;
    cxGridDBColumn52: TcxGridDBColumn;
    cxGridDBColumn53: TcxGridDBColumn;
    cxGridDBColumn54: TcxGridDBColumn;
    cxGridDBColumn55: TcxGridDBColumn;
    cxGridDBColumn56: TcxGridDBColumn;
    cxGridDBColumn57: TcxGridDBColumn;
    cxGridDBColumn58: TcxGridDBColumn;
    cxGridDBColumn59: TcxGridDBColumn;
    cxGridDBColumn60: TcxGridDBColumn;
    cxGridDBColumn61: TcxGridDBColumn;
    cxGridDBColumn62: TcxGridDBColumn;
    cxGridDBColumn63: TcxGridDBColumn;
    cxGridDBColumn64: TcxGridDBColumn;
    cxGridDBColumn65: TcxGridDBColumn;
    cxGridDBColumn66: TcxGridDBColumn;
    cxGridDBColumn67: TcxGridDBColumn;
    cxGridDBColumn68: TcxGridDBColumn;
    cxGridDBColumn69: TcxGridDBColumn;
    cxGridLevel3: TcxGridLevel;
    DS_3: TDataSource;
    CDS_3: TClientDataSet;
    Tv3Column1: TcxGridDBColumn;
    Tv3Column2: TcxGridDBColumn;
    Tv3Column3: TcxGridDBColumn;
    Tv1Column4: TcxGridDBColumn;
    Label35: TLabel;
    ToCoName: TcxTextEdit;
    Label36: TLabel;
    StkPosition: TcxTextEdit;
    Label38: TLabel;
    cxTextEdit19: TcxTextEdit;
    Tv2Column2: TcxGridDBColumn;
    Label8: TLabel;
    BanID: TcxTextEdit;
    Label11: TLabel;
    cxTextEdit4: TcxTextEdit;
    Label13: TLabel;
    cxTextEdit6: TcxTextEdit;
    Label14: TLabel;
    MXID: TcxTextEdit;
    GPM_3: TcxGridPopupMenu;
    Tv2Column3: TcxGridDBColumn;
    Tv1Column5: TcxGridDBColumn;
    Tv2Column1: TcxGridDBColumn;
    Label12: TLabel;
    STKID: TcxTextEdit;
    Label10: TLabel;
    cxTextEdit5: TcxTextEdit;
    Tv1Column6: TcxGridDBColumn;
    Tv3Column4: TcxGridDBColumn;
    Label18: TLabel;
    cxTextEdit12: TcxTextEdit;
    Tv3Column7: TcxGridDBColumn;
    Tv3Column5: TcxGridDBColumn;
    Tv3Column6: TcxGridDBColumn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure TBRafreshClick(Sender: TObject);
    procedure TBCloseClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure TBExportClick(Sender: TObject);
    procedure orderNoKeyPress(Sender: TObject; var Key: Char);
    procedure TBRKCXClick(Sender: TObject);
    procedure BTNPClick(Sender: TObject);
    procedure BTLPClick(Sender: TObject);
    procedure TCBNORChange(Sender: TObject);
    procedure JYTypeChange(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure cxPageControl1Change(Sender: TObject);
    procedure CDS_1BeforeOpen(DataSet: TDataSet);
    procedure Tv1DataControllerFilterBeforeChange(Sender: TcxDBDataFilterCriteria; ADataSet: TDataSet; const AFilterText: string);
    procedure Tv1TcxGridDBDataControllerTcxDataSummaryFooterSummaryItems6GetText(Sender: TcxDataSummaryItem; const AValue: Variant; AIsFooter: Boolean; var AText: string);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure PM11Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure TV2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
    procedure MenuItem3Click(Sender: TObject);
    procedure TV2CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
    procedure FromCoNamePropertiesChange(Sender: TObject);
    procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
  private
    CurrentPage, RecordsNumber: Integer;
    lstCust: TStringList;
    procedure InitGrid(WSql: string);
    procedure InitPage();
    procedure SetStatus();
    { Private declarations }
  public
    canshu1, canshu2, FWorkshop: string;
    { Public declarations }
  end;

implementation

uses
  U_DataLink, U_RTFun, U_LabelPrint;

{$R *.dfm}
procedure TfrmCJRKList.InitPage();
begin
  ToolBar1.SetFocus;
  CurrentPage := 1;
  case cxPageControl1.ActivePageIndex of
    0:
      begin
        InitGrid(SGetHintFilters(Pnl_F2, 1, 2));
      end;
    1:
      begin
        InitGrid(SGetHintFilters(Pnl_F1, 1, 2));
      end;
    2:
      begin
        InitGrid(SGetHintFilters(Pnl_F3, 1, 2));
      end;
  end;
end;

procedure TfrmCJRKList.SetStatus();
begin
  TBRKCX.Visible := false;
  case cxPageControl1.ActivePageIndex of

    0:
      begin

      end;
    1:
      begin

      end;
    2:
      begin

      end;
  end;

end;

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

procedure TfrmCJRKList.FormCreate(Sender: TObject);
begin
  inherited;
  lstCust := TStringList.Create;
  EndDate.Date := SGetServerDateTime(ADOQueryTemp);
  BegDate.Date := EndDate.Date - 20;

  BegDate2.Date := BegDate.Date;
  EndDate2.Date := EndDate.Date;

  FWorkshop := trim(Self.fParameters3);
end;

procedure TfrmCJRKList.InitGrid(WSql: string);
begin

  with ADOQueryCmd do
  begin
    Close;
    sql.Clear;
    sql.Add('UPDATE BS_Yarn_IO set FromMXID =BYIOID where IOFlag=''出库'' and isnull(FromMXID,'''') ='''' ');
    sql.Add('UPDATE BS_Yarn_IO set FromMXID =REPLACE(FromMXID, ''YC'', ''bao'') where IOFlag=''出库''  ');
    execsql;
  end;

  if Trim(WSql) <> '' then
    WSql := ' and ' + WSql;

  case cxPageControl1.ActivePageIndex of
    0:
      begin
        if chk_F2.Checked then
        begin
          WSql := WSql + ' and IOTime>=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate2.Date));
          WSql := WSql + ' and IOTime<' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate2.Date + 1));
        end;
        with ADOQueryMain do
        begin
          Close;
          sql.Clear;
          sql.Add('select AA.*,CEILING(Piece/BBBS) AS BS ');
          sql.Add('from (');
          sql.Add(' select A.BYIONO,CONVERT(VARCHAR(10),A.IOTime,120) AS  IOTime,A.IOFlag,A.IOType,A.Y_Code,A.Y_Name,A.Y_Spec,A.ToCoNo,A.ToCoName,A.FromCoNo,A.FromCoName,A.ToMainId,A.ToSubId,A.Denier  ');
          sql.Add(',A.Y_Type,A.BCPH,A.GYSPH,A.JGPH,A.Yarn_Name,A.F_Number,A.Z_Number,A.BBBS,B.CKLX,A.PackWet,A.QtyUnit,A.Note ');
          sql.Add(',COUNT(*) AS Piece,Sum(BaoQty) AS Qty                                                    ');
          sql.Add('from BS_Yarn_IO A                                                                        ');
          sql.Add('INNER JOIN BS_Yarn_IO_MX B on A.FromMXID = B.MXID                                        ');
          sql.Add('where B.IOFlag2 in (''已出库'',''已入库'')                             ');
          sql.Add('GROUP BY A.BYIONO,CONVERT(VARCHAR(10),A.IOTime,120),A.IOFlag,A.IOType,A.Y_Code,A.Y_Name,A.Y_Spec,A.ToCoNo,A.ToCoName,A.FromCoNo,A.FromCoName,A.ToMainId,A.ToSubId,A.Denier ');
          sql.Add(',A.Y_Type,A.BCPH,A.GYSPH,A.JGPH,A.Yarn_Name,A.F_Number,A.Z_Number,A.BBBS,B.CKLX,A.PackWet,A.QtyUnit,A.Note    ');
          sql.Add(')AA where 1=1');
          sql.Add(WSql);
          sql.Add('ORDER BY BYIONO');
//          ShowMessage(sql.text);
          Open;
        end;
        SCreateCDS(ADOQueryMain, CDS_2);
        SInitCDSData(ADOQueryMain, CDS_2);
      end;
    1:
      begin
        if chk_F1.Checked then
        begin
          WSql := WSql + ' and IOTime>=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.Date));
          WSql := WSql + ' and IOTime<' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.Date + 1));
        end;
        with ADOQueryMain do
        begin
          Close;
          sql.Clear;
          sql.Add('select AA.*,CEILING(Piece/BBBS) AS BS ');
          sql.Add('from (');
          sql.Add(' select A.BYIONO,CONVERT(VARCHAR(10),A.IOTime,120) AS  IOTime,A.IOFlag,A.IOType,A.Y_Code,A.Y_Name,A.Y_Spec,A.ToCoNo,A.ToCoName,A.FromCoNo,A.FromCoName,A.ToMainId,A.ToSubId,A.Denier  ');
          sql.Add(',A.Y_Type,A.BCPH,A.GYSPH,A.JGPH,A.Yarn_Name,A.F_Number,A.Z_Number,A.BBBS,B.CKLX,A.PackWet,A.QtyUnit,A.Note,B.BanID,B.BanNO,B.StkPosition  ');
          sql.Add(',COUNT(*) AS Piece,Sum(BaoQty) AS Qty                                                    ');
          sql.Add('from BS_Yarn_IO A                                                                        ');
          sql.Add('INNER JOIN BS_Yarn_IO_MX B on A.FromMXID = B.MXID                                        ');
          sql.Add('where B.IOFlag2 in (''已出库'',''已入库'')                             ');
          sql.Add('GROUP BY A.BYIONO,CONVERT(VARCHAR(10),A.IOTime,120),A.IOFlag,A.IOType,A.Y_Code,A.Y_Name,A.Y_Spec,A.ToCoNo,A.ToCoName,A.FromCoNo,A.FromCoName,A.ToMainId,A.ToSubId,A.Denier ');
          sql.Add(',A.Y_Type,A.BCPH,A.GYSPH,A.JGPH,A.Yarn_Name,A.F_Number,A.Z_Number,A.BBBS,B.CKLX,A.PackWet,A.QtyUnit,A.Note,B.BanID,B.BanNO,B.StkPosition    ');
          sql.Add(')AA where 1=1');
          sql.Add(WSql);
          sql.Add('ORDER BY BYIONO,BanNo');
//          ShowMessage(SQL.Text);
          Open;
        end;
        SCreateCDS(ADOQueryMain, CDS_1);
        SInitCDSData(ADOQueryMain, CDS_1);
      end;

    2:
      begin
        if chk_F1.Checked then
        begin
          WSql := WSql + ' and IOTime>=' + quotedstr(FormatDateTime('yyyy-MM-dd', BegDate.Date));
          WSql := WSql + ' and IOTime<' + quotedstr(FormatDateTime('yyyy-MM-dd', enddate.Date + 1));
        end;
        with ADOQueryMain do
        begin
          Close;
          sql.Clear;
          sql.Add('select B.KeShu,B.KeKG,*  ');
          sql.Add('from BS_Yarn_IO A                                                                        ');
          sql.Add('INNER JOIN BS_Yarn_IO_MX B on A.FromMXID = B.MXID                                        ');
          sql.Add('where B.IOFlag2 in (''已出库'',''已入库'')                           ');
          sql.Add(WSql);
          sql.Add('ORDER BY BYIONO,StkID,BanNo,BaoNO ');
//          ShowMessage(SQL.Text);
          Open;
        end;
        SCreateCDS(ADOQueryMain, CDS_3);
        SInitCDSData(ADOQueryMain, CDS_3);
      end;
  end;

end;

procedure TfrmCJRKList.TBRafreshClick(Sender: TObject);
begin
  CurrentPage := 1;
  InitPage();
end;

procedure TfrmCJRKList.CDS_1BeforeOpen(DataSet: TDataSet);
begin

  lstCust.Clear;
end;

procedure TfrmCJRKList.cxPageControl1Change(Sender: TObject);
begin
  SetStatus();
  InitPage();
end;

procedure TfrmCJRKList.TBCloseClick(Sender: TObject);
begin

  Close;
end;

procedure TfrmCJRKList.FormShow(Sender: TObject);
begin
  inherited;
  canshu1 := self.fParameters1;
  canshu2 := self.fParameters2;
  FWorkshop := self.fParameters3;
  ReadCxGrid(trim(self.Caption) + 'Tv11', Tv1, '梭织坯布仓库');
  ReadCxGrid(trim(self.Caption) + 'Tv22', Tv2, '梭织坯布仓库');
  CurrentPage := 1;
  RecordsNumber := 500;

  SetStatus();
  InitPage();
end;

procedure TfrmCJRKList.FromCoNamePropertiesChange(Sender: TObject);
begin
  TBRafresh.Click;
end;

procedure TfrmCJRKList.TBExportClick(Sender: TObject);
begin
  if ADOQueryMain.IsEmpty then
    exit;
  TcxGridToExcel(Self.Caption, cxGrid1);
end;

procedure TfrmCJRKList.orderNoKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
  begin
    CurrentPage := 1;
    InitPage();
  end;
end;

procedure TfrmCJRKList.PM11Click(Sender: TObject);
begin
  SelOKNo(CDS_3, true);

end;

procedure TfrmCJRKList.TBRKCXClick(Sender: TObject);
var
  MBYIOIDS: string;
begin
  if CDS_3.IsEmpty then
    Exit;
  if not CDS_3.Locate('SSel', True, []) then
  begin
    Application.MessageBox('没有选择数据!', '提示', 0);
    Exit;
  end;
  MBYIOIDS := '';

  CDS_3.DisableControls;
  with CDS_3 do
  begin
    First;
    while not Eof do
    begin
      if CDS_3.fieldbyname('SSel').AsBoolean then
      begin
        MBYIOIDS := MBYIOIDS + (Trim(CDS_3.fieldbyname('BYIOID').AsString)) + ',';
      end;
      Next;
    end;
  end;
  MBYIOIDS := leftBstr(trim(MBYIOIDS), length(MBYIOIDS) - 1);

  CDS_3.Locate('SSel', True, []);
  CDS_3.EnableControls;

  if Application.MessageBox('确定要执行操作吗？', '提示', 32 + 4) <> IDYES then
    Exit;

  try
    ADOQueryCmd.Connection.BeginTrans;

    with ADOQueryCmd do
    begin
      Close;
      sql.Clear;
      sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails)       ');
      sql.Add('values(''纱线出库''    ');
      sql.Add(',' + quotedstr(MBYIOIDS));
      sql.Add(',''删除''   ');
      sql.Add(',' + quotedstr(DName));
      sql.Add(',' + quotedstr(trim(self.Caption)));
      sql.Add(',' + quotedstr(MBYIOIDS));
      sql.Add(')  ');
      execsql;
    end;

    with ADOQueryCmd do
    begin
      Close;
      Sql.Clear;
      Sql.Add('exec P_BS_Yarn_Out_Del ');
      Sql.Add(' @BYIOIDS=' + quotedstr(MBYIOIDS));
      Sql.Add(',@DCode=' + quotedstr(Trim(DCode)));
      Sql.Add(',@DName=' + quotedstr(Trim(DName)));
//      ShowMessage(sql.Text);
      Open;
    end;

    if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
    begin
      raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
    end;

    ADOQueryCmd.Connection.CommitTrans;

    InitPage();
  except
    ADOQueryCmd.Connection.RollbackTrans;
    application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0);
  end;
end;

procedure TfrmCJRKList.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin

  cxPageControl1.ActivePageIndex := 2;
  SetStatus();
  InitGrid(SGetCDSFilters(Tv1, CDS_1));
end;

procedure TfrmCJRKList.Tv1DataControllerFilterBeforeChange(Sender: TcxDBDataFilterCriteria; ADataSet: TDataSet; const AFilterText: string);
begin
  lstCust.Clear;
end;

procedure TfrmCJRKList.Tv1TcxGridDBDataControllerTcxDataSummaryFooterSummaryItems6GetText(Sender: TcxDataSummaryItem; const AValue: Variant; AIsFooter: Boolean; var AText: string);
begin
  if lstCust <> nil then
    AText := IntToStr(lstCust.Count);
end;

procedure TfrmCJRKList.TV2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
  BegDate.Date := BegDate2.Date;
  EndDate.Date := EndDate2.Date;
  chk_F2.Checked := chk_F1.Checked;
  cxPageControl1.ActivePageIndex := 1;
  SetStatus();
  InitGrid(SGetCDSFilters(Tv2, CDS_2));
end;

procedure TfrmCJRKList.TV2CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
//  if AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('sh').Index] <> null then
//    if AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('sh').Index] > 8 then
//      ACanvas.Brush.Color := $B3DEF5;
end;

procedure TfrmCJRKList.BTNPClick(Sender: TObject);
begin
  if CurrentPage < CDS_1.FieldByName('TotalCount').AsInteger / RecordsNumber then
    CurrentPage := CurrentPage + 1;
  InitGrid(SGetHintFilters(Pnl_F1, 1, 2));
end;

procedure TfrmCJRKList.BTLPClick(Sender: TObject);
begin
  if CurrentPage > 1 then
    CurrentPage := CurrentPage - 1;
  InitGrid(SGetHintFilters(Pnl_F1, 1, 2));
end;

procedure TfrmCJRKList.TCBNORChange(Sender: TObject);
begin
  RecordsNumber := StrToInt(TCBNOR.Text);
  CurrentPage := 1;
  InitGrid(SGetHintFilters(Pnl_F1, 1, 2));
end;

procedure TfrmCJRKList.JYTypeChange(Sender: TObject);
begin
  CurrentPage := 1;
  InitPage();
end;

procedure TfrmCJRKList.MenuItem3Click(Sender: TObject);
begin
  Clipboard.SetTextBuf(PChar(Trim(CDS_2.fieldbyname(TV2.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;

procedure TfrmCJRKList.N1Click(Sender: TObject);
begin
  SelOKNo(CDS_3, false);
end;

procedure TfrmCJRKList.N2Click(Sender: TObject);
begin
  Clipboard.SetTextBuf(PChar(Trim(CDS_3.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;

procedure TfrmCJRKList.ToolButton1Click(Sender: TObject);
begin
  if CDS_1.IsEmpty then
    Exit;

  try
    frmLabelPrint := TfrmLabelPrint.Create(Application);
    with frmLabelPrint do
    begin
      FLMType := 'TatClothIn1';
      FFiltration1 := Trim(self.CDS_1.fieldbyname('IONO').AsString);
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmLabelPrint.Free;
  end;
end;

procedure TfrmCJRKList.ToolButton2Click(Sender: TObject);
var
  WSql: string;
begin
  if CDS_1.IsEmpty then
    Exit;
  if not CDS_1.Locate('SSel', True, []) then
  begin
    Application.MessageBox('没有选择数据!', '提示', 0);
    Exit;
  end;
  WSql := '';
  CDS_1.DisableControls;
  with CDS_1 do
  begin
    First;
    while not Eof do
    begin
      if CDS_1.fieldbyname('SSel').AsBoolean then
      begin
        if WSql <> '' then
        begin
          WSql := WSql + ',' + QuotedStr(Trim(CDS_1.fieldbyname('CIID').AsString));
        end
        else
        begin
          WSql := QuotedStr(Trim(CDS_1.fieldbyname('CIID').AsString));
        end;
      end;
      Next;
    end;
  end;
  CDS_1.Locate('SSel', True, []);
  CDS_1.EnableControls;
  try
    frmLabelPrint := TfrmLabelPrint.Create(Application);
    with frmLabelPrint do
    begin
      FLMType := 'TatClothIn2';
      FFiltration1 := WSql;
      if ShowModal = 1 then
      begin

      end;
    end;
  finally
    frmLabelPrint.Free;
  end;
end;

procedure TfrmCJRKList.ToolButton4Click(Sender: TObject);
begin
  WriteCxGrid(trim(self.Caption) + 'Tv11', Tv1, '梭织坯布仓库');
  WriteCxGrid(trim(self.Caption) + 'Tv22', Tv2, '梭织坯布仓库');
end;

end.

