initcode.go 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. package class
  2. import (
  3. log "github.com/donnie4w/go-logger/logger"
  4. qu "qfw/util"
  5. )
  6. //加载地域
  7. func initRegion() {
  8. data_region := MysqlGlobalTool.Find(V_Code_Area, nil, "", "", -1, -1)
  9. for _, v := range *data_region {
  10. code := qu.ObjToString(v["code"])
  11. area := qu.ObjToString(v["area"])
  12. city := qu.ObjToString(v["city"])
  13. district := qu.ObjToString(v["district"])
  14. if district != "" {
  15. key := area + "~" + city + "~" + district
  16. DistrictCode[key] = code
  17. } else {
  18. if city != "" {
  19. key := area + "~" + city
  20. CityCode[key] = code
  21. } else {
  22. AreaCode[area] = code
  23. }
  24. }
  25. }
  26. log.Debug("地域加载完毕~", len(*data_region), len(AreaCode), len(CityCode), len(DistrictCode))
  27. }
  28. //加载等级代码表~level
  29. func initLevel() {
  30. data_level := MysqlMedicalTool.Find(V_Code_Level, nil, "name,code", "", -1, -1)
  31. for _, v := range *data_level {
  32. name := qu.ObjToString(v["name"])
  33. code := qu.ObjToString(v["code"])
  34. Medical_Level_Datas[name] = code
  35. }
  36. log.Debug("医疗等级表~", len(Medical_Level_Datas))
  37. }
  38. //加载类型代码表~type
  39. func initType() {
  40. data_type := MysqlMedicalTool.Find(V_Code_Type, nil, "", "", -1, -1)
  41. for _, v := range *data_type {
  42. code := qu.ObjToString(v["code"])
  43. pcode := qu.ObjToString(v["pcode"])
  44. name := qu.ObjToString(v["name"])
  45. key := ""
  46. if qu.IntAll(v["level"]) == 1 {
  47. key = name + "~"
  48. } else if qu.IntAll(v["level"]) == 2 {
  49. data := *MysqlMedicalTool.FindOne(V_Code_Type, map[string]interface{}{
  50. "code": pcode,
  51. }, "name", "")
  52. pname := qu.ObjToString(data["name"])
  53. key = pname + "~" + name
  54. } else {
  55. }
  56. Medical_Type_Datas[key] = code
  57. }
  58. log.Debug("医疗类型表表~", len(Medical_Type_Datas))
  59. }
  60. //加载科室代码表
  61. func initDeparts() {
  62. data_departs := MysqlMedicalTool.Find(V_Code_Department, nil, "", "", -1, -1)
  63. //先构建所有一级数据
  64. for _, v := range *data_departs {
  65. name := qu.ObjToString(v["name"])
  66. code := qu.ObjToString(v["code"])
  67. if qu.IntAll(v["level"]) == 1 {
  68. Medical_Departs_Datas[name] = map[string]string{
  69. "departs_code": code,
  70. }
  71. }
  72. }
  73. for _, v := range *data_departs {
  74. code := qu.ObjToString(v["code"])
  75. pcode := qu.ObjToString(v["pcode"])
  76. name := qu.ObjToString(v["name"])
  77. if qu.IntAll(v["level"]) == 2 {
  78. match_name := ""
  79. for k, v := range Medical_Departs_Datas {
  80. if v["departs_code"] == pcode {
  81. match_name = k
  82. break
  83. }
  84. }
  85. data := Medical_Departs_Datas[match_name]
  86. data[name] = code
  87. Medical_Departs_Datas[match_name] = data
  88. }
  89. }
  90. log.Debug("医疗科室表~", len(Medical_Departs_Datas))
  91. }