333 lines
8.9 KiB
ObjectPascal
333 lines
8.9 KiB
ObjectPascal
![]() |
unit U_HuiruhGPIjiluCX;
|
|||
|
|
|||
|
interface
|
|||
|
|
|||
|
uses
|
|||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
|||
|
Dialogs, StdCtrls, ExtCtrls, ComCtrls, ToolWin, cxStyles, cxCustomData,
|
|||
|
cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, ADODB,
|
|||
|
cxGridCustomPopupMenu, cxGridPopupMenu, cxGridLevel, cxClasses, cxControls,
|
|||
|
cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView,
|
|||
|
cxGrid, DBClient, cxCalendar, cxButtonEdit, cxSplitter, RM_Common, RM_Class,
|
|||
|
RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxTextEdit, cxPC,
|
|||
|
cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, IdIOHandler,
|
|||
|
IdIOHandlerSocket, IdSSLOpenSSL, IdBaseComponent, IdComponent, IdTCPConnection,
|
|||
|
IdTCPClient, IdHTTP, superobject, uJSONDB;
|
|||
|
|
|||
|
type
|
|||
|
TfrmHuiruhGPIjiluCX = class(TForm)
|
|||
|
ToolBar1: TToolBar;
|
|||
|
TBRafresh: TToolButton;
|
|||
|
TBFind: TToolButton;
|
|||
|
TBClose: TToolButton;
|
|||
|
Panel1: TPanel;
|
|||
|
BegDate: TDateTimePicker;
|
|||
|
EndDate: TDateTimePicker;
|
|||
|
Label1: TLabel;
|
|||
|
cxGridPopupMenu1: TcxGridPopupMenu;
|
|||
|
ADOQueryCmd: TADOQuery;
|
|||
|
ADOQueryMain: TADOQuery;
|
|||
|
ADOQueryTemp: TADOQuery;
|
|||
|
DataSource1: TDataSource;
|
|||
|
TBExport: TToolButton;
|
|||
|
Order_Main: TClientDataSet;
|
|||
|
RMXLSExport1: TRMXLSExport;
|
|||
|
cxGrid1: TcxGrid;
|
|||
|
Tv1: TcxGridDBTableView;
|
|||
|
TV1status: TcxGridDBColumn;
|
|||
|
v1payAccpayName: TcxGridDBColumn;
|
|||
|
V1remitCurCode: TcxGridDBColumn;
|
|||
|
cxGrid1Level1: TcxGridLevel;
|
|||
|
v1Date: TcxGridDBColumn;
|
|||
|
v1amt: TcxGridDBColumn;
|
|||
|
IdHTTP1: TIdHTTP;
|
|||
|
IdSSLIOHandlerSocket1: TIdSSLIOHandlerSocket;
|
|||
|
Label11: TLabel;
|
|||
|
Label2: TLabel;
|
|||
|
Label3: TLabel;
|
|||
|
Panel8: TPanel;
|
|||
|
LBCPAP: TLabel;
|
|||
|
BTNP: TButton;
|
|||
|
BTLP: TButton;
|
|||
|
Label4: TLabel;
|
|||
|
Label31: TLabel;
|
|||
|
TCBNOR: TComboBox;
|
|||
|
Label5: TLabel;
|
|||
|
Label6: TLabel;
|
|||
|
payName: TEdit;
|
|||
|
status: TComboBox;
|
|||
|
Tv1Column1: TcxGridDBColumn;
|
|||
|
procedure FormDestroy(Sender: TObject);
|
|||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
procedure TBCloseClick(Sender: TObject);
|
|||
|
procedure TBFindClick(Sender: TObject);
|
|||
|
procedure TBExportClick(Sender: TObject);
|
|||
|
procedure TBRafreshClick(Sender: TObject);
|
|||
|
procedure memoMsgContextChange(Sender: TObject);
|
|||
|
procedure FormShow(Sender: TObject);
|
|||
|
procedure cxPageControl1Change(Sender: TObject);
|
|||
|
procedure BTNPClick(Sender: TObject);
|
|||
|
procedure BTLPClick(Sender: TObject);
|
|||
|
procedure payNameChange(Sender: TObject);
|
|||
|
procedure statusChange(Sender: TObject);
|
|||
|
|
|||
|
private
|
|||
|
FInt, PFInt: Integer;
|
|||
|
CurrentPage: integer;
|
|||
|
result: boolean;
|
|||
|
procedure InitGrid();
|
|||
|
procedure InitForm();
|
|||
|
function DelData(): Boolean;
|
|||
|
function SendRequest(): boolean;
|
|||
|
{ Private declarations }
|
|||
|
public
|
|||
|
{ Public declarations }
|
|||
|
end;
|
|||
|
|
|||
|
var
|
|||
|
frmHuiruhGPIjiluCX: TfrmHuiruhGPIjiluCX;
|
|||
|
|
|||
|
implementation
|
|||
|
|
|||
|
uses
|
|||
|
U_DataLink, U_Fun, U_ZDYHelp;
|
|||
|
|
|||
|
|
|||
|
{$R *.dfm}
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.FormDestroy(Sender: TObject);
|
|||
|
begin
|
|||
|
frmHuiruhGPIjiluCX := nil;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.FormClose(Sender: TObject; var Action: TCloseAction);
|
|||
|
begin
|
|||
|
Action := caFree;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.TBCloseClick(Sender: TObject);
|
|||
|
begin
|
|||
|
Close;
|
|||
|
WriteCxGrid('<27><><EFBFBD><EFBFBD>GPI<50><49>¼<EFBFBD><C2BC>ѯ<EFBFBD>ӿ<EFBFBD>', Tv1, 'ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|||
|
end;
|
|||
|
|
|||
|
function TfrmHuiruhGPIjiluCX.SendRequest(): boolean;
|
|||
|
var
|
|||
|
s, t, m, w: string;
|
|||
|
IdHTTP: TIdHTTP;
|
|||
|
SendStr, Response, Response1, x, y, z, q: string;
|
|||
|
Request: TStrings;
|
|||
|
vJson, vRet: ISuperObject;
|
|||
|
ja: TSuperArray;
|
|||
|
begin
|
|||
|
// SendStr:='{"beginDate":"20230622","endDate":"20230622","pageSize":100,"currentPage":1}';
|
|||
|
s := FormatDateTime('yyyyMMdd', BegDate.DateTime);
|
|||
|
m := FormatDateTime('yyyyMMdd', EndDate.DateTime);
|
|||
|
t := FloatToStr(currentPage);
|
|||
|
// w := TCBNOR.Text;
|
|||
|
x := '{"beginDate": ' + '"' + s + '"';
|
|||
|
y := x + ',"endDate":' + '"' + m + '"';
|
|||
|
// q := y + ',"pageSize":' + w + '';
|
|||
|
SendStr := y + ',"pageSize":100,"currentPage":' + t + '}';
|
|||
|
|
|||
|
vJson := SO(SendStr);
|
|||
|
IdHTTP := TIdHTTP.Create(nil);
|
|||
|
IdHTTP.Request.ContentType := 'application/json';
|
|||
|
Request := TStringList.Create;
|
|||
|
result := false;
|
|||
|
try
|
|||
|
|
|||
|
Request.Append(utf8Encode(vJson.AsString));
|
|||
|
Response := IdHTTP.Post('http://www.rightsoft.top/shengfang/api/nbBank/easyInboundQuery ', Request);
|
|||
|
|
|||
|
vRet := SO(Response);
|
|||
|
if trim(vRet['msg'].AsString) = 'SUCCESS' then
|
|||
|
begin
|
|||
|
Response1 := vRet['data'].AsString;
|
|||
|
vRet := SO(Response1);
|
|||
|
Label3.caption := vRet['totalSize'].AsString;
|
|||
|
Label4.caption := vRet['totalPage'].AsString;
|
|||
|
Label11.Caption := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' + vRet['totalSize'].AsString;
|
|||
|
Label2.Caption := '<27><>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD>' + vRet['totalPage'].AsString;
|
|||
|
ja := vRet['list'].AsArray;
|
|||
|
TJSONDB.JsonToClientDataSet(ja, Order_Main);
|
|||
|
|
|||
|
result := true;
|
|||
|
end;
|
|||
|
finally
|
|||
|
Request.Free;
|
|||
|
IdHTTP.free;
|
|||
|
end;
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.InitGrid();
|
|||
|
begin
|
|||
|
if Order_Main.IsEmpty = False then
|
|||
|
Order_Main.EmptyDataSet;
|
|||
|
|
|||
|
SendRequest();
|
|||
|
LBCPAP.Caption := inttostr(CurrentPage) + '/' + label4.Caption;
|
|||
|
end;
|
|||
|
//var
|
|||
|
// SS: TStringStream;
|
|||
|
// HttpClient: TIdHttp;
|
|||
|
// ParamList: TStringS;
|
|||
|
//begin
|
|||
|
//// SS := TStringStream.Create('', TEncoding.UTF8);
|
|||
|
// SS := TStringStream.Create('');
|
|||
|
// HttpClient := TIdHttp.Create(nil);
|
|||
|
// ParamList := TStringList.Create;
|
|||
|
//
|
|||
|
// try
|
|||
|
// ParamList.Add('"beginDate":"20230101"');
|
|||
|
// ParamList.Add('"endDate":"20230529"');
|
|||
|
// ParamList.Add('"pageSize":100');
|
|||
|
// ParamList.Add('"currentPage":1');
|
|||
|
//
|
|||
|
//// ParamList.Add('MsgContext=' + memoMsgContext.Text);
|
|||
|
//// ParamList.Add('MsgContext=' + HTTPEncode(UTF8Encode(memoMsgContext.Text)));
|
|||
|
// HttpClient.Post('http://101.132.146.12/sf/api/nbBank/easyInboundQuery', ParamList, SS);
|
|||
|
//
|
|||
|
// MemoResult.Text := SS.DataString;
|
|||
|
// finally
|
|||
|
// SS.Free;
|
|||
|
// HttpClient.Free;
|
|||
|
// ParamList.Free;
|
|||
|
// end;
|
|||
|
//end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.InitForm();
|
|||
|
begin
|
|||
|
ReadCxGrid('<27><>Ӧ<EFBFBD>̻<EFBFBD><CCBB><EFBFBD>', Tv1, 'ָʾ<D6B8><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
|
|||
|
BegDate.DateTime := SGetServerDate10(ADOQueryTemp) - 60;
|
|||
|
EndDate.DateTime := SGetServerDate10(ADOQueryTemp);
|
|||
|
InitGrid();
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.TBFindClick(Sender: TObject);
|
|||
|
begin
|
|||
|
if Order_Main.Active = False then
|
|||
|
Exit;
|
|||
|
SDofilter10(Order_Main, SGetFilters(Panel1, 1, 2));
|
|||
|
// cxDataSetCreateBookmark(,)
|
|||
|
// SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
|||
|
// TJSONDB.JsonToClientDataSet(ja, Order_Main);
|
|||
|
// SCreateCDS20(ADOQueryMain, Order_Main);
|
|||
|
// SInitCDSData20(ADOQueryMain, Order_Main);
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
function TfrmHuiruhGPIjiluCX.DelData(): Boolean;
|
|||
|
begin
|
|||
|
try
|
|||
|
Result := false;
|
|||
|
ADOQueryCmd.Connection.BeginTrans;
|
|||
|
with ADOQueryCmd do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('delete ContractSX_Sub where SubId=''' + Trim(Order_Main.fieldbyname('SubId').AsString) + '''');
|
|||
|
ExecSQL;
|
|||
|
end;
|
|||
|
with ADOQueryTemp do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('select * from ContractSX_Sub where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
|
|||
|
Open;
|
|||
|
end;
|
|||
|
if ADOQueryTemp.IsEmpty then
|
|||
|
begin
|
|||
|
with ADOQueryCmd do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('delete ContractSX_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
|
|||
|
ExecSQL;
|
|||
|
end;
|
|||
|
end;
|
|||
|
if Trim(Order_Main.fieldbyname('SubId').AsString) = '' then
|
|||
|
begin
|
|||
|
with ADOQueryCmd do
|
|||
|
begin
|
|||
|
Close;
|
|||
|
sql.Clear;
|
|||
|
sql.Add('delete ContractSX_Main where MainId=''' + Trim(Order_Main.fieldbyname('MainId').AsString) + '''');
|
|||
|
ExecSQL;
|
|||
|
end;
|
|||
|
end;
|
|||
|
ADOQueryCmd.Connection.CommitTrans;
|
|||
|
Result := True;
|
|||
|
except
|
|||
|
ADOQueryCmd.Connection.RollbackTrans;
|
|||
|
Result := False;
|
|||
|
Application.MessageBox('<27><><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>쳣<EFBFBD><ECB3A3>', '<27><>ʾ', 0);
|
|||
|
end;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.TBExportClick(Sender: TObject);
|
|||
|
begin
|
|||
|
if ADOQueryMain.IsEmpty then
|
|||
|
Exit;
|
|||
|
TcxGridToExcel('<27><><EFBFBD><EFBFBD>GPI<50><49>¼<EFBFBD><C2BC>ѯ<EFBFBD>ӿ<EFBFBD><D3BF>б<EFBFBD>', cxGrid1);
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.TBRafreshClick(Sender: TObject);
|
|||
|
begin
|
|||
|
InitGrid();
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.memoMsgContextChange(Sender: TObject);
|
|||
|
begin
|
|||
|
if ADOQueryMain.Active = False then
|
|||
|
Exit;
|
|||
|
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
|
|||
|
SCreateCDS20(ADOQueryMain, Order_Main);
|
|||
|
SInitCDSData20(ADOQueryMain, Order_Main);
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.FormShow(Sender: TObject);
|
|||
|
begin
|
|||
|
currentPage := 1;
|
|||
|
InitForm();
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.cxPageControl1Change(Sender: TObject);
|
|||
|
begin
|
|||
|
InitGrid();
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.BTNPClick(Sender: TObject);
|
|||
|
var
|
|||
|
i: double;
|
|||
|
begin
|
|||
|
|
|||
|
i := StrTofloat(Label3.Caption) / 100;
|
|||
|
if CurrentPage < i then
|
|||
|
CurrentPage := CurrentPage + 1;
|
|||
|
InitGrid();
|
|||
|
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.BTLPClick(Sender: TObject);
|
|||
|
begin
|
|||
|
|
|||
|
if CurrentPage > 1 then
|
|||
|
CurrentPage := CurrentPage - 1;
|
|||
|
InitGrid();
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.payNameChange(Sender: TObject);
|
|||
|
begin
|
|||
|
TBFind.Click;
|
|||
|
end;
|
|||
|
|
|||
|
procedure TfrmHuiruhGPIjiluCX.statusChange(Sender: TObject);
|
|||
|
begin
|
|||
|
TBFind.Click;
|
|||
|
end;
|
|||
|
|
|||
|
end.
|
|||
|
|