/* 系统检查,此函数为检测不过只有按取消键跳越 */ void PubCheckTerminal( void ) { DevHandle hDevHandle; uchar ucRet; int iPrinterType ,iPinpadType, iPinpadVer; EA_vCls(); PubDisplayInv(1 , "系统自检"); PubDisplayCen(3 , "密码键盘"); PubuiInkey(1); PubUsePinpadInside(FV.gbstCfg.nInputPinType); //[12/15/2013 zyf DJ] 德基默认内置 hDevHandle = EM_NULL; PubGetPinpadType( &iPinpadType ); while ((ucRet = PubOpenDevice((char*)"PINPAD", EM_io_EPP, &hDevHandle)) != EM_SUCCESS) { PubDisplay(3, "========[%d]========", ucRet); PubDisplayCen(4, "请接入密码键盘"); EA_vBeepMs(50); if( PubuiInkey(1) == EM_key_CANCEL ){ EA_ucCloseDevice(&hDevHandle); break; } } PubGetPinpadVer(hDevHandle, &iPinpadVer); while ((ucRet = PubResetPinpad( hDevHandle )) != EM_SUCCESS) { PubDisplay(3, "========[%d]========", ucRet); PubDisplayCen(4, "请接入密码键盘"); EA_vBeepMs(50); if( PubuiInkey(1) == EM_key_CANCEL ){ EA_ucCloseDevice(&hDevHandle); break; } } EA_ucCloseDevice(&hDevHandle); PubClearAll(); PubDisplayCen(3 , "打 印 机"); PubuiInkey(1); PubGetPrinterType( &iPrinterType ); while ((ucRet = PubOpenDevice((char *)"PRINT", EM_io_REALMODE, &hDevHandle)) != EM_SUCCESS) { PubDisplay(3, "========[%d]========", ucRet); PubDisplayCen(4, "请检查打印机"); EA_vBeepMs(50); if( PubuiInkey(1) == EM_key_CANCEL ){ EA_ucCloseDevice(&hDevHandle); break; } } while ((ucRet = EA_ucGetPrinterStatus(hDevHandle)) != EM_SUCCESS) { PubDisplayCen(2, "缺纸或系统故障"); PubDisplay(3, "========[%d]========", ucRet); PubDisplayCen(4, "请检查打印机"); EA_vBeepMs(50); if( PubuiInkey(1) == EM_key_CANCEL ){ EA_ucCloseDevice(&hDevHandle); break; } } EA_ucCloseDevice(&hDevHandle); PubClearAll(); PubDisplayCen(3 , "通 信 口"); PubInitComm(&CommInfo, AUTOCHECK); #ifdef TEST while(1) { PubDisplayCen(2, "这是测试是程序不能使"); PubDisplayCen(3, "用在生产环境由此产生"); PubDisplayCen(4, "的一切后果概不负责"); EA_vBeepMs(200); if( PubuiInkey(1) == EM_key_FUNC ) break; } #endif return; }
/****************************************************************************** 函数名称:print_work_note_history 功能描述:打印日结算历史票据 参数名称:输入/输出? 类型 描述 输入 返 回 值: 作 者 :于福勇 日 期:2004-09-02 修改历史: 日期 修改人 修改描述 ------ --------- ------------- ******************************************************************************/ void print_work_note_his(INT8U * rec) { uchar ucRet; INT8U RecBuff[70]; INT8U strbuff[50]; INT8U time[7+2]; _BANLANCE_IN_HAND * prec = (_BANLANCE_IN_HAND *)rec; EA_vCls(); EA_vDisplay(1, " 历史日结帐单打印 ");//(int qx, int qy, char * ceStr, int xyFlag) EA_vDisplay(2, " 请等待... ");//(int qx, int qy, char * ceStr, int xyFlag) SleepMs(1500); memset(RecBuff, 0, sizeof(RecBuff)); ucRet = EA_ucGetPrinterStatus(hDprinterHandle); //打印前必须判断打印机的状态 if( ucRet == EM_prn_PAPERENDED ) { EA_vCls(); EA_vDisplay(1, " 缺纸,打印失败! "); EA_vDisplay(2, " 请放入纸张后 "); EA_vDisplay(3, " 按确认任意键 "); EA_uiInkey(0); } if( ucRet == EM_prn_OVERHEAT ) { EA_vDisplay(2, " 机芯温度过高 "); EA_vDisplay(3, " 请稍后再打印 "); EA_uiInkeyMs(500); return; } if( ucRet == EM_prn_LOWVOL ) { EA_vDisplay(2, " 电池电量过低 "); EA_vDisplay(3, " 请充电后再打印 "); EA_uiInkeyMs(500); return; } (void)EA_ucPrinterAutoFeeding(hDprinterHandle); ///打印头 (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)"淄博市公共汽车公司\r\n"); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)"日结帐单历史记录\r\n"); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)"------------------------------\r\n"); //消费次数 sprintf((void *)strbuff, "天然气加气次数 :%6d次\r\n", prec->consume_cnt[0]); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); sprintf((void *)strbuff, "汽油93#加油次数:%6d次\r\n", prec->consume_cnt[1]); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); sprintf((void *)strbuff, "汽油97#加油次数:%6d次\r\n", prec->consume_cnt[2]); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); sprintf((void *)strbuff, "柴油加油次数 :%6d次\r\n", prec->consume_cnt[3]); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)"------------------------------\r\n"); //消费体积 sprintf((void *)strbuff, "天然气体积 :%6.2lf元\r\n", (double)(prec->consume_cap[0])/100); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); sprintf((void *)strbuff, "汽油93#体积:%6.2lf元\r\n", (double)(prec->consume_cap[1])/100); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); sprintf((void *)strbuff, "汽油97#体积:%6.2lf元\r\n", (double)(prec->consume_cap[2])/100); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); sprintf((void *)strbuff, "柴 油 体 积:%6.2lf元\r\n", (double)(prec->consume_cap[3])/100); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)"------------------------------\r\n"); //消费金额 sprintf((void *)strbuff, "天然气金额 :%6.2lf元\r\n", (double)(prec->consume_amt[0])/100); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); sprintf((void *)strbuff, "汽油93#金额:%6.2lf元\r\n", (double)(prec->consume_amt[1])/100); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); sprintf((void *)strbuff, "汽油97#金额:%6.2lf元\r\n", (double)(prec->consume_amt[2])/100); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); sprintf((void *)strbuff, "柴 油 金 额:%6.2lf元\r\n", (double)(prec->consume_amt[3])/100); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)"------------------------------\r\n"); sprintf((void *)strbuff, "总 金 额 :%6.2lf元\r\n", (double)(prec->consume_amt[0]+prec->consume_amt[1]+prec->consume_amt[2] +prec->consume_amt[3])/100); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)"------------------------------\r\n"); //上班时间 memcpy(time, (INT8U*)&prec->work_datetime, 7); sprintf((void *)strbuff, "上班时间:\r\n"); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char*)strbuff); sprintf((void *)strbuff, "%02X%02X-%02X-%02X %02X:%02X:%02X\r\n", time[0],time[1],time[2],time[3],time[4],time[5],time[6]); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char*)strbuff); //下班时间 memcpy(time, (INT8U*)&prec->down_datetime,7); sprintf((void *)strbuff, "下班时间:\r\n"); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char*)strbuff); sprintf((void *)strbuff, "%02X%02X-%02X-%02X %02X:%02X:%02X\r\n", time[0],time[1],time[2],time[3],time[4],time[5],time[6]); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char*)strbuff); //分行符号 strcpy((void *)strbuff, "---------------------------------- \r\r\r"); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); //设备编号 htoa(RecBuff, &prec->equ_id[0], 3); sprintf((void *)strbuff, "设备编号 :%s\r\n", RecBuff); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); //商户号 htoa(RecBuff, &prec->acnt_id[0], 2); sprintf((void *)strbuff, "站 点 号:%s\r\n", RecBuff); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); //操作员号 htoa(RecBuff, &prec->oper_id[0], 1); sprintf((void *)strbuff, "加油员工号:%s\r\n", RecBuff); (void)EA_ucLinePrinter(hDprinterHandle, 0, (char *)strbuff); // 打印最后调用换页命令 ucRet = EA_ucLinePrinter(hDprinterHandle, 0, "\f"); if ( ucRet == EM_SUCCESS ) { EA_vDisplay(2, "本次打印结束!"); Beep(1000); EA_uiInkeyMs(2000); } }