This commit is contained in:
DESKTOP-E401PHE\Administrator 2025-10-25 10:25:32 +08:00
parent 7738aa2a58
commit 75d7afdabb
20 changed files with 27727 additions and 96 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,296 @@
unit U_ClientPrintRmf;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, ToolWin, ComCtrls, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGrid, DBClient, ADODB, ImgList, StdCtrls, ExtCtrls,
cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, RM_Common, RM_Class,
RM_GridReport, RM_Dataset, RM_E_llPDF, RM_BarCode, RM_e_Graphic, RM_e_Jpeg,
RM_e_Xls, cxContainer, cxMaskEdit, cxDropDownEdit, cxMRUEdit, dxSkinsCore,
dxSkinsDefaultPainters, cxProgressBar, cxButtons, RM_System;
type
TfrmClientPrintRmf = class(TForm)
ADOQueryTemp: TADOQuery;
ADOConnection1: TADOConnection;
ImageList1: TImageList;
RMDB_1: TRMDBDataSet;
RM1: TRMGridReport;
RMDB_2: TRMDBDataSet;
CDS_Label: TClientDataSet;
ADO_Prt: TADOQuery;
RMDB_3: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMJPEGExport1: TRMJPEGExport;
RMBarCodeObject1: TRMBarCodeObject;
ADOQueryCmd: TADOQuery;
ADO_While: TADOQuery;
RMDB_4: TRMDBDataSet;
RMDB_5: TRMDBDataSet;
ADOQueryReport: TADOQuery;
CDS_1: TClientDataSet;
CDS_2: TClientDataSet;
CDS_3: TClientDataSet;
CDS_4: TClientDataSet;
CDS_5: TClientDataSet;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TV1DblClick(Sender: TObject);
private
IsDebug, FPreviewPrint, fIsPreview: Boolean;
FLMType, FLBName, FQrCodeField: string;
FExportFileType, FExportFileName: string;
SqlStr1, SqlStr2, SqlStr3, SqlStr4, SqlStr5: string;
FSuccessfulFun: string;
FparamBlclid: string;
procedure PrintReport();
procedure ExportReport();
procedure GetPrtData(Ado: TADOQuery; Cds: TClientDataSet; SqlStr: string);
procedure InitArgs();
{ Private declarations }
public
FPrintJson: PChar;
FJsonOut: PChar;
DConString, DCode, DName: string;
constructor Create(AOwner: TComponent; JsonArgs: PChar);
{ Public declarations }
end;
var
frmClientPrintRmf: TfrmClientPrintRmf;
implementation
uses
U_RTFun, U_Fun, superobject, U_QrCodeFun;
{$R *.dfm}
constructor TfrmClientPrintRmf.Create(AOwner: TComponent; JsonArgs: PChar);
begin
inherited Create(AOwner);
FPrintJson := JsonArgs;
end;
// 创建二维码存放目录(如果不存在)
procedure TfrmClientPrintRmf.InitArgs;
var
JSONObject, item: ISuperObject;
jsonArray: TSuperArray;
i, loopCount: Integer;
begin
// 解析 JSON 字符串
JSONObject := SO(FPrintJson);
if JSONObject = nil then
begin
Application.MessageBox('PrintJson格式异常!', '提示', 0);
Exit;
end;
// 提取基础字段
fIsPreview := JSONObject.B['IsPreview'];
IsDebug := JSONObject.B['IsDebug'];
FSuccessfulFun := JSONObject.S['SuccessfulFun'];
FLMType := JSONObject.S['LMType'];
FPreviewPrint := JSONObject.B['PreviewPrint'];
FLBName := JSONObject.S['LBName'];
FExportFileType := JSONObject.S['ExportFileType'];
FExportFileName := JSONObject.S['ExportFileName'];
FQrCodeField := JSONObject.S['QrCodeField'];
DConString := JSONObject.S['DConString'];
DCode := JSONObject.S['DCode'];
DName := JSONObject.S['DName'];
// 设置默认导出文件名
if Trim(FExportFileName) = '' then
FExportFileName := FLBName;
// 初始化 SQL 字符串变量
SqlStr1 := '';
SqlStr2 := '';
SqlStr3 := '';
SqlStr4 := '';
SqlStr5 := '';
// 获取并处理 PrtArgs 数组
jsonArray := JSONObject.A['PrtArgs'];
if Assigned(jsonArray) then
begin
// 确定循环次数(最多5个元素)
loopCount := jsonArray.Length;
for i := 0 to loopCount - 1 do
begin
item := jsonArray.O[i];
case i of
0:
SqlStr1 := item.S['SqlStr'];
1:
SqlStr2 := item.S['SqlStr'];
2:
SqlStr3 := item.S['SqlStr'];
3:
SqlStr4 := item.S['SqlStr'];
4:
SqlStr5 := item.S['SqlStr'];
end;
end;
end;
// 设置报表预览按钮
// if FPreviewPrint then
// RM1.PreviewButtons := [rmpbZoom, rmpbLoad, rmpbSave, rmpbPrint, rmpbFind, rmpbPageSetup, rmpbExit, rmpbSaveToXLS, rmpbExport, rmpbNavigator]
// else
// RM1.PreviewButtons := [rmpbZoom, rmpbLoad, rmpbSave, rmpbFind, rmpbPageSetup, rmpbExit, rmpbSaveToXLS, rmpbExport, rmpbNavigator];
end;
procedure TfrmClientPrintRmf.GetPrtData(Ado: TADOQuery; Cds: TClientDataSet; SqlStr: string);
begin
if Trim(SqlStr) = '' then
Exit;
// 执行ADO查询
with Ado do
begin
Close;
SQL.Clear;
SQL.Add(SqlStr);
if IsDebug then
ShowMessage(sql.Text);
Open;
end;
IintCDS(Ado, Cds);
SetQrCodePath(Cds, FQrCodeField);
end;
procedure TfrmClientPrintRmf.ExportReport();
var
fPrintFile, fExportPath: string;
begin
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + FLBName + '.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RMVariables['LBPrtCode'] := dcode;
RMVariables['LBPrtName'] := dname;
fExportPath := ExtractFilePath(Application.ExeName) + FExportFileName + '.' + FExportFileType;
if not DirectoryExists(ExtractFileDir(fExportPath)) then
CreateDir(ExtractFileDir(fExportPath));
RM1.PrepareReport; //直接导出
// if FExportFileType = 'pdf' then
// RM1.ExportTo(RMllPDFExport1, fExportPath)
// else
RM1.ExportTo(RMXLSExport1, fExportPath);
FJsonOut := '{"success":true,"message":"导出成功!"}';
end
else
begin
FJsonOut := '{"success":false,"message":"报表文件没找到!"}';
end;
end;
procedure TfrmClientPrintRmf.PrintReport();
var
fPrintFile: string;
begin
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + FLBName + '.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
// RM1.DefaultCopies := StrToIntDef(ComboBox1.Text, 1);
RMVariables['LBPrtCode'] := dcode;
RMVariables['LBPrtName'] := dname;
if fIsPreview then
RM1.ShowReport
else
RM1.PrintReport;
FJsonOut := '{"success":true,"message":"打印成功!"}';
end
else
begin
FJsonOut := '{"success":false,"message":"报表文件没找到!"}';
end;
end;
procedure TfrmClientPrintRmf.FormCreate(Sender: TObject);
begin
FPreviewPrint := True;
InitArgs();
with ADOConnection1 do
begin
Connected := false;
ConnectionString := DConString;
Connected := true;
end;
// 导出文件操作(保持不变)
ExportFtErpFile(FLBName + '.rmf', ADOQueryReport);
EnsureQrCodeDirectory();
ClearQrCodeDirectory();
end;
procedure TfrmClientPrintRmf.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cafree;
end;
procedure TfrmClientPrintRmf.FormShow(Sender: TObject);
begin
if flbName = '' then
begin
FJsonOut := '{"success":false,"message":"未传入打印标签!"}';
self.Close;
exit;
end;
if SqlStr1 = '' then
begin
FJsonOut := '{"success":false,"message":"未传入打印语句!"}';
self.Close;
exit;
end;
GetPrtData(ADO_Prt, CDS_1, SqlStr1);
GetPrtData(ADO_Prt, CDS_2, SqlStr2);
GetPrtData(ADO_Prt, CDS_3, SqlStr3);
GetPrtData(ADO_Prt, CDS_4, SqlStr4);
GetPrtData(ADO_Prt, CDS_5, SqlStr5);
if FExportFileType = '' then
begin
PrintReport();
end
else
ExportReport();
self.Close;
end;
procedure TfrmClientPrintRmf.TV1DblClick(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmClientPrintRmf.FormDestroy(Sender: TObject);
begin
frmClientPrintRmf := nil;
end;
end.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,398 @@
unit U_LabelMapSet;
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, cxPC, cxCheckComboBox, cxDropDownEdit, Menus, RM_e_Xls,
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu,
dxSkinsCore, dxSkinsDefaultPainters, cxContainer, dxSkinBlack, dxSkinBlue,
dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinValentine, dxSkinVS2010,
dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter, ImgList;
type
TfrmLabelMapSet = class(Tform)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_1: TDataSource;
CDS_1: TClientDataSet;
Panel1: TPanel;
v2Column8: TcxGridDBColumn;
Label1: TLabel;
v2Column12: TcxGridDBColumn;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
Label2: TLabel;
v2Column1: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
ToolButton1: TToolButton;
Tv1Column2: TcxGridDBColumn;
ADOConnection1: TADOConnection;
cxGrid2: TcxGrid;
TV2: TcxGridDBTableView;
cxGridLevel2: TcxGridLevel;
DS_2: TDataSource;
ToolBar2: TToolBar;
ToolButton12: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton3: TToolButton;
ADO_2: TADOQuery;
PM_2: TPopupMenu;
N3: TMenuItem;
Tv1Column3: TcxGridDBColumn;
LMName: TcxTextEdit;
LMType: TcxTextEdit;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
cxGridPopupMenu1: TcxGridPopupMenu;
ThreeImgList: TImageList;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure v2Column8PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ToolButton12Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure TextEdit(Sender: TObject);
procedure LMNamePropertiesChange(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
procedure Getfields(MSql: Integer);
procedure InitAdo(Ado: TADOQuery; IsSql: Boolean; LMSql, FFiltration: string);
public
IsSql1, IsSql2, IsSql3, IsSql4, IsSql5: Boolean;
FLMType: string;
FFiltration1, FFiltration2, FFiltration3, FFiltration4, FFiltration5: string;
{ Public declarations }
end;
var
frmLabelMapSet: TfrmLabelMapSet;
implementation
uses
U_DataLink, U_RTFun, superobject;
{$R *.dfm}
procedure TfrmLabelMapSet.InitAdo(Ado: TADOQuery; IsSql: Boolean; LMSql, FFiltration: string);
begin
with Ado do
begin
Close;
sql.Clear;
if IsSql then
begin
sql.add('exec ' + trim(CDS_1.fieldbyname(LMSql).AsString));
sql.add(FFiltration);
end
else
begin
sql.add('exec ' + trim(CDS_1.fieldbyname(LMSql).AsString) + ' ' + quotedstr(Trim(FFiltration)));
end;
Open;
end;
TV2.BeginUpdate();
TV2.ClearItems; //清空数据
(TV2.DataController as IcxCustomGridDataController).DeleteAllItems; //删除所有列
(TV2.DataController as IcxCustomGridDataController).CreateAllItems(false); //创建数据源中的所有列
TV2.EndUpdate;
TV2.ApplyBestFit; //让列宽自适应 .BestFitMaxWidth;
end;
procedure TfrmLabelMapSet.Getfields(MSql: Integer);
begin
case MSql of
1:
begin
if trim(CDS_1.fieldbyname('LMSql1').AsString) <> '' then
InitAdo(ADO_2, IsSql1, 'LMSql1', FFiltration1);
end;
2:
begin
if trim(CDS_1.fieldbyname('LMSql2').AsString) <> '' then
InitAdo(ADO_2, IsSql2, 'LMSql2', FFiltration2);
end;
3:
begin
if trim(CDS_1.fieldbyname('LMSql3').AsString) <> '' then
InitAdo(ADO_2, IsSql3, 'LMSql3', FFiltration3);
end;
4:
begin
if trim(CDS_1.fieldbyname('LMSql4').AsString) <> '' then
InitAdo(ADO_2, IsSql4, 'LMSql4', FFiltration4);
end;
5:
begin
if trim(CDS_1.fieldbyname('LMSql5').AsString) <> '' then
InitAdo(ADO_2, IsSql5, 'LMSql5', FFiltration5);
end;
end;
end;
procedure TfrmLabelMapSet.InitGrid();
begin
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' select A.* from BS_Label_Map A ');
sql.Add(' where LMType=' + quotedstr(FLMType));
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_1);
SInitCDSData20(ADOQueryMain, CDS_1);
finally
ADOQueryMain.EnableControls;
ToolButton2.Click;
end;
end;
procedure TfrmLabelMapSet.LMNamePropertiesChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmLabelMapSet.FormDestroy(Sender: TObject);
begin
frmLabelMapSet := nil;
end;
procedure TfrmLabelMapSet.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmLabelMapSet.FormCreate(Sender: TObject);
begin
try
with ADOConnection1 do
begin
Connected := false;
ConnectionString := DConString;
Connected := true;
end;
// ADOQueryBaseCmd.Connection := ADOConnection1;
// ADOQueryBaseTemp.Connection := ADOConnection1;
except
end;
end;
procedure TfrmLabelMapSet.TBCloseClick(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmLabelMapSet.FormShow(Sender: TObject);
begin
ReadCxGrid(Trim(Self.Caption), Tv1, '标签管理');
InitGrid();
end;
procedure TfrmLabelMapSet.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmLabelMapSet.ToolButton12Click(Sender: TObject);
begin
Getfields(1);
end;
procedure TfrmLabelMapSet.ToolButton1Click(Sender: TObject);
begin
WriteCxGrid(Trim(Self.Caption), Tv1, '标签管理');
end;
procedure TfrmLabelMapSet.ToolButton2Click(Sender: TObject);
var
sql: string;
begin
if ADOQueryMain.Active then
begin
sql := SGetFilters(Panel1, 1, 2);
SDofilter(ADOQueryMain, sql);
SCreateCDS20(ADOQueryMain, CDS_1);
SInitCDSData20(ADOQueryMain, CDS_1);
end;
end;
procedure TfrmLabelMapSet.ToolButton3Click(Sender: TObject);
begin
TcxGridToExcel('sql字段', cxgrid2);
end;
procedure TfrmLabelMapSet.cxTabControl1Change(Sender: TObject);
begin
InitGrid;
end;
procedure TfrmLabelMapSet.v2Column8PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_1 do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate BS_Label_Map ');
sql.Add(' Set ' + FFieldName + '=''' + Trim(mvalue) + '''');
sql.Add(' , Editer=''' + Trim(DName) + '''');
sql.Add(' , Edittime=getdate()');
sql.Add(' where LMID=' + quotedstr(CDS_1.fieldbyname('LMID').AsString));
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
tv1.Controller.EditingController.ShowEdit();
except
tv1.Controller.EditingController.ShowEdit();
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!', '提示', 0);
end
end;
procedure TfrmLabelMapSet.ToolButton4Click(Sender: TObject);
begin
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into BS_Label_Map(LMType,Filler) values(' + quotedstr(Trim(FLMType)) + ',' + quotedstr(Trim(dname)) + ')');
ExecSQL;
end;
InitGrid();
end;
procedure TfrmLabelMapSet.ToolButton5Click(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then
Exit;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete BS_Label_Map where LMID=' + QuotedStr(CDS_1.FieldByName('LMID').AsString));
ExecSQL;
end;
CDS_1.Delete;
end;
procedure TfrmLabelMapSet.ToolButton6Click(Sender: TObject);
begin
Getfields(2);
end;
procedure TfrmLabelMapSet.ToolButton7Click(Sender: TObject);
begin
Getfields(3);
end;
procedure TfrmLabelMapSet.ToolButton8Click(Sender: TObject);
begin
Getfields(4);
end;
procedure TfrmLabelMapSet.ToolButton9Click(Sender: TObject);
begin
Getfields(5);
end;
procedure TfrmLabelMapSet.TextEdit(Sender: TObject);
var
mvalue, FFieldName: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_1 do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('UPdate BS_Label_Map ');
sql.Add(' Set ' + FFieldName + '=' + Trim(mvalue));
sql.Add(' , Editer=''' + Trim(DName) + '''');
sql.Add(' , Edittime=getdate()');
sql.Add(' where LMID=' + quotedstr(CDS_1.fieldbyname('LMID').AsString));
ExecSQL;
end;
ADOQueryCmd.Connection.CommitTrans;
tv1.Controller.EditingController.ShowEdit();
except
tv1.Controller.EditingController.ShowEdit();
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox('保存失败!', '提示', 0);
end
end;
end.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,423 @@
unit U_LabelPrint;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
Printers, cxEdit, DB, cxDBData, ToolWin, ComCtrls, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls,
cxGridCustomView, cxGrid, DBClient, ADODB, ImgList, StdCtrls, ExtCtrls,
cxTextEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, RM_Common, RM_Class,
RM_GridReport, RM_Dataset, RM_E_llPDF, RM_BarCode, RM_e_Graphic, RM_e_Jpeg,
RM_e_Xls, cxContainer, cxMaskEdit, cxDropDownEdit, cxMRUEdit, dxSkinsCore,
dxSkinsDefaultPainters, cxProgressBar, cxButtons, dxSkinBlack, dxSkinBlue,
dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinValentine, dxSkinVS2010,
dxSkinWhiteprint, dxSkinXmas2008Blue, RM_System, Buttons;
type
TfrmLabelPrint = class(TForm)
ADOQueryTemp: TADOQuery;
ADOConnection1: TADOConnection;
Panel1: TPanel;
ImageList1: TImageList;
RMDB_1: TRMDBDataSet;
RM1: TRMGridReport;
RMDB_2: TRMDBDataSet;
CDS_Label: TClientDataSet;
ADO_Prt: TADOQuery;
btnShow: TSpeedButton;
RMDB_3: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
RMJPEGExport1: TRMJPEGExport;
RMBarCodeObject1: TRMBarCodeObject;
CheckBox1: TCheckBox;
Label1: TLabel;
cbbLab: TcxMRUEdit;
CheckBox2: TCheckBox;
ADOQueryCmd: TADOQuery;
ADO_While: TADOQuery;
ComboBox1: TcxComboBox;
btnPrint: TSpeedButton;
RMDB_4: TRMDBDataSet;
RMDB_5: TRMDBDataSet;
CDS_1: TClientDataSet;
CDS_2: TClientDataSet;
CDS_3: TClientDataSet;
CDS_4: TClientDataSet;
CDS_5: TClientDataSet;
ComboBox_Print: TComboBox;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TV1DblClick(Sender: TObject);
procedure btnPrintClick(Sender: TObject);
procedure btnShowClick(Sender: TObject);
procedure cbbLabPropertiesButtonClick(Sender: TObject);
private
IsDebug, FPreviewPrint, IsSql1, IsSql2, IsSql3, IsSql4, IsSql5: Boolean;
FLMType, FQrCodeField: string;
FFiltration1, FFiltration2, FFiltration3, FFiltration4, FFiltration5: string;
FSuccessfulFun: string;
FparamBlclid: string;
procedure InitGrid();
procedure PrintLabel(MIsShow: Boolean);
procedure GetPrtData(Ado: TADOQuery; Cds: TClientDataSet; IsSql: Boolean; LMSql, FFiltration: string);
procedure InitArgs();
{ Private declarations }
public
FPrintJson: PChar;
FJsonOut: PChar;
DConString, DCode, DName: string;
constructor Create(AOwner: TComponent; JsonArgs: PChar);
{ Public declarations }
end;
var
frmLabelPrint: TfrmLabelPrint;
implementation
uses
U_RTFun, U_LabelMapSet, superobject, U_QrCodeFun, U_Fun ;
{$R *.dfm}
constructor TfrmLabelPrint.Create(AOwner: TComponent; JsonArgs: PChar);
begin
inherited Create(AOwner);
FPrintJson := JsonArgs;
// fFormID := mFormID;
// fBLCLID := recid;
// if CopyNumber > 0 then
// fCopyNumber := CopyNumber
// else
// fCopyNumber := 1;
// fIsPreview := IsPreview;
// fprinterIndex := printerIndex;
// fexportFileType := exportFileType;
end;
procedure TfrmLabelPrint.InitArgs;
var
JSONObject, item: ISuperObject; // SuperObject 接口类型
jsonArray: TSuperArray;
i: Integer;
begin
// 解析 JSON 字符串
JSONObject := SO(FPrintJson);
if JSONObject = nil then
begin
Application.MessageBox('PrintJson格式异常!', '提示', 0);
Exit;
end;
// 提取基础字段
IsDebug := JSONObject.B['IsDebug'];
FSuccessfulFun := JSONObject.S['SuccessfulFun'];
FLMType := JSONObject.S['LMType'];
FPreviewPrint := JSONObject.B['PreviewPrint'];
FQrCodeField := JSONObject.S['QrCodeField'];
DConString := JSONObject.S['DConString'];
DCode := JSONObject.S['DCode'];
DName := JSONObject.S['DName'];
// 获取数组
jsonArray := JSONObject.A['PrtArgs'];
if jsonArray = nil then // 处理数组不存在的情况
begin
Application.MessageBox('PrtArgs数组缺失!', '提示', 0);
Exit;
end;
// 初始化变量避免未定义行为
FFiltration1 := '';
FFiltration2 := '';
FFiltration3 := '';
FFiltration4 := '';
FFiltration5 := '';
// 遍历JSON数组最多处理5个元素)
for i := 0 to jsonArray.Length - 1 do
begin
item := jsonArray.O[i];
case i of
0:
begin
IsSql1 := item.B['IsSql'];
FFiltration1 := item.S['Filtration'];
end;
1:
begin
IsSql2 := item.B['IsSql'];
FFiltration2 := item.S['Filtration'];
end;
2:
begin
IsSql3 := item.B['IsSql'];
FFiltration3 := item.S['Filtration'];
end;
3:
begin
IsSql4 := item.B['IsSql'];
FFiltration4 := item.S['Filtration'];
end;
4:
begin
IsSql5 := item.B['IsSql'];
FFiltration5 := item.S['Filtration'];
end;
end;
end;
// 空值回退逻辑
if Trim(FFiltration2) = '' then
begin
IsSql2 := IsSql1;
FFiltration2 := FFiltration1;
end;
if Trim(FFiltration3) = '' then
begin
IsSql3 := IsSql1;
FFiltration3 := FFiltration1;
end;
if Trim(FFiltration4) = '' then
begin
IsSql4 := IsSql1;
FFiltration4 := FFiltration1;
end;
if Trim(FFiltration5) = '' then
begin
IsSql5 := IsSql1;
FFiltration5 := FFiltration1;
end;
end;
procedure TfrmLabelPrint.GetPrtData(Ado: TADOQuery; Cds: TClientDataSet; IsSql: Boolean; LMSql, FFiltration: string);
begin
with Ado do
begin
Close;
sql.Clear;
if IsSql then
begin
sql.add('exec ' + trim(CDS_Label.fieldbyname(LMSql).AsString));
sql.add(FFiltration);
end
else
begin
sql.add('exec ' + trim(CDS_Label.fieldbyname(LMSql).AsString) + ' ' + quotedstr(Trim(FFiltration)));
end;
if IsDebug then
ShowMessage(sql.Text);
Open;
end;
IintCDS(Ado, Cds);
SetQrCodePath(Cds, FQrCodeField);
end;
procedure TfrmLabelPrint.PrintLabel(MIsShow: Boolean);
var
fPrintFile, fPrintFile10, FMainID, LBName: string;
begin
if CDS_Label.IsEmpty then
begin
Application.MessageBox(PChar('类型' + FLMType + '没有设置标签!'), '提示', 0);
Exit;
end;
RMJPEGExport1.ShowDialog := CheckBox2.Checked;
RMXLSExport1.ShowDialog := CheckBox2.Checked;
RM1.ShowPrintDialog := CheckBox1.Checked;
LBName := cbbLab.text;
ExportFtErpFile(LBName + '.rmf', ADOQueryTemp);
if CDS_Label.Locate('LMName', LBName, []) then
begin
if trim(CDS_Label.fieldbyname('LMSql1').AsString) <> '' then
GetPrtData(ADO_Prt, CDS_1, IsSql1, 'LMSql1', FFiltration1);
if trim(CDS_Label.fieldbyname('LMSql2').AsString) <> '' then
GetPrtData(ADO_Prt, CDS_2, IsSql2, 'LMSql2', FFiltration2);
if trim(CDS_Label.fieldbyname('LMSql3').AsString) <> '' then
GetPrtData(ADO_Prt, CDS_3, IsSql3, 'LMSql3', FFiltration3);
if trim(CDS_Label.fieldbyname('LMSql4').AsString) <> '' then
GetPrtData(ADO_Prt, CDS_4, IsSql4, 'LMSql4', FFiltration4);
if trim(CDS_Label.fieldbyname('LMSql5').AsString) <> '' then
GetPrtData(ADO_Prt, CDS_5, IsSql5, 'LMSql5', FFiltration5);
end;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + LBName + '.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.DefaultCopies := StrToIntDef(ComboBox1.Text, 1);
RMVariables['LBPrtCode'] := dcode;
RMVariables['LBPrtName'] := dname;
if MIsShow then
RM1.ShowReport
else
RM1.PrintReportL(ComboBox_Print.Text);
;
end
else
begin
Application.MessageBox(PChar('没有找' + fPrintFile), '提示', 0);
end;
end;
procedure TfrmLabelPrint.FormCreate(Sender: TObject);
begin
FPreviewPrint := True;
ComboBox_Print.Items.Assign(Printer.Printers);
// ComboBox2.ItemIndex := 0; //指向第一台打印机
ComboBox_Print.Items.Add('默认打印机');
ComboBox_Print.ItemIndex := Self.ComboBox_Print.Items.IndexOf(trim('默认打印机'));
InitArgs();
with ADOConnection1 do
begin
Connected := false;
ConnectionString := DConString;
Connected := true;
end;
EnsureQrCodeDirectory();
ClearQrCodeDirectory();
end;
procedure TfrmLabelPrint.btnPrintClick(Sender: TObject);
begin
PrintLabel(False);
FJsonOut := '{"success":true}';
ModalResult := 1;
end;
procedure TfrmLabelPrint.btnShowClick(Sender: TObject);
begin
PrintLabel(true);
FJsonOut := '{"success":true,"ShowFlag":true}';
end;
procedure TfrmLabelPrint.cbbLabPropertiesButtonClick(Sender: TObject);
begin
try
frmLabelMapSet := TfrmLabelMapSet.Create(Application);
with frmLabelMapSet do
begin
IsSql1 := self.IsSql1;
IsSql2 := self.IsSql2;
IsSql3 := self.IsSql3;
IsSql4 := self.IsSql4;
IsSql5 := self.IsSql5;
FFiltration1 := self.FFiltration1;
FFiltration2 := self.FFiltration2;
FFiltration3 := self.FFiltration3;
FFiltration4 := self.FFiltration4;
FFiltration5 := self.FFiltration5;
FLMType := self.FLMType;
if ShowModal = 1 then
begin
Self.InitGrid();
end;
end;
finally
frmLabelMapSet.Free;
end;
end;
procedure TfrmLabelPrint.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cahide;
end;
procedure TfrmLabelPrint.InitGrid();
begin
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select LMName name from BS_Label_Map where LMType=' + QuotedStr(TRIM(FLMType)));
sql.Add(' order by SerialNo ');
Open;
if isEmpty then
begin
exit;
end;
cbbLab.Properties.LookupItems.Clear;
while not Eof do
begin
cbbLab.Properties.LookupItems.Add(Trim(fieldByName('Name').AsString));
Next;
end;
cbbLab.ItemIndex := 0;
end;
with ADOQueryTemp do
begin
Filtered := False;
Close;
sql.Clear;
Sql.Add('select * from BS_Label_Map where LMType=' + QuotedStr(TRIM(FLMType)));
Open;
end;
SCreateCDS20(ADOQueryTemp, CDS_Label);
SInitCDSData20(ADOQueryTemp, CDS_Label);
if CDS_Label.IsEmpty then
begin
Application.MessageBox(PChar('类型' + FLMType + '没有设置标签!'), '提示', 0);
Exit;
end;
end;
procedure TfrmLabelPrint.FormShow(Sender: TObject);
begin
// if FPreviewPrint then
// RM1.PreviewButtons := [rmpbZoom, rmpbLoad, rmpbSave, rmpbPrint, rmpbFind, rmpbPageSetup, rmpbExit, rmpbSaveToXLS, rmpbExport, rmpbNavigator]
// else
// RM1.PreviewButtons := [rmpbZoom, rmpbLoad, rmpbSave, rmpbFind, rmpbPageSetup, rmpbExit, rmpbSaveToXLS, rmpbExport, rmpbNavigator];
// ComboBox_Print.Properties.Items.Assign(printer.Printers);
InitGrid();
end;
procedure TfrmLabelPrint.TV1DblClick(Sender: TObject);
begin
ModalResult := 1;
end;
procedure TfrmLabelPrint.FormDestroy(Sender: TObject);
begin
frmLabelPrint := nil;
end;
end.

View File

@ -0,0 +1,38 @@
unit U_LabelPrintFun;
interface
uses
Forms, U_LabelPrint, U_ClientPrintRmf;
function FormPrint(App: Tapplication; JsonArgs: PChar): PChar;
function FunPrint(App: Tapplication; JsonArgs: PChar): PChar;
implementation
//'{ "LMType": "LMType","PreviewPrint": true,"DConString": "'+DConString+'","DCode": "'+DCode+'","DName": "'+DName+'", "PrtArgs": [ { "IsSql": true, "Filtration": "Filtration1" }] }';
function FormPrint(App: Tapplication; JsonArgs: PChar): PChar;
begin
with TfrmLabelPrint.Create(App, PChar(JsonArgs)) do
begin
if ShowModal = 1 then
Result := FJsonOut
else
Result := FJsonOut;
end;
end;
// '{ "LBName": "²âÊÔ","QrCodeField": "ssid","DConString": "'+DConString+'","DCode": "'+DCode+'","DName": "'+DName+'","IsPreview": true,"printerIndex": 0,"ExportFileType": "", "PrtArgs": [ {"SqlStr": "EXEC p_test ''22'' " }] }';
function FunPrint(App: Tapplication; JsonArgs: PChar): PChar;
begin
with TfrmClientPrintRmf.Create(App, JsonArgs) do
begin
Show;
Result := FJsonOut;
end;
end;
end.

View File

@ -0,0 +1,236 @@
unit U_QrCodeFun;
interface
uses
Windows, SysUtils, DB, Controls, Forms, DBClient, ADODB, ExtCtrls,
RM_GridReport, RM_Dataset, RM_E_llPDF, RM_BarCode, RM_e_Graphic, RM_e_Jpeg,
RM_e_Xls, RM_System;
type
TMakebar = procedure(ucData: pchar; nDataLen: integer; nErrLevel: integer; nMask: integer; nBarEdition: integer; szBmpFileName: pchar; nScale: integer); stdcall;
TMixtext = procedure(szSrcBmpFileName: PChar; szDstBmpFileName: PChar; sztext: PChar; fontsize, txtheight, hmargin, vmargin, txtcntoneline: integer); stdcall;
function EnsureQrCodeDirectory: Boolean;
function ClearQrCodeDirectory: Boolean;
procedure IintCDS(SADOQry: TADOQuery; mClientDataset: TclientDataSet);
function GetQrCode(Txt: string): string;
procedure SetQrCodePath(Cds: TclientDataSet; FQrCodeField: string);
implementation
procedure SetQrCodePath(Cds: TClientDataSet; FQrCodeField: string);
var
QrCodeIdField: TField;
CurrentQrCodeId, LastQrCodeId, LastQrCodePath: string;
begin
// 检查二维码ID字段是否存在
QrCodeIdField := Cds.FindField(FQrCodeField);
if QrCodeIdField = nil then
Exit;
// 初始化变量
LastQrCodeId := '';
LastQrCodePath := '';
with Cds do
begin
DisableControls;
try
First;
while not Eof do
begin
CurrentQrCodeId := QrCodeIdField.AsString;
// 如果当前内容与上一条相同,则复用二维码路径
if (CurrentQrCodeId = LastQrCodeId) and (LastQrCodePath <> '') then
begin
Edit;
FieldByName('QRBARCODE').AsString := LastQrCodePath;
Post;
end
else
begin
// 生成新的二维码并记录路径
Edit;
LastQrCodePath := GetQrCode(CurrentQrCodeId);
FieldByName('QRBARCODE').AsString := LastQrCodePath;
Post;
LastQrCodeId := CurrentQrCodeId;
end;
Next;
end;
finally
First;
EnableControls;
end;
end;
end;
function EnsureQrCodeDirectory: Boolean;
var
QrCodeDir: string;
begin
Result := False;
QrCodeDir := ExtractFilePath(Application.ExeName) + 'QrCode\';
try
if not DirectoryExists(QrCodeDir) then
begin
if not ForceDirectories(QrCodeDir) then
raise Exception.Create('无法创建二维码目录: ' + QrCodeDir);
end;
Result := True;
except
on E: Exception do
begin
Application.MessageBox(PChar('创建二维码目录失败: ' + E.Message), '错误', MB_ICONERROR);
end;
end;
end;
// 清空二维码目录中的所有文件
function ClearQrCodeDirectory: Boolean;
var
QrCodeDir: string;
SearchRec: TSearchRec;
begin
Result := False;
QrCodeDir := ExtractFilePath(Application.ExeName) + 'QrCode\';
try
if not DirectoryExists(QrCodeDir) then
Exit; // 目录不存在视为成功
// 删除目录下所有.bmp文件
if FindFirst(QrCodeDir + '*.bmp', faAnyFile, SearchRec) = 0 then
begin
repeat
DeleteFile(QrCodeDir + SearchRec.Name);
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
Result := True;
except
on E: Exception do
begin
Application.MessageBox(PChar('清空二维码目录失败: ' + E.Message), '错误', MB_ICONERROR);
end;
end;
end;
procedure IintCDS(SADOQry: TADOQuery; mClientDataset: TclientDataSet);
var
i, k: integer;
mfieldName: string;
mSize: integer;
begin
mfieldName := '';
mClientDataset.FieldDefs.Clear;
with SADOQry do
begin
for i := 0 to fieldCount - 1 do
begin
if (Fields[i].DataType = ftString) and (Fields[i].Size = 0) then
begin
mSize := 1;
end
else
mSize := Fields[i].Size;
mfieldName := trim(fields[i].FieldName);
mClientDataset.FieldDefs.Add(mfieldName, Fields[i].DataType, mSize);
end;
end;
mClientDataset.FieldDefs.Add('QRBARCODE', ftString, 200);
mClientDataset.Close;
mClientDataset.CreateDataSet;
if SADOQry.IsEmpty then
exit;
SADOQry.first;
k := 1;
try
mClientDataset.DisableControls;
mClientDataset.Filtered := false;
while not SADOQry.Eof do
begin
with mClientDataset do
begin
Append;
for i := 0 to SADOQry.FieldCount - 1 do
begin
fields[i].value := SADOQry.Fields[i].Value;
end;
fieldByName('QRBARCODE').value := '';
inc(k);
Post;
end;
SADOQry.Next;
end;
if not mClientDataset.IsEmpty then
begin
mClientDataset.First;
end;
finally
mClientDataset.EnableControls;
end;
end;
function GetQrCode(Txt: string): string;
var
fPrintFile: string;
fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
CurRow: Integer;
TimeStamp: string;
begin
Result := ''; // 初始化返回路径
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
if Moudle = 0 then
RaiseLastOSError;
@Makebar := GetProcAddress(Moudle, 'Make');
if not Assigned(Makebar) then
raise Exception.Create('找不到 Make 函数');
@Mixtext := GetProcAddress(Moudle, 'MixText');
if not Assigned(Mixtext) then
raise Exception.Create('找不到 MixText 函数');
// 生成时间戳文件名 (格式: YYYYMMDD_HHMMSSZZZ)
Sleep(10);
TimeStamp := FormatDateTime('yyyymmdd_hhnnsszzz', Now) + '_' + IntToStr(Random(1000));
fImagePath := ExtractFilePath(Application.ExeName) + 'QrCode\' + TimeStamp + '.bmp';
// 确保目录存在
if not DirectoryExists(ExtractFilePath(fImagePath)) then
ForceDirectories(ExtractFilePath(fImagePath));
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
Result := fImagePath; // 返回生成的文件路径
except
on E: Exception do
begin
application.MessageBox(PChar('条形码生成失败:' + E.Message), '错误', MB_ICONERROR);
end;
end;
end;
end.

View File

@ -1,6 +1,6 @@
object frmJCDJLIST: TfrmJCDJLIST object frmJCDJLIST: TfrmJCDJLIST
Left = 192 Left = 781
Top = 48 Top = 530
Width = 1382 Width = 1382
Height = 754 Height = 754
Caption = #26816#27979#30331#35760 Caption = #26816#27979#30331#35760
@ -20,7 +20,7 @@ object frmJCDJLIST: TfrmJCDJLIST
object ToolBar1: TToolBar object ToolBar1: TToolBar
Left = 0 Left = 0
Top = 0 Top = 0
Width = 1366 Width = 1374
Height = 31 Height = 31
ButtonHeight = 30 ButtonHeight = 30
ButtonWidth = 83 ButtonWidth = 83
@ -128,7 +128,7 @@ object frmJCDJLIST: TfrmJCDJLIST
object Panel1: TPanel object Panel1: TPanel
Left = 0 Left = 0
Top = 31 Top = 31
Width = 1366 Width = 1374
Height = 50 Height = 50
Align = alTop Align = alTop
BevelInner = bvRaised BevelInner = bvRaised
@ -235,8 +235,8 @@ object frmJCDJLIST: TfrmJCDJLIST
object cxGrid2: TcxGrid object cxGrid2: TcxGrid
Left = 0 Left = 0
Top = 103 Top = 103
Width = 1366 Width = 1374
Height = 612 Height = 620
Align = alClient Align = alClient
TabOrder = 2 TabOrder = 2
object Tv2: TcxGridDBTableView object Tv2: TcxGridDBTableView
@ -310,6 +310,12 @@ object frmJCDJLIST: TfrmJCDJLIST
HeaderAlignmentHorz = taCenter HeaderAlignmentHorz = taCenter
Width = 190 Width = 190
end end
object Tv2Filler: TcxGridDBColumn
Caption = #25805#20316#20154
DataBinding.FieldName = 'Filler'
HeaderAlignmentHorz = taCenter
Width = 70
end
end end
object cxGridLevel1: TcxGridLevel object cxGridLevel1: TcxGridLevel
GridView = Tv2 GridView = Tv2
@ -318,7 +324,7 @@ object frmJCDJLIST: TfrmJCDJLIST
object cxTabControl1: TcxTabControl object cxTabControl1: TcxTabControl
Left = 0 Left = 0
Top = 81 Top = 81
Width = 1366 Width = 1374
Height = 22 Height = 22
Align = alTop Align = alTop
TabOrder = 3 TabOrder = 3
@ -332,7 +338,7 @@ object frmJCDJLIST: TfrmJCDJLIST
#20840#37096) #20840#37096)
OnChange = cxTabControl1Change OnChange = cxTabControl1Change
ClientRectBottom = 22 ClientRectBottom = 22
ClientRectRight = 1366 ClientRectRight = 1374
ClientRectTop = 19 ClientRectTop = 19
end end
object ADOQueryTemp: TADOQuery object ADOQueryTemp: TADOQuery

View File

@ -13,7 +13,20 @@ uses
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection, RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit, IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxTextEdit, cxPC, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxBarBuiltInMenu; dxBarBuiltInMenu, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint,
dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide,
dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters,
dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue,
dxSkinscxPCPainter, DateUtils;
type type
TfrmJCDJLIST = class(TForm) TfrmJCDJLIST = class(TForm)
@ -63,6 +76,7 @@ type
Tv2Column2: TcxGridDBColumn; Tv2Column2: TcxGridDBColumn;
Label1: TLabel; Label1: TLabel;
C_Code: TEdit; C_Code: TEdit;
Tv2Filler: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject); procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject); procedure TBCloseClick(Sender: TObject);
@ -319,8 +333,8 @@ procedure TfrmJCDJLIST.FormShow(Sender: TObject);
begin begin
ReadCxGrid(Self.Caption + Tv2.Name, Tv2); ReadCxGrid(Self.Caption + Tv2.Name, Tv2);
Enddate.DateTime := SGetServerDate(ADOQueryTemp); Enddate.DateTime := SGetServerDate(ADOQueryTemp);
begdate.DateTime := Enddate.DateTime; // ÉèÖÿªÊ¼ÈÕÆÚΪһÄêǰ
begdate.DateTime := IncYear(Enddate.DateTime, -1);
SetStatus(); SetStatus();
initGrid(); initGrid();
end; end;

View File

@ -22,7 +22,7 @@ object frmContractDCList: TfrmContractDCList
Left = 0 Left = 0
Top = 0 Top = 0
Width = 1140 Width = 1140
Height = 62 Height = 92
AutoSize = True AutoSize = True
ButtonHeight = 30 ButtonHeight = 30
ButtonWidth = 95 ButtonWidth = 95
@ -103,52 +103,52 @@ object frmContractDCList: TfrmContractDCList
Top = 0 Top = 0
Caption = #23457#26680#20154#23450#20041 Caption = #23457#26680#20154#23450#20041
ImageIndex = 76 ImageIndex = 76
Wrap = True
Visible = False Visible = False
OnClick = ToolButton5Click OnClick = ToolButton5Click
end end
object ToolButton4: TToolButton object ToolButton4: TToolButton
Left = 536 Left = 0
Top = 0 Top = 30
AutoSize = True AutoSize = True
Caption = #36865#23457 Caption = #36865#23457
ImageIndex = 6 ImageIndex = 6
OnClick = ToolButton4Click OnClick = ToolButton4Click
end end
object ToolButton9: TToolButton object ToolButton9: TToolButton
Left = 599 Left = 63
Top = 0 Top = 30
AutoSize = True AutoSize = True
Caption = #25764#38144#36865#23457 Caption = #25764#38144#36865#23457
ImageIndex = 7 ImageIndex = 7
OnClick = ToolButton9Click OnClick = ToolButton9Click
end end
object ToolButton10: TToolButton object ToolButton10: TToolButton
Left = 686 Left = 150
Top = 0 Top = 30
AutoSize = True AutoSize = True
Caption = #23457#26680 Caption = #23457#26680
ImageIndex = 16 ImageIndex = 16
OnClick = ToolButton10Click OnClick = ToolButton10Click
end end
object ToolButton11: TToolButton object ToolButton11: TToolButton
Left = 749 Left = 213
Top = 0 Top = 30
AutoSize = True AutoSize = True
Caption = #25764#38144#23457#26680 Caption = #25764#38144#23457#26680
ImageIndex = 17 ImageIndex = 17
OnClick = ToolButton11Click OnClick = ToolButton11Click
end end
object ToolButton13: TToolButton object ToolButton13: TToolButton
Left = 836 Left = 300
Top = 0 Top = 30
AutoSize = True AutoSize = True
Caption = #30830#35748 Caption = #30830#35748
ImageIndex = 16 ImageIndex = 16
Wrap = True
OnClick = ToolButton13Click OnClick = ToolButton13Click
end end
object TBDel: TToolButton object TBDel: TToolButton
Left = 0 Left = 363
Top = 30 Top = 30
AutoSize = True AutoSize = True
Caption = #21024#38500 Caption = #21024#38500
@ -156,7 +156,7 @@ object frmContractDCList: TfrmContractDCList
OnClick = TBDelClick OnClick = TBDelClick
end end
object ToolButton14: TToolButton object ToolButton14: TToolButton
Left = 63 Left = 426
Top = 30 Top = 30
AutoSize = True AutoSize = True
Caption = #21462#28040#30830#35748 Caption = #21462#28040#30830#35748
@ -164,17 +164,18 @@ object frmContractDCList: TfrmContractDCList
OnClick = ToolButton14Click OnClick = ToolButton14Click
end end
object ToolButton8: TToolButton object ToolButton8: TToolButton
Left = 150 Left = 513
Top = 30 Top = 30
AutoSize = True AutoSize = True
Caption = #20462#25913#21407#22240 Caption = #20462#25913#21407#22240
ImageIndex = 25 ImageIndex = 25
Wrap = True
Visible = False Visible = False
OnClick = ToolButton8Click OnClick = ToolButton8Click
end end
object ToolButton6: TToolButton object ToolButton6: TToolButton
Left = 237 Left = 0
Top = 30 Top = 60
AutoSize = True AutoSize = True
Caption = #19978#20256 Caption = #19978#20256
ImageIndex = 8 ImageIndex = 8
@ -182,8 +183,8 @@ object frmContractDCList: TfrmContractDCList
OnClick = ToolButton6Click OnClick = ToolButton6Click
end end
object ToolButton7: TToolButton object ToolButton7: TToolButton
Left = 300 Left = 63
Top = 30 Top = 60
AutoSize = True AutoSize = True
Caption = #19979#36733 Caption = #19979#36733
ImageIndex = 9 ImageIndex = 9
@ -191,40 +192,40 @@ object frmContractDCList: TfrmContractDCList
OnClick = ToolButton7Click OnClick = ToolButton7Click
end end
object TBExport: TToolButton object TBExport: TToolButton
Left = 363 Left = 126
Top = 30 Top = 60
AutoSize = True AutoSize = True
Caption = #23548#20986 Caption = #23548#20986
ImageIndex = 75 ImageIndex = 75
OnClick = TBExportClick OnClick = TBExportClick
end end
object TBPrint: TToolButton object TBPrint: TToolButton
Left = 426 Left = 189
Top = 30 Top = 60
AutoSize = True AutoSize = True
Caption = #25171#21360 Caption = #25171#21360
ImageIndex = 4 ImageIndex = 4
OnClick = TBPrintClick OnClick = TBPrintClick
end end
object ToolButton15: TToolButton object ToolButton15: TToolButton
Left = 489 Left = 252
Top = 30 Top = 60
AutoSize = True AutoSize = True
Caption = #26080#39044#35272#25171#21360 Caption = #26080#39044#35272#25171#21360
ImageIndex = 4 ImageIndex = 4
OnClick = ToolButton15Click OnClick = ToolButton15Click
end end
object ToolButton12: TToolButton object ToolButton12: TToolButton
Left = 588 Left = 351
Top = 30 Top = 60
AutoSize = True AutoSize = True
Caption = #30452#25509#25171#21360 Caption = #30452#25509#25171#21360
ImageIndex = 4 ImageIndex = 4
OnClick = ToolButton12Click OnClick = ToolButton12Click
end end
object ComboBox1: TComboBox object ComboBox1: TComboBox
Left = 675 Left = 438
Top = 33 Top = 63
Width = 190 Width = 190
Height = 24 Height = 24
Style = csDropDownList Style = csDropDownList
@ -241,8 +242,8 @@ object frmContractDCList: TfrmContractDCList
#35746#33329#25351#31034#20070) #35746#33329#25351#31034#20070)
end end
object TBClose: TToolButton object TBClose: TToolButton
Left = 865 Left = 628
Top = 30 Top = 60
AutoSize = True AutoSize = True
Caption = #20851#38381 Caption = #20851#38381
ImageIndex = 21 ImageIndex = 21
@ -251,9 +252,9 @@ object frmContractDCList: TfrmContractDCList
end end
object cxGrid1: TcxGrid object cxGrid1: TcxGrid
Left = 0 Left = 0
Top = 179 Top = 209
Width = 1140 Width = 1140
Height = 140 Height = 110
Align = alClient Align = alClient
TabOrder = 1 TabOrder = 1
object Tv1: TcxGridDBTableView object Tv1: TcxGridDBTableView
@ -521,7 +522,7 @@ object frmContractDCList: TfrmContractDCList
end end
object Panel1: TPanel object Panel1: TPanel
Left = 0 Left = 0
Top = 62 Top = 92
Width = 1140 Width = 1140
Height = 75 Height = 75
Align = alTop Align = alTop
@ -995,7 +996,7 @@ object frmContractDCList: TfrmContractDCList
end end
object cxTabControl1: TcxTabControl object cxTabControl1: TcxTabControl
Left = 0 Left = 0
Top = 137 Top = 167
Width = 1140 Width = 1140
Height = 21 Height = 21
Align = alTop Align = alTop
@ -1014,7 +1015,7 @@ object frmContractDCList: TfrmContractDCList
end end
object cxTabControl2: TcxTabControl object cxTabControl2: TcxTabControl
Left = 0 Left = 0
Top = 158 Top = 188
Width = 1140 Width = 1140
Height = 21 Height = 21
Align = alTop Align = alTop

View File

@ -13,7 +13,20 @@ uses
cxDropDownEdit, ShellAPI, IdBaseComponent, IdComponent, IdTCPConnection, cxDropDownEdit, ShellAPI, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, IniFiles, StrUtils, BtnEdit, cxPC, cxLookAndFeels, IdTCPClient, IdFTP, IniFiles, StrUtils, BtnEdit, cxPC, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore, cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, dxSkinsCore,
dxSkinsDefaultPainters, dxSkinscxPCPainter; dxSkinsDefaultPainters, dxSkinscxPCPainter, dxSkinBlack, dxSkinBlue,
dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom,
dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle,
dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary,
dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin,
dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins,
dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green,
dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black,
dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray,
dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin,
dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus,
dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008,
dxSkinTheAsphaltWorld, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint,
dxSkinXmas2008Blue;
type type
TfrmContractDCList = class(TForm) TfrmContractDCList = class(TForm)

View File

@ -79,17 +79,20 @@ begin
SetLength(user, 255); SetLength(user, 255);
SetLength(pswd, 255); SetLength(pswd, 255);
if Trim(DataBaseStr) = '' then
begin
server := '47.100.130.130,7781'; server := '47.100.130.130,7781';
// server := '.';
dtbase := 'zhenyongdata'; dtbase := 'zhenyongdata';
user := 'zhenyongsa'; user := 'zhenyongsa';
pswd := 'rightsoft@9101'; pswd := 'rightsoft@9101';
// pswd := 'rightsoft';
DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server; DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server;
// DConString := DataBaseStr; DName := 'ADMIN';
// DName:='司洋'; DCode := 'ADMIN';
//DParameters1:='高权限'; DParameters1 := '高权限';
//DParameters2:=''; end
else
DConString := DataBaseStr;
if not ConnData() then if not ConnData() then
begin begin
result := 0; result := 0;

View File

@ -1,6 +1,6 @@
object frmYFGLList: TfrmYFGLList object frmYFGLList: TfrmYFGLList
Left = 209 Left = 564
Top = 118 Top = 297
Width = 1384 Width = 1384
Height = 670 Height = 670
Caption = #36816#36153#31649#29702 Caption = #36816#36153#31649#29702
@ -21,7 +21,7 @@ object frmYFGLList: TfrmYFGLList
object ToolBar1: TToolBar object ToolBar1: TToolBar
Left = 0 Left = 0
Top = 0 Top = 0
Width = 1368 Width = 1376
AutoSize = True AutoSize = True
ButtonHeight = 30 ButtonHeight = 30
ButtonWidth = 107 ButtonWidth = 107
@ -117,10 +117,18 @@ object frmYFGLList: TfrmYFGLList
ImageIndex = 68 ImageIndex = 68
OnClick = ToolButton7Click OnClick = ToolButton7Click
end end
object TBClose: TToolButton object ToolButton8: TToolButton
Left = 675 Left = 675
Top = 0 Top = 0
AutoSize = True AutoSize = True
Caption = #25353#19994#21153#21592#23548#20986
ImageIndex = 68
OnClick = ToolButton8Click
end
object TBClose: TToolButton
Left = 786
Top = 0
AutoSize = True
Caption = #20851#38381 Caption = #20851#38381
ImageIndex = 21 ImageIndex = 21
OnClick = TBCloseClick OnClick = TBCloseClick
@ -129,7 +137,7 @@ object frmYFGLList: TfrmYFGLList
object Panel1: TPanel object Panel1: TPanel
Left = 0 Left = 0
Top = 32 Top = 32
Width = 1368 Width = 1376
Height = 59 Height = 59
Align = alTop Align = alTop
BevelInner = bvRaised BevelInner = bvRaised
@ -252,8 +260,8 @@ object frmYFGLList: TfrmYFGLList
object cxGrid2: TcxGrid object cxGrid2: TcxGrid
Left = 0 Left = 0
Top = 91 Top = 91
Width = 1368 Width = 1376
Height = 540 Height = 548
Align = alClient Align = alClient
TabOrder = 2 TabOrder = 2
object TV1: TcxGridDBTableView object TV1: TcxGridDBTableView

View File

@ -12,7 +12,20 @@ uses
cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, cxDropDownEdit, cxCheckBox, RM_Common, RM_Class, RM_e_Xls, RM_Dataset,
RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC, RM_System, RM_GridReport, Menus, cxCalendar, cxButtonEdit, cxTextEdit, cxPC,
BtnEdit, cxSplitter, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, BtnEdit, cxSplitter, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator,
dxBarBuiltInMenu, MovePanel, cxCalc, Registry; dxBarBuiltInMenu, MovePanel, cxCalc, Registry, dxSkinsCore, dxSkinBlack,
dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom,
dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy,
dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian,
dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis,
dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black,
dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink,
dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue,
dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray,
dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic,
dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust,
dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters,
dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue,
dxSkinscxPCPainter;
type type
TfrmYFGLList = class(TForm) TfrmYFGLList = class(TForm)
@ -82,6 +95,7 @@ type
RM2: TRMGridReport; RM2: TRMGridReport;
RMDB_2: TRMDBDataSet; RMDB_2: TRMDBDataSet;
TV1Column17: TcxGridDBColumn; TV1Column17: TcxGridDBColumn;
ToolButton8: TToolButton;
procedure FormDestroy(Sender: TObject); procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject); procedure FormCreate(Sender: TObject);
@ -124,6 +138,7 @@ type
procedure ToolButton6Click(Sender: TObject); procedure ToolButton6Click(Sender: TObject);
procedure ordernoKeyPress(Sender: TObject; var Key: Char); procedure ordernoKeyPress(Sender: TObject; var Key: Char);
procedure ToolButton7Click(Sender: TObject); procedure ToolButton7Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
private private
canshu2: string; canshu2: string;
FDate: TDateTime; FDate: TDateTime;
@ -145,7 +160,7 @@ type
implementation implementation
uses uses
U_DataLink, U_RTFun, U_ZDYHelp, U_BaoGuanInPut, U_Fun, U_YFGLInPut; U_DataLink, U_RTFun, U_ZDYHelp, U_BaoGuanInPut, U_Fun, U_YFGLInPut, U_LabelPrintFun;
{$R *.dfm} {$R *.dfm}
function TfrmYFGLList.GetShellFolders(strDir: string): string; function TfrmYFGLList.GetShellFolders(strDir: string): string;
@ -222,7 +237,6 @@ begin
end; end;
SQL.Add(fwhere); SQL.Add(fwhere);
// ShowMessage(sql.Text); // ShowMessage(sql.Text);
Open; Open;
end; end;
@ -1051,5 +1065,34 @@ begin
end; end;
end; end;
procedure TfrmYFGLList.ToolButton8Click(Sender: TObject);
var
MPrintJson, JsonResult, msql: string;
begin
if CDS_Main.IsEmpty then
Exit;
msql := ' select A.*,ZUSD=(SELECT SUM(FYMONEY)FROM FP_SUB B WHERE B.FPID=A.FPID AND B.FYBZ=''美元''),ZRMB=(SELECT SUM(FYMONEY)FROM FP_SUB B WHERE B.FPID=A.FPID AND B.FYBZ=''人民币'') ';
msql := msql + 'FROM FP_MAIN A where 1=1 ';
if ComboBox1.Text = '船期' then
begin
msql := msql + ' and chuandate>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + ''' ';
msql := msql + ' and chuandate<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + ''' ';
end
else if combobox1.Text = '制单日期' then
begin
msql := msql + ' and FILLTIME>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.Date)) + ''' ';
msql := msql + ' and FILLTIME<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.Date + 1)) + ''' ';
end;
msql := msql + 'ORDER BY YWY desc, FILLTIME ';
MPrintJson := '{ "LBName": "按业务员导出","QrCodeField": "ssid","DConString": "' + DConString + '","DCode": "' + DCode + '","DName": "' + DName + '","IsPreview": true,"printerIndex": 0,"ExportFileType": "xls", "PrtArgs": [ {"SqlStr": "' + msql + '" }] }';
FunPrint(Application, PChar(MPrintJson));
end;
end. end.

Binary file not shown.

View File

@ -76,6 +76,8 @@ begin
SetLength(user, 255); SetLength(user, 255);
SetLength(pswd, 255); SetLength(pswd, 255);
if Trim(DataBaseStr) = '' then
begin
server := '47.100.130.130,7781'; server := '47.100.130.130,7781';
// server := '.'; // server := '.';
dtbase := 'zhenyongdata'; dtbase := 'zhenyongdata';
@ -84,10 +86,14 @@ begin
pswd := 'rightsoft@9101'; pswd := 'rightsoft@9101';
// pswd := 'rightsoft'; // pswd := 'rightsoft';
DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server; DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server;
// DConString := DataBaseStr; //
DName := 'ADMIN'; DName := 'ADMIN';
DCode := 'ADMIN'; DCode := 'ADMIN';
DParameters1 := '¸ßȨÏÞ'; DParameters1 := '¸ßȨÏÞ';
end
else
DConString := DataBaseStr;
if not ConnData() then if not ConnData() then
begin begin
result := 0; result := 0;

View File

@ -1,6 +1,6 @@
object frmMarkingInspection: TfrmMarkingInspection object frmMarkingInspection: TfrmMarkingInspection
Left = 214 Left = 318
Top = 37 Top = 159
Width = 1539 Width = 1539
Height = 825 Height = 825
Align = alLeft Align = alLeft
@ -21,9 +21,9 @@ object frmMarkingInspection: TfrmMarkingInspection
TextHeight = 12 TextHeight = 12
object ScrollBox1: TScrollBox object ScrollBox1: TScrollBox
Left = 236 Left = 236
Top = 89 Top = 113
Width = 621 Width = 621
Height = 705 Height = 681
Align = alLeft Align = alLeft
TabOrder = 6 TabOrder = 6
Visible = False Visible = False
@ -1571,9 +1571,9 @@ object frmMarkingInspection: TfrmMarkingInspection
end end
object cxGrid3: TcxGrid object cxGrid3: TcxGrid
Left = 1151 Left = 1151
Top = 89 Top = 113
Width = 380 Width = 380
Height = 705 Height = 681
Align = alClient Align = alClient
PopupMenu = PopupMenu1 PopupMenu = PopupMenu1
TabOrder = 3 TabOrder = 3
@ -1684,6 +1684,12 @@ object frmMarkingInspection: TfrmMarkingInspection
Options.Sorting = False Options.Sorting = False
Width = 40 Width = 40
end end
object Tv3Column2: TcxGridDBColumn
Caption = #32465#23450#26465#24418#30721
DataBinding.FieldName = 'BarCode'
HeaderAlignmentHorz = taCenter
Width = 100
end
end end
object cxGridLevel2: TcxGridLevel object cxGridLevel2: TcxGridLevel
GridView = Tv3 GridView = Tv3
@ -1691,9 +1697,9 @@ object frmMarkingInspection: TfrmMarkingInspection
end end
object Panel2: TPanel object Panel2: TPanel
Left = 0 Left = 0
Top = 89 Top = 113
Width = 236 Width = 236
Height = 705 Height = 681
Align = alLeft Align = alLeft
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -2280,9 +2286,9 @@ object frmMarkingInspection: TfrmMarkingInspection
end end
object Panel7: TPanel object Panel7: TPanel
Left = 857 Left = 857
Top = 89 Top = 113
Width = 294 Width = 294
Height = 705 Height = 681
Align = alLeft Align = alLeft
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -2307,7 +2313,7 @@ object frmMarkingInspection: TfrmMarkingInspection
Left = 2 Left = 2
Top = 404 Top = 404
Width = 290 Width = 290
Height = 299 Height = 275
Align = alClient Align = alClient
TabOrder = 0 TabOrder = 0
object Tv2: TcxGridDBTableView object Tv2: TcxGridDBTableView
@ -2424,14 +2430,14 @@ object frmMarkingInspection: TfrmMarkingInspection
Left = 0 Left = 0
Top = 0 Top = 0
Width = 1531 Width = 1531
Height = 89 Height = 113
Align = alTop Align = alTop
TabOrder = 0 TabOrder = 0
object Panel6: TPanel object Panel6: TPanel
Left = 1 Left = 1
Top = 31 Top = 31
Width = 1529 Width = 1529
Height = 57 Height = 81
Align = alClient Align = alClient
BevelInner = bvRaised BevelInner = bvRaised
BevelOuter = bvLowered BevelOuter = bvLowered
@ -2543,8 +2549,8 @@ object frmMarkingInspection: TfrmMarkingInspection
ParentFont = False ParentFont = False
end end
object Label25: TLabel object Label25: TLabel
Left = 649 Left = 9
Top = 16 Top = 48
Width = 100 Width = 100
Height = 19 Height = 19
Caption = #32465#23450#26465#24418#30721 Caption = #32465#23450#26465#24418#30721
@ -2632,9 +2638,9 @@ object frmMarkingInspection: TfrmMarkingInspection
OnClick = edtChenClick OnClick = edtChenClick
end end
object BarCode: TEdit object BarCode: TEdit
Left = 752 Left = 120
Top = 12 Top = 44
Width = 185 Width = 153
Height = 27 Height = 27
Font.Charset = GB2312_CHARSET Font.Charset = GB2312_CHARSET
Font.Color = clWindowText Font.Color = clWindowText

View File

@ -329,6 +329,7 @@ type
SpeedButton123: TSpeedButton; SpeedButton123: TSpeedButton;
Label25: TLabel; Label25: TLabel;
BarCode: TEdit; BarCode: TEdit;
Tv3Column2: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject); procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject); procedure TBCloseClick(Sender: TObject);

View File

@ -820,6 +820,7 @@ begin
SQL.Add('and ( filler in ( select username from SY_User where UType=(select UType from SY_User where UserName=' + quotedstr(Trim(dname))); SQL.Add('and ( filler in ( select username from SY_User where UType=(select UType from SY_User where UserName=' + quotedstr(Trim(dname)));
SQL.Add(')) OR FILLER =' + QuotedStr(Trim(DName))); SQL.Add(')) OR FILLER =' + QuotedStr(Trim(DName)));
SQL.Add(')'); SQL.Add(')');
// ShowMessage(sql.Text);
Open; Open;
end; end;