D7XHshengfang/盛纺贸易管理/U_HuiruhGPIjiluCX.pas
DESKTOP-E401PHE\Administrator 0cb161cfb3 ~
2025-04-30 23:58:03 +08:00

333 lines
8.9 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_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.