D7myChuangpin/管理系统/U_ZdyAttachSX.pas
“ddf” ece69a5ac1 1
2024-07-23 20:18:14 +08:00

346 lines
10 KiB
ObjectPascal

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; //客户端套接字句柄
FDdys: string[32]; //客户端套接字
FdDysName: string[32]; //客户端套接字
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=''入库'' and B.C_Color=A.DEFstr3 ');
sql.Add(' and (B.C_CodeName=A.ZdyName or B.C_CodeName=A.defNote3) and B.CRType=''检验入库'' 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('产品资料13', Tv2, '客户自定义');
Close;
end;
procedure TfrmZdyAttachSX.FormShow(Sender: TObject);
begin
ReadCxGrid('产品资料13', Tv2, '客户自定义');
v2Column6.Visible := false;
BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 90;
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
if canshu1 = '管理' 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('条形码生成失败!', '提示信息', 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('没有找到文件' + fPrintFile), '提示', 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.