D10sxYilanbuyi/F04染色刷卡/U_DyePCMachineList.pas

371 lines
10 KiB
ObjectPascal
Raw Normal View History

2025-11-12 17:32:20 +08:00
unit U_DyePCMachineList;
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,
dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges, dxBarBuiltInMenu,
U_BaseList, dxScrollbarAnnotations;
type
TfrmDyePCMachineList = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBExport: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
cxGridPopupMenu1: TcxGridPopupMenu;
Label3: TLabel;
CDS_Main: TClientDataSet;
MovePanel2: TMovePanel;
RMGridReport1: TRMGridReport;
customerNoName: TEdit;
Label13: TLabel;
ywy: TEdit;
Label17: TLabel;
lbHx: TEdit;
Label7: TLabel;
ToolButton1: TToolButton;
dbGrid1: TcxGrid;
tv1: TcxGridDBTableView;
tv1CraftIdx: TcxGridDBColumn;
tv1mcName: TcxGridDBColumn;
tv1CCQX1: TcxGridDBColumn;
tv1DX1: TcxGridDBColumn;
tv1DX2: TcxGridDBColumn;
tv1DX3: TcxGridDBColumn;
tv1DX4: TcxGridDBColumn;
tv1DX5: TcxGridDBColumn;
tv1DX6: TcxGridDBColumn;
tv1JG1: TcxGridDBColumn;
tv1JRG1: TcxGridDBColumn;
tv1GC_BatchNo: TcxGridDBColumn;
tv1CurGlideName: TcxGridDBColumn;
tv1Note: TcxGridDBColumn;
dbGrid1Level1: TcxGridLevel;
ToolButton2: TToolButton;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Label1: TLabel;
Label2: TLabel;
tv1PCKey: TcxGridDBColumn;
BegTime: TDateTimePicker;
EndTime: TDateTimePicker;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
MCNO: TComboBox;
TbAdd: TToolButton;
MCName: TEdit;
TbDel: TToolButton;
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 PRTColorChange(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure tv1mcNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure MCNOChange(Sender: TObject);
procedure TbAddClick(Sender: TObject);
procedure TbDelClick(Sender: TObject);
// procedure tv1CustomDrawCell(Sender: TcxCustomGridTableView;
// ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
// var ADone: Boolean);
private
FLeft, FTop: Integer;
procedure InitGrid();
{ Private declarations }
public
fsyrName, canshu1: string;
{ Public declarations }
end;
var
frmDyePCMachineList: TfrmDyePCMachineList;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_MachTaskList;
{$R *.dfm}
procedure TfrmDyePCMachineList.FormDestroy(Sender: TObject);
begin
inherited;
frmDyePCMachineList := nil;
end;
procedure TfrmDyePCMachineList.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmDyePCMachineList.FormCreate(Sender: TObject);
begin
inherited;
// EndDate.DateTime := SGetServerDateTime(ADOQueryTemp);
// BegDate.DateTime := EndDate.DateTime;
fsyrName := trim(DdataBase);
canshu1 := trim(DParameters1);
// SInitComBoxBySql(ADOQueryTemp, GlideName, false, 'select PSName as Name from Dye_Process');
end;
procedure TfrmDyePCMachineList.InitGrid();
var
mBegDate, mendDate: string;
mAction: string;
rs: _Recordset;
r: integer;
begin
// <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
try
tv1.BeginUpdate;
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
close;
filtered := false;
sql.Clear;
SQL.Add('select * from V_Dye_Cloth_PaiGang where (BegTime between :StartTime and :EndTime) and MCNO = :MCNO order By BegTime');
Parameters.ParamByName('StartTime').Value := Trunc(BegDate.Date) + Frac(BegTime.Time);
Parameters.ParamByName('EndTime').Value := Trunc(EndDate.Date) + Frac(EndTime.Time);
Parameters.ParamByName('MCNO').Value := MCNO.Text;
Open;
end;
SCreateCDS(ADOQueryMain, CDS_main);
SInitCDSData(ADOQueryMain, CDS_main);
finally
ADOQueryMain.EnableControls;
tv1.EndUpdate;
// tv1.ApplyBestFit();
end;
end;
procedure TfrmDyePCMachineList.MCNOChange(Sender: TObject);
begin
InitGrid();
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add(' select * from Bs_Machine where MCNO = ' + quotedStr(Trim(MCNO.Text)));
Open;
end;
MCName.Text := ADOQueryCmd.FieldByName('MCName').AsString;
end;
procedure TfrmDyePCMachineList.TBRafreshClick(Sender: TObject);
begin
MovePanel2.Visible := True;
MovePanel2.Refresh;
InitGrid();
MovePanel2.Visible := False;
end;
procedure TfrmDyePCMachineList.ToolButton1Click(Sender: TObject);
begin
WriteCxGrid(self.Caption + tv1.Name, Tv1, '<27>Ų<EFBFBD><C5B2><EFBFBD>Ϣ');
end;
procedure TfrmDyePCMachineList.ToolButton2Click(Sender: TObject);
begin
// if ADOQuerymain.IsEmpty then
// exit;
frmMachTaskList := TfrmMachTaskList.create(self);
with frmMachTaskList do
begin
// fcurMachId := trim(self.adoquerymain.FieldByName('mcid').AsString);
// machName.text := trim(self.adoquerymain.FieldByName('mcName').AsString);
showModal;
free;
end;
initgrid();
end;
procedure TfrmDyePCMachineList.tv1CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
// if ADOQuerymain.IsEmpty then
// exit;
// frmMachTaskList := TfrmMachTaskList.create(self);
// with frmMachTaskList do
// begin
// fBegTime := Self.CDS_Main.FieldByName('time').AsString;
// fMCName := Self.Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
// fText := self.CDS_Main.FieldByName(fMCName).AsString;
// showModal;
// free;
// end;
// initgrid();
end;
procedure TfrmDyePCMachineList.tv1mcNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
// if ADOQuerymain.IsEmpty then
// exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.add('select * from PCAboutTime where time = ' + QuotedStr(Trim(CDS_Main.FieldByName('begtime').AsString)));
Open;
end;
frmMachTaskList := TfrmMachTaskList.create(self);
with frmMachTaskList do
begin
fBegTime := Self.CDS_Main.FieldByName('Begtime').AsString;
fMCName := Self.MCName.Text;
fText := self.ADOQueryCmd.FieldByName(fMCName).AsString;
showModal;
free;
end;
initgrid();
end;
//procedure TfrmDyePCMachineList.tv1CustomDrawCell(Sender: TcxCustomGridTableView;
// ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
// var ADone: Boolean);
//begin
// inherited;
// ACanvas.Font.Size := 7;
//end;
procedure TfrmDyePCMachineList.ConNoMChange(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
end;
end;
procedure TfrmDyePCMachineList.TbAddClick(Sender: TObject);
var
mTime: TDateTime;
begin
if CDS_Main.IsEmpty then
begin
mTime := Trunc(SGetServerDateTime(ADOQueryTemp) * 144 + 1) / 144;
end
else
begin
// <20>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>¼<EFBFBD><C2BC>ȡBegTime
// CDS_Main.Prior;
CDS_Main.Last;
mTime := CDS_Main.FieldByName('EndTime').AsDateTime;
// CDS_Main.Next; // <20>ƻص<C6BB>ǰλ<C7B0><CEBB>
end;
with CDS_Main do
begin
Append;
FieldByName('BegTime').Value := mTime;
Post; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼
end;
end;
procedure TfrmDyePCMachineList.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmDyePCMachineList.TbDelClick(Sender: TObject);
begin
if (CDS_Main.FieldByName('PCID').Value = null) or (CDS_Main.FieldByName('PCID').Value = '') then
begin
CDS_Main.Delete;
end
else
begin
Application.MessageBox('<27><><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',MB_OK);
end;
end;
procedure TfrmDyePCMachineList.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(self.Caption + tv1.Name, Tv1, '<27>Ų<EFBFBD><C5B2><EFBFBD>Ϣ');
canshu1 := self.fParameters1;
// BegDate.DateTime := strToDateTime(FormatDateTime('yyyy-MM-dd 00:00:00', SGetServerDate(ADOQueryTemp))) - 1;
// EndDate.DateTime := strToDateTime(FormatDateTime('yyyy-MM-dd 00:00:00', SGetServerDate(ADOQueryTemp))) + 1;
var ServerDate: TDateTime := SGetServerDate(ADOQueryTemp);
BegDate.Date := Trunc(ServerDate) - 1; // ǰһ<C7B0><D2BB>
EndDate.Date := Trunc(ServerDate) + 1; // <20><>һ<EFBFBD><D2BB>
BegTime.Time := EncodeTime(0, 0, 0, 0); // <20><><EFBFBD><EFBFBD>8<EFBFBD><38>
endTime.Time := EncodeTime(0, 0, 0, 0); // <20><><EFBFBD><EFBFBD>6<EFBFBD><36>
MCNO.Text := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD><CFB4>';
MCName.Text := 'CCQX1';
initgrid();
end;
procedure TfrmDyePCMachineList.TBExportClick(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
exit;
// SelExportData(tv1,ADOQueryMain,self.Caption);
TcxGridToExcel(self.Caption, DBGrid1);
end;
procedure TfrmDyePCMachineList.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 TfrmDyePCMachineList.pcidChange(Sender: TObject);
begin
TBFind.Click;
end;
procedure TfrmDyePCMachineList.PRTColorChange(Sender: TObject);
begin
TBFind.Click;
end;
end.