#!/usr/bin/python3 # Turn on debug mode. import sys import cgitb import cgi cgitb.enable() # Print necessary headers. print("Content-Type: text/html; charset=UTF-8\n\n") # Connect to the database. import pymysql conn = pymysql.connect( db='ats', user='user', passwd='password', host='localhost', charset='utf8') c = conn.cursor() # Print the contents of the database. c.execute("SELECT * FROM ext_co_line") print("Телефоны") print("

ТЕЛЕФОНЫ

") print("


[Справочник] [Отчёты]

") print("

Отчёты по звонкам

") print("
") print("
Внут.номер
") print("За период с
по ") print("

") param = cgi.FieldStorage() #Передали заголовки ранее if "qwery_type" not in param: print("Введите параметры отчёта") qwery_type = "last_month" else: qwery_type = param["qwery_type"].value int_number = param["internal"].value dt_begin = param["date_begin"].value dt_end = param["date_end"].value # строим запрос согласно параметров if qwery_type == "internal": # если все параметры по нулям то вываливаем весь список if int_number == "0" and dt_begin == "0" and dt_end == "0": print("

Список звонков

") qwr = "SELECT * FROM cdr LIMIT 1000" elif int_number != "0" and dt_begin == "0" and dt_end == "0": # если задан номер но не задан период то вываливаем все звонки с этого номера print("

Список звонков с номера " + int_number + "

") qwr = "SELECT * FROM cdr WHERE int_number=" + int_number + " LIMIT 1000" elif int_number != "0" and dt_begin != "0" and dt_end != "0": # если задан номер и период то и так понятно print("

Список звонков с номера " + int_number + "

") print("За период с %s по %s" % (dt_begin, dt_end)) qwr = "SELECT * FROM cdr WHERE call_date BETWEEN CAST(\'" + dt_begin + "\' AS DATE) AND CAST(\'" + dt_end + "\' AS DATE) AND int_number=" + int_number + " LIMIT 1000" elif int_number == "0" and dt_begin != "0" and dt_end != "0": # если номер незадан а задан период то вываливаем звонки со всех номеров за согласно введенных дат print("

Список звонков

") print("За период с %s по %s" % (dt_begin, dt_end)) qwr = "SELECT * FROM cdr WHERE call_date BETWEEN CAST(\'" + dt_begin + "\' AS DATE) AND CAST(\'" + dt_end + "\' AS DATE) LIMIT 1000" c.execute(qwr) print("") for row in c.fetchall(): print("" % (row[0], row[1], row[2], row[3], row[4], row[5], row[5], row[7], row[9], row[9], row[10])) print("
№ п/пДатаВремяВнут.номерВнеш.линияВызываемый номерRingДлительностьАССКод звонкаНаправление
%s%s%s%s%s%s%s%s%s%s%s
") print("
") print("")