Beispiel #1
0
 def get(self):
     s=entity.Meun_ag_manage(self.db)
     autname=self.get_argument("search", default='')
     offset   = int(self.get_argument("o",default='1'))
     rowcount = int(self.get_argument("r",default='10'))
     code=self.get_argument("code",default='')
     offset=(offset-1)*rowcount
     sql1=""
     if autname:
         sql1=" and a.name like '%"+autname+"%'"
         
     else:
         pass
     
     sql="select a.id,a.name,b.name create_name,c.name hospital_name,a.create_time from "
     sql+="system.menu_authority_group a left join public.account b on a.create_id=b.id, public.hospital_info c "
     sql+="where c.code='%s' and b.status='0' and a.hospital_code=c.code %s order by a.create_time desc LIMIT %s OFFSET %s"%(code,sql1,rowcount,offset)
     cur=self.db.getCursor()
     cur.execute(sql)
     rows = cur.fetchall() 
     rowdata={}
     #rowdata=s.find(cond,table='system.menu_authority_group a left join public.hospital_account b on a.create_id=b.id, public.hospital_info c')
     rowdata['struct']="id,name,create_name,hospital_name,create_time"
     rowdata['rows']=rows
     sql="select count(*) from system.menu_authority_group a left join public.account b on a.create_id=b.id, public.hospital_info c "
     sql+="where c.code='%s' and a.hospital_code=c.code %s"%(code,sql1)
     cur.execute(sql)
     row = cur.fetchone() 
     rowdata['count']=row[0]
     self.response(rowdata)
Beispiel #2
0
 def put(self):
     # 取POST Form提交的数据
     alldata = self.getRequestData()
     inst = entity.Meun_ag_manage(self.db)
     #先删除所有
     inst.remove(alldata['menu_group_id'],
                 table="system.menu_authority_relation_group",
                 key='menu_group_id',
                 delete=True)
     #再循环插入
     #if not alldata['items']:
     #    raise BaseError(801)
     ids = 0
     for menu_item_id in alldata['items']:
         lstData = {
             'menu_group_id':
             alldata['menu_group_id'],
             'create_id':
             alldata['create_id'],
             'create_time':
             time.strftime("%Y-%m-%d %H:%M:%S",
                           time.localtime(time.time())),
             'menu_item_id':
             menu_item_id
         }
         id = inst.save(lstData,
                        table='system.menu_authority_relation_group')
         if id <= 0:
             raise BaseError(703)  #参数错误
         ids += 1
     cur = self.db.getCursor()
     cur.execute(
         "select name from SYSTEM.MENU_AUTHORITY_GROUP where id=%s" %
         alldata['menu_group_id'])
     rows = cur.fetchall()
     oc = rows[0][0]
     if not self.objUserInfo:
         raise BaseError(604)
     name = self.objUserInfo['name']
     #msg=Message(self.db)
     #msg.addMsg(alldata['hospital_code'], alldata['hospital_code'], "%s修改了一个菜单权限组的菜单权限:%s"%(name,oc))
     operation_log(self.db).addLog(alldata['create_id'],
                                   alldata['hospital_code'],
                                   'menus_aut_group_manage',
                                   "修改了一个菜单权限组的菜单权限:%s" % oc,
                                   alldata['menu_group_id'])
     self.response(ids)
Beispiel #3
0
 def delete(self):
     objdata = self.getRequestData()
     s = entity.Meun_ag_manage(self.db)
     cur=self.db.getCursor()
     cur.execute("select name from SYSTEM.MENU_AUTHORITY_GROUP where id=%s"%objdata['id'])
     rows = cur.fetchall() 
     oc=rows[0][0]
     r=s.remove(objdata['id'],delete=True)
     s.remove(objdata['id'],table="system.menu_authority_relation_group",key="menu_group_id",delete=True)
     s.remove(objdata['id'],table="system.menu_authority_group_relation",key="group_id",delete=True)
     if not self.objUserInfo :
         raise BaseError(604)
     name = self.objUserInfo['name']
     #msg=Message(self.db)
     #msg.addMsg(objdata['hospital_code'], objdata['hospital_code'], "%s删除了一个菜单权限组:%s"%(name,oc))
     operation_log(self.db).addLog(objdata['uid'],objdata['hospital_code'],'menus_aut_group_manage',"删除了一个菜单权限组:%s"%oc,objdata['id'])
     self.response(r)
Beispiel #4
0
 def post(self):
     # 取POST Form提交的数据
     objdata = self.getRequestData()
     s = entity.Meun_ag_manage(self.db)
     cur=self.db.getCursor()
     cur.execute("select count('id') from  system.menu_authority_group where name='%s' and hospital_code='%s'" %(objdata['name'],objdata['hospital_code']))
     rows = cur.fetchall()
     su=rows[0][0]
     if su:
         raise BaseError(891)
     lstData = {
         'create_id':'create_id',
         'name':'name',           
         'create_time':'create_time',
         'hospital_code':'hospital_code'
     }
     data = {}
     for (k, v) in lstData.items():
         try:
             if k == 'hospital_code' or k == 'name':
                 if objdata[v]=="" or objdata[v] is None:
                     raise BaseError(801)
                 data[k] = objdata[v]
             elif k=="create_time":
                 try:
                     data[k]=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))
                 except Exception as ex:
                     print(ex)                  
             else :
                 data[k]=objdata[v]
         except:
             pass
     if data is None or data == {}:
         raise BaseError(801)  #参数错误
 
     id =s.save(data,table='system.menu_authority_group')
     if id <= 0:
         raise BaseError(703)  #参数错误 
     if not self.objUserInfo :
         raise BaseError(604)
     name = self.objUserInfo['name']
     #msg=Message(self.db)
     #msg.addMsg(objdata['hospital_code'], objdata['hospital_code'], "%s新增了一个菜单权限组:%s"%(name,objdata['name']))
     operation_log(self.db).addLog(objdata['create_id'],objdata['hospital_code'],'menus_aut_group_manage',"新增了一个菜单权限组:%s"%objdata['name'],id)
     self.response(id)
Beispiel #5
0
    def put(self):
        # 取POST Form提交的数据
        objdata = self.getRequestData()
        s = entity.Meun_ag_manage(self.db)
        lstData = {
            'update_id':'update_id',
            'name':'name',           
            'update_time':'update_time'
        }
        data = {}
        for (k, v) in lstData.items():
            try:
                if k == 'update_id' or k == 'name':
                    if objdata[v]=="" or objdata[v] is None:
                        raise BaseError(801)
                    data[k] = objdata[v]
                elif k=="update_time":
                    try:
                        data[k]=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time()))
                    except Exception as ex:
                        print(ex)                  
                else :
                    data[k] = objdata[v]
            except:
                pass
        if data is None or data == {}:
            raise BaseError(801)  #参数错误
    
        id =s.save(data,objdata['id'],table='system.menu_authority_group')
        if id <= 0:
            raise BaseError(703)  #参数错误
        if not self.objUserInfo :
            raise BaseError(604)
        name = self.objUserInfo['name']

        #msg=Message(self.db)
        #msg.addMsg(objdata['hospital_code'], objdata['hospital_code'], "%s新增了一个菜单权限组:%s"%(name,objdata['name'])) 
        operation_log(self.db).addLog(objdata['update_id'],objdata['hospital_code'],'menus_aut_group_manage',"修改了一个菜单权限组:%s"%objdata['name'],objdata['id'])
        self.response(id)
Beispiel #6
0
    def get(self):
        s = entity.Meun_ag_manage(self.db)
        gid = self.get_argument("id", default='')
        hospital_code = self.get_argument("hospital_code", default='')
        ctype = self.choosetype(hospital_code)
        #print(ctype)
        #'''
        cur = self.db.getCursor()
        cur.execute(
            'select id,code,name,sort from "system".menu  where tier=0 order by sort'
        )
        #cur.execute('select m.id,m.code,m.name,m.sort from (select m1.id,m1.code,m1.name,m1.tier,m1.sort from "system".menu m1 left join '
        #           '"system".menu m2 on m1.parent_id=m2."id") m where m.tier=0 order by m.sort')
        rows = cur.fetchall()

        #将所有元组转为对象,因为前台tree组件无法加载元组类型
        li = self.tupleToList(rows)

        for obj in li:
            cur.execute(
                'select id,code,name,sort from "system".menu  where tier=1 and parent_id=%s order by sort'
                % (obj['id']))
            #cur.execute('select m.id,m.code,m.name,m.sort from (select m1.id,m1.code,m1.name,m1.tier,m1.sort ,m1.parent_id from "system".menu m1 left join '
            #       '"system".menu m2 on m1.parent_id=m2."id") m where m.tier=1 and m.parent_id=%s order by m.sort'% (obj['id']))
            rows = cur.fetchall()
            obj['children'] = self.tupleToList(rows)

            #三级菜单
            for thobj in obj['children']:
                cur.execute(
                    'select id, type  from "system".menu_item where menu_id=%s and type in(%s)'
                    % (thobj['id'], ctype))
                rows = cur.fetchall()
                thobj['children'] = self.tupleToList2(rows)
        cur.execute(
            "select menu_item_id from system.menu_authority_relation_group where menu_group_id=%s"
            % gid)
        rows = cur.fetchall()
        #print(rows)
        for obj in li:
            for thobj in obj['children']:
                for foobj in thobj['children']:
                    for k in rows:  #判断第3层的checked
                        if foobj['id'] == k[0]:
                            foobj['checked'] = True
                            break
                        else:
                            foobj['checked'] = False
        de = []
        for obj in li:
            for thobj in obj['children']:
                if thobj['children'] == []:
                    de.append(thobj)
        #print(de)
        for i in de:
            for obj in li:
                try:
                    obj['children'].remove(i)
                except:
                    pass
        #确定二级菜单的'checked',把三级菜单的id放入二级菜单。
        for obj in li:
            for thobj in obj['children']:
                for foobj in thobj['children']:
                    thobj['checked'] = foobj['checked']
                    thobj['id'] = foobj['id']
                    thobj['chkDisabled'] = False
        #删除三级菜单
        for obj in li:
            for thobj in obj['children']:
                thobj.pop('children')

        self.response(li)