亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? shppsessioninterface.cpp

?? 本源碼為移動公司話費(fèi)查詢中間件TUXEDO使用的實(shí)例
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
		break;
	case 1:
		nLen = sprintf(chLog,"%s %s應(yīng)答:\r\n%s\r\n",chTime,m_chClientIP,pLog);
		break;
	case 2:
		nLen = sprintf(chLog,"%s %s處理錯誤:%s\r\n",chTime,m_chClientIP,pLog);
		break;
	default:
		nLen = sprintf(chLog,"%s %s %s\r\n",chTime,m_chClientIP,pLog);
		break;
	}
	return OSThread::TWrite(chLog,nLen);
}

KN_Error CSHPPSessionInterface::AdmiPopedom()
{
	KN_Error knError;
	char chParam[6][FIELDBUFFER];
	UInt16 nServerType;
	nServerType = m_shppRequest.GetServerType();
	if(nServerType == shppPrintMethods)
		return shppPopedomErr;

	return shppNotDefine;

	knError = m_shppRequest.GetNextParameter(6,(char**)chParam);

	if(nServerType == shppListMethod)            //0004   列出所有營業(yè)廳管理員的代號、ID和PASS
	{
	}
	else if(nServerType == shppChangeMethod)     //0005   修改密碼(營業(yè)廳管理員只能改自己的密碼)
	{
	}
	else if(nServerType == shppRecordMethod)     //0006   打印某個時間段的打印記錄
	{
	}

	else if(nServerType == shppAddPrintMethod)   //0007   增加一個打印機(jī)(sever admi)
	{
	}
	else if(nServerType == shppDeletePrintMethod)//0008   刪除一個打印機(jī)
	{
	}
	else if(nServerType == shppAddPosMethod)     //0009   增加一個營業(yè)廳
	{
	}
	else if(nServerType == shppDeletePosMethod) //0010   刪除一個營業(yè)廳
	{
	}
	else if(nServerType == shppFindPosMethod )  //0011   查找營業(yè)廳的ID
	{
	}
	else if(nServerType == shppPrintFeeMethod)  //0012   1為欠費(fèi)可打0為不能打印
	{
	}
	else if(nServerType == shppPrintDegreeMethod)//0013   限制打印次數(shù)
	{
	}

	return KN_OK;
}

//在線更新客戶端
KN_Error CSHPPSessionInterface::OnLiveOpdata()
{
	char chFile[PACKETBUFFER];
	char *pHeadPath,*pServerPath,*pClientPath,chPath[512];
	FILE*  fb = 0;
	int nRead = 0;
	KN_Error knError;

	strcpy(chPath,"p_20021016.log\t.\\p_20020919.txt\r\n\r\n");
	pHeadPath = chPath;
	while(memcmp(pHeadPath,"\r\n",2))
	{
		pServerPath = pHeadPath;
		pClientPath = strchr(pHeadPath,'\t');
		if(pClientPath == NULL)
			break;
		*pClientPath = '\0';
		pClientPath++;
		pHeadPath = pClientPath;

		fb = fopen(pServerPath,"rb");
		if(fb <=0)
		{
			return shppOpdataErr;
		}

		pServerPath = strchr(pHeadPath,'\r');
		if(pServerPath == NULL)
			break;
		*pServerPath = '\0';
		pHeadPath = pServerPath + 2;

		m_shppRequest.PutParameter(pClientPath);
		while(1)
		{
			pHeadPath = chPath;
			nRead = fread(chFile,1,PACKETBUFFER - 2*knPacketMinSize,fb);//PACKETBUFFER - 2*knPacketMinSize

			m_shppRequest.PutParameter((char*)chFile,nRead);
			if(nRead < PACKETBUFFER - 2*knPacketMinSize)
			{
				m_shppRequest.Flush();
				fclose(fb);
//				nRead = ferror (fb);
				break;
			}
		}

		//接收更新的信息
		knError = m_shppRequest.Parse();
		if(knError != 0 )
			return knError;

		if(m_shppRequest.GetServerType() != shppFileOpdataEnd)
			return shppRequestErr;
	}

	m_shppRequest.SendError(shppOK);

	return KN_OK;
}

KN_Error CSHPPSessionInterface::ManagePopedom()
{
	KN_Error knError = KN_OK;
	UInt16 nServerType;
	char chParam[5][FIELDBUFFER];
	char chTel[knTelOffset+1];
//	LPSCHAR lpParam;

	nServerType = m_shppRequest.GetServerType();
//	if(nServerType >= shppListMethod && nServerType <= shppPrintDegreeMethod)
//		return shppPopedomErr;
	if(nServerType >= shppAddPosMethod)
		return shppPopedomErr3;

	knError = m_shppRequest.GetNextParameter(6,(char**)chParam);

	if(nServerType == shppListMethod) //營業(yè)廳有那幾臺打印機(jī)的
	{
		return shppNotDefine;
	}
	else if(nServerType == shppChangeMethod) //修改密碼(營業(yè)廳管理員只能改自己的密碼)
	{
		char *pPass;
		m_shppRequest.GetTel(m_shppRequest.GetSocker()->GetReadBuf(),chTel);
		if(chParam[0][0] == '\0')
		{
			return m_shppRequest.SendError(shppParameterErr);
		}

		pPass = chParam[0];
		//修改密碼
		knError = m_pDBAmin->DBChangeOperPasswd(m_nPosNO,m_chPhone,m_chPass,pPass);
		if(knError != KN_OK)
			knError = shppLost;
		return m_shppRequest.SendError(knError);
	}
	else if(nServerType == shppRecordMethod) //0006   打印某個時間段的打印記錄)
	{
		char *pchRecord;
		int nLen,nParamLen,nMode;
		//打印某個時間段的打印記錄
		pchRecord = NULL;
		nLen = strlen(chParam[0]);
		nParamLen = strlen(chParam[1]);
		if(nLen == 8 && nParamLen != 8)       //按日查詢
			nMode = 0;
		else if(nLen == 8 && nParamLen == 8 ) //按時間段查詢
			nMode = 2;
		else if(nLen == 6)                    //按月查詢
			nMode = 1;
		else
			return shppParameterErr;
		printf("DB%s:打印記錄,%s\n",m_chClientIP,m_chPhone);

		if(nMode == 1)
			knError = m_pDBAmin->DBQueryPrtposPrintInfo(m_nPosNO,nMode,
				chParam[0],&pchRecord);
		else if(nMode == 0)
			knError = m_pDBAmin->DBQueryPrtposPrintInfoDetail(m_nPosNO,chParam[0],&pchRecord);
		else
			knError = m_pDBAmin->DBQueryPrtposPrintInfoDetailScope(m_nPosNO,chParam[0],chParam[1],&pchRecord);
		printf("DB%s:打印記錄end,%sknError = %d\n",m_chClientIP ,m_chPhone,knError);

//			if(m_pDBAmin->DBQueryPrtposPrintInfo(m_nPosNO,nMode,
//				chParam[0],&pchRecord) != KN_OK)

//		if(knError != KN_OK)
//			return shppParameterErr;

		if(knError != KN_OK || pchRecord == NULL)
		{
		printf("DB %s***********m_pDBAmin->DBFreeBuff()********\n",m_chClientIP);
			if(pchRecord)
				m_pDBAmin->DBFreeBuff(pchRecord);
		printf("DB %s***********DBFreeBuff end!!!*********\n",m_chClientIP);
			return shppNotListErr;
		}
		m_shppRequest.ResetField();
		PrintListHead(chParam[0]);
		if(nMode == 0 || nMode == 2) //按日查詢
		{
			m_shppRequest.AddPrintField(12);  //電話號
			m_shppRequest.AddPrintField(18);  //打印時間20020801 19:25:02
			m_shppRequest.AddPrintField(7);   //目標(biāo)月份200207
			m_shppRequest.AddPrintField(4,2); //打印條數(shù)
			m_shppRequest.AddPrintField(7,2); //打印話費(fèi)

			m_shppRequest.PutParameter("電話號      打印時間        目標(biāo)月份 總條數(shù) 總話費(fèi)");
		}
		else //if(nMode == 1)//按月查詢
		{
			m_shppRequest.AddPrintField(20);  //日期
			m_shppRequest.AddPrintField(6); //人次
			m_shppRequest.AddPrintField(6,2); //行數(shù)
			m_shppRequest.AddPrintField(6,2);//用紙量
			m_shppRequest.AddPrintField(10,2);//總話費(fèi)

			m_shppRequest.PutParameter("     日期         人次    行數(shù) 用紙量(mm) 總話費(fèi)");
		}

		m_shppRequest.PutParameter(s_chSeparator);

		//寫日月報
		PrintFilde(pchRecord);

		printf("DB %s*********m_pDBAmin->DBFreeBuff() = *****\n",m_chClientIP);
		m_pDBAmin->DBFreeBuff(pchRecord);
		printf("DB %s********DBFreeBuff end!!!************\n",m_chClientIP);

		m_shppRequest.ResetField();
		if(nMode != 1)
		{
			m_shppRequest.AddPrintField(6);  //合計:
			m_shppRequest.AddPrintField(8,2); //人次
			m_shppRequest.AddPrintField(8,2); //行數(shù)
			m_shppRequest.AddPrintField(12,2);//用紙量
			m_shppRequest.AddPrintField(14,2);//總話費(fèi)

			//人次\t行數(shù)\t用紙量(mm)\t打印話費(fèi)
			m_shppRequest.PutParameter(s_chSeparator);
			m_shppRequest.PutParameter("          人次    行數(shù)     用紙量(mm)     總話費(fèi)");
			if(nMode == 0)
				m_pDBAmin->DBQueryPrtposPrintInfo(m_nPosNO,nMode,
					chParam[0],&pchRecord);
			else
				m_pDBAmin->DBQueryPrtposPrintInfoScope(m_nPosNO,
					chParam[0],chParam[1],&pchRecord);

			m_shppRequest.AddFieldVal("合計:",strlen("合計:"));

			PrintFilde(pchRecord);

			m_pDBAmin->DBFreeBuff(pchRecord);
		}
		this->PrintListTail();

//		m_shppRequest.PutParameter(s_chSeparator);
		m_shppRequest.Flush();
		WriteLog("查看日月報退出!",-1);

	}

	return KN_OK;
}

KN_Error CSHPPSessionInterface::UserPopedom()
{
	KN_Error knError;
	char chParam[6][FIELDBUFFER];
//	SInt16 i;
	int nIsPrint = 1;
	char buf[252];
	
//	char *pList;//m_chMonth1[FIELDBUFFER],
//	char chTel[knTelOffset];
	UInt16  nServerType;

	nServerType = m_shppRequest.GetServerType();
	if(nServerType != shppPrintMethods && nServerType != shppPrintEnd)
		return shppPopedomErr4;

	if(nServerType == shppPrintEnd)
	{
#if PRINTEND
		char *pTemp = (char*)chParam;
		if(m_nCountLine == 0)
			return m_shppRequest.SendError(shppOK);
		printf("DB %s*********DBAddPrintRecord*****\n",m_chClientIP);
#ifndef _WIN32
		pthread_mutex_lock(&db_mutex);
#else
		WaitForSingleObject(db_mutex,INFINITE);
#endif //_WIN32
//	if( m_sysParamStruct.bRealTimeQuery != 1 || m_IsSelect != 1 )
		m_pDBAmin->DBAddPrintRecord(0,m_nPosNO,m_chPhone,m_chMonth,
			m_sysParamStruct.chTelCode[m_nTelType],NULL,NULL,m_nCountLine,(long)(m_fFeeCount*100),0);
		printf("DB %s: print end ***\n",m_chClientIP);
#ifndef _WIN32
		pthread_mutex_unlock(&db_mutex);
#else
		ReleaseMutex(db_mutex);
#endif //_WIN32
		m_shppRequest.SendError(shppOK);
		sprintf(pTemp,"m_chPhone = %s,m_chMonth = %s,\nm_nCountLine = %d,m_fFeeCount = %0.2f",m_chPhone,m_chMonth,
			m_nCountLine,m_fFeeCount);
		this->WriteLog(pTemp,1);
		return KN_OK;
#else //PRINTEND
		printf("!!!!!!!!2.DB %s DBAddPrintRecord***\n",m_chClientIP);
		return m_shppRequest.SendError(shppOK);
#endif //PRINTEND

	}

	knError = m_shppRequest.GetNextParameter(6,(char**)chParam);
	if(chParam[0][0] == '\0'|| chParam[1][0] == '\0'
		||chParam[2][0] == '\0'||chParam[3][0] == '\0')
	{
		return m_shppRequest.SendError(shppParameterErr);
	}
	if(chParam[1][0] != '0' )
		return shppPrintLimit;

	//提取話單
	m_IsSelect = chParam[2][0] - '0';
	if(m_IsSelect < 1 || m_IsSelect > m_sysParamStruct.nMonthSize)
		return shppPrintLimit;

	strcpy(m_chMonth,m_sysParamStruct.chPrintMonth[chParam[2][0] - '0' -1]);

	//向監(jiān)控程序發(fā)送日志
	sprintf(buf,"<183>[%9s%2s%05d][02]%s%s",m_chPhone+2,m_chMonth+4,m_nSessionID,m_chBusinessTitle,m_chClientIP);
	SendMsg(buf);
	
	//是否超過打印次
	if(chParam[3][0] == '0')
	{
//==================
/*		if(g_sysParamStruct.bRealTimeQuery == 1 && chParam[2][0] == '1')
		{
			sprintf(chParam[1],"%s%02d",m_chMonth,OS::GetDay());
			m_pDBAmin->DBQueryPhonePrintInfoReal(m_chPhone,chParam[1],&nIsPrint);
			if(nIsPrint == 0)
				return shppLimitDay;
		}
		else
		{
here*/
		//================ 
		nIsPrint = 1;
		printf("DB %s ,%s是否超過打印次數(shù)---開始------\n",m_chPhone,m_chMonth);
		m_nTelType = chParam[0][0] - '0';
		if(m_nTelType > m_sysParamStruct.nTelType)
			return shppPrintErr;
		if(m_sysParamStruct.nTelType > 0)
			m_nTelType--;
#ifndef _WIN32
		pthread_mutex_lock(&db_mutex);
#else
		WaitForSingleObject(db_mutex,INFINITE);
#endif //_WIN32
		m_pDBAmin->DBQueryPhonePrintInfo(m_chPhone,m_chMonth,m_sysParamStruct.chTelCode[m_nTelType],&nIsPrint);
		printf("DB %s ,%s是否超過打印次數(shù)---結(jié)束---%d--\n",m_chPhone,m_chMonth,nIsPrint);
#ifndef _WIN32
		pthread_mutex_unlock(&db_mutex);
#else
		ReleaseMutex(db_mutex);
#endif //_WIN32
		if(nIsPrint == 0)
		{
			sprintf(buf,"<176>[%9s%2s%05d][03]%s%s用戶達(dá)到限制次數(shù)",m_chPhone+2,m_chMonth+4,m_nSessionID,m_chBusinessTitle,m_chClientIP);
			SendMsg(buf);
			m_shppRequest.Reset();
			return m_shppRequest.SendError(shppPrintErr);
		}
//		}

	}

	//是否欠費(fèi)
/*	if(m_sysParamStruct.PrintIsFeeIs != '1')
	{
		chParam[4][0] = 0;
		if(UserIsFee(m_chPhone,m_chMonth,chParam[4]) != KN_OK)
		{
			if(chParam[4][0] != 0)
				m_shppRequest.PutParameter(chParam[4]);
			return shppHaveFeeErr;
		}
	}
*/
	m_fFeeCount = 0.0;
	m_nCountLine = 0;

	chParam[3][0] = 0;
	m_shppRequest.Reset();
//	knError = UserPrint(m_chPhone,m_sysParamStruct.chTelCode[m_nTelType],m_chMonth,NULL,&m_fFeeCount,
//		&m_nCountLine,chParam[3]);
	knError = UserPrint(m_chPhone,m_sysParamStruct.wsaddrlist,m_chMonth,NULL,&m_fFeeCount,
		&m_nCountLine,chParam[5]);
	

	if(knError != KN_OK)
	{
		sprintf(buf,"<184>[%9s%2s%05d][07]%s%s",m_chPhone+2,m_chMonth+4,m_nSessionID,m_chBusinessTitle,m_chClientIP);
		SendMsg(buf);
		m_shppRequest.Reset();

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品爽啪视频| 蜜桃久久av一区| 国产三级精品视频| 日韩欧美国产一区二区在线播放| 欧美色综合影院| 在线视频你懂得一区| 色综合久久88色综合天天免费| 菠萝蜜视频在线观看一区| 成人午夜视频网站| 99精品欧美一区| 99riav久久精品riav| aaa亚洲精品一二三区| 99热在这里有精品免费| 99久久精品免费观看| av亚洲产国偷v产偷v自拍| 99精品视频在线观看免费| 色偷偷88欧美精品久久久 | 欧美日韩一区二区三区在线看| 91丨porny丨蝌蚪视频| 色悠久久久久综合欧美99| 精品视频一区二区三区免费| 欧美日韩三级视频| 日韩一区二区精品葵司在线 | 亚洲已满18点击进入久久| 亚洲午夜一区二区三区| 全部av―极品视觉盛宴亚洲| 美国av一区二区| 国产一区二区三区日韩| 成人国产精品视频| 在线欧美小视频| 日韩一级视频免费观看在线| 久久久影视传媒| 亚洲靠逼com| 免费成人av资源网| 成人美女在线观看| 欧美天堂亚洲电影院在线播放| 91精品国产综合久久精品app| 欧美成人精品高清在线播放| 国产精品国产三级国产普通话蜜臀| 亚洲综合视频网| 韩国成人精品a∨在线观看| 97国产精品videossex| 91精选在线观看| 久久精品无码一区二区三区| 一区二区三区日韩欧美精品| 久久99国产精品麻豆| 一本久久精品一区二区| 91精品国产91久久久久久最新毛片 | 欧美日韩色综合| 久久精品视频在线免费观看| 一区二区三区波多野结衣在线观看| 日本视频一区二区| 99精品视频免费在线观看| 91精品蜜臀在线一区尤物| 欧美激情一区二区三区全黄| 亚洲bdsm女犯bdsm网站| 国产成人综合在线播放| 欧美三级电影在线看| 国产亚洲成年网址在线观看| 亚洲国产一区二区视频| 成人性视频网站| 欧美一区二区三区免费视频| 一色屋精品亚洲香蕉网站| 麻豆国产91在线播放| 在线看国产一区| 中文字幕国产一区二区| 毛片不卡一区二区| 欧美伊人久久久久久久久影院| 国产亚洲精品精华液| 日本欧美加勒比视频| 在线视频欧美区| 国产精品久久久久婷婷| 麻豆精品一二三| 欧美性生交片4| 国产精品成人免费精品自在线观看| 久久精品二区亚洲w码| 精品婷婷伊人一区三区三| 亚洲欧洲精品一区二区精品久久久| 紧缚奴在线一区二区三区| 666欧美在线视频| 亚洲主播在线观看| av不卡一区二区三区| 欧美精彩视频一区二区三区| 久久成人羞羞网站| 制服丝袜激情欧洲亚洲| 亚洲高清不卡在线| 在线看不卡av| 一区二区三区在线观看网站| 成人av网站在线观看| 国产欧美一区二区在线| 国产精品一线二线三线精华| 日韩精品一区在线| 欧美aaaaaa午夜精品| 91精品国产91久久久久久一区二区 | 国产精品国产三级国产三级人妇| 国模一区二区三区白浆| 欧美一区二区精品久久911| 亚洲成av人片观看| 欧美揉bbbbb揉bbbbb| 亚洲综合小说图片| 在线观看91视频| 亚洲一卡二卡三卡四卡五卡| 日本乱码高清不卡字幕| 伊人婷婷欧美激情| 欧美亚洲国产bt| 亚洲国产一二三| 欧美日韩五月天| 午夜激情久久久| 91精品久久久久久久91蜜桃| 天天影视网天天综合色在线播放| 欧美三级韩国三级日本三斤 | 国产乱码精品一区二区三| 久久网站热最新地址| 久久超碰97人人做人人爱| 精品久久久久久久一区二区蜜臀| 精品一二三四区| 欧美经典一区二区三区| 不卡的看片网站| 一区二区国产盗摄色噜噜| 欧美色图天堂网| 蜜桃91丨九色丨蝌蚪91桃色| 精品久久久久久久久久久久包黑料 | 韩国毛片一区二区三区| 久久久99久久精品欧美| 国产成人亚洲综合a∨婷婷| 国产精品天美传媒沈樵| 91麻豆免费视频| 亚洲成a人片在线不卡一二三区| 欧美日韩大陆在线| 激情综合亚洲精品| 国产精品天干天干在观线| 91在线丨porny丨国产| 亚洲与欧洲av电影| 日韩限制级电影在线观看| 国产成人免费在线观看不卡| 亚洲蜜臀av乱码久久精品蜜桃| 欧美久久免费观看| 国产精选一区二区三区| 亚洲女人的天堂| 日韩美女在线视频| eeuss鲁一区二区三区| 亚洲一区在线视频| 精品电影一区二区三区 | 欧美一级免费观看| 国产成人av一区| 亚洲国产日韩一级| 久久久久久久av麻豆果冻| www.久久精品| 日韩精品电影一区亚洲| 久久精品男人天堂av| 欧美性三三影院| 国产永久精品大片wwwapp| 亚洲精品久久久蜜桃| 精品久久久久久久一区二区蜜臀| 91色婷婷久久久久合中文| 蜜桃久久av一区| 亚洲乱码中文字幕综合| 精品欧美一区二区久久| 色噜噜狠狠成人中文综合| 男人操女人的视频在线观看欧美| 中文字幕精品一区二区精品绿巨人 | 久久亚洲欧美国产精品乐播 | 国产精品三级视频| 91精品国产综合久久久久久久久久 | 亚洲精品一区二区三区精华液 | 国产a级毛片一区| 日本在线不卡视频一二三区| 国产精品美日韩| 日韩一区二区三区观看| 在线这里只有精品| 国产一区久久久| 日韩精品电影在线| 伊人色综合久久天天人手人婷| 久久精品一区二区三区不卡牛牛 | 欧美日韩国产精选| www.欧美亚洲| 国产福利一区二区三区在线视频| 亚洲午夜国产一区99re久久| 国产色一区二区| 日韩免费视频一区二区| 欧洲日韩一区二区三区| 成人福利在线看| 久久精品国产久精国产爱| 亚洲一区在线观看视频| 亚洲欧美在线视频| 国产女人18水真多18精品一级做 | 亚洲一区二区美女| 亚洲免费观看视频| 国产精品视频观看| 国产午夜精品久久| 欧美v日韩v国产v| 91精品国产91久久久久久最新毛片| 在线亚洲欧美专区二区| 成人美女视频在线看| 国产高清在线精品| 韩国精品主播一区二区在线观看| 日本不卡视频在线| 日韩高清在线电影| 日韩精品久久理论片| 五月婷婷激情综合网|