439 lines
11 KiB
ObjectPascal
439 lines
11 KiB
ObjectPascal
|
|
unit U_TatWBNeedList;
|
|||
|
|
|
|||
|
|
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, cxButtonEdit, cxCalendar, RM_System, RM_Common,
|
|||
|
|
RM_Class, RM_GridReport, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
|
|||
|
|
dxDateRanges, dxBarBuiltInMenu, U_BaseList, cxCheckBox, Vcl.Menus,
|
|||
|
|
dxScrollbarAnnotations, FrameDateTimeSel, cxContainer, cxTextEdit, U_SLTGDTP,
|
|||
|
|
cxMemo, Vcl.Imaging.jpeg, FrameDateSel, cxPC, dxSkinsCore,
|
|||
|
|
dxSkinsDefaultPainters, cxProgressBar, dxSkinWXI;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TfrmTatWBNeedList = class(TfrmBaseList)
|
|||
|
|
ToolBar1: TToolBar;
|
|||
|
|
TBRafresh: TToolButton;
|
|||
|
|
TBFind: TToolButton;
|
|||
|
|
TBExport: TToolButton;
|
|||
|
|
TBPrint: TToolButton;
|
|||
|
|
TBClose: TToolButton;
|
|||
|
|
Panel1: TPanel;
|
|||
|
|
ADOQueryCmd: TADOQuery;
|
|||
|
|
ADOQueryMain: TADOQuery;
|
|||
|
|
ADOQueryTemp: TADOQuery;
|
|||
|
|
DS_1: TDataSource;
|
|||
|
|
cxGridPopupMenu1: TcxGridPopupMenu;
|
|||
|
|
CDS_Main: TClientDataSet;
|
|||
|
|
Tv1: TcxGridDBTableView;
|
|||
|
|
cxGrid1Level1: TcxGridLevel;
|
|||
|
|
cxGrid1: TcxGrid;
|
|||
|
|
MovePanel2: TMovePanel;
|
|||
|
|
RMGridReport1: TRMGridReport;
|
|||
|
|
TBdel: TToolButton;
|
|||
|
|
ToolButton1: TToolButton;
|
|||
|
|
Tv1Column14: TcxGridDBColumn;
|
|||
|
|
Tv1Column2: TcxGridDBColumn;
|
|||
|
|
Tv1Column3: TcxGridDBColumn;
|
|||
|
|
Tv1Column7: TcxGridDBColumn;
|
|||
|
|
PopupMenu1: TPopupMenu;
|
|||
|
|
N1: TMenuItem;
|
|||
|
|
N2: TMenuItem;
|
|||
|
|
CDS_2: TClientDataSet;
|
|||
|
|
GPM_2: TcxGridPopupMenu;
|
|||
|
|
DS_2: TDataSource;
|
|||
|
|
Tv1Column26: TcxGridDBColumn;
|
|||
|
|
Tv1Column27: TcxGridDBColumn;
|
|||
|
|
Tv1Column28: TcxGridDBColumn;
|
|||
|
|
frmFrameDateSel1: TfrmFrameDateSel;
|
|||
|
|
ToolButton2: TToolButton;
|
|||
|
|
cxTabControl1: TcxTabControl;
|
|||
|
|
ToolButton3: TToolButton;
|
|||
|
|
ToolButton4: TToolButton;
|
|||
|
|
Label2: TLabel;
|
|||
|
|
WB_Name: TcxTextEdit;
|
|||
|
|
Tv1Column1: TcxGridDBColumn;
|
|||
|
|
Tv1Column4: TcxGridDBColumn;
|
|||
|
|
cxStyleRepository1: TcxStyleRepository;
|
|||
|
|
cxStyle1: TcxStyle;
|
|||
|
|
TbLook: TToolButton;
|
|||
|
|
Label1: TLabel;
|
|||
|
|
WB_Code: TcxTextEdit;
|
|||
|
|
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 pcidChange(Sender: TObject);
|
|||
|
|
procedure TBdelClick(Sender: TObject);
|
|||
|
|
procedure ToolButton1Click(Sender: TObject);
|
|||
|
|
procedure ToolButton2Click(Sender: TObject);
|
|||
|
|
procedure N1Click(Sender: TObject);
|
|||
|
|
procedure N2Click(Sender: TObject);
|
|||
|
|
procedure pcidPropertiesChange(Sender: TObject);
|
|||
|
|
procedure cxTabControl1Change(Sender: TObject);
|
|||
|
|
procedure ToolButton3Click(Sender: TObject);
|
|||
|
|
procedure ToolButton4Click(Sender: TObject);
|
|||
|
|
procedure TbLookClick(Sender: TObject);
|
|||
|
|
private
|
|||
|
|
FLeft, FTop: Integer;
|
|||
|
|
procedure InitGrid();
|
|||
|
|
procedure setstatus();
|
|||
|
|
{ Private declarations }
|
|||
|
|
public
|
|||
|
|
fsyrName, canshu1, canshu2: string;
|
|||
|
|
{ Public declarations }
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
var
|
|||
|
|
frmTatWBNeedList: TfrmTatWBNeedList;
|
|||
|
|
Mach: array of TfrmSLTGDTP;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
U_DataLink, U_RTFun, U_ZDYHelp, U_OutPutHelp,U_WBNeedLook;
|
|||
|
|
|
|||
|
|
{$R *.dfm}
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.setstatus();
|
|||
|
|
begin
|
|||
|
|
ToolButton3.Enabled := False;
|
|||
|
|
ToolButton4.Enabled := False;
|
|||
|
|
TBdel.Enabled := False;
|
|||
|
|
|
|||
|
|
Label1.Visible := false;
|
|||
|
|
|
|||
|
|
|
|||
|
|
case cxTabControl1.TabIndex of
|
|||
|
|
0:
|
|||
|
|
begin
|
|||
|
|
ToolButton3.Enabled := true;
|
|||
|
|
TBdel.Enabled := true;
|
|||
|
|
|
|||
|
|
Label1.Visible := true;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
1:
|
|||
|
|
begin
|
|||
|
|
ToolButton4.Enabled := true;
|
|||
|
|
end;
|
|||
|
|
2:
|
|||
|
|
begin
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.FormDestroy(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
frmTatWBNeedList := nil;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
Action := caFree;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.FormCreate(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
|
|||
|
|
frmFrameDateSel1.EndDate.Date := SGetServerDateTime(ADOQueryTemp);
|
|||
|
|
frmFrameDateSel1.BegDate.Date := frmFrameDateSel1.EndDate.Date - 30;
|
|||
|
|
fsyrName := trim(DdataBase);
|
|||
|
|
canshu1 := trim(DParameters1);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.InitGrid();
|
|||
|
|
var
|
|||
|
|
Msql, mbegdate, menddate: string;
|
|||
|
|
SqlStr: string;
|
|||
|
|
begin
|
|||
|
|
|
|||
|
|
// mbegdate := FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.begdate.Date) + ' ' + FormatDateTime('HH:nn', frmFrameDateSel1.begTime.Time);
|
|||
|
|
// menddate := FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.enddate.Date) + ' ' + FormatDateTime('HH:nn', frmFrameDateSel1.endTime.Time);
|
|||
|
|
|
|||
|
|
// SqlStr := SqlStr + 'and A.GOTime<''' + trim(menddate) + ''' ';
|
|||
|
|
|
|||
|
|
SqlStr := ' select A.* from Tat_WB_Spec A';
|
|||
|
|
|
|||
|
|
|
|||
|
|
// case cxTabControl1.TabIndex of
|
|||
|
|
// 0:
|
|||
|
|
// begin
|
|||
|
|
// SqlStr := SqlStr + ' and isnull(ISDZ,0) = 0';
|
|||
|
|
// end;
|
|||
|
|
// 1:
|
|||
|
|
// begin
|
|||
|
|
// SqlStr := SqlStr + ' and isnull(ISDZ,0) = 1';
|
|||
|
|
// end;
|
|||
|
|
// 2:
|
|||
|
|
// begin
|
|||
|
|
//
|
|||
|
|
// end;
|
|||
|
|
// end;
|
|||
|
|
|
|||
|
|
// SqlStr := SqlStr + ' order by IOTime desc';
|
|||
|
|
// ShowMessage(SqlStr);
|
|||
|
|
|
|||
|
|
InitCDSData(ADOQueryMain, CDS_Main, Tv1, SqlStr, SGetFilters(Panel1, 1, 2), '');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.N1Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
SelOKNo(CDS_Main, true);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.N2Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
SelOKNo(CDS_Main, False);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.TBRafreshClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
// MovePanel2.Visible := True;
|
|||
|
|
// MovePanel2.Refresh;
|
|||
|
|
ToolBar1.SetFocus;
|
|||
|
|
InitGrid();
|
|||
|
|
// MovePanel2.Visible := False;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.ToolButton1Click(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
WriteCxGrid(self.Caption + tv1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.ToolButton2Click(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
MGOIDS: string;
|
|||
|
|
begin
|
|||
|
|
if CDS_Main.IsEmpty then
|
|||
|
|
exit;
|
|||
|
|
|
|||
|
|
if not CDS_Main.Locate('SSel', True, []) then
|
|||
|
|
begin
|
|||
|
|
application.MessageBox('<27><>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ');
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with CDS_Main do
|
|||
|
|
begin
|
|||
|
|
DisableControls;
|
|||
|
|
while CDS_Main.Locate('SSel', True, []) do
|
|||
|
|
begin
|
|||
|
|
MGOIDS := MGOIDS + Trim(CDS_Main.fieldbyname('GOID').AsString) + ',';
|
|||
|
|
CDS_Main.Delete;
|
|||
|
|
end;
|
|||
|
|
EnableControls;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.ToolButton3Click(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
WSql: string;
|
|||
|
|
begin
|
|||
|
|
if CDS_Main.IsEmpty then
|
|||
|
|
Exit;
|
|||
|
|
if CDS_Main.Locate('SSel', True, []) = False then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
WSql := SelCDSKey(CDS_Main, ['TWIOID'])[0];
|
|||
|
|
try
|
|||
|
|
ADOQueryCmd.Connection.BeginTrans;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
Sql.Clear;
|
|||
|
|
Sql.Add('exec P_Tat_WB_IO_DZ ');
|
|||
|
|
Sql.Add(' @GOIDS=' + quotedstr(Trim(WSql)));
|
|||
|
|
Sql.Add(',@DCode=' + Quotedstr(DCode));
|
|||
|
|
Sql.Add(',@DName=' + Quotedstr(DName));
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
|
|||
|
|
begin
|
|||
|
|
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
|
|||
|
|
end;
|
|||
|
|
ADOQueryCmd.Connection.CommitTrans;
|
|||
|
|
InitGrid();
|
|||
|
|
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
|
|||
|
|
except
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.ToolButton4Click(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
WSql: string;
|
|||
|
|
begin
|
|||
|
|
if CDS_Main.IsEmpty then
|
|||
|
|
Exit;
|
|||
|
|
if CDS_Main.Locate('SSel', True, []) = False then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
WSql := SelCDSKey(CDS_Main, ['TWIOID'])[0];
|
|||
|
|
try
|
|||
|
|
ADOQueryCmd.Connection.BeginTrans;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
Sql.Clear;
|
|||
|
|
Sql.Add('exec P_Tat_WB_IO_CXDZ ');
|
|||
|
|
Sql.Add(' @GOIDS=' + quotedstr(Trim(WSql)));
|
|||
|
|
Sql.Add(',@DCode=' + Quotedstr(DCode));
|
|||
|
|
Sql.Add(',@DName=' + Quotedstr(DName));
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
|
|||
|
|
begin
|
|||
|
|
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
|
|||
|
|
end;
|
|||
|
|
ADOQueryCmd.Connection.CommitTrans;
|
|||
|
|
InitGrid();
|
|||
|
|
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳ɹ<CBB3><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
|
|||
|
|
except
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.ConNoMChange(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if ADOQueryMain.Active then
|
|||
|
|
begin
|
|||
|
|
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.cxTabControl1Change(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
setstatus();
|
|||
|
|
initgrid();
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.TBCloseClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
|
|||
|
|
Close;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.FormShow(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
ReadCxGrid(self.Caption + tv1.Name, Tv1, '<27><>Ʒ<EFBFBD>ֿ<EFBFBD>');
|
|||
|
|
canshu1 := self.fParameters1;
|
|||
|
|
canshu2 := self.fParameters2;
|
|||
|
|
setstatus();
|
|||
|
|
initgrid();
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.TBExportClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if ADOQueryMain.IsEmpty then
|
|||
|
|
exit;
|
|||
|
|
TcxGridToExcel(self.Caption, cxGrid1);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.TBFindClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
if ADOQueryMain.Active then
|
|||
|
|
begin
|
|||
|
|
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
|||
|
|
SCreateCDS(ADOQueryMain, CDS_Main);
|
|||
|
|
SInitCDSData(ADOQueryMain, CDS_Main);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.TbLookClick(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
try
|
|||
|
|
frmWBNeedLook := TfrmWBNeedLook.Create(Application);
|
|||
|
|
with frmWBNeedLook do
|
|||
|
|
begin
|
|||
|
|
|
|||
|
|
if ShowModal = 1 then
|
|||
|
|
begin
|
|||
|
|
Self.InitGrid();
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
finally
|
|||
|
|
frmWBNeedLook.Free;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.pcidChange(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
TBFind.Click;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.pcidPropertiesChange(Sender: TObject);
|
|||
|
|
begin
|
|||
|
|
TBFind.Click;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TfrmTatWBNeedList.TBdelClick(Sender: TObject);
|
|||
|
|
var
|
|||
|
|
WSql: string;
|
|||
|
|
begin
|
|||
|
|
if CDS_Main.IsEmpty then
|
|||
|
|
Exit;
|
|||
|
|
if CDS_Main.Locate('SSel', True, []) = False then
|
|||
|
|
begin
|
|||
|
|
Application.MessageBox('û<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
|
|||
|
|
Exit;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
WSql := SelCDSKey(CDS_Main, ['GOID'])[0];
|
|||
|
|
try
|
|||
|
|
ADOQueryCmd.Connection.BeginTrans;
|
|||
|
|
with ADOQueryCmd do
|
|||
|
|
begin
|
|||
|
|
Close;
|
|||
|
|
Sql.Clear;
|
|||
|
|
Sql.Add('exec P_Tat_Plan_OutPut_Del ');
|
|||
|
|
Sql.Add(' @GOIDS=' + quotedstr(Trim(WSql)));
|
|||
|
|
Sql.Add(',@DCode=' + Quotedstr(DCode));
|
|||
|
|
Sql.Add(',@DName=' + Quotedstr(DName));
|
|||
|
|
Open;
|
|||
|
|
end;
|
|||
|
|
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
|
|||
|
|
begin
|
|||
|
|
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
|
|||
|
|
end;
|
|||
|
|
ADOQueryCmd.Connection.CommitTrans;
|
|||
|
|
InitGrid();
|
|||
|
|
application.MessageBox('ɾ<><C9BE><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
|
|||
|
|
except
|
|||
|
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
|
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|
|||
|
|
|