/*$Id:$*/
/*07.04.2023	01.04.2023	Белых А.И.	ku_saldo.cpp
Получение сальдо по коммунальным услугам
*/

#include <stdio.h>
#include <iceb.h>
#include <buhg.h>
#include <unistd.h>
#include <errno.h>


int ku_saldo(const char *nom_dom,const char *nom_kv,
short mr,short gr,double *suma,double *oplata,short kol_suma)
{
char strsql[1024];
SQL_str row;
class SQLCURSOR cur;
int kolstr=0;

for(int nom=0; nom < kol_suma; nom++)
 oplata[nom]=suma[nom]=0.;

sprintf(strsql,"select ub,op,gz,rgz,vd,st,ee,mus from Kuoplata \
where nd='%s' and nk='%s' and dt < '%04d-%02d-%02d'",
nom_dom,nom_kv,gr,mr,1);

if((kolstr=cur.make_cursor(&bd,strsql)) < 0)
 {
  iceb_t_msql_error(&bd,gettext("Ошибка создания курсора !"),strsql);
  return(1);
 }

if(kolstr == 0)
  return(0); 
//printw("\n");
while(cur.read_cursor(&row) != 0)
 {
//  printw("%s-%s %s %s %s %s %s %s %s\n",__FUNCTION__,row[0],row[1],row[2],row[3],row[4],row[5],row[6],row[7]);
  for(int nom=0; nom < kol_suma; nom++)
   suma[nom]+=atof(row[nom]);
 }
 
/*узнаём опдату в месяце*/

sprintf(strsql,"select ub,op,gz,rgz,vd,st,ee,mus from Kuoplata \
where nd='%s' and nk='%s' and dt='%04d-%02d-%02d' and pr=2",
nom_dom,nom_kv,gr,mr,1);

if(iceb_t_sql_readkey(strsql,&row,&cur) == 1)
 {
//  printw("#%s-%s %s %s %s %s %s %s %s\n",__FUNCTION__,row[0],row[1],row[2],row[3],row[4],row[5],row[6],row[7]);
  for(int nom=0; nom < kol_suma; nom++)
   oplata[nom]=atof(row[nom]);
 } 

//OSTANOV();

return(0);
}
