Skip to content
basi-check.component.ts 6.71 KiB
Newer Older
wangqinghua's avatar
wangqinghua committed
import {Component, OnInit, ViewChild} from '@angular/core';
import {OverAllService} from '../../overAll/overAll.service';
wangqinghua's avatar
wangqinghua committed
import {
    FormBuilder,
    FormGroup,
    Validators
} from '@angular/forms';
wangqinghua's avatar
wangqinghua committed
import {BasicKeyComponent} from '../basic-key/basic-key.component';
import {NzMessageService} from 'ng-zorro-antd';
import {NewTypeComponent} from '../new-type/new-type.component';
wangqinghua's avatar
wangqinghua committed

@Component({
wangqinghua's avatar
wangqinghua committed
    selector: 'smart-basi-check',
    templateUrl: './basi-check.component.html',
wangqinghua's avatar
wangqinghua committed
    styles: [
            `.tag-button[disabled],
        .tag-button {
            width: 80%;
            height: 30px;
            color: rgba(0, 0, 0, 0.65);
            background-color: #fff;
            border-color: #d9d9d9;
        }`
    ]
wangqinghua's avatar
wangqinghua committed
})
export class BasiCheckComponent implements OnInit {
wangqinghua's avatar
wangqinghua committed
    @ViewChild('basicKey') basicKey: BasicKeyComponent;
    @ViewChild('newType') newType: NewTypeComponent;
wangqinghua's avatar
wangqinghua committed
    isCheck = false;
    hostId;   //主机ID
wangqinghua's avatar
wangqinghua committed
    interfaceList: any[];
wangqinghua's avatar
wangqinghua committed
    validateForm;
    checkList;  //监测点分类
    interval;    //间隔时长
wangqinghua's avatar
wangqinghua committed
    conditionType = 'commonly';
wangqinghua's avatar
wangqinghua committed
    faultConditionList = [
        {
wangqinghua's avatar
wangqinghua committed
            code: '1',
wangqinghua's avatar
wangqinghua committed
            equal: '=',
            value: '',
wangqinghua's avatar
wangqinghua committed
        }
    ];   //危险阀值list
    conditionList = [
        {
wangqinghua's avatar
wangqinghua committed
            code: '1',
wangqinghua's avatar
wangqinghua committed
            equal: '=',
            value: '',
wangqinghua's avatar
wangqinghua committed
        }
    ];    //故障list
wangqinghua's avatar
wangqinghua committed
    constructor(private overAllSer: OverAllService, private fb: FormBuilder,
                private message: NzMessageService) {
    }

    ngOnInit() {
        this.validateForm = {
            hostid: this.hostId,
            name: null,
            interfaceid: null,
            key_: null,
            value_type: null,
            type: null,
wangqinghua's avatar
wangqinghua committed
            data_type: null,
wangqinghua's avatar
wangqinghua committed
            units: null,
            history: null,
            trends: null,
            valuemapid: null,
            delay: null,
wangqinghua's avatar
wangqinghua committed
            condition_commonly: null,    //故障
            condition_high: null,    //故障
            faultCondition_commonly: null,   //危险
            faultCondition_high: null,   //危险
            delta: null,
            formula: null
wangqinghua's avatar
wangqinghua committed
        };
    }
wangqinghua's avatar
wangqinghua committed

    //初始化信息
wangqinghua's avatar
wangqinghua committed
    showCheckModal(hostId) {
wangqinghua's avatar
wangqinghua committed
        this.isCheck = true;
        this.hostId = hostId;
        this.validateForm = {
wangqinghua's avatar
wangqinghua committed
            hostid: this.hostId,
wangqinghua's avatar
wangqinghua committed
            name: null,
            interfaceid: null,
            key_: null,
            value_type: null,
            type: null,
wangqinghua's avatar
wangqinghua committed
            data_type: null,
wangqinghua's avatar
wangqinghua committed
            units: null,
            history: null,
            trends: null,
            valuemapid: null,
            delay: null,
wangqinghua's avatar
wangqinghua committed
            condition_commonly: null,    //故障
            condition_high: null,    //故障
            faultCondition_commonly: null,   //危险
            faultCondition_high: null,   //危险
            delta: null,
            formula: null,
            applicationids: null
wangqinghua's avatar
wangqinghua committed
        };

        //主机接口
wangqinghua's avatar
wangqinghua committed
        this.overAllSer.findDetailed(this.hostId).subscribe(
            (res) => {
                this.interfaceList = res.data[0].interfaces;
wangqinghua's avatar
wangqinghua committed
            }
wangqinghua's avatar
wangqinghua committed
        );
wangqinghua's avatar
wangqinghua committed
        this.getItemType();
    }

    //获取监测点分类
wangqinghua's avatar
wangqinghua committed
    getItemType() {
wangqinghua's avatar
wangqinghua committed
        //监测点分类
        const data = {
wangqinghua's avatar
wangqinghua committed
            'hostids': [this.hostId]
wangqinghua's avatar
wangqinghua committed
        };
wangqinghua's avatar
wangqinghua committed
        this.overAllSer.findItemType(data).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
wangqinghua's avatar
wangqinghua committed
                this.checkList = res.data;
            }
wangqinghua's avatar
wangqinghua committed
        );
wangqinghua's avatar
wangqinghua committed
    }

    //添加
    handleCheckOk(): void {
wangqinghua's avatar
wangqinghua committed
        const data = {
            hostid: this.hostId,
            name: this.validateForm.name,
            interfaceid: this.validateForm.interfaceid,
            key_: this.validateForm.key_,
            value_type: Number(this.validateForm.value_type),
            type: Number(this.validateForm.type),
            data_type: Number(this.validateForm.data_type),
            units: this.validateForm.units,
            history: this.validateForm.history + 'd',
            trends: this.validateForm.trends + 'd',
            valuemapid: this.validateForm.valuemapid,
            delay: this.validateForm.delay,
            condition: '',    //故障
            faultCondition: '',   //危险
            delta: Number(this.validateForm.delta),
            formula: this.validateForm.formula,
            applicationids: [this.validateForm.applicationids]
        };
        if (this.conditionType == 'commonly') {   //常规
            this.conditionList.forEach(res => {
wangqinghua's avatar
wangqinghua committed
                data.condition += '{' + this.validateForm.name + ':' + this.validateForm.key_ + '.last()}' + res.equal + '' + res.value ;
wangqinghua's avatar
wangqinghua committed
            });
            this.faultConditionList.forEach(res => {
wangqinghua's avatar
wangqinghua committed
                data.faultCondition += '{' + this.validateForm.name + ':' + this.validateForm.key_ + '.last()}' + res.equal + '' + res.value;
wangqinghua's avatar
wangqinghua committed
            });
        } else {           //高级
            data.condition = this.validateForm.condition_high;
            data.faultCondition = this.validateForm.faultCondition_high;
        }
        console.log(this.conditionList);
        console.log(this.faultConditionList);

        console.log(data);
        this.overAllSer.create(data).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
                if (res == 10000) {
wangqinghua's avatar
wangqinghua committed
                    this.isCheck = false;
                }
                this.message.info(res.errMsg);
            },
wangqinghua's avatar
wangqinghua committed
            (err) => {
                this.message.info('系统错误');
wangqinghua's avatar
wangqinghua committed
            }
wangqinghua's avatar
wangqinghua committed
        );
wangqinghua's avatar
wangqinghua committed
    }

    handleCheckCancel(): void {
        this.isCheck = false;
    }

    //键值查询
wangqinghua's avatar
wangqinghua committed
    showKeymodal() {
wangqinghua's avatar
wangqinghua committed
        this.basicKey.showKeyModal();
    }

    //新增分类
wangqinghua's avatar
wangqinghua committed
    showTypeModal() {
        this.newType.showModal('新建分类');
wangqinghua's avatar
wangqinghua committed
    }

    //添加分类
wangqinghua's avatar
wangqinghua committed
    addItemType(data) {
wangqinghua's avatar
wangqinghua committed
        const obj = {
wangqinghua's avatar
wangqinghua committed
            hostid: this.hostId,
            name: data
        };
wangqinghua's avatar
wangqinghua committed
        this.overAllSer.createItemType(obj).subscribe(
wangqinghua's avatar
wangqinghua committed
            (res) => {
                if (res.errCode == 10000) {
                    this.message.info('添加成功');
wangqinghua's avatar
wangqinghua committed
                    this.getItemType();
wangqinghua's avatar
wangqinghua committed
                } else {
wangqinghua's avatar
wangqinghua committed
                    this.message.info(res.errMsg);
                }
            }
wangqinghua's avatar
wangqinghua committed
        );
wangqinghua's avatar
wangqinghua committed
    }

    //危险add
wangqinghua's avatar
wangqinghua committed
    addFault() {
        const demo = {
            and: '&',
            code: '1',
wangqinghua's avatar
wangqinghua committed
            equal: '=',
            value: '',
wangqinghua's avatar
wangqinghua committed
        };
        this.faultConditionList.push(demo);
wangqinghua's avatar
wangqinghua committed
    }

    //故障add
wangqinghua's avatar
wangqinghua committed
    addcondition() {
wangqinghua's avatar
wangqinghua committed
        const demo = {
wangqinghua's avatar
wangqinghua committed
            and: '&',
            code: '1',
wangqinghua's avatar
wangqinghua committed
            equal: '=',
            value: '',
wangqinghua's avatar
wangqinghua committed
        };
wangqinghua's avatar
wangqinghua committed
        this.conditionList.push(demo);
    }

    //危险delete
wangqinghua's avatar
wangqinghua committed
    deleteFault(index) {
        this.faultConditionList.splice(index, 1);
wangqinghua's avatar
wangqinghua committed
    }

    //故障delete
wangqinghua's avatar
wangqinghua committed
    deleteCondition(index) {
        this.conditionList.splice(index, 1);
wangqinghua's avatar
wangqinghua committed
    }

wangqinghua's avatar
wangqinghua committed
    getKey(keyValue): void {
        this.validateForm.key_ = keyValue;
wangqinghua's avatar
wangqinghua committed
    }
}