D7YPDJlingyao/贸易管理(TradeManage.dll)/U_Samplelist_So.pas
DESKTOP-E401PHE\Administrator 43fbfa8db2 ~
2025-07-19 16:53:04 +08:00

437 lines
12 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_Samplelist_So;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, StdCtrls, ExtCtrls, cxStyles, cxCustomData,
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData,
cxButtonEdit, cxDropDownEdit, cxGridLevel, cxGridCustomTableView,
cxGridTableView, cxGridDBTableView, cxClasses, cxControls,
cxGridCustomView, cxGrid, DBClient, ADODB, cxGridCustomPopupMenu,
cxGridPopupMenu, cxPC, cxCalendar, RM_Common, RM_Class, RM_GridReport,
RM_System, RM_Dataset, RM_e_Xls,ShellAPI, cxContainer, cxImage, cxDBEdit,StrUtils,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP;
type
TfrmSamplelist_so = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBFind: TToolButton;
TBAdd: TToolButton;
TBEdit: TToolButton;
TBDel: TToolButton;
TBExport: TToolButton;
TBPrint: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
BegDate: TDateTimePicker;
EndDate: TDateTimePicker;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1P_CodeName: TcxGridDBColumn;
v1Qty: TcxGridDBColumn;
v1Note: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
v1CRTime: TcxGridDBColumn;
v1Filler: TcxGridDBColumn;
v1FillTime: TcxGridDBColumn;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
P_CodeName: TEdit;
P_Code: TEdit;
CRType: TComboBox;
Label5: TLabel;
ADOQueryCmd: TADOQuery;
ADOQueryTmp: TADOQuery;
DataSource1: TDataSource;
CDS_Main: TClientDataSet;
cxGridPopupMenu1: TcxGridPopupMenu;
ckName: TComboBox;
Label6: TLabel;
v1P_Code: TcxGridDBColumn;
v1INoutNo: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
Label9: TLabel;
defstr6: TEdit;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
RMDBMain: TRMDBDataSet;
RM1: TRMGridReport;
RMXLSExport1: TRMXLSExport;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v1Column15: TcxGridDBColumn;
Panel2: TPanel;
Picture4: TcxDBImage;
IdFTP1: TIdFTP;
ADOQueryImage: TADOQuery;
DSImage: TDataSource;
v1Column16: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure TBAddClick(Sender: TObject);
procedure P_CodeNameChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBEditClick(Sender: TObject);
procedure TBDelClick(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TBPrintClick(Sender: TObject);
procedure TBExportClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure Picture4DblClick(Sender: TObject);
procedure Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
private
fFlileFlag:string;
procedure InitGrid();
procedure SetComboBox();
procedure Setstatus();
procedure InitImage();
procedure LookImage(FileName:string);
{ Private declarations }
public
fCKName:string;
fCRFlag:string;
canshu1:string;
{ Public declarations }
end;
var
frmSamplelist_so: TfrmSamplelist_so;
implementation
uses
U_DataLink,U_Fun10,U_ZDYHelp, U_SampleLR, U_SampleLR_SO;
{$R *.dfm}
procedure TfrmSamplelist_so.LookImage(FileName:string);
var
sFieldName:string;
// ff: TADOBlobStream;
// FJStream : TMemoryStream;
begin
sFieldName:=leftbstr(ExtractFilePath(Application.ExeName),1)+':\ͼƬ<CDBC>鿴';
if not DirectoryExists(pchar(sFieldName)) then
CreateDirectory(pchar(sFieldName),nil);
sFieldName:=sFieldName+'\'+trim(fileName);
try
IdFTP1.Host := ReadINIFileStr('SYSTEMSET.INI','SERVER','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ','127.0.0.1');
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
;
end;
if IdFTP1.Connected then
begin
Panel2.Caption:='<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD>Ե<EFBFBD>...';
Panel2.Visible:=true;
application.ProcessMessages;
try
IdFTP1.Get(fFlileFlag+'\'+ Trim(fileName), sFieldName,true, false);
except
Panel2.Visible:=false;
Application.MessageBox('<27>ͻ<EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
end
else
begin
Panel2.Visible:=false;
Application.MessageBox('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', MB_ICONWARNING);
IdFTP1.Quit;
Exit;
end;
Panel2.Visible:=false;
if IdFTP1.Connected then IdFTP1.Quit;
ShellExecute(Handle, 'open',PChar(sFieldName),'', '', SW_SHOWNORMAL);
end;
procedure TfrmSamplelist_so.InitImage();
begin
ADOQueryImage.Close;
if CDS_Main.IsEmpty then exit;
with ADOQueryImage do
begin
close;
sql.Clear;
sql.Add('select * from TP_File A');
sql.Add('where WBID='+quotedstr(trim(CDS_Main.fieldbyname('JSNO').AsString)));
sql.Add('and TFType='+quotedstr(trim('SO')));
open;
end;
end;
procedure TfrmSamplelist_so.SetStatus();
begin
TBedit.Visible:=false;
Tbdel.Visible:=false;
case cxTabControl1.TabIndex of
0:begin
TBedit.Visible:=true;
Tbdel.Visible:=true;
end;
1:begin
// tbcdel.Visible:=true;
end;
end;
end;
procedure TfrmSamplelist_so.SetComboBox();
begin
ckName.Items.Clear;
with adoQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type=''YPCK'' ');
if trim(fCKName)<>'' then
sql.Add('and zdyName='+quotedstr(trim(fCKName)));
open;
while not eof do
begin
ckName.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
end;
if ckName.Items.Count>0 then ckName.ItemIndex:=0;
CRType.Items.Clear;
CRType.Items.Add('');
with adoQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from KH_ZDY where Type=''YPRKTYPE''');
if trim(fCKName)<>'' then
sql.Add('and note='+quotedstr(trim(fCKName)));
open;
while not eof do
begin
CRType.Items.Add(trim(fieldbyname('zdyName').AsString));
next;
end;
end;
if CRType.Items.Count>0 then CRType.ItemIndex:=0;
end;
procedure TfrmSamplelist_so.InitGrid();
begin
try
with adoqueryTmp do
begin
close;
sql.Clear;
sql.Add('select A.* ');
sql.Add(',filesOther=(select Top 1 FilesOther from TP_File X where X.WBID=A.JSNo and X.TFType=''SO'') ');
sql.Add('from JY_Sample A');
sql.Add('where CRTime>='''+formatdateTime('yyyy-MM-dd',begdate.Date)+''' ');
sql.Add('and CRTime<'''+formatdateTime('yyyy-MM-dd',enddate.Date+1)+''' ');
sql.Add('and CRFlag='''+trim(fCRFlag)+''' ');
IF trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then
sql.Add('and Filler='''+trim(DName)+''' ');
open;
end;
SCreateCDS20(adoqueryTmp,CDS_Main);
SInitCDSData20(adoqueryTmp,CDS_Main);
finally
end;
end;
procedure TfrmSamplelist_so.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
writeCxGrid(self.Caption,Tv1);
Action:=cafree;
end;
procedure TfrmSamplelist_so.FormDestroy(Sender: TObject);
begin
frmSamplelist_so:=nil;
end;
procedure TfrmSamplelist_so.TBAddClick(Sender: TObject);
begin
frmSampleLR_SO:=TfrmSampleLR_SO.create(self);
with frmSampleLR_SO do
begin
fkeyNo:='';
fCRFlag:=self.fCRFlag;
fckName:=self.fckName;
canshu1:=self.canshu1;
if showmodal=1 then
begin
TBRafresh.Click;
self.CDS_Main.Locate('JSNo',trim(fkeyNo),[]) ;
end;
free;
end;
end;
procedure TfrmSamplelist_so.P_CodeNameChange(Sender: TObject);
begin
if ADOQueryTmp.Active=False then Exit;
SDofilter(ADOQueryTmp,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQueryTmp,CDS_Main);
SInitCDSData20(ADOQueryTmp,CDS_Main);
end;
procedure TfrmSamplelist_so.FormShow(Sender: TObject);
begin
fFlileFlag:=UserDataFlag+'SO';
readCxGrid(self.Caption,Tv1);
// SetComboBox();
SetStatus();
InitGrid();
end;
procedure TfrmSamplelist_so.FormCreate(Sender: TObject);
begin
BegDate.Date:=DServerDate-7;
EndDate.Date:=DServerDate;
cxGrid1.Align:=alclient;
canshu1:=trim(DParameters1);
end;
procedure TfrmSamplelist_so.TBCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmSamplelist_so.TBEditClick(Sender: TObject);
var
rkNum,ckNum:double;
begin
if CDS_Main.IsEmpty then Exit;
frmSampleLR_SO:=TfrmSampleLR_SO.create(self);
with frmSampleLR_SO do
begin
fkeyNo:=self.cds_main.fieldbyname('JSNO').AsString;
fCRFlag:=self.fCRFlag;
canshu1:=self.canshu1;
if showmodal=1 then
begin
TBRafresh.Click;
self.CDS_Main.Locate('JSNo',trim(fkeyNo),[]) ;
end;
free;
end;
end;
procedure TfrmSamplelist_so.TBDelClick(Sender: TObject);
var
rkNum,ckNum:double;
begin
if CDS_Main.IsEmpty then Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>','<27><>ʾ',32+4)<>IDYES then Exit;
try
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete JY_Sample ');
SQL.Add('where JSNO='''+Trim(CDS_Main.fieldbyname('JSNO').AsString)+''' ');
SQL.Add('and JSID='''+Trim(CDS_Main.fieldbyname('JSID').AsString)+''' ');
sql.Add('delete from YF_Money_CR ');
sql.Add('where mainID='''+Trim(CDS_Main.fieldbyname('JSNO').AsString)+''' ');
execsql;
end;
TBRafresh.Click;
except
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE>ʧ<EFBFBD>ܣ<EFBFBD>','<27><>ʾ<EFBFBD><CABE>Ϣ',0);
end;
end;
procedure TfrmSamplelist_so.TBRafreshClick(Sender: TObject);
begin
initGrid();
end;
procedure TfrmSamplelist_so.TBPrintClick(Sender: TObject);
var
fPrintFile:string;
begin
if CDS_Main.IsEmpty then Exit;
IF fCRFlag='SY' then
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\SO<53><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf' ;
IF fCRFlag='CY' then
fPrintFile:= ExtractFilePath(Application.ExeName) + 'Report\ɫ<><C9AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.rmf' ;
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
RM1.ShowReport;
end else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>'+ExtractFilePath(Application.ExeName)+'Report\'+Trim(fPrintFile)+'.rmf'),'<27><>ʾ',0);
end;
end;
procedure TfrmSamplelist_so.TBExportClick(Sender: TObject);
begin
if CDS_Main.IsEmpty then Exit;
TcxGridToExcel(self.Caption,cxgrid1);
end;
procedure TfrmSamplelist_so.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
initGrid();
end;
procedure TfrmSamplelist_so.FormResize(Sender: TObject);
begin
Panel2.Left:=self.Width-Panel2.Width-30;
Panel2.Top:=self.Height- Panel2.Height-80;
end;
procedure TfrmSamplelist_so.Picture4DblClick(Sender: TObject);
begin
IF TcxDBImage(Sender).Picture.Height=0 then exit;
LookImage(ADOQueryImage.fieldbyname(TcxDBImage(Sender).Hint).asstring);
end;
procedure TfrmSamplelist_so.Tv1CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
InitImage();
end;
procedure TfrmSamplelist_so.Tv1CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
TBedit.Click;
end;
end.