Интеграция с СОРМ ТехАгрос

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (3)

просмотр истории страницы
-Данные по абонентам Оператора связи

Для автоматического выполнения скриптов должна быть создана структура каталогов в контейнере asr_billing следующего формата: /cfg/sorm3/data/done/

h5. Справочник IP шлюзов Оператора связи, с которых получены записи о соединениях абонентов
Для автоматического выполнения скрипта должна быть создана структура каталогов в контейнере asr_billing следующего формата: /cfg/sorm3/data/done/
Пусть до отчёта в контейнере asr_billing: /cfg/sorm3/tsql/nas.sql

{code}

h5. Данные по платежам абонентов Оператора связи

h6. Скрипт для выгрузки
{code}
#!/bin/sh
LOGFILE=/app/asr_billing/mnt/var/cfg/sorm3/Log/pay_Types_Records.log
file_date=$(date +%Y%m%d_%H%M)
date >> $LOGFILE 2>&1
#echo "Выгрузка номер $newcount" >> $LOGFILE 2>&1
GateDate=$(date "+%s")

patchconf="/app/asr_billing/mnt/var/cfg/sorm3/sh/pay_Types_Records.conf"
count_or=$( sed '1s/.*\=//' $patchconf)
count=$(($count_or+1))
#echo count_or=$count_or
#echo count=$count
newcount=$(printf "%04d" $count)
#echo newcount=$newcount
sed -i -e "1s/${count_or}/${count}/" $patchconf
telco_id="100"

filename=pay_Types_Records_00330_${GateDate}_${newcount}.txt
ftpconf="/app/asr_billing/mnt/var/cfg/sorm3/sh/ftp.conf"
ftpconf="/app/asr_billing/mnt/var/cfg/sorm3/sh/ftp.conf"
ftpip=$( awk -F= 'NR==1 {printf $2}' $ftpconf)
ftplogin=$( awk -F= 'NR==2 {printf $2}' $ftpconf)
ftppass=$( awk -F= 'NR==3 {printf $2}' $ftpconf)



function main
{
echo '100|1|20.05.2016 00:00:00| |Unknown' > /app/asr_billing/cfg/sorm3/data/${filename}
echo '100|2|20.05.2016 00:00:00| |WebCash' >> /app/asr_billing/cfg/sorm3/data/${filename}
(in=10; for operator in `grep -shir "paywork.*new" /app/asr_fiscal/usr/local/www/htdocs/* | sed 's/ *//g; s/this->//g ;s/k=n/k = n/g; s/,/, /g' | awk '{print $5}' | sed -e "/^$/d; s/);//g; s/'//g" | sort | uniq`; do echo -e $telco_id'|'$in'|'20.05.2016 00:00:00'|' '|'$operator; ((in++)); done >> /app/asr_billing/cfg/sorm3/data/${filename}) || echo error

if [ -f /app/asr_billing/cfg/sorm3/data/${filename} ]
then
actualsize=$(wc -c < /app/asr_billing/cfg/sorm3/data/${filename})
if [ $actualsize -gt 0 ];
then
printf 'Метаданные файла\n' >> $LOGFILE 2>&1
ls -l /app/asr_billing/cfg/sorm3/data/${filename} >> $LOGFILE 2>&1
printf 'Количество строк в файле: ' >> $LOGFILE 2>&1 && cat /app/asr_billing/cfg/sorm3/data/${filename} | wc -l >> $LOGFILE 2>&1
cp /app/asr_billing/cfg/sorm3/data/${filename} /app/asr_billing/cfg/sorm3/data/done/pay_Types_Records/${filename}
curl --upload-file /app/asr_billing/cfg/sorm3/data/${filename} ftp://$ftplogin:$ftppass@$ftpip/ >> $LOGFILE 2>&1 && rm -rf /app/asr_billing/cfg/sorm3/data/${filename}
else
printf 'error' >>$LOGFILE 2>&1 && rm -rf /app/asr_billing/cfg/sorm3/data/${filename}

fi
fi

}
echo "Выгрузка номер $newcount" >> $LOGFILE 2>&1
main 2>&1 | tee -a $LOGFILE
{code}

h6. Структура отчёта ttexpdbusrs_abonents