jefry преди 3 години
родител
ревизия
cf160146c1
променени са 5 файла, в които са добавени 66 реда и са изтрити 40 реда
  1. +15
    -12
      lib/Util/DBHelper.dart
  2. +31
    -7
      lib/home_page.dart
  3. +16
    -10
      lib/login_page.dart
  4. +3
    -10
      pubspec.lock
  5. +1
    -1
      pubspec.yaml

+ 15
- 12
lib/Util/DBHelper.dart Целия файл

@@ -21,16 +21,16 @@ class DBHelper {
}
backupDb(context) async{
var result = {"STATUS":0,"MSG":"Backup gagal!"};
var stock_id = prefs.getString(keyClass.stock_id)??'';
if(stock_id != ''){
await util.permissionCheck(context,pHandler.Permission.storage,()async{
try{
// if(dbPath == null || dbPath == ''){
// if(dbPath == null || dbPath == ''){
final database = await db;
var dbPath = database.path;
await DBHelper.database.closeDb();
// }
await prefs.remove(keyClass.backup_stock_id);
var stock_id = prefs.getString(keyClass.stock_id)??'';
if(stock_id != ''){
// }
await prefs.remove(keyClass.backup_stock_id);
if(stock_id !='' && stock_id != null ) await prefs.setString(keyClass.backup_stock_id,stock_id);
//backupDatabase
String backupPath = join(dbPath.substring(0,dbPath.indexOf("/Android"))+"/Download", "${prefs.getString(keyClass.backup_stock_id)}_UnitStocking.db");
@@ -47,15 +47,16 @@ class DBHelper {
print('file backup dont exist tho');
}
}
else{
result = {"STATUS":0,"MSG":"Backup gagal data unit tidak ditemukan!"};
}
catch(e){
print(e);
result = {"STATUS":0,"MSG":"Backup gagal!"};
}
},customMessage: " untuk menyimpan data backup");
}
catch(e){
print(e);
result = {"STATUS":0,"MSG":"Backup gagal!"};
else{
result = {"STATUS":0,"MSG":"Backup gagal data unit tidak ditemukan!"};
}
},customMessage: " untuk menyimpan data backup");
return result;
}
initDb() async {
@@ -352,6 +353,8 @@ class DBHelper {
newValue.name,
newValue.value
]);
print("row inserted");

return res;
}
catch(e){


+ 31
- 7
lib/home_page.dart Целия файл

@@ -53,7 +53,7 @@ class _HomePageState extends State<HomePage> {
content: Text('Proceed to clear any remaining units data on this device?'),
actions: <Widget>[
TextButton(
child: Text('Proceed'),
child: Text('OK'),
onPressed: ()async{
util.showLoading(context);
await Future.sync(()async{
@@ -104,6 +104,7 @@ class _HomePageState extends State<HomePage> {
if(value != null)await prefs.setString(keyClass.stock_id, value.value);
}
String stock_taking_id = prefs.getString(keyClass.stock_id);
if(prefs.getString(keyClass.backup_stock_id) == null) prefs.setString(keyClass.backup_stock_id,stock_taking_id);
if(company!=null&&stock_taking_id!=null){
var result = await util.JsonDataPostRaw({"company":company,"stockTakingId":stock_taking_id}, '${prefs.getString(keyClass.hostAddress)}/stock_taking/state/');
if(result['STATUS']==1){
@@ -666,15 +667,38 @@ class _HomePageState extends State<HomePage> {
}
}
if(value == 'logout'){
prefs.remove(keyClass.cabang_id);
// prefs.remove(keyClass.cabang_id);
prefs.remove(keyClass.company);
prefs.remove(keyClass.loginId);
prefs.setBool(keyClass.logged_in, false);
Navigator.pushNamed(context, '/login');
}
if(value == 'backup'){
var result = await DBHelper.database.backupDb(context);
util.showFlushbar(context, result['MSG'],color: result["STATUS"]==1?Colors.grey:Colors.red);
if(lastDownload != null && lastDownload != '' ){
bool isBackup = await showDialog(context: context,builder: (context)=>AlertDialog(
title: Text('Backup Data ?'),
content: Text('Backup data akan menghapus dan mengganti data backup unit dan cabang sebelumnya.'),
actions: <Widget>[
TextButton(
child: Text('OK'),
onPressed: ()async{
Navigator.pop(context,true);
},
),
TextButton(
child: Text('Cancel'),
onPressed: ()=>Navigator.pop(context,false),
)
],
));
if(isBackup??false){
var result = await DBHelper.database.backupDb(context);
util.showFlushbar(context, result['MSG'],color: result["STATUS"]==1?Colors.grey:Colors.red);
}
}
else{
util.showFlushbar(context, "Data Unit cabang tidak ditemukan. Silakan get data terlbih dahulu.");
}
}
if(value == 'restore'){
if(prefs.getString(keyClass.stock_id) == null){
@@ -697,7 +721,7 @@ class _HomePageState extends State<HomePage> {
content: Text('Restore data akan menghapus dan mengganti data unit dan cabang yang ada dengan data backup.'),
actions: <Widget>[
TextButton(
child: Text('Proceed'),
child: Text('OK'),
onPressed: ()async{
Navigator.pop(context,true);
},
@@ -807,7 +831,7 @@ class _HomePageState extends State<HomePage> {
content: Text('Fetch data unit for stocking'),
actions: <Widget>[
TextButton(
child: Text('Proceed'),
child: Text('OK'),
onPressed: (){
Navigator.pop(context,true);
},
@@ -1077,7 +1101,7 @@ class _HomePageState extends State<HomePage> {
content: Text('Proceed to unpack the uploaded data.'),
actions: <Widget>[
TextButton(
child: Text('Proceed'),
child: Text('OK'),
onPressed: ()async{
Navigator.pop(context,true);
},


+ 16
- 10
lib/login_page.dart Целия файл

@@ -26,20 +26,26 @@ class _LoginPageState extends State<LoginPage> {
var result = await util.JsonDataPostRaw({"User":userCon.text,"Pass":passCon.text}, '${prefs.getString(keyClass.hostAddress)}/user//login/');
if(result['STATUS']==1&& result["DATA"]["status"]=='OK'){
prefs.setString(keyClass.loginId, result['DATA'][keyClass.loginId.toLowerCase()]);
print("user id ${result['DATA'][keyClass.loginId.toLowerCase()]}");
// print("user id ${result['DATA'][keyClass.loginId.toLowerCase()]}");
prefs.setString(keyClass.company, result['DATA'][keyClass.company.toLowerCase()]);
prefs.setBool(keyClass.logged_in, true);
var cabangList = await util.JsonDataPostRaw({"company":prefs.getString(keyClass.company),"User":prefs.getString(keyClass.loginId)}, '${prefs.getString(keyClass.hostAddress)}/user/cabangs/');
Navigator.pop(context);
if(cabangList['STATUS']==1){
cabangDrop = cabangList['DATA'];
selected = cabangDrop[0]['RETURN_VALUE'];
setState(() {
});
FocusScope.of(context).requestFocus(new FocusNode());
if(prefs.getString(keyClass.cabang_id)!= null && prefs.getString(keyClass.cabang_id)!= ''){
Navigator.pop(context);
Navigator.pushNamed(context, '/home');
}
else{
util.showFlushbar(context, cabangList['DATA'],color: Colors.red);
var cabangList = await util.JsonDataPostRaw({"company":prefs.getString(keyClass.company),"User":prefs.getString(keyClass.loginId)}, '${prefs.getString(keyClass.hostAddress)}/user/cabangs/');
Navigator.pop(context);
if(cabangList['STATUS']==1){
cabangDrop = cabangList['DATA'];
selected = cabangDrop[0]['RETURN_VALUE'];
setState(() {
});
FocusScope.of(context).requestFocus(new FocusNode());
}
else{
util.showFlushbar(context, cabangList['DATA'],color: Colors.red);
}
}
}
else{


+ 3
- 10
pubspec.lock Целия файл

@@ -247,13 +247,6 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "0.12.11"
material_color_utilities:
dependency: transitive
description:
name: material_color_utilities
url: "https://pub.dartlang.org"
source: hosted
version: "0.1.3"
meta:
dependency: transitive
description:
@@ -531,7 +524,7 @@ packages:
name: test_api
url: "https://pub.dartlang.org"
source: hosted
version: "0.4.8"
version: "0.4.3"
typed_data:
dependency: transitive
description:
@@ -587,7 +580,7 @@ packages:
name: url_launcher_web
url: "https://pub.dartlang.org"
source: hosted
version: "2.0.8"
version: "2.0.6"
url_launcher_windows:
dependency: transitive
description:
@@ -632,4 +625,4 @@ packages:
version: "3.1.0"
sdks:
dart: ">=2.15.0 <3.0.0"
flutter: ">=2.10.0"
flutter: ">=2.8.0"

+ 1
- 1
pubspec.yaml Целия файл

@@ -1,7 +1,7 @@
name: unitstocks
description: App to stock Thamrin Brothers Units
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 1.0.5+9
version: 1.0.5+10

environment:
sdk: ">=2.1.0 <3.0.0"


Зареждане…
Отказ
Запис