D7myzhenyong/染整计划(DyeingFinishingPlan.dll)/U_SketchManageListSel.pas
DESKTOP-E401PHE\Administrator 237de1c308 0
2025-08-26 15:25:51 +08:00

485 lines
14 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_SketchManageListSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class,
RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxContainer,
cxImage, cxDBEdit, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdFTP, ShellAPI, StrUtils, cxCheckBox, cxPC, cxMemo, Menus, Math, Clipbrd,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu,
dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter;
type
TfrmSketchManageListSel = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBOK: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
Label2: TLabel;
cxGridPopupMenu1: TcxGridPopupMenu;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
ADOQueryTemp: TADOQuery;
DataSource1: TDataSource;
Label3: TLabel;
M_HXCODE: TEdit;
Order_Main: TClientDataSet;
RM1: TRMGridReport;
RMXLSExport1: TRMXLSExport;
CDS_PRT: TClientDataSet;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1OrderNo: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
RMDBPRT: TRMDBDataSet;
RMDBDataSet1: TRMDBDataSet;
ClientDataSet1: TClientDataSet;
v1Column31: TcxGridDBColumn;
IdFTP1: TIdFTP;
ADOQueryImage: TADOQuery;
DSImage: TDataSource;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
ClientDataSet2: TClientDataSet;
RMDBDataSet2: TRMDBDataSet;
Label7: TLabel;
XGOrderno: TEdit;
v1Column10: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
Panel6: TPanel;
Label9: TLabel;
LBCPAP: TLabel;
BTLP: TButton;
BTNP: TButton;
cxTabControl1: TcxTabControl;
CheckBox1: TCheckBox;
N3: TMenuItem;
TCBNOR: TEdit;
lbl1: TLabel;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure M_HXCODEChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Picture4DblClick(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure FormDestroy(Sender: TObject);
procedure cxTabControl1CanClose(Sender: TObject; var ACanClose: Boolean);
procedure cxTabControl1Change(Sender: TObject);
procedure cbbISSavedChange(Sender: TObject);
procedure chkYDDClick(Sender: TObject);
procedure chkwzbClick(Sender: TObject);
procedure chkWDDClick(Sender: TObject);
procedure v1Column15PropertiesCustomClick(Sender: TObject);
procedure Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
procedure M_HXCODEKeyPress(Sender: TObject; var Key: Char);
procedure BTLPClick(Sender: TObject);
procedure BTNPClick(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure TCBNORKeyPress(Sender: TObject; var Key: Char);
procedure TBOKClick(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
private
FInt, PFInt: Integer;
CurrentPage, RecordsNumber: Integer;
procedure InitGrid();
procedure InitForm();
procedure SetStatus();
function DelData(): Boolean;
procedure InitButton();
procedure LookImage(FileName: string);
procedure InitImage();
{ Private declarations }
public
canshu1, FCheJian: string;
FKHName: string;
FChtType: string;
fFlileFlag: string;
CXTJ1, CXZ1: string;
CXTJ2, CXZ2: string;
{ Public declarations }
end;
var
frmSketchManageListSel: TfrmSketchManageListSel;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_FjList10, U_SketchManage, U_QXGL, U_OrderInPut; //U_ShuttleClothSCInPut2
{$R *.dfm}
procedure TfrmSketchManageListSel.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
WriteCxGrid(self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
end;
procedure TfrmSketchManageListSel.SetStatus();
begin
end;
procedure TfrmSketchManageListSel.InitButton();
begin
end;
procedure TfrmSketchManageListSel.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(<><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmSketchManageListSel.InitGrid();
var
fwhere, Pwhere: string;
begin
fwhere := '';
if SGetFilters(Panel1, 1, 2) <> '' then
fwhere := fwhere + ' and ' + SGetFilters(Panel1, 1, 2);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
sql.Clear;
sql.Add(' select top ' + inttostr(RecordsNumber) + ' temp_row.* ');
sql.Add(',ISSD=[dbo].[F_Mg_Judge_SD](' + quotedstr(FKHName) + ',temp_row.M_HXCODE) ');
sql.Add('from (select row_number() over(order by AA.FILLTIME DESC ) as rownumber '); //--<2D><><EFBFBD><EFBFBD>
sql.Add(',COUNT(1) OVER() AS TotalCount '); //<2F>ܼ<EFBFBD>¼<EFBFBD><C2BC>
sql.Add(',* from ( ');
sql.Add(' select A.* ');
sql.Add(' ,XGOrderno=cast((select distinct X.OrderNO +'' '' from JYOrder_Main X inner join JYOrder_Sub Y on X.MainId=Y.MainId AND Y.MGMainId=A.MgId for xml path('''') ) as varchar(1000)) ');
sql.Add(' ,SLT=(select top 1 FilesOther from TP_File X where X.WBID=A.MGID and X.TFType=''MGSLT'' ) ');
SQL.Add(' FROM Sketch_MAIN A');
sql.Add(' where 1=1 ');
if CheckBox1.Checked then
begin
sql.Add('AND A.FILLTIME>=''' + formatdateTime('yyyy-MM-dd', begdate.Date) + ''' ');
sql.Add('and A.FILLTIME<''' + formatdateTime('yyyy-MM-dd', enddate.Date + 1) + ''' ');
end;
sql.Add(' ) AA where 1=1 ');
sql.Add(fwhere);
sql.Add(') temp_row');
sql.Add(' where rownumber> ' + inttostr((CurrentPage - 1) * RecordsNumber));
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
LBCPAP.Caption := inttostr(CurrentPage) + '/' + inttostr(ceil(Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber));
lbl1.Caption := '<27><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD>:' + Order_Main.FieldByName('TotalCount').AsString;
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmSketchManageListSel.InitForm();
begin
// InitButton();
CurrentPage := 1;
RecordsNumber := 30;
TCBNOR.Text := '30';
fFlileFlag := UserDataFlag + 'HX';
ReadCxGrid(<><D3A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>6', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 30;
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
SetStatus();
InitGrid();
end;
function TfrmSketchManageListSel.DelData(): Boolean;
begin
try
Result := false;
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete Sketch_main where MGID=''' + Trim(Order_Main.fieldbyname('MGID').AsString) + '''');
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
ADOQueryCmd.Connection.RollbackTrans;
Result := False;
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><ECB3A3>', '<27><>ʾ', 0);
end;
end;
procedure TfrmSketchManageListSel.TBRafreshClick(Sender: TObject);
begin
BegDate.SetFocus;
SetStatus();
CurrentPage := 1;
InitGrid();
end;
procedure TfrmSketchManageListSel.M_HXCODEChange(Sender: TObject);
begin
if ADOQueryMain.Active = False then
Exit;
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, Order_Main);
SInitCDSData20(ADOQueryMain, Order_Main);
end;
procedure TfrmSketchManageListSel.FormShow(Sender: TObject);
begin
InitForm();
end;
procedure TfrmSketchManageListSel.Picture4DblClick(Sender: TObject);
begin
if TcxDBImage(Sender).Picture.Height = 0 then
exit;
LookImage(ADOQueryImage.fieldbyname(TcxDBImage(Sender).Hint).asstring);
end;
procedure TfrmSketchManageListSel.LookImage(FileName: string);
var
sFieldName: string;
begin
sFieldName := leftbstr(ExtractFilePath(Application.ExeName), 1) + ':\ͼƬ<CDBC>鿴';
if not DirectoryExists(pchar(sFieldName)) then
CreateDirectory(pchar(sFieldName), nil);
sFieldName := sFieldName + '\' + trim(FileName);
try
IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI', 'SERVER', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ', '127.0.0.1');
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
;
end;
if IdFTP1.Connected then
begin
// Panel2.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>Ե<EFBFBD>...';
// Panel2.Visible := true;
application.ProcessMessages;
try
// ShowMessage(PChar(fFlileFlag + '\' + Trim(FileName)));
IdFTP1.Get(fFlileFlag + '\' + Trim(FileName), sFieldName, true, false);
except
// Panel2.Visible := false;
Application.MessageBox('<27>ͻ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
end
else
begin
// Panel2.Visible := false;
Application.MessageBox('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
// Panel2.Visible := false;
if IdFTP1.Connected then
IdFTP1.Quit;
ShellExecute(Handle, 'open', PChar(sFieldName), '', '', SW_SHOWNORMAL);
end;
procedure TfrmSketchManageListSel.InitImage();
begin
ADOQueryImage.Close;
if Order_Main.IsEmpty then
exit;
// with ADOQueryImage do
// begin
// close;
// sql.Clear;
// sql.Add('select * from TP_File A');
// sql.Add('where mgid=' + quotedstr(trim(Order_Main.fieldbyname('mgid').AsString)));
// sql.Add('and TFType=' + quotedstr(trim('Ѱ<><D1B0>')));
// open;
// end;
end;
procedure TfrmSketchManageListSel.Tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
if TV1.Controller.FocusedColumn.DataBinding.FilterFieldName = 'DTP' then
begin
if ACellViewInfo.Value = '<27><><EFBFBD>Ƹ<EFBFBD>' then
LookImage(Trim(Self.Order_Main.fieldbyname('IMG_SJT').AsString));
end;
if TV1.Controller.FocusedColumn.DataBinding.FilterFieldName = 'BQSD' then
begin
if ACellViewInfo.Value = '<27>鿴' then
begin
try
frmQXGL := TfrmQXGL.Create(Application);
with frmQXGL do
begin
FM_HXCODE := Trim(Self.Order_Main.fieldbyname('M_HXCODE').AsString);
if ShowModal = 1 then
begin
end;
end;
finally
frmQXGL.Free;
end;
end;
end;
end;
procedure TfrmSketchManageListSel.FormDestroy(Sender: TObject);
begin
frmSketchManageListSel := nil;
end;
procedure TfrmSketchManageListSel.cxTabControl1CanClose(Sender: TObject; var ACanClose: Boolean);
begin
SetStatus();
InitGrid();
end;
procedure TfrmSketchManageListSel.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
InitGrid();
end;
procedure TfrmSketchManageListSel.cbbISSavedChange(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmSketchManageListSel.chkYDDClick(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmSketchManageListSel.chkwzbClick(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmSketchManageListSel.chkWDDClick(Sender: TObject);
begin
CurrentPage := 1;
InitGrid();
end;
procedure TfrmSketchManageListSel.v1Column15PropertiesCustomClick(Sender: TObject);
begin
Application.MessageBox('<27>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>ư<EFBFBD><C6B0><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
end;
procedure TfrmSketchManageListSel.Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean);
var
FValue: string;
FBounds: TRect;
begin
FBounds := AViewInfo.Bounds;
if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then
begin
ACanvas.FillRect(FBounds);
ACanvas.DrawComplexFrame(FBounds, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1);
FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1);
InflateRect(FBounds, -1, -1); //Platform specific. May not work on Linux.
ACanvas.Font.Color := clBlack;
ACanvas.Brush.Style := bsClear;
ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop);
ADone := True;
end;
end;
procedure TfrmSketchManageListSel.M_HXCODEKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmSketchManageListSel.BTLPClick(Sender: TObject);
begin
if CurrentPage > 1 then
CurrentPage := CurrentPage - 1;
InitGrid();
end;
procedure TfrmSketchManageListSel.BTNPClick(Sender: TObject);
begin
if CurrentPage < Order_Main.FieldByName('TotalCount').AsInteger / RecordsNumber then
CurrentPage := CurrentPage + 1;
InitGrid();
end;
procedure TfrmSketchManageListSel.N3Click(Sender: TObject);
begin
Clipboard.SetTextBuf(PChar(Trim(Order_Main.fieldbyname(TV1.Controller.FocusedColumn.DataBinding.FilterFieldName).AsString)));
end;
procedure TfrmSketchManageListSel.TCBNORKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
RecordsNumber := StrToIntDef(TCBNOR.Text, 10);
CurrentPage := 1;
InitGrid();
end;
end;
procedure TfrmSketchManageListSel.TBOKClick(Sender: TObject);
begin
if Trim(Order_Main.fieldbyname('ISSD').AsString) = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
if Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>Ҫѡ<D2AA><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
exit;
end;
ModalResult := 1;
end;
procedure TfrmSketchManageListSel.Tv1DblClick(Sender: TObject);
begin
TBOK.Click;
end;
end.