fuelOrders.controller.js 17.1 KB
'use strict';

angular.module('acufuel')

.controller('fuelOrdersController', ['$scope', '$rootScope', '$uibModal', '$filter', '$http', 'NgTableParams','fuelOrdersService', fuelOrdersController]);

function fuelOrdersController($scope, $rootScope, $uibModal, $filter, $http, NgTableParams,fuelOrdersService) {

    $scope.showFuelOrderModal = false;
    $scope.optionSelected;
    $scope.orderdata = {}
    $scope.showLoader = false;

     $scope.data = {};
     $scope.order = {};
     $scope.dispatchOrder = {};
  	$scope.dispatchOrder.fuelOrderList = [];

    $scope.statusFilterOptions = [];
    $scope.statusFilterOptions.push({
		  	'id': '', 'title': 'Show All'
		  },{
		  	'id': 'pending', 'title': 'Pending'
		  },{
		  	'id': 'invoiced', 'title': 'Invoiced'
		  },{
		  	'id': 'paid', 'title': 'Paid'
		  },{
		  	'id': 'cancelled', 'title': 'Cancelled'
		  },{
		  	'id': 'archived', 'title': 'Archived'
		  }
     
      );


      $scope.attachmentFilterOptions = [];
    $scope.attachmentFilterOptions.push({
		  	'id': '', 'title': 'Show All'
		  },{
		  	'id': '!null', 'title': 'Attachments'
		  },{
		  	'id': 'null', 'title': 'No Attachments'
		  }
     );

       $(document).ready(function() {
          $scope.showLoader = true;
            $('#example').DataTable();
            $scope.showLoader = false;
        });
     
     $scope.getOrders = function() {
          fuelOrdersService.getOrders().then(function(result) {
           
            $scope.orderdata = result;
            for(var i=0;i<$scope.orderdata.length;i++){
                $scope.orderdata[i].upliftDateS = new Date($scope.orderdata[i].upliftDate);

                 var str = "" + $scope.orderdata[i].upliftDateS.getDate() + "/" + ($scope.orderdata[i].upliftDateS.getMonth() + 1) + "/" + $scope.orderdata[i].upliftDateS.getFullYear()
                //  str = str.slice(4,16)
                $scope.orderdata[i].upliftDateString = str
                console.log(str);

            }
           
             $scope.displayFuelOrderList = new NgTableParams({
              page: 1,
              count: 10,
            }, {
              data: $scope.orderdata
            });
           
          })
     }
     
     $scope.getOrders();
     
     $scope.onFWSelect = function() {
                        if($scope.optionSelected == 'dt'){
                        $('#demo-modal-4').css('display', 'block');
                      }
                      if($scope.optionSelected == 'efo'){
                        	$scope.showLoader = true;
                            var fileName = "orders.csv";
                            var a = document.createElement("a");
                            document.body.appendChild(a);
                            fuelOrdersService.exportCompany().then(function(result) {
                                  var file = new Blob([result], {type: 'application/csv'});
                                  var fileURL = URL.createObjectURL(file);
                                  a.href = fileURL;
                                  a.download = fileName;
                                  a.click();
                                  $scope.showLoader = false;
                            })
                        }
                    }
   $scope.attachmentrowid = ""

   
   $scope.attachment = function(id, value, url) {
                            console.log(id, value)
                            $scope.attachmentrowid = id
                            //  $scope.attachmentdeleteid = attachdeleteid
                            if(value == 'uploadAttachment'){
                            $('#demo-modal-6').css('display', 'block');
                            }else if(value == 'viewAttachment'){
                            var win = window.open(url, '_blank');
                            win.focus();
                            }else if(value == 'deleteAttachment'){
                            $('#delete1').css('display', 'block');
                            }
                        }

  $scope.cancelDeleteAttachment = function() {
                            $('#delete1').css('display', '');
                      }

  $scope.deleteAttachment = function() {
                            $scope.showLoader = true;
                            fuelOrdersService.deleteAttachment($scope.attachmentrowid).then(function(result) {
                                    console.log(result, $scope.attachmentrowid)

                                    if(result.success){
                                    toastr.success(''+result.success+'', {
                                              closeButton: true
                                          })
                                    }
                                })
                                $scope.showLoader = false;
                                $('#delete1').css('display', '');
                          }

   $scope.saveUploadAttachment = function(attachmentData) {
     $scope.showLoader = true;
	   	$scope.data.media = attachmentData
	   	$scope.data.id = $scope.attachmentrowid
		fuelOrdersService.uploadAttachment($scope.data).then(function(result) {
                                    console.log(result)
                                    if(result){
                                      // console.log(result.success)
                                          toastr.success(''+"Upload Successful"+'', {
                                                    closeButton: true
                                                })
                                          }
                                          
                                    })
                                      $scope.showLoader = false;
                                      $('#demo-modal-6').css('display', 'none');
                                }

  $scope.cancelUploadAttachment = function() {
                                $('#demo-modal-6').css('display', 'none');
                          }

  $scope.editdata = {};
  

  $scope.editTableRow = function(rowData){
                        console.log('row data', rowData);
                        $scope.editdata = rowData;
                        $('#demo-modal-5').css('display', 'block');
                      }

  $scope.updateTotal = function(value, valueOf){
                        if(valueOf == 'v'){
                          $scope.editdata.total = value * $scope.editdata.invoiced
                        }else if(valueOf == 'i'){
                          $scope.editdata.total = $scope.editdata.requestedVolume * value 
                        }
                      }

  $scope.addTotal = function(value, valueOf){
                        if(valueOf == 'v'){
                          $scope.order.total = value * $scope.order.invoiced
                        }else if(valueOf == 'i'){
                          $scope.order.total = $scope.order.volume * value 
                        }
                      }                    

   $scope.addData = function() {
                          $scope.showLoader = true;

                         if ($scope.order.upliftDate != '') {
                              $scope.order.upliftDate = new Date($scope.order.upliftDate);
                              $scope.order.upliftDate = $scope.order.upliftDate.getTime();
                            }
                            if ($scope.order.departingDate != '') {
                              $scope.order.departingDate = new Date($scope.order.departingDate);
                              $scope.order.departingDate = $scope.order.departingDate.getTime();
                            }
                            console.log($scope.order.quotePrice);
                            var obj =JSON.parse($scope.order.priceQuote);
                            console.log('obj.papMargin',obj.papMargin);
                            $scope.order.priceQuote = obj.papMargin;

                           $scope.fuelData = {};
                          $scope.fuelData.aircraftName = $scope.order.aircraftName 
                          $scope.fuelData.companyName = $scope.order.companyName 
                          $scope.fuelData.departingDate = $scope.order.departingDate 
                          $scope.fuelData.fboCost = $scope.order.fboCost 
                          $scope.fuelData.id = $scope.order.id 
                          $scope.fuelData.invoiced = $scope.order.invoiced 
                          $scope.fuelData.priceQuote = $scope.order.priceQuote 
                          $scope.fuelData.volume = $scope.order.volume 
                          $scope.fuelData.source = $scope.order.source 
                          $scope.fuelData.status = $scope.order.status 
                          $scope.fuelData.tierBreak = $scope.order.tierBreak 
                          $scope.fuelData.total = $scope.order.total 
                          $scope.fuelData.upliftDate = $scope.order.upliftDate 
                          $scope.fuelData.companyId = $scope.selectedCompanyId;
                              
                              
                              
                              $scope.dispatchOrder.fuelOrderList.push($scope.fuelData);
                              console.log('$scope.order', $scope.dispatchOrder);
                              fuelOrdersService.dispathFuelOrder($scope.dispatchOrder).then(function(result) {
                                console.log('result', result);
                                $scope.showLoader = false;
                                $scope.order = {};
                                $('#demo-modal-4').css('display', '');
                                $scope.getOrders();
                                toastr.success('Fuel Order Dispatched Successfully', {
                                        closeButton: true
                                      })
                              })
                              
                            }
    $scope.updateStatus = function(row, status) {
                          $scope.showLoader = true;

                          $scope.fuelData = {};
                          $scope.fuelData.aircraftName = row.aircraftName 
                          $scope.fuelData.companyName = row.companyName 
                          $scope.fuelData.departingDate = row.departingDate 
                          $scope.fuelData.fboCost = row.fboCost 
                          $scope.fuelData.id = row.id 
                          $scope.fuelData.invoiced = row.invoiced 
                          $scope.fuelData.priceQuote = row.priceQuote 
                          $scope.fuelData.volume = row.requestedVolume 
                          $scope.fuelData.source = row.source 
                          $scope.fuelData.status = status 
                          $scope.fuelData.tierBreak = row.tierBreak 
                          $scope.fuelData.total = row.total 
                          $scope.fuelData.upliftDate = row.upliftDate 
                          


                             $scope.dispatchOrder.fuelOrderList.push($scope.fuelData);
                              fuelOrdersService.updateFuelOrder($scope.dispatchOrder).then(function(result) {
                                console.log('result', result);
                                $scope.showLoader = false;
                                $scope.editdata = {};
                                $('#demo-modal-5').css('display', '');
                                $scope.getOrders();
                                toastr.success('Fuel Order Updated Successfully', {
                                        closeButton: true
                                      })
                              })
                            }

      $scope.updateData = function() {
                          $scope.showLoader = true;
                          $scope.fuelData = {};
                          $scope.fuelData.aircraftName = $scope.editdata.aircraftName 
                          $scope.fuelData.companyName = $scope.editdata.companyName 
                          $scope.fuelData.departingDate = $scope.editdata.departingDate 
                          $scope.fuelData.fboCost = $scope.editdata.fboCost 
                          $scope.fuelData.id = $scope.editdata.id 
                          $scope.fuelData.invoiced = $scope.editdata.invoiced 
                          $scope.fuelData.priceQuote = $scope.editdata.priceQuote 
                          $scope.fuelData.volume = $scope.editdata.requestedVolume 
                          $scope.fuelData.source = $scope.editdata.source 
                          $scope.fuelData.status = $scope.editdata.status 
                          $scope.fuelData.tierBreak = $scope.editdata.tierBreak 
                          $scope.fuelData.total = $scope.editdata.total 
                          $scope.fuelData.upliftDate = $scope.editdata.upliftDate 
                          


                             $scope.dispatchOrder.fuelOrderList.push($scope.fuelData);
                              fuelOrdersService.updateFuelOrder($scope.dispatchOrder).then(function(result) {
                                console.log('result', result);
                                $scope.showLoader = false;
                                $scope.editdata = {};
                                $('#demo-modal-5').css('display', '');
                                $scope.getOrders();
                                toastr.success('Fuel Order Updated Successfully', {
                                        closeButton: true
                                      })
                              })
                            }

    $scope.getAircraft = function(company){
                              $scope.selectedCompanyName = company;
                              $scope.showLoader = true;
                              for (var i = 0; i < $scope.companyList.length; i++) {
                                if ($scope.companyList[i].companyName == company) {
                                  if($scope.companyList[i].margin != null && $scope.companyList[i].marginAVGAS != null){
                                    fuelOrdersService.getFuelCost($scope.companyList[i].id).then(function(margins) {
                                      $scope.marginList = margins;
                                      //console.log('$scope.marginList', $scope.marginList);
                                    })
                                  } else if ($scope.companyList[i].margin != null || $scope.companyList[i].marginAVGAS == null) {
                                    fuelOrdersService.getATypeFuelPricing($scope.companyList[i].id).then(function(margins) {
                                      $scope.marginList = margins;
                                        })
                                  } else if ($scope.companyList[i].margin == null || $scope.companyList[i].marginAVGAS != null) {
                                    fuelOrdersService.getVTypeFuelPricing($scope.companyList[i].id).then(function(margins) {
                                          $scope.marginList = margins;
                                        })
                                  }
                                  $scope.selectedCompanyId = $scope.companyList[i].id;
                                  $scope.marginId = $scope.companyList[i].margin.id;
                                  if ($scope.selectedCompanyId != '') {
                                    fuelOrdersService.getAircraft($scope.selectedCompanyId).then(function(aircraft) {
                                      $scope.aircraftList = aircraft;
                                    })
                                  }
                                  if ($scope.marginId != '') {
                                    fuelOrdersService.getJetTiers($scope.marginId).then(function(tiers) {
                                              $scope.tierList = tiers;
                                              $scope.showLoader = false;
                                          })
                                  }else{
                                    $scope.showLoader = false;
                                  }
                                }
                              }

                            }
     $scope.setCost = function(cost){
                              console.log(cost);
                              if(cost != null) {
                                var obj =JSON.parse(cost);
                                $scope.order.fboCost = obj.cost;
                              }
                                
                            }
                            

  $scope.cancelData = function() {
                            $('#demo-modal-4').css('display', '');
                      }
  $scope.canceleditdata = function() {
                              $('#demo-modal-5').css('display', '');
                        }

 

	$scope.companyList = {};

	fuelOrdersService.getAllCompanies().then(function(result) {
                                  $scope.showLoader = true;
                                  $scope.companyList = result;
                                  console.log(result)
                                  $scope.showLoader = false;
                                })

  $scope.sourceList = [{source:"Direct Jet-A"},{source:"Direct AVGAS 100LL"}];

  $scope.data = {};
  
 

   }