D7wmguihua/桂华管理系统/U_CP_CRC.pas
DESKTOP-E401PHE\Administrator b4b5840f18 1
2025-01-18 16:22:10 +08:00

238 lines
6.4 KiB
ObjectPascal
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_CP_CRC;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
cxDataStorage, cxEdit, DB, cxDBData, ADODB, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, DBClient,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Common, RM_Class, RM_e_Xls,
RM_GridReport, RM_System, RM_Dataset, cxCheckBox, cxCalendar,
cxGridBandedTableView, cxGridDBBandedTableView, Buttons;
type
TfrmCP_CRC = class(TForm)
ToolBar1: TToolBar;
Tqry: TToolButton;
Tprint: TToolButton;
Txls: TToolButton;
tclose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
begdate: TDateTimePicker;
enddate: TDateTimePicker;
cxGrid1Level1: TcxGridLevel;
cxGrid1: TcxGrid;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
Panetime: TPanel;
cxGridPopupMenu1: TcxGridPopupMenu;
RMDBDataSet1: TRMDBDataSet;
RMGridReport1: TRMGridReport;
RMXLSExport1: TRMXLSExport;
Label7: TLabel;
userID: TEdit;
Label8: TLabel;
userName: TEdit;
Label3: TLabel;
ComboBox1: TComboBox;
begTime: TDateTimePicker;
endTime: TDateTimePicker;
Label2: TLabel;
Label4: TLabel;
dept: TComboBox;
TV1: TcxGridDBBandedTableView;
V1Column2: TcxGridDBBandedColumn;
V1Column3: TcxGridDBBandedColumn;
V1Column6: TcxGridDBBandedColumn;
V1Column7: TcxGridDBBandedColumn;
V1Column8: TcxGridDBBandedColumn;
V1Column9: TcxGridDBBandedColumn;
V1Column10: TcxGridDBBandedColumn;
V1Column11: TcxGridDBBandedColumn;
V1Column12: TcxGridDBBandedColumn;
V1Column13: TcxGridDBBandedColumn;
Label5: TLabel;
Label6: TLabel;
Label9: TLabel;
C_Color: TEdit;
C_CodeName: TEdit;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TqryClick(Sender: TObject);
procedure TxlsClick(Sender: TObject);
procedure tcloseClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TprintClick(Sender: TObject);
procedure userIDChange(Sender: TObject);
private
fstr1:string;
fstr2:string;
procedure DoQuery();
procedure FilterData();
{ Private declarations }
public
istyjp:boolean;
fdept:string;
{ Public declarations }
end;
var
frmCP_CRC: TfrmCP_CRC;
implementation
uses U_Fun10,U_DataLink;
{$R *.dfm}
procedure TfrmCP_CRC.DoQuery();
var
mBegdate,mEnddate:string;
i:integer;
begin
mbegdate:=FormatDateTime('yyyy-MM-dd',begdate.Date);//+' '+FormatDateTime('HH:nn',begTime.Time);
menddate:=FormatDateTime('yyyy-MM-dd',enddate.Date+1);//+' '+FormatDateTime('HH:nn',endTime.Time);
screen.Cursor:=crsqlwait;
Panetime.Visible:=true;
Panetime.Left:=(Width-Panetime.Width) div 2;
Panetime.top:=(Height-Panetime.Height-200) div 2;
application.ProcessMessages;
try
with adoqueryTmp do
begin
close;
sql.Clear;
filtered:=false;
sql.Add(' exec P_Get_CP_CRC ');
sql.Add(' @begdate='+quotedstr(trim(mbegdate)));
sql.Add(',@Enddate='+quotedstr(trim(menddate)));
sql.Add(',@otherwhere='+quotedstr(trim('')));
open;
end;
FilterData();
finally
Panetime.Visible:=false;
screen.Cursor:=crdefault;
end;
end;
procedure TfrmCP_CRC.FilterData();
var
filterStr:string;
begin
filterStr:='';
if trim(dept.Text)<>'' then
filterStr:=filterStr+' and dept like '+quotedstr('%'+trim(dept.Text)+'%');
if trim(userID.Text)<>'' then
filterStr:=filterStr+' and userID like '+quotedstr('%'+trim(userID.Text)+'%');
if trim(userName.Text)<>'' then
filterStr:=filterStr+' and UserName like '+quotedstr('%'+trim(userName.Text)+'%');
if trim(C_Color.Text)<>'' then
filterStr:=filterStr+' and C_Color like '+quotedstr('%'+trim(C_Color.Text)+'%');
if trim(C_Codename.Text)<>'' then
filterStr:=filterStr+' and C_Codename like '+quotedstr('%'+trim(C_Codename.Text)+'%');
try
ADOQueryTmp.DisableControls ;
if trim(filterStr)='' then
begin
ADOQueryTmp.Filtered:=false;
ADOQueryTmp.EnableControls;
exit;
end;
filterStr:=trim(Copy(filterStr,5,length(filterStr)-4));
with ADOQueryTmp do
begin
filtered:=false;
filter:=filterStr;
filtered:=true;
end;
finally
ADOQueryTmp.EnableControls;
end;
end;
procedure TfrmCP_CRC.FormDestroy(Sender: TObject);
begin
frmCP_CRC:=nil;
end;
procedure TfrmCP_CRC.FormClose(Sender: TObject; var Action: TCloseAction);
begin
writeCxBandedGrid(self.Caption+tv1.Name,tv1,'<27>ۺϲ<DBBA>ѯ');
action:=cafree;
end;
procedure TfrmCP_CRC.TqryClick(Sender: TObject);
begin
DoQuery();
end;
procedure TfrmCP_CRC.TxlsClick(Sender: TObject);
begin
if adoquerytmp.IsEmpty then exit;
TcxGridToExcel(self.Caption,cxgrid1);
end;
procedure TfrmCP_CRC.tcloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmCP_CRC.FormCreate(Sender: TObject);
begin
cxgrid1.Align:=alClient;
enddate.Date:=date();
begdate.Date:=date();
end;
procedure TfrmCP_CRC.FormShow(Sender: TObject);
begin
writeCxBandedGrid(self.Caption+tv1.Name,tv1,'<27>ۺϲ<DBBA>ѯ');
end;
procedure TfrmCP_CRC.TprintClick(Sender: TObject);
var
filepath:string;
mBegdate,mEnddate:string;
begin
mbegdate:=FormatDateTime('yyyy-MM-dd',begdate.Date)+' '+FormatDateTime('HH:nn',begTime.Time);
menddate:=FormatDateTime('yyyy-MM-dd',enddate.Date)+' '+FormatDateTime('HH:nn',endTime.Time);
if ADOQueryTmp.IsEmpty then exit;
try
filepath:=ExtractFilePath(Application.ExeName) + 'report\<5C><><EFBFBD>޹<EFBFBD><DEB9><EFBFBD><EFBFBD>˱<EFBFBD>.rmf';
if not FileExists(Pchar(filepath)) then
begin
application.MessageBox(pchar('<27>ļ<EFBFBD>['+filepath+']<5D><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>'),'<27><>ʾ<EFBFBD><CABE>Ϣ',MB_IConError);
exit;
end;
RMVariables.Clear;
RMVariables['dtxz'] :=FormatDateTime('yyyy-mm-dd',DServerDate);
RmVariables['begDate'] :=FormatDateTime('yyyy-mm-dd',begDate.Date);
RmVariables['enddate'] :=FormatDateTime('yyyy-mm-dd',enddate.Date);
RMVariables['zdr'] :=trim(DName);
RMVariables['fstr1'] :=trim(fstr1);
RMVariables['fstr2'] :=trim(fstr2);
RmVariables['begDate'] :=mbegdate+' - '+menddate;
RmVariables['Title'] :=trim(dept.Text);
RMGridReport1.LoadFromFile(filepath);
// RMGridReport1.PrintReport;
RMGridReport1.ShowReport;
finally
end;
end;
procedure TfrmCP_CRC.userIDChange(Sender: TObject);
begin
FilterData();
end;
end.