12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package main
- import (
- "fmt"
- "log"
- "app.yhyue.com/moapp/jybase/mongodb"
- "github.com/gogf/gf/v2/util/gconv"
- )
- // 从解析文档中提取全部项目信息
- // 没有单位 1000一下 默认 *10000
- func getYusuanPurchasing() {
- list, _ := db.Find(cf.YusuanInfo, `{"handle":{"$exists":1}}`, nil, nil, false, -1, -1)
- //list, _ := db.Find(cf.YusuanInfo, `{"file_path" : "2024年/内蒙古/内蒙古/政府/2024_准格尔旗人民法院_14.xlsx"}`, nil, nil, false, -1, -1)
- pronum := 0
- for k, data := range *list {
- tmp, _ := data["procurementdetails_result"].([]interface{})
- if len(tmp) > 0 {
- for _, v := range tmp {
- t, _ := v.(map[string]interface{})
- tmp3, _ := t["sheetdata"].([]interface{})
- for _, v := range tmp3 {
- item, _ := v.(map[string]interface{})
- for _, f := range cf.Projectitem_field_mingxi {
- item[f] = data[f]
- }
- year := gconv.String(item["year"])
- projectname := gconv.String(item["projectname"])
- pro_code := gconv.String(item["pro_code"])
- pro_item := gconv.String(item["pro_item"])
- institution := gconv.String(item["institution"])
- number := gconv.Int64(item["number"])
- //生成hashcode
- str := fmt.Sprintf("%s%s%s%s%s%v", year, projectname, pro_code, pro_item, institution, number)
- hash_code := HashCode(str)
- item["hash_code"] = hash_code
- item["fileitem_id"] = mongodb.BsonIdToSId(data["_id"])
- pronum++
- db.Save(cf.Yusuan_mingxi, item)
- }
- }
- }
- if k%1000 == 0 {
- log.Printf("加载数据量为:%d,生成项目数据量为:%d", k, pronum)
- }
- }
- }
|