Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions TMS/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,10 @@
"cordova-plugin-vibration",
"cordova-sms-plugin",
"cordova-plugin-crosswalk-webview",
"https://github.com/phonegap/phonegap-plugin-barcodescanner.git"
"https://github.com/phonegap/phonegap-plugin-barcodescanner.git",
"https://github.com/litehelpers/Cordova-sqlite-storage"
],
"cordovaPlatforms": [
"android"
]
}
}
54 changes: 51 additions & 3 deletions TMS/www/js/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ var app = angular.module('TMS', [
'ionic.ion.headerShrink',
'ionMdInput',
'ngMessages',
'ngCordova',
'ngCordova.plugins.sms',
'ngCordova.plugins.toast',
'ngCordova.plugins.dialogs',
Expand All @@ -23,14 +24,61 @@ var app = angular.module('TMS', [
'TMS.services',
'TMS.factories'
]);
app.run(['ENV', '$ionicPlatform', '$rootScope', '$state', '$location', '$timeout', '$ionicHistory', '$ionicLoading', '$cordovaToast', '$cordovaKeyboard', '$cordovaFile',
function(ENV, $ionicPlatform, $rootScope, $state, $location, $timeout, $ionicHistory, $ionicLoading, $cordovaToast, $cordovaKeyboard, $cordovaFile) {
app.run(['ENV', '$ionicPlatform', '$rootScope', '$state', '$location', '$timeout', '$ionicHistory', '$ionicLoading', '$cordovaToast', '$cordovaKeyboard', '$cordovaFile', '$cordovaSQLite',
function(ENV, $ionicPlatform, $rootScope, $state, $location, $timeout, $ionicHistory, $ionicLoading, $cordovaToast, $cordovaKeyboard, $cordovaFile, $cordovaSQLite) {
$ionicPlatform.ready(function() {
if (window.cordova) {
ENV.fromWeb = false;
$cordovaKeyboard.hideAccessoryBar(true);
$cordovaKeyboard.disableScroll(true);
//sqlLite
//
if (!ENV.fromWeb) {
$cordovaKeyboard.hideAccessoryBar(true);
$cordovaKeyboard.disableScroll(true);
try {
db = $cordovaSQLite.openDB({
name: 'AppTms.db',
location: 'default'
});
} catch (error) {}
$cordovaSQLite.execute(db, 'CREATE TABLE IF NOT EXISTS Users (id INTEGER PRIMARY KEY AUTOINCREMENT, uid TEXT)');
$cordovaSQLite.execute(db, 'CREATE TABLE IF NOT EXISTS sqlLite_Tobk1(BookingNo TEXT,JobNo TEXT,JobType TEXT,CustomerCode TEXT,CustomerName TEXT,CustomerRefNo TEXT,CompletedFlag TEXT,DeliveryEndDateTime TEXT,EstimateDeliveryDateTime TEXT,FromPostalCode TEXT,FromName TEXT,FromAddress1 TEXT,FromAddress2 TEXT,FromAddress3 TEXT,FromAddress4 TEXT,TotalPcs INTEGER,ToPostalCode TEXT,ToName TEXT,ToAddress1 TEXT,ToAddress2 TEXT,ToAddress3 TEXT,ToAddress4 TEXT,UomCode TEXT,TotalGrossWeight INTEGER,NoOfPallet INTEGER,TotalVolume INTEGER,DescriptionOfGoods1 TEXT,Description TEXT,Note TEXT)');

$rootScope.sqlLite_add_Tobk1 = function(Tobk1) {
if (db) {
var sql = 'INSERT INTO sqlLite_Tobk1(BookingNo,JobNo,JobType,CustomerCode,CustomerName,CustomerRefNo,CompletedFlag,DeliveryEndDateTime,TotalPcs,ToAddress1,ToAddress2,ToAddress3,ToAddress4,UomCode,TotalGrossWeight,NoOfPallet,TotalVolume,DescriptionOfGoods1,Description,Note,EstimateDeliveryDateTime,FromPostalCode,FromName,FromAddress1,FromAddress2,FromAddress3,FromAddress4,ToPostalCode,ToName) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)';
$cordovaSQLite.execute(db, sql, [Tobk1.BookingNo, Tobk1.JobNo, Tobk1.JobType, Tobk1.CustomerCode, Tobk1.CustomerName, Tobk1.CustomerRefNo, Tobk1.CompletedFlag, Tobk1.DeliveryEndDateTime, Tobk1.TotalPcs, Tobk1.ToAddress1, Tobk1.ToAddress2, Tobk1.ToAddress3, Tobk1.ToAddress4, Tobk1.UomCode, Tobk1.TotalGrossWeight, Tobk1.NoOfPallet, Tobk1.TotalVolume, Tobk1.DescriptionOfGoods1, Tobk1.Description, Tobk1.Note, Tobk1.EstimateDeliveryDateTime, Tobk1.FromPostalCode, Tobk1.FromName, Tobk1.FromAddress1, Tobk1.FromAddress2, Tobk1.FromAddress3, Tobk1.FromAddress4, Tobk1.ToPostalCode, Tobk1.ToName])
.then(function(result) {}, function(error) {});
}
};

$rootScope.sqlLite_add_Users = function(Todr1) {
if (db) {
var sql = 'INSERT INTO Users(uid) values(?)';
$cordovaSQLite.execute(db, sql, [Todr1.uid])
.then(function(result) {}, function(error) {});
}
};

$rootScope.sqlLite_update_tobk1_Note = function(Tobk1) {
if (db) {
var sql = 'Update sqlLite_Tobk1 set Note=? where BookingNo=?';
$cordovaSQLite.execute(db, sql, [Tobk1.Note, Tobk1.BookingNo])
.then(function(result) {}, function(error) {});
}
};

$rootScope.sqlLite_update_tobk1_CompletedFlag = function(Tobk1) {
if (db) {
var sql = 'Update sqlLite_Tobk1 set CompletedFlag=? where BookingNo=?';
$cordovaSQLite.execute(db, sql, [Tobk1.CompletedFlag, Tobk1.BookingNo])
.then(function(result) {}, function(error) {});
}
};
}

//sqlLite
var data = 'website=' + ENV.website + '##api=' + ENV.api + '##ssl=' + ENV.ssl;
var path = cordova.file.externalRootDirectory;
var directory = ENV.rootPath;
Expand Down Expand Up @@ -220,7 +268,7 @@ app.config(['ENV', '$stateProvider', '$urlRouterProvider', '$ionicConfigProvider
controller: 'driverCodeCtrl'
})
.state('jobListingConfirm', {
url: '/joblisting/confirm/:BookingNo/:JobNo',
url: '/joblisting/confirm/:BookingNo/:JobNo/:Packages',
cache: 'false',
templateUrl: 'view/joblisting/confirm.html',
controller: 'JoblistingConfirmCtrl'
Expand Down
23 changes: 18 additions & 5 deletions TMS/www/js/base.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
var db;

var appendProtocol = function(url, blnSSL, portNo) {
if (url.length > 0 && url.toUpperCase().indexOf('HTTPS://') < 0 && url.toUpperCase().indexOf('HTTP://') < 0) {
if (blnSSL) {
Expand Down Expand Up @@ -28,7 +30,9 @@ var checkDatetime = function(datetime) {
datetime = '';
}
if (is.not.empty(datetime)) {
datetime = moment(datetime).format('DD-MMM-YYYY');
datetime1 = moment(datetime).format('HH:mm');
datetime2=moment(datetime).add(2,'hours').format('HH:mm');
datetime=datetime1+' - '+datetime2;
}
return datetime;
};
Expand Down Expand Up @@ -65,7 +69,7 @@ if (dbTms) {
dbTms.transaction(function(tx) {
dbSql = 'DROP TABLE if exists Tobk1_Accept';
tx.executeSql(dbSql, [], null, dbError);
dbSql = "CREATE TABLE Tobk1_Accept (BookingNo TEXT, JobNo TEXT, JobType TEXT,CustomerCode TEXT,CustomerName TEXT,CustomerRefNo TEXT,CompletedFlag TEXT,DeliveryEndDateTime TEXT,TotalPcs int,ToAddress1 TEXT,ToAddress2 TEXT,ToAddress3 TEXT,ToAddress4 TEXT,UomCode TEXT)";
dbSql = "CREATE TABLE Tobk1_Accept (BookingNo TEXT,JobNo TEXT,JobType TEXT,CustomerCode TEXT,CustomerName TEXT,CustomerRefNo TEXT,CompletedFlag TEXT,DeliveryEndDateTime TEXT,EstimateDeliveryDateTime TEXT,FromPostalCode TEXT,FromName TEXT,FromAddress1 TEXT,FromAddress2 TEXT,FromAddress3 TEXT,FromAddress4 TEXT,TotalPcs int,ToPostalCode TEXT,ToName TEXT,ToAddress1 TEXT,ToAddress2 TEXT,ToAddress3 TEXT,ToAddress4 TEXT,UomCode TEXT,TotalGrossWeight int,NoOfPallet int,TotalVolume int,DescriptionOfGoods1 TEXT,Description TEXT,Note TEXT)";
tx.executeSql(dbSql, [], null, dbError);
});
}
Expand All @@ -78,12 +82,12 @@ var db_del_Tobk1_Accept = function() {
}
}
var db_add_Tobk1_Accept = function(Tobk1) {
console.log(Tobk1);
if (dbTms) {
dbTms.transaction(function(tx) {
Tobk1 = repalceObj(Tobk1);
dbSql = 'INSERT INTO Tobk1_Accept(BookingNo,JobNo,JobType,CustomerCode,CustomerName,CustomerRefNo,CompletedFlag,DeliveryEndDateTime,TotalPcs,ToAddress1,ToAddress2,ToAddress3,ToAddress4,UomCode) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)';
tx.executeSql(dbSql, [Tobk1.BookingNo, Tobk1.JobNo, Tobk1.JobType, Tobk1.CustomerCode, Tobk1.CustomerName, Tobk1.CustomerRefNo, Tobk1.CompletedFlag, Tobk1.DeliveryEndDateTime, Tobk1.TotalPcs, Tobk1.ToAddress1, Tobk1.ToAddress2, Tobk1.ToAddress3, Tobk1.ToAddress4, Tobk1.UomCode], null, dbError);

dbSql = 'INSERT INTO Tobk1_Accept(BookingNo,JobNo,JobType,CustomerCode,CustomerName,CustomerRefNo,CompletedFlag,DeliveryEndDateTime,TotalPcs,ToAddress1,ToAddress2,ToAddress3,ToAddress4,UomCode,TotalGrossWeight,NoOfPallet,TotalVolume,DescriptionOfGoods1,Description,Note,EstimateDeliveryDateTime,FromPostalCode,FromName,FromAddress1,FromAddress2,FromAddress3,FromAddress4,ToPostalCode,ToName) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)';
tx.executeSql(dbSql, [Tobk1.BookingNo,Tobk1.JobNo,Tobk1.JobType,Tobk1.CustomerCode,Tobk1.CustomerName,Tobk1.CustomerRefNo,Tobk1.CompletedFlag,Tobk1.DeliveryEndDateTime,Tobk1.TotalPcs,Tobk1.ToAddress1,Tobk1.ToAddress2,Tobk1.ToAddress3,Tobk1.ToAddress4,Tobk1.UomCode,Tobk1.TotalGrossWeight,Tobk1.NoOfPallet,Tobk1.TotalVolume,Tobk1.DescriptionOfGoods1,Tobk1.Description,Tobk1.Note,Tobk1.EstimateDeliveryDateTime,Tobk1.FromPostalCode,Tobk1.FromName,Tobk1.FromAddress1,Tobk1.FromAddress2,Tobk1.FromAddress3,Tobk1.FromAddress4,Tobk1.ToPostalCode,Tobk1.ToName], null, dbError);
});
}
}
Expand All @@ -96,3 +100,12 @@ var db_update_Tobk1_Accept = function(Tobk1) {
});
}
}

var db_update_tobk1_Note = function(Tobk1) {
if (dbTms) {
dbTms.transaction(function(tx) {
dbSql = 'Update Tobk1_Accept set Note=? where BookingNo=?';
tx.executeSql(dbSql, [Tobk1.Note, Tobk1.BookingNo], null, dbError);
});
}
}
1 change: 1 addition & 0 deletions TMS/www/js/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ var appConfig = angular.module('TMS.config',[]);
appConfig.constant('ENV', {
'website': 'www.sysfreight.net/app/tms/sysfreight',
'api': 'www.sysfreight.net/apis/tms/sysfreight',
// 'api':'http://localhost:2979',
'port': '8081', // http port no
'debug': true,
'mock': false,
Expand Down
117 changes: 59 additions & 58 deletions TMS/www/view/acceptjob/acceptjob.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
'use strict';
app.controller( 'AcceptJobCtrl', [ '$scope', '$state', '$ionicPopup', '$cordovaKeyboard', '$cordovaBarcodeScanner', 'ACCEPTJOB_ORM', 'ApiService',
function( $scope, $state, $ionicPopup, $cordovaKeyboard, $cordovaBarcodeScanner, ACCEPTJOB_ORM, ApiService ) {
app.controller('AcceptJobCtrl', ['$scope', '$state', '$ionicPopup', '$cordovaKeyboard', '$cordovaBarcodeScanner', 'ACCEPTJOB_ORM', 'ApiService',
function($scope, $state, $ionicPopup, $cordovaKeyboard, $cordovaBarcodeScanner, ACCEPTJOB_ORM, ApiService) {
var alertPopup = null,
dataResults = new Array();
$scope.Search = {
Expand Down Expand Up @@ -50,97 +50,98 @@ app.controller( 'AcceptJobCtrl', [ '$scope', '$state', '$ionicPopup', '$cordovaK
}
];
*/
var showPopup = function( title, type ) {
if ( alertPopup === null ) {
alertPopup = $ionicPopup.alert( {
var showPopup = function(title, type) {
if (alertPopup === null) {
alertPopup = $ionicPopup.alert({
title: title,
okType: 'button-' + type
} );
});
} else {
alertPopup.close();
alertPopup = null;
}
};
var showList = function(){
if ( is.not.empty(ACCEPTJOB_ORM.LIST.Tobk1s) ) {
dataResults = dataResults.concat( ACCEPTJOB_ORM.LIST.Tobk1s );
$scope.jobs = dataResults;
}
var showList = function() {
if (is.not.empty(ACCEPTJOB_ORM.LIST.Tobk1s)) {
dataResults = dataResults.concat(ACCEPTJOB_ORM.LIST.Tobk1s);
$scope.jobs = dataResults;
}
};
var showTobk = function( bookingNo ) {
if ( is.not.empty( bookingNo ) ) {
var showTobk = function(bookingNo) {
if (is.not.empty(bookingNo)) {
var strUri = '/api/tms/tobk1?BookingNo=' + bookingNo;
ApiService.GetParam( strUri, true ).then( function success( result ) {
ApiService.GetParam(strUri, true).then(function success(result) {
var results = result.data.results;
if(is.not.empty(results)){
var tobk1 = {
action: 'Collect',
amt: results[ 0 ].TotalPcs + ' ' + results[ 0 ].UomCode,
time: checkDatetime(results[ 0 ].DeliveryEndDateTime),
code: ' ',
customer: {
name: results[ 0 ].CustomerName,
address: results[ 0 ].ToAddress1 + results[ 0 ].ToAddress2 + results[ 0 ].ToAddress3 + results[ 0 ].ToAddress4
}
};
for ( var i = 0; i < results.length; i++ ) {
db_add_Tobk1_Accept( results[ i ] );
if (is.not.empty(results)) {
var tobk1 = {
action: 'Collect',
amt: results[0].TotalPcs + ' ' + results[0].UomCode,
time: checkDatetime(results[0].DeliveryEndDateTime),
code: ' ',
customer: {
name: results[0].CustomerName,
address: results[0].ToAddress1 + results[0].ToAddress2 + results[0].ToAddress3 + results[0].ToAddress4
}
dataResults = dataResults.concat( tobk1 );
$scope.jobs = dataResults;
ACCEPTJOB_ORM.LIST._setTobk( $scope.jobs );
};
for (var i = 0; i < results.length; i++) {
db_add_Tobk1_Accept(results[i]);
}
dataResults = dataResults.concat(tobk1);
$scope.jobs = dataResults;
ACCEPTJOB_ORM.LIST._setTobk($scope.jobs);
}
$scope.Search.BookingNo = '';
$( '#div-list' ).focus();
} );
$('#div-list').focus();
});
} else {
showPopup( 'Wrong Booking No', 'assertive' );
showPopup('Wrong Booking No', 'assertive');
}
};
$scope.returnMain = function() {
$state.go( 'index.main', {}, {
$state.go('index.main', {}, {
reload: true
} );
});
};
$scope.save = function() {
if(is.not.empty($scope.jobs)){
$state.go( 'jobListingList', {}, {} );
}else{
showPopup( 'No Job Accepted', 'calm' );
}
if (is.not.empty($scope.jobs)) {
$state.go('jobListingList', {}, {});
} else {
showPopup('No Job Accepted', 'calm');
}
};
$scope.clear = function() {
dataResults = new Array();
$scope.jobs = dataResults;
ACCEPTJOB_ORM.LIST._setTobk( $scope.jobs );
$scope.Search.BookingNo = '';
dataResults = new Array();
$scope.jobs = dataResults;
ACCEPTJOB_ORM.LIST._setTobk($scope.jobs);
$scope.Search.BookingNo = '';
};
$scope.openCam = function() {
$cordovaBarcodeScanner.scan().then( function( imageData ) {
$cordovaBarcodeScanner.scan().then(function(imageData) {
$scope.Search.BookingNo = imageData.text;
showTobk( $scope.Search.BookingNo );
}, function( error ) {
$cordovaToast.showShortBottom( error );
} );
showTobk($scope.Search.BookingNo);
}, function(error) {
$cordovaToast.showShortBottom(error);
});
};
$scope.clearInput = function() {
if ( is.not.empty( $scope.Search.BookingNo ) ) {
if (is.not.empty($scope.Search.BookingNo)) {
$scope.Search.BookingNo = '';
$( '#txt-bookingno' ).select();
$('#txt-bookingno').select();
}
};
$( '#txt-bookingno' ).on( 'keydown', function( e ) {
if ( e.which === 9 || e.which === 13 ) {
if ( window.cordova ) {
$('#txt-bookingno').on('keydown', function(e) {
if (e.which === 9 || e.which === 13) {
if (window.cordova) {
$cordovaKeyboard.close();
}
if ( alertPopup === null ) {
showTobk( $scope.Search.BookingNo );
if (alertPopup === null) {
showTobk($scope.Search.BookingNo);
} else {
alertPopup.close();
alertPopup = null;
}
}
} );
});
showList();
}] );
}
]);
16 changes: 4 additions & 12 deletions TMS/www/view/joblisting/confirm.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,20 @@
<div class="buttons">
<button class="button button-icon button-clear ion-android-arrow-back" ng-click="returnDetail()"></button>
</div>
<h1 class="title">Job Confirmation</h1>
<h1 class="title" ng-bind="title">Job Confirmation</h1>
</ion-header-bar>
<ion-pane>
<div style="height: 43px;"></div>
<div class="list card">
<div class="item">
<p>Please sign below to confirm that the</p>
<p>following was collected/delivered :</p>
<div class="row">
<div class="col">
<h2>Amount</h2>
</div>
<div class="col">
<h2>0</h2>
</div>
</div>
<div class="row">
<div class="col">
<h2>Packages</h2>
</div>
<div class="col">
<h2>0</h2>
<h2 ng-bind="Confirmation.tobk1.Packages">0</h2>
</div>
</div>
</div>
Expand All @@ -40,7 +32,7 @@ <h2>0</h2>

</div>
</div>
<div class="item item-divider">
<!-- <div class="item item-divider">
Service Rating
</div>
<div class="button-bar">
Expand All @@ -54,7 +46,7 @@ <h2>0</h2>
</button>
<button class="button icon ion-android-star-outline">
</button>
</div>
</div> -->
</div>
</ion-pane>
<ion-footer-bar class="bar-positive hide-on-keyboard-open">
Expand Down
Loading