D7myzhenyong/报关管理(BaoGuan.dll)/U_CPBaoJiaChk.pas
DESKTOP-E401PHE\Administrator 237de1c308 0
2025-08-26 15:25:51 +08:00

376 lines
11 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_CPBaoJiaChk;
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, Menus, cxPC;
type
TfrmCPBaoJiaChk = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
Label1: TLabel;
CYName: TEdit;
Label4: TLabel;
CYEName: TEdit;
Label5: TLabel;
CYSpec: TEdit;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
ODPat: TOpenDialog;
IdFTP1: TIdFTP;
SaveDialog1: TSaveDialog;
ToolButton6: TToolButton;
Label3: TLabel;
CYNO: TEdit;
Panel2: TPanel;
Label7: TLabel;
CYKZ: TEdit;
Label8: TLabel;
Label9: TLabel;
CYNOOld: TEdit;
CYECF: TEdit;
Label10: TLabel;
CYMF: TEdit;
CDS_BJ: TClientDataSet;
DSBJ: TDataSource;
cxGridPopupMenu2: TcxGridPopupMenu;
Label2: TLabel;
begdate: TDateTimePicker;
enddate: TDateTimePicker;
ADOQuerySub: TADOQuery;
DS_Chk: TDataSource;
CDS_Chk: TClientDataSet;
cxGridPopupMenu3: TcxGridPopupMenu;
cxGrid1: TcxGrid;
Tv2: TcxGridDBTableView;
v1Column1: TcxGridDBColumn;
v1Column41: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1Column3: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column17: TcxGridDBColumn;
v1Column18: TcxGridDBColumn;
v1Column25: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
cxSplitter2: TcxSplitter;
cxGrid4: TcxGrid;
Tv21: TcxGridDBTableView;
cxGridDBColumn15: TcxGridDBColumn;
cxGridDBColumn16: TcxGridDBColumn;
cxGridDBColumn17: TcxGridDBColumn;
cxGridDBColumn18: TcxGridDBColumn;
cxGridDBColumn19: TcxGridDBColumn;
cxGridLevel3: TcxGridLevel;
v21Column1: TcxGridDBColumn;
Label6: TLabel;
BJPerson: TEdit;
Label11: TLabel;
KHName: TEdit;
v2Column1: TcxGridDBColumn;
v2Column2: TcxGridDBColumn;
v2Column3: TcxGridDBColumn;
v21Column2: TcxGridDBColumn;
v21Column3: TcxGridDBColumn;
v2Column4: TcxGridDBColumn;
v2Column5: TcxGridDBColumn;
v2Column6: TcxGridDBColumn;
v2Column7: TcxGridDBColumn;
v2Column8: TcxGridDBColumn;
v2Column9: TcxGridDBColumn;
v2Column10: TcxGridDBColumn;
v2Column11: TcxGridDBColumn;
v2Column12: TcxGridDBColumn;
v2Column13: TcxGridDBColumn;
v2Column14: TcxGridDBColumn;
v2Column15: TcxGridDBColumn;
v2Column16: TcxGridDBColumn;
v2Column17: TcxGridDBColumn;
ToolButton3: TToolButton;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure cxDBTreeList1DblClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure CYNoChange(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure CYNOOldChange(Sender: TObject);
procedure Tv2CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
procedure TBRafreshClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
private
{ Private declarations }
CPID:string;
PState:Integer;
FCPID,FTopID:String;
procedure InitGrid();
procedure ReadINIFile();
public
{ Public declarations }
FFint:Integer;
end;
var
frmCPBaoJiaChk: TfrmCPBaoJiaChk;
implementation
uses
U_DataLink,U_Fun,U_ZDYHelp;
{$R *.dfm}
procedure TfrmCPBaoJiaChk.InitGrid();
begin
try
ADOQuerySub.DisableControls;
with ADOQuerySub do
begin
Filtered:=False;
Close;
SQL.Clear;
SQL.Add('select A.BJPerSon,A.BJPrice,A.BZType,A.KHName,A.BJID,A.MBShiChang,A.Qty,A.PinZhiYQ, A.BJTime,');
sql.Add('A.Chker,A.ChkStatus,A.ChkPrice,A.ChkNote,A.BJNO,A.BJCount,A.YongJIn,A.CPPrice,A.PriceSY,A.QtyUnit,A.Note,B.* ');
sql.Add('from CP_BaoJia A');
SQL.Add('left join CP_YDang B on A.CYID=B.CYID ');
{if Trim(DParameters1)='<27><>Ȩ<EFBFBD><C8A8>' then
begin
end else
begin
sql.Add('where exists(select * from CP_BaoJia_Chk C where C.ChkTime>=:begdate and ChkTime<:enddate ');
sql.Add(' and isnull(C.ChkStatus,'''')<>'''' and C.BJID=A.BJID and NextChkPerson='''+Trim(DName)+''')');
sql.Add(' and A.ChkStatus=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>''');
end;}
sql.Add(' where isnull(A.Chker,'''')<>'''' and A.ChkStatus=''<27><><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>'' ');
sql.Add(' and A.FillTime>=:begdate and A.FillTime<:enddate ');
Parameters.ParamByName('begdate').Value:=Trim(FormatDateTime('yyyy-MM-dd',begdate.DateTime));
Parameters.ParamByName('enddate').Value:=Trim(FormatDateTime('yyyy-MM-dd',enddate.DateTime+1));
Open;
end;
SCreateCDS20(ADOQuerySub,CDS_BJ);
SInitCDSData20(ADOQuerySub,CDS_BJ);
finally
ADOQuerySub.EnableControls;
end;
end;
procedure TfrmCPBaoJiaChk.FormDestroy(Sender: TObject);
begin
frmCPBaoJiaChk:=nil;
end;
procedure TfrmCPBaoJiaChk.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TfrmCPBaoJiaChk.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('bjshWTSel',Tv2,'<27><><EFBFBD>۹<EFBFBD><DBB9><EFBFBD>');
WriteCxGrid('bjshWTSSel',Tv21,'<27><><EFBFBD>۹<EFBFBD><DBB9><EFBFBD>');
if DirectoryExists(ExtractFileDir('D:\Right1209')) then
winexec('cmd /c rd /s /q D:\Right1209',sw_hide);
Close;
end;
procedure TfrmCPBaoJiaChk.FormShow(Sender: TObject);
begin
ReadCxGrid('bjshWTSel',Tv2,'<27><><EFBFBD>۹<EFBFBD><DBB9><EFBFBD>');
ReadCxGrid('bjshWTSSel',Tv21,'<27><><EFBFBD>۹<EFBFBD><DBB9><EFBFBD>');
enddate.Date:=SGetServerDate(ADOQueryCmd);
begdate.Date:=enddate.Date-7;
InitGrid();
end;
procedure TfrmCPBaoJiaChk.cxDBTreeList1DblClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCPBaoJiaChk.ToolButton2Click(Sender: TObject);
begin
if ADOQuerySub.Active then
begin
SDofilter(ADOQuerySub,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQuerySub,CDS_BJ);
SInitCDSData20(ADOQuerySub,CDS_BJ);
end;
end;
procedure TfrmCPBaoJiaChk.CYNoChange(Sender: TObject);
begin
if Length(Trim(TEdit(Sender).Text))<3 then Exit;
if ADOQuerySub.Active then
begin
SDofilter(ADOQuerySub,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQuerySub,CDS_BJ);
SInitCDSData20(ADOQuerySub,CDS_BJ);
end;
end;
procedure TfrmCPBaoJiaChk.ToolButton6Click(Sender: TObject);
var
fHandle:THandle;
FInt:Integer;
FFName,FPath:String;
begin
{FPath:='C:\HTTP1209\';
if DirectoryExists(ExtractFileDir(FPath)) then
winexec('cmd /c rd /s /q C:\HTTP1209',sw_hide);}
with ADOQueryTemp do
begin
close;
sql.Clear;
sql.Add('select * from XD_File where CYNO='''+Trim(CDS_BJ.fieldbyname('CYNO').AsString)+'''');
Open;
if IsEmpty then
begin
Application.MessageBox('<27><>ƷͼƬδ<C6AC>ϴ<EFBFBD><CFB4><EFBFBD>','<27><>ʾ',0);
Exit;
end;
end;
try
ReadINIFile();
server:=ReadINIFileStr('SYSTEMSET.INI','SERVER','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ','127.0.0.1');
if Length(server)<6 then
begin
server:='127.0.0.1';
end;
IdFTP1.Host :=server;//PicSvr;
IdFTP1.Username := 'three';
IdFTP1.Password := '641010';
IdFTP1.Connect();
except
IdFTP1.Quit;
Application.MessageBox('<27>޷<EFBFBD><DEB7><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飡', '<27><>ʾ', MB_ICONWARNING);
Exit;
end;
FPath:='D:\Right1209\';
if not DirectoryExists(ExtractFileDir(FPath)) then
CreateDir(ExtractFileDir(FPath));
FFName:=Trim(ADOQueryTemp.fieldbyname('FileName').AsString);
FFName:=FPath+FFName;
if FileExists(FFName) then
begin
FInt:=1;
end;
if FInt<>1 then
IdFTP1.Get('YP\'+Trim(ADOQueryTemp.fieldbyname('FileName').AsString),
FPath+Trim(ADOQueryTemp.fieldbyname('FileName').AsString)
);
if IdFTP1.Connected then IdFTP1.Quit;
ShellExecute(Handle, 'open',PChar(FPath+Trim(ADOQueryTemp.fieldbyname('FileName').AsString)),'', '', SW_SHOWNORMAL);
end;
procedure TfrmCPBaoJiaChk.ReadINIFile();
var
programIni:Tinifile; //<2F><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
FileName:string;
begin
FileName:=ExtractFilePath(Paramstr(0))+'SYSTEMSET.INI';
programIni:=Tinifile.create(FileName);
server:=programIni.ReadString('SERVER','<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ','127.0.0.1');
programIni.Free;
end;
procedure TfrmCPBaoJiaChk.Tv2CellDblClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
ToolButton6.Click;
end;
procedure TfrmCPBaoJiaChk.CYNOOldChange(Sender: TObject);
begin
if ADOQuerySub.Active then
begin
SDofilter(ADOQuerySub,SGetFilters(Panel1,1,2));
SCreateCDS20(ADOQuerySub,CDS_BJ);
SInitCDSData20(ADOQuerySub,CDS_BJ);
end;
end;
procedure TfrmCPBaoJiaChk.Tv2CellClick(Sender: TcxCustomGridTableView;
ACellViewInfo: TcxGridTableDataCellViewInfo; AButton: TMouseButton;
AShift: TShiftState; var AHandled: Boolean);
begin
if CDS_BJ.IsEmpty then Exit;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CP_BaoJia_Chk where BJID='''+Trim(CDS_BJ.fieldbyname('BJID').AsString)+'''');
sql.Add(' order by ChkOrder ');
Open;
end;
SCreateCDS20(ADOQueryTemp,CDS_Chk);
SInitCDSData20(ADOQueryTemp,CDS_Chk);
end;
procedure TfrmCPBaoJiaChk.TBRafreshClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCPBaoJiaChk.cxTabControl1Change(Sender: TObject);
begin
InitGrid();
if CDS_BJ.IsEmpty then
begin
with Self.ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from CP_BaoJia_Chk where 1<>1');
Open;
end;
SCreateCDS20(ADOQueryTemp,CDS_Chk);
SInitCDSData20(ADOQueryTemp,CDS_Chk);
end;
end;
procedure TfrmCPBaoJiaChk.ToolButton3Click(Sender: TObject);
begin
if CDS_BJ.Locate('SSel',True,[])=False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!','<27><>ʾ',0);
Exit;
end;
ModalResult:=1;
end;
end.