исправление ошибок.

This commit is contained in:
dimoniche 2025-05-22 09:35:11 +03:00
parent 26b17106ae
commit 5618e12235
6 changed files with 2128 additions and 2081 deletions

View File

@ -31,7 +31,7 @@ extern CPU_INT32U ChannelsPayedTime[CHANNELS_NUM];
ApplicationState app_state; ApplicationState app_state;
static CPU_INT08U fr_conn_ctr = 0; //static CPU_INT08U fr_conn_ctr = 0;
static CPU_INT08U cash_accept_enabled = 0; static CPU_INT08U cash_accept_enabled = 0;
static CPU_INT08U incassation = 0; static CPU_INT08U incassation = 0;
extern int player_conn; extern int player_conn;
@ -686,7 +686,7 @@ void AppVladEventProcess(CPU_INT32U event)
} }
// ïðîâåðèì ôèñêàëüíèê, åñëè îí îòâàëèëñÿ // ïðîâåðèì ôèñêàëüíèê, åñëè îí îòâàëèëñÿ
if ((++fr_conn_ctr % 10) == 0) /*if ((++fr_conn_ctr % 10) == 0)
{ {
if ((FiscalConnState == FISCAL_NOCONN) || (TstCriticalFiscalError())) if ((FiscalConnState == FISCAL_NOCONN) || (TstCriticalFiscalError()))
{ {
@ -695,7 +695,7 @@ void AppVladEventProcess(CPU_INT32U event)
CheckFiscalStatus(); CheckFiscalStatus();
} }
} }
} }*/
// ñåðâåð îøèáîê // ñåðâåð îøèáîê
ErrorServer(); ErrorServer();
@ -801,7 +801,11 @@ void AppVladEventProcess(CPU_INT32U event)
CPU_INT32U password; CPU_INT32U password;
GetData(&PassDescAdmin, &password, 0, DATA_FLAG_SYSTEM_INDEX); GetData(&PassDescAdmin, &password, 0, DATA_FLAG_SYSTEM_INDEX);
if(get_abonement_data()->uid[0] != password) break; if(get_abonement_data()->uid[0] != password)
{
stop_card_working();
break;
}
if(app_state.user_menu == USER_MENU_IDLE) if(app_state.user_menu == USER_MENU_IDLE)
{ {
@ -817,6 +821,10 @@ void AppVladEventProcess(CPU_INT32U event)
app_state.user_menu = USER_MENU_BALANCE_CARD; app_state.user_menu = USER_MENU_BALANCE_CARD;
PrintBalanceMenu(); PrintBalanceMenu();
RefreshMenu(); RefreshMenu();
abonement_data* data = get_abonement_data();
SaveEventRecord(data->bonus, JOURNAL_EVENT_ABONEMENT_BALANCE, data->money);
PlayMusicFile(41); PlayMusicFile(41);
} }
} else { } else {
@ -874,7 +882,7 @@ void AppVladEventProcess(CPU_INT32U event)
SetData(&CounterAbonementMoneyDesc, &all_counter_money, 0, DATA_FLAG_DIRECT_INDEX); SetData(&CounterAbonementMoneyDesc, &all_counter_money, 0, DATA_FLAG_DIRECT_INDEX);
uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L; uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L * 60L;
data->money += pay; data->money += pay;
data->bonus = bonus; data->bonus = bonus;
@ -884,12 +892,14 @@ void AppVladEventProcess(CPU_INT32U event)
if(!write_mifare_card()) if(!write_mifare_card())
{ {
app_state.user_menu = USER_MENU_IDLE; app_state.user_menu = USER_MENU_IDLE;
SaveEventRecord(bonus, JOURNAL_EVENT_ABONEMENT_PAY_REJECTED, pay);
} }
else else
{ {
app_state.user_menu = USER_MENU_FINISH_PAY_BONUS_CARD; app_state.user_menu = USER_MENU_FINISH_PAY_BONUS_CARD;
PrintFinishPayMenu(); PrintFinishPayMenu();
RefreshMenu(); RefreshMenu();
SaveEventRecord(bonus, JOURNAL_EVENT_ABONEMENT_PAY_ACCEPTED, pay);
PlayMusicFile(52); PlayMusicFile(52);
} }
} }
@ -976,19 +986,12 @@ void AppVladEventProcess(CPU_INT32U event)
{ {
if (OSTimeGet() - app_state.last_card_manipulation_time > MENU_CARD_MANIPULATION_TIMEOUT_MS) if (OSTimeGet() - app_state.last_card_manipulation_time > MENU_CARD_MANIPULATION_TIMEOUT_MS)
{ {
app_state.user_menu = USER_MENU_IDLE; app_state.user_menu = USER_MENU_START_INSERT_CARD_MONEY;
app_state.ch_index = 0; PrintMenuStartPay();
app_state.mode_index = 0;
app_state.pay_index = 0;
app_state.current_abonement = 0;
PrintHelloMenu();
RefreshMenu(); RefreshMenu();
PlayMusicFile(42);
} }
} }
else if(app_state.user_menu == USER_MENU_START_INSERT_CARD_MONEY)
{
//PrintMenuStartPay();
}
else if(app_state.user_menu == USER_MENU_ALL_PRICE) else if(app_state.user_menu == USER_MENU_ALL_PRICE)
{ {
//PrintMenuAllPrice(app_state.blink_ctr >= 500); //PrintMenuAllPrice(app_state.blink_ctr >= 500);
@ -1011,6 +1014,7 @@ void AppVladEventProcess(CPU_INT32U event)
|| (app_state.user_menu == USER_MENU_SELECT_CH_CLEANING) || (app_state.user_menu == USER_MENU_SELECT_CH_CLEANING)
|| (app_state.user_menu == USER_MENU_SELECT_CH_SERVICE) || (app_state.user_menu == USER_MENU_SELECT_CH_SERVICE)
|| (app_state.user_menu == USER_MENU_SELECT_CH_TESTMODE) || (app_state.user_menu == USER_MENU_SELECT_CH_TESTMODE)
|| (app_state.user_menu == USER_MENU_START_INSERT_CARD_MONEY)
) )
{ {
if (OSTimeGet() - app_state.last_key_time > MENU_KEY_PRESS_TIMEOUT_MS) if (OSTimeGet() - app_state.last_key_time > MENU_KEY_PRESS_TIMEOUT_MS)
@ -1027,7 +1031,7 @@ void AppVladEventProcess(CPU_INT32U event)
else if (app_state.user_menu == USER_MENU_CASH_PAYING) else if (app_state.user_menu == USER_MENU_CASH_PAYING)
{ {
// ïðèíèìàåì íàëè÷íûå // ïðèíèìàåì íàëè÷íûå
CheckFiscalStatus(); //CheckFiscalStatus();
// âêëþ÷èì çàíîâî ïðèåì äåíåã, åñëè áûëà îøèáêà â ýòîì æå ìåíþ // âêëþ÷èì çàíîâî ïðèåì äåíåã, åñëè áûëà îøèáêà â ýòîì æå ìåíþ
if (!cash_accept_enabled) if (!cash_accept_enabled)
{ {
@ -1051,7 +1055,7 @@ void AppVladEventProcess(CPU_INT32U event)
} }
else if (app_state.user_menu == USER_MENU_CARD_PROCESSING) // åñëè â ìåíþ ïðèåìà áàíêîâñêîé êàðòû else if (app_state.user_menu == USER_MENU_CARD_PROCESSING) // åñëè â ìåíþ ïðèåìà áàíêîâñêîé êàðòû
{ {
CheckFiscalStatus(); //CheckFiscalStatus();
if (GetTermState() == TERM_STATE_DONE_PUR) if (GetTermState() == TERM_STATE_DONE_PUR)
{ {
/// ïå÷àòü ÷åêà òåðìèíàëà /// ïå÷àòü ÷åêà òåðìèíàëà
@ -1079,7 +1083,7 @@ void AppVladEventProcess(CPU_INT32U event)
} }
else if (app_state.user_menu == USER_MENU_INSERT_BANK_CARD) // åñëè â ìåíþ ïðèåìà áàíêîâñêîé êàðòû äëÿ àáîíåìåíòà else if (app_state.user_menu == USER_MENU_INSERT_BANK_CARD) // åñëè â ìåíþ ïðèåìà áàíêîâñêîé êàðòû äëÿ àáîíåìåíòà
{ {
CheckFiscalStatus(); //CheckFiscalStatus();
if (GetTermState() == TERM_STATE_DONE_PUR) if (GetTermState() == TERM_STATE_DONE_PUR)
{ {
/// ïå÷àòü ÷åêà òåðìèíàëà /// ïå÷àòü ÷åêà òåðìèíàëà
@ -1096,6 +1100,7 @@ void AppVladEventProcess(CPU_INT32U event)
SaveEventRecord(app_state.current_abonement, JOURNAL_EVENT_CARD_REJECTED, 0); SaveEventRecord(app_state.current_abonement, JOURNAL_EVENT_CARD_REJECTED, 0);
PrintAnotherCardMenu(); PrintAnotherCardMenu();
RefreshMenu(); RefreshMenu();
PlayMusicFile(51);
app_state.user_menu = USER_MENU_ERROR_BANK_CARD; app_state.user_menu = USER_MENU_ERROR_BANK_CARD;
app_state.menu_timeout = MENU_CARD_FAIL_TIMEOUT; app_state.menu_timeout = MENU_CARD_FAIL_TIMEOUT;
} }
@ -1324,13 +1329,18 @@ void AppVladEventProcess(CPU_INT32U event)
} }
else if(app_state.user_menu == USER_MENU_START_PAY_CARD) else if(app_state.user_menu == USER_MENU_START_PAY_CARD)
{ {
uint32_t pay = 0;
GetData(&AbonementMoneyDesc, &pay, app_state.current_abonement, DATA_FLAG_DIRECT_INDEX);
app_state.abonementtopay = pay;
uint32_t param[TERM_PARAM_COUNT]; uint32_t param[TERM_PARAM_COUNT];
param[0] = app_state.abonementtopay; param[0] = app_state.abonementtopay;
SetTermCommand(TERM_COMMAND_PEND_PUR, param); SetTermCommand(TERM_COMMAND_PEND_PUR, param);
app_state.user_menu = USER_MENU_INSERT_BANK_CARD; app_state.user_menu = USER_MENU_INSERT_BANK_CARD;
PrintInsertBankCardMenu(); PrintInsertBankCardMenu();
RefreshMenu(); RefreshMenu();
//PlayMusicFile(49); StopMusic();
PlayMusicFile(49);
} }
else if (app_state.user_menu == USER_MENU_WARNING_1) else if (app_state.user_menu == USER_MENU_WARNING_1)
{ {
@ -1535,6 +1545,7 @@ void AppVladEventProcess(CPU_INT32U event)
PrintInsertBonusCardMenu(); PrintInsertBonusCardMenu();
RefreshMenu(); RefreshMenu();
PlayMusicFile(50);
} }
} }
else if (app_state.user_menu == USER_MENU_SELECT_SERVICE_TIME) else if (app_state.user_menu == USER_MENU_SELECT_SERVICE_TIME)
@ -1617,6 +1628,7 @@ void AppVladEventProcess(CPU_INT32U event)
// ïîïîëíåíèå êàðòû çàêîí÷èëè - ñîîáùèì îá ýòîì // ïîïîëíåíèå êàðòû çàêîí÷èëè - ñîîáùèì îá ýòîì
PrintInsertBonusCardMenu(); PrintInsertBonusCardMenu();
RefreshMenu(); RefreshMenu();
PlayMusicFile(50);
} }
break; break;
case EVENT_FINISH_PAYMENT_ABONEMENT_SOLARIUM: case EVENT_FINISH_PAYMENT_ABONEMENT_SOLARIUM:
@ -1697,7 +1709,7 @@ void AppVladEventProcess(CPU_INT32U event)
} }
// íàïå÷àòàåì ÷åê // íàïå÷àòàåì ÷åê
if (IsFiscalConnected()) /*if (IsFiscalConnected())
{ {
CPU_INT32U format; CPU_INT32U format;
char service_name[48]; char service_name[48];
@ -1718,7 +1730,7 @@ void AppVladEventProcess(CPU_INT32U event)
// îøèáêà ïå÷àòè ÷åêà // îøèáêà ïå÷àòè ÷åêà
} }
} }*/
IncCounter(app_state.ch_index, ChannelsPayedTime[app_state.ch_index], accmoney, app_state.user_menu == USER_MENU_CARD_OK); IncCounter(app_state.ch_index, ChannelsPayedTime[app_state.ch_index], accmoney, app_state.user_menu == USER_MENU_CARD_OK);
IncSolarCounters(app_state.ch_index, app_state.mode_index, ChannelsPayedTime[app_state.ch_index], accmoney, app_state.user_menu == USER_MENU_CARD_OK); IncSolarCounters(app_state.ch_index, app_state.mode_index, ChannelsPayedTime[app_state.ch_index], accmoney, app_state.user_menu == USER_MENU_CARD_OK);
@ -2545,7 +2557,7 @@ void PrintSilverMenu(void)
GetData(&AbonementBonusDesc, &bonus_silver, 0, DATA_FLAG_DIRECT_INDEX); GetData(&AbonementBonusDesc, &bonus_silver, 0, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBestBeforeDesc, &best_before, 0, DATA_FLAG_DIRECT_INDEX); GetData(&AbonementBestBeforeDesc, &best_before, 0, DATA_FLAG_DIRECT_INDEX);
uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L; uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L * 60L;
PrintUserMenuStr("Ñåðåáðÿííûé àáîíåìåíò", 0); PrintUserMenuStr("Ñåðåáðÿííûé àáîíåìåíò", 0);
@ -2570,7 +2582,7 @@ void PrintGoldMenu(void)
GetData(&AbonementBonusDesc, &bonus_gold, 1, DATA_FLAG_DIRECT_INDEX); GetData(&AbonementBonusDesc, &bonus_gold, 1, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBestBeforeDesc, &best_before, 1, DATA_FLAG_DIRECT_INDEX); GetData(&AbonementBestBeforeDesc, &best_before, 1, DATA_FLAG_DIRECT_INDEX);
uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L; uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L * 60L;
PrintUserMenuStr(" Çîëîòîé àáîíåìåíò ", 0); PrintUserMenuStr(" Çîëîòîé àáîíåìåíò ", 0);
@ -2595,7 +2607,7 @@ void PrintPlatMenu(void)
GetData(&AbonementBonusDesc, &bonus_plat, 2, DATA_FLAG_DIRECT_INDEX); GetData(&AbonementBonusDesc, &bonus_plat, 2, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBestBeforeDesc, &best_before, 2, DATA_FLAG_DIRECT_INDEX); GetData(&AbonementBestBeforeDesc, &best_before, 2, DATA_FLAG_DIRECT_INDEX);
uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L; uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L * 60L;
PrintUserMenuStr("Ïëàòèíîâûé àáîíåìåíò", 0); PrintUserMenuStr("Ïëàòèíîâûé àáîíåìåíò", 0);
@ -2620,7 +2632,7 @@ void PrintDiamondMenu(void)
GetData(&AbonementBonusDesc, &bonus_diamond, 3, DATA_FLAG_DIRECT_INDEX); GetData(&AbonementBonusDesc, &bonus_diamond, 3, DATA_FLAG_DIRECT_INDEX);
GetData(&AbonementBestBeforeDesc, &best_before, 3, DATA_FLAG_DIRECT_INDEX); GetData(&AbonementBestBeforeDesc, &best_before, 3, DATA_FLAG_DIRECT_INDEX);
uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L; uint32_t SystemTime = GetTimeSec() + best_before * 24L * 60L * 60L;
PrintUserMenuStr(" Àëìàçíûé àáîíåìåíò ", 0); PrintUserMenuStr(" Àëìàçíûé àáîíåìåíò ", 0);

View File

@ -200,6 +200,15 @@ void GetEventStr(char* str, char event)
case JOURNAL_EVENT_ABONEMENT_REJECTED: case JOURNAL_EVENT_ABONEMENT_REJECTED:
sprintf(str, "ÁÊÇ.îïëàòà "); sprintf(str, "ÁÊÇ.îïëàòà ");
break; break;
case JOURNAL_EVENT_ABONEMENT_PAY_ACCEPTED:
sprintf(str, "ÁÊÇ.ïîïîëíåíèå ");
break;
case JOURNAL_EVENT_ABONEMENT_PAY_REJECTED:
sprintf(str, "ÁÊÇ.ïîïîëíåíèå ");
break;
case JOURNAL_EVENT_ABONEMENT_BALANCE:
sprintf(str, "ÁÊÇ.áàëàíñ ");
break;
case JOURNAL_EVENT_START_SESSION: case JOURNAL_EVENT_START_SESSION:
#if defined(BOARD_CENTRAL_CARWASH) #if defined(BOARD_CENTRAL_CARWASH)
sprintf(str, "Íà÷.ðàáîòû "); sprintf(str, "Íà÷.ðàáîòû ");

View File

@ -103,9 +103,14 @@ typedef struct{
#define ERROR_FR 53 #define ERROR_FR 53
#define JOURNAL_EVENT_ABONEMENT_ACCEPTED 54 // ïðèíÿò àáîíåìåíò, ñóììà áåçíàëà #define JOURNAL_EVENT_ABONEMENT_ACCEPTED 54 // ïðèíÿò àáîíåìåíò, ñóììà áåçíàëà
#define JOURNAL_EVENT_ABONEMENT_REJECTED 55 // àáîíåìåíò îòêëîíåíà #define JOURNAL_EVENT_ABONEMENT_REJECTED 55 // àáîíåìåíò îòêëîíåí
#define JOURNAL_EVENTS_COUNT (JOURNAL_EVENT_ABONEMENT_REJECTED+FR_ERROR_NUMBER) // ÷èñëî ñîáûòèé #define JOURNAL_EVENT_ABONEMENT_PAY_ACCEPTED 56 // êóïëåí àáîíåìåíò, ñóììà áåçíàëà
#define JOURNAL_EVENT_ABONEMENT_PAY_REJECTED 57 // ïîêóïêà àáîíåìåíòà îòêëîíåíà
#define JOURNAL_EVENT_ABONEMENT_BALANCE 58 // ÷òåíèå áàëàíñà
#define JOURNAL_EVENTS_COUNT (JOURNAL_EVENT_ABONEMENT_BALANCE+FR_ERROR_NUMBER) // ÷èñëî ñîáûòèé
// êàíàë // êàíàë
CPU_INT08U channel; CPU_INT08U channel;

View File

@ -2350,6 +2350,27 @@ void PrintEventJournalRecord(TEventRecord *record, char *str_event, char *str_da
sprintf(str_data, "%d ðóá.", record->data); sprintf(str_data, "%d ðóá.", record->data);
#endif #endif
} }
else if (record->event == JOURNAL_EVENT_ABONEMENT_ACCEPTED)
{
sprintf(str_data, "%dðóá %dÁ", record->data, record->channel);
}
else if (record->event == JOURNAL_EVENT_ABONEMENT_PAY_ACCEPTED)
{
sprintf(str_data, "%dðóá %dÁ", record->data, record->channel);
}
else if (record->event == JOURNAL_EVENT_ABONEMENT_REJECTED)
{
sprintf(str_data, "Îòêàç %dðóá %dÁ", record->data, record->channel);
}
else if (record->event == JOURNAL_EVENT_ABONEMENT_PAY_REJECTED)
{
sprintf(&str_event[strlen(str_event)], "Ïîñò %d", record->channel+1);
strcpy(str_data, "Îòêàç");
}
else if (record->event == JOURNAL_EVENT_ABONEMENT_BALANCE)
{
sprintf(str_data, "%dðóá %dÁ", record->data, record->channel);
}
else if (record->event == JOURNAL_EVENT_CARD_REJECTED) else if (record->event == JOURNAL_EVENT_CARD_REJECTED)
{ {
sprintf(&str_event[strlen(str_event)], "Ïîñò %d", record->channel+1); sprintf(&str_event[strlen(str_event)], "Ïîñò %d", record->channel+1);

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff