#!/bin/sh # eval `ckconfig -s || /var/local/stat/bin/ckconfig -s` eval `$binDir/configuration` PATH=$binDir:$PATH export PATH MonthStat=0 if [ "$2" != "" ] ; then Year=$2 fi if [ "$1" != "" ] ; then Month=$1 case $Month in "01") TxtMonth="ЯНВАРЬ" ;; "02") TxtMonth="ФЕВРАЛЬ" ;; "03") TxtMonth="МАРТ" ;; "04") TxtMonth="АПРЕЛЬ" ;; "05") TxtMonth="МАЙ" ;; "06") TxtMonth="ИЮНЬ" ;; "07") TxtMonth="ИЮЛЬ" ;; "08") TxtMonth="АВГУСТ" ;; "09") TxtMonth="СЕНТЯБРЬ" ;; "10") TxtMonth="ОКТЯБРЬ" ;; "11") TxtMonth="НОЯБРЬ" ;; "12") TxtMonth="ДЕКАБРЬ" ;; esac MonthStat=1 fi Report=$homeDir/data/$Year/$Month/report Account=$homeDir/data/$Year/$Month/account Devider="+----------+-----------------+---------+---------+-----------------+---------+" Linecount=55 StartDebetSum=0 StartCreditSum=0 FinishDebetSum=0 FinishCreditSum=0 PaymentSum=0 WorkSum=0 RealisationSum=0 Page=1 echo " Статистика оказанных услуг абонентам ПВП Связь-Сервис-Ирга" > $Report if [ $MonthStat -eq 0 ] ; then echo " за период с 01."$Month"."$Year" по "$Day"."$Month"."$Year" включительно" >> $Report else echo " за "$TxtMonth" месяц "$Year" года" >> $Report fi echo >> $Report echo " Лист "$Page >> $Report echo $Devider >> $Report echo "| |На начало периода| | | На конец периода| |" >> $Report echo "| Абонент | Дебет Кредит |Наработка| Платежи | Дебет Кредит |Реализац.|" >> $Report echo $Devider >> $Report Line=8 users=`awk '{ print $1 }' $Account` for user in $users do status=`grep -w $user $UserStatus | awk '{print $2}'` if [ "$status" != "dead" ] ; then accline=`grep -w $user $Account` Start=`echo $accline | awk '{printf ("%d",$2) }'` Payments=`echo $accline | awk '{printf ("%d",$4) }'` Work=`echo $accline | awk '{printf ("%d",$3) }'` Finish=`echo $accline | awk '{printf ("%d",$5) }'` Realisation=`echo $accline | awk '{ \ if ($2 > 0 && $5 > 0) sum=$3 ; \ else if ($2 > 0 && $5 < 0) sum=$2+$4 ; \ else if ($2 < 0 && $5 > 0) sum=$3-$2 ; \ else if ($2 < 0 && $5 < 0) sum=$4 ; \ else if ($2 == 0 && $5 == 0) sum=$4 ; \ else if ($2 == 0 && $5 > 0) sum=$3 ; \ else if ($2 == 0 && $5 < 0) sum=$4 ; \ else if ($2 < 0 && $5 == 0) sum=$4 ; \ else if ($2 > 0 && $5 == 0) sum=$3 ; \ printf ("%d",sum) ; \ }'` RealisationSum=`expr $RealisationSum \+ $Realisation` PaymentSum=`expr $PaymentSum \+ $Payments` #WorkSum=`expr $WorkSum \+ $Work` WorkSum=`echo $Work $WorkSum | awk '{printf ("%d",$1+$2)}'` #echo $user | awk '{printf ("| %s",$1); for (i=length($1); i<=8; i++) printf (" ")}' >> $Report echo $user | awk '{printf ("| %-9s",$1) }' >> $Report echo -n "|" >> $Report if [ $Start -ge 0 ] ; then echo $Start | awk '{printf (" %8d |",$1)}' >> $Report StartCreditSum=`expr $StartCreditSum \+ $Start` else echo `expr $Start \* -1` | awk '{printf ("%8d |",$1)}' >> $Report StartDebetSum=`expr $StartDebetSum \+ $Start` fi echo $Work $Payments | awk '{printf ("%8d |%8d |",$1,$2)}' >> $Report if [ $Finish -ge 0 ] ; then echo $Finish | awk '{printf (" %8d |",$1)}' >> $Report FinishCreditSum=`expr $FinishCreditSum \+ $Finish` else echo `expr $Finish \* -1` | awk '{printf ("%8d |",$1)}' >> $Report FinishDebetSum=`expr $FinishDebetSum \+ $Finish` fi echo $Realisation | awk '{printf ("%8d |\n",$1)}' >> $Report Line=`expr $Line \+ 1` case $Line in $Linecount) Page=`expr $Page \+ 1` echo -n $Devider >> $Report echo " " >> $Report echo " Лист "$Page >> $Report echo $Devider >> $Report echo "| Абонент | Дебет Кредит |Наработка| Платежи | Дебет Кредит |Реализац.|" >> $Report echo $Devider >> $Report Line=4 ;; esac fi done StartDebetSum=`expr $StartDebetSum \* -1` FinishDebetSum=`expr $FinishDebetSum \* -1` echo $Devider >> $Report echo -n "|И Т О Г О |" >> $Report echo $StartDebetSum $StartCreditSum $WorkSum $PaymentSum $FinishDebetSum $FinishCreditSum $RealisationSum | \ awk '{printf ("%8d %8d|%8d |%8d |%8d %8d|%8d |\n",$1,$2,$3,$4,$5,$6,$7)}' >> $Report echo $Devider >> $Report