493 lines
13 KiB
ObjectPascal
493 lines
13 KiB
ObjectPascal
unit U_TradeInspSet;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, StrUtils, 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, cxDropDownEdit, BtnEdit, cxLookAndFeels, cxLookAndFeelPainters,
|
||
cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges,
|
||
dxBarBuiltInMenu, U_BaseList, cxContainer, dxCore, cxDateUtils, cxImage,
|
||
cxDBEdit, IdExplicitTLSClientServerBase, RM_Preview, cxPC, U_BaseHelp,
|
||
System.ImageList, Vcl.ImgList, RTComboBox, RM_BarCode, RM_e_Xls,
|
||
dxScrollbarAnnotations;
|
||
|
||
type
|
||
TfrmTradeInspSet = class(TfrmBaseHelp)
|
||
ToolBar1: TToolBar;
|
||
TBClose: TToolButton;
|
||
ADOQueryTemp: TADOQuery;
|
||
ADOQueryCmd: TADOQuery;
|
||
ADOQueryMain: TADOQuery;
|
||
ToolButton3: TToolButton;
|
||
ScrollBox1: TScrollBox;
|
||
Label14: TLabel;
|
||
Label1: TLabel;
|
||
cxPageControl1: TcxPageControl;
|
||
cxTabSheet4: TcxTabSheet;
|
||
RMPreview1: TRMPreview;
|
||
Label2: TLabel;
|
||
RuleBeforeTare: TEdit;
|
||
RuleConversion: TComboBox;
|
||
Label3: TLabel;
|
||
Coefficient: TEdit;
|
||
Label4: TLabel;
|
||
ADOQueryLabel: TADOQuery;
|
||
RM1: TRMGridReport;
|
||
RMDB_1: TRMDBDataSet;
|
||
ADO_1: TADOQuery;
|
||
RM2: TRMGridReport;
|
||
RMDB_2: TRMDBDataSet;
|
||
cxTabSheet1: TcxTabSheet;
|
||
DS_Label: TDataSource;
|
||
CDS_Label: TClientDataSet;
|
||
RMDB_Label: TRMDBDataSet;
|
||
RMLabel: TRMGridReport;
|
||
Panel1: TPanel;
|
||
Panel2: TPanel;
|
||
cxGridLabel: TcxGrid;
|
||
TVLabel: TcxGridDBTableView;
|
||
TVLabellabelId: TcxGridDBColumn;
|
||
TVLabellabeltype: TcxGridDBColumn;
|
||
TVLabellabelCaption: TcxGridDBColumn;
|
||
TVLabellabelFile: TcxGridDBColumn;
|
||
cxGridLabelLevel1: TcxGridLevel;
|
||
RMPreview3: TRMPreview;
|
||
Panel4: TPanel;
|
||
Label9: TLabel;
|
||
Label10: TLabel;
|
||
LabelCaption: TEdit;
|
||
LabelType: TRTComboBox;
|
||
ToolBar2: TToolBar;
|
||
ToolButton1: TToolButton;
|
||
ToolButton2: TToolButton;
|
||
Tadd: TToolButton;
|
||
Tupd: TToolButton;
|
||
Tdel: TToolButton;
|
||
ToolButton4: TToolButton;
|
||
RMBarCodeObject1: TRMBarCodeObject;
|
||
RMXLSExport1: TRMXLSExport;
|
||
RMDataDictionary1: TRMDataDictionary;
|
||
ADO_Down: TADOQuery;
|
||
TVLabelColumn1: TcxGridDBColumn;
|
||
TVLabelColumn2: TcxGridDBColumn;
|
||
LabVolume: TEdit;
|
||
LabPackage: TEdit;
|
||
Label5: TLabel;
|
||
RulePieceNo: TComboBox;
|
||
Label6: TLabel;
|
||
RuleLenUnit: TComboBox;
|
||
Label8: TLabel;
|
||
RuleLaterTare: TEdit;
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure TBRafreshClick(Sender: TObject);
|
||
procedure ToolButton3Click(Sender: TObject);
|
||
procedure cxPageControl1Change(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure ToolButton2Click(Sender: TObject);
|
||
procedure TupdClick(Sender: TObject);
|
||
procedure TdelClick(Sender: TObject);
|
||
procedure TaddClick(Sender: TObject);
|
||
procedure ToolButton4Click(Sender: TObject);
|
||
procedure LabelTypeChange(Sender: TObject);
|
||
procedure TVLabelCellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
||
private
|
||
{ Private declarations }
|
||
procedure InitGrid();
|
||
function SaveData(): Boolean;
|
||
procedure InitLabel();
|
||
function SaveLabel(MLabelID: string): Boolean;
|
||
procedure InitLabVolume();
|
||
procedure InitLabPackage();
|
||
public
|
||
FDataID: string;
|
||
end;
|
||
|
||
var
|
||
frmTradeInspSet: TfrmTradeInspSet;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_RTFun, U_LabelInput, U_LabelList;
|
||
|
||
{$R *.dfm}
|
||
|
||
function TfrmTradeInspSet.SaveLabel(MLabelID: string): Boolean;
|
||
begin
|
||
try
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from Trade_Label');
|
||
sql.Add('where LabelID=' + Quotedstr(MLabelID));
|
||
Open;
|
||
Edit;
|
||
fieldByName('Editer').value := DName;
|
||
FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTemp);
|
||
// RMLabel.SaveToBlobField(TBlobField(FieldByName('LabelFile')));
|
||
Post;
|
||
end;
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
result := true;
|
||
except
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
Result := false;
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǩģ<C7A9><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.InitLabel();
|
||
begin
|
||
with ADOQueryMain do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add(' select * from Trade_Label');
|
||
sql.Add(' order by labeltype,labelCaption');
|
||
Open;
|
||
end;
|
||
SDofilter(ADOQueryMain, SGetFilters(Panel4, 1, 2));
|
||
SCreateCDS(ADOQueryMain, CDS_Label);
|
||
SInitCDSData(ADOQueryMain, CDS_Label);
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.InitLabVolume();
|
||
begin
|
||
|
||
with ADOQueryLabel do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select top 1 * from RT_FileUpdate');
|
||
sql.Add('where FileName=' + quotedstr(trim(LabVolume.Text) + '.rmf'));
|
||
Open;
|
||
end;
|
||
|
||
if ADOQueryLabel.IsEmpty then
|
||
exit;
|
||
with RM1 do
|
||
begin
|
||
LoadFromBlobField(tblobfield(ADOQueryLabel.fieldbyname('Files')));
|
||
Preview := RMPreview1;
|
||
ShowReport;
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.InitLabPackage();
|
||
begin
|
||
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.LabelTypeChange(Sender: TObject);
|
||
begin
|
||
if ADOQueryMain.Active then
|
||
begin
|
||
SDofilter(ADOQueryMain, SGetFilters(Panel4, 1, 2));
|
||
SCreateCDS(ADOQueryMain, CDS_Label);
|
||
SInitCDSData(ADOQueryMain, CDS_Label);
|
||
end;
|
||
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.InitGrid();
|
||
begin
|
||
|
||
with ADOQueryTemp do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add(' select * from Trade_Cloth_Inspect_Rule where RuleID=''' + Trim(FDataID) + '''');
|
||
Open;
|
||
end;
|
||
SCSHData(ADOQueryTemp, ScrollBox1, 2);
|
||
|
||
// with ADOQueryTemp do
|
||
// begin
|
||
// close;
|
||
// sql.Clear;
|
||
// sql.Add(' select C.LabName from Knit_Plan_Main A ');
|
||
// sql.Add(' INNER JOIN Knit_Plan_Sub B on A.MainID=B.MainID');
|
||
// sql.Add(' INNER JOIN BS_Contract_Sub C on B.ConSId =C.ConSId');
|
||
// sql.Add(' where A.MainId=''' + Trim(FDataID) + '''');
|
||
// Open;
|
||
// end;
|
||
//
|
||
// LabVolume.text := Trim(ADOQueryTemp.fieldbyname('LabName').AsString);
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.FormDestroy(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
frmTradeInspSet := nil;
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.cxPageControl1Change(Sender: TObject);
|
||
begin
|
||
case cxPageControl1.ActivePageIndex of
|
||
1:
|
||
begin
|
||
InitLabVolume();
|
||
end;
|
||
2:
|
||
begin
|
||
InitLabPackage();
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
inherited;
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.TaddClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmLabelInput := TfrmLabelInput.create(self);
|
||
with frmLabelInput do
|
||
begin
|
||
FLabelId := '';
|
||
if showModal = 1 then
|
||
begin
|
||
InitLabel();
|
||
end;
|
||
end;
|
||
finally
|
||
frmLabelInput.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.TBCloseClick(Sender: TObject);
|
||
begin
|
||
ModalResult := 1;
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.FormShow(Sender: TObject);
|
||
begin
|
||
inherited;
|
||
ExportFtErpFile('ģ<><C4A3><EFBFBD><EFBFBD>ǩ.rmf', ADOQueryTemp);
|
||
|
||
with ADO_1 do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('exec P_BS_Label_Get_Test');
|
||
Open;
|
||
end;
|
||
Initlabel();
|
||
InitGrid();
|
||
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.TBRafreshClick(Sender: TObject);
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.TdelClick(Sender: TObject);
|
||
begin
|
||
try
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
sql.Add('delete Trade_Label');
|
||
sql.Add('where labelId=' + quotedstr(CDS_Label.fieldByName('LabelID').asString));
|
||
|
||
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
|
||
sql.Add(' ' + quotedstr(trim(DName)));
|
||
sql.Add(',getdate() ');
|
||
sql.Add(',' + quotedstr(trim(self.Caption)));
|
||
sql.Add(',' + quotedstr(trim('<27><>ǩɾ<C7A9><C9BE>')));
|
||
sql.Add(',' + quotedstr(trim('<27><>ǩ<EFBFBD><C7A9><EFBFBD>ƣ<EFBFBD>' + trim(CDS_Label.fieldByName('labelCaption').asString))));
|
||
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
|
||
sql.Add(')');
|
||
execSql;
|
||
end;
|
||
CDS_Label.Delete;
|
||
except
|
||
application.MessageBox('ɾ<><C9BE>ʧ<EFBFBD><CAA7>!', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', 0);
|
||
end;
|
||
|
||
end;
|
||
|
||
function TfrmTradeInspSet.SaveData(): Boolean;
|
||
var
|
||
MaxId, MaxSubId, FCoCode, FCCID, MaxCFID: string;
|
||
begin
|
||
try
|
||
ADOQueryCmd.Connection.BeginTrans;
|
||
|
||
if Trim(FDataID) = '' then
|
||
begin
|
||
if GetLSNo(ADOQueryCmd, MaxId, 'R', 'Trade_Cloth_Inspect_Rule', 4, 1) = False then
|
||
begin
|
||
Result := False;
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
|
||
Exit;
|
||
end;
|
||
end
|
||
else
|
||
begin
|
||
MaxId := Trim(FDataID);
|
||
end;
|
||
|
||
with ADOQueryCmd do
|
||
begin
|
||
Close;
|
||
SQL.Clear;
|
||
sql.Add('select * from Trade_Cloth_Inspect_Rule where RuleID=''' + Trim(FDataID) + '''');
|
||
Open;
|
||
end;
|
||
with ADOQueryCmd do
|
||
begin
|
||
if Trim(FDataID) = '' then
|
||
begin
|
||
Append;
|
||
FieldByName('Filler').Value := Trim(DName);
|
||
end
|
||
else
|
||
begin
|
||
Edit;
|
||
FieldByName('Editer').Value := Trim(DName);
|
||
FieldByName('Edittime').Value := SGetServerDateTime(ADOQueryTemp);
|
||
end;
|
||
FieldByName('RuleID').Value := Trim(MaxId);
|
||
|
||
RTSetsavedata(ADOQueryCmd, 'Trade_Cloth_Inspect_Rule', ScrollBox1, 2);
|
||
|
||
Post;
|
||
end;
|
||
|
||
with ADOQueryTemp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add(' UPDATE BS_Contract_Sub set LabName =''' + Trim(LabVolume.text) + '''');
|
||
sql.Add(' from BS_Contract_Sub A ');
|
||
sql.Add(' INNER JOIN Knit_Plan_Sub B on A.ConSId=B.ConSId');
|
||
sql.Add(' where B.MainId =''' + Trim(FDataID) + '''');
|
||
ExecSQL;
|
||
end;
|
||
|
||
ADOQueryCmd.Connection.CommitTrans;
|
||
FCCID := Trim(MaxSubId);
|
||
Result := True;
|
||
except
|
||
Result := false;
|
||
ADOQueryCmd.Connection.RollbackTrans;
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>쳣!', '<27><>ʾ', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
if CDS_Label.IsEmpty then
|
||
exit;
|
||
LabVolume.Text := trim(CDS_Label.fieldbyname('labelCaption').asstring);
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.ToolButton2Click(Sender: TObject);
|
||
begin
|
||
if CDS_Label.IsEmpty then
|
||
exit;
|
||
LabPackage.Text := trim(CDS_Label.fieldbyname('labelCaption').asstring);
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.ToolButton3Click(Sender: TObject);
|
||
begin
|
||
|
||
if SaveData() then
|
||
begin
|
||
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>!', '<27><>ʾ', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.ToolButton4Click(Sender: TObject);
|
||
var
|
||
fFileName, fPrintFile: string;
|
||
MLabelID, MLabelCaption: string;
|
||
begin
|
||
if CDS_Label.IsEmpty then
|
||
exit;
|
||
MLabelID := TRIM(CDS_Label.fieldByName('LabelID').asString);
|
||
MLabelCaption := TRIM(CDS_Label.fieldByName('LabelCaption').asString);
|
||
ExportFtErpFile(MLabelCaption + '.rmf', ADOQueryTemp);
|
||
fPrintFile := ExtractFilePath(Application.ExeName) + 'report\' + MLabelCaption + '.rmf';
|
||
|
||
if not FileExists(fPrintFile) then
|
||
CopyFile(PChar(ExtractFilePath(Application.ExeName) + 'Report\ģ<><C4A3><EFBFBD><EFBFBD>ǩ.rmf'), PChar(fPrintFile), False);
|
||
|
||
with RMLabel do
|
||
begin
|
||
RMLabel.Clear;
|
||
RMDB_Label.DataSet := nil;
|
||
Dictionary.FieldAliases.Clear;
|
||
Dictionary.FieldAliases['RMDB_Label'] := '<27><>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>';
|
||
RMDB_Label.DataSet := ADO_1;
|
||
LoadFromFile(fPrintFile);
|
||
application.ProcessMessages;
|
||
DesignReport();
|
||
// RMLabel.SaveToFile(fPrintFile);
|
||
SaveLabel(MLabelID);
|
||
ExportToFtErp(fPrintFile, ADOQueryCmd);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.TupdClick(Sender: TObject);
|
||
begin
|
||
if CDS_Label.IsEmpty then
|
||
exit;
|
||
try
|
||
frmLabelInput := TfrmLabelInput.create(self);
|
||
with frmLabelInput do
|
||
begin
|
||
fLabelId := CDS_Label.fieldByName('LabelId').AsString;
|
||
if showModal = 1 then
|
||
begin
|
||
InitLabel();
|
||
end;
|
||
end;
|
||
finally
|
||
frmLabelInput.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmTradeInspSet.TVLabelCellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
||
var
|
||
fPrintFile: string;
|
||
begin
|
||
if CDS_Label.IsEmpty then
|
||
exit;
|
||
ExportFtErpFile(TRIM(CDS_Label.fieldByName('LabelCaption').asString) + '.rmf', ADOQueryTemp);
|
||
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + CDS_Label.fieldbyname('LabelCaption').AsString + '.rmf';
|
||
if not FileExists(fPrintFile) then
|
||
CopyFile(PChar(ExtractFilePath(Application.ExeName) + 'Report\ģ<><C4A3><EFBFBD><EFBFBD>ǩ.rmf'), PChar(fPrintFile), False);
|
||
|
||
with RMLabel do
|
||
begin
|
||
RMLabel.LoadFromFile(fPrintFile);
|
||
Preview := RMPreview3;
|
||
ShowReport;
|
||
end;
|
||
end;
|
||
|
||
end.
|
||
|