package Ġcom . rn sp 8 1 1 fr driver Ċ Ċ import Ġandroid . os . Build Ċ import Ġandroid . util . Log Ċ import Ġcom . facebook . react . bridge . Arguments Ċ import Ġcom . facebook . react . bridge . Readable Array Ċ import Ġcom . facebook . react . bridge . Writable Map Ċ import Ġcom . rn sp 8 1 1 fr driver . driver . utils . Utils Ċ import Ġcom . rn sp 8 1 1 fr driver . utils .* Ċ import Ġcom . rn sp 8 1 1 fr driver . utils . constants . Commands Ċ import Ġcom . rn sp 8 1 1 fr driver . utils . constants . Constants Ċ import Ġjava . nio . ByteBuffer Ċ import Ġjava . nio . charset . Charset Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . format . DateTime Formatter Ċ Ċ class ĠSP 8 1 1 FR _ Device ( private Ġval Ġtransport : ĠTransport , Ġprivate Ġval Ġpassword : ĠString ) Ġ{ ĊĠ Ġprivate Ġval Ġcharset Encoder : ĠCharset Ġ= ĠCharset . forName (" Cp 8 6 6 ") ĊĊĠ Ġ// Ġ ĠÐŀ ÑĤ Ðº ÑĢÑĭ ÑĤÑĮ ĠÐ´Ð¾ ÑĥÐ¼ÐµÐ½ÑĤ Ġ( Ð¿ÑĢ Ð¾Ð´ Ð°Ð¶ Ð° \ Ð² Ð¾Ð· Ð² ÑĢÐ°ÑĤ ) ĊĠ Ġfun Ġopen Document ( ĊĠĠĠ Ġtype : ĠDocument Types , ĊĠĠĠ Ġdepartment Number : ĠNumber Ġ= Ġ 1 , ĊĠĠĠ Ġoperator Name : ĠString Ġ= Ġ" Ðĵ Ð° Ð»Ñı ", ĊĠĠĠ Ġdocument Number : ĠNumber Ġ= Ġ 1 ĊĠ Ġ): ĠResponse Ġ{ ĊĠĠĠ Ġvar Ġparams Ġ= Ġbyte ArrayOf () Ċ // ĠĠĠĠĠ Ġdoc Ġtype ĊĠĠĠ Ġparams Ġ+= Ġtype . data ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS Ċ // ĠĠĠĠĠ ĠÐĿ Ð¾Ð¼ ÐµÑĢ ĠÐ¾ÑĤ Ð´ÐµÐ» Ð° ĊĠĠĠ Ġparams Ġ+= Ġdepartment Number . toString (). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS Ċ // ĠĠĠĠĠ ĠÐĺ Ð¼ Ñı ĠÐ¾Ð¿ ÐµÑĢ Ð°ÑĤÐ¾ÑĢ Ð° ĊĠĠĠ Ġparams Ġ+= Ġcharset Encoder . encode ( operator Name ). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS Ċ // ĠĠĠĠĠ ĠÐĿ Ð¾Ð¼ ÐµÑĢ ĠÐ´ Ð¾Ðº ÑĥÐ¼ÐµÐ½ÑĤ Ð° ĊĠĠĠ Ġparams Ġ+= Ġdocument Number . toString (). toByteArray () ĊĊĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . OPEN _ DOCUMENT , ĊĠĠĠĠĠĠĠ Ġparams ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" OPEN _ DOCUMENT Ġ: Ġ" Ġ+ Ġres . error Msg ) ĊĊĠĠĠ Ġreturn Ġres ĊĠ Ġ} ĊĊĠ Ġ// ĠÐĹ Ð°Ðº ÑĢÑĭ ÑĤÑĮ ĠÐ´Ð¾ ÑĥÐ¼ÐµÐ½ÑĤ Ġ( ÑĢ Ð°Ñģ Ð¿ ÐµÑĩ Ð°ÑĤ Ð°ÑĤÑĮ ĠÑĩ ÐµÐº ) ĊĠ Ġfun Ġclose Document (): ĠResponse Ġ{ ĊĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . CLOSE _ DOCUMENT , ĊĠĠĠĠĠĠĠ Ġbyte ArrayOf () ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" CLOSE _ DOCUMENT Ġ: Ġ" Ġ+ Ġres . error Msg ) ĊĊĠĠĠ Ġreturn Ġres ĊĠ Ġ} ĊĊĠ Ġ// ĠÐŁ ÐµÑĩ Ð°ÑĤÑĮ ĠÐ· Ð°Ð³ Ð¾Ð» Ð¾Ð² ÐºÐ° ĠÐ´Ð»Ñı ĠÐ½Ð¾Ð² Ð¾Ð³Ð¾ ĠÐ´ Ð¾Ðº ÑĥÐ¼ÐµÐ½ÑĤ Ð° ĊĠ Ġfun Ġprint Header () Ġ{ ĊĠĠĠ Ġvar Ġparams Ġ= Ġbyte ArrayOf () ĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . PRINT _ HEADER , ĊĠĠĠĠĠĠĠ Ġparams ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" PRINT _ HEADER Ġ: Ġ" Ġ+ Ġres . error Msg ) ĊĊĠ Ġ} ĊĊĠ Ġ// ĠÐĲ Ð½ Ð½ Ñĥ Ð»Ð¸ ÑĢÐ¾Ð² Ð°ÑĤÑĮ ĠÐ´ Ð¾Ðº ÑĥÐ¼ÐµÐ½ÑĤ ĊĠ Ġfun Ġabort Document (): ĠResponse Ġ{ ĊĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . ABORT _ DOCUMENT , ĊĠĠĠĠĠĠĠ Ġbyte ArrayOf () ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" ABORT _ DOCUMENT Ġ: Ġ" Ġ+ Ġres . error Msg ) ĊĊĠĠĠ Ġreturn Ġres ĊĊĠ Ġ} ĊĊĠ Ġ// ĠÐŁ Ð¾Ð´ Ð¸ÑĤ Ð¾Ð³ ĊĠ Ġfun Ġsub Total (): ĠResponse Ġ{ ĊĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . SUB _ TOTAL , ĊĠĠĠĠĠĠĠ Ġbyte ArrayOf () ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" SUB _ TOTAL Ġ: Ġ" Ġ+ Ġres . error Msg ) ĊĊĠĠĠ Ġreturn Ġres ĊĠ Ġ} ĊĊĠ Ġ// ĠÐ¡ ÐºÐ¸ Ð´ ÐºÐ° ĠÐ½Ð° ĠÑĤ Ð¾Ð² Ð°ÑĢ / Ñĩ ÐµÐº ĊĠ Ġfun Ġsale For Doc Or Product ( type : ĠDiscount , Ġpercent Or Sum : ĠInt , Ġname : ĠString Ġ= Ġ"") : ĠResponse Ġ{ ĊĠĠĠ Ġvar Ġparams Ġ= Ġbyte ArrayOf () Ċ // ĠĠĠĠĠ Ġdoc Ġtype ĊĠĠĠ Ġparams Ġ+= Ġtype . data ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS ĊĠĠĠ Ġparams Ġ+= Ġcharset Encoder . encode ( name ). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS ĊĠĠĠ Ġparams Ġ+= Ġpercent Or Sum . toString (). toByteArray () ĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . DIS COUNT , ĊĠĠĠĠĠĠĠ Ġparams ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . e (" SP 8 1 1 ", Ġ" DIS COUNT Ġ: Ġ" Ġ+ Ġres . error Msg ) ĊĊĠĠĠ Ġreturn Ġres ĊĠ Ġ} ĊĊĠ Ġ// ĠÐł Ð°Ñģ Ð¿ ÐµÑĩ Ð°ÑĤ Ð°ÑĤÑĮ ĠÐ¾ÑĤ ÑĩÐµÑĤ ĠÐ±ÐµÐ· ĠÐ³ Ð°ÑĪ ÐµÐ½Ð¸Ñı Ġ( X - Ð¾ÑĤ ÑĩÐµÑĤ ) ĊĠ Ġfun Ġx Report (): ĠResponse Ġ{ ĊĠĠĠ Ġvar Ġparams Ġ= Ġbyte ArrayOf () ĊĠĠĠ Ġparams Ġ= Ġparams . plus (" 0 1 ". toByteArray ()) ĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . X _ REPORT , ĊĠĠĠĠĠĠĠ Ġparams ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" X _ REPORT Ġ: Ġ" Ġ+ Ġres . error Msg ) ĊĊĠĠĠ Ġreturn Ġres ĊĠ Ġ} ĊĊĠ Ġ// ĠÐł Ð°Ñģ Ð¿ ÐµÑĩ Ð°ÑĤ Ð°ÑĤÑĮ ĠÐ¾ÑĤ ÑĩÐµÑĤ ĠÑģ ĠÐ³ Ð°ÑĪ ÐµÐ½Ð¸ ÐµÐ¼ Ġ( Z - Ð¾ÑĤ ÑĩÐµÑĤ ) ĊĠ Ġfun Ġz Report (): ĠResponse Ġ{ ĊĠĠĠ Ġvar Ġparams Ġ= Ġbyte ArrayOf () ĊĠĠĠ Ġparams Ġ+= Ġ" 0 1 ". toByteArray () ĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . Z _ REPORT , ĊĠĠĠĠĠĠĠ Ġparams ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" Z _ REPORT Ġ: Ġ" Ġ+ Ġres . error Msg ) ĊĊĠĠĠ Ġreturn Ġres ĊĠ Ġ} ĊĊĠ Ġ// ĠÐĺ Ð½Ð¸ ÑĨÐ¸ Ð°Ð»Ð¸Ð· Ð°ÑĨÐ¸Ñı ĠÐ ¤ Ðł Ġ( ÐŁ ÐµÑĢ ÐµÐ´ ĠÐ»Ñİ Ð± Ñĭ Ð¼ ĠÑĩ ÐµÐº Ð¾Ð¼ ) ĊĠ Ġfun Ġinit FR (): ĠResponse Ġ{ ĊĠĠĠ Ġval Ġdate Ġ= Ġif Ġ( Build . VERSION . SDK _ INT Ġ>= ĠBuild . VERSION _ CODES . O ) Ġ{ ĊĠĠĠĠĠ ĠLocalDateTime . now () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ ĠTODO (" VERSION . SDK _ INT Ġ< ĠO ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġformatted Date Ġ= Ġdate . format ( DateTime Formatter . of Pattern (" DD MM YY ")) ĊĠĠĠ Ġval Ġformatted Hour Ġ= Ġdate . format ( DateTime Formatter . of Pattern (" HH mm ss ")) ĊĊĠĠĠ Ġvar Ġparams Ġ= Ġformatted Date . toByteArray ( Charset . default Charset ()); ĊĠĠĠ Ġparams Ġ= Ġparams . plus ( Constants . FS ) ĊĠĠĠ Ġparams Ġ= Ġparams . plus ( formatted Hour . toByteArray ( Charset . default Charset ())) ĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . INIT , ĊĠĠĠĠĠĠĠ Ġparams ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" init FR Ġ: Ġ" Ġ+ Ġres . error Msg ) ĊĠĠĠ Ġreturn Ġres ĊĊĠ Ġ} ĊĊĠ Ġ// ĠÐŀ ÑĤ Ðº ÑĢÑĭ ÑĤÑĮ ĠÐ´ ÐµÐ½ ÐµÐ¶ Ð½ÑĭÐ¹ ĠÑı Ñī Ð¸Ðº ĊĠ Ġfun Ġopen Cash Drawer (): ĠResponse Ġ{ ĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . OPEN _ C ASH _ DRAW ER , ĊĠĠĠĠĠĠĠ Ġbyte ArrayOf () ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" OPEN _ C ASH _ DRAW ER Ġ: Ġ" Ġ+ Ġres . error Msg ) ĊĊĠĠĠ Ġreturn Ġres ĊĊĠ Ġ} ĊĊĠ Ġ// ĠÐ£ ÑģÑĤÐ°Ð½Ð¾Ð² Ð¸ÑĤÑĮ ĠÑģÑĤ Ð°Ð² ÐºÐ¸ ĠÐĿ Ð´ Ñģ ĊĠ Ġfun Ġset N DS (): ĠResponse Ġ{ ĊĊĠĠĠ Ġvar Ġparams Ġ= Ġbyte ArrayOf () ĊĠĠĠ Ġparams Ġ= Ġparams . plus (" 0 ". toByteArray ()) ĊĠĠĠ Ġparams Ġ= Ġparams . plus ( Constants . FS ) ĊĠĠĠ Ġparams Ġ= Ġparams . plus (" 2 0 ". toByteArray ()) ĊĠĠĠ Ġparams Ġ= Ġparams . plus ( Constants . FS ) ĊĠĠĠ Ġparams Ġ= Ġparams . plus (" 1 ". toByteArray ()) ĊĠĠĠ Ġparams Ġ= Ġparams . plus ( Constants . FS ) ĊĠĠĠ Ġparams Ġ= Ġparams . plus (" 1 0 ". toByteArray ()) ĊĊĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . SET _ N DS , ĊĠĠĠĠĠĠĠ Ġparams ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" set N DS Ġ: Ġ" Ġ+ Ġres . error Msg ) ĊĊĠĠĠ Ġreturn Ġres ĊĊĠ Ġ} ĊĊĠ Ġ// ĠÐ¿ ÐµÑĩ Ð°ÑĤÑĮ ĠÐ¿ÑĢÐ¾ Ð¸Ð· Ð² Ð¾Ð»ÑĮ Ð½Ð¾Ð³Ð¾ ĠÑĤÐµÐº ÑģÑĤ Ð° ĊĠ Ġfun Ġprint Text ( data : ĠString ): ĠResponse Ġ{ ĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . PRINT _ TXT , ĊĠĠĠĠĠĠĠ Ġcharset Encoder . encode ( data ) ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġres . toString ()) ĊĠĠĠ Ġreturn Ġres ĊĠ Ġ} ĊĊĠ Ġ// ĠÐ¾ÑĤ Ð» Ð¾Ð¶ Ð¸ÑĤÑĮ ĠÑĩ ÐµÐº ĊĠ Ġ// ĠÐ´Ð°Ð½ Ð½ÑĭÐµ ĠÑĥ Ð´Ð° Ð»Ñı ÑİÑĤÑģÑı ĠÐ¸Ð· ĠÐ¾Ð¿ ÐµÑĢ Ð°ÑĤ Ð¸Ð² Ð½Ð¾Ð¹ ĠÐ¿ Ð°Ð¼ Ñı ÑĤÐ¸ ĠÐ ¤ Ðł ĠÐ¸ ĠÐ¿ ÐµÑĩ Ð°ÑĤ Ð°ÐµÑĤÑģÑı ĠÐ¿ÑĢ Ð¸Ñĩ Ð¸ Ð½Ð° ĠÐ¾ÑĤ ÐºÐ°Ð· Ð° ĠÐ¾ÑĤ ĠÑĩ ÐµÐº Ð° . ĊĠ Ġfun Ġhold Check (): ĠResponse Ġ{ ĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . H OLD _ DOCUMENT , ĊĠĠĠĠĠĠĠ Ġcharset Encoder . encode (" "). toByteArray () ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" H OLD _ DOCUMENT Ġ$ res ") ĊĠĠĠ Ġreturn Ġres ĊĠ Ġ} ĊĊĠ Ġ// ĠÐ¿ ÐµÑĩ Ð°ÑĤÑĮ ĠÐļ Ð¾Ð¿ Ð¸Ñı ĠÑĩ ÐµÐº Ð° ĊĠ Ġfun Ġprint Copy Check (): ĠResponse Ġ{ ĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . PRINT _ COPY _ CHECK , ĊĠĠĠĠĠĠĠ Ġbyte ArrayOf () ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" PRINT _ COPY _ CHECK Ġ$ res ") ĊĠĠĠ Ġreturn Ġres ĊĠ Ġ} ĊĊĠ Ġ// ĠÐĶ Ð¾Ð±Ð°Ð² Ð¸ÑĤÑĮ ĠÑĤ Ð¾Ð² Ð°ÑĢ Ð½ÑĥÑİ ĠÐ¿Ð¾Ð· Ð¸ ÑĨÐ¸ Ñİ ĊĠ Ġfun Ġadd Product ( product : ĠProduct ): ĠResponse Ġ{ ĊĠĠĠ Ġval Ġq Ġ= ĠByteBuffer . allocate ( 2 ) ĊĠĠĠ Ġq . toByteArray () ĊĠĠĠ Ġvar Ġparams Ġ= Ġbyte ArrayOf () Ċ // ĠĠĠĠĠĠĠĠĠ ĠÐĿ Ð°Ð· Ð² Ð°Ð½Ð¸Ðµ ĠÑĤ Ð¾Ð² Ð°ÑĢ Ð° ĊĠĠĠ Ġparams Ġ+= Ġcharset Encoder . encode ( product . name ). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS Ċ // ĠĠĠĠĠĠĠĠĠĠ ĠÐĲ ÑĢ ÑĤÐ¸ ÐºÑĥ Ð» ĊĠĠĠ Ġparams Ġ+= Ġcharset Encoder . encode ( product . art ic ul ). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠÐļ Ð¾Ð» Ð¸Ñĩ ÐµÑģÑĤÐ²Ð¾ ĊĠĠĠ Ġparams Ġ+= Ġproduct . count . toString (). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS Ċ // ĠĠĠĠĠĠĠĠĠĠ ĠÑĨ ÐµÐ½Ð° ĊĠĠĠ Ġparams Ġ+= Ġproduct . price . toString (). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS Ċ // ĠĠĠĠĠĠĠĠĠ ĠÑĤ Ð¾Ð² Ð°ÑĢ Ð½Ð¾Ð¹ ĠÐ³ ÑĢÑĥ Ð¿ Ð¿ Ñĭ ĊĠĠĠ Ġparams Ġ+= Ġ" 0 ". toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS ĊĠĠĠ Ġ// ĠÐ½ Ð°Ð» Ð¾Ð³ ĠÐ¸ Ð´ ÐµÐ½ÑĤ Ð¸ÑĦ Ð¸Ðº Ð°ÑĤÐ¾ÑĢ ĊĠĠĠ Ġparams Ġ+= Ġproduct . nd s . toString (). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS Ċ // ĠĠĠĠĠĠĠĠĠĠĠ ĠÐļ Ð¾Ð´ ĠÑĤ Ð¾Ð² Ð°ÑĢ Ð° ĠGT IN ĊĠĠĠ Ġparams Ġ+= Ġproduct . gt in . toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS ĊĠĠĠ Ġ// Ð¢ Ð¸Ð¿ ĠÐº Ð¾Ð´Ð° ĠGT IN ĊĠĠĠ Ġ// ÐĴ ĠÑįÑĤ Ð¾Ð¼ ĠÐ¿Ð¾Ð» Ðµ ĠÐ¿ÐµÑĢ ÐµÐ´ Ð°ÐµÑĤÑģÑı ĠÑĤÐ¸Ð¿ ĠÐº Ð¾Ð´Ð° ĊĠĠĠ Ġ// GT IN . ĠÐĴ ĠÑģÐ» ÑĥÑĩ Ð° Ðµ ĠÐ¿ ÑĥÑģÑĤ Ð¾Ð¹ ĠÑģÑĤÑĢÐ¾Ðº Ð¸ , ĠÐ ¤ Ðł ĊĠĠĠ Ġ// Ð¿ Ð¾Ñģ Ñĭ Ð» Ð°ÐµÑĤ ĠÐ² ĠÐ¡ Ðļ ÐĿ Ðŀ ĠÐ¿ÑĢ Ð¸Ð· Ð½ Ð°Ðº ĠE AN Ġ( Ð¿ ÑĢÐ¸ ĊĠĠĠ Ġ// Ð½Ð° Ð»Ð¸Ñĩ Ð¸Ð¸ ĠÐļ Ð¾Ð´Ð° ĠÑĤ Ð¾Ð² Ð°ÑĢ Ð° ĠGT IN ) ĊĠĠĠ Ġparams Ġ+= Ġproduct . gt in Type . toByteArray () ĊĊĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . ADD _ PRODUCT , ĊĠĠĠĠĠĠĠ Ġparams ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" ADD _ PRODUCT Ġ Ġ: Ġ${ res . error Msg }") ĊĊĠĠĠ Ġreturn Ġres ĊĊĠ Ġ} ĊĊĠ Ġ// ĠÐĹ Ð°Ð¿ ÑĢÐ¾Ñģ ĠÑģÑĤ Ð°ÑĤ ÑĥÑģ Ð° ĠÑģ Ð¾ÑģÑĤ Ð¾Ñı Ð½Ð¸ Ñı ĠÐ ¤ Ðł ĊĠ Ġfun Ġcheck Fr (): ĠWrit able Map ? Ġ{ ĊĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . CHECK _ FR , ĊĠĠĠĠĠĠĠ Ġbyte ArrayOf () ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġfatal Ġ= ĠString ( byte ArrayOf ( res . data [ 6 ])). toInt () ĊĠĠĠ Ġval Ġcurrent Ġ= ĠString ( byte ArrayOf ( res . data [ 8 ])). toInt () ĊĠĠĠ Ġval Ġdoc Ġ= ĠString ( byte ArrayOf ( res . data [ 1 0 ])). toInt () ĊĠĠĠ ĠSP _ 8 1 1 _ FR _ CURRENT _ ERRORS ĊĠĠĠ ĠLog . d ( ĊĠĠĠĠĠ Ġ" SP 8 1 1 ", ĊĠĠĠĠĠ Ġ" fatal Ġ==> Ġ${ get Fr Fatal Errors ( fatal , ĠSP _ 8 1 1 _ FR _ FATAL _ ERRORS )}" ĊĠĠĠ Ġ) ĊĠĠĠ ĠLog . d ( ĊĠĠĠĠĠ Ġ" SP 8 1 1 ", ĊĠĠĠĠĠ Ġ" current Ġ==> Ġ${ get Fr Fatal Errors ( current , ĠSP _ 8 1 1 _ FR _ CURRENT _ ERRORS )}" ĊĠĠĠ Ġ) Ċ // ĠĠĠ Ġval Ġfirst Ġ= Ġ( doc Ġand Ġ 0 xF 0 ) Ġshr Ġ 4 ĊĠĠĠ Ġval Ġsecond Ġ= Ġdoc Ġand Ġ 0 x 0 F ĊĊĠĠĠ ĠLog . d ( ĊĠĠĠĠĠ Ġ" SP 8 1 1 ", ĊĠĠĠĠĠ Ġ" doc Ġ==> Ġ${ SP _ 8 1 1 _ FR _ DOC _ ERRORS [ second ]}" ĊĊĠĠĠ Ġ) ĊĠĠĠ Ġval Ġdata Ġ= ĠArguments . create Map () ĊĠĠĠ Ġdata . putString (" fatal ", Ġget Fr Fatal Errors ( fatal , ĠSP _ 8 1 1 _ FR _ FATAL _ ERRORS ). toString ()) ĊĠĠĠ Ġdata . putString (" current ", Ġget Fr Fatal Errors ( current , ĠSP _ 8 1 1 _ FR _ CURRENT _ ERRORS ). toString ()) ĊĠĠĠ Ġdata . putString (" doc ", ĠSP _ 8 1 1 _ FR _ DOC _ ERRORS [ second ]. toString ()) ĊĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" CHECK _ FR Ġ: Ġ" Ġ+ Ġres . toString () Ġ+ Ġ"\ n " Ġ+ ĠUtils . get HexString ( res . data )) ĊĊĠĠĠ Ġreturn Ġdata ĊĠ Ġ} ĊĊĠ Ġfun Ġget Fr Params ( row : ĠInt , Ġcolumn : ĠInt ): ĠString Ġ{ ĊĠĠĠ Ġvar Ġparams Ġ= Ġbyte ArrayOf () ĊĠĠĠ Ġparams Ġ+= Ġrow . toString (). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS ĊĠĠĠ Ġparams Ġ+= Ġcolumn . toString (). toByteArray () ĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . GET _ FR _ PARAMS , ĊĠĠĠĠĠĠĠ Ġparams ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" GET _ FR _ PARAMS Ġ${ res . error Msg }") ĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" GET _ FR _ PARAMS Ġ${ Utils . get HexString ( res . data )} ") ĊĊĠĠĠ Ġval Ġdoc Ġ= ĠString ( byte ArrayOf ( res . data [ 6 ])). toInt () ĊĊĊĠĠĠ Ġreturn Ġ"$ doc "; ĊĊĠ Ġ} ĊĊĠ Ġfun Ġset Fr Params ( row : ĠInt , Ġcolumn : ĠInt , Ġvalue : ĠString ): ĠResponse Ġ{ ĊĠĠĠ Ġvar Ġparams Ġ= Ġbyte ArrayOf () ĊĠĠĠ Ġparams Ġ+= Ġrow . toString (). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS ĊĠĠĠ Ġparams Ġ+= Ġcolumn . toString (). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS ĊĠĠĠ Ġparams Ġ+= Ġvalue . toByteArray () ĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . SET _ FR _ PARAMS , ĊĠĠĠĠĠĠĠ Ġparams ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" SET _ FR _ PARAMS Ġ Ġ${ res . error Msg }") ĊĊĠĠĠ Ġreturn Ġres ĊĠ Ġ} ĊĊĠ Ġfun Ġcash InOut Operation ( cash Name : ĠString , Ġsum m Or Count : ĠInt ): ĠResponse Ġ{ ĊĠĠĠ Ġvar Ġparams Ġ= Ġbyte ArrayOf () ĊĊĠĠĠ Ġparams Ġ+= Ġcharset Encoder . encode ( cash Name ). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS ĊĠĠĠ Ġparams Ġ+= Ġsum m Or Count . toString (). toByteArray () ĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . C ASH _ OPERATION , ĊĠĠĠĠĠĠĠ Ġparams ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" C ASH _ OPERATION Ġ Ġ${ res . error Msg }") ĊĊĠĠĠ Ġreturn Ġres ĊĠ Ġ} ĊĊĠ Ġfun Ġpayment ( type : ĠInt , Ġsum m Or Count : ĠInt , Ġtext : ĠString ): ĠResponse Ġ{ ĊĠĠĠ Ġvar Ġparams Ġ= Ġbyte ArrayOf () ĊĠĠĠ Ġparams Ġ+= Ġtype . toString (). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS ĊĠĠĠ Ġparams Ġ+= Ġsum m Or Count . toString (). toByteArray () ĊĠĠĠ Ġparams Ġ+= ĠConstants . FS ĊĠĠĠ Ġparams Ġ+= Ġcharset Encoder . encode ( text ). toByteArray () ĊĠĠĠ Ġval Ġres Ġ= Ġrequest Wrapper ( ĊĠĠĠĠĠ ĠCommand Generator ( this . password ). add Command ( ĊĠĠĠĠĠĠĠ ĠCommands . PAYMENT _ OPERATION , ĊĠĠĠĠĠĠĠ Ġparams ĊĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) ĊĠĠĠ ĠLog . d (" SP 8 1 1 ", Ġ" PAYMENT _ OPERATION Ġ Ġ${ res . error Msg }") ĊĠĠĠ Ġreturn Ġres ĊĠ Ġ} ĊĊĊĠ Ġprivate Ġfun Ġrequest Wrapper ( command : ĠCommand Generator ): ĠResponse Ġ{ ĊĠĠĠ Ġreturn Ġthis . transport . send Command And Receive Response ( command ) ĊĠ Ġ} Ċ Ċ } Ċ Ċ private Ġfun ĠByteBuffer . toByteArray (): ĠByteArray Ġ{ ĊĠ Ġval ĠbyteArray Ġ= ĠByteArray ( this . capacity ()) ĊĠ Ġthis . get ( byteArray ) ĊĠ Ġreturn ĠbyteArray Ċ } Ċ