def open_pform(SS, request): """ Форма Сотрудник СМП (просмотр, редактирование, создание) """ # print "<div id='prs_form' type='hidden' style='top: 160px; left: 500px; width: 600px; min-height: 400px; border: thin solid #668; background-color: #efe; position: absolute;'>" print "open_pform", request opts = {} obj = {} pcod = request.get('pcod') query = """ SELECT p.*, s.name AS sname, ps.name AS psname, c.name AS cname FROM person_sp p JOIN sp_station s ON n_pst = s.cod JOIN sp_post ps ON n_post = ps.cod JOIN sp_category c ON n_catg = c.cod WHERE p.cod = %s """ % pcod # print query drow = dboo.get_dict(query) ''' print drow.keys() ['n_catg', 'stat', 'n_pst', 'mdate', 'name', 'smena', 'n_post', 'snils', 'psname', 'sname', 'cod', 'cname'] ''' obj['title'] = "Сотрудник СМП" sform = request.get('FORM') obj['IS_UPDATE'] = True cod = drow['cod'] obj['stat'] = slist_stat(sform, drow['cod'], drow['stat']) if sform == 'view': obj['UPDATE'] = """<input type='button' class='butt' value='Править' onclick="set_shadow('%s&FORM=edit&pcod=%s')"> """ % ( request.get('shstat'), pcod) obj['name'] = drow['name'] if drow['stat'] and (drow['stat'] & 2) == 2: obj['is_delete'] = "<span class='bferr'> УВОЛЕН </span>" # obj['n_pst'], 'n_post', 'n_catg', obj['smena'] = drow['smena'] obj['snils'] = drow['snils'] obj['sn_pst'] = drow['sname'] obj['psname'] = drow['psname'] obj['cname'] = drow['cname'] obj['mdate'] = drow['mdate'] obj['cod'] = drow['cod'] else: obj['UPDATE'] = """<input type='button' class='butt' value='Сохранить' onclick="set_shadow('%s&FORM=save&pcod=%s');"> """ % ( request.get('shstat'), pcod) obj['name'] = "<input type='text' name='name' value='%s' size=22 />" % sval( drow, 'name') obj['cod'] = "<input type='text' name='cod' value='%s' size=3 />" % cod #sval(dtkt, 'cod') obj['snils'] = "<input type='text' name='snils' value='%s' size=12 />" % sval( drow, 'snils') obj['sn_pst'] = T.sselect(dboo, dictin['sel_subst'], sval(drow, 'n_pst')) # obj['sname'] = "<input type='text' name='sname' value='%s' size=3 />" % sval(drow, 'sname') obj['pre'] = str(drow) # print obj print "~wdg_bc|" parse_forms(opts, obj, "pers_form.html")
def open_uform(SS, request): print "pen_uform", request print "~wdg_bc|" opts = {} obj = {} obj['title'] = "Пользователь" dt = dict_tables.get('tbl_user') query = dt['query'] query += " WHERE u.disp = %s" % request['pkey'] drow = dboo.get_dict(query) print query print drow for k in drow.keys(): obj[k] = drow[k] parse_forms(opts, obj, "user_form.html")
def list_users(SS, request): """ Список пользователей СМП """ global US_ROW, onchange print "list_users", SS, request print "~mybody|" print """<div id="list_user" style="width: 100%; position: absolute; background-color: #fff; padding: 2px; min-height: 20%; max-height: 90%; overflow: auto;">""" opts = {} obj = {} sutype = request.get('sel_usrtype') dictin['sel_usrtype']['on'] = onchange obj['sel_usrtype'] = T.sselect(dboo, dictin['sel_usrtype'], sutype) ssubst = request.get('sel_subst') dictin['sel_subst']['on'] = onchange obj['sel_subst'] = T.sselect(dboo, dictin['sel_subst'], ssubst) parse_forms(opts, obj, 'find_users.html') wheres = [] if ssubst: wheres.append("subst = %s" % ssubst) if sutype: wheres.append("type = %s" % sutype) out_table_as_list('tbl_user', where=wheres, order="pname") print "</div> <!-- list_user -->" print """~eval| $('#tbl_user tr.line').hover (function () { $('#tbl_user tr').removeClass('mark'); $(this).addClass('mark'); $('#shadow').text('')});"""
def brgs_list(SS, request): """ Формировать список бригад """ US_ROW = SS.objpkl.get('us_row') print "brgs_list", US_ROW, request print "~mybody|" opts = {} obj = {} ssubst = sbwfind = sstatb = ssmen = None for k in request.keys(): if k == 'sel_smen': ssmen = request.get('sel_smen') if k == 'sel_subst': ssubst = request.get('sel_subst') if k == 'sel_statb': sstatb = request.get('sel_statb') if k == 'sel_bwfind': sbwfind = request.get('sel_bwfind') sfrom = 'bnaryd' if sbwfind in ['2', '3']: obj['online'] = False sfrom = 'brignrd' if sbwfind == '3': ssmen = str(T.next_smena(dboo)) elif not ssmen: ssmen = str(T.curr_smena(dboo)) # if sbwfind == '3': # ssmen = str(T.next_smena (dboo)) # else: ssmen = str(T.curr_smena (dboo)) else: obj['online'] = True armid = US_ROW['armid'].strip() if armid == 'DISP_PS': obj['DISP_PS'] = True ssubst = str(US_ROW.get('subst')) obj['subst'] = T.svals(dboo, dictin['sel_subst'], ssubst) else: obj['sel_subst'] = T.sselect(dboo, dictin['sel_subst'], ssubst) obj['sel_smen'] = T.sel_smen( dboo, son="onchange=\"$('#wdg_bc').html(''); set_shadow('BRG_WOKE');\"", cs=ssmen) obj['sel_statb'] = T.sselect(dboo, dictin['sel_statb'], sstatb) obj['sel_bwfind'] = T.sselect(dboo, dictin['sel_bwfind'], sbwfind) parse_forms(opts, obj, 'find_brigs.html') lwheres = [] if sfrom == 'brignrd': if ssmen: lwheres.append('smena = %s' % ssmen) elif sstatb: lwheres.append('stat = %s' % sstatb) if ssubst: lwheres.append('n_pst = %s' % ssubst) if not lwheres: lwheres.append('br_id > 0') swhere = " AND ".join(lwheres) # print "SELECT * FROM %s WHERE %s ORDER BY number" % (sfrom, swhere) sorder = "ORDER BY number, smena" res = dboo.get_table(sfrom, "%s %s" % (swhere, sorder)) if not res: if not dboo.last_error: print "<span class='bfinf'> Нет данных! </span><br>" print "brgs_list get_table:", sfrom, swhere, sorder return d = res[0] cignore = colsIgnore[sfrom] print """<div id="list_brigs" style="border: thin solid #668; width: 100%; position: absolute; background-color: #fff; padding: 2px; min-height: 20%; max-height: 90%; overflow: auto;">""" print "<table id='tbl_brigs' width=100%><tr>" print "<th>Бригада</th>" for k in d: if k in cignore: continue #['br_id', 'number', 'profile', 'sector', 'doc_post', 'flag', 'pgr', 'st_begin', 'st_end']: continue print "<th>", cname_brig.get(k), "</th>" print "</tr>" for r in res[1]: sonclick = """ onclick="set_shadow('brg_form&br_id=' +'%s' +'&bfrom=' +'%s');" """ % ( r[d.index('br_id')], sfrom) bstat = r[d.index('stat')] if not bstat: bclass = "%s" % 'bferr' elif bstat in [5, 6, 7]: bclass = "%s" % 'bfinf' elif bstat == 10: bclass = "%s" % 'bferr' elif bstat in [1, 2, 3, 4]: bclass = "%s" % 'bfligt' else: bclass = "%s" % 'bfblue' # print "<tr class='line %s' id='brid%3d' %s><td>%s%s%s</td>" % (bclass, r[d.index('br_id')], sonclick, img_brig, r[d.index('number')], r[d.index('profile')]) print "<tr class='line %s' id='brid%3d' %s><td>%s</td>" % ( bclass, r[d.index('br_id')], sonclick, slab_brig(r[d.index('number')], r[d.index('profile')], r[d.index('stat')])) for k in d: if k in cignore: continue #['br_id', 'number', 'profile', 'sector', 'doc_post', 'flag', 'pgr', 'st_begin', 'st_end', 'sanitr']: continue if not r[d.index(k)]: print "<td> </td>" elif k == 'stat': print "<td> %s </td>" % T.svals(dboo, dictin['statb'], r[d.index(k)]) elif k == 'auto': print "<td> %s%s </td>" % ( img_auto, T.svals(dboo, dictin[k], r[d.index(k)])) # print "<td> %s </td>" % T.svals (dboo, dictin[k], r[d.index(k)]) elif k in [ 'tm_beg', 'tm_end', 'stm_beg', 'stm_end', 'st_begin', 'st_end' ]: print "<td> %s </td>" % sdtime(r[d.index(k)], "%H:%M") # %d.%m.%Y") elif k == 'scall': print "<td> %s%s </td>" % (img_call, str(r[d.index(k)])) elif k == 'tm_work': h = int(r[d.index(k)] / 3600) print "<td> %02d.%02d </td>" % (h, (r[d.index(k)] - h * 3600) / 60) elif k in ['doctor', 'feldsh']: #, 'sanitr']: print "<td> %s </td>" % T.svals(dboo, dictin['doctor'], r[d.index(k)]) elif k == 'driver': print "<td> %s </td>" % T.svals(dboo, dictin['driver'], r[d.index(k)]) elif k == 'street': if r[d.index('house')]: print "<td> %s д.%s </td>" % (r[d.index('street')], r[d.index('house')]) else: print "<td> %s </td>" % r[d.index('street')] else: print "<td> %s </td>" % str(r[d.index(k)]) print "</tr>" ''' print "<pre>" print "</pre>" ''' print "</table> <!-- tbl_brigs -->" print "</div> <!-- list_brigs -->" print """~eval| $('#tbl_brigs tr.line').hover (function () { $('#tbl_brigs tr').removeClass('mark'); $(this).addClass('mark'); $('#shadow').text('')});"""
def brg_form(SS, request): """ Показать карточку Бригады / Дежурный наряд """ # print request US_ROW = SS.objpkl.get('us_row') tname = request.get('bfrom') if not tname: print "<span class='bferr'>", request, "</span>" return obj = {} is_edit = False dbrg = dboo.get_dict("SELECT * FROM %s WHERE br_id = %s" % (tname, request.get('br_id'))) if request.get('exec') == 'SAVE': obj['SAVE'] = brg_save(SS, dbrg, request) dbrg = dboo.get_dict("SELECT * FROM %s WHERE br_id = %s" % (tname, request.get('br_id'))) request['exec'] = "EDIT" subst = dbrg.get('n_pst') # if subst == 12: subst = 2 armid = US_ROW['armid'].strip() if armid in ['DISP_PS', 'DISP_NP', 'ZAV_PS']: obj['IS_UPDATE'] = True print request.get('exec') if request.get('exec') == 'EDIT': is_edit = True obj['UPDATE'] = """<input class='butt' type='button' value='Сохранить' onclick="set_shadow('brg_form&exec=SAVE&br_id=' +'%s' +'&bfrom=' +'%s');" />""" % ( dbrg['br_id'], tname) else: obj['UPDATE'] = """<input class='butt' type='button' value='Изменить' onclick="set_shadow('brg_form&exec=EDIT&br_id=' +'%s' +'&bfrom=' +'%s');" />""" % ( dbrg['br_id'], tname) else: obj['IS_UPDATE'] = False if tname == 'bnaryd': obj['IN_WORK'] = True else: obj['IN_WORK'] = False obj['img'] = "%s %s%s" % (img_brig, dbrg.get('number'), dbrg.get('profile')) obj['bnum'] = "%s%s" % (dbrg.get('number'), dbrg.get('profile')) obj['smena'] = dbrg.get('smena') # obj['number'] = dbrg.get('number') obj['title'] = T.svals(dboo, dictin['sel_bwfind'], request.get('sel_bwfind')) obj['n_pst'] = T.svals(dboo, dictin['sel_subst'], subst) bstat = dbrg.get('stat') if is_edit and (not bstat or bstat in [1, 2]): dictin['sel_statb']['sname'] = 'stat' dictin['sel_statb']['where'] = "cod < 3" dictin['sel_statb']['on'] = '' obj['stat'] = T.sselect(dboo, dictin['sel_statb'], bstat) else: obj['stat'] = T.svals(dboo, dictin['sel_statb'], bstat) if obj['IN_WORK']: tm_work = dbrg.get('tm_work') obj['br_ref'] = "<span class='cbutt'> на линии: %s </span>" % T.ref2brg( dboo, dbrg.get('br_id'), 7) #cstt) if tm_work: obj['tm_work'] = "%02d.%02d" % (int( tm_work / 3600), (tm_work - int(tm_work / 3600) * 3600) / 60) obj['ncall'] = dbrg.get('ncall') obj['scall'] = dbrg.get('scall') if is_edit: obj['tm_beg'] = inputText('tm_beg', sdtime(dbrg.get('tm_beg'), "%H:%M"), 'size=5') obj['tm_end'] = inputText('tm_end', sdtime(dbrg.get('tm_end'), "%H:%M"), 'size=5') else: obj['tm_beg'] = sdtime(dbrg.get('tm_beg'), "%H:%M") obj['tm_end'] = sdtime(dbrg.get('tm_end'), "%H:%M") obj['stm_beg'] = sdtime(dbrg.get('stm_beg'), "%H:%M") obj['stm_end'] = sdtime(dbrg.get('stm_end'), "%H:%M") else: if is_edit: obj['t_begin'] = inputText( 't_begin', dbrg.get('t_begin'), 'size=5') # sdtime(dbrg.get('t_begin'), "%H:%M"), 'size=5') obj['t_end'] = inputText( 't_end', dbrg.get('t_end'), 'size=5') # sdtime(dbrg.get('t_end'), "%H:%M"), 'size=5') else: obj['t_begin'] = dbrg.get('t_begin') obj['t_end'] = dbrg.get('t_end') if dbrg.get('street'): if dbrg.get('house'): obj['addres'] = "%s </b> дом <b> %s" % (dbrg['street'], dbrg['house']) else: obj['addres'] = "%s" % dbrg['street'] ''' doctor = {'sname': 'sel_doctor', 'tab': 'vperson_sp', 'key': 'cod', 'val': 'name, post_name', 'rvals': ['name', 'post_name'], 'knull': '', 'order': 'name', 'where': 'n_pst = %s AND n_catg IN (1,2)' % (subst) } feldsh = {'sname': 'sel_feldsh', 'tab': 'vperson_sp', 'key': 'cod', 'val': 'name', 'rvals': ['cod', 'name'], 'knull': '', 'order': 'name', 'where': 'n_pst = %s AND n_catg IN (2,3)' % (subst) } sanitr = {'sname': 'sel_sanitr', 'tab': 'vperson_sp', 'key': 'cod', 'val': 'name', 'rvals': ['cod', 'name'], 'knull': '', 'order': 'name', 'where': 'n_pst = %s AND n_catg IN (2,3, 4)' % (subst) } driver = {'sname': 'sel_driver', 'tab': 'vperson_sp', 'key': 'cod', 'val': 'name', 'rvals': ['cod', 'name'], 'knull': '', 'order': 'name', 'where': 'n_pst = %s AND n_catg = 8' % (subst) } ''' if is_edit: #if not obj['IS_UPDATE']: pinwork = pers_in_work(dboo, dbrg) dictin['doctor']['where'] = 'n_pst = %s AND n_catg IN (1,2) %s' % ( subst, pinwork) # dictin['doctor']['where'] = 'n_pst = %s AND stat = 3 AND n_catg IN (1,2) %s' % (subst, pinwork) obj['doctor'] = T.sselect(dboo, dictin['doctor'], dbrg.get('doctor')) dictin['doctor']['where'] = 'n_pst = %s AND n_catg IN (2,3) %s' % ( subst, pinwork) dictin['doctor']['sname'] = 'feldsh' obj['feldsh'] = T.sselect(dboo, dictin['doctor'], dbrg.get('feldsh')) dictin['doctor']['where'] = 'n_pst = %s AND n_catg IN (2,3,4) %s' % ( subst, pinwork) dictin['doctor']['sname'] = 'sanitr' obj['sanitr'] = T.sselect(dboo, dictin['doctor'], dbrg.get('sanitr')) dictin['driver']['where'] = 'n_pst = %s AND n_catg = 8 %s' % ( subst, pers_in_work(dboo, dbrg, 'driver')) obj['driver'] = T.sselect(dboo, dictin['driver'], dbrg.get('driver')) # print dictin['doctor']['where'] dictin['auto']['where'] = 'n_pst = %s AND stat = 2' % subst obj['auto'] = T.sselect(dboo, dictin['auto'], dbrg.get('auto')) else: if dbrg.get('doctor'): obj['doctor'] = T.svals(dboo, dictin['doctor'], dbrg.get('doctor')) if dbrg.get('feldsh'): obj['feldsh'] = T.svals(dboo, dictin['doctor'], dbrg.get('feldsh')) if dbrg.get('sanitr'): obj['sanitr'] = T.svals(dboo, dictin['doctor'], dbrg.get('sanitr')) if dbrg.get('driver'): obj['driver'] = T.svals(dboo, dictin['driver'], dbrg.get('driver')) if dbrg.get('auto'): obj['auto'] = "%s%s" % ( img_auto, T.svals(dboo, dictin['auto'], dbrg.get('auto'))) print "~wdg_bc|" # print "<div id='brg_form' type='hidden' style='top: 160px; left: 500px; width: 600px; min-height: 400px; border: thin solid #668; background-color: #efe; position: absolute; z-index: 1112'>" parse_forms({}, obj, 'cbrg_form.html') '''
def brg_activ(SS, request): print 'request', request US_ROW = SS.objpkl.get('us_row') dbrg = dboo.get_dict("SELECT * FROM bnaryd WHERE br_id = %s" % (request.get('br_id'))) br_id = dbrg.get('br_id') obj = {'title': "Бригада на линии"} obj['img'] = "%s %s%s" % (img_brig, dbrg.get('number'), dbrg.get('profile')) if dbrg.get('doctor'): obj['doctor'] = T.svals(dboo, dictin['doctor'], dbrg.get('doctor')) if dbrg.get('auto'): obj['auto'] = T.svals(dboo, dictin['auto'], dbrg.get('auto')) obj['driver'] = T.svals(dboo, dictin['driver'], dbrg.get('driver')) tm_work = dbrg.get('tm_work') if tm_work: obj['tm_work'] = "%02d.%02d" % (int( tm_work / 3600), (tm_work - int(tm_work / 3600) * 3600) / 60) obj['smena'] = dbrg.get('smena') obj['ncall'] = dbrg.get('ncall') obj['subst'] = T.svals(dboo, dictin['sel_subst'], dbrg.get('n_pst')) obj['bstat'] = T.svals(dboo, dictin['sel_statb'], dbrg.get('stat')) obj['tm_beg'] = sdtime(dbrg.get('tm_beg'), "%H:%M") obj['tm_end'] = sdtime(dbrg.get('tm_end'), "%H:%M") obj['stm_beg'] = sdtime(dbrg.get('stm_beg'), "%H:%M") obj['stm_end'] = sdtime(dbrg.get('stm_end'), "%H:%M") if dbrg.get('street'): if dbrg.get('house'): obj['addres'] = "%s </b> дом <b> %s" % (dbrg['street'], dbrg['house']) else: obj['addres'] = "%s" % dbrg['street'] cols = [ 'number', 'profile', 'street', 'house', 'korp', 'reasn', 't_get', 't_send', 't_arrl', 't_done', 't_close', 'cnum_total', 'id_ims' ] # scalls = dboo.get_rows ( query = "SELECT %s FROM calls WHERE br_ref = %s AND t_send > %s -1800 ORDER BY t_send DESC" % ( ','.join(cols), br_id, dbrg.get('tm_beg')) # obj['query'] = query rows = dboo.get_rows(query) c_activ = [] c_arch = [] if rows: d = dboo.desc for r in rows: cstt = clc_cstatus(r, d) cclass, cimg = cdef2cstt(cstt) cnum_total = r[d.index('cnum_total')] soncall = """onclick="open_call(%s);" """ % cnum_total saddr = "%s" % r[d.index('street')] if r[d.index('korp')]: saddr += " к.%s" % r[d.index('korp')] if r[d.index('house')]: saddr += " д.%s" % r[d.index('house')] # sreasn = "<span class='line %s'> %s %s <b>%s </b> </span>" % (cclass, cimg, r[d.index('number')], r[d.index('reasn')]) sreasn = "<span class='line %s'> %s %s </span>" % ( cclass, cimg, r[d.index('number')]) stimes = [] for k in ['t_get', 't_send', 't_arrl', 't_done', 't_close']: if r[d.index(k)]: stimes.append('<td >%s</td>' % sdtime(r[d.index(k)], "%H:%M")) else: stimes.append('<td >--:--</td>') sss = """<tr class='line' %s><td width=100px> %s </td><td ><b> %s </b></td> %s <td> %s </td>""" % ( soncall, sreasn, r[d.index('reasn')], # sdtime(r[d.index('t_get')], "%H:%M"), "".join(stimes), saddr) if dbrg.get('scall') == r[d.index('number')]: obj['scall'] = "<span class='line %s' %s> %s %s <b>%s </b> </span>" % ( cclass, soncall, cimg, r[d.index('number')], r[d.index('reasn')]) c_activ.append(sss) elif not r[d.index('t_done')]: c_activ.append(sss + "</tr>") else: c_arch.append(sss + "<td>%s</td></tr>" % slab_omc(r[d.index('id_ims')])) if c_activ: obj['c_activ'] = "\n".join(c_activ) if c_arch: obj['c_arch'] = "\n".join(c_arch) print "~wdg_bc|" parse_forms({}, obj, 'brg_activ.html') print """~eval| $('#tbrg_4exec tr.line').hover (function () { $('#tbrg_4exec tr').removeClass('mark'); $('#tbrg_arch tr').removeClass('mark'); $(this).addClass('mark'); $('#shadow').text('')});""" print """~eval| $('#tbrg_arch tr.line').hover (function () { $('#tbrg_arch tr').removeClass('mark'); $('#tbrg_4exec tr').removeClass('mark'); $(this).addClass('mark'); $('#shadow').text('')});"""
def out_form(SS, request): cnum_ttl = 127627 query = "SELECT * FROM calls WHERE cnum_total = %s" % cnum_ttl dcall = dboo.get_dict(query) opts = {} obj = {} US_ROW = SS.objpkl.get('us_row') cbrig = [0, 0, 0, 0, 0] obj['user'] = "******" % (US_ROW['cod'], US_ROW['fio']) obj['subst'] = "%s %s" % ( dcall['subst'], dboo.get_dict("SELECT name FROM sp_station WHERE cod = %s" % dcall['subst'])['name']) obj['brigs'] = "%s %s" % (dcall['nbrg'], dcall['pbrg'] ) # nbrg pbrg nsbrg br_ref obj['number'] = str(dcall['number']) obj['date'] = sdater(dcall['t_get']) # obj['date'] = sdtime(dcall['t_get'], "%d %B %Y") if dcall['doctor']: obj['doctor'] = T.svals( dboo, { 'sname': 'doctor', 'tab': 'vperson_sp', 'key': 'cod', 'val': 'name, post_name', 'rvals': ['cod', 'name', 'post_name'] }, dcall['doctor']) ddoc = dboo.get_dict( "SELECT cod, name, post_name, n_catg FROM vperson_sp WHERE cod = %s" % dcall['doctor']) # obj['doctor'] = "%s %s %s" % (ddoc['cod'], ddoc['name'], ddoc['post_name']) if ddoc['n_catg'] > 0: cbrig[(ddoc['n_catg'] - 1)] += 1 if dcall['br_ref']: dbrg = dboo.get_dict("SELECT * FROM bnaryd WHERE br_id = %s" % dcall['br_ref']) if dbrg['feldsh']: obj['feldsh'] = T.svals( dboo, { 'tab': 'vperson_sp', 'key': 'cod', 'val': 'name, post_name', 'rvals': ['name', 'post_name'] }, dbrg['feldsh']) cbrig[1] += 1 if dbrg['sanitr']: obj['sanitr'] = T.svals( dboo, { 'tab': 'vperson_sp', 'key': 'cod', 'val': 'name, post_name', 'rvals': ['name'] }, dbrg['sanitr']) cbrig[2] += 1 if dbrg['driver']: obj['driver'] = T.svals( dboo, { 'tab': 'vperson_sp', 'key': 'cod', 'val': 'name, post_name', 'rvals': ['name'] }, dbrg['driver']) cbrig[3] += 1 else: obj['driver'] = '_' * 20 obj['auto'] = T.svals( dboo, { 'tab': 'automobile', 'key': 'id_auto', 'val': 'id_auto, reg_num', 'rvals': ['reg_num'] }, dbrg['auto']) obj['cbrig'] = str(cbrig) obj['t_get'] = sdtime(dcall['t_get']) obj['t_send'] = sdtime(dcall['t_send']) obj['t_arrl'] = sdtime(dcall['t_arrl']) obj['t_done'] = sdtime(dcall['t_done']) obj['tm_trans'] = sdtime(dcall['tm_trans']) obj['tm_hosp'] = sdtime(dcall['tm_hosp']) obj['tm_ps'] = sdtime(dcall['tm_ps']) # obj['t_get'] = sdtime(dcall['t_get']) obj['saddres'] = saddres(dcall['street'], dcall['house']) # korp', 'flat', 'pdzd', 'etj', 'pcod', 'phone', 'name', 'name2', 'kto', 'age', 'sex' for k in ['korp', 'flat', 'pdzd', 'etj', 'pcod', 'age', 'sex']: if dcall[k]: obj[k] = "<b>%s</b>" % dcall[k] else: obj[k] = "_" * 3 for k in ['phone', 'name', 'name2']: if dcall[k]: obj[k] = "<b>%s</b>" % dcall[k] else: obj[k] = "_" * 23 obj['kto'] = T.svals(dboo, { 'tab': "who_call", 'key': 'cod', 'rvals': ['name'] }, dcall['kto']) if dcall['t_done'] > 0: obj['dtime'] = "%d мин" % ((dcall['t_done'] - dcall['t_get']) // 60) obj['g_disp'] = "%s %s" % ( dcall['g_disp'], dboo.get_dict("SELECT name FROM person_sp WHERE cod = %s" % dcall['g_disp'])['name']) # obj['s_disp'] = "%s %s" % (dcall['s_disp'], dboo.get_dict("SELECT name FROM person_sp WHERE cod = %s" % dcall['s_disp'])['name']) # print obj; return obj['j_registr'] = T.scheckboxes(dboo, { 'tab': 'j_registr', 'key': 'cod', 'val': 'name', }) obj['j_social'] = T.scheckboxes(dboo, { 'tab': 'j_social', 'key': 'cod', 'val': 'name', }) obj['j_reason'] = T.scheckboxes(dboo, { 'tab': 'j_reason', 'key': 'cod', 'val': 'name', }) obj['j_cause'] = T.scheckboxes(dboo, { 'tab': 'j_cause', 'key': 'cod', 'val': 'name', }) obj['j_obj_general'] = T.scheckboxes(dboo, { 'tab': 'j_obj_general', 'key': 'cod', 'val': 'name', }) obj['j_obj_behav'] = T.scheckboxes(dboo, { 'tab': 'j_obj_behav', 'key': 'cod', 'val': 'name', }) obj['j_obj_cons'] = T.scheckboxes(dboo, { 'tab': 'j_obj_cons', 'key': 'cod', 'val': 'name', }) obj['j_obj_pupils'] = T.scheckboxes(dboo, { 'tab': 'j_obj_pupils', 'key': 'cod', 'val': 'name', }) obj['j_obj_integ'] = T.scheckboxes(dboo, { 'tab': 'j_obj_integ', 'key': 'cod', 'val': 'name', }) obj['j_obj_breath'] = T.scheckboxes(dboo, { 'tab': 'j_obj_breath', 'key': 'cod', 'val': 'name', }) obj['j_obj_rattles'] = T.scheckboxes(dboo, { 'tab': 'j_obj_rattles', 'key': 'cod', 'val': 'name', }) obj['j_obj_wind'] = T.scheckboxes(dboo, { 'tab': 'j_obj_wind', 'key': 'cod', 'val': 'name', }) obj['j_obj_tones'] = T.scheckboxes(dboo, { 'tab': 'j_obj_tones', 'key': 'cod', 'val': 'name', }) obj['j_obj_noise'] = T.scheckboxes(dboo, { 'tab': 'j_obj_noise', 'key': 'cod', 'val': 'name', }) obj['j_obj_pulse'] = T.scheckboxes(dboo, { 'tab': 'j_obj_pulse', 'key': 'cod', 'val': 'name', }) obj['j_obj_lang'] = T.scheckboxes(dboo, { 'tab': 'j_obj_lang', 'key': 'cod', 'val': 'name', }) obj['j_obj_stom'] = T.scheckboxes(dboo, { 'tab': 'j_obj_stom', 'key': 'cod', 'val': 'name', }) print obj['j_registr'] print """~mybody|<div id="list_calls" style="border: thin solid #668; width: 100%; position: absolute; background-color: #fff; padding: 2px; height: 100%">""" print "<div type='hidden' style='top: 40px; left: 180px; width: 900px; border: thin solid #668; background-color: #ffe; position: absolute; z-index: 1112' >" # print "out_form", obj.keys() parse_forms(opts, obj, 'f110u.html') print "</div>" print "</div>"
def list_persons(SS, request): """ Показать список Сотрудник СМП """ global US_ROW, onchange print "~mybody|" # US_ROW = SS.objpkl.get('us_row') # print "nsi_tools.main", US_ROW['armid'], request opts = {} obj = {} ''' spost = request.get('sel_post') obj['sel_post'] = T.sselect (dboo, dictin['sel_post'], spost) ssmen = request.get('sel_smen') obj['sel_smen'] = T.sel_smen (dboo, son = "onchange=\"$('#wdg_bc').html(''); set_shadow('PERSONS');\"", cs = ssmen, fs = True) ''' ssubst = request.get('sel_subst') dictin['sel_subst']['on'] = onchange obj['sel_subst'] = T.sselect(dboo, dictin['sel_subst'], ssubst) scatgr = request.get('sel_category') dictin['sel_category']['on'] = onchange obj['sel_category'] = T.sselect(dboo, dictin['sel_category'], scatgr) sstat = request.get('sel_stat') dictin['sel_stat']['on'] = onchange obj['sel_stat'] = T.sselect(dboo, dictin['sel_stat'], sstat) parse_forms(opts, obj, 'find_persons.html') query = """ SELECT p.*, s.name AS sname, ps.name AS psname, c.name AS cname, t.name AS tname FROM person_sp p JOIN sp_station s ON n_pst = s.cod JOIN sp_post ps ON n_post = ps.cod JOIN sp_category c ON n_catg = c.cod JOIN person_stat t ON (stat & 253) = t.cod """ wheres = [] if not sstat: wheres.append("stat & 3 = 1") else: wheres.append("stat & %s = %s" % (sstat, sstat)) if ssubst: wheres.append("n_pst = %s" % ssubst) if scatgr: wheres.append("n_catg = %s" % scatgr) if wheres: query += "WHERE %s" % " AND ".join(wheres) rows = dboo.get_rows(query) if not rows: if not dboo.last_error: print "<span class='bfinf'> Нет данных! </span><br>" else: print "<span class='bferr'> ", dboo.last_error, " </span><br>" return print """<div id="list_person" style="width: 100%; position: absolute; background-color: #fff; padding: 2px; min-height: 20%; max-height: 90%; overflow: auto;">""" print "<table id='tbl_person' width=100%><tr>" d = dboo.desc # ['cod', 'name', 'n_pst', 'n_post', 'n_catg', 'smena', 'stat', 'mdate', 'snils', 'sname', 'psname', 'cname', 'tname'] # print d cnames = ['cod', 'name', 'psname', 'snils', 'sname', 'cname', 'tname'] for k in cnames: print "<th>%s</th>" % k for r in rows: sonclick = """ onclick="set_shadow('PERSONS&FORM=view&pcod=' +'%s' +'&pfrom=' +'%s');" """ % ( r[d.index('cod')], 'person_sp') bclass = "%s" % 'bfligt' print "<tr class='line %s' id='pcod%3d' %s>" % ( bclass, r[d.index('cod')], sonclick) for k in cnames: if r[d.index(k)]: print "<td>%s</td>" % r[d.index(k)], else: print "<td> </td>" print "</tr>" print "</table> <!-- tbl_person -->" print "</div> <!-- list_person -->" print """~eval| $('#tbl_person tr.line').hover (function () { $('#tbl_person tr').removeClass('mark'); $(this).addClass('mark'); $('#shadow').text('')});"""