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.
|
||
|