前端转vue
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Feild8583.ts 42KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585
  1. // 模拟 8583 报文相关的静态方法集合
  2. export default class Feild8583 {
  3. /**
  4. * 将字符串拆成 byte[] 后,按字节截取,按照域的要求左对齐,空格补全
  5. * @param str 字符串
  6. * @param leng 字节长度
  7. * @returns 处理后的字符串
  8. */
  9. public static GetFdStrBytes(str: string, leng: number): string {
  10. // 格式为 leng 个 Unicode 字符,左对齐的字符串
  11. const strFd = str.padEnd(leng);
  12. // 转换为字节数组
  13. const strBytes = defaultEncoding.getBytes(strFd);
  14. // 截取 leng 个字节
  15. return defaultEncoding.getString(strBytes, 0, leng);
  16. }
  17. /**
  18. * 将字符串拆成 byte[] 后,按字节截取
  19. * 返回长度为 str.Length,count 中的小者
  20. * @param str 字符串
  21. * @param index 字节起始位置
  22. * @param count 字节长度
  23. * @returns 处理后的字符串
  24. */
  25. public static GetStrBytes(str: string, index: number, count: number): string {
  26. // 转换为字节数组
  27. const strBytes = defaultEncoding.getBytes(str);
  28. // 获取较小的长度
  29. const leng = Math.min(count, strBytes.length);
  30. // 截取 leng 个字节
  31. return defaultEncoding.getString(strBytes, index, leng);
  32. }
  33. /**
  34. * 将 Message.Fd101_ 赋值给 FD101 对象
  35. * @param target IPage 实例
  36. * @param msg Message 实例
  37. * @returns FD101 对象
  38. */
  39. public static GetFd101(target: IPage, msg: Message): FD101 {
  40. const fd101 = new FD101();
  41. fd101.ACTNO24 = msg.Fd101_1;
  42. fd101.ACTSEQ = msg.Fd101_2;
  43. fd101.RTXAMT = msg.Fd101_3;
  44. fd101.VOCTYPE = msg.Fd101_4;
  45. fd101.VOCNUM = msg.Fd101_5;
  46. fd101.DESC10 = msg.Fd101_6;
  47. fd101.NBFLAG = msg.Fd101_7;
  48. fd101.CUSTNAME = msg.Fd101_8;
  49. fd101.AVBAL = msg.Fd101_9;
  50. fd101.CURCD = msg.Fd101_A;
  51. fd101.CASHFLAG = msg.Fd101_B;
  52. fd101.DSCPT = msg.Fd101_C;
  53. fd101.ACTTYPE = msg.Fd101_D;
  54. fd101.ACTSEQ_2 = msg.Fd101_E;
  55. fd101.PRODNAME = msg.Fd101_F;
  56. fd101.MDMTYPE = msg.Fd101_G;
  57. return fd101;
  58. }
  59. /**
  60. * 为 Message.Fd101_ 赋值
  61. * @param target IPage 实例
  62. * @param msg Message 实例
  63. * @param fd101 FD101 对象
  64. */
  65. public static SetFD101(target: IPage, msg: Message, fd101: FD101): void {
  66. msg.Fd101_1 = fd101.ACTNO24;
  67. msg.Fd101_2 = fd101.ACTSEQ;
  68. msg.Fd101_3 = fd101.RTXAMT;
  69. msg.Fd101_4 = fd101.VOCTYPE;
  70. msg.Fd101_5 = fd101.VOCNUM;
  71. msg.Fd101_6 = fd101.DESC10;
  72. msg.Fd101_7 = fd101.NBFLAG;
  73. msg.Fd101_8 = fd101.CUSTNAME;
  74. msg.Fd101_9 = fd101.AVBAL;
  75. msg.Fd101_A = fd101.CURCD;
  76. msg.Fd101_B = fd101.CASHFLAG;
  77. msg.Fd101_C = fd101.DSCPT;
  78. msg.Fd101_D = fd101.ACTTYPE;
  79. msg.Fd101_E = fd101.ACTSEQ_2;
  80. msg.Fd101_F = fd101.PRODNAME;
  81. msg.Fd101_G = fd101.MDMTYPE;
  82. }
  83. /**
  84. * 为 Message.Fd102_ 赋值
  85. * @param target IPage 实例
  86. * @param msg Message 实例
  87. * @param fd102 FD102 对象
  88. */
  89. public static SetFD102(target: IPage, msg: Message, fd102: FD102): void {
  90. msg.Fd102_1 = fd102.ACTNO24;
  91. msg.Fd102_2 = fd102.ACTSEQ;
  92. msg.Fd102_3 = fd102.VOCTYPE;
  93. msg.Fd102_4 = fd102.VOCNUM;
  94. msg.Fd102_5 = fd102.FETCHFLAG;
  95. msg.Fd102_6 = fd102.PWDFLAG;
  96. msg.Fd102_7 = fd102.QUE_PWD;
  97. msg.Fd102_8 = fd102.PAY_PWD;
  98. msg.Fd102_9 = fd102.CERTFLAG;
  99. msg.Fd102_A = fd102.ID_NO;
  100. msg.Fd102_B = fd102.STAMPFLAG;
  101. msg.Fd102_C = fd102.PWDFLAG2;
  102. msg.Fd102_D = fd102.PWD16;
  103. msg.Fd102_E = fd102.PRINTDATE;
  104. msg.Fd102_F = fd102.TXAMT15;
  105. msg.Fd102_G = fd102.CERTTYPE;
  106. msg.Fd102_H = fd102.CUSTNAME;
  107. msg.Fd102_I = fd102.AVBAL;
  108. msg.Fd102_J = fd102.CURCD;
  109. msg.Fd102_K = fd102.CT_IND;
  110. msg.Fd102_L = fd102.DSCPT;
  111. msg.Fd102_M = fd102.ACTTYPE;
  112. msg.Fd102_N = fd102.ACTSEQ_2;
  113. msg.Fd102_O = fd102.ACCOUNTFLAG;
  114. msg.Fd102_P = fd102.INTEREST1;
  115. msg.Fd102_Q = fd102.INTEREST2;
  116. msg.Fd102_R = fd102.INTEREST3;
  117. msg.Fd102_S = fd102.PAYAMOUNT;
  118. msg.Fd102_T = fd102.NEWVOCNUM;
  119. msg.Fd102_U = fd102.SPEFLAG;
  120. msg.Fd102_V = fd102.PRODNAME;
  121. msg.Fd102_W = fd102.ACTNO_24;
  122. msg.Fd102_X = fd102.EDUCREDIT;
  123. msg.Fd102_Y = fd102.DESC10;
  124. msg.Fd102_Z = fd102.MDMCODE;
  125. }
  126. /**
  127. * 将 Message.Fd102_ 赋值给 FD102 对象
  128. * @param target IPage 实例
  129. * @param msg Message 实例
  130. * @returns FD102 对象
  131. */
  132. public static GetFD102(target: IPage, msg: Message): FD102 {
  133. const fd102 = new FD102();
  134. fd102.ACTNO24 = msg.Fd102_1;
  135. fd102.ACTSEQ = msg.Fd102_2;
  136. fd102.VOCTYPE = msg.Fd102_3;
  137. fd102.VOCNUM = msg.Fd102_4;
  138. fd102.FETCHFLAG = msg.Fd102_5;
  139. fd102.PWDFLAG = msg.Fd102_6;
  140. fd102.QUE_PWD = msg.Fd102_7;
  141. fd102.PAY_PWD = msg.Fd102_8;
  142. fd102.CERTFLAG = msg.Fd102_9;
  143. fd102.ID_NO = msg.Fd102_A;
  144. fd102.STAMPFLAG = msg.Fd102_B;
  145. fd102.PWDFLAG2 = msg.Fd102_C;
  146. fd102.PWD16 = msg.Fd102_D;
  147. fd102.PRINTDATE = msg.Fd102_E;
  148. fd102.TXAMT15 = msg.Fd102_F;
  149. fd102.CERTTYPE = msg.Fd102_G;
  150. fd102.CUSTNAME = msg.Fd102_H;
  151. fd102.AVBAL = msg.Fd102_I;
  152. fd102.CURCD = msg.Fd102_J;
  153. fd102.CT_IND = msg.Fd102_K;
  154. fd102.DSCPT = msg.Fd102_L;
  155. fd102.ACTTYPE = msg.Fd102_M;
  156. fd102.ACTSEQ_2 = msg.Fd102_N;
  157. fd102.ACCOUNTFLAG = msg.Fd102_O;
  158. fd102.INTEREST1 = msg.Fd102_P;
  159. fd102.INTEREST2 = msg.Fd102_Q;
  160. fd102.INTEREST3 = msg.Fd102_R;
  161. fd102.PAYAMOUNT = msg.Fd102_S;
  162. fd102.NEWVOCNUM = msg.Fd102_T;
  163. fd102.SPEFLAG = msg.Fd102_U;
  164. fd102.PRODNAME = msg.Fd102_V;
  165. fd102.ACTNO_24 = msg.Fd102_W;
  166. fd102.EDUCREDIT = msg.Fd102_X;
  167. fd102.DESC10 = msg.Fd102_Y;
  168. fd102.MDMCODE = msg.Fd102_Z;
  169. return fd102;
  170. }
  171. /**
  172. * 获取 FD102 域字符串
  173. * (未公开 Message 前的笨方法 add slzh)
  174. * @param target IPage 实例
  175. * @param msg Message 实例
  176. * @returns FD102 域字符串
  177. */
  178. public static GetFd102(target: IPage, msg: Message): string {
  179. /* string.Substring 截取的是 四个字节 unicode ,Fd102_H 截取出来的是 63 个字节 */
  180. // Encoding.Default.GetString(Encoding.Default.GetBytes(strLineConten), 0, 20);
  181. return (
  182. this.GetFdStrBytes(msg.Fd102_1, 24) +
  183. this.GetFdStrBytes(msg.Fd102_2, 6) +
  184. this.GetFdStrBytes(msg.Fd102_3, 3) +
  185. this.GetFdStrBytes(msg.Fd102_4, 16) +
  186. this.GetFdStrBytes(msg.Fd102_5, 1) +
  187. this.GetFdStrBytes(msg.Fd102_6, 1) +
  188. this.GetFdStrBytes(msg.Fd102_7, 16) +
  189. this.GetFdStrBytes(msg.Fd102_8, 16) +
  190. this.GetFdStrBytes(msg.Fd102_9, 1) +
  191. this.GetFdStrBytes(msg.Fd102_A, 20) +
  192. this.GetFdStrBytes(msg.Fd102_B, 1) +
  193. this.GetFdStrBytes(msg.Fd102_C, 1) +
  194. this.GetFdStrBytes(msg.Fd102_D, 16) +
  195. this.GetFdStrBytes(msg.Fd102_E, 8) +
  196. this.GetFdStrBytes((msg.Fd102_F.ToDecimal() * 100).toString(), 16) +
  197. this.GetFdStrBytes(msg.Fd102_G, 1) +
  198. // + this.GetFdStrBytes(msg.Fd102_H, 60)
  199. this.GetFdStrBytes(msg.Fd102_H, 120) +
  200. this.GetFdStrBytes((msg.Fd102_I.ToDecimal() * 100).toString(), 16) +
  201. this.GetFdStrBytes(msg.Fd102_J, 2) +
  202. this.GetFdStrBytes(msg.Fd102_K, 1) +
  203. this.GetFdStrBytes(msg.Fd102_L, 3) +
  204. this.GetFdStrBytes(msg.Fd102_M, 1) +
  205. this.GetFdStrBytes(msg.Fd102_N, 6) +
  206. this.GetFdStrBytes(msg.Fd102_O, 1) +
  207. this.GetFdStrBytes((msg.Fd102_P.ToDecimal() * 100).toString(), 16) +
  208. this.GetFdStrBytes((msg.Fd102_Q.ToDecimal() * 100).toString(), 16) +
  209. this.GetFdStrBytes((msg.Fd102_R.ToDecimal() * 100).toString(), 16) +
  210. this.GetFdStrBytes((msg.Fd102_S.ToDecimal() * 100).toString(), 16) +
  211. this.GetFdStrBytes(msg.Fd102_T, 16) +
  212. this.GetFdStrBytes(msg.Fd102_U, 20) +
  213. this.GetFdStrBytes(msg.Fd102_V, 30) +
  214. this.GetFdStrBytes(msg.Fd102_W, 24) +
  215. this.GetFdStrBytes(msg.Fd102_X, 1) +
  216. this.GetFdStrBytes(msg.Fd102_Y, 20)
  217. // + this.GetFdStrBytes(msg.Fd102_Z, 4)
  218. );
  219. }
  220. /**
  221. * 组 123 域 大额
  222. * @param target IPage 实例
  223. * @param fd123 hvFd123 对象
  224. * @returns 123 域字符串
  225. */
  226. public static GetHvFd123(target: IPage, fd123: hvFd123): string {
  227. return (
  228. this.GetFdStrBytes(fd123.CMTNO, 3) +
  229. this.GetFdStrBytes(fd123.O_CMTNO, 3) +
  230. this.GetFdStrBytes(fd123.PAY_QS_NO, 12) +
  231. this.GetFdStrBytes(fd123.OR_BR_NO, 12) +
  232. this.GetFdStrBytes(fd123.SENDCO, 4) +
  233. this.GetFdStrBytes(fd123.PAY_OPN_BR_NO, 12) +
  234. this.GetFdStrBytes(fd123.PAY_AC_NO, 32) +
  235. this.GetFdStrBytes(fd123.PAY_NAME, 60) +
  236. this.GetFdStrBytes(fd123.PAY_ADDR, 60) +
  237. this.GetFdStrBytes(fd123.CASH_QS_NO, 12) +
  238. this.GetFdStrBytes(fd123.AC_BR_NO, 12) +
  239. this.GetFdStrBytes(fd123.RECECO, 4) +
  240. this.GetFdStrBytes(fd123.CASH_OPN_BR_NO, 12) +
  241. this.GetFdStrBytes(fd123.CASH_AC_NO, 32) +
  242. this.GetFdStrBytes(fd123.CASH_NAME, 60) +
  243. this.GetFdStrBytes(fd123.CASH_ADDR, 60) +
  244. this.GetFdStrBytes(fd123.YW_TYPE, 2) +
  245. this.GetFdStrBytes(fd123.ORDERNO, 8) +
  246. this.GetFdStrBytes(fd123.CONTENT, 60) +
  247. this.GetFdStrBytes(((fd123.RATE.ToDecimal() * 100000)).toString(), 7) +
  248. this.GetFdStrBytes(fd123.RATEDATE, 5) +
  249. this.GetFdStrBytes(fd123.OORDERNO, 8) +
  250. this.GetFdStrBytes(fd123.PROCODE, 8) +
  251. this.GetFdStrBytes(fd123.CR_DATE, 8) +
  252. this.GetFdStrBytes(fd123.CR_BR_NO, 12) +
  253. this.GetFdStrBytes(fd123.CR_TX_NUM, 8) +
  254. this.GetFdStrBytes(fd123.QR_BR_NO, 12) +
  255. this.GetFdStrBytes(fd123.QR_TX_NUM, 8) +
  256. this.GetFdStrBytes(fd123.TX_TYPE, 1) +
  257. this.GetFdStrBytes(fd123.NOTPAY_CONTENT, 255) +
  258. this.GetFdStrBytes(fd123.NOTPAY_ORDERNO, 3) +
  259. this.GetFdStrBytes(fd123.O_NOTPAY_ORDERNO, 3) +
  260. this.GetFdStrBytes(fd123.RESP1, 1) +
  261. this.GetFdStrBytes(fd123.OPERLEVEL, 1) +
  262. this.GetFdStrBytes(fd123.PROC_STS, 1) +
  263. this.GetFdStrBytes(fd123.OPCD, 2) +
  264. this.GetFdStrBytes(fd123.LW_IND, 1) +
  265. this.GetFdStrBytes(fd123.HP_ADD_PWD, 1) +
  266. this.GetFdStrBytes((fd123.PACKID || '').padStart(8, '0'), 8) +
  267. this.GetFdStrBytes((fd123.O_PACKID || '').padStart(8, '0'), 8) +
  268. this.GetFdStrBytes((fd123.PACK_DATE || '').padStart(8, '0'), 8) +
  269. this.GetFdStrBytes((fd123.O_PACK_DATE || '').padStart(8, '0'), 8) +
  270. this.GetFdStrBytes((fd123.TXNUM || '').padStart(5, '0'), 5) +
  271. this.GetFdStrBytes((fd123.O_TXNUM || '').padStart(5, '0'), 5) +
  272. this.GetFdStrBytes(fd123.LV_YW_IND, 12) +
  273. this.GetFdStrBytes((fd123.RESP_DATE || '').padStart(8, '0'), 8) +
  274. this.GetFdStrBytes((fd123.RCP_STS || '').padStart(2, '0'), 2) +
  275. this.GetFdStrBytes(fd123.RESP2, 8) +
  276. this.GetFdStrBytes((fd123.RETCODE || '').padStart(2, '0'), 2) +
  277. this.GetFdStrBytes((fd123.YW_DTL_ID || '').padStart(8, '0'), 8) +
  278. this.GetFdStrBytes((fd123.ACC_IND || '').padStart(1, '0'), 1) +
  279. this.GetFdStrBytes((fd123.REQ_TYPE || '').padStart(1, '0'), 1) +
  280. this.GetFdStrBytes(((fd123.DF_FREEAMT.ToDecimal() * 100)).toString(), 16) +
  281. this.GetFdStrBytes(fd123.PROTNO, 60) +
  282. this.GetFdStrBytes((fd123.PO_NO || '').padStart(8, '0'), 8) +
  283. this.GetFdStrBytes((fd123.PO_TYPE || '').padStart(1, '0'), 1) +
  284. this.GetFdStrBytes((fd123.OTYPE || '').padStart(1, '0'), 1) +
  285. this.GetFdStrBytes(fd123.CR_TX_DATE, 8) +
  286. this.GetFdStrBytes(fd123.CR_TX_TLNO, 6) +
  287. this.GetFdStrBytes(fd123.CR_TX_TRCE, 8)
  288. );
  289. }
  290. /**
  291. * 拆 123 域 大额
  292. * @param target IPage 实例
  293. * @param FD123 123 域字符串
  294. * @returns hvFd123 对象
  295. */
  296. public static SetHvFd123(target: IPage, FD123: string): hvFd123 {
  297. const fd123_tmp = new hvFd123();
  298. FD123 = this.GetFdStrBytes(FD123, 999); // 补齐 999 位
  299. fd123_tmp.CMTNO = this.GetStrBytes(FD123, 0, 3);
  300. fd123_tmp.O_CMTNO = this.GetStrBytes(FD123, 3, 3);
  301. fd123_tmp.PAY_QS_NO = this.GetStrBytes(FD123, 6, 12);
  302. fd123_tmp.OR_BR_NO = this.GetStrBytes(FD123, 18, 12);
  303. fd123_tmp.SENDCO = this.GetStrBytes(FD123, 30, 4);
  304. fd123_tmp.PAY_OPN_BR_NO = this.GetStrBytes(FD123, 34, 12);
  305. fd123_tmp.PAY_AC_NO = this.GetStrBytes(FD123, 46, 32);
  306. fd123_tmp.PAY_NAME = this.GetStrBytes(FD123, 78, 60);
  307. fd123_tmp.PAY_ADDR = this.GetStrBytes(FD123, 138, 60);
  308. fd123_tmp.CASH_QS_NO = this.GetStrBytes(FD123, 198, 12);
  309. fd123_tmp.AC_BR_NO = this.GetStrBytes(FD123, 210, 12);
  310. fd123_tmp.RECECO = this.GetStrBytes(FD123, 222, 4);
  311. fd123_tmp.CASH_OPN_BR_NO = this.GetStrBytes(FD123, 226, 12);
  312. fd123_tmp.CASH_AC_NO = this.GetStrBytes(FD123, 238, 32);
  313. fd123_tmp.CASH_NAME = this.GetStrBytes(FD123, 270, 60);
  314. fd123_tmp.CASH_ADDR = this.GetStrBytes(FD123, 330, 60);
  315. fd123_tmp.YW_TYPE = this.GetStrBytes(FD123, 390, 2);
  316. fd123_tmp.ORDERNO = this.GetStrBytes(FD123, 392, 8);
  317. fd123_tmp.CONTENT = this.GetStrBytes(FD123, 400, 60);
  318. fd123_tmp.RATE = (this.GetStrBytes(FD123, 460, 7).ToDecimal() * 0.00001).toString();
  319. fd123_tmp.RATEDATE = this.GetStrBytes(FD123, 467, 5);
  320. fd123_tmp.OORDERNO = this.GetStrBytes(FD123, 472, 8);
  321. fd123_tmp.PROCODE = this.GetStrBytes(FD123, 480, 8);
  322. fd123_tmp.CR_DATE = this.GetStrBytes(FD123, 488, 8);
  323. fd123_tmp.CR_BR_NO = this.GetStrBytes(FD123, 496, 12);
  324. fd123_tmp.CR_TX_NUM = this.GetStrBytes(FD123, 508, 8);
  325. fd123_tmp.QR_BR_NO = this.GetStrBytes(FD123, 516, 12);
  326. fd123_tmp.QR_TX_NUM = this.GetStrBytes(FD123, 528, 8);
  327. fd123_tmp.TX_TYPE = this.GetStrBytes(FD123, 536, 1);
  328. fd123_tmp.NOTPAY_CONTENT = this.GetStrBytes(FD123, 537, 255);
  329. fd123_tmp.NOTPAY_ORDERNO = this.GetStrBytes(FD123, 792, 3);
  330. fd123_tmp.O_NOTPAY_ORDERNO = this.GetStrBytes(FD123, 795, 3);
  331. fd123_tmp.RESP1 = this.GetStrBytes(FD123, 798, 1);
  332. fd123_tmp.OPERLEVEL = this.GetStrBytes(FD123, 799, 1);
  333. fd123_tmp.PROC_STS = this.GetStrBytes(FD123, 800, 1);
  334. fd123_tmp.OPCD = this.GetStrBytes(FD123, 801, 2);
  335. fd123_tmp.LW_IND = this.GetStrBytes(FD123, 803, 1);
  336. fd123_tmp.HP_ADD_PWD = this.GetStrBytes(FD123, 804, 1);
  337. fd123_tmp.PACKID = this.GetStrBytes(FD123, 805, 8);
  338. fd123_tmp.O_PACKID = this.GetStrBytes(FD123, 813, 8);
  339. fd123_tmp.PACK_DATE = this.GetStrBytes(FD123, 821, 8);
  340. fd123_tmp.O_PACK_DATE = this.GetStrBytes(FD123, 829, 8);
  341. fd123_tmp.TXNUM = this.GetStrBytes(FD123, 837, 5);
  342. fd123_tmp.O_TXNUM = this.GetStrBytes(FD123, 842, 5);
  343. fd123_tmp.LV_YW_IND = this.GetStrBytes(FD123, 847, 12);
  344. fd123_tmp.RESP_DATE = this.GetStrBytes(FD123, 859, 8);
  345. fd123_tmp.RCP_STS = this.GetStrBytes(FD123, 867, 2);
  346. fd123_tmp.RESP2 = this.GetStrBytes(FD123, 869, 8);
  347. fd123_tmp.RETCODE = this.GetStrBytes(FD123, 877, 2);
  348. fd123_tmp.YW_DTL_ID = this.GetStrBytes(FD123, 879, 8);
  349. fd123_tmp.ACC_IND = this.GetStrBytes(FD123, 887, 1);
  350. fd123_tmp.REQ_TYPE = this.GetStrBytes(FD123, 888, 1);
  351. fd123_tmp.DF_FREEAMT = (this.GetStrBytes(FD123, 889, 16).ToDecimal() * 0.01).toString();
  352. fd123_tmp.PROTNO = this.GetStrBytes(FD123, 905, 60);
  353. fd123_tmp.PO_NO = this.GetStrBytes(FD123, 965, 8);
  354. fd123_tmp.PO_TYPE = this.GetStrBytes(FD123, 973, 1);
  355. fd123_tmp.OTYPE = this.GetStrBytes(FD123, 974, 1);
  356. fd123_tmp.CR_TX_DATE = this.GetStrBytes(FD123, 975, 8);
  357. fd123_tmp.CR_TX_TLNO = this.GetStrBytes(FD123, 983, 6);
  358. fd123_tmp.CR_TX_TRCE = this.GetStrBytes(FD123, 989, 8);
  359. return fd123_tmp;
  360. }
  361. /**
  362. * 组 123 域 小额
  363. * @param target IPage 实例
  364. * @param fd123 lvFd123 对象
  365. * @returns 123 域字符串
  366. */
  367. public static GetLvFd123(target: IPage, fd123: lvFd123): string {
  368. return (
  369. this.GetFdStrBytes(fd123.CRDB, 1) +
  370. this.GetFdStrBytes((fd123.OPCD || '').padStart(2, '0'), 2) +
  371. this.GetFdStrBytes((fd123.PKGNO || '').padStart(3, '0'), 3) +
  372. this.GetFdStrBytes((fd123.ORDERNO || '').padStart(8, '0'), 8) +
  373. this.GetFdStrBytes(fd123.TXNUM, 5) +
  374. this.GetFdStrBytes(fd123.OR_BR_NO, 12) +
  375. this.GetFdStrBytes(fd123.AC_BR_NO, 12) +
  376. this.GetFdStrBytes(((fd123.TX_AMT.ToDecimal() * 100)).toString(), 15) +
  377. this.GetFdStrBytes(fd123.PAY_OPN_BR_NO, 12) +
  378. this.GetFdStrBytes(fd123.PAY_QS_NO, 12) +
  379. this.GetFdStrBytes(fd123.PAY_AC_NO, 32) +
  380. this.GetFdStrBytes(fd123.PAY_NAME, 60) +
  381. this.GetFdStrBytes(fd123.PAY_ADDR, 60) +
  382. this.GetFdStrBytes(fd123.PWD, 8) +
  383. this.GetFdStrBytes(fd123.CASH_QS_NO, 12) +
  384. this.GetFdStrBytes(fd123.CASH_OPN_BR_NO, 12) +
  385. this.GetFdStrBytes(fd123.CASH_AC_NO, 32) +
  386. this.GetFdStrBytes(fd123.CASH_NAME, 60) +
  387. this.GetFdStrBytes(fd123.CASH_ADDR, 60) +
  388. this.GetFdStrBytes(fd123.YW_TYPE, 12) +
  389. this.GetFdStrBytes(fd123.BRF, 60) +
  390. this.GetFdStrBytes(fd123.WT_DATE, 8) +
  391. this.GetFdStrBytes(fd123.OPERLEVEL, 1) +
  392. this.GetFdStrBytes(fd123.AUTH_TEL, 6) +
  393. this.GetFdStrBytes(fd123.AUTH_PWD, 8) +
  394. this.GetFdStrBytes(fd123.NOTE_TYPE, 2) +
  395. this.GetFdStrBytes(fd123.NOTE_NO, 12) +
  396. this.GetFdStrBytes(fd123.PACK_DATE, 8) +
  397. this.GetFdStrBytes(fd123.PACK_ID, 8) +
  398. this.GetFdStrBytes(fd123.CHRG_IND, 1) +
  399. this.GetFdStrBytes(((fd123.CHRG_AMT.ToDecimal() * 100)).toString(), 15) +
  400. this.GetFdStrBytes(fd123.RESP_DAY, 8) +
  401. this.GetFdStrBytes(fd123.PO_TYPE, 2) +
  402. this.GetFdStrBytes(fd123.PO_DATE, 8) +
  403. this.GetFdStrBytes(fd123.PO_NUM, 8) +
  404. this.GetFdStrBytes(((fd123.PC_TX_AMT.ToDecimal() * 100)).toString(), 15) +
  405. this.GetFdStrBytes(((fd123.JF_TX_AMT.ToDecimal() * 100)).toString(), 15) +
  406. this.GetFdStrBytes(fd123.O_WT_DATE, 8) +
  407. this.GetFdStrBytes(fd123.O_TXNUM, 5) +
  408. this.GetFdStrBytes(fd123.O_ORDERNO, 8) +
  409. this.GetFdStrBytes(fd123.RET_CODE, 2) +
  410. this.GetFdStrBytes(fd123.RCP_STS, 2) +
  411. this.GetFdStrBytes(fd123.RESP1, 8) +
  412. this.GetFdStrBytes(fd123.RESP2, 8) +
  413. this.GetFdStrBytes(fd123.PACK_END, 1) +
  414. this.GetFdStrBytes(fd123.LV_STS, 1) +
  415. this.GetFdStrBytes(fd123.LW_IND, 1) +
  416. this.GetFdStrBytes(fd123.DFXYNO, 60) +
  417. this.GetFdStrBytes(fd123.OORBRNO, 12) +
  418. this.GetFdStrBytes(fd123.OACBRNO, 12) +
  419. this.GetFdStrBytes(fd123.PAY_AC_NO1, 32) +
  420. this.GetFdStrBytes((fd123.CR_TX_DATE || '').padStart(8, '0'), 8) +
  421. this.GetFdStrBytes(fd123.CR_TX_TLNO, 6) +
  422. this.GetFdStrBytes((fd123.CR_TX_TRCE || '').padStart(8, '0'), 8)
  423. );
  424. }
  425. /**
  426. * 拆 123 域 小额
  427. * @param target IPage 实例
  428. * @param FD123 123 域字符串
  429. * @returns lvFd123 对象
  430. */
  431. public static SetLvFd123(target: IPage, FD123: string): lvFd123 {
  432. const fd123_tmp = new lvFd123();
  433. FD123 = this.GetFdStrBytes(FD123, 999); // 补齐 999 位
  434. fd123_tmp.CRDB = this.GetStrBytes(FD123, 0, 1);
  435. fd123_tmp.OPCD = this.GetStrBytes(FD123, 1, 2);
  436. fd123_tmp.PKGNO = this.GetStrBytes(FD123, 3, 3);
  437. fd123_tmp.ORDERNO = this.GetStrBytes(FD123, 6, 8);
  438. fd123_tmp.TXNUM = this.GetStrBytes(FD123, 14, 5);
  439. fd123_tmp.OR_BR_NO = this.GetStrBytes(FD123, 19, 12);
  440. fd123_tmp.AC_BR_NO = this.GetStrBytes(FD123, 31, 12);
  441. fd123_tmp.TX_AMT = (this.GetStrBytes(FD123, 43, 15).ToDecimal() * 0.01).toString();
  442. fd123_tmp.PAY_OPN_BR_NO = this.GetStrBytes(FD123, 58, 12);
  443. fd123_tmp.PAY_QS_NO = this.GetStrBytes(FD123, 70, 12);
  444. fd123_tmp.PAY_AC_NO = this.GetStrBytes(FD123, 82, 32);
  445. fd123_tmp.PAY_NAME = this.GetStrBytes(FD123, 114, 60);
  446. fd123_tmp.PAY_ADDR = this.GetStrBytes(FD123, 174, 60);
  447. fd123_tmp.PWD = this.GetStrBytes(FD123, 234, 8);
  448. fd123_tmp.CASH_QS_NO = this.GetStrBytes(FD123, 242, 12);
  449. fd123_tmp.CASH_OPN_BR_NO = this.GetStrBytes(FD123, 254, 12);
  450. fd123_tmp.CASH_AC_NO = this.GetStrBytes(FD123, 266, 32);
  451. fd123_tmp.CASH_NAME = this.GetStrBytes(FD123, 298, 60);
  452. fd123_tmp.CASH_ADDR = this.GetStrBytes(FD123, 358, 60);
  453. fd123_tmp.YW_TYPE = this.GetStrBytes(FD123, 418, 12);
  454. fd123_tmp.BRF = this.GetStrBytes(FD123, 430, 60);
  455. fd123_tmp.WT_DATE = this.GetStrBytes(FD123, 490, 8);
  456. fd123_tmp.OPERLEVEL = this.GetStrBytes(FD123, 498, 1);
  457. fd123_tmp.AUTH_TEL = this.GetStrBytes(FD123, 499, 6);
  458. fd123_tmp.AUTH_PWD = this.GetStrBytes(FD123, 505, 8);
  459. fd123_tmp.NOTE_TYPE = this.GetStrBytes(FD123, 513, 2);
  460. fd123_tmp.NOTE_NO = this.GetStrBytes(FD123, 515, 12);
  461. fd123_tmp.PACK_DATE = this.GetStrBytes(FD123, 527, 8);
  462. fd123_tmp.PACK_ID = this.GetStrBytes(FD123, 535, 8);
  463. fd123_tmp.CHRG_IND = this.GetStrBytes(FD123, 543, 1);
  464. fd123_tmp.CHRG_AMT = (this.GetStrBytes(FD123, 544, 15).ToDecimal() * 0.01).toString();
  465. fd123_tmp.RESP_DAY = this.GetStrBytes(FD123, 559, 8);
  466. fd123_tmp.PO_TYPE = this.GetStrBytes(FD123, 567, 2);
  467. fd123_tmp.PO_DATE = this.GetStrBytes(FD123, 569, 8);
  468. fd123_tmp.PO_NUM = this.GetStrBytes(FD123, 577, 8);
  469. fd123_tmp.PC_TX_AMT = (this.GetStrBytes(FD123, 585, 15).ToDecimal() * 0.01).toString();
  470. fd123_tmp.JF_TX_AMT = (this.GetStrBytes(FD123, 600, 15).ToDecimal() * 0.01).toString();
  471. fd123_tmp.O_WT_DATE = this.GetStrBytes(FD123, 615, 8);
  472. fd123_tmp.O_TXNUM = this.GetStrBytes(FD123, 623, 5);
  473. fd123_tmp.O_ORDERNO = this.GetStrBytes(FD123, 628, 8);
  474. fd123_tmp.RET_CODE = this.GetStrBytes(FD123, 636, 2);
  475. fd123_tmp.RCP_STS = this.GetStrBytes(FD123, 638, 2);
  476. fd123_tmp.RESP1 = this.GetStrBytes(FD123, 640, 8);
  477. fd123_tmp.RESP2 = this.GetStrBytes(FD123, 648, 8);
  478. fd123_tmp.PACK_END = this.GetStrBytes(FD123, 656, 1);
  479. fd123_tmp.LV_STS = this.GetStrBytes(FD123, 657, 1);
  480. fd123_tmp.LW_IND = this.GetStrBytes(FD123, 658, 1);
  481. fd123_tmp.DFXYNO = this.GetStrBytes(FD123, 659, 60);
  482. fd123_tmp.OORBRNO = this.GetStrBytes(FD123, 719, 12);
  483. fd123_tmp.OACBRNO = this.GetStrBytes(FD123, 731, 12);
  484. fd123_tmp.PAY_AC_NO1 = this.GetStrBytes(FD123, 743, 32);
  485. fd123_tmp.CR_TX_DATE = this.GetStrBytes(FD123, 775, 8);
  486. fd123_tmp.CR_TX_TLNO = this.GetStrBytes(FD123, 783, 6);
  487. fd123_tmp.CR_TX_TRCE = this.GetStrBytes(FD123, 789, 8);
  488. return fd123_tmp;
  489. }
  490. /**
  491. * 组 125 域 授权
  492. * @param strFd125 125 域字符串
  493. * @returns AuthFd125 对象
  494. */
  495. public static SetAuthFd125(strFd125: string): AuthFd125 {
  496. const authFd125 = new AuthFd125();
  497. authFd125.DeAccount = this.GetStrBytes(strFd125, 0, 24);
  498. authFd125.CrAccount = this.GetStrBytes(strFd125, 24, 24);
  499. authFd125.CTSigns = this.GetStrBytes(strFd125, 48, 1);
  500. authFd125.DeAccountType = this.GetStrBytes(strFd125, 49, 1);
  501. authFd125.CrAccountType = this.GetStrBytes(strFd125, 50, 1);
  502. authFd125.DeAccountPro = this.GetStrBytes(strFd125, 51, 1);
  503. authFd125.CrAccountPro = this.GetStrBytes(strFd125, 52, 1);
  504. authFd125.DeIsOwn = this.GetStrBytes(strFd125, 53, 1);
  505. authFd125.CrIsOwn = this.GetStrBytes(strFd125, 54, 1);
  506. authFd125.DCIsSameCus = this.GetStrBytes(strFd125, 55, 1);
  507. authFd125.SinAmt = (this.GetStrBytes(strFd125, 56, 16).ToDecimal() * 0.01).toString();
  508. authFd125.DeCaAddAmt = (this.GetStrBytes(strFd125, 72, 16).ToDecimal() * 0.01).toString();
  509. authFd125.DeTrAddAmt = (this.GetStrBytes(strFd125, 88, 16).ToDecimal() * 0.01).toString();
  510. authFd125.LossMarked = this.GetStrBytes(strFd125, 152, 1);
  511. authFd125.DocumentType = this.GetStrBytes(strFd125, 154, 3);
  512. authFd125.DeductMarked = this.GetStrBytes(strFd125, 160, 2);
  513. authFd125.LongOrShort = this.GetStrBytes(strFd125, 164, 1);
  514. authFd125.ReMarked = this.GetStrBytes(strFd125, 168, 8);
  515. authFd125.DeOpnBrNo = this.GetStrBytes(strFd125, 176, 5);
  516. authFd125.CrOpnBrNo = this.GetStrBytes(strFd125, 181, 5);
  517. authFd125.CrTrAddAmt = (this.GetStrBytes(strFd125, 186, 16).ToDecimal() * 0.01).toString();
  518. return authFd125;
  519. }
  520. }
  521. // 定义相关的接口和类
  522. export interface IPage {
  523. // 这里可以根据实际情况补充 IPage 接口的具体属性和方法
  524. }
  525. export class Message {
  526. Fd101_1: string;
  527. Fd101_2: string;
  528. Fd101_3: string;
  529. Fd101_4: string;
  530. Fd101_5: string;
  531. Fd101_6: string;
  532. Fd101_7: string;
  533. Fd101_8: string;
  534. Fd101_9: string;
  535. Fd101_A: string;
  536. Fd101_B: string;
  537. Fd101_C: string;
  538. Fd101_D: string;
  539. Fd101_E: string;
  540. Fd101_F: string;
  541. Fd101_G: string;
  542. Fd102_1: string;
  543. Fd102_2: string;
  544. Fd102_3: string;
  545. Fd102_4: string;
  546. Fd102_5: string;
  547. Fd102_6: string;
  548. Fd102_7: string;
  549. Fd102_8: string;
  550. Fd102_9: string;
  551. Fd102_A: string;
  552. Fd102_B: string;
  553. Fd102_C: string;
  554. Fd102_D: string;
  555. Fd102_E: string;
  556. Fd102_F: string;
  557. Fd102_G: string;
  558. Fd102_H: string;
  559. Fd102_I: string;
  560. Fd102_J: string;
  561. Fd102_K: string;
  562. Fd102_L: string;
  563. Fd102_M: string;
  564. Fd102_N: string;
  565. Fd102_O: string;
  566. Fd102_P: string;
  567. Fd102_Q: string;
  568. Fd102_R: string;
  569. Fd102_S: string;
  570. Fd102_T: string;
  571. Fd102_U: string;
  572. Fd102_V: string;
  573. Fd102_W: string;
  574. Fd102_X: string;
  575. Fd102_Y: string;
  576. Fd102_Z: string;
  577. // 这里可以根据实际情况补充 Message 类的其他属性和方法
  578. }
  579. /**
  580. * 存款交易结构体
  581. */
  582. export class FD101 {
  583. /**
  584. * 1011 DATA_TYPE="0" DATA_LENG="24" DATA_DEC="0" 账号
  585. */
  586. ACTNO24: string;
  587. /**
  588. * 1012 DATA_TYPE="1" DATA_LENG="4" DATA_DEC="0" 账户序号
  589. */
  590. ACTSEQ: string;
  591. /**
  592. * 1013 DATA_TYPE="4" DATA_LENG="16" DATA_DEC="2" 金额
  593. */
  594. RTXAMT: string;
  595. /**
  596. * 1014 DATA_TYPE="0" DATA_LENG="3" DATA_DEC="0" 凭证种类
  597. */
  598. VOCTYPE: string;
  599. /**
  600. * 1015 DATA_TYPE="0" DATA_LENG="16" DATA_DEC="0" 凭证号
  601. */
  602. VOCNUM: string;
  603. /**
  604. * 1016 DATA_TYPE="0" DATA_LENG="20" DATA_DEC="0" 摘要
  605. */
  606. DESC10: string;
  607. /**
  608. * 1017 DATA_TYPE="0" DATA_LENG="1" DATA_DEC="0" 有折无折
  609. */
  610. NBFLAG: string;
  611. /**
  612. * 1018 DATA_TYPE="0" DATA_LENG="60" DATA_DEC="0" 户名
  613. */
  614. CUSTNAME: string;
  615. /**
  616. * 1019 DATA_TYPE="4" DATA_LENG="16" DATA_DEC="2" 余额
  617. */
  618. AVBAL: string;
  619. /**
  620. * 101A DATA_TYPE="0" DATA_LENG="2" DATA_DEC="0" 币种
  621. */
  622. CURCD: string;
  623. /**
  624. * 101B DATA_TYPE="0" DATA_LENG="1" DATA_DEC="0" 现转标志
  625. */
  626. CASHFLAG: string;
  627. /**
  628. * 101C DATA_TYPE="0" DATA_LENG="3" DATA_DEC="0" 摘要选项
  629. */
  630. DSCPT: string;
  631. /**
  632. * 101D DATA_TYPE="0" DATA_LENG="1" DATA_DEC="0" 帐户类型
  633. */
  634. ACTTYPE: string;
  635. /**
  636. * 101E DATA_TYPE="1" DATA_LENG="4" DATA_DEC="0" 账户序号2
  637. */
  638. ACTSEQ_2: string;
  639. /**
  640. * 101F DATA_TYPE="0" DATA_LENG="30" DATA_DEC="0" 产品名称
  641. */
  642. PRODNAME: string;
  643. /**
  644. * 101G DATA_TYPE="0" DATA_LENG="4" DATA_DEC="0" 介质种类
  645. */
  646. MDMTYPE: string;
  647. }
  648. /**
  649. * 取款交易结构体
  650. */
  651. export class FD102 {
  652. /**
  653. * 1021 DATA_TYPE="0" DATA_LENG="24 DATA_DEC="0" 账号
  654. */
  655. ACTNO24: string;
  656. /**
  657. * 1022 DATA_TYPE="1" DATA_LENG="4" DATA_DEC="0" 账户序号
  658. */
  659. ACTSEQ: string;
  660. /**
  661. * 1023 DATA_TYPE="0" DATA_LENG="3" DATA_DEC="0" 凭证种类
  662. */
  663. VOCTYPE: string;
  664. /**
  665. * 1024 DATA_TYPE="0" DATA_LENG="16" DATA_DEC="0" 凭证号
  666. */
  667. VOCNUM: string;
  668. /**
  669. * 1025 DATA_TYPE="0" DATA_LENG="1" DATA_DEC="0" 是否任意支取
  670. */
  671. FETCHFLAG: string;
  672. /**
  673. * 1026 DATA_TYPE="0" DATA_LENG="1" DATA_DEC="0" 是否凭密
  674. */
  675. PWDFLAG: string;
  676. /**
  677. * 1027 DATA_TYPE="6" DATA_LENG="16" DATA_DEC="0" 查询密码
  678. */
  679. QUE_PWD: string;
  680. /**
  681. * 1028 DATA_TYPE="6" DATA_LENG="16" DATA_DEC="0" 支取密码
  682. */
  683. PAY_PWD: string;
  684. /**
  685. * 1029 DATA_TYPE="0" DATA_LENG="1" DATA_DEC="0" 是否凭证件支取
  686. */
  687. CERTFLAG: string;
  688. /**
  689. * 102A DATA_TYPE="0" DATA_LENG="20" DATA_DEC="0" 证件号码
  690. */
  691. ID_NO: string;
  692. /**
  693. * 102B DATA_TYPE="0" DATA_LENG="1" DATA_DEC="0" 是否凭印鉴支取
  694. */
  695. STAMPFLAG: string;
  696. /**
  697. * 102C DATA_TYPE="0" DATA_LENG="1" DATA_DEC="0" 是否支付密码器
  698. */
  699. PWDFLAG2: string;
  700. /**
  701. * 102D DATA_TYPE="0" DATA_LENG="16" DATA_DEC="0" 支付密码
  702. */
  703. PWD16: string;
  704. /**
  705. * 102E DATA_TYPE="1" DATA_LENG="8" DATA_DEC="0" 出票日期
  706. */
  707. PRINTDATE: string;
  708. /**
  709. * 102F DATA_TYPE="4" DATA_LENG="16" DATA_DEC="2" 金额
  710. */
  711. TXAMT15: string;
  712. /**
  713. * 102G DATA_TYPE="0" DATA_LENG="1" DATA_DEC="0" 证件类型
  714. */
  715. CERTTYPE: string;
  716. /**
  717. * 102H DATA_TYPE="0" DATA_LENG="60" DATA_DEC="0" 户名
  718. */
  719. CUSTNAME: string;
  720. /**
  721. * 102I DATA_TYPE="4" DATA_LENG="16" DATA_DEC="2" 余额
  722. */
  723. AVBAL: string;
  724. /**
  725. * 102J DATA_TYPE="0" DATA_LENG="2" DATA_DEC="0" 币种
  726. */
  727. CURCD: string;
  728. /**
  729. * 102K DATA_TYPE="0" DATA_LENG="1" DATA_DEC="0" 现转标志
  730. */
  731. CT_IND: string;
  732. /**
  733. * 102L DATA_TYPE="0" DATA_LENG="3" DATA_DEC="0" 摘要选项
  734. */
  735. DSCPT: string;
  736. /**
  737. * 102M DATA_TYPE="0" DATA_LENG="1" DATA_DEC="0" 帐户类型
  738. */
  739. ACTTYPE: string;
  740. /**
  741. * 102N DATA_TYPE="1" DATA_LENG="4" DATA_DEC="0" 账户序号2
  742. */
  743. ACTSEQ_2: string;
  744. /**
  745. * 102O DATA_TYPE="0" DATA_LENG="1" DATA_DEC="0" 打折标志
  746. */
  747. ACCOUNTFLAG: string;
  748. /**
  749. * 102P DATA_TYPE="4" DATA_LENG="16" DATA_DEC="2" 应付利息
  750. */
  751. INTEREST1: string;
  752. /**
  753. * 102Q DATA_TYPE="4" DATA_LENG="16" DATA_DEC="2" 利息税
  754. */
  755. INTEREST2: string;
  756. /**
  757. * 102R DATA_TYPE="4" DATA_LENG="16" DATA_DEC="2" 保值利息
  758. */
  759. INTEREST3: string;
  760. /**
  761. * 102S DATA_TYPE="4" DATA_LENG="16" DATA_DEC="2" 应付总额
  762. */
  763. PAYAMOUNT: string;
  764. /**
  765. * 102T DATA_TYPE="0" DATA_LENG="16" DATA_DEC="0" 新凭证号
  766. */
  767. NEWVOCNUM: string;
  768. /**
  769. * 102U DATA_TYPE="0" DATA_LENG="20" DATA_DEC="0" 特殊标志
  770. */
  771. SPEFLAG: string;
  772. /**
  773. * 102V DATA_TYPE="0" DATA_LENG="30" DATA_DEC="0" 产品名称
  774. */
  775. PRODNAME: string;
  776. /**
  777. * 102W DATA_TYPE="0" DATA_LENG="24" DATA_DEC="0" 账号
  778. */
  779. ACTNO_24: string;
  780. /**
  781. * 102X DATA_TYPE="0" DATA_LENG="1" DATA_DEC="0" 教育证明
  782. */
  783. EDUCREDIT: string;
  784. /**
  785. * 102Y DATA_TYPE="0" DATA_LENG="20" DATA_DEC="0" 摘要
  786. */
  787. DESC10: string;
  788. /**
  789. * 102Z DATA_TYPE="0" DATA_LENG="4" DATA_DEC="0" 介质种类
  790. */
  791. MDMCODE: string;
  792. }
  793. /**
  794. * 大额类业务
  795. * 将 123 域划分子域
  796. */
  797. export class hvFd123 {
  798. /**
  799. * Cmt 编号
  800. */
  801. CMTNO: string;
  802. /**
  803. * 原 Cmt 编号
  804. */
  805. O_CMTNO: string;
  806. /**
  807. * 发起清算行
  808. */
  809. PAY_QS_NO: string;
  810. /**
  811. * 发起行行号
  812. */
  813. OR_BR_NO: string;
  814. /**
  815. * 发报中心代码
  816. */
  817. SENDCO: string;
  818. /**
  819. * 付款人开户行
  820. */
  821. PAY_OPN_BR_NO: string;
  822. /**
  823. * 记账账号
  824. */
  825. PAY_AC_NO: string;
  826. /**
  827. * 付款人名称
  828. */
  829. PAY_NAME: string;
  830. /**
  831. * 付款人地址
  832. */
  833. PAY_ADDR: string;
  834. /**
  835. * 接收清算行
  836. */
  837. CASH_QS_NO: string;
  838. /**
  839. * 接收行行号,原发起行
  840. */
  841. AC_BR_NO: string;
  842. /**
  843. * 收报中心代码
  844. */
  845. RECECO: string;
  846. /**
  847. * 收款人开户行
  848. */
  849. CASH_OPN_BR_NO: string;
  850. /**
  851. * 收款人帐号
  852. */
  853. CASH_AC_NO: string;
  854. /**
  855. * 收款人姓名
  856. */
  857. CASH_NAME: string;
  858. /**
  859. * 收款人地址
  860. */
  861. CASH_ADDR: string;
  862. /**
  863. * 业务种类描述
  864. */
  865. YW_TYPE: string;
  866. /**
  867. * 支付交易序号
  868. */
  869. ORDERNO: string;
  870. /**
  871. * 备注
  872. */
  873. CONTENT: string;
  874. /**
  875. * 拆借利率
  876. */
  877. RATE: string;
  878. /**
  879. * 拆借期限
  880. */
  881. RATEDATE: string;
  882. /**
  883. * 原支付交易序号
  884. */
  885. OORDERNO: string;
  886. /**
  887. * 处理码
  888. */
  889. PROCODE: string;
  890. /**
  891. * 查复日期
  892. */
  893. CR_DATE: string;
  894. /**
  895. * 查复行号
  896. */
  897. CR_BR_NO: string;
  898. /**
  899. * 查复书号
  900. */
  901. CR_TX_NUM: string;
  902. /**
  903. * 查询行号 原查询行号
  904. */
  905. QR_BR_NO: string;
  906. /**
  907. * 原查询书号 查询书号
  908. */
  909. QR_TX_NUM: string;
  910. /**
  911. * 原交易种类
  912. */
  913. TX_TYPE: string;
  914. /**
  915. * 退回备注
  916. */
  917. NOTPAY_CONTENT: string;
  918. /**
  919. * 退回申请号
  920. */
  921. NOTPAY_ORDERNO: string;
  922. /**
  923. * 原退回申请号
  924. */
  925. O_NOTPAY_ORDERNO: string;
  926. /**
  927. * Mbfe 应答码
  928. */
  929. RESP1: string;
  930. /**
  931. * 优先级别 0、一般;1、紧急;2、特急
  932. */
  933. OPERLEVEL: string;
  934. /**
  935. * 处理状态
  936. */
  937. PROC_STS: string;
  938. /**
  939. * 操作代码
  940. */
  941. OPCD: string;
  942. /**
  943. * 来往标识 1-往 2-来
  944. */
  945. LW_IND: string;
  946. /**
  947. * 汇票是否核押
  948. */
  949. HP_ADD_PWD: string;
  950. /**
  951. * 包序号
  952. */
  953. PACKID: string;
  954. /**
  955. * 原包序号
  956. */
  957. O_PACKID: string;
  958. /**
  959. * 包日期,定期用
  960. */
  961. PACK_DATE: string;
  962. /**
  963. * 原包日期
  964. */
  965. O_PACK_DATE: string;
  966. /**
  967. * 业务编号
  968. */
  969. TXNUM: string;
  970. /**
  971. * 原业务编号
  972. */
  973. O_TXNUM: string;
  974. /**
  975. * 业务类型编号
  976. */
  977. LV_YW_IND: string;
  978. /**
  979. * 应答日期
  980. */
  981. RESP_DATE: string;
  982. /**
  983. * 业务回执状态
  984. */
  985. RCP_STS: string;
  986. /**
  987. * Ccpc 应答码
  988. */
  989. RESP2: string;
  990. /**
  991. * 退汇原因
  992. */
  993. RETCODE: string;
  994. /**
  995. * 明细序号
  996. */
  997. YW_DTL_ID: string;
  998. /**
  999. * 实时业务付款人帐户类型
  1000. */
  1001. ACC_IND: string;
  1002. /**
  1003. * 申请类型 0=单笔 1=整包
  1004. */
  1005. REQ_TYPE: string;
  1006. /**
  1007. * 对方手续费
  1008. */
  1009. DF_FREEAMT: string;
  1010. /**
  1011. * 多方协议号
  1012. */
  1013. PROTNO: string;
  1014. /**
  1015. * 汇票号码
  1016. */
  1017. PO_NO: string;
  1018. /**
  1019. * 汇票类型
  1020. */
  1021. PO_TYPE: string;
  1022. /**
  1023. * 1-大额,2-小额
  1024. */
  1025. OTYPE: string;
  1026. /**
  1027. * 存款交易日期
  1028. */
  1029. CR_TX_DATE: string;
  1030. /**
  1031. * 存款交易柜员
  1032. */
  1033. CR_TX_TLNO: string;
  1034. /**
  1035. * 存款交易流水
  1036. */
  1037. CR_TX_TRCE: string;
  1038. }
  1039. /**
  1040. * 小额业务 123 域划分
  1041. */
  1042. export class lvFd123 {
  1043. /**
  1044. * 借贷标志 0 借 1 贷
  1045. */
  1046. CRDB: string;
  1047. /**
  1048. * 操作代码 10-录入之录入 11-录入之查询 20-修改之修改 21-修改之查询 30-复核 40-发送之发送
  1049. * 41-发送之查询 50-应答 60-接收 70-错账处理之入帐
  1050. * 71-错账处理之修改 72-错账处理之查询 80 - 冲来帐 90--冲往帐
  1051. */
  1052. OPCD: string;
  1053. /**
  1054. * Package 编号
  1055. */
  1056. PKGNO: string;
  1057. /**
  1058. * 支付交易序号
  1059. */
  1060. ORDERNO: string;
  1061. /**
  1062. * 业务类型编号
  1063. */
  1064. TXNUM: string;
  1065. /**
  1066. * 发起行行号
  1067. */
  1068. OR_BR_NO: string;
  1069. /**
  1070. * 接收行行号
  1071. */
  1072. AC_BR_NO: string;
  1073. /**
  1074. * 交易金额
  1075. */
  1076. TX_AMT: string;
  1077. /**
  1078. * 付款人开户行
  1079. */
  1080. PAY_OPN_BR_NO: string;
  1081. /**
  1082. * 付款清算行行号
  1083. */
  1084. PAY_QS_NO: string;
  1085. /**
  1086. * 付款人帐号
  1087. */
  1088. PAY_AC_NO: string;
  1089. /**
  1090. * 付款人名称
  1091. */
  1092. PAY_NAME: string;
  1093. /**
  1094. * 付款人地址
  1095. */
  1096. PAY_ADDR: string;
  1097. /**
  1098. * 储户密码
  1099. */
  1100. PWD: string;
  1101. /**
  1102. * 收款清算行行号
  1103. */
  1104. CASH_QS_NO: string;
  1105. /**
  1106. * 收款人开户行行号
  1107. */
  1108. CASH_OPN_BR_NO: string;
  1109. /**
  1110. * 收款人帐号
  1111. */
  1112. CASH_AC_NO: string;
  1113. /**
  1114. * 收款人名称
  1115. */
  1116. CASH_NAME: string;
  1117. /**
  1118. * 收款人地址
  1119. */
  1120. CASH_ADDR: string;
  1121. /**
  1122. * 业务种类
  1123. */
  1124. YW_TYPE: string;
  1125. /**
  1126. * 附言
  1127. */
  1128. BRF: string;
  1129. /**
  1130. * 委托日期
  1131. */
  1132. WT_DATE: string;
  1133. /**
  1134. * 优先级
  1135. */
  1136. OPERLEVEL: string;
  1137. /**
  1138. * 授权操作员号
  1139. */
  1140. AUTH_TEL: string;
  1141. /**
  1142. * 授权操作员密码
  1143. */
  1144. AUTH_PWD: string;
  1145. /**
  1146. * 凭证种类
  1147. */
  1148. NOTE_TYPE: string;
  1149. /**
  1150. * 凭证号码
  1151. */
  1152. NOTE_NO: string;
  1153. /**
  1154. * 包日期,定期用
  1155. */
  1156. PACK_DATE: string;
  1157. /**
  1158. * 包 id,定期用
  1159. */
  1160. PACK_ID: string;
  1161. /**
  1162. * 手续费标志
  1163. */
  1164. CHRG_IND: string;
  1165. /**
  1166. * 手续费金额
  1167. */
  1168. CHRG_AMT: string;
  1169. /**
  1170. * 期待应答日期
  1171. */
  1172. RESP_DAY: string;
  1173. /**
  1174. * 票据类型
  1175. */
  1176. PO_TYPE: string;
  1177. /**
  1178. * 票据日期
  1179. */
  1180. PO_DATE: string;
  1181. /**
  1182. * 票据号码
  1183. */
  1184. PO_NUM: string;
  1185. /**
  1186. * 赔偿金额
  1187. */
  1188. PC_TX_AMT: string;
  1189. /**
  1190. * 拒付金额
  1191. */
  1192. JF_TX_AMT: string;
  1193. /**
  1194. * 原委托日期
  1195. */
  1196. O_WT_DATE: string;
  1197. /**
  1198. * 原业务编号
  1199. */
  1200. O_TXNUM: string;
  1201. /**
  1202. * 原支付交易序号
  1203. */
  1204. O_ORDERNO: string;
  1205. /**
  1206. * 退汇原因代码
  1207. */
  1208. RET_CODE: string;
  1209. /**
  1210. * 业务回执状态
  1211. */
  1212. RCP_STS: string;
  1213. /**
  1214. * Mbfe 应答码
  1215. */
  1216. RESP1: string;
  1217. /**
  1218. * Ccpc 应答码
  1219. */
  1220. RESP2: string;
  1221. /**
  1222. * 包结束标志
  1223. */
  1224. PACK_END: string;
  1225. /**
  1226. * 交易状态
  1227. */
  1228. LV_STS: string;
  1229. /**
  1230. * 来往标识
  1231. */
  1232. LW_IND: string;
  1233. /**
  1234. * 多方协议号
  1235. */
  1236. DFXYNO: string;
  1237. /**
  1238. * 原发起行行号
  1239. */
  1240. OORBRNO: string;
  1241. /**
  1242. * 原接收行行号
  1243. */
  1244. OACBRNO: string;
  1245. /**
  1246. * 付款账户
  1247. */
  1248. PAY_AC_NO1: string;
  1249. /**
  1250. * 记账帐户存款交易日期
  1251. */
  1252. CR_TX_DATE: string;
  1253. /**
  1254. * 记账帐户存款交易柜员
  1255. */
  1256. CR_TX_TLNO: string;
  1257. /**
  1258. * 记账帐户存款交易流水
  1259. */
  1260. CR_TX_TRCE: string;
  1261. }
  1262. /**
  1263. * 授权要素 125 域划分
  1264. */
  1265. export class AuthFd125 {
  1266. /**
  1267. * 借方账号
  1268. */
  1269. DeAccount: string;
  1270. /**
  1271. * 借方账号序号
  1272. */
  1273. DeAccountSeqn: string;
  1274. /**
  1275. * 贷方账号
  1276. */
  1277. CrAccount: string;
  1278. /**
  1279. * 2、 CTSigns:转账/现金标志
  1280. * 值 :1:转账;2:现金
  1281. */
  1282. CTSigns: string;
  1283. /**
  1284. * 3、 DeAccountType:借方账户类型(对公、对私、内部)
  1285. * 值 :1:对公;2:对私;3:内部
  1286. */
  1287. DeAccountType: string;
  1288. /**
  1289. * 4、 CrAccountType:贷方账户类型(对公、对私、内部)
  1290. * 值 :1:对公;2:对私;3:内部
  1291. */
  1292. CrAccountType: string;
  1293. /**
  1294. * 5、 DeAccountPro:借方账户属性(基本户、一般户、专用户、临时户)
  1295. * 值 :1:基本户;2:一般户;3:专用户;4:临时户
  1296. */
  1297. DeAccountPro: string;
  1298. /**
  1299. * 6、 CrAccountPro:贷方账户属性(基本户、一般户、专用户、临时户)
  1300. * 值 :1:基本户;2:一般户;3:专用户;4:临时户
  1301. */
  1302. CrAccountPro: string;
  1303. /**
  1304. * 7、 DeIsOwn:借方是否是本行账号
  1305. * 值 :Y:是;N:否
  1306. */
  1307. DeIsOwn: string;
  1308. /**
  1309. * 8、 CrIsOwn:贷方是否是本行账号
  1310. * 值 :Y:是;N:否
  1311. */
  1312. CrIsOwn: string;
  1313. /**
  1314. * 9、 DCIsSameCus:借记方和贷记方是否是同一客户
  1315. * 值 :Y:是;N:否
  1316. */
  1317. DCIsSameCus: string;
  1318. /**
  1319. * 10、 SinAmt:单笔金额
  1320. * 值 :金额,如:100000.00
  1321. */
  1322. SinAmt: string;
  1323. /**
  1324. * 11、DeCaAddAmt:当日借方现金累计金额
  1325. * 类型:数字类型
  1326. * 值 :金额,如:100000.00
  1327. */
  1328. DeCaAddAmt: string;
  1329. /**
  1330. * 12、DeTrAddAmt:当日借方转账累计金额
  1331. * 类型:数字类型
  1332. * 值 :金额,如:100000.00
  1333. */
  1334. DeTrAddAmt: string;
  1335. /**
  1336. * 13、LossMarked:挂失标志
  1337. * 类型:布尔类型
  1338. * 值 :Y:是;N:否
  1339. */
  1340. LossMarked: string;
  1341. /**
  1342. * 14、DocumentType:凭证种类
  1343. * 类型:字符类型
  1344. */
  1345. DocumentType: string;
  1346. /**
  1347. * 15、DeductMarked:扣划标志
  1348. * 类型:字符类型
  1349. */
  1350. DeductMarked: string;
  1351. /**
  1352. * 16、LongOrShort:长短款标志
  1353. * 类型:布尔类型
  1354. * 值 :Y:是;N:否
  1355. */
  1356. LongOrShort: string;
  1357. /**
  1358. * 备用标志
  1359. */
  1360. ReMarked: string;
  1361. /**
  1362. * 借方账户开户行号
  1363. */
  1364. DeOpnBrNo: string;
  1365. /**
  1366. * 贷方账户开户行号
  1367. */
  1368. CrOpnBrNo: string;
  1369. /**
  1370. * 当日贷方现金累计金额
  1371. */
  1372. CrTrAddAmt: string;
  1373. /**
  1374. * 备注
  1375. */
  1376. Remarks: string;
  1377. }