l2.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package main
  2. import (
  3. "fmt"
  4. "github.com/xuri/excelize/v2"
  5. "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
  6. "log"
  7. )
  8. func dealL2() {
  9. f, err := excelize.OpenFile("L2.xlsx")
  10. if err != nil {
  11. fmt.Println(err)
  12. return
  13. }
  14. defer func() {
  15. f.Save()
  16. if err := f.Close(); err != nil {
  17. fmt.Println(err)
  18. }
  19. }()
  20. rows, err := f.Rows("Sheet1")
  21. mgo := &mongodb.MongodbSim{
  22. MongodbAddr: "192.168.3.166:27082",
  23. DbName: "wcc",
  24. Size: 10,
  25. UserName: "",
  26. Password: "",
  27. }
  28. mgo.InitPool()
  29. //存储 l0 对应地下 的l2 数量总和
  30. //resa := make(map[string]map[string]interface{}, 0)
  31. i := 0
  32. for rows.Next() {
  33. i++
  34. if i == 1 {
  35. continue
  36. }
  37. if i%1000 == 0 {
  38. log.Println(i)
  39. }
  40. row, err := rows.Columns()
  41. if err != nil {
  42. fmt.Println(err)
  43. }
  44. //1.没有参保人数、企业人数
  45. where := map[string]interface{}{
  46. "company_name": row[1],
  47. }
  48. var insert = make(map[string]interface{}, 0)
  49. insert["l0"] = row[0]
  50. insert["l2"] = row[1]
  51. if len(row) == 2 {
  52. data, _ := mgo.FindOne("L2data", where)
  53. da := *data
  54. if len(da) > 0 {
  55. insert["insurance_amount"] = da["insurance_amount"]
  56. insert["employee"] = da["employee"]
  57. } else {
  58. insert["insurance_amount"] = ""
  59. insert["employee"] = ""
  60. }
  61. } else if len(row) == 3 {
  62. data, _ := mgo.FindOne("L2data", where)
  63. da := *data
  64. if len(da) > 0 {
  65. insert["insurance_amount"] = da["insurance_amount"]
  66. insert["employee"] = da["employee"]
  67. } else {
  68. insert["insurance_amount"] = row[2]
  69. insert["employee"] = ""
  70. }
  71. } else if len(row) == 4 {
  72. if (row[2] != "" && row[2] != "0") && (row[3] != "" && row[3] != "0") {
  73. insert["insurance_amount"] = row[2]
  74. insert["employee"] = row[3]
  75. } else {
  76. data, _ := mgo.FindOne("L2data", where)
  77. da := *data
  78. if len(da) > 0 {
  79. insert["insurance_amount"] = da["insurance_amount"]
  80. insert["employee"] = da["employee"]
  81. } else {
  82. insert["insurance_amount"] = row[2]
  83. insert["employee"] = row[3]
  84. }
  85. }
  86. }
  87. //
  88. mgo.Save("wcc_l2", insert)
  89. }
  90. if err = rows.Close(); err != nil {
  91. fmt.Println(err)
  92. }
  93. log.Println("over")
  94. }