📄 udm_jglr.pas
字号:
unit uDM_JGLR;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComServ, ComObj, VCLCom, StdVcl, bdemts, DataBkr, DBClient, Variants,
MtsRdm, Mtx, PJGLR_TLB, Provider, DB, ADODB, winsock, IniFiles, EncdDecd;
const
MsgCaption = '提示信息';
INIFILENAME = 'jtpnet.ini';
INISYSTEMTYPE = 'gjjjglr';
INIGJJMX = 'Gjjmx';
INIDCOM = 'DCOM';
INIJGSJJH = 'OnLineConfig';
INICWBB = 'CwglZw';
// INICWBB = 'CwglBb';
INISERVER = 'ServerName';
INIDATABASE = 'DatabaseName';
INIDATABASETYPE = 'DatabaseSel';
INICITYCFG = 'JgCityConfig';
INIODBCDSNTYPE = 'OdbcDsnType';
INIODBCDSNNAME = 'OdbcDsnName';
INIODBCUSER = 'OdbcUser';
INIODBCPASSWORD = 'OdbcPassword';
INTERFACETYPE = 'InterfaceType';
CONNECTDBUSER = 'jtpsoftadmin';
CONNECTDBPASSWORD = 'adminconnect';
type
TJGLRServer = class(TMtsDataModule, IJGLRServer)
Conn_User: TADOConnection;
Tab_User: TADOTable;
Qry_User: TADOQuery;
SP_User: TADOStoredProc;
DS_User: TDataSource;
SP_Login: TADOStoredProc;
Qry_Bbml: TADOQuery;
Qry_Dsbb: TADOQuery;
Qry_GS: TADOQuery;
Conn_Gjj: TADOConnection;
SP_ZcfzbGjj: TADOStoredProc;
SP_ZzsybGjj: TADOStoredProc;
SP_ZzsyfpbGjj: TADOStoredProc;
SP_ZcfzbJf: TADOStoredProc;
SP_ZfszbJf: TADOStoredProc;
SP_Zhksyeb: TADOStoredProc;
SP_Zfgjjtjb: TADOStoredProc;
SP_Xmdkb: TADOStoredProc;
Qry_Jtb: TADOQuery;
Conn_Cw: TADOConnection;
SP_GetData: TADOStoredProc;
dsp_LR: TDataSetProvider;
cds_LR: TClientDataSet;
ads_LR: TADODataSet;
cds_Gjj: TClientDataSet;
dsp_Gjj: TDataSetProvider;
ads_Gjj: TADODataSet;
ads_Cw: TADODataSet;
dsp_Cw: TDataSetProvider;
cds_Cw: TClientDataSet;
Sp_RelationSav: TADOStoredProc;
Sp_RelationDel: TADOStoredProc;
Sp_GjSumv: TADOStoredProc;
Sp_GjSumh: TADOStoredProc;
Sp_GjGet: TADOStoredProc;
SP_Calc: TADOStoredProc;
dspYj: TDataSetProvider;
spYja: TADOStoredProc;
spYjb: TADOStoredProc;
spYjc: TADOStoredProc;
spYjd: TADOStoredProc;
spYje: TADOStoredProc;
spYjf: TADOStoredProc;
spYjg: TADOStoredProc;
spYjh: TADOStoredProc;
spYji: TADOStoredProc;
spYjj: TADOStoredProc;
cdsYj: TClientDataSet;
adoDs: TADODataSet;
spYjk: TADOStoredProc;
qryDs: TADOQuery;
procedure MtsDataModuleCreate(Sender: TObject);
procedure MtsDataModuleDeactivate(Sender: TObject);
private
{ Private declarations }
fInterfaceType: smallint;
function f_Connect(const ConnLx: smallint; const cServer, cDB: string):
boolean;
function F_GjjConnect(const ConnLx: smallint; const cServer, cDB: string):
boolean;
function F_CWConnect(const ConnLx: smallint; const cServer, cDB: string):
boolean;
procedure ReadCityIniCfg(var sDSN, sUSR, sPWD: String;
var nDSNType, nInterfaceType: Smallint);
function ConnectInterface:Boolean;
function ConnectInterfaceXh(const sSec:String):Boolean;
procedure ReadCityIniCfgXh(const sSec: String; var sDSN, sUSR, sPWD, sSrv, sDB: String;
var nDSNType, nInterfaceType, nType: Smallint);
function ConnectServer(const cSystem: string): string;
function ConnectDatabase(const cSystem: string): string;
function DatabaseType(const cSystem: string): integer;
//function LocalIP : string;
function ReadIniStr(const Files, Section, IDent: string): string;
//procedure WriteIniStr(const Files, Section, IDent, Value: string);
function ReadIniInt(const Files, Section, IDent: string): integer;
//procedure WriteIniInt(const Files, Section, IDent: string; const Value: integer);
function SystemPath: string;
protected
class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID:
string); override;
procedure fLogin(const Uid, Pwd: WideString; var UserName, UserQx,
Ssds: WideString; var lResult: Integer); safecall;
procedure fUserDel(const UserId: WideString; var lResult: Integer);
safecall;
procedure fUserInf(var vData: OleVariant); safecall;
procedure fUserSav(const UserId, UserName, UserPwd, UserQx,
Ssds: WideString; var lResult: Integer); safecall;
procedure fBbmlDel(const sBbbh: WideString; var lResult: Integer);
safecall;
procedure fBbmlInf(var vData: OleVariant); safecall;
procedure fBbmlSav(const sBbbh, sBbdm, sBbmc: WideString;
var lResult: Integer); safecall;
procedure fBbgsDel(const sDsbh, sBbbh: WideString; lGslx: Integer;
var lResult: Integer); safecall;
procedure fBbgsInf(const sDsbh, sBbbh: WideString; lGslx: Integer;
var vData: OleVariant); safecall;
procedure fBbgsInf1(const sDsbh, sBbbh: WideString; var vData: OleVariant);
safecall;
procedure fBbgsSav(const sDsbh, sBbbh, sGs: WideString; lRow, lCol,
lGslx: Integer; var lResult: Integer); safecall;
procedure fCwConnected(var lResult: Integer); safecall;
procedure fGjjConnected(var lResult: Integer); safecall;
procedure fZcfzbGjjInf(const sNy: WideString; var vData: OleVariant);
safecall;
procedure fZcfzbGjjSav(const sNy: WideString; aAry: OleVariant;
var lResult: Integer); safecall;
procedure fZzsybGjjInf(const sNy: WideString; var vData: OleVariant);
safecall;
procedure fZzsybGjjSav(const sNy: WideString; aAry: OleVariant;
var lResult: Integer); safecall;
procedure fJfszbJfInf(const sNy: WideString; var vData: OleVariant);
safecall;
procedure fJfszbJfSav(const sNy: WideString; aAry: OleVariant;
var lResult: Integer); safecall;
procedure fZcfzbJfInf(const sNy: WideString; var vData: OleVariant);
safecall;
procedure fZcfzbJfSav(const sNy: WideString; aAry: OleVariant;
var lResult: Integer); safecall;
procedure fZzsyfpbGjjInf(const sNy: WideString; var vData: OleVariant);
safecall;
procedure fZzsyfpbGjjSav(const sNy: WideString; aAry: OleVariant;
var lResult: Integer); safecall;
procedure fZhksyebInf(const sNy, sZhmc: WideString; var vData: OleVariant);
safecall;
procedure fZhksyebSav(const sNy, sZhmc, sKhyh, sYhzh: WideString;
aAry: OleVariant; var lResult: Integer); safecall;
procedure fZfgjjtjbInf(const sNy: WideString; var vData: OleVariant);
safecall;
procedure fZfgjjtjbSav(const sNy: WideString; aAry, aAry0: OleVariant;
var lResult: Integer); safecall;
procedure fXmdkbInf(const sNy: WideString; var vData: OleVariant);
safecall;
procedure fXmdkbSav(const sNy, sXh, sDwmc, sXmmc, sLxspjg, sDkhth,
sFfrq: WideString; lDkqx: Integer; aAry: OleVariant;
var lResult: Integer); safecall;
procedure fGetData(const sBbNumber, sDptNumber, sZth, sBbDate: WideString;
lCol, lRow: Integer; var lResult: WideString); safecall;
procedure fRelation(const sBbNumber: WideString; var vData: OleVariant);
safecall;
procedure fRelationSav(const sBbNumber: WideString; lRelationNo: Integer;
const sRelationL, sRelation, sRelationR: WideString;
var lResult: Integer); safecall;
procedure fRelationDel(const sBbNumber: WideString; lRelationNo: Integer;
var lResult: Integer); safecall;
procedure fGjGet(lCol, lRow: Integer; const sBbNum, sDptNum,
sDate: WideString; var dResult: Double); safecall;
procedure fGjSumH(lCol, lRowb, lRowe: Integer; const sBbNum, sDptNum,
sDate: WideString; var dResult: Double); safecall;
procedure fGjSumV(lColb, lCole, lRow: Integer; const sBbNum, sDptNum,
sDate: WideString; var dResult: Double); safecall;
procedure fBbSav(const sBbbh: WideString; vData: OleVariant;
var lResult: Integer); safecall;
procedure fBbWj(const sBbbh: WideString; var vData: OleVariant;
var lResult: Integer); safecall;
procedure fGetBbData(const sNy, sBb: WideString; var vData: OleVariant);
safecall;
procedure fZhksyebInf1(const sNy: WideString; var vData: OleVariant);
safecall;
procedure fGetGjjtjb(const sDate1, sDate2: WideString; var aAry,
aAry0: OleVariant); safecall;
procedure fGetYhxx(const sKmdm: WideString; var sKhyh, sYhzh: WideString);
safecall;
procedure fCwcalc(const sKm, sRq, sJzny: WideString; lFunc: Integer;
lPz: Smallint; var dResult: Double); safecall;
procedure fDataChk(var sResult: OleVariant); safecall;
procedure fYjA(const sDate1, sDate2: WideString; fRecMax: Double;
lRecUse: WordBool; fDayMax: Double; lDayUse: WordBool;
fMonMax: Double; lMonUse: WordBool; const sDwdkKm: WideString;
lDwdkUse: WordBool; const sXmdkKm: WideString; lXmdkUse: WordBool;
out vRec: OleVariant); safecall;
procedure fYjB(const sDate: WideString; iGdMax, iGdMin: Integer;
lGdUse: WordBool; iGdqxMax, iGdqxMin: Smallint; lGdqxUse: WordBool;
iJkcs: Smallint; lJkcsUse: WordBool; iYqqxMax, iYqqxJsr: Smallint;
lYqqxUse: WordBool; out vRec: OleVariant); safecall;
procedure fYjC(iFfcsMax, iFfcsTime: Smallint; lFfcsuse: WordBool;
out vRec: OleVariant); safecall;
procedure fYjD(const sDate1, sDate2: WideString; iGzjjMax: Integer;
lGzjjUse: WordBool; iGdjjMax: Integer; lGdjjUse: WordBool;
iTqMax: Integer; lTqUse: WordBool; out vRec: OleVariant); safecall;
procedure fYjE(iKhs: Smallint; const sBm, sMc: WideString;
out vRec: OleVariant); safecall;
procedure fYjF(const sDate: WideString; fLzzjBl: Double;
const sLzzjKm: WideString; lLzzjUse: WordBool; fFxzbBl: Double;
const sFxzbKm: WideString; lFxzbUse: WordBool; fZxjfBl: Double;
const sZxjfKm: WideString; lZxjfUse: WordBool; out vRec: OleVariant);
safecall;
procedure fYjG(const aZxrq, aHqll, aDqll, aDkqx, aDkll, aFxll: WideString;
out vRec: OleVariant); safecall;
procedure fYjH(const sDate, sZzglfKm: WideString; lZzglfUse: WordBool;
out vRec: OleVariant); safecall;
procedure fYjI(const sDate: WideString; fGjsxfBl: Double;
const sGjsxfKm: WideString; lGjsxfUse: WordBool; fDksxfBl: Double;
const sDksxfKm: WideString; lDksxfUse: WordBool;
out vRec: OleVariant); safecall;
procedure fYjJ(const sDate: WideString; fZxyskFse, fZxyskYe: Double;
const sZxyskKm: WideString; lZxyskUse: WordBool; fZxyfkFse,
fZxyfkYe: Double; const sZxyfkKm: WideString; lZxyfkUse: WordBool;
fQtyskFse, fQtyskYe: Double; const sQtyskKm: WideString;
lQtyskUse: WordBool; fQtyfkFse, fQtyfkYe: Double;
const sQtyfkKm: WideString; lQtyfkUse: WordBool;
out vRec: OleVariant); safecall;
procedure fGjjCx(const sCmd: WideString; var vData: OleVariant); safecall;
function fKmInfo(var vRec: OleVariant): Smallint; safecall;
function fYjK(out vRec: OleVariant): Smallint; safecall;
function SearchFinanceDetailedLedger(const sYearMonth,
sSubject: WideString; out vRec: OleVariant): Smallint; safecall;
function SearchFinanceGenerlLedger(const sYearMonth, sSubject: WideString;
nOrientation: Smallint; out vRec: OleVariant): Smallint; safecall;
function SearchFinanceWarrant(const sDate, sNum: WideString;
out vRec: OleVariant): Smallint; safecall;
function SearchGZ(const sDate, sPz, nQx, fGmje: WideString;
out vRec: OleVariant): Smallint; safecall;
function SearchGZDetail(const sGzpzh: WideString;
out vRec: OleVariant): Smallint; safecall;
function SearchSurveillanceDetailed(const sDate: WideString; nType,
nTypeItem: Smallint; const sOther: WideString; nOther: Double;
out vRec: OleVariant): Smallint; safecall;
function SetConnectXh(nConnectXh: Smallint): Smallint; safecall;
public
{ Public declarations }
end;
var
JGLRServer: TJGLRServer;
implementation
{$R *.DFM}
class procedure TJGLRServer.UpdateRegistry(Register: Boolean; const ClassID,
ProgID: string);
begin
if Register then
begin
inherited UpdateRegistry(Register, ClassID, ProgID);
EnableSocketTransport(ClassID);
EnableWebTransport(ClassID);
end
else
begin
DisableSocketTransport(ClassID);
DisableWebTransport(ClassID);
inherited UpdateRegistry(Register, ClassID, ProgID);
end;
end;
function TJGLRServer.ConnectServer(const cSystem: string): string;
begin
Result := ReadIniStr(SystemPath() + INIFILENAME, cSystem, INISERVER);
end;
function TJGLRServer.ConnectDatabase(const cSystem: string): string;
begin
Result := ReadIniStr(SystemPath() + INIFILENAME, cSystem, INIDATABASE);
end;
function TJGLRServer.DatabaseType(const cSystem: string): Integer;
begin
Result := ReadIniInt(SystemPath() + INIFILENAME, cSysTem, INIDATABASETYPE);
end;
{
function TJGLRServer.LocalIP : string;
//求取本机IP地址
var
Ipstr:string;
buffer:array[1..32] of char;
ni:integer;
WSData:TWSAData;
Host:PHostEnt;
begin
Ipstr:='';
if WSAstartup(2,WSData)=0 then //为程序使用WS2_32.DLL初始化
begin
if gethostname(@buffer[1],32)=0 then
begin
Host:=gethostbyname(@buffer[1]);
if Host<>nil then
begin
for ni:=1 to 4 do
begin
Ipstr:=Ipstr+inttostr(Ord(Host.h_addr^[ni-1]));
if ni<4 then
Ipstr:=Ipstr+'.'
end;
end;
end;
end;
result:=Ipstr;
end; }
function TJGLRServer.ReadIniStr(const Files, Section, IDent: string): string;
//读取ini文件中的字符串内容
var
mIni: tIniFile;
cItem: string;
begin
cItem := '';
if FileExists(Files) then
begin
mIni := tIniFile.Create(Files);
cItem := mIni.ReadString(Section, Ident, '');
mIni.Free;
end;
Result := cItem;
end;
{
procedure TJGLRServer.WriteIniStr(const Files, Section, IDent, Value: string);
//写入ini文件中的字符串内容
var
mIni: tIniFile;
begin
mIni := tIniFile.Create(Files);
mIni.WriteString(Section, Ident, Value);
mIni.Free;
end; }
function TJGLRServer.ReadIniInt(const Files, Section, IDent: string): integer;
//读取ini文件中的整型内容
var
mIni: tIniFile;
iItem: integer;
begin
iItem := 0;
if FileExists(Files) then
begin
mIni := tIniFile.Create(Files);
iItem := mIni.ReadInteger(Section, iDent, 0);
mIni.Free;
end;
Result := iItem;
end;
{
procedure TJGLRServer.WriteIniInt(const Files, Section, IDent: string; const Value: integer);
//写入ini文件中的整型内容
var
mIni: tIniFile;
begin
mIni := tIniFile.Create(Files);
mIni.WriteInteger(Section, Ident, Value);
mIni.Free;
end; }
function TJGLRServer.f_Connect(const ConnLx: smallint; const cServer, cDB:
string): boolean;
begin
result := False;
self.Conn_User.Close;
case ConnLx of
2: self.Conn_User.ConnectionString := 'Provider=SQLOLEDB.1;Password=' +
CONNECTDBPASSWORD + ';User ID=' + CONNECTDBUSER + ';Initial Catalog=' +
cDB + ';Data Source=' + cServer;
4: self.Conn_User.ConnectionString := 'Provider=MSDASQL.1;Password=' +
CONNECTDBPASSWORD + ';Persist Security Info=True;User ID=' +
CONNECTDBUSER + ';Extended Properties="DRIVER={sybase system 11};UID=' +
CONNECTDBUSER + ';PWD=' + CONNECTDBPASSWORD + ';SRVR=' + cServer + ';DB='
+ cDB + '"';
else
self.Conn_User.ConnectionString := '';
end;
if self.Conn_User.ConnectionString <> '' then
begin
try
self.Conn_User.Open();
result := True;
except
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -