D7myChuangpin/管理系统/U_ZdyAttachSX.pas

346 lines
10 KiB
ObjectPascal
Raw Permalink Normal View History

2024-07-23 20:18:14 +08:00
unit U_ZdyAttachSX;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
ComObj, 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, Menus, cxLookAndFeelPainters, cxButtons, cxContainer, cxImage,
cxDBEdit, cxLookAndFeels, cxNavigator;
type
FdDy = record
inc: integer; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD>־<EFBFBD><D6BE><EFBFBD>
FDdys: string[32]; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
FdDysName: string[32]; //<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>׽<EFBFBD><D7BD><EFBFBD>
end;
TfrmZdyAttachSX = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
ADOQueryMain: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
DEFstr6: TEdit;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
Label1: TLabel;
ZdyName: TEdit;
Label2: TLabel;
OpenDialog1: TOpenDialog;
cxGrid2: TcxGrid;
Tv2: TcxGridDBTableView;
v2Column2: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2DEFstr3: TcxGridDBColumn;
v2Column16: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column14: TcxGridDBColumn;
v2Column15: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
Pan_image: TPanel;
Picture4: TcxDBImage;
DSImage: TDataSource;
ADOQueryImage: TADOQuery;
Label5: TLabel;
Filler: TEdit;
DEFstr3: TEdit;
Label9: TLabel;
DEFstr2: TEdit;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxStyle2: TcxStyle;
Panel2: TPanel;
Label4: TLabel;
RadioGroup1: TRadioGroup;
cxButton1: TcxButton;
cxButton2: TcxButton;
v2Ssel: TcxGridDBColumn;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
cxGrid1: TcxGrid;
TV1: TcxGridDBTableView;
V2Column1: TcxGridDBColumn;
cxGridDBColumn1: TcxGridDBColumn;
V2Column10: TcxGridDBColumn;
cxGridLevel2: TcxGridLevel;
Label6: TLabel;
Label7: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
CP_Sub: TClientDataSet;
DS_CP: TDataSource;
ADOQueryTmp: TADOQuery;
V1Column1: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
Label8: TLabel;
Label10: TLabel;
XSCode: TEdit;
CPXiLie: TEdit;
Bgroup: TComboBox;
Label11: TLabel;
ToolButton1: TToolButton;
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 DEFstr6Change(Sender: TObject);
procedure cxButton2Click(Sender: TObject);
procedure cxButton1Click(Sender: TObject);
procedure Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure FormResize(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
procedure ToolButton1Click(Sender: TObject);
private
fFlileFlag: string;
procedure InitImage();
procedure InitSub();
{ Private declarations }
procedure InitGrid();
public
canshu1: string;
forderType: string;
dFdDy: array[0..20] of FdDy;
end;
var
frmZdyAttachXSC: TfrmZdyAttachSX;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_ZdyAttInputCP;
{$R *.dfm}
procedure TfrmZdyAttachSX.InitImage();
begin
with ADOQueryImage do
begin
close;
sql.Clear;
sql.Add('select * from TP_File A');
if trim(CDS_HZ.fieldbyname('FOrdATID').AsString) <> '' then
begin
sql.Add('where WBID=' + quotedstr(trim(CDS_HZ.fieldbyname('FOrdATID').AsString)));
end
else
sql.Add('where 1<>1');
//ShowMessage(SQL.Text);
open;
end;
end;
procedure TfrmZdyAttachSX.InitGrid();
begin
// ShowMessage(forderType);
try
ADOQueryMain.DisableControls;
with ADOQueryMain do
begin
Filtered := False;
Close;
SQL.Clear;
sql.Add(' select A.* ');
sql.Add(',RKQty=(select Sum(B.Qty) from CK_BanCP_CR B where B.CRFlag=''<27><><EFBFBD><EFBFBD>'' and B.C_Color=A.DEFstr3 ');
sql.Add(' and (B.C_CodeName=A.ZdyName or B.C_CodeName=A.defNote3) and B.CRType=''<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'' and convert(varchar(4),B.CRTime,120)=convert(varchar(4),getdate(),120))');
sql.Add(' from KH_Zdy_Attachment A ');
SQL.Add(' where A.Type=''XS'' ');
if forderType <> null then
begin
SQL.Add(' and A.Bgroup=' + quotedstr(forderType));
end;
// sql.Add(' and A.FillTIme>=''' + Trim(FormatDateTime('yyyy-MM-dd', BegDate.DateTime)) + '''');
// sql.Add(' and A.FillTIme<''' + Trim(FormatDateTime('yyyy-MM-dd', EndDate.DateTime + 1)) + '''');
sql.Add(' order by zdyName,dbo.getNum(Defstr3) ');
// ShowMessage(SQL.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
finally
ADOQueryMain.EnableControls;
end;
end;
procedure TfrmZdyAttachSX.InitSub();
begin
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_Zdy_Attachment_Sub ');
sql.Add('where ATID =' + quotedstr((CDS_HZ.fieldbyname('ATID').AsString)));
open;
// ShowMessage(SQL.Text);
end;
SCreateCDS20(ADOQueryTmp, CP_Sub);
SInitCDSData20(ADOQueryTmp, CP_Sub);
end;
procedure TfrmZdyAttachSX.FormDestroy(Sender: TObject);
begin
frmZdyAttachXSC := nil;
end;
procedure TfrmZdyAttachSX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmZdyAttachSX.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>13', Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
Close;
end;
procedure TfrmZdyAttachSX.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>13', Tv2, '<27>ͻ<EFBFBD><CDBB>Զ<EFBFBD><D4B6><EFBFBD>');
v2Column6.Visible := false;
BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 90;
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
if canshu1 = '<27><><EFBFBD><EFBFBD>' then
begin
v2Column6.Visible := true;
end;
fFlileFlag := UserDataFlag + 'YP';
//InitGrid();
end;
procedure TfrmZdyAttachSX.TBRafreshClick(Sender: TObject);
begin
Panel1.SetFocus;
InitGrid();
end;
procedure TfrmZdyAttachSX.ToolButton2Click(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_HZ);
SInitCDSData20(ADOQueryMain, CDS_HZ);
end;
end;
procedure TfrmZdyAttachSX.DEFstr6Change(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmZdyAttachSX.cxButton2Click(Sender: TObject);
begin
Panel2.Visible := false;
end;
procedure TfrmZdyAttachSX.cxButton1Click(Sender: TObject);
var
fPrintFile: string;
Txt, fImagePath: string;
Moudle: THandle;
Makebar: TMakebar;
Mixtext: TMixtext;
begin
if CDS_HZ.IsEmpty then
exit;
try
Moudle := LoadLibrary('MakeQRBarcode.dll');
@Makebar := GetProcAddress(Moudle, 'Make');
@Mixtext := GetProcAddress(Moudle, 'MixText');
Txt := Trim(CDS_HZ.fieldbyname('ZDYCODE').AsString);
fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp';
if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then
CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil);
if FileExists(fImagePath) then
DeleteFile(fImagePath);
Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3);
except
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_ICONERROR);
exit;
end;
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\' + trim(RadioGroup1.Items[RadioGroup1.ItemIndex]) + '.rmf';
if FileExists(fPrintFile) then
begin
RMVariables['QRBARCODE'] := fImagePath;
RM1.LoadFromFile(fPrintFile);
// Rm2.DefaultCopies:=strtointdef(trim(ComboBox1.Text),1);
// RM1.ShowReport;
RM1.PrintReport;
end
else
Application.MessageBox(PChar(<><C3BB><EFBFBD>ҵ<EFBFBD><D2B5>ļ<EFBFBD>' + fPrintFile), '<27><>ʾ', 0);
end;
procedure TfrmZdyAttachSX.Tv2CellClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
InitImage();
end;
procedure TfrmZdyAttachSX.FormResize(Sender: TObject);
begin
Pan_image.Left := self.Width - Pan_image.Width - 30;
Pan_image.Top := self.Height - Pan_image.Height - 80;
end;
procedure TfrmZdyAttachSX.FormCreate(Sender: TObject);
begin
canshu1 := Trim(DParameters1);
end;
procedure TfrmZdyAttachSX.N1Click(Sender: TObject);
begin
SelOKNo(CDS_HZ, True);
end;
procedure TfrmZdyAttachSX.N2Click(Sender: TObject);
begin
SelOKNo(CDS_HZ, false);
end;
procedure TfrmZdyAttachSX.Tv2FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
InitSub();
end;
procedure TfrmZdyAttachSX.Tv2CellDblClick(Sender: TcxCustomGridTableView; ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton; AShift: TShiftState; var AHandled: Boolean);
begin
ModalResult := 1;
end;
procedure TfrmZdyAttachSX.ToolButton1Click(Sender: TObject);
begin
ModalResult := 1;
end;
end.