/*21.02.2023	10.06.2004	Белых  xkus.c
Программа расчёта коммунальных услуг
*/

#define DVERSION "20.02.2025"

#include <iceb.h>
#include <buhg.h>

int kusnast(void);
void raskus(void);
int energy(char*,short,short);
void dirpmd();
//void dirlg();
void ku_oplata();
void  dirsk();
void karta(char*,char*);

SQL_baza	bd;

extern float kvartp; //квартирная плата
extern float otop;   //отопление
extern float gas;    //газ
extern float elek;   //електроенергия
extern int iceb_kod_podsystem;


extern float voda_cena_b_sh; /*цена воды без счётчика*/
extern float voda_kolih_b_sh; /*количество воды без счётчика*/
extern float voda_cena_po_sh; /*цена воды по счётчику*/

extern float stoki_cena_b_sh;  /*цена стока без счётчика*/
extern float stoki_kolih_b_sh; /*количество стока без счётчика*/
extern float stoki_cena_po_sh; /*цена стока по счётчику*/

extern float gaz_cena;     /*цена газа*/
extern float gaz_kolih;    /*Объём газа*/
extern float gaz_r_cena;   /*цена распределения газа*/
extern float gaz_r_kolih;  /*Объём распределения газа*/



int main(int argc,char **argv,char **envp)
{
iceb_kod_podsystem=ICEB_PS_UU;



icebstart(argc,argv);

if(iceb_t_perzap(1) != 0) /*Проверка на первичный запуск в текущем дне и удаление *.lst */
 exit_iceb(1);


VVOD MENU(4);
int k=0;


/*Ищем настройку*/

if(nastsys() != 0)
  goto kon;
if(kusnast() != 0) 
  goto kon;

iceb_t_blokps(); /*автоматическая блокировка подсистемы*/


MENU.VVOD_spisok_add_ZAG("Програма розрахунку комунальних послуг");
MENU.VVOD_spisok_add_ZAG(iceb_t_get_pnk("00",0));

MENU.VVOD_spisok_add_MD("Перегляд списку квартир");//0
MENU.VVOD_spisok_add_MD("Розрахунок комунальних послуг");//1
MENU.VVOD_spisok_add_MD("Работа з файлом налаштовки");//2
MENU.VVOD_spisok_add_MD("Перегляд списку показань лічільників");//3
MENU.VVOD_spisok_add_MD("Робота з нарахуваннями/оплатами");//4
MENU.VVOD_spisok_add_MD("Встановлення/зняття блокування дат");//5
MENU.VVOD_spisok_add_MD("Вихід");//6

for (;;)
{

 clear();
 int nomer=0;
 int X=COLS-35;
 move (nomer++,X);
 printw ("Разробник  Бєлих О.");
 move (nomer++,X);
 printw ("Версія:  2.0 ");
 move (nomer++,X);
 printw ("Дата: %s",DVERSION);
 nomer+=2;
 move (nomer++,X);
 printw ("Квартплата:%.3f", kvartp);
 move (nomer++,X);
 printw ("Опалення:%.3f",otop);
 move (nomer++,X);

 mvprintw(nomer++,X,"Газ:%.3f",gaz_cena);
 mvprintw(nomer++,X,"Розподіл газу:%.3f",gaz_r_cena);

 move (nomer++,X);
 printw ("Електроенергія:%.3f",elek);

 mvprintw(nomer++,X,"Ціна води без лічільника:%.7g",voda_cena_b_sh);
 mvprintw(nomer++,X,"Ціна води з лічільником:%.7g",voda_cena_po_sh);
 mvprintw(nomer++,X,"Об'єм води без лічільника:%.7g",voda_kolih_b_sh);

 mvprintw(nomer++,X,"Ціна стоку без лічільника:%.7g",stoki_cena_b_sh);
 mvprintw(nomer++,X,"Ціна стоку з лічільником:%.7g",stoki_cena_po_sh);
 mvprintw(nomer++,X,"Об'єм стоку без лічільника:%.7g",stoki_kolih_b_sh);

 mvprintw(nomer++,X,"Ціна газу:%.7g",gaz_cena);
 mvprintw(nomer++,X,"Об'єм газу:%.7g",gaz_kolih);

 mvprintw(nomer++,X,"Ціна розподілу газу:%.7g",gaz_r_cena);
 mvprintw(nomer++,X,"Об'єм розподілу газу:%.7g",gaz_r_kolih);

 if(menu3(&MENU,&k,1,0,0) != 0)
   continue;


 switch (k)
  {
   case -1:
   case 6:
   goto kon;
     break;

  case 0:
   dirsk();
   break;

  case 1:
   raskus();
   break;
  
  case 2:
   iceb_redfil("kusnast.alx",1);
   if(kusnast() != 0) 
     goto kon;
   break;
  
  case 3:
   dirpmd();
   break;

  case 4:
   ku_oplata();
   break;

  case 5:
    iceb_tl_blok();
    break;

  default:
   break; 
  }
}
kon:;

sql_closebaz(&bd);


endwin();


}
