D10gmBitao/T03贸易布匹检验/U_TradePACKETPrint.pas
“username” cebba7d3b2 111
2025-04-15 20:16:06 +08:00

407 lines
11 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_TradePACKETPrint;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxDBLookupComboBox, ComObj, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, U_BaseList, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges,
dxBarBuiltInMenu, dxScrollbarAnnotations;
type
TfrmTradePACKETPrint = class(TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ADOQueryMain: TADOQuery;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
GPM_1: TcxGridPopupMenu;
DS_1: TDataSource;
CDS_1: TClientDataSet;
v2Column6: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Panel1: TPanel;
Label1: TLabel;
edtScan: TEdit;
btnFind: TToolButton;
ToolButton2: TToolButton;
Label2: TLabel;
ComboBox1: TComboBox;
Tv1Column2: TcxGridDBColumn;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
ADOQueryPrint: TADOQuery;
RMDB_1: TRMDBDataSet;
RM1: TRMGridReport;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
Button3: TButton;
CDS_Print: TClientDataSet;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
cxgrdbclmn1: TcxGridDBColumn;
cxgrdbclmn2: TcxGridDBColumn;
cxgrdbclmn3: TcxGridDBColumn;
cxgrdbclmn4: TcxGridDBColumn;
cxgrdbclmn5: TcxGridDBColumn;
cxgrdbclmn6: TcxGridDBColumn;
cxgrdbclmn7: TcxGridDBColumn;
cxgrdbclmn8: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
btn1: TButton;
DS_2: TDataSource;
CDS_2: TClientDataSet;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv2Column1: TcxGridDBColumn;
Tv2Column2: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure btnFindClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure edtScanKeyPress(Sender: TObject; var Key: Char);
procedure Button3Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
private
fFlileFlag: string;
{ Private declarations }
procedure InitGrid();
public
FAuthority, FCIID: string;
end;
var
frmTradePACKETPrint: TfrmTradePACKETPrint;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_AttachmentUpload;
{$R *.dfm}
procedure TfrmTradePACKETPrint.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('select top 500 * from Trade_Cloth_Inspect A INNER JOIN Trade_LabelPrint B on A.CIID=B.CIID');
sql.Add('where B.Filler =''' + trim(DName) + '''');
sql.Add('order by B.Filltime desc');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add('SELECT * FROM Trade_Cloth_Inspect a WHERE a.Filltime > ''2024-12-16'' and NOT EXISTS(SELECT DISTINCT Ciid FROM Trade_LabelPrint b WHERE a.CIID = b.CIID)');
sql.Add('order by Filltime desc');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_2);
SInitCDSData(ADOQueryMain, CDS_2);
finally
ADOQueryMain.EnableControls;
end;
CDS_1.First;
CDS_2.first;
end;
procedure TfrmTradePACKETPrint.FormDestroy(Sender: TObject);
begin
inherited;
frmTradePACKETPrint := nil;
end;
procedure TfrmTradePACKETPrint.Button3Click(Sender: TObject);
var
fPrintFile, FLabVolume: string;
begin
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' EXEC P_Trade_Insp_Prt_Lab ');
SQL.Add(' @CIID=''' + Trim(CDS_1.fieldbyname('CIID').AsString) + '''');
Open;
end;
SCreateCDS(ADOQueryPrint, CDS_Print);
SInitCDSData(ADOQueryPrint, CDS_Print);
if ADOQueryPrint.IsEmpty then
begin
application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
if Trim(ADOQueryPrint.fieldbyname('Grade').AsString) = '<27><>Ʒ' then
FLabVolume := Trim(ADOQueryPrint.fieldbyname('LabPackage').AsString)
else
FLabVolume := '<27><>Ʒ<EFBFBD><C6B7>ǩ';
ExportFtErpFile(FLabVolume + '.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + FLabVolume + '.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
Rm1.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1);
RM1.PrintReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
edtScan.SetFocus;
InitGrid();
end;
procedure TfrmTradePACKETPrint.edtScanKeyPress(Sender: TObject; var Key: Char);
var
fPrintFile, FLabVolume, FCIID: string;
begin
if Key = #13 then
begin
if trim(edtScan.Text) = '' then
exit;
FCIID := trim(edtScan.Text);
edtScan.text := '';
with ADOQueryTemp do
begin
Close;
SQL.Clear;
sql.Add(' select * from Trade_Cloth_Inspect A');
SQL.Add(' where CIID=''' + trim(FCIID) + '''');
Open;
end;
if ADOQueryTemp.IsEmpty then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>и<EFBFBD><D0B8><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('insert into Trade_LabelPrint(CIID,Filltime,Filler) values( ');
sql.Add(quotedstr(Trim(FCIID)));
sql.Add(',getdate() ');
sql.Add(', ' + quotedstr(trim(DName)));
sql.Add(')');
ExecSQL;
end;
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' EXEC P_Trade_Insp_Prt_Lab ');
SQL.Add(' @CIID=''' + Trim(FCIID) + '''');
// ShowMessage(sql.text);
Open;
end;
SCreateCDS(ADOQueryPrint, CDS_Print);
SInitCDSData(ADOQueryPrint, CDS_Print);
if ADOQueryPrint.IsEmpty then
begin
application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
// if Trim(ADOQueryPrint.fieldbyname('Grade').AsString) = '<27><>Ʒ' then
FLabVolume := Trim(ADOQueryPrint.fieldbyname('LabPackage').AsString);
if FLabVolume = '' then
begin
FLabVolume := <>ϰ<EFBFBD><CFB0><EFBFBD>ǩ';
end;
ExportFtErpFile(FLabVolume + '.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + FLabVolume + '.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
Rm1.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1);
RM1.PrintReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
InitGrid();
end;
end;
procedure TfrmTradePACKETPrint.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
Action := caFree;
end;
procedure TfrmTradePACKETPrint.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmTradePACKETPrint.TBDelClick(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
if Trim(CDS_1.fieldbyname('COID').AsString) <> '' then
begin
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('update BS_Company set Valid=''N'' where COID=''' + Trim(CDS_1.fieldbyname('COID').AsString) + '''');
ExecSQL;
end;
end;
CDS_1.Delete;
end;
procedure TfrmTradePACKETPrint.FormShow(Sender: TObject);
begin
inherited;
ReadCxGrid(trim(self.Caption), Tv1, '<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>');
edtScan.SetFocus;
InitGrid();
end;
procedure TfrmTradePACKETPrint.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmTradePACKETPrint.ToolButton5Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
try
frmAttachmentUpload := TfrmAttachmentUpload.Create(Application);
with frmAttachmentUpload do
begin
// FEditAuthority := True;
if (Trim(FAuthority) = <><C2BC>') or (Trim(FAuthority) = '<27><><EFBFBD><EFBFBD>') then
FEditAuthority := True;
fkeyNO := Trim(Self.CDS_1.fieldbyname('Coid').AsString);
fType := '<27>ͻ<EFBFBD>';
if ShowModal = 1 then
begin
end;
end;
finally
frmAttachmentUpload.Free;
end;
end;
procedure TfrmTradePACKETPrint.btn1Click(Sender: TObject);
var
fPrintFile, FLabVolume: string;
begin
if CDS_2.IsEmpty then
begin
application.MessageBox('<27><>ѡ<EFBFBD><D1A1>Ҫ<EFBFBD><D2AA>ӡ<EFBFBD><D3A1><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
with ADOQueryCmd do
begin
Close;
SQL.Clear;
sql.Add('insert into Trade_LabelPrint(CIID,Filltime,Filler) values(''' + Trim(CDS_2.FieldByName('CIID').AsString) + '''');
sql.Add(',getdate() ');
sql.Add(', ' + quotedstr(trim(DName)));
sql.Add(')');
ExecSQL;
end;
with ADOQueryPrint do
begin
Close;
SQL.Clear;
sql.Add(' EXEC P_Trade_Insp_Prt_Lab ');
SQL.Add(' @CIID=''' + Trim(CDS_2.fieldbyname('CIID').AsString) + '''');
Open;
end;
SCreateCDS(ADOQueryPrint, CDS_Print);
SInitCDSData(ADOQueryPrint, CDS_Print);
if ADOQueryPrint.IsEmpty then
begin
application.MessageBox('<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>δ<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
// if Trim(ADOQueryPrint.fieldbyname('Grade').AsString) = '<27><>Ʒ' then
// FLabVolume := Trim(ADOQueryPrint.fieldbyname('LabVolume').AsString)
// else
// FLabVolume := '<27><>Ʒ<EFBFBD><C6B7>ǩ';
FLabVolume := <>ϰ<EFBFBD><CFB0><EFBFBD>ǩ';
ExportFtErpFile(FLabVolume + '.rmf', ADOQueryTemp);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + FLabVolume + '.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
Rm1.DefaultCopies := strtointdef(trim(ComboBox1.Text), 1);
RM1.PrintReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
edtScan.SetFocus;
InitGrid();
end;
procedure TfrmTradePACKETPrint.btnFindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
end;
end;
procedure TfrmTradePACKETPrint.ToolButton2Click(Sender: TObject);
begin
WriteCxGrid(trim(self.caption), Tv1, '<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>');
end;
end.