Untitled

Run Settings
LanguageBash
Language Version
Run Command
import 'package:flutter/material.dart'; import 'package:m80app/constants/constants.dart'; import 'package:m80app/components/app_button.dart'; import 'package:m80app/constants/constants.dart' as constants; class M80Dialog1 extends StatelessWidget { final String title; final String content; final double width = 720; final double height = 480; const M80Dialog1({super.key, required this.title, required this.content}); @override Widget build(BuildContext context) { return Dialog( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(8.0), ), child: SizedBox( width: width, height: height, child: Column( mainAxisSize: MainAxisSize.min, children: <Widget>[ // Header Container( width: double.infinity, color: COLOR_CYAN, // Replace with your desired color child: Padding( padding: const EdgeInsets.all(16.0), child: Text( title, style: TEXT_STYLE.copyWith(color: COLOR_WHITE), ), ), ), // Body (Content) SizedBox( height: 270, child: Align( alignment: Alignment.center, child: Padding( padding: const EdgeInsets.symmetric(horizontal: 16.0), child: Text( content, style: const TextStyle(fontSize: NORMAL_FONT_SIZE), ), ), ), ), // Footer (Buttons) Expanded( child: Container( margin: const EdgeInsets.only(bottom: 35), // Always on the bottom child: Align( alignment: Alignment.bottomCenter, child: Row( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ CustomButton( text: 'はい', onPressed: () { Navigator.of(context).pop( true); // Return true when 'Yes' is pressed }), const SizedBox(width: 70), CustomButton( text: 'いいえ', onPressed: () { Navigator.of(context).pop( false); // Return false when 'No' is pressed }), ], ), )), ) ], ), ), ); } } class M80Dialog2 extends StatelessWidget { final String title; final String content; final double width = 1000; final double height = 600; const M80Dialog2({super.key, required this.title, required this.content}); @override Widget build(BuildContext context) { return Dialog( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(8.0), ), child: SizedBox( width: width, height: height, child: Column( children: <Widget>[ // Body (Content) SizedBox( height: 470, child: ListView( // view list children: [ Expanded( child: DataTable( headingRowColor: MaterialStateColor.resolveWith( (states) => constants.COLOR_GREY), dataRowMaxHeight: 100, columnSpacing: 10, columns: [ DataColumn( label: SizedBox( width: 150, child: Text('発生時間', style: TextStyle( fontSize: 30, fontWeight: FontWeight.w400, color: Colors.black)), )), DataColumn( label: SizedBox( width: 150, child: Text('受信コマンド', style: TextStyle( fontSize: 30, fontWeight: FontWeight.w400, color: Colors.black)), )), DataColumn( label: SizedBox( width: 150, child: Text('発生機器', style: TextStyle( fontSize: 30, fontWeight: FontWeight.w400, color: Colors.black)), )), DataColumn( label: SizedBox( width: 500, child: Text('内容', style: TextStyle( fontSize: 30, fontWeight: FontWeight.w400, color: Colors.black)), )), ], rows: [ DataRow(cells: [ DataCell(Text( 'mot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai ba', maxLines: 100, overflow: TextOverflow.ellipsis)), DataCell(Text( 'mot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai ba', maxLines: 100, overflow: TextOverflow.ellipsis)), DataCell(Text( 'mot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai bamot hai ba', maxLines: 100, overflow: TextOverflow.ellipsis)), DataCell(Text('12312515', maxLines: 100, overflow: TextOverflow.ellipsis)), ]), ]), ) ], ), ), ], ), ), ); } }
import 'package:flutter/material.dart'; import 'package:m80app/components/app_button.dart'; import 'package:m80app/components/app_dialog.dart'; import 'package:m80app/components/dialog_password.dart'; import ''; import '../constants/constants.dart'; class AppTitleBar extends StatelessWidget { final String title; const AppTitleBar({super.key, this.title = ''}); @override Widget build(BuildContext context) { return Container( height: 40, padding: const EdgeInsets.only(left: 10.0), alignment: Alignment.centerLeft, color: const Color.fromRGBO(239, 239, 239, 1), child: Row( children: <Widget>[ Container( child: Text( title, style: const TextStyle( color: APP_STATUS_BAR_TEXT_COLOR, fontSize: 18, fontWeight: FontWeight.w500), )), IconButton( icon: ImageIcon( AssetImage('images/icon_warning.png'), color: Color.fromARGB(255, 255, 19, 2), ), onPressed: () async { await showDialog( context: context, builder: (BuildContext context) { return const M80Dialog2( title: 'hihi', content: 'hehe', ); }, ); }), ], )); } }
import 'package:flutter/material.dart'; import 'package:m80app/constants/constants.dart' as constants; import 'package:m80app/services/grpc/hcservice/hcservice.pb.dart'; import 'package:m80app/services/grpc_apis.dart'; class AtdsDialog extends StatefulWidget { const AtdsDialog({super.key}); @override State<AtdsDialog> createState() => _AtdsDialogState(); } class _AtdsDialogState extends State<AtdsDialog> { final double width = 1000; final double height = 600; late List<AtdListResponse> atdList = []; // abnormal transport data List List<DataRow> getUIAtdList(List<AtdListResponse> atdList) { List<DataRow> listRow = []; for (final atd in atdList) { String content = '['; for (var i = 0; i < atd.data.length; i++) { int aByte = atd.data[i]; String hexVal = aByte.toRadixString(16); if (i != 0) { content += ' '; } content += hexVal.padLeft(3 - hexVal.length, '0'); } content += ']'; listRow.add( DataRow(cells: [ DataCell(Text(atd.receiveTime, maxLines: 100, overflow: TextOverflow.ellipsis)), DataCell(Text(atd.commandName, maxLines: 100, overflow: TextOverflow.ellipsis)), DataCell(Text(atd.sourceAddress, maxLines: 100, overflow: TextOverflow.ellipsis)), DataCell( Text(content, maxLines: 100, overflow: TextOverflow.ellipsis)), ]), ); } return listRow; } void updateData() async { while (true) { String dateNow = constants.DATE_ATD_GRPC_FORMATTER.format(DateTime.now()); var tmpAtdList = await GrpcApis.grpcGetAtdList( AtdListRequest(timeFrom: dateNow, timeTo: dateNow)); setState(() { atdList = tmpAtdList; }); await Future.delayed(const Duration(minutes: constants.UpdatePeriod)); } } @override void initState() { // TODO: implement initState super.initState(); updateData(); } @override Widget build(BuildContext context) { return Dialog( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(8.0), ), child: SizedBox( width: width, height: height, child: Column( children: [ DataTable( headingRowColor: MaterialStateColor.resolveWith( (states) => constants.COLOR_GREY), columnSpacing: 10, columns: const [ DataColumn( label: SizedBox( width: 150, child: Text('発生時間', style: TextStyle( fontSize: 30, fontWeight: FontWeight.w400, color: Colors.black)), )), DataColumn( label: SizedBox( width: 150, child: Text('受信コマンド', style: TextStyle( fontSize: 30, fontWeight: FontWeight.w400, color: Colors.black)), )), DataColumn( label: SizedBox( width: 150, child: Text('発生機器', style: TextStyle( fontSize: 30, fontWeight: FontWeight.w400, color: Colors.black)), )), DataColumn( label: SizedBox( width: 500, child: Text('内容', style: TextStyle( fontSize: 30, fontWeight: FontWeight.w400, color: Colors.black)), )), ], rows: []), // Body (Content) SizedBox( height: 500, child: ListView( // view list children: [ DataTable( headingRowHeight: 0, dataRowMaxHeight: 100, columnSpacing: 10, columns: const [ DataColumn( label: SizedBox( width: 150, child: Text(''), )), DataColumn( label: SizedBox( width: 150, child: Text('', style: TextStyle( fontSize: 30, fontWeight: FontWeight.w400, color: Colors.black)), )), DataColumn( label: SizedBox( width: 150, child: Text('', style: TextStyle( fontSize: 30, fontWeight: FontWeight.w400, color: Colors.black)), )), DataColumn( label: SizedBox( width: 500, child: Text('', style: TextStyle( fontSize: 30, fontWeight: FontWeight.w400, color: Colors.black)), )), ], rows: getUIAtdList(atdList)) ], ), ), ], ), ), ); } }
import 'dart:developer'; import 'dart:typed_data'; import 'package:flutter/material.dart'; import 'package:m80app/services/api_status.dart'; import 'package:m80app/services/grpc/hcservice/hcservice.pbgrpc.dart'; import 'package:m80app/services/startup_service.dart'; import 'package:m80app/setting/setting.dart'; import 'package:m80app/constants/constants.dart'; import 'package:m80app/utils/backup_utils.dart'; import 'package:m80app/utils/log_utils.dart'; import 'package:m80app/constants/route_paths_constants.dart' as routes; import 'package:m80app/utils/parsers.dart'; import 'package:m80app/utils/sqlite_utils.dart'; import 'package:m80app/viewmodels/mainpage_viewmodel.dart'; const ENDIAN_TYPE = Endian.big; class StartupViewModel extends ChangeNotifier { late MainPageViewModel _mainpageViewmodel; double _processValue = 0.0; List _logList = []; MainPageViewModel get mainpageViewmodel => _mainpageViewmodel; double get processValue => _processValue; List get logList => _logList; SQLiteProvider provider = SQLiteProvider(); StartupViewModel() { startUp(); } setprocessValue(double value) { _processValue = value; notifyListeners(); } setlogList(List loglist) { _logList = loglist; notifyListeners(); } setmainpageViewmodel(MainPageViewModel mainpageViewmodel) { _mainpageViewmodel = mainpageViewmodel; } adddisplayLog(String message) { if (_logList.length < 6) { _logList.add(message); } else { _logList.removeAt(0); _logList.add(message); } notifyListeners(); } closeApp() async { // await Future.delayed(const Duration(milliseconds: 500)); // exit(0); } startUp() async { // Load Config Logger.info('Load Config'); await Setting.loadm80StaticConfig(); await Setting.loadm80DynamicConfig(); await Setting.loadm80RealConfig(); await Setting.loadm80ServiceConfig(); await Setting.loadm80kishuConfig(); await Setting.loadm80kishutypeConfig(); await SQLiteProvider.db.database; // Confirm Setting // Delete old backup and log await Logger.deleteOldLog(); await Backup.deleteOldbackup(); // Backup await Backup.backup(); setprocessValue(0.2); // Connect Service and get setting var startupservice = StartupService(); var dtnow = DateTime.now(); // // Request A0 // Logger.info('Send A0 command via GRPC'); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $A0_REQUEST送信'); // var senda0res = await startupservice.sendA0(A0RequestMessage( // commandId: A0_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestContent: 0, // dataContent: 1, // subrecordType: 'V')); // dtnow = DateTime.now(); // if (senda0res is A0ResponseMessage) { // if (senda0res.err == false) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $A0_REQUEST受信...AckOK'); // Logger.info( // "Received A0 Response: ${senda0res.dataresponse.toString()}"); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $A0_REQUEST受信...AckFail'); // Logger.error("Request A0 via GRPC error : ${senda0res.errMsg}"); // await closeApp(); // } // } // if (senda0res is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $A0_REQUEST受信...AckFail'); // Logger.error( // "Request A0 via GRPC error : ${senda0res.errorResponse.toString()}"); // await closeApp(); // } // await Future.delayed(const Duration(milliseconds: 1000)); // setprocessValue(0.3); // // Request BS // Logger.info('Send BS command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_REQUEST送信...AckOK'); // var sendBSres1 = await startupservice.sendBS(BSRequestMessage( // commandId: BS_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestContent: 0, // dataContent: 0)); // dtnow = DateTime.now(); // if (sendBSres1 is BSResponseMessage) { // if (sendBSres1.err == false) { // var dataBS1 = sendBSres1.dataresponse; // List dataSalesMode = dataBS1.sublist(82, 84); // List dataDailyMode = dataBS1.sublist(84, 86); // List dataCheckMode = dataBS1.sublist(86, 88); // List dataSearchMode = dataBS1.sublist(88, 90); // List<String> SalesMode = // (dataSalesMode.map((e) => e.toString()).toList()); // List<String> DailyMode = // (dataDailyMode.map((e) => e.toString()).toList()); // List CheckMode = (dataCheckMode.map((e) => e.toString()).toList()); // List SearchMode = (dataSearchMode.map((e) => e.toString()).toList()); // var updatesalesmode = SalesMode.join(); // var updatedailymode = DailyMode.join(); // var updatecheckmode = CheckMode.join(); // var updatesearchmode = SearchMode.join(); // //update m8Dynamic.conf // Setting.m80dynamicConfig.passeigyo = updatesalesmode; // Setting.m80dynamicConfig.passnikkei = updatedailymode; // Setting.m80dynamicConfig.passcheck = updatecheckmode; // Setting.m80dynamicConfig.passsearch = updatesearchmode; // Setting.savem80DynamicConfig(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_RESPONSE受信...AckOK'); // Logger.info("Received BS Response: ${dataBS1.toString()}"); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_RESPONSE受信...AckFail'); // Logger.error("Request BS via GRPC error : ${sendBSres1.errMsg}"); // await closeApp(); // } // } // if (sendBSres1 is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_RESPONSE受信...AckFail'); // Logger.error( // "Request BS via GRPC error : ${sendBSres1.errorResponse.toString()}"); // await closeApp(); // } // // Request BS // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send BS command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_REQUEST送信...AckOK'); // var sendBSres2 = await startupservice.sendBS(BSRequestMessage( // commandId: BS_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestContent: 0, // dataContent: 1)); // dtnow = DateTime.now(); // if (sendBSres2 is BSResponseMessage) { // if (sendBSres2.err == false) { // var dataBS2 = sendBSres2.dataresponse; // var SalesAggregate = getByteDataOf(dataBS2.sublist(80, 81)).getUint8(0); // var AggregateByIsland = // getByteDataOf(dataBS2.sublist(81, 82)).getUint8(0); // var TableTabulation = // getByteDataOf(dataBS2.sublist(82, 83)).getUint8(0); // var TicketingTotal = getByteDataOf(dataBS2.sublist(83, 84)).getUint8(0); // var TabulationByTicketingMachine = // getByteDataOf(dataBS2.sublist(84, 85)).getUint8(0); // var SummaryByPaymentMachine = // getByteDataOf(dataBS2.sublist(85, 86)).getUint8(0); // var CmCardUnclearedData = // getByteDataOf(dataBS2.sublist(86, 87)).getUint8(0); // var CCardUnclearedData = // getByteDataOf(dataBS2.sublist(87, 88)).getUint8(0); // var OutOfUpdateData = // getByteDataOf(dataBS2.sublist(88, 89)).getUint8(0); // var ListOfReissuances = // getByteDataOf(dataBS2.sublist(89, 90)).getUint8(0); // var CmExpiredCardTally = // getByteDataOf(dataBS2.sublist(90, 91)).getUint8(0); // var VarianceDetails = // getByteDataOf(dataBS2.sublist(91, 92)).getUint8(0); // // save M80Dynamic // Setting.m80dynamicConfig.calcuri = SalesAggregate; // Setting.m80dynamicConfig.calcshima = AggregateByIsland; // Setting.m80dynamicConfig.calcdai = TableTabulation; // Setting.m80dynamicConfig.calcdaiissu = TicketingTotal; // Setting.m80dynamicConfig.calcissu = TabulationByTicketingMachine; // Setting.m80dynamicConfig.calcseisan = SummaryByPaymentMachine; // Setting.m80dynamicConfig.calccmmi = CmCardUnclearedData; // Setting.m80dynamicConfig.calccmi = CCardUnclearedData; // Setting.m80dynamicConfig.calclimit = OutOfUpdateData; // // Setting.m80dynamicConfig.calccmi = ListOfReissuances; // chờ trả lời trên ticket // Setting.m80dynamicConfig.calccmlimit = CmExpiredCardTally; // Setting.m80dynamicConfig.calcsai = VarianceDetails; // Setting.savem80DynamicConfig(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_RESPONSE受信...AckOK'); // Logger.info( // "Received BS Response: ${sendBSres2.dataresponse.toString()}"); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_RESPONSE受信...AckFail'); // Logger.error("Request BS via GRPC error : ${sendBSres2.errMsg}"); // await closeApp(); // } // } // if (sendBSres2 is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_RESPONSE受信...AckFail'); // Logger.error( // "Request BS via GRPC error : ${sendBSres2.errorResponse.toString()}"); // await closeApp(); // } // // Request BS // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send BS command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_REQUEST送信...AckOK'); // var sendBSres3 = await startupservice.sendBS(BSRequestMessage( // commandId: BS_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestContent: 0, // dataContent: 2)); // dtnow = DateTime.now(); // if (sendBSres3 is BSResponseMessage) { // if (sendBSres3.err == false) { // var dataBS3 = sendBSres3.dataresponse; // var SalesAggregate = // getByteDataOf(dataBS3.sublist(82, 84)).getUint16(0, Endian.big); // var IslandAggregation = // getByteDataOf(dataBS3.sublist(84, 86)).getUint16(0, Endian.big); // var TableTabulation3 = // getByteDataOf(dataBS3.sublist(86, 88)).getUint16(0, Endian.big); // var TotalByTicketingMachine = // getByteDataOf(dataBS3.sublist(88, 90)).getUint16(0, Endian.big); // //update m80Dynamic.conf // Setting.m80dynamicConfig.fmturi = SalesAggregate; // Setting.m80dynamicConfig.fmtshima = IslandAggregation; // Setting.m80dynamicConfig.fmtdai = TableTabulation3; // Setting.m80dynamicConfig.fmtissu = TotalByTicketingMachine; // Setting.savem80DynamicConfig(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_RESPONSE受信...AckOK'); // Logger.info("Received BS Response: ${dataBS3.toString()}"); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_RESPONSE受信...AckFail'); // Logger.error("Request BS via GRPC error : ${sendBSres3.errMsg}"); // await closeApp(); // } // } // if (sendBSres3 is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_RESPONSE受信...AckFail'); // Logger.error( // "Request BS via GRPC error : ${sendBSres3.errorResponse.toString()}"); // await closeApp(); // } // // Request BS // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send BS command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_REQUEST送信...AckOK'); // var sendBSres4 = await startupservice.sendBS(BSRequestMessage( // commandId: BS_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestContent: 0, // dataContent: 3)); // dtnow = DateTime.now(); // if (sendBSres4 is BSResponseMessage) { // if (sendBSres4.err == false) { // var dataBS4 = sendBSres4.dataresponse; // var AssisMode = getByteDataOf(dataBS4.sublist(80, 81)).getUint8(0); // var PaymentServicesAct = // getByteDataOf(dataBS4.sublist(81, 82)).getUint8(0); // var MarginDataErrorAggregation = // getByteDataOf(dataBS4.sublist(82, 83)).getUint8(0); // //update m80Dynamic // Setting.m80dynamicConfig.rentrow = PaymentServicesAct; // Setting.m80dynamicConfig.rentrepair = MarginDataErrorAggregation; // Setting.m80dynamicConfig.assistmode = AssisMode; // Setting.savem80DynamicConfig(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_RESPONSE受信...AckOK'); // Logger.info("Received BS Response: ${dataBS4.toString()}"); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_RESPONSE受信...AckFail'); // Logger.error("Request BS via GRPC error : ${sendBSres4.errMsg}"); // await closeApp(); // } // } // if (sendBSres4 is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BS_RESPONSE受信...AckFail'); // Logger.error( // "Request BS via GRPC error : ${sendBSres4.errorResponse.toString()}"); // await closeApp(); // } // setprocessValue(0.4); // // Request BU // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send BU command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_REQUEST送信...AckOK'); // var sendBUres1 = await startupservice.sendBU(BURequestMessage( // commandId: BU_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestContent: 0, // dataContent: 3)); // dtnow = DateTime.now(); // if (sendBUres1 is BUResponseMessage) { // if (sendBUres1.err == false) { // //UPS replacement date // List DataUPSReplacementDate = sendBUres1.dataresponse.sublist(80, 87); // String UPSDate = ''; // for (var number in DataUPSReplacementDate) { // int number_div = (number ~/ 16); // UPSDate += number_div.toString(); // int number_mod = (number % 16); // UPSDate += number_mod.toString(); // } // //save m80Dynamic.conf YYYYMMDDhhmmss() // Setting.m80dynamicConfig.upsdate = UPSDate; // Setting.savem80DynamicConfig(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_RESPONSE受信...AckOK'); // Logger.info( // "Received BU Response: ${sendBUres1.dataresponse.toString()}"); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_RESPONSE受信...AckFail'); // Logger.error("Request BU via GRPC error : ${sendBUres1.errMsg}"); // await closeApp(); // } // } // if (sendBUres1 is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_RESPONSE受信...AckFail'); // Logger.error( // "Request BU via GRPC error : ${sendBUres1.errorResponse.toString()}"); // await closeApp(); // } // // Request BU // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send BU command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_REQUEST送信...AckOK'); // var sendBUres2 = await startupservice.sendBU(BURequestMessage( // commandId: BU_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestContent: 0, // dataContent: 6)); // dtnow = DateTime.now(); // if (sendBUres2 is BUResponseMessage) { // if (sendBUres2.err == false) { // var dataBU2 = sendBUres2.dataresponse; // var ARCSettings = getByteDataOf(dataBU2.sublist(80, 81)).getUint8(0); // var ARCSettingsTime = // getByteDataOf(dataBU2.sublist(84, 86)).getUint16(0, Endian.big); // var ARCSettingsReconCount = // getByteDataOf(dataBU2.sublist(86, 88)).getUint16(0, Endian.big); // var TASSettings = getByteDataOf(dataBU2.sublist(88, 89)).getUint8(0); // var TASSettingsTime = // getByteDataOf(dataBU2.sublist(92, 94)).getUint16(0, Endian.big); // // update m80Dynamic.conf // Setting.m80dynamicConfig.arcwatch = ARCSettings; // Setting.m80dynamicConfig.arctime = ARCSettingsTime; // Setting.m80dynamicConfig.arccnt = ARCSettingsReconCount; // Setting.m80dynamicConfig.arcwatch = TASSettings; // Setting.m80dynamicConfig.arctime = TASSettingsTime; // Setting.savem80DynamicConfig(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_RESPONSE受信...AckOK'); // Logger.info( // "Received BU Response: ${sendBUres2.dataresponse.toString()}"); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_RESPONSE受信...AckFail'); // Logger.error("Request BU via GRPC error : ${sendBUres2.errMsg}"); // await closeApp(); // } // } // if (sendBUres2 is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_RESPONSE受信...AckFail'); // Logger.error( // "Request BU via GRPC error : ${sendBUres2.errorResponse.toString()}"); // await closeApp(); // } // // Request BU // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send BU command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_REQUEST送信...AckOK'); // var sendBUres3 = await startupservice.sendBU(BURequestMessage( // commandId: BU_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestContent: 0, // dataContent: 7)); // dtnow = DateTime.now(); // if (sendBUres3 is BUResponseMessage) { // if (sendBUres3.err == false) { // var dataBU3 = sendBUres3.dataresponse; // List dataTelephone = dataBU3.sublist(80, 96); // List dataShipCode = dataBU3.sublist(96, 104); // List dataSenderCode = dataBU3.sublist(104, 112); // List dataPassWord = dataBU3.sublist(112, 120); // List<String> Telephone = // (dataTelephone.map((e) => e.toString()).toList()); // List<String> ShipCode = // (dataShipCode.map((e) => e.toString()).toList()); // List<String> SenderCode = // (dataSenderCode.map((e) => e.toString()).toList()); // List<String> PassWord = // (dataPassWord.map((e) => e.toString()).toList()); // var THE3TEL = Telephone.join(); // var THE3SENDCODE = ShipCode.join(); // var THE3SRCCODE = SenderCode.join(); // var THE3PASSWORD = PassWord.join(); // // update m80Dynamic.conf // Setting.m80dynamicConfig.the3Tel = THE3TEL; // Setting.m80dynamicConfig.the3Sendcode = THE3SENDCODE; // Setting.m80dynamicConfig.the3Srccode = THE3SRCCODE; // Setting.m80dynamicConfig.the3Password = THE3PASSWORD; // Setting.savem80DynamicConfig(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_RESPONSE受信...AckOK'); // Logger.info( // "Received BU Response: ${sendBUres3.dataresponse.toString()}"); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_RESPONSE受信...AckFail'); // Logger.error("Request BU via GRPC error : ${sendBUres3.errMsg}"); // await closeApp(); // } // } // if (sendBUres3 is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_RESPONSE受信...AckFail'); // Logger.error( // "Request BU via GRPC error : ${sendBUres3.errorResponse.toString()}"); // await closeApp(); // } // // Request BU 4 // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send BU command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_REQUEST送信...AckOK'); // var sendBUres4 = await startupservice.sendBU(BURequestMessage( // commandId: BU_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestContent: 0, // dataContent: 8)); // dtnow = DateTime.now(); // if (sendBUres4 is BUResponseMessage) { // if (sendBUres4.err == false) { // log('${sendBUres4.dataresponse}'); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_RESPONSE受信...AckOK'); // Logger.info( // "Received BU Response: ${sendBUres4.dataresponse.toString()}"); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_RESPONSE受信...AckFail'); // Logger.error("Request BU via GRPC error : ${sendBUres4.errMsg}"); // await closeApp(); // } // } // if (sendBUres4 is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $BU_RESPONSE受信...AckFail'); // Logger.error( // "Request BU via GRPC error : ${sendBUres4.errorResponse.toString()}"); // await closeApp(); // } // setprocessValue(0.5); // // Request ED // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send ED command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $ED_REQUEST送信...AckOK'); // var sendEDres = await startupservice.sendED(EDRequestMessage( // commandId: ED_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestData: 1)); // dtnow = DateTime.now(); // if (sendEDres is EDResponseMessage) { // if (sendEDres.err == false) { // var dataED = sendEDres.dataresponse[0]; // List dataCompanyNumber = dataED.sublist(80, 84); // List<String> CompanyNumber = // (dataCompanyNumber.map((e) => e.toString()).toList()); // List dataOwnerCode = dataED.sublist(88, 92); // List<String> OwnerCode = // (dataOwnerCode.map((e) => e.toString()).toList()); // List dataStoreName = dataED.sublist(92, 112); // List<String> StoreName = // (dataStoreName.map((e) => e.toString()).toList()); // var CORP_NO = CompanyNumber.join(); // var StoreNumber = // getByteDataOf(dataED.sublist(84, 86)).getUint16(0, Endian.big); // var OWNER_CODE = OwnerCode.join(); // var MISE_NAME = StoreName.join(); // //update m80dynamic.conf // Setting.m80dynamicConfig.corpNo = int.parse(CORP_NO); // Setting.m80dynamicConfig.miseNo = StoreNumber; // Setting.m80dynamicConfig.ownerCode = int.parse(OWNER_CODE); // Setting.m80dynamicConfig.miseName = MISE_NAME; // Setting.savem80DynamicConfig(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $ED_RESPONSE受信...AckOK'); // Logger.info( // "Received ED Response: ${sendEDres.dataresponse.toString()}"); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $ED_RESPONSE受信...AckFail'); // Logger.error("Request ED via GRPC error : ${sendEDres.errMsg}"); // await closeApp(); // } // } // if (sendEDres is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $ED_RESPONSE受信...AckFail'); // Logger.error( // "Request ED via GRPC error : ${sendEDres.errorResponse.toString()}"); // await closeApp(); // } // setprocessValue(0.6); // // Request FM // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send FM command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_REQUEST送信...AckOK'); // var sendFMres1 = await startupservice.sendFM(FMRequestMessage( // commandId: FM_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestType: 1)); // dtnow = DateTime.now(); // if (sendFMres1 is FMResponseMessage) { // if (sendFMres1.err == false) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_RESPONSE受信...AckOK'); // Logger.info( // "Received FM Response: ${sendFMres1.dataresponse.toString()}"); // await closeApp(); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_RESPONSE受信...AckFail'); // Logger.error("Request FM via GRPC error : ${sendFMres1.errMsg}"); // await closeApp(); // } // } // if (sendFMres1 is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_RESPONSE受信...AckFail'); // Logger.error( // "Request FM via GRPC error : ${sendFMres1.errorResponse.toString()}"); // await closeApp(); // } // // Request FM // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send FM command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_REQUEST送信...AckOK'); // var sendFMres2 = await startupservice.sendFM(FMRequestMessage( // commandId: FM_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestType: 2)); // dtnow = DateTime.now(); // List<Map<String, dynamic>> subRecordA1List = []; // if (sendFMres2 is FMResponseMessage) { // if (sendFMres2.err == false) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_RESPONSE受信...AckOK'); // Logger.info( // "Received FM Response: ${sendFMres2.dataresponse.toString()}"); // var numberOfSubrecord = // byteArrayToInt(sendFMres2.dataresponse.sublist(74, 76)); // for (var i = 0; i < numberOfSubrecord; i++) { // var subRecordA1 = getSubRecordA1( // sendFMres2.dataresponse.sublist(76 + 44 * i, 76 + 44 * (i + 1))); // subRecordA1List.add(subRecordA1); // } // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_RESPONSE受信...AckFail'); // Logger.error("Request FM via GRPC error : ${sendFMres2.errMsg}"); // await closeApp(); // } // } // if (sendFMres2 is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_RESPONSE受信...AckFail'); // Logger.error( // "Request FM via GRPC error : ${sendFMres2.errorResponse.toString()}"); // await closeApp(); // } // // Request FM // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send FM command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_REQUEST送信...AckOK'); // var sendFMres3 = await startupservice.sendFM(FMRequestMessage( // commandId: FM_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestType: 3)); // dtnow = DateTime.now(); // List<Map<String, dynamic>> subRecordG1List = []; // if (sendFMres3 is FMResponseMessage) { // if (sendFMres3.err == false) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_RESPONSE受信...AckOK'); // Logger.info( // "Received FM Response: ${sendFMres3.dataresponse.toString()}"); // var numberOfSubrecord = // byteArrayToInt(sendFMres3.dataresponse.sublist(74, 76)); // for (var i = 0; i < numberOfSubrecord; i++) { // var subRecordG1 = getSubRecordG1( // sendFMres3.dataresponse.sublist(76 + 44 * i, 76 + 44 * (i + 1))); // subRecordG1List.add(subRecordG1); // } // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_RESPONSE受信...AckFail'); // Logger.error("Request FM via GRPC error : ${sendFMres3.errMsg}"); // await closeApp(); // } // } // if (sendFMres3 is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_RESPONSE受信...AckFail'); // Logger.error( // "Request FM via GRPC error : ${sendFMres3.errorResponse.toString()}"); // await closeApp(); // } // // Insert to hcmap // if (sendFMres2 is FMResponseMessage && // !sendFMres2.err && // sendFMres3 is FMResponseMessage && // !sendFMres3.err) { // if (subRecordA1List.length != subRecordG1List.length) { // Logger.error( // "Response FM via GRPC error : number of subrecord A1: ${subRecordA1List.length} # number of subrecord G1: ${subRecordG1List.length}"); // } else { // List<Map<String, dynamic>> rows = []; // for (var i = 0; i < subRecordA1List.length; i++) { // subRecordA1List[i].addAll(subRecordG1List[i]); // rows.add(subRecordA1List[i]); // } // try { // await provider.insertHCMap(rows); // } catch (e) { // Logger.error("Insert to hcmap.sqlite error: $e"); // } // } // } // // Request FM // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send FM command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_REQUEST送信...AckOK'); // var sendFMres4 = await startupservice.sendFM(FMRequestMessage( // commandId: FM_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum, // requestType: 4)); // dtnow = DateTime.now(); // if (sendFMres4 is FMResponseMessage) { // if (sendFMres4.err == false) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_RESPONSE受信...AckOK'); // Logger.info( // "Received FM Response: ${sendFMres4.dataresponse.toString()}"); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_RESPONSE受信...AckFail'); // Logger.error("Request FM via GRPC error : ${sendFMres4.errMsg}"); // await closeApp(); // } // } // if (sendFMres4 is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $FM_RESPONSE受信...AckFail'); // Logger.error( // "Request FM via GRPC error : ${sendFMres4.errorResponse.toString()}"); // await closeApp(); // } // setprocessValue(0.7); // // Request DY // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send DY command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $DY_REQUEST送信...AckOK'); // var sendDYres = await startupservice.sendDY(DYRequestMessage( // commandId: DY_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum)); // dtnow = DateTime.now(); // if (sendDYres is DYResponseMessage) { // if (sendDYres.err == false) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $DY_RESPONSE受信...AckOK'); // Logger.info( // "Received DY Response: ${sendDYres.dataresponse.toString()}"); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $DY_RESPONSE受信...AckFail'); // Logger.error("Request DY via GRPC error : ${sendDYres.errMsg}"); // await closeApp(); // } // } // if (sendDYres is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $DY_RESPONSE受信...AckFail'); // Logger.error( // "Request DY via GRPC error : ${sendDYres.errorResponse.toString()}"); // await closeApp(); // } // setprocessValue(0.8); // // Request E5 // await Future.delayed(const Duration(milliseconds: 1000)); // Logger.info('Send E5 command via GRPC'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $E5_REQUEST送信...AckOK'); // var sendE5res = await startupservice.sendE5(E5RequestMessage( // commandId: E5_REQUEST, // protocol: Setting.m80serviceConfig.hcserviceProtocol, // headerDestinationIpAddr: // Setting.m80serviceConfig.hcserviceDestIpAddress, // headerModelType: Setting.m80serviceConfig.hcserviceDestModeltype, // headerEquipmentNumber: Setting.m80serviceConfig.hcserviceDestEquipnum)); // dtnow = DateTime.now(); // if (sendE5res is E5ResponseMessage) { // if (sendE5res.err == false) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $DY_RESPONSE受信...AckOK'); // Logger.info( // "Received E5 Response: ${sendE5res.dataresponse.toString()}"); // } else { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $DY_RESPONSE受信...AckFail'); // Logger.error("Request E5 via GRPC error : ${sendE5res.errMsg}"); // await closeApp(); // } // } // if (sendE5res is Failure) { // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} $DY_RESPONSE受信...AckFail'); // Logger.error( // "Request E5 via GRPC error : ${sendE5res.errorResponse.toString()}"); // await closeApp(); // } // setprocessValue(0.9); // await Future.delayed(const Duration(milliseconds: 500)); // // Compare setting and map // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} データ解析処理開始'); // dtnow = DateTime.now(); // adddisplayLog( // '${dtnow.hour.toString().padLeft(2, '0')}:${dtnow.minute} データ解析処理完了'); // setprocessValue(1.0); // await Future.delayed(const Duration(milliseconds: 700)); await Future.delayed(const Duration(seconds: 2)); // Go to main menu _mainpageViewmodel.setcurrentRoute(routes.MainMenuRoute); } } // Get subrecord A1 of FM from byte array response Map<String, dynamic> getSubRecordA1(List<int> byteArray) { return { 'LOGIC_TERM_NO': byteArrayToInt(byteArray.sublist(4, 8)), 'DEVICE_CODE': byteArrayToInt(byteArray.sublist(8, 12)), 'DEVICE_NAME': byteArrayToString(byteArray.sublist(12, 22)), 'NET_TYPE_NO': byteArray[22], 'PHYSIC_NET_NO': byteArray[23], 'PHYSIC_TERM_NO': byteArrayToInt(byteArray.sublist(24, 26)), 'SAME_DEV_CNT': byteArrayToInt(byteArray.sublist(26, 28)), 'PARENT_ITN': byteArrayToInt(byteArray.sublist(28, 32)), 'CHILD_CNT': byteArrayToInt(byteArray.sublist(32, 34)), 'VERSION': byteArrayToString(byteArray.sublist(34, 42)), }; } // Get subrecord G1 of FM from byte array response Map<String, dynamic> getSubRecordG1(List<int> byteArray) { return { 'IP_ADDER': byteArrayToIP(byteArray.sublist(16, 20)), 'VER_8': byteArrayToString(byteArray.sublist(24, 32)), 'GROUP_KIND': byteArray[32], 'GROUP_CNT': byteArray[33], 'D_NO': byteArrayToInt(byteArray.sublist(34, 36)), }; } // Convert byte array to int int byteArrayToInt(List<int> byteArray) { if (byteArray.length == 2) { return ByteData.sublistView(Uint8List.fromList(byteArray)) .getInt16(0, ENDIAN_TYPE); } else if (byteArray.length == 4) { return ByteData.sublistView(Uint8List.fromList(byteArray)) .getInt32(0, ENDIAN_TYPE); } else { throw ArgumentError("Invalid byte array length"); } } // Convert byte array to string String byteArrayToString(List<int> byteArray) { return String.fromCharCodes(byteArray).replaceAll('\x00', ''); } // Convert byte array to ip format String byteArrayToIP(List<int> byteArray) { return "${byteArray[0]}.${byteArray[1]}.${byteArray[2]}.${byteArray[3]}"; }
import 'package:flutter/material.dart'; import 'package:m80app/constants/constants.dart'; import 'package:m80app/components/app_button.dart'; class CommonErrorDialog extends StatelessWidget { final String title; final String logerror; final String devicecode; final String content; final double width = 720; final double height = 480; const CommonErrorDialog( {super.key, required this.title, required this.logerror, required this.devicecode, required this.content}); @override Widget build(BuildContext context) { return Dialog( shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(8.0), ), child: SizedBox( width: width, height: height, child: DecoratedBox( decoration: const BoxDecoration(color: COLOR_WHITE), child: Column( mainAxisSize: MainAxisSize.min, children: <Widget>[ // Header Container( width: double.infinity, color: COLOR_RED, // Replace with your desired color child: Padding( padding: const EdgeInsets.all(16.0), child: Text( title, style: TEXT_STYLE.copyWith(color: COLOR_WHITE), ), ), ), // Body (Content) Container( child: Padding( padding: const EdgeInsets.all(50.0), child: Text(logerror, style: TEXT_STYLE), ), ), Container( alignment: Alignment.bottomLeft, child: Padding( padding: const EdgeInsets.all(10.0), child: Text('コード:' '${devicecode}', style: TEXT_STYLE), ), ), Container( alignment: Alignment.bottomLeft, child: Padding( padding: const EdgeInsets.all(10.0), child: Text('ログ:' '${content}', style: TEXT_STYLE), ), ), // Footer (Buttons) Expanded( child: Container( margin: const EdgeInsets.only( bottom: 35), // Always on the bottom child: Align( alignment: Alignment.bottomCenter, child: Row( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ CustomButton( text: 'はい', onPressed: () { Navigator.of(context).pop( true); // Return true when 'Yes' is pressed }), ], ), )), ) ], ), ), ), ); } }
Editor Settings
Theme
Key bindings
Full width
Lines