Untitled

 avatar
unknown
typescript
2 years ago
10 kB
3
Indexable
  date: Date = new Date();

  private httpClient: HttpClient;

  constructor(private handler: HttpBackend ) {
    this.getMonitoring();
   }

  ngOnInit(): void {
  }

  getMonitoring(): void {
    this.httpClient = new HttpClient(this.handler);
    var tenant = "CFI";
    var date_now = new Date()
    var month = ('0' + (date_now.getMonth() + 1)).slice(-2);
    var year = date_now.getFullYear();
    var date = year+'-'+month

    this.httpClient.post(URLConstant.ocrMonitoringData, 
      JSON.stringify({
        "tenant":tenant,
        "date": date
      }), {
        'headers': {
          'Content-Type': 'application/json'
        }
      }
      ).subscribe(
      (response: {
        success_count_mtd:keyvalue;
        success_rate_mtd:keyvalue;
        average_accuracy_mtd:keyvalue;
        average_accuracy_6_month:keyvalue;
        daily_average_request_count_6_month:keyvalue;
      }) => {
        const color = ["#DBAE58","#202020","#7E909A","#1C4E80","#A5D8DD","#EA6A47","#0091D5"]
        //chart A01
        this.chartA01Data = response.success_count_mtd.data;
        this.chartA01Labels = response.success_count_mtd.label;
        this.chartA01Colors = [{backgroundColor:color}]

        //chart A02
        this.success_rate_mtd_value = response.success_rate_mtd.data;
        this.chartA02Data= [
          { data: this.success_rate_mtd_value, label: '' },
        ];
        this.chartA02Labels = response.success_rate_mtd.label;
        this.chartA02Colors = [{backgroundColor:color}]

        //chart A03
        this.average_accuracy_mtd_value = response.average_accuracy_mtd.data;
        this.chartA03Data= [
          { data: this.average_accuracy_mtd_value, label: '' },
        ];
        this.chartA03Labels = response.average_accuracy_mtd.label;
        this.chartA03Colors = [{backgroundColor:color}]

        //chart A04
        let labelA04_set = new Set();
        for (const [key, value] of Object.entries(response.average_accuracy_6_month)) {
          value.label.forEach(element => {
            labelA04_set.add(element);
          });
        }
        var acc_bpkp2 = []
        var acc_bpkp3 = []
        var acc_kk_header = []
        var acc_kk_table = []
        var acc_ktp = []
        var acc_npwp = []
        var acc_stnk = []

        var labelA04 = Array.from(labelA04_set);

        for (let i= 0;i< labelA04.length;i++){
          for (const [key, value] of Object.entries(response.average_accuracy_6_month)) {
            if(value.label.includes(labelA04[i])){
              var label = Array.from(value.label)
              var idx = label.indexOf(labelA04[i])
              if (key == "BPKB Hal 2"){
                acc_bpkp2[i] = value.data[idx]
              }
              else if (key == "BPKB Hal 3"){
                acc_bpkp3[i] = value.data[idx]
              }
              else if (key == "KK Header"){
                acc_kk_header[i] = value.data[idx]
              }
              else if (key == "KK Table"){
                acc_kk_table[i] = value.data[idx]
              }
              else if (key == "KTP"){
                acc_ktp[i] = value.data[idx]
              }
              else if (key == "NPWP"){
                acc_npwp[i] = value.data[idx]
              }
              else if (key == "STNK"){
                acc_stnk[i] = value.data[idx]
              }
            }
            else{
              if (key == "BPKB Hal 2"){
                acc_bpkp2[i] = null
              }
              else if (key == "BPKB Hal 3"){
                acc_bpkp3[i] = null
              }
              else if (key == "KK Header"){
                acc_kk_header[i] = null
              }
              else if (key == "KK Table"){
                acc_kk_table[i] = null
              }
              else if (key == "KTP"){
                acc_ktp[i] = null
              }
              else if (key == "NPWP"){
                acc_npwp[i] = null
              }
              else if (key == "STNK"){
                acc_stnk[i] = null
              }
            }
          }
        }
        for (var i=0;i<labelA04.length;i++){
          var year = String(labelA04[i]).substring(0,4);
          var month = String(labelA04[i]).substring(4,6);
          var date = new Date(parseInt(year), parseInt(month)-1);
          var year = date.toLocaleString("default", { year: "numeric" });
          var month = date.toLocaleString("default", { month: "2-digit" });
          labelA04[i]= year+'-'+month
        }
        const shape = ['circle','cross','star','triangle','rectRounded','rect','crossRot']
        let count = 0
        var data_chart=[]
        var linechartdata = []
        for (const [key, value] of Object.entries(response.average_accuracy_6_month)) {
          if (key == "BPKB Hal 2"){
            data_chart=acc_bpkp2 
          }
          else if (key == "BPKB Hal 3"){
            data_chart=acc_bpkp3 
          }
          else if (key == "KK Header"){
            data_chart=acc_kk_header 
          }
          else if (key == "KK Table"){
            data_chart=acc_kk_table 
          }
          else if (key == "KTP"){
            data_chart=acc_ktp 
          }
          else if (key == "NPWP"){
            data_chart=acc_npwp 
          }
          else if (key == "STNK"){
            data_chart=acc_stnk 
          }
          linechartdata.push({
            label: key,
            fill: false,
            type:"line",
            backgroundColor: color[count],
            borderColor: color[count],
            pointBorderColor: color[count],
			      pointBackgroundColor: 'white',
            data: data_chart,
            spanGaps: false,
            // pointStyle:shape[count]
          })
          count++
        }

        this.chartA04Labels = labelA04;
        this.chartA04Data = linechartdata
    
        
        //chart A05
        let labelA05_set = new Set();
        for (const [key, value] of Object.entries(response.daily_average_request_count_6_month)) {
          value.label.forEach(element => {
            labelA05_set.add(element);
          });
        }
        var acc_bpkp2 = []
        var acc_bpkp3 = []
        var acc_kk_header = []
        var acc_kk_table = []
        var acc_ktp = []
        var acc_npwp = []
        var acc_stnk = []

        var labelA05 = Array.from(labelA05_set);

        for (let i= 0;i< labelA05.length;i++){
          for (const [key, value] of Object.entries(response.daily_average_request_count_6_month)) {
            if(value.label.includes(labelA05[i])){
              var label = Array.from(value.label)
              var idx = label.indexOf(labelA05[i])
              if (key == "BPKB Hal 2"){
                acc_bpkp2[i] = value.data[idx]
              }
              else if (key == "BPKB Hal 3"){
                acc_bpkp3[i] = value.data[idx]
              }
              else if (key == "KK Header"){
                acc_kk_header[i] = value.data[idx]
              }
              else if (key == "KK Table"){
                acc_kk_table[i] = value.data[idx]
              }
              else if (key == "KTP"){
                acc_ktp[i] = value.data[idx]
              }
              else if (key == "NPWP"){
                acc_npwp[i] = value.data[idx]
              }
              else if (key == "STNK"){
                acc_stnk[i] = value.data[idx]
              }
            }
            else{
              if (key == "BPKB Hal 2"){
                acc_bpkp2[i] = null
              }
              else if (key == "BPKB Hal 3"){
                acc_bpkp3[i] = null
              }
              else if (key == "KK Header"){
                acc_kk_header[i] = null
              }
              else if (key == "KK Table"){
                acc_kk_table[i] = null
              }
              else if (key == "KTP"){
                acc_ktp[i] = null
              }
              else if (key == "NPWP"){
                acc_npwp[i] = null
              }
              else if (key == "STNK"){
                acc_stnk[i] = null
              }
            }
          }
        }
        for (var i=0;i<labelA05.length;i++){
          var year = String(labelA05[i]).substring(0,4);
          var month = String(labelA05[i]).substring(4,6);
          var date = new Date(parseInt(year), parseInt(month)-1);
          var year = date.toLocaleString("default", { year: "numeric" });
          var month = date.toLocaleString("default", { month: "2-digit" });
          labelA05[i]= year+'-'+month
        }
        count = 0
        var data_chart=[]
        var linechartdata = []
        for (const [key, value] of Object.entries(response.average_accuracy_6_month)) {
          if (key == "BPKB Hal 2"){
            data_chart=acc_bpkp2 
          }
          else if (key == "BPKB Hal 3"){
            data_chart=acc_bpkp3 
          }
          else if (key == "KK Header"){
            data_chart=acc_kk_header 
          }
          else if (key == "KK Table"){
            data_chart=acc_kk_table 
          }
          else if (key == "KTP"){
            data_chart=acc_ktp 
          }
          else if (key == "NPWP"){
            data_chart=acc_npwp 
          }
          else if (key == "STNK"){
            data_chart=acc_stnk 
          }
          linechartdata.push({
            label: key,
            fill: false,
            type:"line",
            backgroundColor: color[count],
            borderColor: color[count],
            pointBorderColor: color[count],
			      pointBackgroundColor: 'white',
            data: data_chart,
            spanGaps: false,
            // pointStyle:shape[count]
          })
          count++
        }

        this.chartA05Labels = labelA05;
        this.chartA05Data = linechartdata


        this.testChartData = [
          { data: this.request_count_last_7d, label: '' },
        ];
        
        // this.testChartData = this.request_count_last_7d
        this.testChartLabels = this.request_last_7d_date
          return 
        }
        )
  }
Editor is loading...