소스 검색

hopefully done cause im tired

master
jefry 4 년 전
부모
커밋
151804579b
4개의 변경된 파일100개의 추가작업 그리고 38개의 파일을 삭제
  1. +36
    -7
      lib/asset_details.dart
  2. +49
    -29
      lib/asset_logs.dart
  3. +1
    -2
      lib/home.dart
  4. +14
    -0
      lib/util/dbHandler.dart

+ 36
- 7
lib/asset_details.dart 파일 보기

@@ -12,7 +12,8 @@ class AssetDetails extends StatefulWidget {
// AssetDetails({Key key}) : super(key: key);
int no;
List<String>lokasi;
AssetDetails({this.no,this.lokasi});
String initTag;
AssetDetails({this.no,this.lokasi,this.initTag});
@override
_AssetDetailsState createState() => _AssetDetailsState();
}
@@ -51,6 +52,30 @@ class _AssetDetailsState extends State<AssetDetails> with TickerProviderStateMix
util.showToast('Alert', 'Asset data not found');
}
}
redirectNonAudit()async {
var blob = await DBHelper.database.getBlobbyTag(widget.initTag);
print("checkExist $blob");
if(blob!=null){
widget.no = blob.no;
await loadAsset();
// var blob = await DBHelper.database.getBlobbyTag(widget.initTag);
// var result = await DBHelper.database.searchbyTagNumber(blob.tag_number.toUpperCase());
// if(result['DATA']!=null) {
// result['DATA'].blob = blob.blob;
// result['DATA'].no = blob.no;
// result['DATA'].keterangan = blob.keterangan;
// }
// _asset = result['DATA'];
// ket.text = blob.keterangan;
}
else{
setState(() {
prefixCode.text = widget.initTag.substring(0,6);
barCode.text = widget.initTag.substring(6);
});
await findAsset(prefixCode.text+barCode.text);
}
}

@override
void initState() {
@@ -66,6 +91,9 @@ class _AssetDetailsState extends State<AssetDetails> with TickerProviderStateMix
if(widget.no!=null){
loadAsset();
}
if(widget.initTag!=null){
redirectNonAudit();
}
}
findAsset(query,{silent=false})async{
var result = await DBHelper.database.searchbyTagNumber(query.toUpperCase());
@@ -540,6 +568,7 @@ class _AssetDetailsState extends State<AssetDetails> with TickerProviderStateMix
if(insert!=null){
util.showToast("SUCCESS", 'Asset Inserted');
await DBHelper.database.closeDb();
if(widget.initTag!=null)Navigator.pop(context);
setState(() {
barCode.text = '';
ket.text = '';
@@ -549,12 +578,12 @@ class _AssetDetailsState extends State<AssetDetails> with TickerProviderStateMix
}
}
else{
var update = await DBHelper.database.updateAsset(_asset);
if(update!=null){
util.showToast("SUCCESS", 'Asset Updated');
await DBHelper.database.closeDb();
Navigator.pop(context);
}
var update = await DBHelper.database.updateAsset(_asset);
if(update!=null){
util.showToast("SUCCESS", 'Asset Updated');
await DBHelper.database.closeDb();
Navigator.pop(context);
}
}
}
}


+ 49
- 29
lib/asset_logs.dart 파일 보기

@@ -1,6 +1,7 @@
import 'package:assetstock/util/dbHandler.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'asset_details.dart';
import 'util/prefsKey.dart';
import 'main.dart';
import 'util/Models.dart';
@@ -43,6 +44,45 @@ class _AssetLogsState extends State<AssetLogs> {
}
}

tableRow(idxAsset,index){
return InkWell(
onTap: ()async{
var redirect = await showDialog(
context: context,
builder: (context)=>AlertDialog(
title: Text('Pick nonAuditAsset'),
content: Text("Select Asset ${idxAsset.tag_number}"),
actions: [
FlatButton(
onPressed: (){
Navigator.pop(context,true);
},
child: Text("Add Asset"),
)
],
)
);
if(redirect??false){
await Navigator.push(context, MaterialPageRoute(builder: (context) => new AssetDetails(initTag:idxAsset.tag_number)));
// await fetchData();
// scaleCon.text = scale.toStringAsFixed(2);
}

},
child: Row(
children: [
Container(padding: EdgeInsets.only(left: 5.0),width: widthtb*0.035,child: Text('${index+1}')),
Container(width: widthtb*0.09,child: Text(idxAsset.tag_number)),
Container(width: widthtb*0.24,child: Text(idxAsset.asset_desc)),
Container(width: widthtb*0.24,child: Text(idxAsset.pic)),
Container(width: widthtb*0.13,child: Text(idxAsset.gedung)),
Container(width: widthtb*0.125,child: Text(idxAsset.lantai)),
Container(width: widthtb*0.13,child: Text(idxAsset.ruangan)),
],
),
);
}

@override
void initState() {
fetchData();
@@ -204,17 +244,7 @@ class _AssetLogsState extends State<AssetLogs> {
decoration: BoxDecoration(
border: Border(bottom: BorderSide(width: 0.8))
),
child: Row(
children: [
Container(padding: EdgeInsets.only(left: 5.0),width: widthtb*0.035,child: Text('${index+1}')),
Container(width: widthtb*0.09,child: Text(idxAsset.tag_number)),
Container(width: widthtb*0.24,child: Text(idxAsset.asset_desc)),
Container(width: widthtb*0.24,child: Text(idxAsset.pic)),
Container(width: widthtb*0.13,child: Text(idxAsset.gedung)),
Container(width: widthtb*0.125,child: Text(idxAsset.lantai)),
Container(width: widthtb*0.13,child: Text(idxAsset.ruangan)),
],
),
child: tableRow(idxAsset,index),
);
else return Container();
}
@@ -223,17 +253,7 @@ class _AssetLogsState extends State<AssetLogs> {
decoration: BoxDecoration(
border: Border(bottom: BorderSide(width: 0.8))
),
child: Row(
children: [
Container(padding: EdgeInsets.only(left: 5.0),width: widthtb*0.035,child: Text('${index+1}')),
Container(width: widthtb*0.09,child: Text(idxAsset.tag_number)),
Container(width: widthtb*0.24,child: Text(idxAsset.asset_desc)),
Container(width: widthtb*0.24,child: Text(idxAsset.pic)),
Container(width: widthtb*0.13,child: Text(idxAsset.gedung)),
Container(width: widthtb*0.125,child: Text(idxAsset.lantai)),
Container(width: widthtb*0.13,child: Text(idxAsset.ruangan)),
],
),
child: tableRow(idxAsset,index),
);
}
}),
@@ -250,13 +270,13 @@ class _AssetLogsState extends State<AssetLogs> {
],
),
),
floatingActionButton: FloatingActionButton.extended(
onPressed: (){
},
icon: Icon(Icons.sync),
label: Text("Sync Approval"),
),
// floatingActionButton: FloatingActionButton.extended(
// onPressed: (){
//
// },
// icon: Icon(Icons.sync),
// label: Text("Sync Approval"),
// ),
);
}
}

+ 1
- 2
lib/home.dart 파일 보기

@@ -323,7 +323,6 @@ class _HomeState extends State<Home> {
// var allUnits = await DBHelper.database.getAllAsset();
// print('${allUnits.length} Units');
util.showToast('ALERT','Data Downloaded');
await DBHelper.database.setOpenState();
}
if(value==-1.0){
util.showToast('ALERT','Data Error ${trans.error}');
@@ -383,7 +382,7 @@ class _HomeState extends State<Home> {
Directory documentsDirectory = await getApplicationDocumentsDirectory();
String path = join(documentsDirectory.path, "assets.db");
File db = File(path);
if(db.existsSync())Navigator.pushNamed(context, '/stocking');
if(db.existsSync()) Navigator.pushNamed(context, '/stocking');
else{
util.showToast('Alert', 'Please download data master first');
}


+ 14
- 0
lib/util/dbHandler.dart 파일 보기

@@ -38,6 +38,7 @@ class DBHelper{
String path = join(documentsDirectory.path, "assets.db");
File file = File(path);
print('Database created, ${file.lengthSync()}');
setOpenState();
}

insertAsset(Asset newAsset) async{
@@ -65,6 +66,19 @@ class DBHelper{
}
}

getBlobbyTag(tag) async{
try{
final database = await db;
var res = await database.query(tableName.insert,where: "${columnName.tag_number} = ?",whereArgs: [tag]);
// var a = await database.rawQuery("select length(${columnName.blob}) / 1024 from ${tableName.insert} where ${columnName.no} = $no");
// print(a);
return res.isNotEmpty ? Asset.fromJson(res.first): null;
}
catch(e){
print(e);
return null;
}
}
getBlobbyNo(no) async{
try{


불러오는 중...
취소
저장