other.go 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236
  1. package test
  2. import (
  3. log "github.com/donnie4w/go-logger/logger"
  4. "github.com/tealeg/xlsx"
  5. qu "qfw/util"
  6. "strings"
  7. ul "util"
  8. )
  9. //导出错误标注数据与看板数据
  10. func ExportLabelErrBidInfo() {
  11. arr1 := []string{
  12. "647daf58a1840869018fe768",
  13. "647d32eceb01e8efa6318a77",
  14. "64802ef6d6ab496933e66b76",
  15. "6481b2618aea8786d11851ab",
  16. "647fecc9cc93eebb8568132c",
  17. "647ffc14cc93eebb856854b0",
  18. "647e9704a18408690191ec0c",
  19. "647eda978aea8786d1157272",
  20. "648207aed6ab496933ecc251",
  21. "647fb7e8d6ab496933e48ba4",
  22. "647ec1e3eb01e8efa6351245",
  23. "647edcb3a18408690193cae5",
  24. "6481b714d6ab496933eb6465",
  25. "647dac5d8aea8786d113e9ab",
  26. "64812c138aea8786d11783dc",
  27. "647d9a4aa1840869018f8709",
  28. "647eedcfa1840869019416cb",
  29. "647d4c60a1840869018e7586",
  30. "64804d158aea8786d1170cd1",
  31. "647ef96ea184086901946a7e",
  32. "647eed8d8aea8786d1159a97",
  33. "647e905aa18408690191b2e1",
  34. "647ecbfba184086901935d7e",
  35. "647d41f2a1840869018e4e51",
  36. "647f2a5c8aea8786d1162132",
  37. "6480553bd6ab496933e73136",
  38. "64804d178aea8786d1170d2c",
  39. "64804631cc93eebb85693e4b",
  40. }
  41. arr2 := []string{
  42. "62d059db2f27cc9ca37bd90e",
  43. "62d129292f27cc9ca37c6deb",
  44. "62d0b3af2f27cc9ca37bf1fd",
  45. "62d09b022f27cc9ca37bebef",
  46. "62d070cd2f27cc9ca37bdf7d",
  47. "62d0729c2f27cc9ca37bdfc3",
  48. "62d06adf2f27cc9ca37bddf5",
  49. "62d06b942f27cc9ca37bde0a",
  50. "62d059db2f27cc9ca37bd90e",
  51. "62d035a22f27cc9ca37bcd62",
  52. "62d029432f27cc9ca37bc67f",
  53. "62cf355a2f27cc9ca37ae761",
  54. "62cf37202f27cc9ca37ae7d0",
  55. "62e2cd682f27cc9ca3865c41",
  56. "62e217682f27cc9ca385c8e4",
  57. "62d930622f27cc9ca380cb46",
  58. "62d8a8202f27cc9ca3802d61",
  59. "62d43ac02f27cc9ca37d4b59",
  60. "62d3ed4a2f27cc9ca37d3fa9",
  61. "62d3efa42f27cc9ca37d4014",
  62. "62d1f0262f27cc9ca37ceef7",
  63. "6476c47feb01e8efa62a295c",
  64. "62d8a8202f27cc9ca3802d61",
  65. "6433b4448aea8786d1e1d1a5",
  66. "63087e1036c823627b4e1326",
  67. "6438f42b8aea8786d1e7774c",
  68. "62e39d2f2f27cc9ca386db75",
  69. "630362142f27cc9ca397146f",
  70. "62d8dcde2f27cc9ca3806e7b",
  71. "6461e3888aea8786d1003c4c",
  72. "63086269c994e88c25e765e7",
  73. "649142f1bc7765fecd23d81b",
  74. "641ad72d779467cff19cc0e2",
  75. "62724be7923488e172581fd2",
  76. "649b9961bc7765fecd33682e",
  77. }
  78. arr := append(arr1, arr2...)
  79. isok1 := 0
  80. for _, v := range arr {
  81. data := ul.Bid_Mgo.FindById("bidding", v)
  82. if data != nil && len(data) > 2 {
  83. ul.Bid_Mgo.Save("zktest_zhongbiao_info", data)
  84. isok1++
  85. } else {
  86. data = ul.Bid_Mgo.FindById("bidding_back", v)
  87. if data != nil && len(data) > 2 {
  88. ul.Bid_Mgo.Save("zktest_zhongbiao_info", data)
  89. isok1++
  90. } else {
  91. log.Debug(v)
  92. }
  93. }
  94. }
  95. log.Debug("is over ... ", len(arr), "~", isok1)
  96. dataArr, _ := ul.Lab_Mgo.Find("f_sourceinfo_extract_0525_moban", nil, nil, nil)
  97. log.Debug("查询数量...", len(dataArr))
  98. isok2 := 0
  99. for _, v := range dataArr {
  100. i_ckdata := qu.IntAll(v["i_ckdata"])
  101. if i_ckdata == 2 {
  102. tmpid := qu.ObjToString(v["id"])
  103. v_taginfo := *qu.ObjToMap(v["v_taginfo"])
  104. for k1, v1 := range v_taginfo {
  105. if k1 == "s_winner" || k1 == "bidamount" {
  106. if qu.IntAll(v1) == 2 {
  107. data := ul.Bid_Mgo.FindById("bidding", tmpid)
  108. if len(data) > 0 {
  109. ul.Bid_Mgo.Save("zktest_zhongbiao_info", data)
  110. isok2++
  111. break
  112. } else {
  113. data = ul.Bid_Mgo.FindById("bidding_back", tmpid)
  114. if len(data) > 0 {
  115. ul.Bid_Mgo.Save("zktest_zhongbiao_info", data)
  116. isok2++
  117. break
  118. } else {
  119. log.Debug(tmpid)
  120. }
  121. }
  122. }
  123. }
  124. }
  125. }
  126. }
  127. log.Debug("is over ... ", isok2)
  128. }
  129. //导出疑似异常数据
  130. func ExportWarningBidInfo() {
  131. arr, _ := ul.Bid_Mgo.Find("zktest_zhongbiao_info", nil, nil, nil)
  132. log.Debug("此时数据...", len(arr))
  133. //7月1号之前的数据
  134. q, total := map[string]interface{}{
  135. "_id": map[string]interface{}{
  136. "$lte": ul.StringTOBsonId("649efc000000000000000000"),
  137. },
  138. }, 0
  139. sess := ul.Bid_Mgo.GetMgoConn()
  140. defer ul.Bid_Mgo.DestoryMongoConn(sess)
  141. isok, temp := 0, map[string]string{}
  142. isok = len(arr)
  143. it := sess.DB(ul.Bid_Mgo.DbName).C("bidding").Find(&q).Sort("-_id").Iter()
  144. for tmp := make(map[string]interface{}); it.Next(&tmp); total++ {
  145. if total%1000 == 0 {
  146. log.Debug("curent index ", total, "~", isok)
  147. }
  148. subtype := qu.ObjToString(tmp["subtype"])
  149. site := qu.ObjToString(tmp["site"])
  150. pkg := *qu.ObjToMap(tmp["package"])
  151. s_winner := qu.ObjToString(tmp["s_winner"])
  152. bidamount := qu.Float64All(tmp["bidamount"])
  153. if (subtype == "中标" || subtype == "成交" || subtype == "合同") &&
  154. len(pkg) > 0 && (s_winner == "" || bidamount <= float64(0)) {
  155. if temp[site] == "" {
  156. temp[site] = site
  157. isok++
  158. ul.Bid_Mgo.Save("zktest_zhongbiao_info", tmp)
  159. }
  160. }
  161. if isok >= 450 {
  162. break
  163. }
  164. tmp = make(map[string]interface{})
  165. }
  166. log.Debug("is over ", total, "~", isok)
  167. }
  168. func ExportSSKXlsxData() {
  169. ff, _ := xlsx.OpenFile("res/1.xlsx")
  170. for _, sheet := range ff.Sheets {
  171. for _, row := range sheet.Rows {
  172. var str []string
  173. for _, cell := range row.Cells {
  174. s := cell.String()
  175. s = strings.ReplaceAll(s, " ", "")
  176. s = strings.ReplaceAll(s, " ", "")
  177. str = append(str, s)
  178. }
  179. name := ""
  180. for k, v := range str {
  181. if k == 0 {
  182. name = v
  183. ul.Save_Mgo.Save("1212121", map[string]interface{}{
  184. "name": name,
  185. "alias": name,
  186. })
  187. } else {
  188. if v != "" {
  189. }
  190. ul.Save_Mgo.Save("1212121", map[string]interface{}{
  191. "name": name,
  192. "alias": v,
  193. })
  194. }
  195. }
  196. }
  197. }
  198. log.Debug("is over ......")
  199. }
  200. //......
  201. func ExportWarningDateInfo() {
  202. query, total, isok := map[string]interface{}{
  203. "_id": map[string]interface{}{
  204. "$gte": ul.StringTOBsonId("64776f000000000000000000"),
  205. "$lt": ul.StringTOBsonId("649d561f9f3f6a78fc3c149f"),
  206. },
  207. }, 0, 0
  208. log.Debug("当前获取待更新的query...", query)
  209. sess := ul.Bid_Mgo.GetMgoConn()
  210. defer ul.Bid_Mgo.DestoryMongoConn(sess)
  211. it := sess.DB(ul.Bid_Mgo.DbName).C("bidding").Find(&query).Sort("_id").Iter()
  212. for tmp := make(map[string]interface{}); it.Next(&tmp); total++ {
  213. if total%10000 == 0 {
  214. log.Debug("cur index ", total, "~", isok, "~", tmp["_id"])
  215. }
  216. toptype := qu.ObjToString(tmp["toptype"])
  217. if toptype == "拟建" {
  218. project_completedate := qu.ObjToString(tmp["project_completedate"])
  219. project_startdate := qu.ObjToString(tmp["project_startdate"])
  220. if project_completedate != "" || project_startdate != "" {
  221. isok++
  222. ul.Bid_Mgo.Save("zktest_repair_0630", tmp)
  223. }
  224. }
  225. tmp = make(map[string]interface{})
  226. }
  227. log.Debug("is over ... ", total, "~", isok)
  228. }