|
@@ -0,0 +1,1542 @@
|
|
|
+package main
|
|
|
+
|
|
|
+import (
|
|
|
+ "fmt"
|
|
|
+ "github.com/spf13/viper"
|
|
|
+ "github.com/xuri/excelize/v2"
|
|
|
+ utils "jygit.jydev.jianyu360.cn/data_processing/common_utils"
|
|
|
+ "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
|
|
|
+ "strconv"
|
|
|
+ "strings"
|
|
|
+)
|
|
|
+
|
|
|
+var (
|
|
|
+ Mgo *mongodb.MongodbSim
|
|
|
+ baseMap = make(map[string]map[string]interface{})
|
|
|
+ filename string
|
|
|
+ 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
|
|
|
+ Mgo = &mongodb.MongodbSim{
|
|
|
+ MongodbAddr: GF.Mongo.Host,
|
|
|
+ //MongodbAddr: "127.0.0.1:27001",
|
|
|
+ DbName: GF.Mongo.DB,
|
|
|
+ Size: 10,
|
|
|
+ UserName: GF.Mongo.Username,
|
|
|
+ Password: GF.Mongo.Password,
|
|
|
+ Direct: GF.Mongo.Direct,
|
|
|
+ }
|
|
|
+ Mgo.InitPool()
|
|
|
+}
|
|
|
+func Init() {
|
|
|
+ InitConfig()
|
|
|
+ InitMgo()
|
|
|
+
|
|
|
+ filename = GF.Env.File
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+func main() {
|
|
|
+ Init()
|
|
|
+ //statistic()
|
|
|
+
|
|
|
+ getBaseInfo() //基础信息
|
|
|
+ dealXuKe() //许可信息
|
|
|
+ getChanges() //变更记录
|
|
|
+ getGuDong() //股东信息
|
|
|
+ getEmployee() //高管
|
|
|
+ getInves() //投资单位
|
|
|
+ getBranch() //分支结构
|
|
|
+ getPledge() //股权出质
|
|
|
+ getChattel() //动产抵押
|
|
|
+ getAbnormal() //经营异常
|
|
|
+ getIllegal() //严重违法失信
|
|
|
+ getPunish() //行政处罚
|
|
|
+ getJustice() //失信被执行人
|
|
|
+ getCheck() //获取抽查结果
|
|
|
+ getFreeze() //股权冻结
|
|
|
+}
|
|
|
+
|
|
|
+//statistic 统计企业公布信息
|
|
|
+func statistic() {
|
|
|
+ sess := Mgo.GetMgoConn()
|
|
|
+ defer Mgo.DestoryMongoConn(sess)
|
|
|
+
|
|
|
+ var (
|
|
|
+ total_amount_true, total_amount_false int //资产总额
|
|
|
+ debt_amount_true, debt_amount_false int //负债总额
|
|
|
+ business_income_true, business_income_false int //销售(营业)收入
|
|
|
+ main_business_income_true, main_business_income_false int //主营业收入
|
|
|
+ total_profit_amount_true, total_profit_amount_false int //利润总额
|
|
|
+ tax_amount_true, tax_amount_false int //纳税总额
|
|
|
+ profit_amount_true, profit_amount_false int //净利润
|
|
|
+ equity_amount_true, equity_amount_false int //所有者权益合计
|
|
|
+ government_support_true, government_support_false int //获得政府扶持资金、补助
|
|
|
+ financial_loan_true, financial_loan_false int //金融贷款
|
|
|
+ )
|
|
|
+
|
|
|
+ fmt.Println("开始统计")
|
|
|
+ query := sess.DB("mixdata").C("annual_report_asset").Find(nil).Select(nil).Limit(200000).Iter()
|
|
|
+ count := 0
|
|
|
+ for tmp := make(map[string]interface{}); query.Next(tmp); count++ {
|
|
|
+ if count%1000 == 0 {
|
|
|
+ fmt.Println("current count", count)
|
|
|
+ }
|
|
|
+ //1
|
|
|
+ total_amount := utils.ObjToString(tmp["total_amount"])
|
|
|
+ if total_amount != "" && strings.Contains(total_amount, "不公示") {
|
|
|
+ total_amount_false++
|
|
|
+ } else {
|
|
|
+ total_amount_true++
|
|
|
+ }
|
|
|
+ //2
|
|
|
+ debt_amount := utils.ObjToString(tmp["debt_amount"])
|
|
|
+ if debt_amount != "" && strings.Contains(debt_amount, "不公示") {
|
|
|
+ debt_amount_false++
|
|
|
+ } else {
|
|
|
+ debt_amount_true++
|
|
|
+ }
|
|
|
+ //3
|
|
|
+ business_income := utils.ObjToString(tmp["business_income"])
|
|
|
+ if business_income != "" && strings.Contains(business_income, "不公示") {
|
|
|
+ business_income_false++
|
|
|
+ } else {
|
|
|
+ business_income_true++
|
|
|
+ }
|
|
|
+ //4
|
|
|
+ main_business_income := utils.ObjToString(tmp["main_business_income"])
|
|
|
+ if main_business_income != "" && strings.Contains(main_business_income, "不公示") {
|
|
|
+ main_business_income_false++
|
|
|
+ } else {
|
|
|
+ main_business_income_true++
|
|
|
+ }
|
|
|
+ //5
|
|
|
+ total_profit_amount := utils.ObjToString(tmp["total_profit_amount"])
|
|
|
+ if total_profit_amount != "" && strings.Contains(total_profit_amount, "不公示") {
|
|
|
+ total_profit_amount_false++
|
|
|
+ } else {
|
|
|
+ total_profit_amount_true++
|
|
|
+ }
|
|
|
+
|
|
|
+ //6
|
|
|
+ tax_amount := utils.ObjToString(tmp["tax_amount"])
|
|
|
+ if tax_amount != "" && strings.Contains(tax_amount, "不公示") {
|
|
|
+ tax_amount_false++
|
|
|
+ } else {
|
|
|
+ tax_amount_true++
|
|
|
+ }
|
|
|
+ //7
|
|
|
+ profit_amount := utils.ObjToString(tmp["profit_amount"])
|
|
|
+ if profit_amount != "" && strings.Contains(profit_amount, "不公示") {
|
|
|
+ profit_amount_false++
|
|
|
+ } else {
|
|
|
+ profit_amount_true++
|
|
|
+ }
|
|
|
+ //8
|
|
|
+ equity_amount := utils.ObjToString(tmp["equity_amount"])
|
|
|
+ if equity_amount != "" && strings.Contains(equity_amount, "不公示") {
|
|
|
+ equity_amount_false++
|
|
|
+ } else {
|
|
|
+ equity_amount_true++
|
|
|
+ }
|
|
|
+
|
|
|
+ //9
|
|
|
+ government_support := utils.ObjToString(tmp["government_support"])
|
|
|
+ if government_support != "" && strings.Contains(government_support, "不公示") {
|
|
|
+ government_support_false++
|
|
|
+ } else {
|
|
|
+ government_support_true++
|
|
|
+ }
|
|
|
+
|
|
|
+ //10
|
|
|
+
|
|
|
+ financial_loan := utils.ObjToString(tmp["financial_loan"])
|
|
|
+ if financial_loan != "" && strings.Contains(financial_loan, "不公示") {
|
|
|
+ financial_loan_false++
|
|
|
+ } else {
|
|
|
+ financial_loan_true++
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ fmt.Println("结束统计")
|
|
|
+
|
|
|
+ fmt.Println("total_amount_true : ", total_amount_true, "total_amount_false: ", total_amount_false)
|
|
|
+ fmt.Println("debt_amount_true : ", debt_amount_true, "debt_amount_false: ", debt_amount_false)
|
|
|
+ fmt.Println("business_income_true : ", business_income_true, "business_income_false: ", business_income_false)
|
|
|
+ fmt.Println("main_business_income_true : ", main_business_income_true, "main_business_income_false: ", main_business_income_false)
|
|
|
+ fmt.Println("total_profit_amount_true : ", total_profit_amount_true, "total_profit_amount_false: ", total_profit_amount_false)
|
|
|
+ fmt.Println("tax_amount_true : ", tax_amount_true, "tax_amount_false: ", tax_amount_false)
|
|
|
+ fmt.Println("profit_amount_true : ", profit_amount_true, "profit_amount_false: ", profit_amount_false)
|
|
|
+ fmt.Println("equity_amount_true : ", equity_amount_true, "equity_amount_false: ", equity_amount_false)
|
|
|
+ fmt.Println("government_support_true : ", government_support_true, "government_support_false: ", government_support_false)
|
|
|
+ fmt.Println("financial_loan_true : ", financial_loan_true, "financial_loan_false: ", financial_loan_false)
|
|
|
+}
|
|
|
+
|
|
|
+//baseInfo 基础信息;
|
|
|
+func getBaseInfo() {
|
|
|
+ fmt.Println("开始处理 基本信息")
|
|
|
+ f, err := excelize.OpenFile(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := strings.TrimSpace(dealName(rows[i][0]))
|
|
|
+ base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ baseInfo := *base
|
|
|
+ if len(baseInfo) == 0 || baseInfo == nil {
|
|
|
+ f.SetCellValue("企业名单", fmt.Sprintf("D%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(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+ 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(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+ 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(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+ 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(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+ 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(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+ 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(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+ 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("分支机构信息 处理完毕")
|
|
|
+}
|
|
|
+
|
|
|
+//getPledge 股权出质
|
|
|
+func getPledge() {
|
|
|
+ fmt.Println("开始处理 股权出质信息")
|
|
|
+ f, err := excelize.OpenFile(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取 分支结构
|
|
|
+ pledge, _ := Mgo.Find("company_pledge", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
|
|
|
+ pledgeDatas := *pledge
|
|
|
+ if len(pledgeDatas) == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, Data := range pledgeDatas {
|
|
|
+ line++
|
|
|
+ valus := []interface{}{
|
|
|
+ baseInfo["company_name"],
|
|
|
+ company_id,
|
|
|
+ Data["pledge_date"],
|
|
|
+ Data["public_date"],
|
|
|
+ Data["pledge_code"],
|
|
|
+ Data["pledgor"],
|
|
|
+ Data["pledge_equity"],
|
|
|
+ }
|
|
|
+
|
|
|
+ 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("股权出质 处理完毕")
|
|
|
+}
|
|
|
+
|
|
|
+//getChattel 获取动产抵押
|
|
|
+func getChattel() {
|
|
|
+ fmt.Println("开始处理 动产抵押信息")
|
|
|
+ f, err := excelize.OpenFile(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取 分支结构
|
|
|
+ pledge, _ := Mgo.Find("company_chattel", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
|
|
|
+ pledgeDatas := *pledge
|
|
|
+ if len(pledgeDatas) == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, Data := range pledgeDatas {
|
|
|
+ line++
|
|
|
+ valus := []interface{}{
|
|
|
+ baseInfo["company_name"],
|
|
|
+ company_id,
|
|
|
+ Data["debt_type"],
|
|
|
+ Data["debt_amount"],
|
|
|
+ Data["debt_term"],
|
|
|
+ Data["chattel_code"],
|
|
|
+ Data["chattel_date"],
|
|
|
+ Data["public_date"],
|
|
|
+ Data["authority"],
|
|
|
+ Data["guarantee_scope"],
|
|
|
+ Data["remark"],
|
|
|
+ Data["chattel_status"],
|
|
|
+ }
|
|
|
+
|
|
|
+ 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("动产抵押 处理完毕")
|
|
|
+}
|
|
|
+
|
|
|
+//getAbnormal 获取经营异常
|
|
|
+func getAbnormal() {
|
|
|
+ fmt.Println("开始处理 经营异常信息")
|
|
|
+ f, err := excelize.OpenFile(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取 分支结构
|
|
|
+ pledge, _ := Mgo.Find("company_abnormal", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
|
|
|
+ pledgeDatas := *pledge
|
|
|
+ if len(pledgeDatas) == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, Data := range pledgeDatas {
|
|
|
+ line++
|
|
|
+ valus := []interface{}{
|
|
|
+ baseInfo["company_name"],
|
|
|
+ company_id,
|
|
|
+ Data["included_date"],
|
|
|
+ Data["included_reason"],
|
|
|
+ Data["included_authority"],
|
|
|
+ Data["removed_date"],
|
|
|
+ Data["removed_reason"],
|
|
|
+ Data["removed_authority"],
|
|
|
+ }
|
|
|
+
|
|
|
+ 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("经营异常 处理完毕")
|
|
|
+}
|
|
|
+
|
|
|
+//getIllegal 获取 严重违法失信
|
|
|
+func getIllegal() {
|
|
|
+ fmt.Println("开始处理 严重违法失信")
|
|
|
+ f, err := excelize.OpenFile(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取 分支结构
|
|
|
+ pledge, _ := Mgo.Find("company_illegal", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
|
|
|
+ pledgeDatas := *pledge
|
|
|
+ if len(pledgeDatas) == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, Data := range pledgeDatas {
|
|
|
+ line++
|
|
|
+ valus := []interface{}{
|
|
|
+ baseInfo["company_name"],
|
|
|
+ company_id,
|
|
|
+ Data["included_date"],
|
|
|
+ Data["included_reason"],
|
|
|
+ Data["included_authority"],
|
|
|
+ Data["removed_date"],
|
|
|
+ Data["removed_reason"],
|
|
|
+ Data["removed_authority"],
|
|
|
+ }
|
|
|
+
|
|
|
+ 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("严重违法失信 处理完毕")
|
|
|
+}
|
|
|
+
|
|
|
+//getPunish 获取行政处罚
|
|
|
+func getPunish() {
|
|
|
+ fmt.Println("开始处理 行政处罚")
|
|
|
+ f, err := excelize.OpenFile(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取 分支结构
|
|
|
+ pledge, _ := Mgo.Find("company_punish", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
|
|
|
+ pledgeDatas := *pledge
|
|
|
+ if len(pledgeDatas) == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, Data := range pledgeDatas {
|
|
|
+ line++
|
|
|
+ valus := []interface{}{
|
|
|
+ baseInfo["company_name"],
|
|
|
+ company_id,
|
|
|
+ Data["punish_code"],
|
|
|
+ Data["punish_date"],
|
|
|
+ Data["illegal_type"],
|
|
|
+ Data["punish_content"],
|
|
|
+ Data["authority"],
|
|
|
+ }
|
|
|
+
|
|
|
+ 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("行政处罚 处理完毕")
|
|
|
+}
|
|
|
+
|
|
|
+//getIllegal 获取失信被执行人
|
|
|
+func getJustice() {
|
|
|
+ fmt.Println("开始处理 失信被执行人")
|
|
|
+ f, err := excelize.OpenFile(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取 分支结构
|
|
|
+ pledge, _ := Mgo.Find("company_justice", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
|
|
|
+ pledgeDatas := *pledge
|
|
|
+ if len(pledgeDatas) == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, Data := range pledgeDatas {
|
|
|
+ line++
|
|
|
+ valus := []interface{}{
|
|
|
+ baseInfo["company_name"],
|
|
|
+ company_id,
|
|
|
+ Data["executee"],
|
|
|
+ Data["exec_court"],
|
|
|
+ Data["doc_no"],
|
|
|
+ Data["equity_status"],
|
|
|
+ Data["equity_amount"],
|
|
|
+ Data["create_time"],
|
|
|
+ }
|
|
|
+
|
|
|
+ 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("失信被执行人 处理完毕")
|
|
|
+}
|
|
|
+
|
|
|
+//getCheck 获取抽查结果
|
|
|
+func getCheck() {
|
|
|
+ fmt.Println("开始处理 抽查结果")
|
|
|
+ f, err := excelize.OpenFile(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取 分支结构
|
|
|
+ pledge, _ := Mgo.Find("company_check", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
|
|
|
+ pledgeDatas := *pledge
|
|
|
+ if len(pledgeDatas) == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, Data := range pledgeDatas {
|
|
|
+ line++
|
|
|
+ valus := []interface{}{
|
|
|
+ baseInfo["company_name"],
|
|
|
+ company_id,
|
|
|
+ Data["check_date"],
|
|
|
+ Data["check_type"],
|
|
|
+ Data["check_result"],
|
|
|
+ Data["authority"],
|
|
|
+ }
|
|
|
+
|
|
|
+ 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("抽查结果 处理完毕")
|
|
|
+}
|
|
|
+
|
|
|
+//getFreeze 获取股权冻结
|
|
|
+func getFreeze() {
|
|
|
+ fmt.Println("开始处理 股权冻结")
|
|
|
+ f, err := excelize.OpenFile(filename)
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ defer func() {
|
|
|
+ f.Save()
|
|
|
+ if err := f.Close(); err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ }
|
|
|
+ }()
|
|
|
+
|
|
|
+ rows, err := f.GetRows(GF.Env.Sheet)
|
|
|
+ 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 := 1; i < len(rows); i++ {
|
|
|
+ if i%100 == 0 {
|
|
|
+ fmt.Println(i, rows[i][0])
|
|
|
+ }
|
|
|
+
|
|
|
+ if len(rows[i]) <= 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ name := dealName(rows[i][0])
|
|
|
+ //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
|
|
|
+ //baseInfo := *base
|
|
|
+
|
|
|
+ baseInfo := baseMap[name]
|
|
|
+ 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
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取 分支结构
|
|
|
+ pledge, _ := Mgo.Find("company_justice_freeze", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
|
|
|
+ pledgeDatas := *pledge
|
|
|
+ if len(pledgeDatas) == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, Data := range pledgeDatas {
|
|
|
+ line++
|
|
|
+ valus := []interface{}{
|
|
|
+ baseInfo["company_name"],
|
|
|
+ company_id,
|
|
|
+ Data["executee"],
|
|
|
+ Data["equity_amount"],
|
|
|
+ Data["exec_court"],
|
|
|
+ Data["exec_item"],
|
|
|
+ Data["doc_no"],
|
|
|
+ Data["exec_no"],
|
|
|
+ Data["freeze_start_date"],
|
|
|
+ Data["freeze_end_date"],
|
|
|
+ Data["freeze_years"],
|
|
|
+ Data["public_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("股权冻结 处理完毕")
|
|
|
+}
|
|
|
+
|
|
|
+//dealName 处理name
|
|
|
+func dealName(name string) string {
|
|
|
+ if strings.ContainsAny(name, "()()") {
|
|
|
+ name = strings.Replace(name, "(", "(", -1)
|
|
|
+ name = strings.Replace(name, ")", ")", -1)
|
|
|
+ }
|
|
|
+
|
|
|
+ return name
|
|
|
+}
|