123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- package main
- import (
- "github.com/spf13/viper"
- "github.com/xuri/excelize/v2"
- "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
- "log"
- "strings"
- )
- var (
- yangMap = make(map[string]bool) //存储98家央企
- yangChildMap = make(map[string]bool) //存储央企 下属子公司
- codeZhu = make(map[string]string) //内外个私农合 标签
- codeZhu2 = make(map[string]string) //国企、外企、私企
- codeMap = make(map[string]string) //code-企业类型
- Mgo181 *mongodb.MongodbSim //
- MgoB *mongodb.MongodbSim //
- MgoP *mongodb.MongodbSim //
- GF GlobalConf
- )
- func InitConfig() (err error) {
- viper.SetConfigFile("config.toml") // 指定配置文件路径
- viper.SetConfigName("config") // 配置文件名称(无扩展名)
- viper.SetConfigType("toml") // 如果配置文件的名称中没有扩展名,则需要配置此项
- viper.AddConfigPath("./")
- viper.AddConfigPath("./conf/") // 还可以在工作目录中查找配置
- viper.AddConfigPath("../conf/") // 还可以在工作目录中查找配置
- err = viper.ReadInConfig() // 查找并读取配置文件
- if err != nil { // 处理读取配置文件的错误
- return
- }
- err = viper.Unmarshal(&GF)
- return err
- }
- func InitMgo() {
- //181 凭安库
- Mgo181 = &mongodb.MongodbSim{
- MongodbAddr: GF.Mongo181.Host,
- Size: 10,
- DbName: GF.Mongo181.DB,
- UserName: GF.Mongo181.Username,
- Password: GF.Mongo181.Password,
- Direct: GF.Mongo181.Direct,
- }
- Mgo181.InitPool()
- //MgoP = &mongodb.MongodbSim{
- // MongodbAddr: GF.MongoP.Host,
- // Size: 10,
- // DbName: GF.MongoP.DB,
- // UserName: GF.MongoP.Username,
- // Password: GF.MongoP.Password,
- // Direct: GF.MongoP.Direct,
- //}
- //
- //MgoP.InitPool()
- //MgoB = &mongodb.MongodbSim{
- // MongodbAddr: GF.MongoB.Host,
- // Size: 10,
- // DbName: GF.MongoB.DB,
- // UserName: GF.MongoB.Username,
- // Password: GF.MongoB.Password,
- // Direct: GF.MongoB.Direct,
- //}
- //
- //MgoB.InitPool()
- }
- // readXlsx 读取央企
- func readXlsx() {
- filePath := "央企.xlsx"
- // 1. 读取 Excel(获取 A 列数据)
- f, err := excelize.OpenFile(filePath)
- if err != nil {
- log.Fatal("❌ 无法打开 Excel 文件:", err)
- }
- defer f.Close()
- //读取央企
- rows, err := f.GetRows("Sheet1")
- if err != nil {
- log.Fatal("❌ 无法读取 Sheet1:", err)
- }
- for i := 1; i < len(rows); i++ {
- name := rows[i][0]
- if name != "" {
- yangMap[name] = true
- }
- }
- log.Println("央企数量", len(yangMap))
- // 央企下属
- rows2, err := f.GetRows("Sheet3")
- if err != nil {
- log.Fatal("❌ 无法读取 Sheet2:", err)
- }
- for i := 1; i < len(rows2); i++ {
- row := rows2[i]
- if len(row) == 0 {
- continue
- }
- name := rows2[i][0]
- if name != "" {
- yangChildMap[name] = true
- }
- }
- log.Println("央企下属数量", len(yangChildMap))
- }
- //func readXlsx2() {
- // filePath := "企业经营主体代码表.xlsx"
- // // 1. 读取 Excel(获取 A 列数据)
- // f, err := excelize.OpenFile(filePath)
- // if err != nil {
- // log.Fatal("❌ 无法打开 Excel 文件:", err)
- // }
- // defer f.Close()
- //
- // //读取央企
- // rows, err := f.GetRows("市场主体类型代码")
- // if err != nil {
- // log.Fatal("❌ 无法读取 Sheet1:", err)
- // }
- // for i := 1; i < len(rows); i++ {
- // code := strings.TrimSpace(rows[i][2])
- // name := strings.TrimSpace(rows[i][3])
- // name = strings.ReplaceAll(name, "(", "(")
- // name = strings.ReplaceAll(name, ")", ")")
- // codeMap[name] = code
- // tab1 := strings.TrimSpace(rows[i][4])
- // tab2 := strings.TrimSpace(rows[i][6])
- // codeZhu[code] = tab1
- // codeZhu2[code] = tab2
- // }
- //
- // log.Println("readXlsx2", "企业经营主体代码表 处理完毕")
- //}
- func readXlsx2() {
- filePath := "法人类型代码表.xlsx"
- // 1. 读取 Excel(获取 A 列数据)
- f, err := excelize.OpenFile(filePath)
- if err != nil {
- log.Fatal("❌ 无法打开 Excel 文件:", err)
- }
- defer f.Close()
- //读取央企
- rows, err := f.GetRows("市场主体类型代码-叶子节点")
- if err != nil {
- log.Fatal("❌ 无法读取 市场主体类型代码-叶子节点:", err)
- }
- for i := 2; i < len(rows); i++ {
- if len(rows[i]) < 16 {
- continue
- }
- code := strings.TrimSpace(rows[i][4])
- name := strings.TrimSpace(rows[i][5])
- name = strings.ReplaceAll(name, "(", "(")
- name = strings.ReplaceAll(name, ")", ")")
- codeMap[name] = code
- tab1 := strings.TrimSpace(rows[i][15])
- codeZhu[code] = tab1
- }
- log.Println("readXlsx2", "企业经营主体代码表 处理完毕")
- }
|