mirror of
https://github.com/dimoniche/Moyka.git
synced 2026-01-29 17:33:33 +03:00
123 lines
4.7 KiB
C
123 lines
4.7 KiB
C
#ifndef _JOURNAL_H_
|
|
#define _JOURNAL_H_
|
|
|
|
#include "control.h"
|
|
#include "fiscal.h"
|
|
|
|
#define EVENT_RECORDS_COUNT 512 // ÷èñëî çàïèñåé â æóðíàëå
|
|
|
|
#pragma pack(push, 1)
|
|
/// ñòðóêòóðà çàïèñè æóðíàëà ðàáî÷èõ ñîáûòèé
|
|
typedef struct{
|
|
// âðåìÿ ñîçäàíèÿ çàïèñè
|
|
CPU_INT32U time;
|
|
|
|
// òèï ñîáûòèÿ
|
|
CPU_INT08U event;
|
|
#define JOURNAL_EVENT_NO_EVENT 0 // íåò ñîáûòèÿ
|
|
|
|
#define JOURNAL_EVENT_MONEY_NOTE_POST1 1 // ñîáûòèå ïîëó÷åíèÿ êóïþðû ïîñò 1
|
|
#define JOURNAL_EVENT_MONEY_NOTE_POST2 2 // ñîáûòèå ïîëó÷åíèÿ êóïþðû ïîñò 2
|
|
#define JOURNAL_EVENT_MONEY_NOTE_POST3 3 // ñîáûòèå ïîëó÷åíèÿ êóïþðû ïîñò 3
|
|
#define JOURNAL_EVENT_MONEY_NOTE_POST4 4 // ñîáûòèå ïîëó÷åíèÿ êóïþðû ïîñò 4
|
|
#define JOURNAL_EVENT_MONEY_NOTE_POST5 5 // ñîáûòèå ïîëó÷åíèÿ êóïþðû ïîñò 5
|
|
#define JOURNAL_EVENT_MONEY_NOTE_POST6 6 // ñîáûòèå ïîëó÷åíèÿ êóïþðû ïîñò 6
|
|
|
|
#define JOURNAL_EVENT_MONEY_COIN_POST1 7 // ñîáûòèå ïîëó÷åíèÿ ìîíåòû (êîë-âî ðóáëåé) ïîñò 1
|
|
#define JOURNAL_EVENT_MONEY_COIN_POST2 8 // ñîáûòèå ïîëó÷åíèÿ ìîíåòû (êîë-âî ðóáëåé) ïîñò 2
|
|
#define JOURNAL_EVENT_MONEY_COIN_POST3 9 // ñîáûòèå ïîëó÷åíèÿ ìîíåòû (êîë-âî ðóáëåé) ïîñò 3
|
|
#define JOURNAL_EVENT_MONEY_COIN_POST4 10 // ñîáûòèå ïîëó÷åíèÿ ìîíåòû (êîë-âî ðóáëåé) ïîñò 4
|
|
#define JOURNAL_EVENT_MONEY_COIN_POST5 11 // ñîáûòèå ïîëó÷åíèÿ ìîíåòû (êîë-âî ðóáëåé) ïîñò 5
|
|
#define JOURNAL_EVENT_MONEY_COIN_POST6 12 // ñîáûòèå ïîëó÷åíèÿ ìîíåòû (êîë-âî ðóáëåé) ïîñò 6
|
|
|
|
#define JOURNAL_EVENT_START_SESSION 13 // ñîáûòèå íà÷àëà ñåàíñà
|
|
#define JOURNAL_EVENT_END_SESSION 14 // ñîáûòèå êîíöà ñåàíñà
|
|
#define JOURNAL_EVENT_DEVICE_ON 16 // âêëþ÷åíèå óñòðîéñòâà
|
|
#define JOURNAL_EVENT_PRINT_BILL 17 // ïå÷àòü ÷åêà
|
|
#define JOURNAL_EVENT_PRINT_Z 18 // ïå÷àòü z-îò÷åòà
|
|
#define JOURNAL_EVENT_PRINT_X 19 // ïå÷àòü x-îò÷åòà
|
|
#define JOURNAL_EVENT_PRINT_BUF 20 // ïå÷àòü x-îò÷åòà
|
|
#define JOURNAL_EVENT_CHANGE_MODE 21 // ñìåíà ðåæèìà
|
|
#define JOURNAL_EVENT_INCASSATION 22 // èíêàññàöèÿ
|
|
#define JOURNAL_EVENT_PASS_FAIL 23 // íåâåðíûé ââîä ïàðîëÿ
|
|
#define JOURNAL_EVENT_EMAIL_OK 24 // ïðàâèëüíî îòïðàâëåí email
|
|
#define JOURNAL_EVENT_EMAIL_FAIL 25 // îøèáêà ïðè îòïðàâêå email
|
|
|
|
// îøèáêà ñâÿçè ñ ôèñêàëüíèêîì
|
|
#define ERROR_FR_CONN 26
|
|
|
|
// ÂÑÅ ÎØÈÁÊÈ ÔÐ ÔÀÒÀËÜÍÛÅ
|
|
#define ERROR_FR 27
|
|
|
|
#define JOURNAL_EVENTS_COUNT (ERROR_FR+FR_ERROR_NUMBER) // ÷èñëî ñîáûòèé
|
|
|
|
// êàíàë
|
|
CPU_INT08U channel;
|
|
|
|
// äàííûå: äëÿ ïîëó÷åíèÿ äåíåã - íîìèíàë êóïþðû, äëÿ ñåàíñà - äëèòåëüíîñòü îïëà÷åííîãî âðåìåíè, ìèí.
|
|
CPU_INT16U data;
|
|
|
|
}TEventRecord;
|
|
#pragma pack(pop)
|
|
|
|
// ñòðóêòóðà äëÿ õðàíåíèÿ ñ÷åò÷èêîâ
|
|
typedef struct{
|
|
// ÷èñëî çàïóñêîâ ïîêàíàëüíî
|
|
CPU_INT32U CounterChannelRun[CHANNELS_NUM];
|
|
// Ñóììàðíîå âðåìÿ ðàáîòû ïîêàíàëüíî, ñåê.
|
|
CPU_INT32U CounterChannelTime[CHANNELS_NUM];
|
|
// Ñóììà äåíåã ïîêàíàëüíî
|
|
CPU_INT32U CounterChannelMoney[CHANNELS_NUM];
|
|
|
|
// îáùåå ÷èñëî çàïóñêîâ
|
|
CPU_INT32U CounterRun;
|
|
// îáùåå Ñóììàðíîå âðåìÿ ðàáîòû, ñåê.
|
|
CPU_INT32U CounterTime;
|
|
// îáùåå Ñóììà äåíåã
|
|
CPU_INT32U CounterMoney;
|
|
|
|
// ñ÷åò÷èêè êóïþð â êóïþðíèêå ïî íîìèíàëàì
|
|
CPU_INT32U CounterBillNominals[24];
|
|
// îáùèé ñ÷åò÷èê êóïþð (âñåãî â êàññåòå)
|
|
CPU_INT32U BillsCount;
|
|
}TCounters;
|
|
|
|
|
|
// ñòðóêòóðà äëÿ õðàíåíèÿ äëèííûõ ñ÷åò÷èêîâ
|
|
// âåäåì ïîêà òîëüêî ýòè òðè äëèííûõ
|
|
typedef struct{
|
|
// ÷èñëî çàïóñêîâ ïîêàíàëüíî
|
|
CPU_INT32U CounterChannelRunLong[CHANNELS_NUM];
|
|
// Ñóììàðíîå âðåìÿ ðàáîòû ïîêàíàëüíî, ñåê.
|
|
CPU_INT32U CounterChannelTimeLong[CHANNELS_NUM];
|
|
// Ñóììà äåíåã ïîêàíàëüíî
|
|
CPU_INT32U CounterChannelMoneyLong[CHANNELS_NUM];
|
|
CPU_INT32U CounterRunLong;
|
|
CPU_INT32U CounterTimeLong;
|
|
CPU_INT32U CounterMoneyLong;
|
|
CPU_INT16U crc;
|
|
}TCountersLong;
|
|
|
|
|
|
extern CPU_INT32U GetShortMoney();
|
|
extern void IncBillnomCounter(CPU_INT32U index);
|
|
extern void CheckLongCounters(void);
|
|
extern void SaveEventRecord(CPU_INT08U channel, CPU_INT08U event, CPU_INT16U data);
|
|
extern void SetErrorFlag(CPU_INT08U error);
|
|
extern void ClrErrorFlag(CPU_INT08U error);
|
|
extern int TstErrorFlag(CPU_INT08U error);
|
|
extern int TstCriticalErrors(void);
|
|
extern void ClearEventJournal(void);
|
|
extern void GetEventStr(char* str, char event);
|
|
extern int GetEventRecord(TEventRecord* record, CPU_INT32U index);
|
|
extern void IncCounter(CPU_INT08U ch, CPU_INT32U time, CPU_INT32U money);
|
|
extern void ClearCounters(void);
|
|
extern void ErrorServer(void);
|
|
extern int TstCriticalValidatorErrors(void);
|
|
extern void ClrValidatorErrors(void);
|
|
extern void PrintEventJournalRecordEng(char* str, TEventRecord *record);
|
|
extern void GetEventStrEng(char* str, char event);
|
|
extern void ClearBillnomCounter(void);
|
|
|
|
#endif //#ifndef _JOURNAL_H_
|