unit U_CKProductBCPKCListSel; 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, MovePanel, cxCheckBox, Menus, cxCalendar, RM_Common, RM_Class, RM_GridReport, RM_System, RM_Dataset, BtnEdit, Math, Clipbrd, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, cxPC; type TfrmCKProductBCPKCListSel = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBClose: TToolButton; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; CDS_Main: TClientDataSet; Tv1: TcxGridDBTableView; cxGrid2Level1: TcxGridLevel; cxGrid2: TcxGrid; v2Column1: TcxGridDBColumn; v2Column3: TcxGridDBColumn; v2Column5: TcxGridDBColumn; v2Column6: TcxGridDBColumn; v1Column1: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; MovePanel2: TMovePanel; v1Column11: TcxGridDBColumn; v1Column12: TcxGridDBColumn; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ThreeColorBase: TcxStyleRepository; SHuangSe: TcxStyle; SkyBlue: TcxStyle; Default: TcxStyle; QHuangSe: TcxStyle; Red: TcxStyle; FontBlue: TcxStyle; TextSHuangSe: TcxStyle; FonePurple: TcxStyle; FoneClMaroon: TcxStyle; FoneRed: TcxStyle; RowColor: TcxStyle; handBlack: TcxStyle; cxBlue: TcxStyle; RMDB_Main: TRMDBDataSet; ADOQueryPrint: TADOQuery; RM2: TRMGridReport; v1Column16: TcxGridDBColumn; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; RM3: TRMGridReport; RMDBHZ: TRMDBDataSet; RMDBPRT: TRMDBDataSet; Panel6: TPanel; Label31: TLabel; LBCPAP: TLabel; BTLP: TButton; BTNP: TButton; TCBNOR: TComboBox; v1Column18: TcxGridDBColumn; Panel1: TPanel; Label3: TLabel; Label1: TLabel; Label2: TLabel; Label5: TLabel; Label6: TLabel; Label8: TLabel; Label9: TLabel; Label7: TLabel; Label4: TLabel; Label10: TLabel; Label15: TLabel; MPRTCode: TEdit; BegDate: TDateTimePicker; EndDate: TDateTimePicker; orderNo: TEdit; MJID: TEdit; YWY: TEdit; MPRTMF: TEdit; CPType: TComboBox; RKplace: TEdit; PRTColor: TEdit; GANGHAO: TEdit; v1Column10: TcxGridDBColumn; Label11: TLabel; ConNo: TEdit; v1Column14: TcxGridDBColumn; Label14: TLabel; CustomerNoName: TEdit; ToolButton1: TToolButton; Tv1Column1: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Label12: TLabel; ISSD: TComboBox; cxTabControl1: TcxTabControl; Tv1Column2: TcxGridDBColumn; Tv1Column7: TcxGridDBColumn; Label13: TLabel; FSID: TEdit; Panel2: TPanel; Label18: TLabel; Label24: TLabel; Label25: TLabel; Label26: TLabel; Edit_RollNum_X: TEdit; Edit_Qty_M_X: TEdit; edit_Qty_Y_X: TEdit; procedure FormDestroy(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormCreate(Sender: TObject); procedure TBRafreshClick(Sender: TObject); procedure ConNoMChange(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure BTNPClick(Sender: TObject); procedure BTLPClick(Sender: TObject); procedure TCBNORChange(Sender: TObject); procedure MPRTCodeKeyPress(Sender: TObject; var Key: Char); procedure CPTypeKeyPress(Sender: TObject; var Key: Char); procedure ToolButton1Click(Sender: TObject); procedure orderNoChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); procedure v1Column12PropertiesChange(Sender: TObject); private FLeft, FTop: Integer; CurrentPage, RecordsNumber: Integer; procedure InitGrid(); procedure JsNum(); { Private declarations } public issel: integer; { Public declarations } end; var frmCKProductBCPKCListSel: TfrmCKProductBCPKCListSel; implementation uses U_DataLink, U_Fun, U_ZDYHelp; {$R *.dfm} procedure TfrmCKProductBCPKCListSel.JsNum(); var fMJID: string; fps: integer; fQty, fQty1: double; begin fMJID := CDS_Main.fieldbyName('MJID').AsString; fps := 0; fQty := 0; fQty1 := 0; if CDS_Main.IsEmpty then exit; with CDS_Main do begin DisableControls; first; while not eof do begin if FieldByName('ssel').AsBoolean then begin fps := fps + 1; fQty := fQty + FieldByName('qty').AsFloat; fQty1 := fQty1 + FieldByName('KGqty').AsFloat; // fMoney:=fMoney+FieldByName('money').AsFloat; end; next; end; First; EnableControls; end; Edit_RollNum_X.Text := inttostr(fps); Edit_Qty_M_X.Text := floattostr(fQty); Edit_Qty_Y_X.Text := floattostr(fQty1); CDS_Main.Locate('MJID', fMJID, []); end; procedure TfrmCKProductBCPKCListSel.FormDestroy(Sender: TObject); begin frmCKProductBCPKCListSel := nil; end; procedure TfrmCKProductBCPKCListSel.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := caHide; end; procedure TfrmCKProductBCPKCListSel.FormCreate(Sender: TObject); var fsj: string; begin BegDate.DateTime := SGetServerDateTime(ADOQueryTemp); EndDate.DateTime := SGetServerDateTime(ADOQueryTemp); // fsj := 'select name=distinct mjtype from wfb_mjjy order by mjtype '; // SInitComBoxBySql(ADOQueryCmd, CPType, False, fsj); end; procedure TfrmCKProductBCPKCListSel.InitGrid(); var fwhere, Pwhere: string; begin MovePanel2.Left := (self.Width - MovePanel2.Width) div 2; MovePanel2.Visible := True; MovePanel2.Refresh; if SGetFilters(Panel1, 1, 2) <> '' then Pwhere := ' and ' + SGetFilters(Panel1, 1, 2); if cxTabControl1.TabIndex = 0 then begin Pwhere := Pwhere + ' and cptype<>''次布'' and cptype<>''次品'' and cptype<>''二级品'''; end; if cxTabControl1.TabIndex = 1 then begin Pwhere := Pwhere + ' and cptype in(''次布'',''次品'',''二级品'') '; end; if trim(Pwhere) <> '' then fwhere := ' where 1=1 ' + trim(Pwhere); // ShowMessage(fwhere); try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered := False; Close; sql.Clear; sql.Add('exec P_Page_FinishClothKC '); sql.Add('@pageIndex=' + inttostr(CurrentPage)); sql.Add(',@pageSize=' + inttostr(RecordsNumber)); sql.Add(',@criteria= ' + quotedstr(fwhere)); // ShowMessage(sql.Text); Open; end; SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber)); MovePanel2.Visible := false; finally ADOQueryMain.EnableControls; MovePanel2.Visible := false; end; end; procedure TfrmCKProductBCPKCListSel.TBRafreshClick(Sender: TObject); begin CurrentPage := 1; InitGrid(); end; procedure TfrmCKProductBCPKCListSel.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); end; end; procedure TfrmCKProductBCPKCListSel.TBCloseClick(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '成品仓库00'); Close; end; procedure TfrmCKProductBCPKCListSel.FormShow(Sender: TObject); begin CurrentPage := 1; RecordsNumber := 500; ReadCxGrid(trim(self.Caption), Tv1, '成品仓库00'); end; procedure TfrmCKProductBCPKCListSel.Tv1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin FLeft := X; FTop := Y; end; procedure TfrmCKProductBCPKCListSel.Tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean); begin Clipboard.SetTextBuf(PChar(Trim(CDS_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString))); end; procedure TfrmCKProductBCPKCListSel.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmCKProductBCPKCListSel.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmCKProductBCPKCListSel.BTNPClick(Sender: TObject); begin if CurrentPage < CDS_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then CurrentPage := CurrentPage + 1; InitGrid(); end; procedure TfrmCKProductBCPKCListSel.BTLPClick(Sender: TObject); begin if CurrentPage > 1 then CurrentPage := CurrentPage - 1; InitGrid(); end; procedure TfrmCKProductBCPKCListSel.TCBNORChange(Sender: TObject); begin RecordsNumber := StrToInt(TCBNOR.Text); CurrentPage := 1; InitGrid(); end; procedure TfrmCKProductBCPKCListSel.MPRTCodeKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin CurrentPage := 1; InitGrid(); end; end; procedure TfrmCKProductBCPKCListSel.CPTypeKeyPress(Sender: TObject; var Key: Char); begin CurrentPage := 1; InitGrid(); end; procedure TfrmCKProductBCPKCListSel.ToolButton1Click(Sender: TObject); begin if CDS_Main.IsEmpty then exit; ModalResult := 1; end; procedure TfrmCKProductBCPKCListSel.orderNoChange(Sender: TObject); begin if ADOQueryMain.Active = False then Exit; SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2)); SCreateCDS20(ADOQueryMain, CDS_Main); SInitCDSData20(ADOQueryMain, CDS_Main); end; procedure TfrmCKProductBCPKCListSel.cxTabControl1Change(Sender: TObject); begin InitGrid(); end; procedure TfrmCKProductBCPKCListSel.v1Column12PropertiesChange(Sender: TObject); begin JsNum(); end; end.