D7YPbaoying/样品仓库/U_BJGCl.pas
DESKTOP-E401PHE\Administrator e505f1d7a5 ~
2025-04-30 16:02:03 +08:00

262 lines
7.3 KiB
ObjectPascal
Raw Permalink 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_BJGCl;
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, cxCurrencyEdit;
type
TfrmBJGCl = 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;
V1FillTime: TcxGridDBBandedColumn;
V1Column2: TcxGridDBBandedColumn;
V1Column3: TcxGridDBBandedColumn;
V1Column4: TcxGridDBBandedColumn;
V1Column1: TcxGridDBBandedColumn;
V1Column9: TcxGridDBBandedColumn;
V1Column10: TcxGridDBBandedColumn;
V1Column11: TcxGridDBBandedColumn;
V1Column12: TcxGridDBBandedColumn;
V1Column17: TcxGridDBBandedColumn;
V1Column18: TcxGridDBBandedColumn;
V1Column19: TcxGridDBBandedColumn;
V1Column20: TcxGridDBBandedColumn;
V1Column33: TcxGridDBBandedColumn;
V1Column34: TcxGridDBBandedColumn;
V1Column35: TcxGridDBBandedColumn;
V1Column36: TcxGridDBBandedColumn;
V1Column5: TcxGridDBBandedColumn;
V1MachType: TcxGridDBBandedColumn;
V1MachOrder: TcxGridDBBandedColumn;
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);
procedure V1Column2CompareRowValuesForCellMerging(
Sender: TcxGridColumn; ARow1: TcxGridDataRow;
AProperties1: TcxCustomEditProperties; const AValue1: Variant;
ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties;
const AValue2: Variant; var AAreEqual: Boolean);
private
fstr1:string;
fstr2:string;
procedure DoQuery();
procedure FilterData();
{ Private declarations }
public
istyjp:boolean;
fdept:string;
{ Public declarations }
end;
var
frmBJGCl: TfrmBJGCl;
implementation
uses U_Fun10,U_DataLink;
{$R *.dfm}
procedure TfrmBJGCl.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)+' '+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_BJGCl ');
sql.Add(' @begdate='+quotedstr(trim(mbegdate)));
sql.Add(',@Enddate='+quotedstr(trim(menddate)));
sql.Add(',@dept='+quotedstr(trim('')));
sql.Add(',@otherwhere='+quotedstr(trim('')));
open;
end;
FilterData();
finally
Panetime.Visible:=false;
screen.Cursor:=crdefault;
end;
end;
procedure TfrmBJGCl.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)+'%');
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 TfrmBJGCl.FormDestroy(Sender: TObject);
begin
frmBJGCl:=nil;
end;
procedure TfrmBJGCl.FormClose(Sender: TObject; var Action: TCloseAction);
begin
writeCxBandedGrid(self.Caption+tv1.Name,tv1,'<27>ۺϲ<DBBA>ѯ');
action:=cafree;
end;
procedure TfrmBJGCl.TqryClick(Sender: TObject);
begin
DoQuery();
end;
procedure TfrmBJGCl.TxlsClick(Sender: TObject);
begin
if adoquerytmp.IsEmpty then exit;
TcxGridToExcel(self.Caption,cxgrid1);
end;
procedure TfrmBJGCl.tcloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmBJGCl.FormCreate(Sender: TObject);
begin
cxgrid1.Align:=alClient;
enddate.Date:=DServerDate;
begdate.Date:=strtodate(formatdateTime('yyyy-MM',enddate.Date)+'-01');
end;
procedure TfrmBJGCl.FormShow(Sender: TObject);
begin
writeCxBandedGrid(self.Caption+tv1.Name,tv1,'<27>ۺϲ<DBBA>ѯ');
// Tqry.Click;
end;
procedure TfrmBJGCl.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['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['dept'] :=trim(dept.Text);
RMGridReport1.LoadFromFile(filepath);
// RMGridReport1.PrintReport;
RMGridReport1.ShowReport;
finally
end;
end;
procedure TfrmBJGCl.userIDChange(Sender: TObject);
begin
FilterData();
end;
procedure TfrmBJGCl.V1Column2CompareRowValuesForCellMerging(
Sender: TcxGridColumn; ARow1: TcxGridDataRow;
AProperties1: TcxCustomEditProperties; const AValue1: Variant;
ARow2: TcxGridDataRow; AProperties2: TcxCustomEditProperties;
const AValue2: Variant; var AAreEqual: Boolean);
var
i:integer;
begin
i:=tv1.GetColumnByFieldName('MachOrder').Index;
if ARow1.Values[i] = ARow2.Values[i] then
AAreEqual := True
else
AAreEqual := False;
end;
end.