refresh page at 600000

sap.ui.define([
  "sap/ui/core/mvc/Controller",
  'sap/m/MessageToast',
  'sap/m/MessageBox'
], function(Controller, MessageToast, MessageBox) {

  return Controller.extend("CouplingReport.controller.View1", {

    onInit: function(oEvent) {
    <!-- ======================================================================== -->
<!-- Methods       -->
<!-- ======================================================================== -->
      this.getData("X");
      <!-- ======================================================================== -->
  <!-- Add Compact Class to View                    -->
  <!-- ======================================================================== -->
      this.getView().addStyleClass("sapUiSizeCompact");
    },
    <!-- ======================================================================== -->
<!-- Method To Load Data      -->
<!-- ======================================================================== -->
    getData : function(firstTime) {
    debugger
      if (firstTime !== "X") {
      MessageToast.show("Data is getting refreshed, please wait");
      }
      if (this.carouselInterval) {
        clearInterval(this.carouselInterval);
      }
      <!-- ======================================================================== -->
    <!-- Busy Indicator         -->
    <!-- ======================================================================== -->
      this.getView().setBusy(true);
      <!-- ======================================================================== -->
    <!-- Back End Call            -->
    <!-- ======================================================================== -->
      this.getOwnerComponent().getModel("ZCOUPLIND_SRV").read("/QR_VC_COUPLD_SWJ_Q001Results", {
        success: this.mySuccessHandler.bind(this),
        error: this.myErrorHandler.bind(this)
      });
     
    },
    <!-- ======================================================================== -->
<!-- Success Method          -->
<!-- ======================================================================== -->
    mySuccessHandler: function(data) {
    debugger
    <!-- ======================================================================== -->
    <!-- Sort Method              -->
    <!-- ======================================================================== -->
      data.results = this.fnSortResults("A0AU_WSERNO", true, data.results, 'Y');
    //data.results.sort(this.fieldSorter(['A0CALDAY_T','A_SHIFT_T']));
   
     <!-- ======================================================================== -->
     <!-- Get Plant                 -->
     <!-- ======================================================================== -->
      var werks = this.getOwnerComponent().getComponentData().startupParameters.werks[0];
      var newArr = [];
      data.results.filter(function(i, j) {
        if (i.A0PLANT === werks) {
          newArr.push(i);
        }
      });

      data.results = newArr;
      <!-- ======================================================================== -->
    <!-- Check For No Data Found Error     -->
    <!-- ======================================================================== -->
      if (newArr.length === 0) {
        var bCompact = !!this.getView().$().closest(".sapUiSizeCompact").length;
        MessageBox.error(
          "No data found to display", {
            styleClass: bCompact ? "sapUiSizeCompact" : ""
          }
        );
        this.getView().setBusy(false);
        return;
      }

      this.reportData = data;
      var colIndex;
      <!-- ======================================================================== -->
    <!-- Load Json Data          -->
    <!-- ======================================================================== -->
      var sUrl = jQuery.sap.getModulePath('CouplingReport', '/localJson/colJson.json');
      var colModel = new sap.ui.model.json.JSONModel();
      colModel.loadData(sUrl, "", false);
      var colData = colModel.getData();
      /*
            this.post = $.ajax({
              url: './localJson/colJson.json',
              type: "GET",
              context: this,
              async: false
            });
            this.post.done(function(colData) {*/

      this.reportData.results = this.processInputData(this.reportData.results);

      var loop = Math.ceil(this.reportData.results.length / 10);
     
      if (this.byId("Carousel1").getAggregation("pages").length > 0) {
        this.byId("Carousel1").mAggregations.pages = [];
      }

      for (var i = 0; i < loop; i++) {
        var dataSet = {
          "couplingTable": this.reportData.results.splice(0, 10)
        };
        var plannedDate = dataSet.couplingTable[0].A0NPLDA_T;
//        var oPanel = new sap.ui.commons.Panel();
        var oTable = new sap.m.Table({
          headerToolbar: new sap.m.Toolbar({
            content: [
              new sap.m.Label({
                design: "Bold",
                text: "Coupling Data : Page " + (i + 1) + " of " + loop,
              }),
              new sap.m.ToolbarSpacer({}),
              new sap.m.Label({
                design: "Bold",
                text: "Planned Date : " + plannedDate,
              })
            ]
          }),
          columns: colData.cols.map(function(col, index) {
         //   if (col.colName == "A4VGQHGP9QQOBJ3N2CY4J8FE86_F") {
          if (col.colName == "A4VGQHGP9QQOBJ3N2CY4J8FE86") {
              colIndex = index;
            }
            return new sap.m.Column({
              hAlign: "Center",
              styleClass: "cellBorderLeft",
              header: new sap.m.ObjectIdentifier({
                title: col.label,
                design: "Bold"
              })
            });
          })
        });

        /*        oTable.setAlternateRowColors(true);*/

        oTable.bindAggregation("items", "couplingDataModel>/couplingTable", new sap.m.ColumnListItem({
          cells: colData.cols.map(function(col) {
        if(col.colName === "A4VGQHGP9QQOBN1FDHDSWSHN22"){
        return new sap.m.Text({
                    text: "{path: 'couplingDataModel>" + col.colName + "', formatter: 'CouplingReport.model.formatter.RemoveDecimal'}"
                  });
        } else{
        return new sap.m.Text({
                    text: "{couplingDataModel>" + col.colName + "}"
                  });
        }
           
          })
        }));
        oTable.setModel(new sap.ui.model.json.JSONModel(dataSet), "couplingDataModel");
       
       // this.byId("Panel1").addContent(oTable);
        this.byId("Carousel1").addPage(oTable);
        oTable.onAfterRendering = function(e) {
          this.rowColor(e.srcControl, colIndex);
        }.bind(this);
      }

 
      this.getOwnerComponent().getModel("ZCOUPLIND2_SRV").read("/QR_VC_COUPLD_SWJ_Q002Results", {
        success:this.mySuccessHandlerCouplG.bind(this),
        error: this.myErrorHandlerCouplG.bind(this)
      });
     
     
      this.getView().setBusy(false);
      /*      });*/
    },
    <!-- ======================================================================== -->
<!-- Error Method              -->
<!-- ======================================================================== -->
    myErrorHandler: function() {

    },
   
    <!-- ======================================================================== -->
<!-- Success Method          -->
<!-- ======================================================================== -->
   
mySuccessHandlerCouplG : function(data){
debugger

data.results = this.fnSortResults("A0REF_DOC_IT", true, data.results, 'X');


<!-- ======================================================================== -->
     <!-- Get Plant                 -->
     <!-- ======================================================================== -->
      var werks = this.getOwnerComponent().getComponentData().startupParameters.werks[0];
      var newArr = [];
      data.results.filter(function(i, j) {
        if (i.A0PLANT === werks) {
          newArr.push(i);
        }
      });

      data.results = newArr;

  this.reportDataTest = data;
      var colIndex;
      <!-- ======================================================================== -->
    <!-- Load Json Data          -->
    <!-- ======================================================================== -->
      var sUrl = jQuery.sap.getModulePath('CouplingReport', '/localJson/colJson.json');
      var colModel = new sap.ui.model.json.JSONModel();
      colModel.loadData(sUrl, "", false);
      var colData = colModel.getData();

     // this.reportDataTest.results = this.processInputData(this.reportDataTest.results);

      var loop = Math.ceil(this.reportDataTest.results.length / 10);
     
      if (this.byId("Carousel2").getAggregation("pages").length > 0) {
        this.byId("Carousel2").mAggregations.pages = [];
      }
     
      for (var i = 0; i < this.reportDataTest.results.length; i++) {
          /*if (!firstShift && data[i].A_SHIFT_T === "A" && data[i].A4VGQHGP9QQOBJ3N2CY4J8FE86 == 0) {*/
          if (this.reportDataTest.results[i].A_BASMAT_T == 0) {
          this.reportDataTest.results.splice(i, 1);
            i = i - 1;
          }
        }
     
     
      for (var i = 0; i < loop; i++) {
        var dataSet = {
          "couplingGTable": this.reportDataTest.results.splice(0, 10)
        };
        var plannedDate = dataSet.couplingGTable[0].A0NPLDA_T;
        var oTable1 = new sap.m.Table({
          headerToolbar: new sap.m.Toolbar({
            content: [
              new sap.m.Label({
                design: "Bold",
                text: "Coupling Data : Page " + (i + 1) + " of " + loop,
              }),
            /*  new sap.m.ToolbarSpacer({}),
              new sap.m.Label({
                design: "Bold",
                text: "Planned Date : " + plannedDate,
              })*/
            ]
          }),
          columns: colData.TabCols2.map(function(col, index) {
           
            return new sap.m.Column({
              hAlign: "Center",
              styleClass: "cellBorderLeft",
              header: new sap.m.ObjectIdentifier({
                title: col.label,
                design: "Bold"
              })
            });
          })
        });

        /*        oTable.setAlternateRowColors(true);*/

        oTable1.bindAggregation("items", "couplingGDataModel>/couplingGTable", new sap.m.ColumnListItem({
          cells: colData.TabCols2.map(function(col) {
            return new sap.m.Text({
              text: "{couplingGDataModel>" + col.colName + "}"
            });
          })
        }));
        oTable1.setModel(new sap.ui.model.json.JSONModel(dataSet), "couplingGDataModel");
       // this.byId("Panel2").addContent(oTable1);
         this.byId("Carousel2").addPage(oTable1);
        /*oTable1.onAfterRendering = function(e) {
          this.rowColor(e.srcControl, colIndex);
        }.bind(this);*/
      }

      this.carouselInterval = setInterval(function() {
      this.byId("Carousel1").next();
        this.byId("Carousel2").next();
      }.bind(this), 45000);

      if (!this.fetchInterval) {
        this.fetchInterval = setInterval(this.getData.bind(this), 600000);
      }
 
     
     
      this.getView().setBusy(false);
 
},
<!-- ======================================================================== -->
<!-- Error Method              -->
<!-- ======================================================================== -->
   
myErrorHandlerCouplG : function(){
this.getView().setBusy(false)
},
   
    processInputData: function(data) {
      var firstShift = this.detemineShift();
      for (var i = 0; i < data.length; i++) {
        /*if (!firstShift && data[i].A_SHIFT_T === "A" && data[i].A4VGQHGP9QQOBJ3N2CY4J8FE86 == 0) {*/
        if (data[i].A4VGQHGP9QQOBJ3N2CY4J8FE86 == 0) {
          data.splice(i, 1);
          i = i - 1;
        }
      }
      return data;
    },

    detemineShift: function() {
      var curDate = (new Date().getMonth() + 1) + '/' + new Date().getDate() + '/' + new Date().getFullYear();
      /*var time1 = "14:30:00";*/
      var time1 = "14:00:00";
      var time2 = new Date().getHours() + ':' + new Date().getMinutes() + ':' + new Date().getSeconds();
      time1 = curDate + ' ' + time1;
      time2 = curDate + ' ' + time2;
      return (Date.parse(time1) > Date.parse(time2));
    },
   
   
    <!-- ======================================================================== -->
<!-- Sort Method              -->
<!-- ======================================================================== -->
   
    fieldSorter:function(fields) {
        return function (a, b) {
              return fields
              .map(function (o) {
                     var dir = 1;
                     if (o[0] === '-') {
                            dir = -1;
                            o=o.substring(1);
                     }
                     if (a[o] > b[o]) return dir;
                     if (a[o] < b[o]) return -(dir);
                     return 0;
              })
              .reduce(function firstNonZeroValue (p,n) {
                     return p ? p : n;
              }, 0);
        };
    },
   
    fnSortResults: function(prop, asc, jsonData, type) {
jsonData = jsonData.sort(function(a, b) {
if (type == 'X') {
if (asc) {
return (Number(a[prop]) > Number(b[prop])) ? 1 : ((Number(a[prop]) < Number(b[prop])) ? -1 : 0);
} else {
return (Number(b[prop]) > Number(a[prop])) ? 1 : ((Number(b[prop]) < Number(a[prop])) ? -1 : 0);
}
} else {
if (asc) {
return (a[prop] > b[prop]) ? 1 : ((a[prop] < b[prop]) ? -1 : 0);
} else {
return (b[prop] > a[prop]) ? 1 : ((b[prop] < a[prop]) ? -1 : 0);
}
}
});

return jsonData;
},

    rowColor: function(oTable, rowind) {
      var firstShift = this.detemineShift();
      for (var i = 0; i < oTable.getModel("couplingDataModel").getData().couplingTable.length; i++) {
        var index = oTable.getItems()[i].getBindingContext('couplingDataModel').sPath.split('/couplingTable/')[1];
        var obj = oTable.getItems()[i].getBindingContext('couplingDataModel').getModel().getData().couplingTable[index];
        var id = oTable.getItems()[i].getCells()[rowind].sId;
        var Curdate = new Date().getDate() + '.' + new Date().toISOString().substr(5, 2); + '.' + new Date().getFullYear();(new Date().getDate()) + '.' + new Date().getMonth() + 1 + '.' + new Date().getFullYear();
       
        if(obj.A0CALDAY_T < Curdate){
        document.getElementById(id).parentElement.style = "background-color:red";
        }else{
        if (firstShift) {
                switch (obj.A_SHIFT_T) {
                  case 'A':
                    if (obj.A4VGQHGP9QQOBJ3N2CY4J8FE86 === 0) {
                      document.getElementById(id).parentElement.style = "background-color:green";
                    } else if (obj.A4VGQHGP9QQOBJ3N2CY4J8FE86 > 0) {
                      document.getElementById(id).parentElement.style = "background-color:yellow";
                    }
                    break;
                  case 'B':
                    if (obj.A4VGQHGP9QQOBJ3N2CY4J8FE86 > 0) {
                      document.getElementById(id).parentElement.style = "background-color:yellow";
                    }
                    break;
                }
              } else {
                switch (obj.A_SHIFT_T) {
                  case 'A':
                    if (obj.A4VGQHGP9QQOBJ3N2CY4J8FE86 > 0) {
                      document.getElementById(id).parentElement.style = "background-color:red";
                    }
                    break;
                  case 'B':
                    if (obj.A4VGQHGP9QQOBJ3N2CY4J8FE86 === 0) {
                      document.getElementById(id).parentElement.style = "background-color:green";
                    } else if (obj.A4VGQHGP9QQOBJ3N2CY4J8FE86 > 0) {
                      document.getElementById(id).parentElement.style = "background-color:yellow";
                    }
                    break;
                }
              }
           }
       
      }
    },

    startStopCarousel:function(oEvent){
     if(oEvent.getParameter("state")){
        this.carouselInterval = setInterval(function() {
          this.byId("Carousel1").next();
          this.byId("Carousel2").next();
        }.bind(this), 45000);
      }else{
        clearInterval(this.carouselInterval);
        this.carouselInterval = 0;
      }
    }
  });
 
});

Post a Comment

Previous Post Next Post