📄 ppos.c.bak
字号:
}
}
}
if(cPressKey==KEY_ENTER)
{
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts(" 查询卡片余额 ");
set_normal_disp();
move_cursor(0,2);
puts("请放卡...");
move_cursor(0,6);
puts("或按取消键返回");
if((KEY_get_status()&0x01)!=0)
{
cPressKey = KEY_CLR;
}
// SPT_set(2);
// msg_buffer.s_word = sys_msg(SM_STAY_AWAKE);
// if (msg_buffer.bits.key_available)
// {
// cPressKey = KEY_CLR;
// }
delay_n_ms(100);
}
}while(cPressKey==KEY_ENTER);
MC530Off;
CloseSAMCard();
CheckPOSStatus(0);
break;
case 3:
if(gcAuthenMode!=2)
{
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts("错误:");
set_normal_disp();
move_cursor(0,2);
puts("未登录系统!");
move_cursor(0,6);
puts("按任意键返回");
getch();
break;
}
stQueryMenu.cCursorPosition = 0;
while(SelectMenu(stQueryMenu.pTitle, stQueryMenu.ppItem, stQueryMenu.cItemNum, &stQueryMenu.cCursorPosition)==KEY_ENTER)
{
switch(stQueryMenu.cCursorPosition)
{
case 0:
if(!getSysRunTime(&srt))
{
// clr_scr();
// set_console_english();
// Dispbcd(0,0,(unsigned char*)&srt, 30);
// set_console_chinese();
if(!haveTradeRecord(&srt))
{
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts("提示:");
set_normal_disp();
move_cursor(0,2);
puts("没有交易记录");
move_cursor(0,6);
puts("按任意键返回");
getch();
break;
}
doDb = srt.cLastTradeHandleDb;
doPos = srt.lLastTradeHandle-1;
iIndex = 0;
totalNum = DB_count_records(doDb);
// DispLong(0,0,totalNum);
stQueryReport1.cCursorPosition = 0;
do
{
p = DB_jump_to_record(doDb, doPos, &flag);
memcpy(&gstQueryChargeRecord, p, sizeof(gstQueryChargeRecord));
sprintf(reporttitle001+11, "%04d=", iIndex+1);
sprintf(reportbar002, "%02x%02x%02x%02x", gstQueryChargeRecord.cCityCode[0], gstQueryChargeRecord.cCityCode[1], gstQueryChargeRecord.cTradeCode[0], gstQueryChargeRecord.cTradeCode[1]);
sprintf(reportbar002+8, "%02x%02x%02x%02x", gstQueryChargeRecord.cCardNo[0], gstQueryChargeRecord.cCardNo[1], gstQueryChargeRecord.cCardNo[2], gstQueryChargeRecord.cCardNo[3]);
sprintf(reportbar004, "%02x", gstQueryChargeRecord.cCardType);
l1 = 0;
OverTurnString(&l1, gstQueryChargeRecord.cMoneyOrTimes, 4);
sprintf(reportbar006, "%7.2f元", (float)l1/100);
l2 = 0;
OverTurnString((unsigned char*)&l2+1, gstQueryChargeRecord.cChargeMoneyOrTimes, 3);
sprintf(reportbar008, "%7.2f元", (float)l2/100);
sprintf(reportbar00A, "%7.2f元", (float)(l1-l2)/100);
memcpy(cBuffer, gstQueryChargeRecord.cChargeDateTime, 7);
sprintf(reportbar00C, "%02x%02x年%02x月%02x日", cBuffer[0], cBuffer[1], cBuffer[2], cBuffer[3]);
sprintf(reportbar00D, "%02x:%02x:%02x", cBuffer[4], cBuffer[5], cBuffer[6]);
cPressKey = DisplayReport(stQueryReport1.pTitle, stQueryReport1.ppItem, stQueryReport1.cItemNum, &stQueryReport1.cCursorPosition);
if(cPressKey==KEY_F2)
{
if(doPos+1 == totalNum)
{
if(doDb == srt.cLastTradeHandleDb)
{
// doDb = srt.cLastGatherToDb;
// doPos = srt.lLastGatherTo;
}
else
{
if(doDb == TD_DB_INDEX3)
doDb = TD_DB_INDEX1;
else
doDb ++;
doPos = 0;
}
totalNum = DB_count_records(doDb);
}
else
{
doPos ++;
iIndex -- ;
}
}
else if(cPressKey==KEY_F1)
{
if((doDb == srt.cLastGatherToDb)&&(doPos == srt.lLastGatherTo))
{
// doDb = srt.cLastTradeHandleDb;
// doPos = srt.lLastTradeHandle-1;
// totalNum = DB_count_records(doDb);
}
else if(doPos == 0)
{
if(doDb == TD_DB_INDEX1)
doDb = TD_DB_INDEX3;
else
doDb --;
totalNum = DB_count_records(doDb);
doPos = totalNum;
iIndex ++ ;
}
else
{
doPos --;
iIndex ++ ;
}
}
}while(cPressKey != KEY_CLR);
}
break;
case 1:
if(!getSysRunTime(&srt))
{
if(!haveTradeRecord(&srt))
{
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts("提示:");
set_normal_disp();
move_cursor(0,2);
puts("没有交易记录");
move_cursor(0,6);
puts("按任意键返回");
getch();
break;
}
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts("提示:");
set_normal_disp();
move_cursor(0,2);
puts("正在计算,请等待");
doDb = srt.cLastTradeHandleDb;
doPos = srt.lLastTradeHandle-1;
iIndex = 0;
l2 = 0;
totalNum = DB_count_records(doDb);
do
{
p = DB_jump_to_record(doDb, doPos, &flag);
memcpy(&gstQueryChargeRecord, p, sizeof(gstQueryChargeRecord));
l1 = 0;
OverTurnString((unsigned char*)&l1+1, gstQueryChargeRecord.cChargeMoneyOrTimes, 3);
l2 += l1;
if((doDb == srt.cLastGatherToDb)&&(doPos == srt.lLastGatherTo))
{
break;
}
else if(doPos == 0)
{
if(doDb == TD_DB_INDEX1)
doDb = TD_DB_INDEX3;
else
doDb --;
totalNum = DB_count_records(doDb);
doPos = totalNum;
iIndex ++ ;
}
else
{
doPos --;
iIndex ++ ;
}
}while(1);
stQueryReport2.cCursorPosition = 0;
sprintf(reportbar012, "%4d次", iIndex+1);
sprintf(reportbar014, "%8.2f元", (float)l2/100);
do
{
stQueryReport2.cCursorPosition = 0;
cPressKey = DisplayReport(stQueryReport2.pTitle, stQueryReport2.ppItem, stQueryReport2.cItemNum, &stQueryReport2.cCursorPosition);
}while(cPressKey != KEY_CLR);
}
break;
case 2:
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts(" 设备编号查询 ");
set_normal_disp();
move_cursor(0,2);
puts("设备编号为:");
OverTurnString(&l1, gcPSAMNo, 4);
move_cursor(0,4);
printf("%08ld", l1);
move_cursor(0,6);
puts("按任意键返回");
getch();
break;
}
}
break;
case 4:
if(gcAuthenMode!=2)
{
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts("错误:");
set_normal_disp();
move_cursor(0,2);
puts("未登录系统!");
move_cursor(0,6);
puts("按任意键返回");
getch();
break;
}
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts(" 数据通讯 ");
set_normal_disp();
move_cursor(0,2);
puts("请连接好上位机,");
move_cursor(0,4);
puts("按确认键后开始数");
move_cursor(0,6);
puts("据通讯。");
cPressKey = getch();
if(cPressKey==KEY_ENTER)
{
// if(CheckPOSStatus(0)==0)
// {
// clr_scr();
// move_cursor(0,0);
// set_inversed_disp();
// puts("错误:");
// set_normal_disp();
// move_cursor(0,2);
// puts("未连接数据线!");
// move_cursor(0,6);
// puts("按任意键返回");
// getch();
// break;
// }
gcCommMsgRow = 4;
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts(" 数据通讯 ");
set_normal_disp();
move_cursor(0,2);
puts("开始通讯...");
UART_open();
cCommand = 0x00;
j = 0;
do
{
i = UART_receive(cCmdBuff, &iCmdBuffLength);
// clr_scr();
// set_console_english();
// Dispbcd(0,0,cCmdBuff,10);
// Dispbcd(0,3,&i,1);
// set_console_chinese();
if(i==0)
{
cCommand = cCmdBuff[3];
// clr_scr();
// set_console_english();
// Dispbcd(0,0,&cCommand,1);
// if((cCommand!=CMD_GETDATA)&&(cCommand!=CMD_SETBLACKLIST))UART_disconnect();
iLength = 0;
memcpy(&iLength, cCmdBuff+1, 2);
// clr_scr();
// DispInt(0,0,iLength);
memcpy(cBuffer, cCmdBuff+4, iLength);
// DispInt(0,2,iLength);
// Dispbcd(0,4,cBuffer,iLength);
i = POSExecuteCommand(cCommand, iLength, cBuffer, &iRLength, cRBuffer);
cCmdBuff[0] = i;
memcpy(cCmdBuff+1, cRBuffer, iRLength);
// if((cCommand!=CMD_GETDATA)&&(cCommand!=CMD_SETBLACKLIST))UART_open();
i = UART_send(cCmdBuff, iRLength+1);
if((cCommand==CMD_GETDATA)&&(iRLength>0)&&(i==0))
{
memcpy(&srt, cBuffer, sizeof(srt));
updateSysRunTime(&srt);//回写系统运行时参数
}
// set_console_chinese();
j = 0;
}
else
{
j ++;
if(j>50)
{
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts("错误:");
set_normal_disp();
move_cursor(0,2);
puts("通讯超时!");
move_cursor(0,6);
puts("按任意键返回");
getch();
break;
}
}
}while(cCommand!=CMD_DISCONNECT);
if(j<=50)
{
UART_disconnect();
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts(" 数据通讯 ");
set_normal_disp();
move_cursor(0,2);
puts("通讯完成!");
move_cursor(0,6);
puts("按任意键返回");
getch();
}
}
break;
case 5:
stSetMenu.cCursorPosition = 0;
while(SelectMenu(stSetMenu.pTitle, stSetMenu.ppItem, stSetMenu.cItemNum, &stSetMenu.cCursorPosition)==KEY_ENTER)
{
switch(stSetMenu.cCursorPosition)
{
case 0:
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts(" 对比度设置 ");
set_normal_disp();
move_cursor(0,2);
puts("<-减小, ->增加");
move_cursor(0,6);
puts("按其它键返回");
do
{
shContrast = get_LCD_contrast();
move_cursor(0,4);
printf("对比度:%2d", shContrast);
cPressKey = getch();
if(cPressKey==KEY_AUX3)
{
dec_LCD_contrast();
}
else if(cPressKey==KEY_AUX4)
{
inc_LCD_contrast();
}
else
break;
}while(1);
break;
case 1:
if(gcAuthenMode!=2)
{
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts("错误:");
set_normal_disp();
move_cursor(0,2);
puts("未登录系统!");
move_cursor(0,6);
puts("按任意键返回");
getch();
break;
}
clr_scr();
move_cursor(0,0);
puts("请输入超级管理员");
move_cursor(0,2);
puts("密码");
memset(cBuffer, 0, 40);
if(get_str(0,4,cBuffer, 8, 2)==KEY_ENTER)
{
if(memcmp(cBuffer, "20031231", 8)==0)
{
if(!getSysRunTime(&srt))
{
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts(" 数据中心号码 ");
set_normal_disp();
move_cursor(0,2);
puts(srt.CenterNo);
move_cursor(0,4);
puts("请输入新号码:");
memset(cBuffer, 0, 20);
if(get_str(0,6,cBuffer,12,0)==KEY_ENTER)
{
memcpy(srt.CenterNo, cBuffer, 12);
memcpy(CenterNo, cBuffer, 12);
updateSysRunTime(&srt);
move_cursor(0,2);
puts(" ");
move_cursor(0,2);
puts(cBuffer);
move_cursor(0,4);
puts("新号码设置成功!");
move_cursor(0,6);
puts("按任意键返回! ");
getch();
}
break;
}
}
}
clr_scr();
move_cursor(0,2);
puts("输入错误");
move_cursor(0,6);
puts("按任意键返回");
getch();
break;
case 2:
if(gcAuthenMode!=2)
{
clr_scr();
move_cursor(0,0);
set_inversed_disp();
puts("错误:");
set_normal_disp();
move_cursor(0,2);
puts("未登录系统!");
move_cursor(0,6);
puts("按任意键返回");
getch();
break;
}
GSM_off();
clr_scr();
move_cursor(0,2);
puts("关闭GSM模块成功");
move_cursor(0,6);
puts("按任意键返回!");
getch();
break;
case 3:
if(gcAuthenMode!=2)
{
clr_scr();
move_cursor(0,0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -