Пример #1
0
bool Language::CheckMsgId(LNGID MsgId) const
{
	/* $ 19.03.2002 DJ
	   при отрицательном индексе - также покажем сообщение об ошибке
	   (все лучше, чем трапаться)
	*/
	if (MsgId >= static_cast<int>(size()) || MsgId < 0)
	{
		/* $ 26.03.2002 DJ
		   если менеджер уже в дауне - сообщение не выводим
		*/
		if (!Global->FrameManager->ManagerIsDown())
		{
			/* $ 03.09.2000 IS
			   ! Нормальное сообщение об отсутствии строки в языковом файле
			     (раньше имя файла обрезалось справа и приходилось иногда гадать - в
			     каком же файле ошибка)
			*/

			// TODO: localization
			string strMsg1(L"Incorrect or damaged ");
			strMsg1 += m_FileName;
			/* IS $ */
			if (Message(MSG_WARNING, 2,
				L"Error",
				strMsg1.data(),
				(L"Message " + std::to_wstring(MsgId) + L" not found").data(),
				L"Ok", L"Quit")==1)
				exit(0);
		}

		return false;
	}

	return true;
}
/*! @function
*************************************************************************
<PRE>
函数名  : OnButton1
功能    : 按钮1相应事件
参数    :
返回值  :
作者    : 唐日升
日期    : 2010-12-01
备注    :
</PRE>
************************************************************************/
void CInvRetServerWin::OnButton1(int iEvent, unsigned char * pEventData, int iDataLen)
{

    string strErr("");
    CaProgressBar porbar("");
    CInvVol invVol;
    string strMsg1("");
    string strMsg2("");
    string strMsg3("");
    char sqlbuf[128] = {0};
    INT32 nRet;

    if (0 == g_globalArg->m_IngSegPoint)
    {
        strMsg1 = "是否发票缴销?";
        strMsg2 = "发票缴销中...";
        strMsg3 = "发票缴销成功";
    }
    else
    {
        strMsg1 = "是否发票退回主机?";
        strMsg2 = "发票退回中...";
        strMsg3 = "发票退回成功";
    }

    if(FAILURE == YesNoBox(strMsg1))
    {
        return;
    }


    UINT8 ret = CheckInput(strErr);
    if (ret != SUCCESS)
    {
        CaMsgBox::ShowMsg(strErr);
        return;
    }

    memset(sqlbuf, 0x00, sizeof(sqlbuf));
    sprintf(sqlbuf, "where CODE = '%s' and IS_NO >= %s and IE_NO <= %s",
            m_strCode.c_str(), m_strSno.c_str(), m_strEno.c_str());
    invVol.m_filter = sqlbuf;

    DBG_PRINT(("sqlbuf : %s", sqlbuf));
// 	invVol.Requery();
// 	INT32 errCode = invVol.LoadOneRecord();
// 	if (errCode == SQLITE_DONE)
// 	{
// 		CaMsgBox::ShowMsg("无该号段的发票");
// 		return;
// 	}
// 	else if(errCode != SQLITE_OK)
// 	{
// 		CaMsgBox::ShowMsg("查询数据库错误");
// 		DBG_PRINT(("errCode : %d", errCode));
// 		return;
// 	}
//
// 	m_invVol.m_kindcode = invVol.m_kindcode;//发票种类代码

    porbar.SetText(strMsg2.c_str());
    porbar.ReFresh();
    //开始业务
    CDownLoadInvVolFun retHandle;
    if (0 == g_globalArg->m_IngSegPoint)
    {
        nRet = retHandle.InvVolRetToServer(&m_invVol, strErr);
    }
    else
    {
        nRet = retHandle.InvVolRetToMach(&m_invVol, "0", strErr);//退回给主机(分机号0)
    }

    if (SUCCESS != nRet)
    {
        CaMsgBox::ShowMsg(strErr);
        DBG_PRINT(("%s" ,strErr.c_str()));
        return;
    }
    //更新本地数据库
    invVol.m_filter = sqlbuf;
    INT32 errCode = invVol.Delete();
    if (errCode != SQLITE_OK)
    {
        CaMsgBox::ShowMsg("更新数据库错误,请执行票源下载");
        DBG_PRINT(("errCode : %d", errCode));
        return;
    }

    DBG_PRINT(("发票缴销/退回成功"));
    CaMsgBox::ShowMsg(strMsg3);
    ChangeWin(INV_SEG_MENU);
}