410 lines
10 KiB
ObjectPascal
410 lines
10 KiB
ObjectPascal
unit U_LabelList;
|
||
|
||
interface
|
||
|
||
uses
|
||
Windows, Messages, SysUtils, StrUtils, Variants, Classes, Graphics, Controls,
|
||
Forms, Dialogs, ComCtrls, ToolWin, StdCtrls, BtnEdit, ExtCtrls, DB, ADODB,
|
||
RM_System, RM_Common, RM_Class, RM_GridReport, Buttons, RTComboBox, RM_Preview,
|
||
RM_e_Xls, RM_e_Graphic, RM_e_bmp, RM_BarCode, RM_DsgGridReport, RM_Dataset,
|
||
cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit,
|
||
cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView,
|
||
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, DBClient,
|
||
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxSkinsCore,
|
||
dxSkinsDefaultPainters, dxDateRanges;
|
||
|
||
type
|
||
TfrmLabelList = class(TForm)
|
||
ADOQueryCmd: TADOQuery;
|
||
OpenDialog1: TOpenDialog;
|
||
RMGridReport1: TRMGridReport;
|
||
ADOQueryTmp: TADOQuery;
|
||
RMPreview1: TRMPreview;
|
||
ADOQuery1: TADOQuery;
|
||
DS_Label: TDataSource;
|
||
ADOQueryLabel10: TADOQuery;
|
||
ToolBar2: TToolBar;
|
||
Tadd: TToolButton;
|
||
Tupd: TToolButton;
|
||
Tdel: TToolButton;
|
||
TOK: TToolButton;
|
||
Tclose: TToolButton;
|
||
Panel4: TPanel;
|
||
ToolButton1: TToolButton;
|
||
Label9: TLabel;
|
||
Label10: TLabel;
|
||
LabelCaption: TEdit;
|
||
LabelType: TRTComboBox;
|
||
ADOQueryLabel: TClientDataSet;
|
||
cxGrid1: TcxGrid;
|
||
tv1: TcxGridDBTableView;
|
||
tv1labelId: TcxGridDBColumn;
|
||
tv1labeltype: TcxGridDBColumn;
|
||
tv1labelCaption: TcxGridDBColumn;
|
||
tv1labelFile: TcxGridDBColumn;
|
||
cxGrid1Level1: TcxGridLevel;
|
||
procedure TcloseClick(Sender: TObject);
|
||
procedure FormCreate(Sender: TObject);
|
||
procedure BtOpenClick(Sender: TObject);
|
||
procedure FormShow(Sender: TObject);
|
||
procedure RMPreview1DblClick(Sender: TObject);
|
||
procedure TaddClick(Sender: TObject);
|
||
procedure TupdClick(Sender: TObject);
|
||
procedure tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
||
procedure TdelClick(Sender: TObject);
|
||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||
procedure FormDestroy(Sender: TObject);
|
||
procedure TOkClick(Sender: TObject);
|
||
procedure tv1DblClick(Sender: TObject);
|
||
procedure ToolButton1Click(Sender: TObject);
|
||
procedure LabelTypeChange(Sender: TObject);
|
||
procedure tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
||
private
|
||
isLoad: Boolean;
|
||
function DeleteData(): Boolean;
|
||
procedure InitWinData();
|
||
procedure InitVarDictionary();
|
||
procedure InitDataSetDictionary();
|
||
procedure InitGrid();
|
||
procedure OpenLabel();
|
||
procedure DoFilter();
|
||
public
|
||
fSelLabelId, LBName, LBInt, SLBName: string;
|
||
fKeyNo: string;
|
||
fchg: Boolean;
|
||
fIsShowModal: Boolean;
|
||
fWinStatus: integer;
|
||
end;
|
||
|
||
var
|
||
frmLabelList: TfrmLabelList;
|
||
|
||
implementation
|
||
|
||
uses
|
||
U_DataLink, U_LabelAdd, U_RTFun;
|
||
{$R *.dfm}
|
||
|
||
procedure TfrmLabelList.DoFilter();
|
||
var
|
||
filterStr: string;
|
||
begin
|
||
filterStr := '';
|
||
|
||
if trim(LabelType.Text) <> '' then
|
||
begin
|
||
filterStr := ' and LabelType like ' + quotedStr('%' + trim(LabelType.Text) + '%');
|
||
end;
|
||
//<2F><><EFBFBD><EFBFBD>
|
||
if trim(LabelCaption.Text) <> '' then
|
||
begin
|
||
filterStr := filterStr + ' and LabelCaption like ' + quotedStr('%' + trim(LabelCaption.Text) + '%');
|
||
end;
|
||
try
|
||
ADOQueryLabel10.DisableControls;
|
||
if trim(filterStr) = '' then
|
||
begin
|
||
ADOQueryLabel.Filtered := false;
|
||
ADOQueryLabel.EnableControls;
|
||
exit;
|
||
end;
|
||
filterStr := trim(RightBStr(filterStr, length(filterStr) - 4));
|
||
with ADOQueryLabel do
|
||
begin
|
||
filtered := false;
|
||
filter := filterStr;
|
||
filtered := true;
|
||
end;
|
||
SDofilter(ADOQueryLabel10, filterStr);
|
||
SCreateCDS(ADOQueryLabel10, ADOQueryLabel);
|
||
SInitCDSData(ADOQueryLabel10, ADOQueryLabel);
|
||
finally
|
||
ADOQueryLabel10.EnableControls;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmLabelList.TcloseClick(Sender: TObject);
|
||
begin
|
||
close;
|
||
end;
|
||
|
||
procedure TfrmLabelList.FormCreate(Sender: TObject);
|
||
begin
|
||
|
||
// ClearWinData(panel3);
|
||
fSelLabelId := '';
|
||
|
||
end;
|
||
|
||
procedure TfrmLabelList.BtOpenClick(Sender: TObject);
|
||
begin
|
||
|
||
end;
|
||
////////////////////////////////////////////////////////////
|
||
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
////////////////////////////////////////////////////////////
|
||
|
||
procedure TfrmLabelList.InitWinData();
|
||
begin
|
||
try
|
||
with ADOQueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select A.* ,B.customName as customNoName');
|
||
sql.Add('from JD_Label A');
|
||
sql.Add('INNER JOIN BC_customer B ON A.customNO=B.customNo');
|
||
sql.Add('WHERE B.customNo=''' + fkeyNo + '''');
|
||
Open;
|
||
if isEmpty then
|
||
begin
|
||
close;
|
||
exit;
|
||
end;
|
||
|
||
// SetWinData(ADOQueryTmp,panel3);
|
||
{
|
||
RMGridReport1.LoadFromBlobField(tblobfield(fieldbyname('labelFile')));
|
||
RMGridReport1.Preview :=RMPreview1;
|
||
RMGridReport1.PrepareReport;
|
||
RMGridReport1.ShowReport ;
|
||
}
|
||
end;
|
||
except
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmLabelList.FormShow(Sender: TObject);
|
||
begin
|
||
if fWinStatus = 1 then
|
||
tok.Visible := false;
|
||
InitGrid();
|
||
if Trim(SLBName) <> '' then
|
||
begin
|
||
ADOQueryLabel.Locate('labelCaption', SLBName, []);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmLabelList.RMPreview1DblClick(Sender: TObject);
|
||
begin
|
||
//btOpen.Click ;
|
||
end;
|
||
////////////////////////////////////////////////////////////
|
||
//
|
||
////////////////////////////////////////////////////////////
|
||
|
||
procedure TfrmLabelList.InitVarDictionary();
|
||
var
|
||
TmpList: Tstrings;
|
||
mm: string;
|
||
i: integer;
|
||
begin
|
||
try
|
||
TmpList := TstringList.Create();
|
||
with ADOQueryTmp do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select distinct ItemType from JC_LabelSetItems ');
|
||
sql.Add('where valid=''Y''');
|
||
Open;
|
||
TmpList.Clear;
|
||
while not Eof do
|
||
begin
|
||
TmpList.Add(trim(fieldByName('ItemType').AsString));
|
||
Next;
|
||
end;
|
||
end;
|
||
finally
|
||
TmpList.Free;
|
||
end;
|
||
end;
|
||
/////////////////////////////////////////////////
|
||
//
|
||
/////////////////////////////////////////////////
|
||
|
||
procedure TfrmLabelList.InitDataSetDictionary();
|
||
begin
|
||
{ with ADOQuery1 do
|
||
begin
|
||
close;
|
||
sql.Clear ;
|
||
sql.Add('exec P_Get_LabelPrintData');
|
||
sql.Add(quotedStr(''));
|
||
sql.Add(','+quotedStr(''));
|
||
sql.Add(','+quotedStr(''));
|
||
OPen;
|
||
end; }
|
||
end;
|
||
|
||
procedure TfrmLabelList.TaddClick(Sender: TObject);
|
||
begin
|
||
try
|
||
frmLabelAdd := TfrmLabelAdd.create(self);
|
||
with frmLabelAdd do
|
||
begin
|
||
if showModal = 1 then
|
||
begin
|
||
fchg := true;
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
finally
|
||
frmLabelAdd.Free;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmLabelList.TupdClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryLabel.IsEmpty then
|
||
exit;
|
||
try
|
||
frmLabelAdd := TfrmLabelAdd.create(self);
|
||
with frmLabelAdd do
|
||
begin
|
||
fKeyNo := ADOQueryLabel.fieldByName('LabelId').AsString;
|
||
fWinstatus := 1;
|
||
if showModal = 1 then
|
||
begin
|
||
fchg := true;
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
finally
|
||
frmLabelAdd.Free;
|
||
end;
|
||
|
||
end;
|
||
/////////////////////////////////////////////
|
||
//
|
||
/////////////////////////////////////////////
|
||
|
||
procedure TfrmLabelList.InitGrid();
|
||
begin
|
||
try
|
||
isLoad := false;
|
||
ADOQueryLabel10.DisableControls;
|
||
with ADOQueryLabel10 do
|
||
begin
|
||
close;
|
||
sql.Clear;
|
||
sql.Add('select * from P_Label');
|
||
sql.Add('where valid=''Y''');
|
||
sql.Add(' order by labelCaption');
|
||
Open;
|
||
end;
|
||
SCreateCDS(ADOQueryLabel10, ADOQueryLabel);
|
||
SInitCDSData(ADOQueryLabel10, ADOQueryLabel);
|
||
finally
|
||
ADOQueryLabel10.EnableControls;
|
||
isLoad := true;
|
||
//DoFilter();
|
||
//OpenLabel();
|
||
end;
|
||
end;
|
||
////////////////////////////////////////////////////////
|
||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD>ǩ<EFBFBD>ļ<EFBFBD>
|
||
////////////////////////////////////////////////////////
|
||
|
||
procedure TfrmLabelList.OpenLabel();
|
||
begin
|
||
if ADOQueryLabel.IsEmpty then
|
||
exit;
|
||
with RMGridReport1 do
|
||
begin
|
||
LoadFromBlobField(tblobfield(ADOQueryLabel.fieldbyname('labelFile')));
|
||
//Preview :=RMPreview1;
|
||
ShowReport;
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmLabelList.tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
|
||
begin
|
||
|
||
end;
|
||
|
||
/////////////////////////////////////////////////////////////
|
||
|
||
function TfrmLabelList.DeleteData(): Boolean;
|
||
begin
|
||
try
|
||
with ADOQueryCmd do
|
||
begin
|
||
close;
|
||
sql.clear;
|
||
sql.Add('delete P_Label');
|
||
sql.Add('where labelId=' + ADOQueryLabel.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(ADOQueryLabel.fieldByName('labelCaption').asString))));
|
||
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
|
||
sql.Add(')');
|
||
execSql;
|
||
end;
|
||
result := true;
|
||
except
|
||
result := false;
|
||
application.MessageBox('ɾ<><C9BE>ʧ<EFBFBD><CAA7>!', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', 0);
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmLabelList.TdelClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryLabel.IsEmpty then
|
||
exit;
|
||
if application.MessageBox('ȷ<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD>˱<EFBFBD>ǩ<EFBFBD><C7A9><EFBFBD><EFBFBD>', '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ', 1) = 2 then
|
||
exit;
|
||
if DeleteData() then
|
||
begin
|
||
fchg := true;
|
||
InitGrid();
|
||
end;
|
||
end;
|
||
|
||
procedure TfrmLabelList.FormClose(Sender: TObject; var Action: TCloseAction);
|
||
begin
|
||
|
||
Action := caFree;
|
||
end;
|
||
|
||
procedure TfrmLabelList.FormDestroy(Sender: TObject);
|
||
begin
|
||
frmLabelList := nil;
|
||
end;
|
||
|
||
procedure TfrmLabelList.TOkClick(Sender: TObject);
|
||
begin
|
||
if ADOQueryLabel.IsEmpty then
|
||
exit;
|
||
LBName := Trim(ADOQueryLabel.fieldbyname('labelCaption').AsString);
|
||
ModalResult := 1;
|
||
end;
|
||
|
||
procedure TfrmLabelList.tv1DblClick(Sender: TObject);
|
||
begin
|
||
TOk.Click;
|
||
end;
|
||
|
||
procedure TfrmLabelList.ToolButton1Click(Sender: TObject);
|
||
begin
|
||
InitGrid();
|
||
end;
|
||
|
||
procedure TfrmLabelList.LabelTypeChange(Sender: TObject);
|
||
begin
|
||
DoFilter();
|
||
end;
|
||
|
||
procedure TfrmLabelList.tv1CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
|
||
begin
|
||
if isLoad then
|
||
OpenLabel();
|
||
end;
|
||
|
||
end.
|
||
|