D10szXingjie/E01梭织生产计划/U_TatPlanMachList.pas

278 lines
7.0 KiB
ObjectPascal
Raw Permalink Normal View History

2025-06-06 10:26:48 +08:00
unit U_TatPlanMachList;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView,
cxGrid, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, cxContainer,
cxTextEdit, cxCurrencyEdit, cxCheckBox, RM_System, RM_Dataset, RM_Common,
RM_Class, RM_GridReport, cxPC, Menus, RM_e_Xls, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxSkinsCore, dxSkinsDefaultPainters,
dxDateRanges, dxBarBuiltInMenu, U_BaseList;
type
TfrmTatPlanMachList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DS_1: TDataSource;
CDS_1: TClientDataSet;
GPM_1: TcxGridPopupMenu;
ADOQueryMain: TADOQuery;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
VC_MCNo: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
Label15: TLabel;
MCNo: TEdit;
Label1: TLabel;
OrderNo: TEdit;
Tv1Column1: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
ToolButton1: TToolButton;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column15: TcxGridDBColumn;
Tv1Column16: TcxGridDBColumn;
Label5: TLabel;
C_Code: TEdit;
ToolButton2: TToolButton;
cxTabControl1: TcxTabControl;
Label2: TLabel;
Label3: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Label4: TLabel;
C_Name: TEdit;
Tv1Column2: TcxGridDBColumn;
PM_1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure P_CodeNameChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure GSBHChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure N1Click(Sender: TObject);
private
procedure InitGrid();
procedure SetStatus();
procedure SetSequence(MOperate: string);
{ Private declarations }
public
fCKName, canshu1, FAPID: string;
fCRType: string;
{ Public declarations }
end;
var
frmTatPlanMachList: TfrmTatPlanMachList;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_TatPlanMachInput;
{$R *.dfm}
procedure TfrmTatPlanMachList.SetStatus();
begin
end;
procedure TfrmTatPlanMachList.SetSequence(MOperate: string);
begin
if cxTabControl1.TabIndex <> 0 then
begin
application.MessageBox('<27><><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>״̬<D7B4><CCAC>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
Sql.Clear;
sql.Add('EXEC P_Tat_Plan_Mach_SetSequence @PMID=''' + Trim(Self.CDS_1.fieldbyname('PMID').AsString) + '''');
sql.Add(',@Operate=' + QuotedStr(MOperate));
Open;
end;
if ADOQueryCmd.FieldByName('intReturn').AsInteger = -1 then
begin
raise Exception.Create(pchar(trim(ADOQueryCmd.FieldByName('ShowMsg').AsString)));
end;
ADOQueryCmd.Connection.CommitTrans;
InitGrid();
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmTatPlanMachList.InitGrid();
var
MPmid: string;
begin
if not CDS_1.IsEmpty then
MPmid := Trim(Self.CDS_1.fieldbyname('PMID').AsString);
with adoqueryMain do
begin
close;
sql.Clear;
sql.Add(' exec P_Tat_Plan_Mach ');
sql.add(' @BegDate=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''');
sql.Add(' ,@EndDate=''' + Trim(FormatDateTime('yyyy-MM-dd', enddate.DateTime + 1)) + '''');
case cxTabControl1.TabIndex of
0:
begin
sql.Add(',@Status='<><CEB4><EFBFBD><EFBFBD>'' ');
end;
1:
begin
sql.Add(',@Status=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
end;
2:
begin
sql.Add(',@Status=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' ');
end;
3:
begin
sql.Add(',@Status='<><C8AB>'' ');
end;
end;
open;
end;
SCreateCDS(adoqueryMain, CDS_1);
SInitCDSData(adoqueryMain, CDS_1);
CDS_1.Locate('Pmid', MPmid, []);
end;
procedure TfrmTatPlanMachList.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmTatPlanMachList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := cafree;
end;
procedure TfrmTatPlanMachList.FormDestroy(Sender: TObject);
begin
inherited;
frmTatPlanMachList := nil;
end;
procedure TfrmTatPlanMachList.P_CodeNameChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
procedure TfrmTatPlanMachList.FormShow(Sender: TObject);
begin
inherited;
BegDate.DateTime := SGetServerDate(ADOQueryTmp) - 30;
EndDate.DateTime := SGetServerDate(ADOQueryTmp);
readCxGrid(self.Caption, Tv1, '<27>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>');
SetStatus();
InitGrid();
end;
procedure TfrmTatPlanMachList.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmTatPlanMachList.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TfrmTatPlanMachList.TBExportClick(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmTatPlanMachList.TBFindClick(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
procedure TfrmTatPlanMachList.N1Click(Sender: TObject);
begin
SetSequence('<27><><EFBFBD><EFBFBD>');
end;
procedure TfrmTatPlanMachList.N2Click(Sender: TObject);
begin
SetSequence('<27><><EFBFBD><EFBFBD>');
end;
procedure TfrmTatPlanMachList.GSBHChange(Sender: TObject);
begin
if ADOQuerymain.Active = False then
Exit;
SDofilter(ADOQuerymain, SGetFilters(Panel1, 1, 3));
SCreateCDS(ADOQuerymain, CDS_1);
SInitCDSData(ADOQuerymain, CDS_1);
end;
procedure TfrmTatPlanMachList.ToolButton1Click(Sender: TObject);
begin
try
frmTatPlanMachInput := TfrmTatPlanMachInput.Create(Application);
with frmTatPlanMachInput do
begin
FMCNo := Trim(Self.CDS_1.fieldbyname('MCNo').AsString);
// FPMID := Trim(Self.CDS_1.fieldbyname('PMID').AsString);
if ShowModal = 1 then
begin
InitGrid();
end;
end;
finally
frmTatPlanMachInput.Free;
end;
end;
procedure TfrmTatPlanMachList.ToolButton2Click(Sender: TObject);
begin
writeCxGrid(self.Caption, Tv1, '<27>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>');
end;
end.