D10SZKaiXiYa/E02梭织经轴仓库/U_TatWBNeedList.pas

409 lines
10 KiB
ObjectPascal
Raw Normal View History

2025-07-14 15:53:33 +08:00
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;
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;
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);
2025-08-12 13:37:49 +08:00
procedure cxTabControl1Change(Sender: TObject);
2025-07-14 15:53:33 +08:00
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
2025-08-12 13:37:49 +08:00
U_DataLink, U_RTFun, U_ZDYHelp, U_OutPutHelp, U_WBNeedLook;
2025-07-14 15:53:33 +08:00
{$R *.dfm}
procedure TfrmTatWBNeedList.setstatus();
begin
Label1.Visible := false;
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
2025-08-12 13:37:49 +08:00
FWB_Code := SELF.CDS_Main.FieldByName('WB_Code').ASSTRING;
2025-07-14 15:53:33 +08:00
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.