瀏覽代碼

#IQRV #comment [DevAdapter] keba/2021.0602.01

gifur 4 年之前
父節點
當前提交
bf37ac6449

+ 1 - 1
DevAdapter/CMakeLists.txt

@@ -139,7 +139,7 @@ message(STATUS "vendor log library: ${VENDOR_LOG_LIB_NAME}")
 
 # 通过conan的方式管理厂商库
 if(DEVADAPTER_USING_CONAN)
-    set(KEBA_CONAN_LIB_NAME keba/2021.0520.01@LR04.02_VendorLib/testing)
+    set(KEBA_CONAN_LIB_NAME keba/2021.0602.01@LR04.02_VendorLib/testing)
 	set(NANTIAN_CONAN_LIB_NAME nantian/2021.0519.01@LR04.02_VendorLib/testing)
 	set(GRG_CONAN_LIB_NAME grg/2021.0601.01@LR04.02_VendorLib/testing)
 	set(CW_CONAN_LIB_NAME cw/2021.0527.01@LR04.02_VendorLib/testing)

+ 21 - 1
DevAdapter/keba/IDCertificate.keba.1.1/BS_ID81IDCLibImpl.cpp

@@ -1,4 +1,4 @@
-#include "stdafx.h"
+#include "stdafx.h"
 //ILog* g_pLog;
 extern mEnumScannerDevice               EnumScannerDevice;
 extern mOpenConnection                   OpenConnection;
@@ -35,6 +35,7 @@ extern mGetIDInfoForeign           GetIDInfoForeign;
 extern mGetIDInfoGAT               GetIDInfoGAT;
 extern mGetIDCardType              GetIDCardType;
 extern mGetAllTypeIdInfo           GetAllTypeIdInfo;
+extern mSetLog           SetLog;
 
 BS_ID81IDCLibImpl::BS_ID81IDCLibImpl(void)
 {
@@ -46,6 +47,14 @@ BS_ID81IDCLibImpl::BS_ID81IDCLibImpl(void)
     {
         printf("动态库加载失败!");
     }
+    bool Output = false;
+    char LogPath[256] = {0};
+    sprintf(LogPath,"./ID81LOG.log");
+    int iResult = SetLog(Output,LogPath);
+    if (iResult != 0)
+    {
+        printf("SetLog failed.\n");
+    }
 }
 
 
@@ -332,6 +341,17 @@ int BS_ID81IDCLibImpl::GetAllTypeCardInfo(unsigned DeviceID,int iCardType,void*
     return nRet;
 }
 
+int BS_ID81IDCLibImpl::SetIDLog(bool Output, char* LogPath)
+{
+    if (SetLog == NULL)
+    {
+        return IDDIGITALCOPIER_PORT_ERROR;
+    }
+    int nRet = SetLog(Output, LogPath);
+    return nRet;
+}
+
+
 int BS_ID81IDCLibImpl::SetAutoFeedEnabled(unsigned DeviceID, int nMode)
 {
     if (SetAutoFeedEnable == NULL)

+ 2 - 1
DevAdapter/keba/IDCertificate.keba.1.1/BS_ID81IDCLibImpl.h

@@ -1,4 +1,4 @@
-
+
 
 #pragma once
 
@@ -49,6 +49,7 @@ public:
     int GetMyIDCardType(unsigned DeviceID, int* iCardType);
     int GetMyGATIDInfo(unsigned DeviceID, IDInfoGAT* mIDInfoGAT, char *ImageName);
     int GetAllTypeCardInfo(unsigned DeviceID,int iCardType,void* idinfo,char* ImageName);
+    int SetIDLog(bool Output, char* LogPath);
     int SetAutoFeedEnabled(unsigned DeviceID,int nMode);
 
 public:

+ 8 - 0
DevAdapter/keba/IDCertificate.keba.1.1/idcertificate.cpp

@@ -676,6 +676,7 @@ ErrorCodeEnum IDCerClassImpl::IDCerGetData(IDCerInfo &idCerInfo)
             }
             endtime[8] = '\0';
             dataStr = endtime;
+            dataStr = trim(dataStr);
             dataStr = dataStr.insert(4,1,'.');
             dataStr = dataStr.insert(7,1,'.');
             strcpy_s(idCerInfo.endDate.data, dataStr.c_str());
@@ -684,6 +685,7 @@ ErrorCodeEnum IDCerClassImpl::IDCerGetData(IDCerInfo &idCerInfo)
         else
         {
             dataStr = m_IDInfoEx.timeLimit;
+            dataStr = trim(dataStr);
             dataStr = dataStr.substr(9, len-9);
             strcpy_s(idCerInfo.endDate.data, dataStr.c_str());
             idCerInfo.endDate.dwSize = dataStr.size();
@@ -857,6 +859,7 @@ ErrorCodeEnum IDCerClassImpl::IDCerGetData(IDCerInfo &idCerInfo)
             }
             endtime[8] = '\0';
             dataStr = endtime;
+            dataStr = trim(dataStr);
             dataStr = dataStr.insert(4,1,'.');
             dataStr = dataStr.insert(7,1,'.');
             strcpy_s(idCerInfo.endDate.data, dataStr.c_str());
@@ -865,6 +868,7 @@ ErrorCodeEnum IDCerClassImpl::IDCerGetData(IDCerInfo &idCerInfo)
         else
         {
             dataStr = m_IDInfoGAT.timeLimit;
+            dataStr = trim(dataStr);
             dataStr = dataStr.substr(9, len-9);
             strcpy_s(idCerInfo.endDate.data, dataStr.c_str());
             idCerInfo.endDate.dwSize = dataStr.size();
@@ -1015,6 +1019,7 @@ ErrorCodeEnum IDCerClassImpl::IDCerGetDataEx(IDCerInfoEx &idCerInfoEx)
             }
             endtime[8] = '\0';
             dataStr = endtime;
+            dataStr = trim(dataStr);
             dataStr = dataStr.insert(4,1,'.');
             dataStr = dataStr.insert(7,1,'.');
             memset(idCerInfoEx.endDate.data, 0, MAX_IDCER_SIMPLE_INFO_SIZE);
@@ -1024,6 +1029,7 @@ ErrorCodeEnum IDCerClassImpl::IDCerGetDataEx(IDCerInfoEx &idCerInfoEx)
         else
         {
             dataStr = m_IDInfoEx.timeLimit;
+            dataStr = trim(dataStr);
             dataStr = dataStr.substr(9, len-9);
             memset(idCerInfoEx.endDate.data, 0, MAX_IDCER_SIMPLE_INFO_SIZE);
             strcpy_s(idCerInfoEx.endDate.data, dataStr.c_str());
@@ -1314,6 +1320,7 @@ ErrorCodeEnum IDCerClassImpl::IDCerGetDataEx(IDCerInfoEx &idCerInfoEx)
             }
             endtime[8] = '\0';
             dataStr = endtime;
+            dataStr = trim(dataStr);
             dataStr = dataStr.insert(4,1,'.');
             dataStr = dataStr.insert(7,1,'.');
             memset(idCerInfoEx.endDate.data, 0, MAX_IDCER_SIMPLE_INFO_SIZE);
@@ -1323,6 +1330,7 @@ ErrorCodeEnum IDCerClassImpl::IDCerGetDataEx(IDCerInfoEx &idCerInfoEx)
         else
         {
             dataStr = m_IDInfoGAT.timeLimit;
+            dataStr = trim(dataStr);
             dataStr = dataStr.substr(9, len-9);
             memset(idCerInfoEx.endDate.data, 0, MAX_IDCER_SIMPLE_INFO_SIZE);
             strcpy_s(idCerInfoEx.endDate.data, dataStr.c_str());

+ 8 - 2
DevAdapter/keba/IDCertificate.keba.1.1/libID81_SO.cpp

@@ -45,6 +45,7 @@ mGetIDInfoForeign           GetIDInfoForeign	= NULL;
 mGetIDInfoGAT               GetIDInfoGAT	    = NULL;
 mGetIDCardType              GetIDCardType	    = NULL;
 mGetAllTypeIdInfo           GetAllTypeIdInfo	= NULL;
+mSetLog                     SetLog            = NULL;
 
 
 
@@ -64,7 +65,7 @@ bool load_so(char *cErrorInfo)
     printf("first_str_FilePath=%s\n",str_FilePath);
     char *pLastSlath=strrchr(str_FilePath,'/');
     *pLastSlath=0;
-    char *a="/keba/libBS-ID81M.keba.so.2.0.1";
+    char *a="/keba/libBS-ID81M.keba.so.2.0.3";
     strncat(str_FilePath,a,strlen(a));
     printf("Second_str_FilePath=%s\n",str_FilePath);
     hlibID81 = dlopen(str_FilePath, RTLD_LAZY);
@@ -315,7 +316,12 @@ bool load_so(char *cErrorInfo)
         sprintf(cErrorInfo, "load'GetAllTypeIdInfo()'failed!");
         return false;
     }
-
+    SetLog = (mSetLog)dlsym(hlibID81, "SetLog");
+    if(!SetLog)
+    {
+        sprintf(cErrorInfo, "load'SetLog()'failed!");
+        return false;
+    }
     return true;
 }
 

+ 2 - 50
DevAdapter/keba/IDCertificate.keba.1.1/libID81_SO.h

@@ -19,20 +19,10 @@ bool Unload_so();
 #define IDDIGITALCOPIER_HK_MACAO 0x5	//港澳通行证
 
 /**********************************************************************************************************************
-          GBK
 * 二代证电子信息结构体宏定义
 **********************************************************************************************************************/
 typedef struct IDInfo
 {
-//	char name[32];				//姓名
-//	char sex[4];				//性别
-//	char nation[12];			//民族
-//	char birthday[20];			//出生日期
-//	char address[72];			//住址信息
-//	char number[40];			//身份证号码
-//	char department[32];		//签发机关
-//	char timeLimit[36];			//有效日期
-//	char Image[256];		    //头像信息文件
     char name[72];
     char sex[4];
     char nation[20];
@@ -51,17 +41,6 @@ typedef struct IDInfo
 **********************************************************************************************************************/
 typedef struct IDInfoEx
 {
-//    char name[32];				//姓名
-//    char sex[4];				//性别
-//    char nation[12];			//民族
-//    char birthday[20];			//出生日期
-//    char address[72];			//住址信息
-//    char number[40];			//身份证号码
-//    char department[32];		//签发机关
-//    char timeLimit[36];			//有效日期
-//    char Image[256];			//头像信息文件
-//	char FingerData[1024];		//指纹信息数据
-//	int  iFingerDataLen;
     char name[72];
     char sex[4];
     char nation[20];
@@ -82,20 +61,6 @@ typedef struct IDInfoEx
 **********************************************************************************************************************/
 typedef struct IDInfoForeign
 {
-//	char NameENG[120];				//英文姓名
-//	char Sex[4];					//性别
-//	char IDCardNO[30];				//证件号码
-//	char Nation[6];					//国籍
-//	char NameCHN[72];				//中文姓名
-//	char TimeLimitBegin[16];		//证件签发日期开始
-//	char TimeLimitEnd[16];			//证件签发日期结束
-//	char Born[36];					//出生日期
-//	char IDVersion[4];				//证件版本
-//	char Department[8];				//签发机关
-//	char IDType[2];					//证件类型
-//	char Reserve[6];				//保留信息
-//	char Image[1024];				//头像
-
     char NameENG[120];
     char Sex[4];
     char IDCardNO[30];
@@ -118,20 +83,6 @@ typedef struct IDInfoForeign
 **********************************************************************************************************************/
 typedef struct IDInfoGAT
 {
-//	char name[32];				//姓名
-//	char sex[4];				//性别
-//	char nation[12];			//民族
-//	char birthday[20];			//出生日期
-//	char address[72];			//住址信息
-//	char number[40];			//身份证号码
-//	char department[32];		//签发机关
-//	char timeLimit[36];			//有效日期
-//	char passport[20];			//通行证号码
-//	char issue[6];				//签发次数
-//	char Image[256];			//头像信息文件
-//	char FingerData[1024];		//指纹信息数据
-//	int  iFingerDataLen;
-
     char name[72];
     char sex[4];
     char nation[20];
@@ -353,7 +304,8 @@ typedef int (*mGetPassportInfoFromImage)(unsigned DeviceID, char* cFrontImgBuf,
 //退卡到识别位置
 typedef int (*mBackIdCardToRerec)(unsigned DeviceID);
 
-
+//SetLog
+typedef int (*mSetLog)(bool Output, char* LogPath);
 #ifdef __cplusplus
 }
 #endif

+ 1 - 1
DevAdapter/keba/Ups.keba.1.1/CkLog.h

@@ -3,7 +3,7 @@
 #define CKLOG_H
 
 #define CMBLOG4            //是否使用招行日志库开关
-//#define CKLOG              //是否使用公司日志库开关
+//define CKLOG              //是否使用公司日志库开关
 
 #include <stdio.h>
 #include <fstream>

+ 8 - 0
DevAdapter/keba/Ups.keba.1.1/UpsClassImpl_East.cpp

@@ -128,6 +128,14 @@ ErrorCodeEnum UpsClassImpl::Shutdown(DWORD dwShutTime,DWORD dwRestartTime)
     BYTE dataBuf[100]={0};
     int nRet = 0;
     int nLen = 3;
+    char strErrorInfo[256] = {0};
+    if(dwShutTime > 10 || dwRestartTime > 9999)
+    {
+        //LogM("Shutdown(dwShutTime=%d, dwRestartTime=%d): invalid parameter", dwShutTime, dwRestartTime);
+        //sprintf(strErrorInfo,"Shutdown(dwShutTime=%d, dwRestartTime=%d): invalid parameter", dwShutTime, dwRestartTime);
+        SaveErrorInfo("Shutdown() invalid parameter",Error_Param );
+        return Error_Param;
+    }
     if( !m_bDevOpen )
     {
         SaveErrorInfo("Shutdown()->Dev is not open",Error_DevNotAvailable );

+ 5 - 2
DevAdapter/keba/Ups.keba.1.1/UpsClassImpl_East.h

@@ -1,11 +1,14 @@
 #pragma once
 #ifndef UPSCLASSIMPL_EAST_H
 #define UPSCLASSIMPL_EAST_H
-
 #include "stdafx.h"
+#pragma pack(push,1)
+
+
+
 //编译版本
 #define  FILE_VERSION  1
-#pragma pack(push,1)
+
 struct StDevStatus
 {
     CHAR szV_Input[6]; //输入电压