You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1413 lines
27 KiB
C++

1 year ago
#include "nowjavadll.h"
#include "ParamManager.h"
#include "WriteLog.h"
#include "Global.h"
static CParamMan * pParaManPtr = NULL;
extern "C" NOWJAVADLL_EXPORT int OpenParam(const int model,const char * pInfo,const char * dllpath,const char * libPath,char * TempPath)
{
bool bret;
int iret;
//QString qsid;
QString qinfo;
QString qbPath;
QString qtPath;
QString qname;
char buf[384];
// char libbuf[384];
if( ! dllpath)
{
WRITE_LOG("OpenParam,psiD 为空");
return -1;
}
if( ! pInfo)
{
WRITE_LOG("OpenParam,pInfo 为空");
return -2;
}
if(!libPath)
{
WRITE_LOG("OpenParam,basePath 为空");
return -3;
}
if(!TempPath)
{
WRITE_LOG("OpenParam,TempPath为空");
return -4;
}
memset(buf,0,sizeof(buf));
iret =strlen(dllpath);
if( (iret >=300) || (0 ==iret) )
{
WRITE_LOG("OpenParam,dllpath 长度错误");
return -5;
}
iret =strlen(libPath);
if( (iret >=300) || (0 ==iret) )
{
WRITE_LOG("OpenParam,libPath 长度错误");
return -5;
}
strcpy(buf,libPath);
changechar(buf,'/','\\');
checkPathEnd(buf);
iret = SetLogPath(buf);
if(iret <0)
{
WRITE_LOG("设置log 路径失败 , %s",buf);
return -6;
}
qbPath =buf;
strcpy(buf,dllpath);
changechar(buf,'/','\\');
checkPathEnd(buf);
iret =SetDllPath(buf);
if(iret <0)
{
WRITE_LOG("SetDllPath错误");
return -6;
}
memset(buf,0,sizeof(buf));
iret =strlen(TempPath);
if( (iret >=300) || (0 ==iret) )
{
WRITE_LOG("OpenParam,libPath 长度错误");
return -7;
}
strcpy(buf,TempPath);
changechar(buf,'/','\\');
checkPathEnd(buf);
qtPath =buf;
if(! pParaManPtr)
{
CParamMan * ptr;
ptr = new CParamMan();
if(! ptr)
{
WRITE_LOG("OpenParam, new CParamMan 失败");
return -8;
}
pParaManPtr = ptr;
}
// qsid = psiD;
qinfo = pInfo;
qname = "";
bret =pParaManPtr->OpenParam(NULL,qname,15,0,0,pInfo,qbPath,qtPath);
if(! bret)
{
WRITE_LOG("OpenParam, 调用失败");
delete pParaManPtr;
pParaManPtr =NULL;
return -9;
}
return 0;
}
//卸载参数
extern "C" NOWJAVADLL_EXPORT void CloseParam()
{
if(! pParaManPtr)
{
return ;
}
pParaManPtr->CloseParam();
delete pParaManPtr;
pParaManPtr =NULL;
}
extern "C" NOWJAVADLL_EXPORT int GetVersion(const int PFileId,const int InfoType,char * version,int & versionLen)
{
//char buf[256];
QString qstr;
int iret;
if(! pParaManPtr)
{
return -1;
}
if( ! version )
{
return -2;
}
qstr = pParaManPtr->GetVersion(PFileId,InfoType);
iret = QStr2Utf8(qstr,version,versionLen-1);
if(iret <0)
{
versionLen =0;
return -3;
}
versionLen = iret;
return 0;
}
//获取参数文件时间
extern "C" NOWJAVADLL_EXPORT long long GetGenTime(const int pFileId)
{
if(! pParaManPtr)
{
return -1;
}
QDateTime dTime;
long long lTemp;
dTime = pParaManPtr->GetGenTime(pFileId);
lTemp = dTime.toMSecsSinceEpoch();
return lTemp;
}
//获取参数中文名称
extern "C" NOWJAVADLL_EXPORT int GetParamCName(const int PFileId,char * name,int &nameLen)
{
if(! pParaManPtr)
{
return -1;
}
QString qstr;
int iret;
qstr = pParaManPtr->GetParamCName(PFileId);
iret = QStr2Utf8(qstr,name,nameLen);
if(iret <0)
{
nameLen =0;
return -3;
}
nameLen = iret;
return 0;
}
//获取参数文件名称
extern "C" NOWJAVADLL_EXPORT int GetParamPFName(const int PFileId,char * name,int &nameLen)
{
if(! pParaManPtr)
{
return -1;
}
QString qstr;
int iret;
qstr = pParaManPtr->GetParamPFName(PFileId);
iret = QStr2Utf8(qstr,name,nameLen);
if(iret <0)
{
nameLen =0;
return -3;
}
nameLen = iret;
return 0;
}
extern "C" NOWJAVADLL_EXPORT int GetParamsStatus(char * status,int &statusLen)
{
if(! pParaManPtr)
{
return -1;
}
QString qstr;
int iret;
qstr = pParaManPtr->GetParamsStatus();
iret = QStr2Utf8(qstr,status,statusLen);
if(iret <0)
{
statusLen =0;
return -3;
}
statusLen = iret;
return 0;
}
extern "C" NOWJAVADLL_EXPORT int GetVerInfo(char * result,int &retsultLen)
{
if(! pParaManPtr)
{
return -1;
}
QString qstr;
int iret;
qstr = pParaManPtr->GetVerInfo();
iret = QStr2Utf8(qstr,result,retsultLen);
if(iret <0)
{
retsultLen =0;
return -3;
}
retsultLen = iret;
return 0;
}
//是否节假日
extern "C" NOWJAVADLL_EXPORT bool IsHoliday()
{
if(! pParaManPtr)
{
return false;
}
return pParaManPtr->IsHoliday();
// return true;
}
//获取收费站信息
// iGantryId,iGantryHex,oGantryId,oGantryHex,roadName,stationName
extern "C" NOWJAVADLL_EXPORT int GetStaInfo(const int RoadNo,const int StaNo, int &SubAreaNo, char * result,int &retsultLen) //小片区编号
{
if(! pParaManPtr)
{
return -1;
}
char buf[512];
char tmpbuf[8192];
int iret;
QString iGantryId;
QString iGantryHex;
QString OGantryId;
QString OGantryHex;
QString RoadName;
QString StationName;
memset(tmpbuf,0,sizeof(tmpbuf));
strcpy(tmpbuf,"{\"iGantryId\":\"");
iret = pParaManPtr->GetStaInfo(RoadNo,StaNo, SubAreaNo, iGantryId, iGantryHex, OGantryId, OGantryHex, RoadName, StationName);
if(iret <0)
{
return -2;
}
memset(buf,0,sizeof(buf));
iret = QStr2Utf8(iGantryId,buf,500);
if(iret <0)
{
return -3;
}
strcat(tmpbuf,buf);
strcat(tmpbuf,"\",\"iGantryHex\":\"");
memset(buf,0,sizeof(buf));
iret = QStr2Utf8(iGantryHex,buf,500);
if(iret <0)
{
return -4;
}
strcat(tmpbuf,buf);
strcat(tmpbuf,"\",\"oGantryId\":\"");
memset(buf,0,sizeof(buf));
iret = QStr2Utf8(OGantryId,buf,500);
if(iret <0)
{
return -5;
}
strcat(tmpbuf,buf);
strcat(tmpbuf,"\",\"oGantryHex\":\"");
memset(buf,0,sizeof(buf));
iret = QStr2Utf8(OGantryHex,buf,500);
if(iret <0)
{
return -6;
}
strcat(tmpbuf,buf);
strcat(tmpbuf,"\",\"roadName\":\"");
iret = QStr2Utf8(RoadName,buf,500);
if(iret <0)
{
return -7;
}
strcat(tmpbuf,buf);
strcat(tmpbuf,"\",\"stationName\":\"");
iret = QStr2Utf8(StationName,buf,500);
if(iret <0)
{
return -8;
}
strcat(tmpbuf,buf);
strcat(tmpbuf,"\"}");
iret =strlen(tmpbuf);
if(iret >=retsultLen)
{
return -9;
}
strcpy(result,tmpbuf);
retsultLen = iret;
//WRITE_LOG("stainfo %s ,len is %d",tmpbuf, iRet);
return 0;
}
//获取收费站名称bIncludeRoadName为true包括路段名false不包括
extern "C" NOWJAVADLL_EXPORT int GetStaName(const int RoadNo,const int StaNo,const bool bIncludeRoadName,char * name,int &nameLen)
{
if(! pParaManPtr)
{
return -1;
}
QString qstr;
int iret;
qstr = pParaManPtr->GetStaName(RoadNo,StaNo,bIncludeRoadName);
iret = QStr2Utf8(qstr,name,nameLen);
if(iret <0)
{
nameLen =0;
return -3;
}
nameLen = iret;
return 0;
}
//获取路段名称
extern "C" NOWJAVADLL_EXPORT int GetRoadName(const int RoadNo,char * name,int &nameLen)
{
if(! pParaManPtr)
{
return -1;
}
QString qstr;
int iret;
qstr = pParaManPtr->GetRoadName(RoadNo);
iret = QStr2Utf8(qstr,name,nameLen);
if(iret <0)
{
nameLen =0;
return -3;
}
nameLen = iret;
return 0;
}
extern "C" NOWJAVADLL_EXPORT bool BasicInfoIdFind(const char *keyValue,char * Hex, int & HexLen,
char * Name,int & NameLen)
{
if(! pParaManPtr)
{
return false;
}
QString sKey;
QString sHex;
QString qstr;
bool bret;
int iret;
sKey = keyValue;
// sField = QString::fromLocal8Bit(ResultFieldName);
bret = pParaManPtr->BasicInfoIdFind(sKey,sHex,qstr);
if(! bret)
{
return false;
}
iret = QStr2Utf8(qstr,Hex,HexLen);
if(iret <0)
{
HexLen =0;
return false;
}
HexLen = iret;
iret = QStr2Utf8(qstr,Name,NameLen);
if(iret <0)
{
HexLen =0;
return false;
}
NameLen = iret;
return true;
}
//.获取基本信息
extern "C" NOWJAVADLL_EXPORT bool BasicInfoHexFind(const char * hex,char * Id, int & IdLen,
char * Name,int & NameLen)
{
if(! pParaManPtr)
{
return false;
}
QString sKey;
QString sId;
QString qstr;
bool bret;
int iret;
sKey = QString::fromLocal8Bit(hex);
// sField = QString::fromLocal8Bit(ResultFieldName);
bret = pParaManPtr->BasicInfoHexFind(sKey,sId,qstr);
if(! bret)
{
return false;
}
iret = QStr2Utf8(sId,Id,IdLen);
if(iret <0)
{
IdLen =0;
return false;
}
IdLen = iret;
iret = QStr2Utf8(qstr,Name,NameLen);
if(iret <0)
{
NameLen =0;
return false;
}
NameLen = iret;
return true;
}
extern "C" NOWJAVADLL_EXPORT int LaneIdFind(const char * enStationId, const int AreaNo, const int RoadNo,
const int StaNo,const int LaneNo,char * result,int &retsultLen)
{
if(! pParaManPtr)
{
return -1;
}
QString qstr;
int iret;
qstr = pParaManPtr->LaneIdFind(enStationId,AreaNo,RoadNo,StaNo,LaneNo);
iret = QStr2Utf8(qstr,result,retsultLen);
if(iret <0)
{
retsultLen =0;
return -2;
}
retsultLen = iret;
return 0;
}
extern "C" NOWJAVADLL_EXPORT bool IssuerCheck(const char * Issuer,const char * IssuerCode4)
{
if(! pParaManPtr)
{
return false;
}
QString qisur,qcode;
bool bret;
qisur = Issuer;
qcode = IssuerCode4;
bret = pParaManPtr->IssuerCheck(qisur,qcode);
return bret;
}
extern "C" NOWJAVADLL_EXPORT bool CardValid(const char * cardIssuer,const char * cardIssuerCode4,
const char * startTime, const char * endTime,
const int cardType, const int cardVehType,
int &ErrorCode, char * ErrorInf,
int & ErrorInfLen)
{
if(! pParaManPtr)
{
return false;
}
QString qcardIssuer;
QString qnetNo;
QString qstartTime;
QString qendTime;
QString qErrorInf;
bool bret;
int iret;
qcardIssuer = cardIssuer;
qnetNo = cardIssuerCode4;
qstartTime = startTime;
qendTime = endTime;
bret = pParaManPtr->CardValid(qcardIssuer,qnetNo,qstartTime,qendTime,cardType,cardVehType,ErrorCode,qErrorInf);
if(! bret)
{
return false;
}
iret = QStr2Utf8(qErrorInf,ErrorInf,ErrorInfLen);
if(iret <0)
{
ErrorInfLen =0;
return false;
}
ErrorInfLen = iret;
return true;
}
//黑名单查询
extern "C" NOWJAVADLL_EXPORT bool DoFindBlack(const int PFileId, const char * SearchStr,char * result,int &resultLen)
{
if(! pParaManPtr)
{
return false;
}
QString sKey;
QString qstr;
bool bret;
int iret;
sKey = SearchStr;
bret = pParaManPtr->doFindBlack(PFileId,sKey,qstr);
if(! bret)
{
return false;
}
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return false;
}
resultLen = iret;
return true;
}
extern "C" NOWJAVADLL_EXPORT int GetOBUReasonText(const int iStatus,char * result,
int &resultLen)
{
if(! pParaManPtr)
{
return -1;
}
QString qstr;
int iret;
qstr = pParaManPtr->GetOBUReasonText(iStatus);
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return -2;
}
resultLen = iret;
return 0;
}
extern "C" NOWJAVADLL_EXPORT int GetCardReasonText(const int iStatus,char * result,
int &resultLen)
{
if(! pParaManPtr)
{
return -1;
}
QString qstr;
int iret;
qstr = pParaManPtr->GetCardReasonText(iStatus);
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return -2;
}
resultLen = iret;
return 0;
}
extern "C" NOWJAVADLL_EXPORT int GetVehBlackReasonText(const int iStatus,char * result,
int &resultLen)
{
if(! pParaManPtr)
{
return -1;
}
QString qstr;
int iret;
qstr = pParaManPtr->GetVehBlackReasonText(iStatus);
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return -2;
}
resultLen = iret;
return 0;
}
extern "C" NOWJAVADLL_EXPORT int GetVehGrayReasonText(const int iStatus,char * result,
int &resultLen)
{
if(! pParaManPtr)
{
return -1;
}
QString qstr;
int iret;
qstr = pParaManPtr->GetVehGrayReasonText(iStatus);
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return -2;
}
resultLen = iret;
return true;
}
extern "C" NOWJAVADLL_EXPORT int GetSNReasonText(const char * states,char * result,int &resultLen)
{
if(! pParaManPtr)
{
return -1;
}
QString qstates;
QString qstr;
int iret;
qstates = states;
qstr = pParaManPtr->GetSNReasonText(states);
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return -2;
}
resultLen = iret;
return 0;
}
extern "C" NOWJAVADLL_EXPORT bool IsOBUBlack(const char * OBUContractSerialNumber,char * result,
int &resultLen)
{
if(! pParaManPtr)
{
return false;
}
QString sKey;
QString qstr;
bool bret;
int iret;
sKey = OBUContractSerialNumber;
bret = pParaManPtr->IsOBUBlack(sKey,qstr);
if(! bret)
{
return false;
}
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return false;
}
resultLen = iret;
return true;
}
//CPU卡黑名单
extern "C" NOWJAVADLL_EXPORT bool IsCardBlack(const char * CardNo,char * result,int &resultLen)
{
if(! pParaManPtr)
{
return false;
}
QString sKey;
QString qstr;
bool bret;
int iret;
sKey = CardNo;
bret = pParaManPtr->IsCardBlack(sKey,qstr);
if(! bret)
{
return false;
}
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return false;
}
resultLen = iret;
return true;
}
extern "C" NOWJAVADLL_EXPORT bool IsVehicleInProvBlack(const char *VehPlate,char * result,
int &resultLen)
{
if(! pParaManPtr)
{
return false;
}
QString sKey;
QString qstr;
bool bret;
int iret;
sKey = VehPlate;
bret = pParaManPtr->IsVehicleInProvBlack(sKey,qstr);
if(! bret)
{
return false;
}
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return false;
}
resultLen = iret;
return true;
}
extern "C" NOWJAVADLL_EXPORT bool IsVehicleBlack(const char *VehPlateAll,
char * result,int &resultLen)
{
if(! pParaManPtr)
{
return false;
}
QString sKey;
QString qstr;
bool bret;
int iret;
sKey = VehPlateAll;
bret = pParaManPtr->IsVehicleBlack(sKey,qstr);
if(! bret)
{
return false;
}
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return false;
}
resultLen = iret;
return true;
}
extern "C" NOWJAVADLL_EXPORT bool IsBigBlack(const char *VehPlate,char * result,
int &resultLen)
{
if(! pParaManPtr)
{
return false;
}
QString sKey;
QString qstr;
bool bret;
int iret;
sKey = VehPlate;
bret = pParaManPtr->IsBigBlack(sKey,qstr);
if(! bret)
{
return false;
}
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return false;
}
resultLen = iret;
return true;
}
extern "C" NOWJAVADLL_EXPORT bool IsSNBlack(const char *VehPlateAll,char * result,int &resultLen)
{
if(! pParaManPtr)
{
return false;
}
QString sKey;
QString qstr;
bool bret;
int iret;
sKey = VehPlateAll;
bret = pParaManPtr->IsSNBlack(sKey,qstr);
if(! bret)
{
return false;
}
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return false;
}
resultLen = iret;
return true;
}
extern "C" NOWJAVADLL_EXPORT bool IsBigAppoint(const char * VehPlateAll, char * result,
int &retsultLen)
{
if(! pParaManPtr)
{
return false;
}
char buf[512];
char tmpbuf[6144];
int iret;
QString CertNo;
QString Roads;
QString Goods;
QString StartDate;
QString EndDate;
QString sKey;
bool bret;
sKey = VehPlateAll;
// strcpy(buf,"{\"certNo\":\"certNo\",\"roads\":\"roads\",\"goods\":\"goods\",\"startDate\":\"2022-3-14\",\"endDate\":\"2022-5-9\"}");
memset(tmpbuf,0,sizeof(tmpbuf));
strcpy(tmpbuf,"{\"certNo\":\"");
bret = pParaManPtr->IsBigAppoint(sKey,CertNo, Roads, Goods, StartDate, EndDate);
if( ! bret)
{
return false;
}
memset(buf,0,sizeof(buf));
iret = QStr2Utf8(CertNo,buf,500);
if(iret <0)
{
return false;
}
strcat(tmpbuf,buf);
strcat(tmpbuf,"\",\"roads\":\"");
memset(buf,0,sizeof(buf));
iret = QStr2Utf8(Roads,buf,500);
if(iret <0)
{
return false;
}
strcat(tmpbuf,buf);
strcat(tmpbuf,"\",\"goods\":\"");
memset(buf,0,sizeof(buf));
iret = QStr2Utf8(Goods,buf,500);
if(iret <0)
{
return false;
}
strcat(tmpbuf,buf);
strcat(tmpbuf,"\",\"startDate\":\"");
memset(buf,0,sizeof(buf));
iret = QStr2Utf8(StartDate,buf,500);
if(iret <0)
{
return false;
}
strcat(tmpbuf,buf);
strcat(tmpbuf,"\",\"endDate\":\"");
memset(buf,0,sizeof(buf));
iret = QStr2Utf8(EndDate,buf,500);
if(iret <0)
{
return false;
}
strcat(tmpbuf,buf);
strcat(tmpbuf,"\"}");
iret =strlen(tmpbuf);
if(iret >=retsultLen)
{
return false;
}
strcpy(result,tmpbuf);
retsultLen = iret;
return true;
}
extern "C" NOWJAVADLL_EXPORT bool IsEmerCar(const char * VehPlateAll, char * Id, char * VehSign,
char * DiscountInfo,char * StartDate,char * EndDate)
{
QString qVehPlateAll;
QString qId;
QString qDiscountInfo;
QString qStartDate;
QString qEndDate;
return true;
}
extern "C" NOWJAVADLL_EXPORT bool IsGreenCar(const char * VehPlateAll, char * Id, char * StartDate,
char * AppTime)
{
return true;
}
//班次表
extern "C" NOWJAVADLL_EXPORT int GetAutoClassInfo(long long &LastClassDate, int &LastClassNo)
{
if(! pParaManPtr)
{
return -1;
}
QDateTime qtmptime;
int iRet;
// qtmptime = QDateTime::fromSecsSinceEpoch(LastClassDate);
iRet = pParaManPtr->GetAutoClassInfo(qtmptime, LastClassNo);
if(iRet <0)
{
return -2;
}
LastClassDate = qtmptime.toMSecsSinceEpoch();
return 0;
}
//获取新的班次号
extern "C" NOWJAVADLL_EXPORT int GetOptionalClassInfo(const int roadNo,const int staNo,const int portNo,const long long dt,char * result,int &resultLen)
{
//QString qstr;
int iRet;
QDateTime mydtime;
char buf[512];
char tmpbuf[2048];
QDateTime AClassDate[4];
int AClassNo[4];
QString AClassName[4];
int OptCount = 0;
int iFind =0;
if(! pParaManPtr)
{
return -1;
}
// AClassDate[0] = QDateTime::currentDateTime();
// dt = AClassDate[0].toMSecsSinceEpoch();
mydtime.setMSecsSinceEpoch(dt);
// dtime.setMSecsSinceEpoch(dTime);
OptCount = pParaManPtr->GetOptionalClassInfo(mydtime,AClassDate, AClassNo, AClassName);
if( OptCount <=0)
{
return -2;
}
memset(tmpbuf,0,sizeof(tmpbuf));
strcpy(tmpbuf,"[");
for(int i=0; i<OptCount; i++)
{
if(1 ==iFind )
{
strcat(tmpbuf,",");
}
memset(buf,0,sizeof(buf));
iRet = CreateJsonData(AClassDate[i],AClassNo[i],AClassName[i],buf,500);
if(iRet <0)
{
return -3;
}
strcat(tmpbuf,buf);
iFind =1;
}
strcat(tmpbuf,"]");
iRet = strlen(tmpbuf);
if(iRet >= (resultLen -1))
{
return -4;
}
strcpy(result,tmpbuf);
resultLen = iRet;
return 0;
}
//
extern "C" NOWJAVADLL_EXPORT int GetClassCName(const int ClassNo,char * result,int &resultLen)
{
if(! pParaManPtr)
{
return -1;
}
QString qstr;
int iret;
qstr = pParaManPtr->GetClassCName(ClassNo);
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return -3;
}
resultLen = iret;
return 0;
}
//
extern "C" NOWJAVADLL_EXPORT bool GetMinFee(const char *enID, const char *exID,const int roadNo, const int staNo,const int CardType,const int VehType, char * result,int &resultLen)
{
QString qenID = enID;
QString qexID = exID;
int RoadNo = roadNo;
int StaNo = staNo;
int cardtype = CardType;
int Vegtype =VehType;
int MinFee;
int MinFee95;
int MinFeeMileAge;
QString MinFeeVer;
QString provFeeInfo;
int ProvCount;
int OutProvCashTotal;
int OutProvInCashTotal;
int InProvCashTotal;
int InProvInCashTotal;
int InProvMileAge;
QString qstr;
int iret;
bool bret =pParaManPtr->GetMinFee(enID, exID, RoadNo, StaNo,cardtype,Vegtype,MinFee, MinFee95, MinFeeMileAge, MinFeeVer, provFeeInfo,
ProvCount,OutProvCashTotal,OutProvInCashTotal,InProvCashTotal,InProvInCashTotal,InProvMileAge);
if(! bret)
{
return false;
}
qstr ="{\"fee\":";
qstr += QString::number(MinFee);
qstr +=",\"fee95\":";
qstr +=QString::number(MinFee95);
qstr +=",\"mileage\":";
qstr +=QString::number(MinFeeMileAge);
qstr +=",\"version\":\"";
qstr +=MinFeeVer;
qstr +="\",\"provCount\":";
qstr +=QString::number(ProvCount);
qstr +=",\"outProvCashTotal\":";
qstr +=QString::number(OutProvCashTotal);
qstr +=",\"outProvInCashTotal\":";
qstr +=QString::number(OutProvInCashTotal);
qstr +=",\"inProvCashTotal\":";
qstr +=QString::number(InProvCashTotal);
qstr +=",\"inProvInCashTotal\":";
qstr +=QString::number(InProvInCashTotal);
qstr +=",\"inProvMileage\":";
qstr +=QString::number(InProvMileAge);
qstr += ",\"feeInfo\":";
qstr += provFeeInfo;
qstr += "}";
iret = QStr2Utf8(qstr,result,resultLen);
if(iret <0)
{
resultLen =0;
return false;
}
resultLen = iret;
return true;
}
extern "C" NOWJAVADLL_EXPORT bool CheckMinFee(const int Cash,const int MinFee,const int ExitFeeType,const int VehType, const int CardType,int &ErrorCode, char *ErrorInfo)
{
QString qstr;
bool bret;
int iret;
if(! pParaManPtr)
{
return false;
}
if(! ErrorInfo)
{
return false;
}
bret =pParaManPtr->CheckMinFee(Cash,MinFee,ExitFeeType,VehType,CardType, ErrorCode,qstr);
iret = QStr2Utf8(qstr,ErrorInfo,qstr.length()+1);
return bret;
}
extern "C" NOWJAVADLL_EXPORT int GetDiscount(const char * CardIssuer,const int CardUType,const int CardType)
{
if(! pParaManPtr)
{
return -1;
}
// bool CheckUser(const QString &UserNo,const QString &Password,const int ManId1,int &ManId2, QString &UserName, int &GroupNo); //用工号密码验证
QString qKey;
qKey = CardIssuer;
return pParaManPtr->GetDiscount(qKey,CardUType,CardType);
}
extern "C" NOWJAVADLL_EXPORT bool CheckPassword(const char * Password,const char * EncPassword)
{
if(! pParaManPtr)
{
return false;
}
QString qPassword;
QString qEncPassword;
bool bret;
qPassword = Password;
qEncPassword = EncPassword;
bret = pParaManPtr->CheckPassword(qPassword,qEncPassword);
return bret;
}
extern "C" NOWJAVADLL_EXPORT bool CheckUserPassword(const int roadNo,const int staNo,const char *UserNo,
const char * Password,const int ManId1,int &ManId2,
char * name,int &nameLen, int &GroupNo)
{
if(! pParaManPtr)
{
return false;
}
// bool CheckUser(const QString &UserNo,const QString &Password,const int ManId1,int &ManId2, QString &UserName, int &GroupNo); //用工号密码验证
QString qUserNo;
QString qPassword;
QString qUserName;
bool bret;
int iret;
qUserNo = UserNo;
qPassword = Password;
//qUserNo
bret = pParaManPtr->CheckUser(qUserNo,qPassword,ManId1,ManId2,qUserName,GroupNo,roadNo,staNo);
if( ! bret)
{
return false;
}
iret = QStr2Utf8(qUserName,name,nameLen);
if(iret <0)
{
return false;
}
nameLen = iret;
return true;
}
extern "C" NOWJAVADLL_EXPORT bool CheckUserCard(const int roadNo,const int staNo, const char *UserNo,
const int CardId, const int ManId1, int &ManId2,char * name,
int &nameLen, int &GroupNo)
{
if(! pParaManPtr)
{
return false;
}
//bool CheckUser(const QString &UserNo,const uint CardId, const int ManId1, int &ManId2, QString &UserName, int &GroupNo); //用卡验证
QString qUserNo;
QString qUserName;
bool bret;
int iret;
char buf[64];
unsigned int iId;
iId = (unsigned int)CardId;
memset(buf,0,sizeof(buf));
sprintf(buf,"CardId is %u",iId);
printf(buf);
qUserNo = UserNo;
bret = pParaManPtr->CheckUser(qUserNo,CardId, ManId1, ManId2,qUserName,GroupNo,roadNo,staNo);
if( ! bret)
{
return false;
}
iret = QStr2Utf8(qUserName,name,nameLen);
if(iret <0)
{
return false;
}
nameLen = iret;
return true;
}
extern "C" NOWJAVADLL_EXPORT int UpdateParaFile(const char * name)
{
int iret;
bool bret;
QString qFileName;
if(! pParaManPtr)
{
return -1;
}
if(! name)
{
return -2;
}
iret = strlen(name);
if(iret <=0)
{
return -3;
}
qFileName =name;
bret =pParaManPtr->OnParamDownLoadComplete(0,qFileName, 1, true);
if(! bret)
{
WRITE_LOG("OnParamDownLoadComplete %s fail ",name);
return -4;
}
// return pParaManPtr->UpdateParaFile(name);
return 0;
}