unit U_CLYouKa_GZMX; 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, cxButtonEdit, cxTextEdit, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu; type TfrmCLYouKa_GZMX = class(TForm) ToolBar1: TToolBar; TBRafresh: TToolButton; TBFind: TToolButton; TBExport: TToolButton; TBClose: TToolButton; Panel1: TPanel; ADOQueryCmd: TADOQuery; ADOQueryMain: TADOQuery; ADOQueryTemp: TADOQuery; DataSource1: TDataSource; cxGridPopupMenu1: TcxGridPopupMenu; Label1: TLabel; BegDate: TDateTimePicker; CDS_Main: TClientDataSet; RM1: TRMGridReport; RMDBMain: TRMDBDataSet; RMXLSExport1: TRMXLSExport; RMDBHZ: TRMDBDataSet; CDS_HZ: TClientDataSet; CDS_PRT: TClientDataSet; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; Label3: TLabel; JSYName: TEdit; cxGrid2: TcxGrid; Tv1: TcxGridDBTableView; v1GZMonth: TcxGridDBColumn; v1JSYName: TcxGridDBColumn; v1SPMoney: TcxGridDBColumn; cxGrid2Level1: TcxGridLevel; v1CCMoney: TcxGridDBColumn; v1YHMoney: TcxGridDBColumn; cxTabControl1: TcxTabControl; v1CFMoney: TcxGridDBColumn; v1CheHao: TcxGridDBColumn; v1CLName: TcxGridDBColumn; Label2: TLabel; CheHao: TEdit; Label4: TLabel; CLName: TEdit; Label5: TLabel; CLSpec: TEdit; v1CLSpec: TcxGridDBColumn; v1JJMoney: TcxGridDBColumn; 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 TBExportClick(Sender: TObject); procedure TBFindClick(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure SPIDChange(Sender: TObject); procedure SPSpecChange(Sender: TObject); procedure GCNameChange(Sender: TObject); procedure cxTabControl1Change(Sender: TObject); private canshu1,canshu2,canshu3:string; procedure InitGrid(); procedure setstatus(); procedure BCInitGrid(); { Private declarations } public { Public declarations } end; var frmCLYouKa_GZMX: TfrmCLYouKa_GZMX; implementation uses U_DataLink,U_RTFun,U_SXCKInPut, U_JGSXCKInPut,U_CLKH_Sub; {$R *.dfm} procedure TfrmCLYouKa_GZMX.setstatus(); begin end; procedure TfrmCLYouKa_GZMX.FormDestroy(Sender: TObject); begin frmCLYouKa_GZMX:=nil; end; procedure TfrmCLYouKa_GZMX.FormClose(Sender: TObject; var Action: TCloseAction); begin Action:=caFree; end; procedure TfrmCLYouKa_GZMX.FormCreate(Sender: TObject); begin //cxGrid1.Align:=alClient; BegDate.DateTime:=SGetServerDate(ADOQueryTemp); canshu1:=Trim(DParameters1); canshu2:=Trim(DParameters2); canshu3:=Trim(DParameters3); end; procedure TfrmCLYouKa_GZMX.InitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select AA.* from (select A.* '); sql.add(',CLName=(select Top 1 B.CLName from CK_CP_CR B where B.SJName=A.JSYName Order by B.CRTime desc)'); sql.add(',CheHao=(select Top 1 B.CheHao from CK_CP_CR B where B.SJName=A.JSYName Order by B.CRTime desc)'); sql.add(',CLSpec=(select Top 1 B.CLSpec from CK_CP_CR B where B.SJName=A.JSYName Order by B.CRTime desc)'); sql.Add(' from CLJSY_Main A'); sql.add(' where A.GZMonth='''+Trim(FormatDateTime('yyyy-MM',BegDate.Date))+''') AA where 1=1'); if cxTabControl1.TabIndex=0 then begin sql.Add(' and isnull(AA.CLName,'''')=''搅拌车'''); end; if cxTabControl1.TabIndex=1 then begin sql.Add(' and isnull(AA.CLName,'''')<>''搅拌车'''); end; Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCLYouKa_GZMX.BCInitGrid(); begin try ADOQueryMain.DisableControls; with ADOQueryMain do begin Filtered:=False; Close; sql.Clear; sql.Add('select HDMonth,SJName,CheHao,CLSpec,ZJMoney=isnull(Sum(YHMoney),0)+isnull(Sum(CFMoney),0),Sum(YHMoney) YHMoney,Sum(CFMoney) CFMoney'); sql.Add(' from (select A.YHMonth HDMonth,A.SJName,A.CheHao,A.CLSpec,A.SFMoney YHMoney,Cast(0 as decimal(18,2)) CFMoney '); sql.Add(' from CL_YHKH A'); sql.add(' where YHMonth='''+Trim(FormatDateTime('yyyy-MM',BegDate.Date))+''''); sql.add(' and CLName=''泵车'''); sql.Add(' union all'); sql.Add(' select B.YHMonth HDMonth,B.SJName,B.CheHao,B.CLSpec,Cast(0 as decimal(18,2)) YHMoney,B.SFMoney CFMoney '); sql.Add(' from CL_YHKH_CF B '); sql.Add(' where YHMonth='''+Trim(FormatDateTime('yyyy-MM',BegDate.Date))+''') AA'); sql.Add(' group by HDMonth,SJName,CheHao,CLSpec'); SQL.Add(' order by SJName desc'); Open; end; SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); finally ADOQueryMain.EnableControls; end; end; procedure TfrmCLYouKa_GZMX.TBRafreshClick(Sender: TObject); begin BegDate.SetFocus; InitGrid(); TBFind.Click; end; procedure TfrmCLYouKa_GZMX.ConNoMChange(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); end; end; procedure TfrmCLYouKa_GZMX.TBCloseClick(Sender: TObject); begin WriteCxGrid('驾驶员实发工资M',Tv1,'油卡充值'); Close; end; procedure TfrmCLYouKa_GZMX.FormShow(Sender: TObject); begin ReadCxGrid('驾驶员实发工资M',Tv1,'油卡充值'); v1CCMoney.Visible:=false; v1SPMoney.Visible:=false; v1CFMoney.Visible:=false; if cxTabControl1.TabIndex=0 then begin v1CCMoney.Visible:=true; v1SPMoney.Visible:=true; end; if cxTabControl1.TabIndex=1 then begin v1CFMoney.Visible:=true; end; InitGrid(); end; procedure TfrmCLYouKa_GZMX.TBExportClick(Sender: TObject); begin if ADOQueryMain.IsEmpty then exit; TcxGridToExcel('驾驶员实发工资列表',cxGrid2); end; procedure TfrmCLYouKa_GZMX.TBFindClick(Sender: TObject); begin if ADOQueryMain.Active then begin SDofilter(ADOQueryMain,SGetFilters(Panel1,1,2)); SCreateCDS20(ADOQueryMain,CDS_Main); SInitCDSData20(ADOQueryMain,CDS_Main); end; end; procedure TfrmCLYouKa_GZMX.N1Click(Sender: TObject); begin SelOKNo(CDS_Main,True); end; procedure TfrmCLYouKa_GZMX.N2Click(Sender: TObject); begin SelOKNo(CDS_Main,False); end; procedure TfrmCLYouKa_GZMX.SPIDChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCLYouKa_GZMX.SPSpecChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCLYouKa_GZMX.GCNameChange(Sender: TObject); begin TBFind.Click; end; procedure TfrmCLYouKa_GZMX.cxTabControl1Change(Sender: TObject); begin v1CCMoney.Visible:=false; v1SPMoney.Visible:=false; v1CFMoney.Visible:=false; if cxTabControl1.TabIndex=0 then begin v1CCMoney.Visible:=true; v1SPMoney.Visible:=true; end; if cxTabControl1.TabIndex=1 then begin v1CFMoney.Visible:=true; end; InitGrid(); end; end.