void CInvWasteWin::OnButton1(int iEvent, unsigned char * pEventData, int iDataLen) { UINT8 ret=SUCCESS; //检查是否满足空白条件 // ret=INVM_CheckWaste(); // DBG_PRINT(("ret= %u",ret)); // if (ret !=SUCCESS) // { // INVM_ErrMsgBox(ret); // return ; // } //空白作废 ret =INVM_InvWasteProc(); DBG_PRINT(("ret= %u",ret )); if (ret != SUCCESS) { INVM_ErrMsgBox(ret); DBG_PRINT(("发票作废失败")); return; } CaMsgBox::ShowMsg("发票作废成功"); DBG_PRINT(("发票作废成功")); DoActive(); //ChangeWin(INV_WASTE_MENU); //返回发票作废界面 return; }
void CInvStubPrnWin::PrintInv(UINT8 printType) { UINT8 ret = 0; INT32 errorcode = 0; INT8 val[256]; memset((void*)val, 0, sizeof(val)); string strMsg = ""; if( (m_pInvHead->m_kplx == WASTE_INV) || (m_pInvHead->m_kplx == WASTE_NOR) || (m_pInvHead->m_kplx == WASTE_RET) ) { CaMsgBox::ShowMsg("废票不能打印"); return; } if( printType == 1 ) strMsg = "请放白纸,是否打印?"; else strMsg = "请放对应纸质票,是否打印?"; CaMsgBox msgBox(strMsg.c_str(),CaMsgBox::MB_YESNO); msgBox.ShowBox(); if ((msgBox.m_iStatus == NO_PRESSED)||(msgBox.m_iStatus == CANCEL_PRESSED)) { return; } else if(msgBox.m_iStatus == OK_PRESSED) { sprintf(val,"where FPDM = '%s' and FPHM = %u",m_pInvHead->m_fpdm.c_str(),m_pInvHead->m_fphm); m_pInvHead->m_filter.append(val); errorcode = m_pInvHead->Load(); if (errorcode != SQLITE_OK) { INVM_ErrMsgBox(QUERY_ERROR); return; } ret = PrnInvStub(m_pInvHead, printType); if (ret != SUCCESS) { INVM_ErrMsgBox(ret); } } return; }
//-------------------------------------------------------------------------------------------------------------------- //红票开具时对应的Button1函数 //-------------------------------------------------------------------------------------------------------------------- void CGInvLabelWin::InvReturnBtn1() { if (0==g_globalArg->m_curInvVol->m_curInvNo) { INVM_ErrMsgBox(INV_ZERO); return; } UINT8 ret=SUCCESS; //检查是否满足负票条件 DBG_PRINT(("m_pLInvHead->m_fphm= %u",m_pLInvHead->m_fphm)); ret=INVM_CheckIsNoRet(m_pLInvHead); DBG_PRINT(("ret= %u",ret)); if (ret !=SUCCESS) { INVM_ErrMsgBox(ret); return ; } DBG_PRINT(("m_pLInvHead->m_fphm= %u",m_pLInvHead->m_fphm)); ret =INVM_InvRetProc(m_pLInvHead); //退本机发票,m_pRtInvHead存储着要退发票的信息 DBG_PRINT(("ret= %u",ret )); if (ret!=SUCCESS) { INVM_ErrMsgBox(ret); ChangeWin(GENERAL_INV_INPUT_WIN); } else { ChangeWin(INV_MANAGE_MENU); //返回发票管理界面 } return; }
//-------------------------------------------------------------------------------------------------------------------- //空白发票作废对应的Button1函数 //-------------------------------------------------------------------------------------------------------------------- void CGInvLabelWin::InvBlankWasteBtn1() { UINT8 ret=SUCCESS; //空白作废 ret =INVM_InvWasteProc(); DBG_PRINT(("ret= %u",ret )); if (ret != SUCCESS) { INVM_ErrMsgBox(ret); DBG_PRINT(("发票作废失败")); return; } CaMsgBox::ShowMsg("发票作废成功"); DBG_PRINT(("发票作废成功")); DoActive();//刷新屏幕显示信息 return; }
//-------------------------------------------------------------------------------------------------------------------- //获取未导入发票卷信息,并修改屏幕显示 //-------------------------------------------------------------------------------------------------------------------- UINT8 CGInvLabelWin::QueryShow(CInvVol *pInvVol, UINT32 nPageIndex) { DBG_ASSERT_EXIT((m_pInvVol != NULL), (" m_pInvVol == NULL!")); char value[256]; INT32 errorcode=0; memset((void*)value, 0, sizeof(value)); DBG_PRINT((" nPageIndex == %u", nPageIndex)); //页码序号超限 if( (nPageIndex<1) || (nPageIndex>m_pageNum) ) { return FAILURE; } //查出一个已分发未导入的记录 pInvVol->m_filter = "where USED_FLAG = 1 and OVER_FLAG = 1 "; sprintf(value,"and NO > %u ",(nPageIndex - 1)); pInvVol->m_filter.append(value); pInvVol->m_filter.append("limit 1 "); pInvVol->Requery(); //查询 errorcode = pInvVol->LoadOneRecord(); if (errorcode != SQLITE_OK) { INVM_ErrMsgBox(QUERY_ERROR); return FAILURE; } //查出对应发票代码 sprintf(title_array[0], "[页%u/%u]", nPageIndex, m_pageNum); sprintf(title_array[1], "发票代码: %s", pInvVol->m_code.c_str()); sprintf(title_array[2], "购买日期: %u", pInvVol->m_date); sprintf(title_array[3], "始号: %08u", pInvVol->m_isno); sprintf(title_array[4], "止号: %08u", pInvVol->m_ieno); return SUCCESS; }
UINT8 CInvStubPrnWin::QueryShow(CInvHead *pInvHead, UINT32 nIndex, UINT32 nPageIndex, UINT32 nPageNum, UINT8 nOrder) { DBG_ASSERT_EXIT((pInvHead != NULL), (" pInvHead == NULL!")); char value[256]; INT32 errorcode = 0; DBG_PRINT((" nPageIndex = %u", nPageIndex)); //页码序号超限 if ((nPageIndex<1)||(nPageIndex>nPageNum)) { return FAILURE; } //查出一张发票存根 INT8 val[256]; memset((void*)val, 0, sizeof(val)); pInvHead->m_filter = "where FPDM = "; sprintf(val,"'%s' and FPHM >= %u and FPHM <= %u ",m_code.c_str(),m_invStartNo,m_invEndNo); pInvHead->m_filter.append(val); if (nOrder==0)//升序 { memset((void*)value, 0, sizeof(value)); sprintf(value,"and FPHM > %u ",nIndex); pInvHead->m_filter.append(value); pInvHead->m_filter.append("limit 1 "); } else { memset((void*)value, 0, sizeof(value)); sprintf(value,"and FPHM < %u ",nIndex); pInvHead->m_filter.append(value); pInvHead->m_filter.append("order by FPHM desc limit 1 "); } pInvHead->Requery(); //查询 errorcode = pInvHead->LoadOneRecord(); if (errorcode != SQLITE_OK) { INVM_ErrMsgBox(QUERY_ERROR); return FAILURE; } switch(pInvHead->m_kplx) { case NORMAL_INV: sprintf(title_array[3], "类型: 正票"); break; case RET_MANUAL_INV: case RET_SPECIAL_INV: case RETURN_INV: sprintf(title_array[3], "类型: 红票"); break; case WASTE_INV: case WASTE_NOR: case WASTE_RET: sprintf(title_array[3], "类型: 废票"); break; default:; } TDateTime tmpDate(pInvHead->m_kprq, pInvHead->m_kpsj); string strTmpDate = tmpDate.FormatString(YYYYMMDDHHMMSS); sprintf(title_array[0], "[页%u/%u]", nPageIndex, nPageNum); sprintf(title_array[1], "发票号码: %08u", pInvHead->m_fphm); sprintf(title_array[2], "开票时间: %s", strTmpDate.c_str()); if ((pInvHead->m_kplx==RETURN_INV)|| (pInvHead->m_kplx==WASTE_RET) || (pInvHead->m_kplx==RET_MANUAL_INV)||(pInvHead->m_kplx==RET_SPECIAL_INV)) { sprintf(title_array[4], "金额: -%.2lf", (double)(pInvHead->m_kphjje)/100.0); } else { sprintf(title_array[4], "金额: %.2lf", (double)(pInvHead->m_kphjje)/100.0); } return SUCCESS; }