f_idcard.srf 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. $PBExportHeader$f_idcard.srf
  2. global type f_idcard from function_object
  3. end type
  4. forward prototypes
  5. global subroutine f_idcard (string idcardcode, ref s_idcard_change s_idcard)
  6. end prototypes
  7. global subroutine f_idcard (string idcardcode, ref s_idcard_change s_idcard);DateTime ls_date
  8. String ls_year,ls_mth,ls_day,ls_sex
  9. String ls_homeplace_code,ls_homeplace_name
  10. IF Len(Trim(idcardcode)) = 15 THEN
  11. ls_year = Mid(idcardcode,7,2)
  12. IF Mid(ls_year,1,1) = '0' THEN
  13. ls_year = '20'+ls_year
  14. ELSE
  15. ls_year = '19'+ls_year
  16. END IF
  17. ls_date = DateTime(Date(ls_year+'/'+Mid(idcardcode,9,2)+'/'+Mid(idcardcode,11,2)),Time('00:00:00'))
  18. IF Mod(Integer(Right(idcardcode,1)),2) = 1 THEN
  19. ls_sex = '男'
  20. ELSE
  21. ls_sex = '女'
  22. END IF
  23. ELSE
  24. ls_year = Mid(idcardcode,7,4)
  25. ls_date = DateTime(Date(ls_year+'/'+Mid(idcardcode,11,2)+'/'+Mid(idcardcode,13,2)),Time('00:00:00'))
  26. IF Mod(Integer(Mid(idcardcode,17,1)),2) = 1 THEN
  27. ls_sex = '男'
  28. ELSE
  29. ls_sex = '女'
  30. END IF
  31. END IF
  32. ls_homeplace_code = Mid(idcardcode,1,2)
  33. CHOOSE CASE ls_homeplace_code
  34. CASE '11'
  35. ls_homeplace_name = '北京'
  36. CASE '12'
  37. ls_homeplace_name = '天津'
  38. CASE '13'
  39. ls_homeplace_name = '河北'
  40. CASE '14'
  41. ls_homeplace_name = '山西'
  42. CASE '15'
  43. ls_homeplace_name = '内蒙古'
  44. CASE '21'
  45. ls_homeplace_name = '辽宁'
  46. CASE '22'
  47. ls_homeplace_name = '吉林'
  48. CASE '23'
  49. ls_homeplace_name = '黑龙江'
  50. CASE '31'
  51. ls_homeplace_name = '上海'
  52. CASE '32'
  53. ls_homeplace_name = '江苏'
  54. CASE '33'
  55. ls_homeplace_name = '浙江'
  56. CASE '34'
  57. ls_homeplace_name = '安徽'
  58. CASE '35'
  59. ls_homeplace_name = '福建'
  60. CASE '36'
  61. ls_homeplace_name = '江西'
  62. CASE '37'
  63. ls_homeplace_name = '山东'
  64. CASE '41'
  65. ls_homeplace_name = '河南'
  66. CASE '42'
  67. ls_homeplace_name = '湖北'
  68. CASE '43'
  69. ls_homeplace_name = '湖南'
  70. CASE '44'
  71. ls_homeplace_name = '广东'
  72. CASE '45'
  73. ls_homeplace_name = '广西'
  74. CASE '46'
  75. ls_homeplace_name = '海南'
  76. CASE '50'
  77. ls_homeplace_name = '重庆'
  78. CASE '51'
  79. ls_homeplace_name = '四川'
  80. CASE '52'
  81. ls_homeplace_name = '贵州'
  82. CASE '53'
  83. ls_homeplace_name = '云南'
  84. CASE '54'
  85. ls_homeplace_name = '西藏'
  86. CASE '61'
  87. ls_homeplace_name = '陕西'
  88. CASE '62'
  89. ls_homeplace_name = '甘肃'
  90. CASE '63'
  91. ls_homeplace_name = '青海'
  92. CASE '64'
  93. ls_homeplace_name = '宁夏'
  94. CASE '65'
  95. ls_homeplace_name = '新疆'
  96. CASE '71'
  97. ls_homeplace_name = '台湾'
  98. CASE '81'
  99. ls_homeplace_name = '香港'
  100. CASE '82'
  101. ls_homeplace_name = '澳门'
  102. CASE '91'
  103. ls_homeplace_name = '国外'
  104. END CHOOSE
  105. s_idcard.birthday = ls_date
  106. s_idcard.sex = ls_sex
  107. s_idcard.homeplace = ls_homeplace_name
  108. end subroutine