⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rangerparametergeneric.cpp

📁 支票扫描仪协议Ranger的应用.使用vc7.1
💻 CPP
字号:
#include "stdafx.h"
#include "RangerManager.h"
#include "RangeDataTypeHelper.h"

#include "RangerParameterGeneric.h"

CRangerParameterGeneric::CRangerParameterGeneric():CRangerParameterBase()
{
	m_orgJobOption = TRANSPORTJOBOPTION();
	m_curJobOption = TRANSPORTJOBOPTION();
}

CRangerParameterGeneric::CRangerParameterGeneric(CRangerManager* pRangerMgr):CRangerParameterBase(pRangerMgr)
{
	m_orgJobOption = TRANSPORTJOBOPTION();
	m_curJobOption = TRANSPORTJOBOPTION();
}

CRangerParameterGeneric::~CRangerParameterGeneric()
{

}

BOOL CRangerParameterGeneric::OnGetDefaultJobOption()
{
	if (!_GetJobOption(m_orgJobOption)) return FALSE;
 
	// 
	m_curJobOption = m_orgJobOption;

	return TRUE;
}

BOOL CRangerParameterGeneric::OnGetDefaultDriverOption()
{
	return TRUE;
}

BOOL CRangerParameterGeneric::OnGetDefaultOtherOption()
{
	return TRUE;
}

BOOL CRangerParameterGeneric::OnGetJobOption()
{
 	return _GetJobOption(m_curJobOption);
}

BOOL CRangerParameterGeneric::OnGetDriverOption()
{
	return TRUE;
}

BOOL CRangerParameterGeneric::OnGetOtherOption()
{
	return TRUE;
}

BOOL CRangerParameterGeneric::OnSetJobOption()
{
	_SetJobOption(m_curJobOption);
	return TRUE;
}

BOOL CRangerParameterGeneric::OnSetDriverOption()
{
	return TRUE;
}
BOOL CRangerParameterGeneric::OnSetOtherOption()
{
	return TRUE;
}

BOOL CRangerParameterGeneric::OnResetJobOption()
{
	m_curJobOption = m_orgJobOption;
	return TRUE;
}

BOOL CRangerParameterGeneric::OnResetDriverOption()
{
	return TRUE;
}

BOOL CRangerParameterGeneric::OnResetOtherOption()
{
	return TRUE;
}

TRANSPORTJOBOPTION* CRangerParameterGeneric::GetJobOption() const
{
	return (TRANSPORTJOBOPTION*)&m_curJobOption;
}

void CRangerParameterGeneric::GetJobOption(TRANSPORTJOBOPTION& jobOption)
{
	jobOption = m_curJobOption;
}

BOOL CRangerParameterGeneric::_GetJobOption(TRANSPORTJOBOPTION& jobOption)
{
	if (m_pRangerMgr == NULL) return FALSE;

	const TRANSPORTINFO* tansporInfo = m_pRangerMgr->GetTransportInformation();
	if (tansporInfo == NULL) return FALSE;

	// OptionalDevices
	jobOption.device.bNeedMicrEncoder = SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices", "NeedMicrEncoder"));
	jobOption.device.bNeedFrontEndorser = SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices", "NeedFrontEndorser"));
	jobOption.device.bNeedRearEndorser = SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices", "NeedRearEndorser"));
	jobOption.device.bNeedFrontStamp = SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices", "NeedFrontStamp"));
	jobOption.device.bNeedRearStamp = SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices", "NeedRearStamp"));
	jobOption.device.bNeedMicrofilmer = SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices", "NeedMicrofilmer"));
	jobOption.device.bNeedOcr =  SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices", "NeedMicrofilmer"));
	for (int i = 0; i < tansporInfo->General.nOcrReaderCount;i++)
	{
		CString strNeedOCRReader;
		strNeedOCRReader.Format("NeedOCRReader%d",i+1);

		BOOL bNeedOCR =  SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices",strNeedOCRReader));
		jobOption.device.bNeedOCRReaders.push_back(bNeedOCR);
	}

	jobOption.device.bNeedImaging =  SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices", "NeedImaging"));

	for (int i = 0; i < tansporInfo->General.nFrontImageCount;i++)
	{
		CString strNeedFrontImage;
		strNeedFrontImage.Format("NeedFrontImage%d",i+1);

		BOOL bNeedFrontImage =  SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices",strNeedFrontImage));
		jobOption.device.bNeedFrontImages.push_back(bNeedFrontImage);
	}

	for (int i = 0; i < tansporInfo->General.nRearImageCount;i++)
	{
		CString strNeedRearImage;
		strNeedRearImage.Format("NeedRearImage%d",i+1);

		BOOL bNeedRearImage =  SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices",strNeedRearImage));
		jobOption.device.bNeedRearImages.push_back(bNeedRearImage);
	}	
	jobOption.device.bNeedPocketGroups =  SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices", "NeedPocketGroups"));
	jobOption.device.bNeedIQA =  SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices", "NeedIQA"));
	jobOption.device.bNeedIQAUpstream =  SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices", "NeedIQAUpstream"));
	jobOption.device.bNeedIQADownstream =  SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("OptionalDevices", "NeedIQADownstream"));

	// FrontStamp
	m_orgJobOption.FrontStamp.nStaticPosition =  SRangerDataTypeHelper::StringToINT(m_pRangerMgr->GetOneTransportJobOption("FrontStamp", "StaticPosition"));
	for (int i = 0; i < 10;i++)
	{	
		CString str;
		str.Format("StampFile%d",i+1);
		CString strStampFile;
		strStampFile = m_pRangerMgr->GetOneTransportJobOption("FrontStamp", str);
		jobOption.FrontStamp.StampFiles.push_back(strStampFile);
	}

	// RearStamp
	m_orgJobOption.RearStamp.nStaticPosition = SRangerDataTypeHelper::StringToINT(m_pRangerMgr->GetOneTransportJobOption("RearStamp", "StaticPosition"));
	for (int i = 0; i < 10;i++)
	{	
		CString str;
		str.Format("StampFile%d",i+1);
		CString strStampFile;
		strStampFile = m_pRangerMgr->GetOneTransportJobOption("RearStamp", str);
		jobOption.RearStamp.StampFiles.push_back(strStampFile);
	}

	// OCRReaderN
	for (int i = 0; i< tansporInfo->OCRReaders.size();i++)
	{
		CString strOCRReader;
		strOCRReader.Format("OcrReader%d",i+1);
		TRANSPORTJOBOPTION_OCRREDER ocrReader;
		ocrReader.font = SRangerDataTypeHelper::StringToOCRFont(m_pRangerMgr->GetOneTransportJobOption(strOCRReader, "Font"));
		ocrReader.nVerticalCenter = SRangerDataTypeHelper::StringToINT(m_pRangerMgr->GetOneTransportJobOption(strOCRReader, "VerticalCenter"));
		ocrReader.nRight = SRangerDataTypeHelper::StringToINT(m_pRangerMgr->GetOneTransportJobOption(strOCRReader, "Right"));
		ocrReader.nWidth = SRangerDataTypeHelper::StringToINT(m_pRangerMgr->GetOneTransportJobOption(strOCRReader, "Width"));

		jobOption.OCRReaders.push_back(ocrReader);
	}

	// Imaging
	jobOption.Imaging.RootCaptureDirectory = m_pRangerMgr->GetOneTransportJobOption("Imaging", "RootCaptureDirectory");

	// FrontImages
	for (int i = 0;i < tansporInfo->FrontImages.size();i++)
	{
		TRANSPORTJOBOPTION_FRONTIMAGE frontImage;

		CString str;
		str.Format("FrontImage%d",i+1);
		frontImage.StorageFile = m_pRangerMgr->GetOneTransportJobOption(str, "StorageFile");

		jobOption.FrontImages.push_back(frontImage);

	}

	//RearImages
	for (int i = 0;i < tansporInfo->RearImages.size();i++)
	{
		TRANSPORTJOBOPTION_REARIMAGE rearImage;

		CString str;
		str.Format("RearImage%d",i+1);
		rearImage.StorageFile = m_pRangerMgr->GetOneTransportJobOption(str, "StorageFile");

		jobOption.RearImages.push_back(rearImage);

	}

	// Pockets
	m_orgJobOption.Pockets.nPocketFullCount = SRangerDataTypeHelper::StringToINT(m_pRangerMgr->GetOneTransportJobOption("Pockets", "PocketFullCount"));
	for (int i = 0; i < tansporInfo->General.nPocketCount;i++)
	{
		CString strPocketName;
		strPocketName.Format("PhysicalPocket%d",i+1);
		jobOption.Pockets.PhysicalPockets.push_back( m_pRangerMgr->GetOneTransportJobOption("Pockets", strPocketName));
	}

	// ExceptionHanding
	jobOption.ExceptionHanding.bEnable = SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("ExceptionHandling", "Enable"));
	jobOption.ExceptionHanding.bAutoHandPocket =   SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("ExceptionHandling", "AutoHandPocket"));
	jobOption.ExceptionHanding.MaxHandPocketDisplayItems =   SRangerDataTypeHelper::StringToINT(m_pRangerMgr->GetOneTransportJobOption("ExceptionHandling", "MaxHandPocketDisplayItems"));
	jobOption.ExceptionHanding.bAllowSkipItemRecovery =   SRangerDataTypeHelper::StringToBOOL(m_pRangerMgr->GetOneTransportJobOption("ExceptionHandling", "AllowSkipItemRecovery"));

	// 
	return TRUE;
}

BOOL CRangerParameterGeneric::_SetJobOption(const TRANSPORTJOBOPTION& jobOption)
{
	if (m_pRangerMgr == NULL) return FALSE;

	const TRANSPORTINFO* tansporInfo = m_pRangerMgr->GetTransportInformation();
	if (tansporInfo == NULL) return FALSE;

	// OptionalDevices
	m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", "NeedMicrEncoder",SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedMicrEncoder));
	m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", "NeedFrontEndorser",SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedFrontEndorser));
	m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", "NeedRearEndorser",SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedRearEndorser));
	m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", "NeedFrontStamp",SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedFrontStamp));
	m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", "NeedRearStamp",SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedRearStamp));
	m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", "NeedMicrofilmer",SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedMicrofilmer));
	m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", "NeedMicrofilmer",SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedOcr));

	for (int i = 0; i < tansporInfo->General.nOcrReaderCount;i++)
	{
		CString strNeedOCRReader;
		strNeedOCRReader.Format("NeedOCRReader%d",i+1);
		m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", strNeedOCRReader,SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedOCRReaders[i]));
	}
	m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", "NeedImaging",SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedImaging));


	for (int i = 0; i < tansporInfo->General.nFrontImageCount;i++)
	{
		CString strNeedFrontImage;
		strNeedFrontImage.Format("NeedFrontImage%d",i+1);
		m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", strNeedFrontImage,SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedFrontImages[i]));
	}

	for (int i = 0; i < tansporInfo->General.nRearImageCount;i++)
	{
		CString strNeedRearImage;
		strNeedRearImage.Format("NeedRearImage%d",i+1);
		m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", strNeedRearImage,SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedRearImages[i]));
	}	

	m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", "NeedPocketGroups",SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedPocketGroups));
	m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", "NeedIQA",SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedIQA));
	m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", "NeedIQAUpstream",SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedIQAUpstream));
	m_pRangerMgr->SetOneTransportJobOption("OptionalDevices", "NeedIQADownstream",SRangerDataTypeHelper::BOOLToString(jobOption.device.bNeedIQADownstream));

	// FrontStamp
	m_pRangerMgr->SetOneTransportJobOption("FrontStamp", "StaticPosition",SRangerDataTypeHelper::INTToString(jobOption.FrontStamp.nStaticPosition));

	for (int i = 0; i < 10;i++)
	{	
		CString str;
		str.Format("StampFile%d",i+1);
		m_pRangerMgr->SetOneTransportJobOption("FrontStamp", str,jobOption.FrontStamp.StampFiles[i]);
	}

	// RearStamp
	m_pRangerMgr->SetOneTransportJobOption("RearStamp", "StaticPosition",SRangerDataTypeHelper::INTToString(jobOption.RearStamp.nStaticPosition));

	for (int i = 0; i < 10;i++)
	{	
		CString str;
		str.Format("StampFile%d",i+1);
		m_pRangerMgr->SetOneTransportJobOption("RearStamp", str,jobOption.RearStamp.StampFiles[i]);
	}
	// OCRReaderN
	for (int i = 0; i< tansporInfo->OCRReaders.size();i++)
	{
		CString strOCRReader;
		strOCRReader.Format("OcrReader%d",i+1);
		m_pRangerMgr->SetOneTransportJobOption(strOCRReader, "Font",SRangerDataTypeHelper::OCRFontToString(jobOption.OCRReaders[i].font));
		m_pRangerMgr->SetOneTransportJobOption(strOCRReader, "VerticalCenter",SRangerDataTypeHelper::INTToString(jobOption.OCRReaders[i].nVerticalCenter));
		m_pRangerMgr->SetOneTransportJobOption(strOCRReader, "Right",SRangerDataTypeHelper::INTToString(jobOption.OCRReaders[i].nRight));
		m_pRangerMgr->SetOneTransportJobOption(strOCRReader, "Width",SRangerDataTypeHelper::INTToString(jobOption.OCRReaders[i].nWidth));
	}

	// Imaging
	m_pRangerMgr->SetOneTransportJobOption("Imaging", "RootCaptureDirectory",jobOption.Imaging.RootCaptureDirectory);

	// FrontImages
	for (int i = 0;i < tansporInfo->FrontImages.size();i++)
	{
		TRANSPORTJOBOPTION_FRONTIMAGE frontImage;

		CString str;
		str.Format("FrontImage%d",i+1);

		m_pRangerMgr->SetOneTransportJobOption(str, "StorageFile",jobOption.FrontImages[i].StorageFile);
	}

	//RearImages
	for (int i = 0;i <tansporInfo->RearImages.size();i++)
	{
		TRANSPORTJOBOPTION_REARIMAGE rearImage;

		CString str;
		str.Format("RearImage%d",i+1);
		m_pRangerMgr->SetOneTransportJobOption(str, "StorageFile",jobOption.RearImages[i].StorageFile);
	}

	// Pockets
	m_pRangerMgr->SetOneTransportJobOption("Pockets", "PocketFullCount",SRangerDataTypeHelper::INTToString(jobOption.Pockets.nPocketFullCount));

	for (int i = 0; i < tansporInfo->General.nPocketCount;i++)
	{
		CString strPocketName;
		strPocketName.Format("PhysicalPocket%d",i+1);
		m_pRangerMgr->SetOneTransportJobOption("Pockets", strPocketName,jobOption.Pockets.PhysicalPockets[i]);
	}

	// ExceptionHanding
	m_pRangerMgr->SetOneTransportJobOption("ExceptionHandling", "Enable",SRangerDataTypeHelper::BOOLToString(jobOption.ExceptionHanding.bEnable));
	m_pRangerMgr->SetOneTransportJobOption("ExceptionHandling", "AutoHandPocket",SRangerDataTypeHelper::BOOLToString(jobOption.ExceptionHanding.bAutoHandPocket));
	m_pRangerMgr->SetOneTransportJobOption("ExceptionHandling", "MaxHandPocketDisplayItems",SRangerDataTypeHelper::INTToString(jobOption.ExceptionHanding.MaxHandPocketDisplayItems));
	m_pRangerMgr->SetOneTransportJobOption("ExceptionHandling", "AllowSkipItemRecovery",SRangerDataTypeHelper::BOOLToString(jobOption.ExceptionHanding.bAllowSkipItemRecovery));

	return TRUE;

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -