|
@@ -0,0 +1,635 @@
|
|
|
|
+package main
|
|
|
|
+
|
|
|
|
+import (
|
|
|
|
+ "fmt"
|
|
|
|
+ "github.com/xuri/excelize/v2"
|
|
|
|
+ "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
|
|
|
|
+ "strconv"
|
|
|
|
+ "strings"
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+var (
|
|
|
|
+ Mgo *mongodb.MongodbSim
|
|
|
|
+ baseMap = make(map[string]map[string]interface{})
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
+func Init() {
|
|
|
|
+ //181
|
|
|
|
+ Mgo = &mongodb.MongodbSim{
|
|
|
|
+ //MongodbAddr: "172.17.4.181:27001",
|
|
|
|
+ MongodbAddr: "127.0.0.1:27001",
|
|
|
|
+ DbName: "mixdata",
|
|
|
|
+ Size: 10,
|
|
|
|
+ UserName: "",
|
|
|
|
+ Password: "",
|
|
|
|
+ Direct: true,
|
|
|
|
+ }
|
|
|
|
+ Mgo.InitPool()
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+func main() {
|
|
|
|
+ Init()
|
|
|
|
+ //InitLog()
|
|
|
|
+ //getBaseInfo()
|
|
|
|
+ //dealXuKe()
|
|
|
|
+
|
|
|
|
+ //getChanges()
|
|
|
|
+ //getGuDong()
|
|
|
|
+ //getEmployee()
|
|
|
|
+
|
|
|
|
+ //getInves()
|
|
|
|
+
|
|
|
|
+ getBranch()
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//baseInfo 基础信息;
|
|
|
|
+func getBaseInfo() {
|
|
|
|
+ f, err := excelize.OpenFile("./园区企业名单及企业类型表.xlsx")
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ defer func() {
|
|
|
|
+ f.Save()
|
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ }
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ rows, err := f.GetRows("企业名单")
|
|
|
|
+ baseSheet := "基本信息"
|
|
|
|
+ baseTitle := []string{"企业名称", "公司ID", "统一社会信用代码", "法定代表人", "登记状态", "成立日期", "注册资本", "所属行业", "企业类型", "注册地址", "登记机关", "经营范围", "企业简介", "营业执照有效期自", "营业执照有效期至"}
|
|
|
|
+ styleOne, _ := f.NewStyle(
|
|
|
|
+ &excelize.Style{
|
|
|
|
+ Alignment: &excelize.Alignment{
|
|
|
|
+ Horizontal: "left",
|
|
|
|
+ Vertical: "left",
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ line := 0
|
|
|
|
+ f.NewSheet(baseSheet)
|
|
|
|
+ //xlsx.DeleteSheet("Sheet1")
|
|
|
|
+ _ = f.SetColWidth(baseSheet, "A", "C", 30)
|
|
|
|
+ _ = f.SetRowHeight(baseSheet, line, 20)
|
|
|
|
+
|
|
|
|
+ for i := 6; i < len(rows); i++ {
|
|
|
|
+ if i%100 == 0 {
|
|
|
|
+ fmt.Println(i, rows[i][2])
|
|
|
|
+ }
|
|
|
|
+ name := dealName(rows[i][2])
|
|
|
|
+ base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
|
+ baseInfo := *base
|
|
|
|
+ if len(baseInfo) == 0 || baseInfo == nil {
|
|
|
|
+ f.SetCellValue("企业名单", fmt.Sprintf("AC%v", i+1), "无")
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ baseMap[name] = baseInfo
|
|
|
|
+ company_id := baseInfo["company_id"]
|
|
|
|
+ //1. 基本信息
|
|
|
|
+ // 设置一次表头
|
|
|
|
+ if line == 0 {
|
|
|
|
+ line++
|
|
|
|
+ //设置第一行title
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ line++
|
|
|
|
+ //获取行业信息
|
|
|
|
+ hangye, _ := Mgo.FindOne("company_industry", map[string]interface{}{"company_id": company_id})
|
|
|
|
+ hangyeData := *hangye
|
|
|
|
+ valus := []interface{}{
|
|
|
|
+ baseInfo["company_name"], company_id, baseInfo["credit_no"], baseInfo["legal_person"], baseInfo["company_status"], baseInfo["establish_date"], baseInfo["capital"],
|
|
|
|
+ hangyeData["industry_l1_name"], baseInfo["company_type"], baseInfo["company_address"], baseInfo["authority"], baseInfo["business_scope"], "",
|
|
|
|
+ baseInfo["operation_startdate"], baseInfo["operation_enddate"],
|
|
|
|
+ }
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
|
|
|
|
+ _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "BA"+strconv.Itoa(line), styleOne)
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ fmt.Println("基本信息处理完毕")
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//dealXuKe 许可信息
|
|
|
|
+func dealXuKe() {
|
|
|
|
+ fmt.Println("开始处理许可信息")
|
|
|
|
+ f, err := excelize.OpenFile("./园区企业名单及企业类型表.xlsx")
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ defer func() {
|
|
|
|
+ f.Save()
|
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ }
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ rows, err := f.GetRows("企业名单")
|
|
|
|
+ baseSheet := "许可信息"
|
|
|
|
+ baseTitle := []string{"企业名称", "公司ID", "许可文件名称", "许可机关", "许可内容", "有效期自", "有效期至"}
|
|
|
|
+ styleOne, _ := f.NewStyle(
|
|
|
|
+ &excelize.Style{
|
|
|
|
+ Alignment: &excelize.Alignment{
|
|
|
|
+ Horizontal: "left",
|
|
|
|
+ Vertical: "left",
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ line := 0
|
|
|
|
+ f.NewSheet(baseSheet)
|
|
|
|
+ _ = f.SetColWidth(baseSheet, "A", "G", 20)
|
|
|
|
+ _ = f.SetRowHeight(baseSheet, line, 20)
|
|
|
|
+
|
|
|
|
+ for i := 6; i < len(rows); i++ {
|
|
|
|
+ if i%100 == 0 {
|
|
|
|
+ fmt.Println(i, rows[i][2])
|
|
|
|
+ }
|
|
|
|
+ name := dealName(rows[i][2])
|
|
|
|
+ base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
|
+ baseInfo := *base
|
|
|
|
+ if len(baseInfo) == 0 || baseInfo == nil {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ company_id := baseInfo["company_id"]
|
|
|
|
+ //1. 基本信息
|
|
|
|
+ // 设置一次表头
|
|
|
|
+ if line == 0 {
|
|
|
|
+ line++
|
|
|
|
+ //设置第一行title
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //获取行业信息
|
|
|
|
+ allow, _ := Mgo.Find("company_allow", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
|
|
|
|
+ allowDatas := *allow
|
|
|
|
+ if len(allowDatas) == 0 {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for _, allowData := range allowDatas {
|
|
|
|
+ line++
|
|
|
|
+ valus := []interface{}{
|
|
|
|
+ baseInfo["company_name"],
|
|
|
|
+ company_id,
|
|
|
|
+ allowData["allow_filename"],
|
|
|
|
+ allowData["allow_authority"],
|
|
|
|
+ allowData["allow_content"],
|
|
|
|
+ allowData["allow_startdate"],
|
|
|
|
+ allowData["allow_enddate"],
|
|
|
|
+ }
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
|
|
|
|
+ _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "K"+strconv.Itoa(line), styleOne)
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ fmt.Println("许可信息处理完毕")
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//getChanges 获取变更记录
|
|
|
|
+func getChanges() {
|
|
|
|
+ fmt.Println("开始处理变更记录")
|
|
|
|
+ f, err := excelize.OpenFile("./园区企业名单及企业类型表.xlsx")
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ defer func() {
|
|
|
|
+ f.Save()
|
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ }
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ rows, err := f.GetRows("企业名单")
|
|
|
|
+ baseSheet := "变更记录"
|
|
|
|
+ baseTitle := []string{"企业名称", "公司ID", "变更事项", "变更类型", "变更前内容", "变更后内容", "变更日期"}
|
|
|
|
+ styleOne, _ := f.NewStyle(
|
|
|
|
+ &excelize.Style{
|
|
|
|
+ Alignment: &excelize.Alignment{
|
|
|
|
+ Horizontal: "left",
|
|
|
|
+ Vertical: "left",
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ line := 0
|
|
|
|
+ f.NewSheet(baseSheet)
|
|
|
|
+ _ = f.SetColWidth(baseSheet, "A", "G", 30)
|
|
|
|
+ _ = f.SetRowHeight(baseSheet, line, 20)
|
|
|
|
+
|
|
|
|
+ for i := 6; i < len(rows); i++ {
|
|
|
|
+ if i%100 == 0 {
|
|
|
|
+ fmt.Println(i, rows[i][2])
|
|
|
|
+ }
|
|
|
|
+ name := dealName(rows[i][2])
|
|
|
|
+ base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
|
+ baseInfo := *base
|
|
|
|
+ if len(baseInfo) == 0 || baseInfo == nil {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ company_id := baseInfo["company_id"]
|
|
|
|
+ //1. 基本信息
|
|
|
|
+ // 设置一次表头
|
|
|
|
+ if line == 0 {
|
|
|
|
+ line++
|
|
|
|
+ //设置第一行title
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //获取行业信息
|
|
|
|
+ change, _ := Mgo.Find("company_change", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
|
|
|
|
+ changeDatas := *change
|
|
|
|
+ if len(changeDatas) == 0 {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for _, changeData := range changeDatas {
|
|
|
|
+ line++
|
|
|
|
+ valus := []interface{}{
|
|
|
|
+ baseInfo["company_name"],
|
|
|
|
+ company_id,
|
|
|
|
+ changeData["change_field"],
|
|
|
|
+ changeData["change_type"],
|
|
|
|
+ changeData["content_before"],
|
|
|
|
+ changeData["content_after"],
|
|
|
|
+ changeData["change_date"],
|
|
|
|
+ }
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
|
|
|
|
+ _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ fmt.Println("变更记录处理完毕")
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//getGuDong 股东及其出资信息
|
|
|
|
+func getGuDong() {
|
|
|
|
+ fmt.Println("开始处理 - 股东及其出资信息")
|
|
|
|
+ f, err := excelize.OpenFile("./园区企业名单及企业类型表.xlsx")
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ defer func() {
|
|
|
|
+ f.Save()
|
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ }
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ rows, err := f.GetRows("企业名单")
|
|
|
|
+ baseSheet := "股东及其出资信息"
|
|
|
|
+ baseTitle := []string{"企业名称", "公司ID", "股东名称", "持股比例", "认缴出资额", "实缴出资额", "认缴出资日期", "实缴出质日期"}
|
|
|
|
+ styleOne, _ := f.NewStyle(
|
|
|
|
+ &excelize.Style{
|
|
|
|
+ Alignment: &excelize.Alignment{
|
|
|
|
+ Horizontal: "left",
|
|
|
|
+ Vertical: "left",
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ line := 0
|
|
|
|
+ f.NewSheet(baseSheet)
|
|
|
|
+ _ = f.SetColWidth(baseSheet, "A", "C", 30)
|
|
|
|
+ _ = f.SetRowHeight(baseSheet, line, 20)
|
|
|
|
+
|
|
|
|
+ for i := 6; i < len(rows); i++ {
|
|
|
|
+ if i%100 == 0 {
|
|
|
|
+ fmt.Println(i, rows[i][2])
|
|
|
|
+ }
|
|
|
|
+ name := dealName(rows[i][2])
|
|
|
|
+ base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
|
+ baseInfo := *base
|
|
|
|
+ if len(baseInfo) == 0 || baseInfo == nil {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ company_id := baseInfo["company_id"]
|
|
|
|
+ //1. 基本信息
|
|
|
|
+ // 设置一次表头
|
|
|
|
+ if line == 0 {
|
|
|
|
+ line++
|
|
|
|
+ //设置第一行title
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //获取股东 信息
|
|
|
|
+ partner, _ := Mgo.Find("company_partner", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
|
|
|
|
+ partnerDatas := *partner
|
|
|
|
+ if len(partnerDatas) == 0 {
|
|
|
|
+ continue
|
|
|
|
+ } else {
|
|
|
|
+ for _, part := range partnerDatas {
|
|
|
|
+ line++
|
|
|
|
+ valus := []interface{}{
|
|
|
|
+ baseInfo["company_name"],
|
|
|
|
+ company_id,
|
|
|
|
+ part["stock_name"],
|
|
|
|
+ part["stock_proportion"],
|
|
|
|
+ part["stock_capital"],
|
|
|
|
+ part["stock_realcapital"],
|
|
|
|
+ }
|
|
|
|
+ //获取认缴出资 信息
|
|
|
|
+ pay, _ := Mgo.FindOne("company_partner_pay", map[string]interface{}{"company_id": company_id, "stock_name": part["stock_name"]})
|
|
|
|
+ payData := *pay
|
|
|
|
+ valus = append(valus, payData["stock_date"])
|
|
|
|
+
|
|
|
|
+ //
|
|
|
|
+ repay, _ := Mgo.FindOne("company_partner_realpay", map[string]interface{}{"company_id": company_id, "stock_name": part["stock_name"]})
|
|
|
|
+ repayData := *repay
|
|
|
|
+ valus = append(valus, repayData["stock_realdate"])
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
|
|
|
|
+ _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ fmt.Println("股东及其出资信息 - 处理完毕")
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//getEmployee 获取高管
|
|
|
|
+func getEmployee() {
|
|
|
|
+ fmt.Println("开始处理 高管信息")
|
|
|
|
+ f, err := excelize.OpenFile("./园区企业名单及企业类型表.xlsx")
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ defer func() {
|
|
|
|
+ f.Save()
|
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ }
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ rows, err := f.GetRows("企业名单")
|
|
|
|
+ baseSheet := "高管信息"
|
|
|
|
+ baseTitle := []string{"企业名称", "公司ID", "姓名", "职位"}
|
|
|
|
+ styleOne, _ := f.NewStyle(
|
|
|
|
+ &excelize.Style{
|
|
|
|
+ Alignment: &excelize.Alignment{
|
|
|
|
+ Horizontal: "left",
|
|
|
|
+ Vertical: "left",
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ line := 0
|
|
|
|
+ f.NewSheet(baseSheet)
|
|
|
|
+ _ = f.SetColWidth(baseSheet, "A", "G", 25)
|
|
|
|
+ _ = f.SetRowHeight(baseSheet, line, 20)
|
|
|
|
+
|
|
|
|
+ for i := 6; i < len(rows); i++ {
|
|
|
|
+ if i%100 == 0 {
|
|
|
|
+ fmt.Println(i, rows[i][2])
|
|
|
|
+ }
|
|
|
|
+ name := dealName(rows[i][2])
|
|
|
|
+ base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
|
+ baseInfo := *base
|
|
|
|
+ if len(baseInfo) == 0 || baseInfo == nil {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ company_id := baseInfo["company_id"]
|
|
|
|
+ //1. 基本信息
|
|
|
|
+ // 设置一次表头
|
|
|
|
+ if line == 0 {
|
|
|
|
+ line++
|
|
|
|
+ //设置第一行title
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //获取行业信息
|
|
|
|
+ employee, _ := Mgo.Find("company_employee", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
|
|
|
|
+ employeeDatas := *employee
|
|
|
|
+ if len(employeeDatas) == 0 {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for _, Data := range employeeDatas {
|
|
|
|
+ line++
|
|
|
|
+ valus := []interface{}{
|
|
|
|
+ baseInfo["company_name"],
|
|
|
|
+ company_id,
|
|
|
|
+ Data["employee_name"],
|
|
|
|
+ Data["position"],
|
|
|
|
+ }
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
|
|
|
|
+ _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ fmt.Println("高管信息 处理完毕")
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//getInves 对外投资
|
|
|
|
+func getInves() {
|
|
|
|
+ fmt.Println("开始处理 对外投资信息")
|
|
|
|
+ f, err := excelize.OpenFile("./园区企业名单及企业类型表.xlsx")
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ defer func() {
|
|
|
|
+ f.Save()
|
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ }
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ rows, err := f.GetRows("企业名单")
|
|
|
|
+ baseSheet := "对外投资信息"
|
|
|
|
+ baseTitle := []string{"企业名称", "公司ID", "被投资企业名称", "注册资本", "出资金额", "出资比例", "登记状态", "成立日期"}
|
|
|
|
+ styleOne, _ := f.NewStyle(
|
|
|
|
+ &excelize.Style{
|
|
|
|
+ Alignment: &excelize.Alignment{
|
|
|
|
+ Horizontal: "left",
|
|
|
|
+ Vertical: "left",
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ line := 0
|
|
|
|
+ f.NewSheet(baseSheet)
|
|
|
|
+ _ = f.SetColWidth(baseSheet, "A", "G", 25)
|
|
|
|
+ _ = f.SetRowHeight(baseSheet, line, 20)
|
|
|
|
+
|
|
|
|
+ for i := 6; i < len(rows); i++ {
|
|
|
|
+ if i%100 == 0 {
|
|
|
|
+ fmt.Println(i, rows[i][2])
|
|
|
|
+ }
|
|
|
|
+ name := dealName(rows[i][2])
|
|
|
|
+ base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
|
+ baseInfo := *base
|
|
|
|
+ if len(baseInfo) == 0 || baseInfo == nil {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ company_id := baseInfo["company_id"]
|
|
|
|
+ //1. 基本信息
|
|
|
|
+ // 设置一次表头
|
|
|
|
+ if line == 0 {
|
|
|
|
+ line++
|
|
|
|
+ //设置第一行title
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //获取 投资企业
|
|
|
|
+ partner, _ := Mgo.Find("company_partner", map[string]interface{}{"stock_name_id": company_id}, nil, nil, false, -1, -1)
|
|
|
|
+ partnerDatas := *partner
|
|
|
|
+ if len(partnerDatas) == 0 {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for _, Data := range partnerDatas {
|
|
|
|
+ line++
|
|
|
|
+ valus := []interface{}{
|
|
|
|
+ baseInfo["company_name"],
|
|
|
|
+ company_id,
|
|
|
|
+ Data["company_name"],
|
|
|
|
+ }
|
|
|
|
+ baseC, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": Data["company_name"]})
|
|
|
|
+ basecInfo := *baseC
|
|
|
|
+
|
|
|
|
+ valus = append(valus, basecInfo["capital"], Data["stock_capital"], Data["stock_proportion"], basecInfo["company_status"], baseInfo["establish_date"])
|
|
|
|
+
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
|
|
|
|
+ _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ fmt.Println("对外投资信息 处理完毕")
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//getBranch 分支机构信息
|
|
|
|
+func getBranch() {
|
|
|
|
+ fmt.Println("开始处理 分支机构信息")
|
|
|
|
+ f, err := excelize.OpenFile("./园区企业名单及企业类型表.xlsx")
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ defer func() {
|
|
|
|
+ f.Save()
|
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ }
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ rows, err := f.GetRows("企业名单")
|
|
|
|
+ baseSheet := "分支机构信息"
|
|
|
|
+ baseTitle := []string{"企业名称", "公司ID", "分支机构名称", "登记状态", "成立日期", "注册地址"}
|
|
|
|
+ styleOne, _ := f.NewStyle(
|
|
|
|
+ &excelize.Style{
|
|
|
|
+ Alignment: &excelize.Alignment{
|
|
|
|
+ Horizontal: "left",
|
|
|
|
+ Vertical: "left",
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ line := 0
|
|
|
|
+ f.NewSheet(baseSheet)
|
|
|
|
+ _ = f.SetColWidth(baseSheet, "A", "G", 25)
|
|
|
|
+ _ = f.SetRowHeight(baseSheet, line, 20)
|
|
|
|
+
|
|
|
|
+ for i := 6; i < len(rows); i++ {
|
|
|
|
+ if i%100 == 0 {
|
|
|
|
+ fmt.Println(i, rows[i][2])
|
|
|
|
+ }
|
|
|
|
+ name := dealName(rows[i][2])
|
|
|
|
+ base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
|
+ baseInfo := *base
|
|
|
|
+ if len(baseInfo) == 0 || baseInfo == nil {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ company_id := baseInfo["company_id"]
|
|
|
|
+ //1. 基本信息
|
|
|
|
+ // 设置一次表头
|
|
|
|
+ if line == 0 {
|
|
|
|
+ line++
|
|
|
|
+ //设置第一行title
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
|
|
|
|
+ if err != nil {
|
|
|
|
+ fmt.Println(err)
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ //获取 分支结构
|
|
|
|
+ branch, _ := Mgo.Find("company_branch", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
|
|
|
|
+ branchDatas := *branch
|
|
|
|
+ if len(branchDatas) == 0 {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for _, Data := range branchDatas {
|
|
|
|
+ line++
|
|
|
|
+ valus := []interface{}{
|
|
|
|
+ baseInfo["company_name"],
|
|
|
|
+ company_id,
|
|
|
|
+ Data["branch_name"],
|
|
|
|
+ Data["company_status"],
|
|
|
|
+ Data["establish_date"],
|
|
|
|
+ }
|
|
|
|
+ baseBr, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": Data["branch_name"]})
|
|
|
|
+ basebInfo := *baseBr
|
|
|
|
+ valus = append(valus, basebInfo["company_address"])
|
|
|
|
+
|
|
|
|
+ err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
|
|
|
|
+ _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ fmt.Println("分支机构信息 处理完毕")
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+//dealName 处理name
|
|
|
|
+func dealName(name string) string {
|
|
|
|
+ if strings.ContainsAny(name, "()()") {
|
|
|
|
+ name = strings.Replace(name, "(", "(", -1)
|
|
|
|
+ name = strings.Replace(name, ")", ")", -1)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return name
|
|
|
|
+}
|