292 lines
7.7 KiB
ObjectPascal
292 lines
7.7 KiB
ObjectPascal
unit U_LabelHelp10;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData,
|
||
cxDataStorage, cxEdit, DB, cxDBData, cxCheckBox, cxGridLevel,
|
||
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses,
|
||
cxControls, cxGridCustomView, cxGrid, ImgList, ComCtrls, ToolWin, ADODB,
|
||
RM_Common, RM_Preview, StdCtrls, ExtCtrls, RM_System, RM_Class,
|
||
RM_GridReport, cxSplitter;
|
||
|
||
type
|
||
TfrmLabelHelp10 = class(TForm)
|
||
ToolBar2: TToolBar;
|
||
TOk: TToolButton;
|
||
TBClose: TToolButton;
|
||
ImageList1: TImageList;
|
||
cxGrid1: TcxGrid;
|
||
tv1: TcxGridDBTableView;
|
||
tv1sel: TcxGridDBColumn;
|
||
tv1labelClass: TcxGridDBColumn;
|
||
tv1labelCaption: TcxGridDBColumn;
|
||
tv1packLabelCaption: TcxGridDBColumn;
|
||
tv1Column1: TcxGridDBColumn;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
DS_Label: TDataSource;
|
||
ADOQueryLabel: TADOQuery;
|
||
tv1labelUnit: TcxGridDBColumn;
|
||
Tload: TToolButton;
|
||
ADOQueryCmd: TADOQuery;
|
||
ADOQueryTmp: TADOQuery;
|
||
Panel4: TPanel;
|
||
GroupBox1: TGroupBox;
|
||
RMPreview2: TRMPreview;
|
||
GroupBox2: TGroupBox;
|
||
RMPreview1: TRMPreview;
|
||
RMGridReport1: TRMGridReport;
|
||
RMGridReport2: TRMGridReport;
|
||
ADOQueryPackLabel: TADOQuery;
|
||
ADOConnection1: TADOConnection;
|
||
cxSplitter1: TcxSplitter;
|
||
procedure FormShow(Sender: TObject);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure TBCloseClick(Sender: TObject);
|
||
procedure TOkClick(Sender: TObject);
|
||
procedure tv1DblClick(Sender: TObject);
|
||
procedure TloadClick(Sender: TObject);
|
||
procedure FormKeyDown(Sender: TObject; var Key: Word;
|
||
Shift: TShiftState);
|
||
procedure tv1FocusedRecordChanged(Sender: TcxCustomGridTableView;
|
||
APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord;
|
||
ANewItemRecordFocusingChanged: Boolean);
|
||
private
|
||
isLoad:Boolean;
|
||
procedure IntLabelGrid();
|
||
function InsertPlanLabel(mLabel:string):Boolean;
|
||
function IsHasPlanLabel():boolean;
|
||
procedure OpenLabel();
|
||
procedure OpenPackLabel();
|
||
public
|
||
fKeyType:integer;
|
||
fDept:string;
|
||
fPlanNo:string;
|
||
fseqNo:string;
|
||
fKeyNo:string;
|
||
fcustomNo:string;
|
||
fSysType:string;
|
||
end;
|
||
|
||
var
|
||
frmLabelHelp10: TfrmLabelHelp10;
|
||
|
||
implementation
|
||
uses
|
||
U_global,U_formPas;
|
||
{$R *.dfm}
|
||
////////////////////////////////////////////////////////////////
|
||
//
|
||
////////////////////////////////////////////////////////////////
|
||
procedure TfrmLabelHelp10.IntLabelGrid();
|
||
begin
|
||
try
|
||
isLoad:=false;
|
||
ADOQueryLabel.DisableControls ;
|
||
with ADOQueryLabel do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
sql.Add('select B.*,');
|
||
sql.Add('packLabelCaption=(select labelCaption from jd_label_sub x where x.labelId= B.packlabelId)');
|
||
sql.Add('from jd_label A');
|
||
sql.Add('inner join jd_label_sub B');
|
||
sql.Add('on A.customNo=B.customNo ');
|
||
//if trim(fCustomNo)<>'' then
|
||
sql.Add('and (A.customNo='+quotedStr(trim(fCustomNo))+' or A.labelFlag=1)');
|
||
sql.Add('and B.labelClass=''<27><><EFBFBD><EFBFBD>ǩ''');
|
||
if trim(fDept)<>'' then
|
||
begin
|
||
sql.Add('and (B.labelDept='+quotedStr(trim(fDept))+' or B.labelDept='+quotedStr('ȫ<><C8AB>')+')');
|
||
end;
|
||
sql.Add('order by A.labelFlag');
|
||
Open;
|
||
end;
|
||
finally
|
||
ADOQueryLabel.EnableControls ;
|
||
isLoad:=true;
|
||
OpenLabel();
|
||
end;
|
||
end;
|
||
procedure TfrmLabelHelp10.FormShow(Sender: TObject);
|
||
begin
|
||
IntLabelGrid();
|
||
end;
|
||
|
||
procedure TfrmLabelHelp10.FormCreate(Sender: TObject);
|
||
begin
|
||
cxGrid1.Align :=alClient;
|
||
with ADOConnection1 do
|
||
begin
|
||
Connected:=false;
|
||
ConnectionString:=gConString;
|
||
Connected:=true;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmLabelHelp10.TBCloseClick(Sender: TObject);
|
||
begin
|
||
close;
|
||
end;
|
||
|
||
procedure TfrmLabelHelp10.TOkClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryLabel.IsEmpty then exit;
|
||
if not IsHasPlanLabel() then
|
||
begin
|
||
if not InsertPlanLabel(ADOQueryLabel.fieldByName('labelID').AsString) then
|
||
begin
|
||
exit;
|
||
end;
|
||
end;
|
||
ModalResult:=1;
|
||
end;
|
||
|
||
procedure TfrmLabelHelp10.tv1DblClick(Sender: TObject);
|
||
begin
|
||
TOk.Click ;
|
||
end;
|
||
////////////////////////////////////////////////////////////////////
|
||
//
|
||
////////////////////////////////////////////////////////////////////
|
||
function TfrmLabelHelp10.InsertPlanLabel(mLabel:string):Boolean;
|
||
begin
|
||
try
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
sql.Add('exec P_DO_CopyLabel');
|
||
sql.Add('@LabelFlag='+intTostr(fKeyType));
|
||
sql.Add(',@LabelId='+mLabel);
|
||
sql.Add(',@SysCode='+quotedStr(trim(fSysType)));
|
||
sql.Add(',@mplanNO='+quotedStr(trim(fPlanNo)));
|
||
if fKeyType=1 then
|
||
sql.Add(',@mpseqNo='+quotedStr(trim(fKeyNo)))
|
||
else
|
||
sql.Add(',@mpseqNo='+quotedStr(trim(fseqNo)));
|
||
sql.Add(',@customNo='+quotedStr(trim(fcustomNo)));
|
||
sql.Add(',@userid='+quotedStr(trim(gUserId)));
|
||
execSql;
|
||
end;
|
||
result:=true;
|
||
except
|
||
result:=false;
|
||
application.MessageBox('<27><><EFBFBD>浱ǰ<E6B5B1><C7B0>ǩ<EFBFBD><C7A9>Ϣʱ<CFA2><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmLabelHelp10.TloadClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryLabel.IsEmpty then exit;
|
||
if InsertPlanLabel(ADOQueryLabel.fieldByName('labelID').AsString) then
|
||
begin
|
||
ModalResult:=1;
|
||
end;
|
||
end;
|
||
///////////////////////////////////////////////////////
|
||
//
|
||
///////////////////////////////////////////////////////
|
||
function TfrmLabelHelp10.IsHasPlanLabel():boolean;
|
||
begin
|
||
result:=false;
|
||
try
|
||
with ADOQueryTmp do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
sql.Add('select count(*) as cnt');
|
||
sql.Add('from JD_Label_Plan');
|
||
sql.Add('where PlanNO='+quotedStr(fPlanNo));
|
||
//if trim(fseqNo)<>'' then
|
||
// sql.Add('and P_seqNo='+quotedStr(fSeqNo));
|
||
Open;
|
||
if fieldByName('cnt').asinteger>0 then
|
||
begin
|
||
result:=true;
|
||
end;
|
||
end;
|
||
except
|
||
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD>ǩʱ<C7A9><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmLabelHelp10.FormKeyDown(Sender: TObject; var Key: Word;
|
||
Shift: TShiftState);
|
||
begin
|
||
//<2F>رմ<D8B1><D5B4><EFBFBD>
|
||
if key= vk_Escape then
|
||
begin
|
||
Close ;
|
||
end;
|
||
if key=VK_return then
|
||
Tok.Click ;
|
||
if key=VK_f1 then
|
||
Tload.Click ;
|
||
end;
|
||
////////////////////////////////////////////////////////
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ǩ<EFBFBD>ļ<EFBFBD>
|
||
////////////////////////////////////////////////////////
|
||
procedure TfrmLabelHelp10.OpenLabel();
|
||
begin
|
||
if ADOQueryLabel.IsEmpty then exit;
|
||
with RMGridReport1 do
|
||
begin
|
||
try
|
||
if ADOQueryLabel.fieldbyname('labelFile').IsNull then exit;
|
||
LoadFromBlobField(tblobfield(ADOQueryLabel.fieldbyname('labelFile')));
|
||
Preview :=RMPreview1;
|
||
//ShowReport ;
|
||
PrepareReport;
|
||
ShowPreparedReport;
|
||
except
|
||
end;
|
||
end;
|
||
OpenPackLabel();
|
||
end;
|
||
////////////////////////////////////////////////////////
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ǩ<EFBFBD>ļ<EFBFBD>
|
||
////////////////////////////////////////////////////////
|
||
procedure TfrmLabelHelp10.OpenPackLabel();
|
||
begin
|
||
if ADOQueryLabel.IsEmpty then exit;
|
||
if ADOQueryLabel.fieldByName('packLabelId').AsInteger <=0 then
|
||
begin
|
||
RMGridReport2.Preview:=nil;
|
||
exit;
|
||
end;
|
||
/////////////////////////////////////////
|
||
with ADOQueryPackLabel do
|
||
begin
|
||
close;
|
||
sql.Add('select * from jd_label_sub');
|
||
sql.Add('where labelId='+ADOQueryLabel.fieldByName('packLabelId').AsString);
|
||
Open;
|
||
end;
|
||
///////////////////////////////////////
|
||
with RMGridReport2 do
|
||
begin
|
||
try
|
||
if ADOQueryPackLabel.fieldbyname('labelFile').IsNull then exit;
|
||
LoadFromBlobField(tblobfield(ADOQueryPackLabel.fieldbyname('labelFile')));
|
||
Preview :=RMPreview2;
|
||
//ShowReport ;
|
||
PrepareReport;
|
||
ShowPreparedReport;
|
||
except
|
||
end;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmLabelHelp10.tv1FocusedRecordChanged(
|
||
Sender: TcxCustomGridTableView; APrevFocusedRecord,
|
||
AFocusedRecord: TcxCustomGridRecord;
|
||
ANewItemRecordFocusingChanged: Boolean);
|
||
begin
|
||
if isLoad then
|
||
OpenLabel();
|
||
end;
|
||
|
||
end.
|