浏览代码

#IQRV #comment 【高拍仪】取消预览再拍照报错缺陷修复

80374374 11 月之前
父节点
当前提交
c960b900e8
共有 2 个文件被更改,包括 16 次插入13 次删除
  1. 9 10
      Module/mod_HSPScanner/HSPScannerFSM.cpp
  2. 7 3
      Module/mod_HSPScanner/HSPScannerFSM.h

+ 9 - 10
Module/mod_HSPScanner/HSPScannerFSM.cpp

@@ -1318,13 +1318,14 @@ int CHSPScannerFSM::StartPreview(SpReqAnsContext<HSPScannerService_StartPreview_
 	ErrorCodeEnum erroCode = Error_Unexpect;
 	SetLastUserCode();
 	if (ctx->Req.colorType || ctx->Req.scanType || ctx->Req.rotateType) {
-		int retCode = SetPreviewParam(ctx->Req.colorType, ctx->Req.rotateType, ctx->Req.scanType);
-		if (retCode == 0)
+		const int retCode = SetPreviewParam(ctx->Req.colorType, ctx->Req.rotateType, ctx->Req.scanType);
+		if (retCode != 0)
 		{
-			erroCode = Error_Succeed;
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER)("SetPreviewParam return some wrong:0x%X", retCode);
+			erroCode = Error_DevCommFailed;
 		}
 		else {
-			erroCode = Error_DevCommFailed;
+			erroCode = Error_Succeed;
 		}
 	}
 	HspsDevStatus status = { 0 };
@@ -1994,8 +1995,9 @@ int CHSPScannerFSM::SetPreviewParam(int colorType, int rotateType, int scanType,
 		}
 		else {
 			SetErrorAndLog(erroCode, MEC_DEVAPI_HSPSCANNER_SetParam, "DevAdapter::SetParam", __FUNCTION__, abortIfFault ? IsInBusiness() : false, ullEnd - ullStart, HSPScannerService_LogCode_SetProperty, CombineJsonContext(ParamValToString(Param_Color_Map[colorType])));
+			retCode |= 0x0001;
+			SetLastUserCode(GetAlarmDEC(MEC_DEVAPI_HSPSCANNER_SetParam));
 		}
-		retCode |= 0x0001;
 	}
 	//////////////////////////////////////////////////////////////////////////
 	if (rotateType > 0 && rotateType < 5) {
@@ -2007,10 +2009,8 @@ int CHSPScannerFSM::SetPreviewParam(int colorType, int rotateType, int scanType,
 		}
 		else {
 			SetErrorAndLog(erroCode, MEC_DEVAPI_HSPSCANNER_SetParam, "DevAdapter::SetParam", __FUNCTION__, abortIfFault ? IsInBusiness() : false, ullEnd - ullStart, HSPScannerService_LogCode_SetProperty, CombineJsonContext(ParamValToString(Param_Rotate_Map[rotateType])));
-		}
-		if (FAILURED(erroCode))
-		{
 			retCode |= 0x0002;
+			SetLastUserCode(GetAlarmDEC(MEC_DEVAPI_HSPSCANNER_SetParam));
 		}
 	}
 	//////////////////////////////////////////////////////////////////////////
@@ -2023,9 +2023,8 @@ int CHSPScannerFSM::SetPreviewParam(int colorType, int rotateType, int scanType,
 		}
 		else {
 			SetErrorAndLog(erroCode, MEC_DEVAPI_HSPSCANNER_SetParam, "DevAdapter::SetParam", __FUNCTION__, abortIfFault ? IsInBusiness() : false, ullEnd - ullStart, HSPScannerService_LogCode_SetProperty, CombineJsonContext(ParamValToString(Param_Scan_Map[scanType])));
-		}
-		if (FAILURED(erroCode)) {
 			retCode |= 0x0004;
+			SetLastUserCode(GetAlarmDEC(MEC_DEVAPI_HSPSCANNER_SetParam));
 		}
 	}
 	return retCode;

+ 7 - 3
Module/mod_HSPScanner/HSPScannerFSM.h

@@ -495,13 +495,17 @@ struct SetPropertyInPreviewTask : public ITaskSp
 			eRet = Error_Succeed;
 		}
 		else {
+			DbgWithLink(LOG_LEVEL_WARN, LOG_TYPE_USER)("SetPreviewParam return some wrong:0x%X", retCode);
 			eRet = Error_DevCommFailed;
 		}
-		m_ctx->Answer(eRet);
-		if(ISSUCCEEDED(eRet))
+		if (ISSUCCEEDED(eRet)) {
 			pEvt->param1 = 0;
-		else
+			m_ctx->Answer(eRet);
+		}
+		else {
+			m_ctx->Answer(eRet, m_fsm->GetCustLastErrorCode());
 			pEvt->param1 = 1;
+		}
 		m_fsm->PostEventFIFO(pEvt);
 		return;
 	}