Пример #1
0
def query_netparam(devid):
	data = grab_tcp_package(devid)
	data[4]="%s"%CMD_REMOTE_SYS_QUERY
	data[8]= "%s"%getsequence()
	sendstr = "%s"%string.join(data,',')
	try:	
		if net_train.send2mss(sendstr)!=1	:
			raise 1
		log.recLog(str(devid),log.LOG_PARAM_QUERY,data[8])
		#tkMessageBox.showwarning(unicode(''),unicode('已发送网管查询!'))
	except:
		tkMessageBox.showwarning(unicode('警告!'),unicode('与MSS通信失败!'))
Пример #2
0
def query_netparam(devid):
    data = grab_tcp_package(devid)
    data[4] = "%s" % CMD_REMOTE_SYS_QUERY
    data[8] = "%s" % getsequence()
    sendstr = "%s" % string.join(data, ',')
    try:
        if net_train.send2mss(sendstr) != 1:
            raise 1
        log.recLog(str(devid), log.LOG_PARAM_QUERY, data[8])
        #tkMessageBox.showwarning(unicode(''),unicode('已发送网管查询!'))
    except:
        tkMessageBox.showwarning(unicode('警告!'), unicode('与MSS通信失败!'))
Пример #3
0
	def onsave(self):
		if self.devtype==0:
			tkMessageBox.showwarning(unicode('警告!'),unicode('请选择设备类型!'))
			return 
	 	wl0 = 0
		wl1 = 0
		wl2 = 0
		wl3 = 0
		sql = "select * from param_config where repeatertype=%s and is_warning=1 order by paramname"%self.devtype
		rs = session.getdata(sql)
		if len(rs)==0:
			return 
		
		for i in range(len(self.list)):
			cb = self.list[i][2]
			item = cb.cget('value').strip()
			idx = rs[i]['ORD']
			idx = int(idx)-1			
			#idx = constdef.alarmflags.index(self.list[i][0])
			
			wl = 1<<idx
			if item==unicode('一般'):
				wl1 |=wl
			if item==unicode('重要'):
				wl2 |=wl
			if item==unicode('严重'):
				wl3 |=wl
		sql ="delete from warninglevel where repeatertype=%s"%self.devtype
		session.dbcnn.Execute(sql)
		sql = "insert into warninglevel (REPEATERTYPE,normal,slight,SEVERE) values(:repeatertype,:normal,:slight,:severe)"
		data=[]
		data.append(['repeatertype',self.devtype])		
		data.append(['normal',wl1])		
		data.append(['slight',wl2])		
		data.append(['severe',wl3])		
		
		try:
			session.dbcnn.Execute2(sql,data)
			log.recLog(str(''),log.LOG_WARNINGLEVEL_MODIFY)	
			tkMessageBox.showwarning('',unicode('告警级别设置成功'))			
		except:
			tkMessageBox.showwarning('',unicode('告警级别设置失败!'))
			return 
Пример #4
0
    def onsave(self):
        if self.devtype == 0:
            tkMessageBox.showwarning(unicode('警告!'), unicode('请选择设备类型!'))
            return
        wl0 = 0
        wl1 = 0
        wl2 = 0
        wl3 = 0
        sql = "select * from param_config where repeatertype=%s and is_warning=1 order by paramname" % self.devtype
        rs = session.getdata(sql)
        if len(rs) == 0:
            return

        for i in range(len(self.list)):
            cb = self.list[i][2]
            item = cb.cget('value').strip()
            idx = rs[i]['ORD']
            idx = int(idx) - 1
            #idx = constdef.alarmflags.index(self.list[i][0])

            wl = 1 << idx
            if item == unicode('一般'):
                wl1 |= wl
            if item == unicode('重要'):
                wl2 |= wl
            if item == unicode('严重'):
                wl3 |= wl
        sql = "delete from warninglevel where repeatertype=%s" % self.devtype
        session.dbcnn.Execute(sql)
        sql = "insert into warninglevel (REPEATERTYPE,normal,slight,SEVERE) values(:repeatertype,:normal,:slight,:severe)"
        data = []
        data.append(['repeatertype', self.devtype])
        data.append(['normal', wl1])
        data.append(['slight', wl2])
        data.append(['severe', wl3])

        try:
            session.dbcnn.Execute2(sql, data)
            log.recLog(str(''), log.LOG_WARNINGLEVEL_MODIFY)
            tkMessageBox.showwarning('', unicode('告警级别设置成功'))
        except:
            tkMessageBox.showwarning('', unicode('告警级别设置失败!'))
            return
Пример #5
0
    def onsave(self):
        intval = 0
        params = []
        for w in self.widgets:
            if w[2] == 'ck':

                v = 0
                stm = "v = self.var%s.get()" % w[0]  #取checkbutton帮定的IntVar的值
                exec(stm)
                if v:
                    params.append("%s,1,1" % w[0])
                else:
                    params.append("%s,1,0" % w[0])
#					pos = constdef.alarmflags.index(w[0])
#					intval |=1<<pos

#将告警值存入数据库
#sql = "update repeaterinfo set ALARMFLAG=%d where id = %d"%(intval,self.id)
#print sql
        data = session.grab_tcp_package(self.id)
        data[4] = "%s" % constdef.cmd_list['SET_AUTO_ALARM_FLAG']
        data[8] = "%s" % session.getsequence()

        try:
            #session.dbcnn.Execute(sql)
            #notify mss by net_train
            sendstr = "%s@%s" % (string.join(data,
                                             ','), string.join(params, ";"))
            if net_train.send2mss(sendstr) != 1:

                raise 1

            tkMessageBox.showwarning('', unicode('告警使能标志设置发送中!'))

        except:
            tkMessageBox.showwarning('', unicode(' 与MSS通信失败!'))
            return
        #写入日志
        log.recLog(str(self.id), log.LOG_MODIFY_ALARMFLAG, data[8])
Пример #6
0
	def onsave(self):
		intval=0
		params=[]
		for w in self.widgets:
			if w[2]=='ck':
				
				v =0
				stm = "v = self.var%s.get()"%w[0]	#取checkbutton帮定的IntVar的值
				exec(stm)
				if v:
					params.append("%s,1,1"%w[0])
				else:
					params.append("%s,1,0"%w[0])
#					pos = constdef.alarmflags.index(w[0])
#					intval |=1<<pos					
					
		#将告警值存入数据库
		#sql = "update repeaterinfo set ALARMFLAG=%d where id = %d"%(intval,self.id)
		#print sql
		data = session.grab_tcp_package(self.id)
		data[4]="%s"%constdef.cmd_list['SET_AUTO_ALARM_FLAG']
		data[8]= "%s"%session.getsequence()
		
		try:
			#session.dbcnn.Execute(sql)
			#notify mss by net_train
			sendstr= "%s@%s"%(string.join(data,','),string.join(params,";"))
			if  net_train.send2mss(sendstr)!=1:
				
				raise 1

			tkMessageBox.showwarning('',unicode('告警使能标志设置发送中!'))
			
		except:
			tkMessageBox.showwarning('',unicode(' 与MSS通信失败!'))
			return 
		#写入日志
		log.recLog(str(self.id),log.LOG_MODIFY_ALARMFLAG,data[8])
    def onset(self):
        """ 系统参数设置"""
        if self.devinfo['MONI_ALARM_ID1'] == None:
            tkMessageBox.showwarning(unicode('警告!'), unicode('设备当前无系统参数返回!'))
            return
        data = []
        data = session.grab_tcp_package(self.devinfo['ID'])
        data[4] = "%s" % constdef.CMD_REMOTE_SYS_SET
        data[8] = "%s" % session.getsequence()
        #-------------------------------------------------------
        s = []
        if sys_value_can_set['NMS_PHONE']:  #
            if self.central_phone.getvalue().strip() == '':
                tkMessageBox.showwarning(unicode('警告!'),
                                         unicode('控制中心电话不能为空!'))
                return
            s.append("QUERY_PHONE,2,%s" %
                     self.central_phone.getvalue().strip())
        else:
            s.append("NMS_PHONE,2,%s" % self.devinfo['QUERY_PHONE'].strip())

        if sys_value_can_set['ALARM_PHONE']:  #
            if self.alert_phone.getvalue().strip() == '':
                tkMessageBox.showwarning(unicode('警告!'), unicode('告警电话不能为空!'))
                return
            s.append("ALARM_PHONE,2,%s" % self.alert_phone.getvalue().strip())
        else:
            s.append("ALARM_PHONE,2,%s" % self.devinfo['ALARAM_PHONE'].strip())

        if sys_value_can_set['MONI_ALARM_ID1']:  #
            #if self.alert_phone.getvalue().strip()=='':
            #	tkMessageBox.showwarning(unicode('警告!'),unicode('告警电话不能为空!'))
            #	return
            #s.append('ALARM_PHONE',2,self.alert_phone.getvalue().strip())
            pass
        else:
            s.append("MONI_ALARM_ID1,1,%s" % self.devinfo['MONI_ALARM_ID1'])

        if sys_value_can_set['MONI_ALARM_ID2']:  #
            #if self.alert_phone.getvalue().strip()=='':
            #	tkMessageBox.showwarning(unicode('警告!'),unicode('告警电话不能为空!'))
            #	return
            #s.append('ALARM_PHONE',2,self.alert_phone.getvalue().strip())
            pass
        else:
            s.append("MONI_ALARM_ID2,1,%s" % self.devinfo['MONI_ALARM_ID2'])

        if sys_value_can_set['MONI_ALARMFLAG']:
            v = 0
            mask = constdef.LT_ALARM_SWITCH[self.ad0_alert.cget('value')]
            v = v | (mask << 4)
            mask = constdef.LT_ALARM_SWITCH[self.ad1_alert.cget('value')]
            v = v | (mask << 5)
            mask = constdef.LT_ALARM_SWITCH[self.ad2_alert.cget('value')]
            v = v | (mask << 6)
            mask = constdef.LT_ALARM_SWITCH[self.ad3_alert.cget('value')]
            v = v | (mask << 7)
            s.append("MONI_ALARMFLAG,1,%s" % str(v))
        else:
            s.append("MONI_ALARMFLAG,1,%s" % self.devinfo['MONI_ALARMFLAG'])

        if sys_value_can_set['AD0MIN']:
            if not self.ad0min.valid():
                tkMessageBox.showwarning(unicode('警告!'), unicode('AD0MIN 无效!'))
                return
            else:
                s.append("AD0MIN,1,%s" % self.ad0min.getvalue().strip())
        else:
            s.append("AD0MIN,1,%s" % self.devinfo['AD0MIN'])

        if sys_value_can_set['AD0MAX']:
            if not self.ad0max.valid():
                tkMessageBox.showwarning(unicode('警告!'), unicode('AD0MAX 无效!'))
                return
            else:
                s.append("AD0MAX,1,%s" % self.ad0max.getvalue().strip())
        else:
            s.append("AD0MAX,1,%s" % self.devinfo['AD0MAX'])
        #------------------------------------------------------------------
        if sys_value_can_set['AD1MIN']:
            if not self.ad1min.valid():
                tkMessageBox.showwarning(unicode('警告!'), unicode('AD1MIN 无效!'))
                return
            else:
                s.append("AD1MIN,1,%s" % self.ad1min.getvalue().strip())
        else:
            s.append("AD1MIN,1,%s" % self.devinfo['AD1MIN'])

        if sys_value_can_set['AD1MAX']:
            if not self.ad1max.valid():
                tkMessageBox.showwarning(unicode('警告!'), unicode('AD1MAX 无效!'))
                return
            else:
                s.append("AD1MAX,1,%s" % self.ad1max.getvalue().strip())
        else:
            s.append("AD1MAX,1,%s" % self.devinfo['AD1MAX'])
        #------------------------------------------------------------------

        if sys_value_can_set['AD2MIN']:
            if not self.ad2min.valid():
                tkMessageBox.showwarning(unicode('警告!'), unicode('AD2MIN 无效!'))
                return
            else:
                s.append("AD2MIN,1,%s" % self.ad2min.getvalue().strip())
        else:
            s.append("AD2MIN,1,%s" % self.devinfo['AD2MIN'])

        if sys_value_can_set['AD2MAX']:
            if not self.ad2max.valid():
                tkMessageBox.showwarning(unicode('警告!'), unicode('AD2MAX 无效!'))
                return
            else:
                s.append("AD2MAX,1,%s" % self.ad2max.getvalue().strip())
        else:
            s.append("AD2MAX,1,%s" % self.devinfo['AD2MAX'])
        #------------------------------------------------------------------
        if sys_value_can_set['AD3MIN']:
            if not self.ad3min.valid():
                tkMessageBox.showwarning(unicode('警告!'), unicode('AD3MIN 无效!'))
                return
            else:
                s.append("AD3MIN,1,%s" % self.ad3min.getvalue().strip())
        else:
            s.append("AD3MIN,1,%s" % self.devinfo['AD3MIN'])

        if sys_value_can_set['AD3MAX']:
            if not self.ad3max.valid():
                tkMessageBox.showwarning(unicode('警告!'), unicode('AD3MAX 无效!'))
                return
            else:
                s.append("AD3MAX,1,%s" % self.ad3max.getvalue().strip())
        else:
            s.append("AD3MAX,1,%s" % self.devinfo['AD3MAX'])
        #------------------------------------------------------------------

        if sys_value_can_set['DIGIT_ALARM1']:
            pass
            #if not self.digit_alert.valid():
            #	tkMessageBox.showwarning(unicode('警告!'),unicode('数字量告警值无效!'))
            #	return
            #else:
            #	s.append("AD3MAX,1,%s"%self.ad3max.getvalue().strip())
        else:
            s.append("DIGIT_ALARM1,1,%s" % self.devinfo['DIGIT_ALARM1'])

        if sys_value_can_set['DIGIT_ALARM2']:
            pass
        else:
            s.append("DIGIT_ALARM2,1,%s" % self.devinfo['DIGIT_ALARM2'])

        #------------------------------------------------------------------
        mask_val = 0
        if sys_value_can_set['DIGIT_ALARMFLAG1']:  #bit 0-15
            for i in range(16):
                stm = "v =self.d%s_alert.cget('value')" % i
                exec(stm)
                print v
                stm = "v = constdef.LT_ALARM_SWITCH[unicode('%s')]" % v
                print stm
                exec(stm)
                mask_val = mask_val | (int(v) << i)
            print hex(mask_val)
            s.append("DIGIT_ALARMFLAG1,1,%s" % (mask_val & 0x0ff))  #low 8 bits
            s.append("DIGIT_ALARMFLAG2,1,%s" %
                     ((mask_val & 0xff00) >> 8))  #==>high 8 bits

        else:
            s.append("DIGIT_ALARMFLAG1,1,%s" %
                     self.devinfo['DIGIT_ALARMFLAG1'])
            s.append("DIGIT_ALARMFLAG2,1,%s" %
                     self.devinfo['DIGIT_ALARMFLAG2'])

        sendstr = "%s@%s" % (string.join(data, ','), string.join(s, ';'))
        print sendstr
        try:
            if net_train.send2mss(sendstr) != 1:
                print "invoke send2mss failed"
                raise 1

            tkMessageBox.showwarning('', unicode('控制命令发送中!'))
        except:
            tkMessageBox.showwarning('', unicode(' 与MSS通信失败!'))
            return
        log.recLog(str(self.devinfo['ID']), log.LOG_CONTROL, data[8])
Пример #8
0
	def oncontrol(self):
		if self.status==[]:
			return
		if self.control_params==[]:
			return 
		sel_list =[]
		has_sel=0
		for pc in self.control_params:
			
			stm = "v= self.var%s.get()"%pc['PARAMNAME']			
			exec(stm)
			if v:	#如果选择设置 
				print pc['PARAMNAME']
				has_sel=1
				for c in self.control_widget:
					
					if c[0]==pc['PARAMNAME']:						
						
						w = c[1]
						val =''
						if c[2]=='en':
							if not w.valid():
								tkMessageBox.showwarning(unicode('警告!'),unicode('参数值无效:')+pc['DESCRIPT'])
								return
							else:															
								sel_list.append([pc['PARAMNAME'],w.getvalue(),0,1])
						if c[2]=='cb':
							val = w.cget('value')
							try:
								ls1=[]
								ls1 = re.split(';',pc['UI_VALUE_RANGE'])
								for s in ls1:
									ls2 =re.split(':',s)
									
									if ls2[0]==val:	#
										print ls2[0],val,"compare"
										val = int(ls2[1])
										break
									
								
							except:
								val =0
								#tkMessageBox.showwarning(unicode('警告!'),unicode('参数值无效:')+pc['DESCRIPT'])
								#return
							sel_list.append([pc['PARAMNAME'],val,0,1])
						
			else:				
				#取当前状态记录的当前字段值
				fieldname=pc['FIELDNAME']							
				
				cur_rec = self.status[0]	
				try:
					v =cur_rec[fieldname]
					if v==None:
						v=str(session.control_run_param_default)
				except:
					v =str(session.control_run_param_default)
					
				sel_list.append([pc['PARAMNAME'],v,0,0])
		
				
		
		if has_sel==0:	#当前无控制参数,撤销操作 
			return		
		
			
			
		s=[]
		for ctrl_item in sel_list:
			type =""
			type = self.get_paramtype(self.cur_dev['REPEATERTYPE'],ctrl_item[0])
			s.append("%s,%s,%s"%(ctrl_item[0],type,ctrl_item[1]))
			
		data = session.grab_tcp_package(self.id)
		data[4]="%s"%constdef.CMD_REMOTE_CTRL
		data[8]= "%s"%session.getsequence()
		sendstr = "%s@%s"%(string.join(data,','),string.join(s,';'))
		print sendstr
		try:
			if  net_train.send2mss(sendstr)!=1:
				raise 1
			log.recLog(str(self.id),log.LOG_CONTROL,data[8])			
			tkMessageBox.showwarning('',unicode('控制命令发送中!'))			
		except:
			tkMessageBox.showwarning('',unicode(' 与MSS通信失败!'))
			return 
Пример #9
0
    def oncontrol(self):
        if self.status == []:
            return
        if self.control_params == []:
            return
        sel_list = []
        has_sel = 0
        for pc in self.control_params:

            stm = "v= self.var%s.get()" % pc['PARAMNAME']
            exec(stm)
            if v:  #如果选择设置
                print pc['PARAMNAME']
                has_sel = 1
                for c in self.control_widget:

                    if c[0] == pc['PARAMNAME']:

                        w = c[1]
                        val = ''
                        if c[2] == 'en':
                            if not w.valid():
                                tkMessageBox.showwarning(
                                    unicode('警告!'),
                                    unicode('参数值无效:') + pc['DESCRIPT'])
                                return
                            else:
                                sel_list.append(
                                    [pc['PARAMNAME'],
                                     w.getvalue(), 0, 1])
                        if c[2] == 'cb':
                            val = w.cget('value')
                            try:
                                ls1 = []
                                ls1 = re.split(';', pc['UI_VALUE_RANGE'])
                                for s in ls1:
                                    ls2 = re.split(':', s)

                                    if ls2[0] == val:  #
                                        print ls2[0], val, "compare"
                                        val = int(ls2[1])
                                        break

                            except:
                                val = 0
                                #tkMessageBox.showwarning(unicode('警告!'),unicode('参数值无效:')+pc['DESCRIPT'])
                                #return
                            sel_list.append([pc['PARAMNAME'], val, 0, 1])

            else:
                #取当前状态记录的当前字段值
                fieldname = pc['FIELDNAME']

                cur_rec = self.status[0]
                try:
                    v = cur_rec[fieldname]
                    if v == None:
                        v = str(session.control_run_param_default)
                except:
                    v = str(session.control_run_param_default)

                sel_list.append([pc['PARAMNAME'], v, 0, 0])

        if has_sel == 0:  #当前无控制参数,撤销操作
            return

        s = []
        for ctrl_item in sel_list:
            type = ""
            type = self.get_paramtype(self.cur_dev['REPEATERTYPE'],
                                      ctrl_item[0])
            s.append("%s,%s,%s" % (ctrl_item[0], type, ctrl_item[1]))

        data = session.grab_tcp_package(self.id)
        data[4] = "%s" % constdef.CMD_REMOTE_CTRL
        data[8] = "%s" % session.getsequence()
        sendstr = "%s@%s" % (string.join(data, ','), string.join(s, ';'))
        print sendstr
        try:
            if net_train.send2mss(sendstr) != 1:
                raise 1
            log.recLog(str(self.id), log.LOG_CONTROL, data[8])
            tkMessageBox.showwarning('', unicode('控制命令发送中!'))
        except:
            tkMessageBox.showwarning('', unicode(' 与MSS通信失败!'))
            return