Răsfoiți Sursa

#IQBX #comment 身份证模块编译通过

80374374 1 an în urmă
părinte
comite
b113e37962

+ 1 - 1
Module/mod_HSPScanner/CMakeLists.txt

@@ -21,7 +21,7 @@ message(STATUS "MODULE_BASE_ALL_LIBS ${MODULE_BASE_ALL_LIBS}")
 
 set(${MODULE_PREFIX}_SYSLIBS libpublicFun)
 set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS}) 
-target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} ${${MODULE_PREFIX}_SYSLIBS} ${CONAN_LIBS_OPENCV})   #add ${CONAN_LIBS_OPENCV}
+target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS} ${${MODULE_PREFIX}_SYSLIBS} ${CONAN_LIBS_OPENCV})
 
 
 deploy_module(${MODULE_PREFIX} ${MODULE_NAME})

+ 25 - 7
Module/mod_IDCertificate/CMakeLists.txt

@@ -1,4 +1,3 @@
-#实体�
 define_module("IDCertificate")
 
 file(GLOB ${MODULE_PREFIX}_SRCS RELATIVE 
@@ -19,11 +18,14 @@ target_include_directories(${MODULE_NAME} PRIVATE
 	${CONAN_INCLUDE_DIRS_OPENCV}/opencv
 	${CONAN_INCLUDE_DIRS_OPENCV}/opencv2/imgcodecs
 	${MODULE_BASE_DIR}
-	${OTHER_LIB_PLATFORM_BASE_DIR}/libimageproc
+	${OTHER_LIB_BASE_DIR}/libimageproc
 	${OTHER_LIB_BASE_DIR}/libpublicFun
 )
-
-target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_BIN_DIRS_OPENCV})
+if(MSVC)
+	target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_LIB_DIRS_OPENCV})
+else()
+	target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_BIN_DIRS_OPENCV})
+endif(MSVC)
 
 if(RVC_DEBUG_MODE)
     set(OPENCV_DYNAMIC_LIBS 
@@ -41,6 +43,23 @@ if(RVC_DEBUG_MODE)
 	opencv_videoio 
 	opencv_videostab
 	)
+else()
+if(MSVC)
+    set(OPENCV_DYNAMIC_LIBS
+	opencv_calib3d310 
+	opencv_core310 
+	opencv_features2d310 
+	opencv_flann310 
+	opencv_highgui310 
+	opencv_imgcodecs310 
+	opencv_imgproc310 
+	opencv_ml310 
+	opencv_objdetect310 
+	opencv_photo310 
+	opencv_video310 
+	opencv_videoio310 
+	opencv_videostab310
+	)
 else()
     set(OPENCV_DYNAMIC_LIBS
 	opencv_calib3d 
@@ -57,18 +76,17 @@ else()
 	opencv_videoio 
 	opencv_videostab
 	)
+endif(MSVC)
 endif(RVC_DEBUG_MODE)
 
-# 添加实体需�依赖的其他共享库�包括系统库)
 set(${MODULE_PREFIX}_SYSLIBS libpublicFun)
 set(${MODULE_PREFIX}_LIBS ${MODULE_BASE_ALL_LIBS} ${OPENCV_DYNAMIC_LIBS})
 if(MSVC)
-	set(${MODULE_PREFIX}_LIBS ${MODULE_PREFIX}_LIBS user32)
+	set(${MODULE_PREFIX}_LIBS ${${MODULE_PREFIX}_LIBS} user32)
 endif(MSVC)
 
 target_link_libraries(${MODULE_NAME} libimageproc ${${MODULE_PREFIX}_LIBS} ${${MODULE_PREFIX}_SYSLIBS})
 
 deploy_module(${MODULE_PREFIX} ${MODULE_NAME})
 
-# 设置�依赖拷贝的�三方�
 set(MODULE_CONAN_DEP_LIBS ${MODULE_CONAN_DEP_LIBS} ${CONAN_BIN_DIRS} PARENT_SCOPE)

+ 41 - 24
Module/mod_IDCertificate/IDCertFSM.cpp

@@ -20,10 +20,7 @@ using namespace SP::Module::Comm;
 #else
 #include "RVCComm.h"
 #include "publicFunExport.h"
-#include "json.h" 
 #include <Windows.h>
-#include <unordered_map>
-#pragma comment(lib,"user32.lib")
 #endif // RVC_OS_LINUX
 
 #define IDCER_INIT_COUNT 3
@@ -186,7 +183,6 @@ void CIDCertFSM::s0_on_entry()
 
 	if (m_FirstStart) {
 		m_FirstStart = FALSE;
-		ToLogRootINIInfoOnce();
 		ToLogWarnInfoAboutTerm();
 	}
 #else
@@ -578,6 +574,7 @@ ErrorCodeEnum CIDCertFSM::OnInit()
 #endif
 
 	supportUCS2 = FALSE;
+	igestionVer = FALSE;
 
 	return Error_Succeed;
 }
@@ -975,13 +972,16 @@ int CIDCertFSM::ReadAndScan(SpReqAnsContext<IDCert_ReadAndScan_Req, IDCert_ReadA
 						}
 						else
 						{
-						CSimpleStringA warnMsg = "ScanIDAndSaveImage() suc. But GetPngBlobEx() failed.";
-							if (transImgMsg.GetLength() != 0)
+							if (igestionVer == TRUE)
 							{
-								warnMsg = warnMsg + transImgMsg;
+								CSimpleStringA warnMsg = "ScanIDAndSaveImage() suc. But GetPngBlobEx() failed.";
+								if (transImgMsg.GetLength() != 0)
+								{
+									warnMsg = warnMsg + transImgMsg;
+								}
+								LogWarn(Severity_Middle, Error_Succeed,
+									IDCertificate_UserErrorCode_ReadAndScan_TransImgFaild, warnMsg.GetData());
 							}
-							LogWarn(Severity_Middle, Error_Succeed, 
-								IDCertificate_UserErrorCode_ReadAndScan_TransImgFaild, warnMsg.GetData());
 						}
 					}
 					GetPngBlobEx(ctx->Ans.headphoto, "zp", true);
@@ -1020,7 +1020,7 @@ int CIDCertFSM::ReadAndScan(SpReqAnsContext<IDCert_ReadAndScan_Req, IDCert_ReadA
 		SetErrPackage("ReadAndScan::IDCerRFControl", m_devSN, errRF, MEC_DEVAPI_IDCER_IDCerRFControl);
 		AlarmDEC();
 		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("IDCerRFControl").
-			setResultCode(std::to_string((_Longlong)errRF).c_str())
+			setResultCode(std::to_string((unsigned long)errRF).c_str())
 			("ReadAndScan::IDCerRFControl with errcode: %d", errRF);
 	}
 
@@ -1029,7 +1029,7 @@ int CIDCertFSM::ReadAndScan(SpReqAnsContext<IDCert_ReadAndScan_Req, IDCert_ReadA
 		SetErrPackage("ReadAndScan::IDCerAuthenticate", m_devSN, errAuth, MEC_DEVAPI_IDCER_IDCerAuthenticate);
 		AlarmDEC();
 		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("IDCerAuthenticate").
-			setResultCode(std::to_string((_Longlong)errAuth).c_str())
+			setResultCode(std::to_string((unsigned long)errAuth).c_str())
 			("ReadAndScan::IDCerAuthenticate with errcode: %d", errAuth);
 	}
 #endif
@@ -1524,13 +1524,16 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
 						}
 						else
 						{
-							CSimpleStringA warnMsg = "ScanIDAndSaveImage() suc. But GetPngBlobEx() failed.";
-							if (transImgMsg.GetLength() != 0)
+							if (igestionVer == TRUE)
 							{
-								warnMsg = warnMsg + transImgMsg;
+								CSimpleStringA warnMsg = "ScanIDAndSaveImage() suc. But GetPngBlobEx() failed.";
+								if (transImgMsg.GetLength() != 0)
+								{
+									warnMsg = warnMsg + transImgMsg;
+								}
+								LogWarn(Severity_Middle, Error_Succeed,
+									IDCertificate_UserErrorCode_ReadAndScan_TransImgFaild, warnMsg.GetData());
 							}
-							LogWarn(Severity_Middle, Error_Succeed,
-								IDCertificate_UserErrorCode_ReadAndScan_TransImgFaild, warnMsg.GetData());
 						}
 					}
 					GetPngBlobEx(ctx->Ans.headphoto, "zp", true);
@@ -1580,7 +1583,7 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
 		SetErrPackage("ReadAndScanUTF8::IDCerRFControl", m_devSN, errRF, MEC_DEVAPI_IDCER_IDCerRFControl);
 		AlarmDEC();
 		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("IDCerRFControl").
-			setResultCode(std::to_string((_Longlong)errRF).c_str())
+			setResultCode(std::to_string((unsigned long)errRF).c_str())
 			("ReadAndScanUTF8::IDCerRFControl with errcode: %d", errRF);
 	}
 
@@ -1589,7 +1592,7 @@ int CIDCertFSM::ReadAndScanUTF8(SpReqAnsContext<IDCert_ReadAndScanUTF8_Req, IDCe
 		SetErrPackage("ReadAndScanUTF8::IDCerAuthenticate", m_devSN, errAuth, MEC_DEVAPI_IDCER_IDCerAuthenticate);
 		AlarmDEC();
 		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("IDCerAuthenticate").
-			setResultCode(std::to_string((_Longlong)errAuth).c_str())
+			setResultCode(std::to_string((unsigned long)errAuth).c_str())
 			("ReadAndScanUTF8::IDCerAuthenticate with errcode: %d", errAuth);
 	}
 #endif
@@ -1845,6 +1848,7 @@ ErrorCodeEnum CIDCertFSM::GetPngBlobEx(CBlob &data, CSimpleStringA fileNamePrefi
 		{
 			transImgMsg = errMsg;
 		}
+
 		if (bClear)
 			DeleteZP(Bmp_SCAN);
 		return Error_Unexpect;
@@ -2074,9 +2078,8 @@ int CIDCertFSM::Initial() //windows ver
 
 	}
 	FulfillAdapterInfoFrom(pEntity->vendorLibInfo);
-	LogWarn(Severity_Low, Error_Unexpect, IDCertificate_UserErrorCode_RootInfo, m_adapterInfo.adapterFilePath.GetData());
 	HARDWARE_ENTITY_SET_VENDOR_NAME(m_entCode, m_adapterInfo.strVendor);
-	ToLogRootINIInfo();
+	
 	//CSimpleStringA adaptorInfo = GenerateJson(m_adapterInfo, m_pEntity->GetEntityName());
 	//LogWarn(Severity_Low, Error_Unexpect, IDCertificate_UserErrorCode_Real_Root_Config, adaptorInfo.GetData());
 	pEntity->InitializeVendorLogSwitch();
@@ -2103,12 +2106,12 @@ int CIDCertFSM::Initial() //windows ver
 		SetErrPackage("Initial::DevOpen", m_devSN, err, MEC_DEVAPI_IDCER_DevOpen);
 		AlarmDEC();
 		DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_SYSTEM).setAPI("DevOpen").
-			setBeginTime(m_ullBeginTime).setEndTime(m_ullEndTime).setResultCode(std::to_string((_Longlong)err).c_str())
+			setBeginTime(m_ullBeginTime).setEndTime(m_ullEndTime).setResultCode(std::to_string((unsigned long)err).c_str())
 			("Initial::DevOpen with errcode:%d", err);
 		m_hDevHelper.TearDown();
 		return 2;
 	}
-
+	ToLogRootINIInfo();
 	ZeroMemory(m_devCatInfo.szModel, MAX_DEV_MODEL_LEN);
 	ZeroMemory(m_devCatInfo.szType, MAX_DEV_TYPE_LEN);
 	ZeroMemory(m_devCatInfo.szVendor, MAX_DEV_VENDOR_LEN);
@@ -2125,9 +2128,16 @@ int CIDCertFSM::Initial() //windows ver
 		CSimpleStringA szMod(m_devCatInfo.szModel);
 		if (strstr(m_devCatInfo.szModel, "CODE=UCS2") != NULL)
 		{
-			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("测试为UCS2新库。");
+			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("UCS2新库。");
 			supportUCS2 = TRUE;
 		}
+
+		if (strstr(m_devCatInfo.szModel, "STYLE=IG") != NULL)
+		{
+			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("吸入式设备");
+			igestionVer = TRUE;
+		}
+
 		m_adapterInfo.FulfillCategoryInfo(m_devCatInfo);
 	}else{
 		SetErrPackage("Initial::GetDevCategory", m_devSN, eErrDev, MEC_DEVAPI_IDCER_GetDevCategory);
@@ -2260,9 +2270,16 @@ int CIDCertFSM::Initial() //linux ver
 		CSimpleStringA szMod(m_devCatInfo.szModel);
 		if (strstr(m_devCatInfo.szModel, "CODE=UCS2") != NULL)
 		{
-			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("测试为UCS2新库。");
+			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("UCS2新库。");
 			supportUCS2 = TRUE;
 		}
+
+		if (strstr(m_devCatInfo.szModel, "STYLE=IG") != NULL)
+		{
+			DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("吸入式设备");
+			igestionVer = TRUE;
+		}
+
 	}
 	else {
 		SetErrPackage("Initial::GetDevCategory", m_devSN, err, MEC_DEVAPI_IDCER_GetDevCategory);

+ 8 - 9
Module/mod_IDCertificate/IDCertFSM.h

@@ -2,22 +2,20 @@
 #define IDCERTFSM_H
 
 #pragma once
-#ifdef RVC_OS_LINUX
+
 #include "SpFSM.h"
+#ifdef RVC_OS_LINUX
 #include "SpTest.h"
-#include "DevFSMCommBase.hpp"
 #else //windows
-#include "SpFSM.h"
-#include "json.h"
+#include "json/json.h"
 #include <xstring>
+#include "IHttpFunc.h"
 #endif
 
 #include <unordered_map>
-
-#ifdef RVC_OS_WIN
 #include "DevFSMCommBase.hpp"
-#include "IHttpFunc.h"
 
+#ifdef RVC_OS_WIN
 #define REFLECTION(var) #var
 typedef struct ImgCheckReq : CHTTPReq {
 	string terminalNo;
@@ -359,8 +357,9 @@ private:
 #else
 	unordered_map<int, string> nationalCode;
 #endif
-	BOOL supportUCS2;
-	
+	BOOL supportUCS2; //Ö§³ÖÉúƧ×Ö
+	BOOL igestionVer; //ÎüÈëʽÉ豸
+
 	CSimpleStringA m_csAlarmMsg;
 
 	bool invalidBreak;

+ 2 - 2
Module/mod_IDCertificate/IDCertificate.xml

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="gb2312" ?>
+<?xml version="1.0" encoding="utf-8" ?>
 <entity name="IDCertificate">
 	<class name="IDCertService" overlap="true" exclusive="false">			
 		<twoway name="Read" overlap="true">
@@ -147,7 +147,7 @@
 				<param name="reserved2" type="array_string"/>
 			</req>
 			<res>
-				<!--msgtype鐢ㄤ簬鍖哄垎浼犻€掓柟寮忕殑鏂版棫-->
+				<!--msgtype用于区分传递方式的新旧-->
 				<param name="msgtype" type="int" />
 				<param name="hasscan" type="int" />
 				<param name="photodata" type="blob" />

+ 1 - 1
Module/mod_IDCertificate/IDCertificate_UserErrorCode.h

@@ -30,6 +30,6 @@
 #define IDCertificate_UserErrorCode_ReadAndScan_GetIDInfo	(IDCertificate_UserErrorCode_Start + 29) //读取身份证信息 错误码为 2010021d
 #define IDCertificate_UserErrorCode_ReadAndScan_TransImgFaild (IDCertificate_UserErrorCode_Start + 30) // 扫描图片获取失败错误码为 2010021e
 
-#define IDCertificate_UserErrorCode_Real_Root_Config		(IDCertificate_UserErrorCode_Start + 31) //加载实际的root配置
+//#define IDCertificate_UserErrorCode_Real_Root_Config		(IDCertificate_UserErrorCode_Start + 31) //加载实际的root配置
 
 #endif //_IDCERTIFICATE_USER_ERRORCODE_H

+ 12 - 0
Module/mod_IDCertificate/IDCertificate_def_g.h

@@ -36,6 +36,18 @@ namespace IDCertificate {
 #define IDCertService_MethodSignature_GetDevInfo 296205965
 #define IDCertService_MethodSignature_ReadAndScanUTF8 1171255469
 
+#define IDCertService_LogCode_Read "QLR040220100"
+#define IDCertService_LogCode_CancelRead "QLR040220101"
+#define IDCertService_LogCode_ReadWaitMore "QLR040220102"
+#define IDCertService_LogCode_Exit "QLR040220103"
+#define IDCertService_LogCode_ReadEx "QLR040220104"
+#define IDCertService_LogCode_Eject "QLR040220105"
+#define IDCertService_LogCode_ReadAndScan "QLR040220106"
+#define IDCertService_LogCode_CrossTermCall "QLR040220107"
+#define IDCertService_LogCode_CrossTermInvokeInfo "QLR040220108"
+#define IDCertService_LogCode_GetDevInfo "QLR040220199"
+#define IDCertService_LogCode_ReadAndScanUTF8 "QLR040220109"
+
 struct IDCertService_Read_Req
 {
 

+ 2 - 3
Other/libimageproc/CMakeLists.txt

@@ -44,7 +44,6 @@ if(RVC_DEBUG_MODE)
 else()
 
 if(MSVC)
-
     set(OPENCV_DYNAMIC_LIBS
 	opencv_calib3d310 
 	opencv_core310 
@@ -83,9 +82,9 @@ endif(RVC_DEBUG_MODE)
 
 # 添加需要依赖的其他共享库(包括系统库)
 if(MSVC)
-target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_LIB_DIRS_OPENCV})
+	target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_LIB_DIRS_OPENCV})
 else()
-target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_BIN_DIRS_OPENCV})
+	target_link_directories(${MODULE_NAME} PRIVATE ${CONAN_BIN_DIRS_OPENCV})
 endif(MSVC)
 target_link_libraries(${MODULE_NAME} ${OPENCV_DYNAMIC_LIBS})