338 lines
8.8 KiB
ObjectPascal
338 lines
8.8 KiB
ObjectPascal
unit U_ClList;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, StrUtils,Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData,
|
||
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
|
||
cxGridLevel, cxClasses, cxControls, cxGridCustomView,
|
||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid,
|
||
cxGridCustomPopupMenu, cxGridPopupMenu, dxPSGlbl, dxPSUtl, dxPSEngn,
|
||
dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns,
|
||
dxPSEdgePatterns, dxPSCore, dxPScxCommon, dxPScxGridLnk;
|
||
|
||
type
|
||
TfrmClList = class(TForm)
|
||
ToolBar1: TToolBar;
|
||
tbselect: TToolButton;
|
||
tbadd: TToolButton;
|
||
tbupdate: TToolButton;
|
||
tbdelete: TToolButton;
|
||
tbclose: TToolButton;
|
||
Panel1: TPanel;
|
||
Label1: TLabel;
|
||
begdate: TDateTimePicker;
|
||
enddate: TDateTimePicker;
|
||
Label2: TLabel;
|
||
Label3: TLabel;
|
||
customName: TEdit;
|
||
Label4: TLabel;
|
||
ChnName: TEdit;
|
||
TV1: TcxGridDBTableView;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
cxGrid1: TcxGrid;
|
||
ADOQueryTmp: TADOQuery;
|
||
DataSource1: TDataSource;
|
||
V1operTime: TcxGridDBColumn;
|
||
V1customname: TcxGridDBColumn;
|
||
V1P_Code: TcxGridDBColumn;
|
||
V1P_ChnName: TcxGridDBColumn;
|
||
V1P_Spec: TcxGridDBColumn;
|
||
V1packs: TcxGridDBColumn;
|
||
V1P_Num: TcxGridDBColumn;
|
||
V1P_unit: TcxGridDBColumn;
|
||
V1operatorName: TcxGridDBColumn;
|
||
V1note: TcxGridDBColumn;
|
||
Panetime: TPanel;
|
||
ADOQueryCmd: TADOQuery;
|
||
V1planNo: TcxGridDBColumn;
|
||
Label5: TLabel;
|
||
planNo: TEdit;
|
||
tbLook: TToolButton;
|
||
V1colorname: TcxGridDBColumn;
|
||
V1P_YHNO: TcxGridDBColumn;
|
||
V1P_Colstd: TcxGridDBColumn;
|
||
cxGridPopupMenu1: TcxGridPopupMenu;
|
||
Label6: TLabel;
|
||
userID: TEdit;
|
||
userName: TEdit;
|
||
Label7: TLabel;
|
||
tbPrintlb: TToolButton;
|
||
ToolButton1: TToolButton;
|
||
dxComponentPrinter1: TdxComponentPrinter;
|
||
dxComponentPrinter1Link1: TdxGridReportLink;
|
||
procedure tbcloseClick(Sender: TObject);
|
||
procedure tbaddClick(Sender: TObject);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure tbselectClick(Sender: TObject);
|
||
procedure tbupdateClick(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure tbdeleteClick(Sender: TObject);
|
||
procedure tbLookClick(Sender: TObject);
|
||
procedure TV1DblClick(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure tbPrintlbClick(Sender: TObject);
|
||
private
|
||
procedure DoQuery();
|
||
procedure FilterData();
|
||
function DeleteData():boolean; //ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
procedure initGrid();
|
||
{ Private declarations }
|
||
public
|
||
|
||
FType:string;
|
||
{ Public declarations }
|
||
end;
|
||
|
||
var
|
||
frmClList: TfrmClList;
|
||
implementation
|
||
uses
|
||
U_DataLink,U_Fun; //, U_ClEdit
|
||
{$R *.dfm}
|
||
procedure TfrmClList.initGrid();
|
||
var
|
||
i:integer;
|
||
begin
|
||
with adoqueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add(' select * from BD_ColumnConfig ');
|
||
sql.Add(' where tableName=''WS_Register'' ');
|
||
sql.Add(' and Type='''+trim(fType)+''' ');
|
||
sql.Add(' and isVisibleLB=1 ');
|
||
sql.Add(' order by orderNo ');
|
||
open;
|
||
end;
|
||
TV1.ClearItems;
|
||
if not adoqueryCmd.IsEmpty then
|
||
begin
|
||
for i:=0 to adoqueryCmd.RecordCount-1 do
|
||
begin
|
||
tv1.CreateColumn;
|
||
tv1.Columns[i].DataBinding.FieldName:=trim(adoqueryCmd.fieldbyname('col').AsString);
|
||
tv1.Columns[i].Caption:=trim(adoqueryCmd.fieldbyname('colName').AsString);
|
||
tv1.Columns[i].Name:='tv1'+trim(adoqueryCmd.fieldbyname('col').AsString);
|
||
tv1.Columns[i].HeaderAlignmentHorz:=tacenter;
|
||
tv1.Columns[i].Width:=90;
|
||
if LeftBStr(trim(adoqueryCmd.fieldbyname('col').AsString),2) ='fd' then
|
||
tv1.Columns[i].Summary.FooterKind:=sksum;
|
||
// if adoqueryCmd.fieldbyname('isreadonly').AsBoolean then
|
||
// tv1.Columns[i].Options.Editing:=false;
|
||
adoqueryCmd.Next;
|
||
end;
|
||
end;
|
||
//TV1.ApplyBestFit();
|
||
end;
|
||
|
||
//////////////////////////////////////////////
|
||
//////ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
//////////////////////////////////////////////
|
||
function TfrmClList.DeleteData():boolean;
|
||
begin
|
||
result:=false;
|
||
try
|
||
with adoqueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
// sql.Add('delete from JD_Inspect where InspectNo='+quotedstr(trim(ADOQueryTmp.fieldbyname('InspectNo').AsString)));
|
||
sql.Add('delete from WS_Register where WRNo='+quotedstr(trim(ADOQueryTmp.fieldbyname('WRNo').AsString)));
|
||
sql.Add('and WRID='+quotedstr(trim(ADOQueryTmp.fieldbyname('WRID').AsString)));
|
||
execsql;
|
||
end;
|
||
result:=true;
|
||
except
|
||
end;
|
||
end;
|
||
procedure TfrmClList.DoQuery();
|
||
var
|
||
strsql,sqlwhere:string;
|
||
begin
|
||
begdate.SetFocus;
|
||
screen.Cursor:=crsqlwait;
|
||
Panetime.Visible:=true;
|
||
Panetime.Left:=(Width-Panetime.Width) div 2;
|
||
Panetime.top:=(Height-Panetime.Height-400) div 2;
|
||
Application.ProcessMessages;
|
||
|
||
sqlwhere:=' where WRDate>='''+formatdatetime('yyyy-MM-dd',begdate.Date)+''' '+
|
||
' and WRDate<'''+formatdatetime('yyyy-MM-dd',enddate.Date+1)+''' ';
|
||
sqlwhere:=sqlwhere+' and Type='''+trim(FType)+''' ';
|
||
try
|
||
with ADOQueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
filtered:=false;
|
||
sql.Add('select * from WS_Register A');
|
||
sql.Add(sqlwhere);
|
||
open;
|
||
end;
|
||
FilterData();
|
||
finally
|
||
Panetime.Visible:=false;
|
||
screen.Cursor:=crdefault;
|
||
end;
|
||
end;
|
||
procedure TfrmClList.FilterData();
|
||
var
|
||
filterStr:string;
|
||
begin
|
||
filterStr:='';
|
||
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(planNo.Text)<>'' then
|
||
filterStr:=filterStr+' and planNo like '+quotedstr('%'+trim(planNo.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 TfrmClList.tbcloseClick(Sender: TObject);
|
||
begin
|
||
close;
|
||
end;
|
||
|
||
procedure TfrmClList.tbaddClick(Sender: TObject);
|
||
begin
|
||
// frmclEdit:=TfrmclEdit.create(self);
|
||
// with frmclEdit do
|
||
// begin
|
||
// fromid:=0;
|
||
// fType:=trim(self.FType);
|
||
// caption:=trim(self.Caption);
|
||
// if showmodal=1 then
|
||
// begin
|
||
// // DoQuery();
|
||
// // self.ADOQueryTmp.Locate('inspectNo',fkeyNO,[]);
|
||
// end;
|
||
// DoQuery();
|
||
// Release;
|
||
// end;
|
||
end;
|
||
|
||
procedure TfrmClList.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmClList:=nil;
|
||
end;
|
||
|
||
procedure TfrmClList.FormClose(Sender: TObject;
|
||
var Action: TCloseAction);
|
||
begin
|
||
writeCxGrid(self.Name+tv1.Name+Self.FType,tv1,'<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>');
|
||
action:=cafree;
|
||
end;
|
||
|
||
procedure TfrmClList.FormCreate(Sender: TObject);
|
||
begin
|
||
begdate.Date:=dServerDate-6;
|
||
enddate.Date:=dServerDate;
|
||
cxgrid1.Align:=alClient;
|
||
end;
|
||
|
||
procedure TfrmClList.tbselectClick(Sender: TObject);
|
||
begin
|
||
DoQuery();
|
||
end;
|
||
|
||
procedure TfrmClList.tbupdateClick(Sender: TObject);
|
||
begin
|
||
// if ADOQueryTmp.IsEmpty then exit;
|
||
// frmclEdit:=TfrmclEdit.create(self);
|
||
// with frmclEdit do
|
||
// begin
|
||
// fromid:=1;
|
||
// fType:=trim(self.FType);
|
||
// caption:=trim(self.Caption);
|
||
// fkeyNO:=trim(self.ADOQueryTmp.fieldbyname('WRNO').AsString);
|
||
// if showmodal=1 then
|
||
// begin
|
||
// DoQuery();
|
||
// self.ADOQueryTmp.Locate('WRNO',fkeyNO,[]);
|
||
// end;
|
||
// Release;
|
||
// end;
|
||
end;
|
||
|
||
procedure TfrmClList.FormShow(Sender: TObject);
|
||
begin
|
||
initGrid();
|
||
readCxGrid(self.Name+tv1.Name+Self.FType,tv1,'<27><><EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD>');
|
||
DoQuery();
|
||
end;
|
||
|
||
procedure TfrmClList.tbdeleteClick(Sender: TObject);
|
||
begin
|
||
if adoqueryTmp.IsEmpty then exit;
|
||
if application.MessageBox('<27>Ƿ<EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_YesNo+MB_DefButton2+MB_IconQuestion)=IdYes then
|
||
begin
|
||
if not DeleteData() then
|
||
begin
|
||
application.MessageBox('ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ');
|
||
exit;
|
||
end;
|
||
DoQuery();
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmClList.tbLookClick(Sender: TObject);
|
||
begin
|
||
// if ADOQueryTmp.IsEmpty then exit;
|
||
// frmclEdit:=TfrmclEdit.create(self);
|
||
// with frmclEdit do
|
||
// begin
|
||
// fromid:=10;
|
||
// fType:=trim(self.FType);
|
||
// fkeyNO:=trim(self.ADOQueryTmp.fieldbyname('WRNO').AsString);
|
||
// caption:=trim(self.Caption);
|
||
// if showmodal=1 then
|
||
// begin
|
||
// DoQuery();
|
||
// self.ADOQueryTmp.Locate('inspectNo',fkeyNO,[]);
|
||
// end;
|
||
// Release;
|
||
// end;
|
||
end;
|
||
|
||
procedure TfrmClList.TV1DblClick(Sender: TObject);
|
||
begin
|
||
tbLook.Click;
|
||
end;
|
||
|
||
procedure TfrmClList.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
if ADOQueryTmp.IsEmpty then exit;
|
||
TcxGridToExcel(self.Caption,cxGrid1);
|
||
end;
|
||
|
||
procedure TfrmClList.tbPrintlbClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryTmp.IsEmpty then exit;
|
||
dxComponentPrinter1.ReportLink[0].Preview;
|
||
end;
|
||
|
||
end.
|