Ejemplo n.º 1
0
    def put(self):
        args = alarm_put_parser.parse_args()

        model_id = args['id']

        if model_id:
            model = VarAlarmLog.query.get(model_id)

            if not model:
                return err_not_found()

            if args['alarm_id']:
                model.alarm_id = args['alarm_id']

            if args['status']:
                model.status = args['status']

            if args['time']:
                model.time = args['time']

            db.session.add(model)
            db.session.commit()
            return rp_modify()

        else:
            model = VarAlarmLog(
                alarm_id=args['alarm_id'],
                status=args['status'],
                time=args['time'],
            )
            db.session.add(model)
            db.session.commit()
            return rp_create()
Ejemplo n.º 2
0
    def put(self, model_id=None):
        args = alarm_info_put_parser.parse_args()

        if not model_id:
            model_id = args['id']

        if model_id:
            model = VarAlarmInfo.query.get(model_id)

            if not model:
                return err_not_found()

            if args['variable_id']:
                model.variable_id = args['variable_id']

            if args['alarm_type']:
                model.alarm_type = args['alarm_type']

            if args['note']:
                model.note = args['note']

            db.session.add(model)
            db.session.commit()
            return rp_modify()

        else:
            model = VarAlarmInfo(variable_id=args['variable_id'],
                                 alarm_type=args['alarm_type'],
                                 note=args['note'])
            db.session.add(model)
            db.session.commit()
            return rp_create()
Ejemplo n.º 3
0
    def delete(self, model_id=None):

        models = self.search(model_id)
        count = len(models)

        if not models:
            return err_not_found()

        if self.args['variable_id']:
            for m in models:
                delete_models = YjVariableInfo.query.filter(
                    YjVariableInfo.id.in_(self.args['variable_id']))
                for var in delete_models:
                    try:
                        m.vars.remove(var)
                    except ValueError:
                        return err_not_contain()
            db.session.commit()
            return rp_delete_ration()
        else:
            for m in models:
                db.session.delete(m)
            db.session.commit()

        return rp_delete(count)
Ejemplo n.º 4
0
    def delete(self, model_id=None):

        models = self.search(model_id)
        count = len(models)

        if not models:
            return err_not_found()

        if self.args['role']:
            for m in models:
                delete_models = Role.query.filter(
                    Role.name.in_(self.args['role']))
                for role in delete_models:
                    try:
                        m.roles.remove(role)
                    except ValueError:
                        return err_not_contain()
            db.session.commit()
            return rp_delete_ration()
        else:
            for m in models:
                db.session.delete(m)
            db.session.commit()

        return rp_delete(count)
Ejemplo n.º 5
0
    def put(self):

        if self.model_id:

            model = Parameter.query.get(self.model_id)

            if not model:
                return err_not_found()

            if self.param_name:
                model.param_name = self.param_name

            if self.variable_id:
                model.variable_id = self.variable_id

            if self.unit:
                model.unit = self.unit

            db.session.add(model)
            db.session.commit()
            return rp_modify()

        else:
            model = Parameter(variable_id=self.variable_id,
                              param_name=self.param_name,
                              unit=self.unit)
            db.session.add(model)
            db.session.commit()
            return rp_create()
Ejemplo n.º 6
0
    def put(self):
        args = value_put_parser.parse_args()

        value_id = args['id']

        if value_id:

            value = Value.query.get(value_id)

            if not value:
                return err_not_found()

            if args['variable_id']:
                value.variable_id = args['variable_id']

            if args['value']:
                value.value = args['value']

            if args['time']:
                value.time = args['time']

            db.session.add(value)
            db.session.commit()
            return rp_modify()

        else:
            value = Value(variable_id=args['variable_id'],
                          value=args['value'],
                          time=args['time'])

            db.session.add(value)
            db.session.commit()
            return rp_create()
Ejemplo n.º 7
0
    def information(self, group):
        if not group:
            return err_not_found()

        info = []
        for g in group:

            data = dict()
            data['id'] = g.id
            data['group_name'] = g.group_name
            data['plc_id'] = g.plc_id
            data['upload_cycle'] = g.upload_cycle
            data['note'] = g.note
            data['ten_id'] = g.ten_id
            data['item_id'] = g.item_id
            data['upload'] = g.upload

            plc = g.yjplcinfo
            if plc:
                data['plc_name'] = plc.plc_name
            else:
                data['plc_name'] = None

            info.append(data)

        response = jsonify({'ok': 1, "data": info})
        response.status_code = 200

        return response
Ejemplo n.º 8
0
    def put(self, model_id=None):
        args = user_parser.parse_args()

        if not model_id:
            model_id = args['id']

        if model_id:

            model = User.query.get(model_id)

            if not model:
                return err_not_found()

            if args['username']:
                model.username = args['username']

            if args['email']:
                model.email = args['email']

            if args['role']:
                role_models = Role.query.filter(Role.name.in_(
                    args['role'])).all()
                model.roles += role_models

            db.session.add(model)
            db.session.commit()
            return rp_modify()
Ejemplo n.º 9
0
    def information(self, models):
        if not models:
            return err_not_found()

        info = []
        for m in models:
            data = dict()
            data['id'] = m.id
            data['name'] = m.name

            variable_list = [
                dict(var_id=v.id, var_name=v.variable_name) for v in m.vars
            ]
            # value_list = []
            #
            # for var in m.vars:
            #     if self.args['min_time'] and self.args['max_time']:
            #         values = Value.query.filter_by(variable_id=var.id).filter(Value.time > self.args['min_time']).filter(Value.time < self.args['max_time']).all()
            #         value_list += values
            #     else:
            #         value = Value.query.filter_by(variable_id=var.id).order_by(Value.time.desc()).all()
            #         value_list += (value)
            #
            # value_info = [
            #     dict(
            #         id=value.id,
            #         value=value.value,
            #         time=value.time,
            #         variable_id=value.variable_id
            #     )
            #     for value in value_list
            # ]
            # data['value'] = value_info

            data['variable'] = variable_list

            info.append(data)

        # info = [
        #     dict(id=m.id,
        #          name=m.name,
        #          variable=[
        #              dict(
        #                  id=v.id,
        #                  value=v.values,
        #                  time=v.time,
        #                  variable_id=v.variable_id
        #              )
        #              for v in m.vars
        #          ]
        #          )
        #     for m in models
        # ]

        response = jsonify({"ok": 1, "data": info})

        return response
Ejemplo n.º 10
0
    def put(self):
        args = station_put_parser.parse_args()

        station_id = args['id']

        if station_id:
            station = YjStationInfo.query.get(station_id)

            if not station:
                return err_not_found()

            if args['station_name']:
                station.station_name = args['station_name']

            if args['mac']:
                station.mac = args['mac']

            if args['ip']:
                station.ip = args['ip']

            if args['note']:
                station.note = args['note']

            if args['id_num']:
                station.id_num = args['id_num']

            if args['plc_count']:
                station.plc_count = args['plc_count']

            if args['ten_id']:
                station.ten_id = args['ten_id']

            if args['item_id']:
                station.item_id = args['item_id']

            if args['modification']:
                station.modification = args['modification']

            db.session.add(station)
            db.session.commit()
            return rp_modify()

        else:
            station = YjStationInfo(station_name=args['station_name'],
                                    mac=args['mac'],
                                    ip=args['ip'],
                                    note=args['note'],
                                    id_num=args['id_num'],
                                    plc_count=args['plc_count'],
                                    ten_id=args['ten_id'],
                                    item_id=args['item_id'],
                                    modification=args['modification'])
            db.session.add(station)
            db.session.commit()
            return rp_create()
Ejemplo n.º 11
0
    def delete(self):

        models = self.search()
        count = len(models)

        if not models:
            return err_not_found()

        for m in models:
            db.session.delete(m)
        db.session.commit()

        return rp_delete(count)
Ejemplo n.º 12
0
    def put(self):
        args = group_put_parser.parse_args()

        group_id = args['id']

        if group_id:

            group = YjGroupInfo.query.get(group_id)

            if not group:
                return err_not_found()

            if args['group_name']:
                group.group_name = args['group_name']

            if args['plc_id']:
                group.plc_id = args['plc_id']

            if args['note']:
                group.note = args['note']

            if args['upload_cycle']:
                group.upload_cycle = args['upload_cycle']

            if args['ten_id']:
                group.ten_id = args['ten_id']

            if args['item_id']:
                group.item_id = args['item_id']

            if args['upload']:
                group.item_id = args['upload']

            db.session.add(group)
            db.session.commit()
            return rp_modify()

        else:
            group = YjGroupInfo(group_name=args['group_name'],
                                plc_id=args['plc_id'],
                                note=args['note'],
                                upload_cycle=args['upload_cycle'],
                                ten_id=args['ten_id'],
                                item_id=args['item_id'],
                                upload=args['upload'])

            db.session.add(group)
            db.session.commit()
            return rp_create()
Ejemplo n.º 13
0
    def information(self, models):
        if not models:
            return err_not_found()

        info = [
            dict(id=m.id,
                 station_id=m.station_id,
                 level=m.level,
                 note=m.note,
                 time=m.time) for m in models
        ]

        response = jsonify({"ok": 1, "data": info})

        return response
Ejemplo n.º 14
0
    def information(self, models):
        if not models:
            return err_not_found()

        info = [
            dict(username=m.username,
                 email=m.email,
                 login_count=m.login_count,
                 last_login_ip=m.last_login_ip,
                 last_login_time=m.last_login_time,
                 role=[role.name for role in m.roles]) for m in models
        ]

        response = jsonify({"ok": 1, "data": info})

        return response
Ejemplo n.º 15
0
    def information(self, models):
        if not models:
            return err_not_found()

        info = [
            dict(
                id=m.id,
                plc_id=m.yjvariableinfo.yjgroupinfo.plc_id
                if m.yjvariableinfo and m.yjvariableinfo.yjgroupinfo else None,
                variable_id=m.variable_id,
                variable_name=m.yjvariableinfo.variable_name
                if m.yjvariableinfo else None,
                alarm_type=m.alarm_type,
                note=m.note,
            ) for m in models
        ]

        response = jsonify({"ok": 1, "data": info})

        return response
Ejemplo n.º 16
0
    def put(self):

        if self.model_id:

            model = InterfaceLog.query.get(self.model_id)

            if not model:
                return err_not_found()

            if self.username:
                model.username = self.username

            if self.host_url:
                model.host_url = self.host_url

            if self.method:
                model.method = self.method

            db.session.add(model)
            db.session.commit()
            return rp_modify()
Ejemplo n.º 17
0
    def information(self, models):
        if not models:
            return err_not_found()

        info = list()

        for m in models:
            data = dict()
            data['id'] = m.id
            data['alarm_id'] = m.alarm_id
            data['time'] = m.time
            data['status'] = m.status

            alarm_info = m.var_alarm_info
            data['note'] = m.var_alarm_info.note if alarm_info else None
            data[
                'alarm_type'] = m.var_alarm_info.alarm_type if alarm_info else None
            data[
                'variable_id'] = m.var_alarm_info.variable_id if alarm_info else None

            var = m.var_alarm_info.yjvariableinfo if alarm_info else None

            data[
                'variable_name'] = m.var_alarm_info.yjvariableinfo.variable_name if var else None

            group = m.var_alarm_info.yjvariableinfo.yjgroupinfo if var else None
            data['plc_id'] = group.plc_id if group else None

            plc = m.var_alarm_info.yjvariableinfo.yjgroupinfo.yjplcinfo if group else None
            data['plc_name'] = plc.plc_name if plc else None
            data['station_id'] = plc.station_id if plc else None

            station = plc.yjstationinfo if plc else None
            data['station_name'] = station.station_name if station else None

            info.append(data)

        response = jsonify({"ok": 1, "data": info})

        return response
Ejemplo n.º 18
0
    def put(self, model_id=None):
        args = status_put_parser.parse_args()

        if not model_id:
            model_id = args['id']

        if model_id:
            model = TransferLog.query.get(model_id)

            if not model:
                return err_not_found()

            if args['station_id']:
                model.station_name = args['station_id']

            if args['level']:
                model.level = args['level']

            if args['time']:
                model.time = args['time']

            if args['note']:
                model.note = args['note']

            db.session.add(model)
            db.session.commit()
            return rp_modify()

        else:
            model = TransferLog(
                station_id=args['station_id'],
                level=args['level'],
                time=args['time'],
                note=args['note'],
            )
            db.session.add(model)
            db.session.commit()
            return rp_create()
Ejemplo n.º 19
0
    def put(self, model_id=None):
        args = query_put_parser.parse_args()

        if not model_id:
            model_id = args['id']

        if model_id:

            model = QueryGroup.query.get(model_id)

            if not model:
                return err_not_found()

            if args['name']:
                model.name = args['name']

            if args['variable_id']:
                var_models = YjVariableInfo.query.filter(
                    YjVariableInfo.id.in_(args['variable_id'])).all()
                model.vars += var_models

            db.session.add(model)
            db.session.commit()
            return rp_modify()

        else:

            if args['variable_id']:
                var_models = YjVariableInfo.query.filter(
                    YjVariableInfo.id.in_(args['variable_id'])).all()
            else:
                var_models = []

            model = QueryGroup(name=args['name'], vars=var_models)

            db.session.add(model)
            db.session.commit()
            return rp_create()
Ejemplo n.º 20
0
    def information(self, models):
        if not models:
            return err_not_found()

        info = []
        for m in models:
            station = m.yjstationinfo

            data = dict()
            data['id'] = m.id
            data['plc_name'] = m.plc_name
            data['station_id'] = m.station_id
            data['note'] = m.note
            data['ip'] = m.ip
            data['mpi'] = m.mpi
            data['type'] = m.type
            data['plc_type'] = m.plc_type
            data['ten_id'] = m.ten_id
            data['item_id'] = m.item_id
            data['rack'] = m.rack
            data['slot'] = m.slot
            data['tcp_port'] = m.tcp_port

            if station:
                data['station_id_num'] = station.id_num
                data['station_name'] = station.station_name
            else:
                data['station_id_num'] = None
                data['station_name'] = None

            info.append(data)

        response = jsonify({'ok': 1, "data": info})
        response.status_code = 200

        return response
Ejemplo n.º 21
0
    def information(self, models):
        if not models:
            return err_not_found()

        info = []
        for m in models:
            data = dict()
            data['id'] = m.id
            data['station_name'] = m.station_name
            data['mac'] = m.mac
            data['ip'] = m.ip
            data['note'] = m.note
            data['id_num'] = m.id_num
            data['plc_count'] = m.plc_count
            data['ten_id'] = m.ten_id
            data['item_id'] = m.item_id
            data['modification'] = m.modification

            info.append(data)

        response = jsonify({'ok': 1, "data": info})
        response.status_code = 200

        return response
Ejemplo n.º 22
0
    def put(self):
        args = plc_put_parser.parse_args()

        plc_id = args['id']

        if plc_id:

            plc = YjPLCInfo.query.get(plc_id)
            self.query = [].append(plc)
            print self.query
            if not plc:
                return err_not_found()

            if args['plc_name']:
                plc.plc_name = args['plc_name']

            if args['station_id']:
                plc.station_id = args['station_id']

            if args['note']:
                plc.note = args['note']

            if args['ip']:
                plc.ip = args['ip']

            if args['mpi']:
                plc.mpi = args['mpi']

            if args['type']:
                plc.type = args['type']

            if args['plc_type']:
                plc.plc_type = args['plc_type']

            if args['ten_id']:
                plc.ten_id = args['ten_id']

            if args['item_id']:
                plc.item_id = args['item_id']

            if args['rack']:
                plc.rack = args['rack']

            if args['slot']:
                plc.slot = args['slot']

            if args['tcp_port']:
                plc.tcp_port = args['tcp_port']

            db.session.add(plc)
            db.session.commit()

            return rp_modify()

        else:
            self.query = []
            plc = YjPLCInfo(plc_name=args['plc_name'],
                            station_id=args['station_id'],
                            note=args['note'],
                            ip=args['ip'],
                            mpi=args['mpi'],
                            type=args['type'],
                            plc_type=args['plc_type'],
                            ten_id=args['ten_id'],
                            item_id=args['item_id'],
                            rack=args['rack'],
                            slot=args['slot'],
                            tcp_port=args['tcp_port'])

            db.session.add(plc)
            db.session.commit()
            self.new_id = plc.id
            return rp_create()
Ejemplo n.º 23
0
    def information(self, value):
        if not value:
            return err_not_found()

        # info = [
        #     dict(
        #         id=v.id,
        #         variable_id=v.variable_id,
        #         value=v.value,
        #         time=v.time,
        #         variable_name=v.yjvariableinfo.variable_name
        #         if v.yjvariableinfo else None,
        #         plc_id=v.yjvariableinfo.yjgroupinfo.yjplcinfo.id
        #         if (v.yjvariableinfo and v.yjvariableinfo.yjgroupinfo and v.yjvariableinfo.yjgroupinfo.yjplcinfo)
        #         else None,
        #         plc_name=v.yjvariableinfo.yjplcinfo.plc_name
        #         if (v.yjvariableinfo and v.yjvariableinfo.yjgroupinfo and v.yjvariableinfo.yjgroupinfo.yjplcinfo)
        #         else None,
        #         group_id=v.yjvariableinfo.yjgroupinfo.id
        #         if v.yjvariableinfo and v.yjvariableinfo.yjgroupinfo else None,
        #         group_name=v.yjvariableinfo.yjgroupinfo.group_name
        #         if v.yjvariableinfo and v.yjvariableinfo.yjgroupinfo else None
        #     )
        #     for v in value
        # ]

        info = []
        for v in value:

            data = dict()
            data['id'] = v.id
            data['variable_id'] = v.variable_id
            data['value'] = v.value
            data['time'] = v.time

            variable = v.yjvariableinfo
            if variable:
                data['variable_name'] = variable.variable_name
                group = variable.yjgroupinfo
            else:
                data['variable_name'] = None
                group = None

            if group:
                data['group_id'] = group.id
                data['group_name'] = group.group_name
                data['plc_id'] = group.plc_id
                plc = group.yjplcinfo
            else:
                data['group_id'] = None
                data['group_name'] = None
                data['plc_id'] = None
                plc = None

            if plc:
                data['plc_name'] = plc.plc_name
            else:
                data['plc_name'] = None

            info.append(data)

        response = jsonify({"ok": 1, "data": info})

        return response
Ejemplo n.º 24
0
    def put(self, variable_id=None):
        args = variable_put_parser.parse_args()

        if not variable_id:
            variable_id = args['id']

        if variable_id:

            variable = YjVariableInfo.query.get(variable_id)

            if not variable:
                return err_not_found()

            if args['variable_name'] is not None:
                variable.variable_name = args['variable_name']

            if args['group_id'] is not None:
                variable.group_id = args['group_id']

            if args['db_num'] is not None:
                variable.db_num = args['db_num']

            if args['address'] is not None:
                variable.address = args['address']

            if args['data_type'] is not None:
                variable.data_type = args['data_type']

            if args['rw_type'] is not None:
                variable.rw_type = args['rw_type']

            if args['upload'] is not None:
                variable.upload = args['upload']

            if args['acquisition_cycle'] is not None:
                variable.acquisition_cycle = args['acquisition_cycle']

            if args['server_record_cycle'] is not None:
                variable.server_record_cycle = args['server_record_cycle']

            if args['note'] is not None:
                variable.note = args['note']

            if args['ten_id'] is not None:
                variable.ten_id = args['ten_id']

            if args['item_id'] is not None:
                variable.item_id = args['item_id']

            if args['write_value'] is not None:
                variable.write_value = args['write_value']

            if args['area'] is not None:
                variable.area = args['area']

            db.session.add(variable)
            db.session.commit()

            return rp_modify()

        else:
            variable = YjVariableInfo(
                variable_name=args['variable_name'],
                group_id=args['group_id'],
                db_num=args['db_num'],
                address=args['address'],
                area=args['area'],
                data_type=args['data_type'],
                rw_type=args['rw_type'],
                upload=args['upload'],
                acquisition_cycle=args['acquisition_cycle'],
                server_record_cycle=args['server_record_cycle'],
                note=args['note'],
                ten_id=args['ten_id'],
                item_id=args['item_id'],
                write_value=args['write_value'])

            db.session.add(variable)
            db.session.commit()

        return rp_create()
Ejemplo n.º 25
0
    def information(self, models):
        if not models:
            return err_not_found()

        # time1 = time.time()
        # info = [
        #     dict(
        #         id=m.id,
        #         variable_name=m.variable_name,
        #         group_id=m.group_id,
        #         db_num=m.db_num,
        #         address=m.address,
        #         area=m.area,
        #         write_value=m.write_value,
        #         data_type=m.data_type,
        #         rw_type=m.rw_type,
        #         upload=m.upload,
        #         acquisition_cycle=m.acquisition_cycle,
        #         server_record_cycle=m.server_record_cycle,
        #         note=m.note,
        #         ten_id=m.ten_id,
        #         item_id=m.item_id,
        #         group_name=m.yjgroupinfo.group_name if m.yjgroupinfo else None,
        #         plc_id=m.yjgroupinfo.yjplcinfo.id if m.yjgroupinfo and m.yjgroupinfo.yjplcinfo else None,
        #         plc_name=m.yjgroupinfo.yjplcinfo.plc_name if m.yjgroupinfo and m.yjgroupinfo.yjplcinfo else None,
        #     )
        #     for m in models
        # ]

        # time2 = time.time()
        # print(time2 - time1)

        time1 = time.time()
        info = []
        for m in models:

            data = dict()
            data['id'] = m.id
            data['variable_name'] = m.variable_name
            data['group_id'] = m.group_id
            data['db_num'] = m.db_num
            data['address'] = m.address
            data['data_type'] = m.data_type
            data['rw_type'] = m.rw_type
            data['upload'] = m.upload
            data['acquisition_cycle'] = m.acquisition_cycle
            data['server_record_cycle'] = m.server_record_cycle
            data['note'] = m.note
            data['ten_id'] = m.ten_id
            data['item_id'] = m.item_id
            data['write_value'] = m.write_value

            group = m.yjgroupinfo
            if group:
                data['group_name'] = group.group_name
                data['plc_id'] = group.plc_id
                plc = group.yjplcinfo
            else:
                data['group_name'] = None
                data['plc_id'] = None
                plc = None

            if plc:
                data['plc_name'] = plc.plc_name
            else:
                data['plc_name'] = None

            info.append(data)

        time2 = time.time()
        print(time2 - time1)

        response = jsonify({'ok': 1, "data": info})
        response.status_code = 200

        return response