main.go 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542
  1. package main
  2. import (
  3. "fmt"
  4. "github.com/spf13/viper"
  5. "github.com/xuri/excelize/v2"
  6. utils "jygit.jydev.jianyu360.cn/data_processing/common_utils"
  7. "jygit.jydev.jianyu360.cn/data_processing/common_utils/mongodb"
  8. "strconv"
  9. "strings"
  10. )
  11. var (
  12. Mgo *mongodb.MongodbSim
  13. baseMap = make(map[string]map[string]interface{})
  14. filename string
  15. GF GlobalConf
  16. )
  17. func InitConfig() (err error) {
  18. viper.SetConfigFile("config.toml") // 指定配置文件路径
  19. viper.SetConfigName("config") // 配置文件名称(无扩展名)
  20. viper.SetConfigType("toml") // 如果配置文件的名称中没有扩展名,则需要配置此项
  21. viper.AddConfigPath("./")
  22. viper.AddConfigPath("./conf/") // 还可以在工作目录中查找配置
  23. viper.AddConfigPath("../conf/") // 还可以在工作目录中查找配置
  24. err = viper.ReadInConfig() // 查找并读取配置文件
  25. if err != nil { // 处理读取配置文件的错误
  26. return
  27. }
  28. err = viper.Unmarshal(&GF)
  29. return err
  30. }
  31. func InitMgo() {
  32. //181
  33. Mgo = &mongodb.MongodbSim{
  34. MongodbAddr: GF.Mongo.Host,
  35. //MongodbAddr: "127.0.0.1:27001",
  36. DbName: GF.Mongo.DB,
  37. Size: 10,
  38. UserName: GF.Mongo.Username,
  39. Password: GF.Mongo.Password,
  40. Direct: GF.Mongo.Direct,
  41. }
  42. Mgo.InitPool()
  43. }
  44. func Init() {
  45. InitConfig()
  46. InitMgo()
  47. filename = GF.Env.File
  48. }
  49. func main() {
  50. Init()
  51. getBaseInfo() //基础信息
  52. //dealXuKe() //许可信息
  53. //getChanges() //变更记录
  54. getGuDong() //股东信息
  55. //getEmployee() //高管
  56. //getInves() //投资单位
  57. //getBranch() //分支结构
  58. //getPledge() //股权出质
  59. //getChattel() //动产抵押
  60. //getAbnormal() //经营异常
  61. //getIllegal() //严重违法失信
  62. //getPunish() //行政处罚
  63. //getJustice() //失信被执行人
  64. //getCheck() //获取抽查结果
  65. //getFreeze() //股权冻结
  66. //statistic() //统计企业公布信息
  67. }
  68. // statistic 统计企业公布信息
  69. func statistic() {
  70. sess := Mgo.GetMgoConn()
  71. defer Mgo.DestoryMongoConn(sess)
  72. var (
  73. total_amount_true, total_amount_false int //资产总额
  74. debt_amount_true, debt_amount_false int //负债总额
  75. business_income_true, business_income_false int //销售(营业)收入
  76. main_business_income_true, main_business_income_false int //主营业收入
  77. total_profit_amount_true, total_profit_amount_false int //利润总额
  78. tax_amount_true, tax_amount_false int //纳税总额
  79. profit_amount_true, profit_amount_false int //净利润
  80. equity_amount_true, equity_amount_false int //所有者权益合计
  81. government_support_true, government_support_false int //获得政府扶持资金、补助
  82. financial_loan_true, financial_loan_false int //金融贷款
  83. )
  84. fmt.Println("开始统计")
  85. query := sess.DB("mixdata").C("annual_report_asset").Find(nil).Select(nil).Limit(200000).Iter()
  86. count := 0
  87. for tmp := make(map[string]interface{}); query.Next(tmp); count++ {
  88. if count%1000 == 0 {
  89. fmt.Println("current count", count)
  90. }
  91. //1
  92. total_amount := utils.ObjToString(tmp["total_amount"])
  93. if total_amount != "" && strings.Contains(total_amount, "不公示") {
  94. total_amount_false++
  95. } else {
  96. total_amount_true++
  97. }
  98. //2
  99. debt_amount := utils.ObjToString(tmp["debt_amount"])
  100. if debt_amount != "" && strings.Contains(debt_amount, "不公示") {
  101. debt_amount_false++
  102. } else {
  103. debt_amount_true++
  104. }
  105. //3
  106. business_income := utils.ObjToString(tmp["business_income"])
  107. if business_income != "" && strings.Contains(business_income, "不公示") {
  108. business_income_false++
  109. } else {
  110. business_income_true++
  111. }
  112. //4
  113. main_business_income := utils.ObjToString(tmp["main_business_income"])
  114. if main_business_income != "" && strings.Contains(main_business_income, "不公示") {
  115. main_business_income_false++
  116. } else {
  117. main_business_income_true++
  118. }
  119. //5
  120. total_profit_amount := utils.ObjToString(tmp["total_profit_amount"])
  121. if total_profit_amount != "" && strings.Contains(total_profit_amount, "不公示") {
  122. total_profit_amount_false++
  123. } else {
  124. total_profit_amount_true++
  125. }
  126. //6
  127. tax_amount := utils.ObjToString(tmp["tax_amount"])
  128. if tax_amount != "" && strings.Contains(tax_amount, "不公示") {
  129. tax_amount_false++
  130. } else {
  131. tax_amount_true++
  132. }
  133. //7
  134. profit_amount := utils.ObjToString(tmp["profit_amount"])
  135. if profit_amount != "" && strings.Contains(profit_amount, "不公示") {
  136. profit_amount_false++
  137. } else {
  138. profit_amount_true++
  139. }
  140. //8
  141. equity_amount := utils.ObjToString(tmp["equity_amount"])
  142. if equity_amount != "" && strings.Contains(equity_amount, "不公示") {
  143. equity_amount_false++
  144. } else {
  145. equity_amount_true++
  146. }
  147. //9
  148. government_support := utils.ObjToString(tmp["government_support"])
  149. if government_support != "" && strings.Contains(government_support, "不公示") {
  150. government_support_false++
  151. } else {
  152. government_support_true++
  153. }
  154. //10
  155. financial_loan := utils.ObjToString(tmp["financial_loan"])
  156. if financial_loan != "" && strings.Contains(financial_loan, "不公示") {
  157. financial_loan_false++
  158. } else {
  159. financial_loan_true++
  160. }
  161. }
  162. fmt.Println("结束统计")
  163. fmt.Println("total_amount_true : ", total_amount_true, "total_amount_false: ", total_amount_false)
  164. fmt.Println("debt_amount_true : ", debt_amount_true, "debt_amount_false: ", debt_amount_false)
  165. fmt.Println("business_income_true : ", business_income_true, "business_income_false: ", business_income_false)
  166. fmt.Println("main_business_income_true : ", main_business_income_true, "main_business_income_false: ", main_business_income_false)
  167. fmt.Println("total_profit_amount_true : ", total_profit_amount_true, "total_profit_amount_false: ", total_profit_amount_false)
  168. fmt.Println("tax_amount_true : ", tax_amount_true, "tax_amount_false: ", tax_amount_false)
  169. fmt.Println("profit_amount_true : ", profit_amount_true, "profit_amount_false: ", profit_amount_false)
  170. fmt.Println("equity_amount_true : ", equity_amount_true, "equity_amount_false: ", equity_amount_false)
  171. fmt.Println("government_support_true : ", government_support_true, "government_support_false: ", government_support_false)
  172. fmt.Println("financial_loan_true : ", financial_loan_true, "financial_loan_false: ", financial_loan_false)
  173. }
  174. // baseInfo 基础信息;
  175. func getBaseInfo() {
  176. fmt.Println("开始处理 基本信息")
  177. f, err := excelize.OpenFile(filename)
  178. if err != nil {
  179. fmt.Println(err)
  180. return
  181. }
  182. defer func() {
  183. f.Save()
  184. if err := f.Close(); err != nil {
  185. fmt.Println(err)
  186. }
  187. }()
  188. rows, err := f.GetRows(GF.Env.Sheet)
  189. baseSheet := "基本信息"
  190. baseTitle := []string{"企业名称", "公司ID", "统一社会信用代码", "法定代表人", "登记状态", "成立日期", "注册资本", "所属行业", "企业类型", "注册地址", "登记机关", "经营范围", "营业执照有效期自", "营业执照有效期至"}
  191. styleOne, _ := f.NewStyle(
  192. &excelize.Style{
  193. Alignment: &excelize.Alignment{
  194. Horizontal: "left",
  195. Vertical: "left",
  196. },
  197. },
  198. )
  199. line := 0
  200. f.NewSheet(baseSheet)
  201. //xlsx.DeleteSheet("Sheet1")
  202. _ = f.SetColWidth(baseSheet, "A", "C", 30)
  203. _ = f.SetRowHeight(baseSheet, line, 20)
  204. for i := 1; i < len(rows); i++ {
  205. if i%100 == 0 {
  206. fmt.Println(i, rows[i][0])
  207. }
  208. if len(rows[i]) <= 0 {
  209. continue
  210. }
  211. name := strings.TrimSpace(dealName(rows[i][0]))
  212. base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  213. baseInfo := *base
  214. if len(baseInfo) == 0 || baseInfo == nil {
  215. f.SetCellValue("企业名单", fmt.Sprintf("D%v", i+1), "无")
  216. continue
  217. }
  218. baseMap[name] = baseInfo
  219. company_id := baseInfo["company_id"]
  220. //1. 基本信息
  221. // 设置一次表头
  222. if line == 0 {
  223. line++
  224. //设置第一行title
  225. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  226. if err != nil {
  227. fmt.Println(err)
  228. return
  229. }
  230. }
  231. line++
  232. //获取行业信息
  233. hangye, _ := Mgo.FindOne("company_industry", map[string]interface{}{"company_id": company_id})
  234. hangyeData := *hangye
  235. valus := []interface{}{
  236. baseInfo["company_name"], company_id, baseInfo["credit_no"], baseInfo["legal_person"], baseInfo["company_status"], baseInfo["establish_date"], baseInfo["capital"],
  237. hangyeData["industry_l1_name"], baseInfo["company_type"], baseInfo["company_address"], baseInfo["authority"], baseInfo["business_scope"],
  238. baseInfo["operation_startdate"], baseInfo["operation_enddate"],
  239. }
  240. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  241. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "BA"+strconv.Itoa(line), styleOne)
  242. }
  243. fmt.Println("基本信息处理完毕")
  244. }
  245. // dealXuKe 许可信息
  246. func dealXuKe() {
  247. fmt.Println("开始处理许可信息")
  248. f, err := excelize.OpenFile(filename)
  249. if err != nil {
  250. fmt.Println(err)
  251. return
  252. }
  253. defer func() {
  254. f.Save()
  255. if err := f.Close(); err != nil {
  256. fmt.Println(err)
  257. }
  258. }()
  259. rows, err := f.GetRows(GF.Env.Sheet)
  260. baseSheet := "许可信息"
  261. baseTitle := []string{"企业名称", "公司ID", "许可文件名称", "许可机关", "许可内容", "有效期自", "有效期至"}
  262. styleOne, _ := f.NewStyle(
  263. &excelize.Style{
  264. Alignment: &excelize.Alignment{
  265. Horizontal: "left",
  266. Vertical: "left",
  267. },
  268. },
  269. )
  270. line := 0
  271. f.NewSheet(baseSheet)
  272. _ = f.SetColWidth(baseSheet, "A", "G", 20)
  273. _ = f.SetRowHeight(baseSheet, line, 20)
  274. for i := 1; i < len(rows); i++ {
  275. if i%100 == 0 {
  276. fmt.Println(i, rows[i][0])
  277. }
  278. if len(rows[i]) <= 0 {
  279. continue
  280. }
  281. name := dealName(rows[i][0])
  282. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  283. //baseInfo := *base
  284. baseInfo := baseMap[name]
  285. if len(baseInfo) == 0 || baseInfo == nil {
  286. continue
  287. }
  288. company_id := baseInfo["company_id"]
  289. //1. 基本信息
  290. // 设置一次表头
  291. if line == 0 {
  292. line++
  293. //设置第一行title
  294. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  295. if err != nil {
  296. fmt.Println(err)
  297. return
  298. }
  299. }
  300. //获取行业信息
  301. allow, _ := Mgo.Find("company_allow", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
  302. allowDatas := *allow
  303. if len(allowDatas) == 0 {
  304. continue
  305. }
  306. for _, allowData := range allowDatas {
  307. line++
  308. valus := []interface{}{
  309. baseInfo["company_name"],
  310. company_id,
  311. allowData["allow_filename"],
  312. allowData["allow_authority"],
  313. allowData["allow_content"],
  314. allowData["allow_startdate"],
  315. allowData["allow_enddate"],
  316. }
  317. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  318. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "K"+strconv.Itoa(line), styleOne)
  319. }
  320. }
  321. fmt.Println("许可信息处理完毕")
  322. }
  323. // getChanges 获取变更记录
  324. func getChanges() {
  325. fmt.Println("开始处理变更记录")
  326. f, err := excelize.OpenFile(filename)
  327. if err != nil {
  328. fmt.Println(err)
  329. return
  330. }
  331. defer func() {
  332. f.Save()
  333. if err := f.Close(); err != nil {
  334. fmt.Println(err)
  335. }
  336. }()
  337. rows, err := f.GetRows(GF.Env.Sheet)
  338. baseSheet := "变更信息"
  339. baseTitle := []string{"企业名称", "公司ID", "变更事项", "变更类型", "变更前内容", "变更后内容", "变更日期"}
  340. styleOne, _ := f.NewStyle(
  341. &excelize.Style{
  342. Alignment: &excelize.Alignment{
  343. Horizontal: "left",
  344. Vertical: "left",
  345. },
  346. },
  347. )
  348. line := 0
  349. f.NewSheet(baseSheet)
  350. _ = f.SetColWidth(baseSheet, "A", "G", 30)
  351. _ = f.SetRowHeight(baseSheet, line, 20)
  352. for i := 1; i < len(rows); i++ {
  353. if i%100 == 0 {
  354. fmt.Println(i, rows[i][0])
  355. }
  356. if len(rows[i]) <= 0 {
  357. continue
  358. }
  359. name := dealName(rows[i][0])
  360. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  361. //baseInfo := *base
  362. baseInfo := baseMap[name]
  363. if len(baseInfo) == 0 || baseInfo == nil {
  364. continue
  365. }
  366. company_id := baseInfo["company_id"]
  367. //1. 基本信息
  368. // 设置一次表头
  369. if line == 0 {
  370. line++
  371. //设置第一行title
  372. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  373. if err != nil {
  374. fmt.Println(err)
  375. return
  376. }
  377. }
  378. //获取行业信息
  379. change, _ := Mgo.Find("company_change", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
  380. changeDatas := *change
  381. if len(changeDatas) == 0 {
  382. continue
  383. }
  384. for _, changeData := range changeDatas {
  385. line++
  386. valus := []interface{}{
  387. baseInfo["company_name"],
  388. company_id,
  389. changeData["change_field"],
  390. changeData["change_type"],
  391. changeData["content_before"],
  392. changeData["content_after"],
  393. changeData["change_date"],
  394. }
  395. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  396. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
  397. }
  398. }
  399. fmt.Println("变更记录处理完毕")
  400. }
  401. // getGuDong 股东及其出资信息
  402. func getGuDong() {
  403. fmt.Println("开始处理 - 股东及其出资信息")
  404. f, err := excelize.OpenFile(filename)
  405. if err != nil {
  406. fmt.Println(err)
  407. return
  408. }
  409. defer func() {
  410. f.Save()
  411. if err := f.Close(); err != nil {
  412. fmt.Println(err)
  413. }
  414. }()
  415. rows, err := f.GetRows(GF.Env.Sheet)
  416. baseSheet := "股东及其出资信息"
  417. baseTitle := []string{"企业名称", "公司ID", "股东名称", "持股比例", "认缴出资额", "实缴出资额", "认缴出资日期", "实缴出质日期"}
  418. styleOne, _ := f.NewStyle(
  419. &excelize.Style{
  420. Alignment: &excelize.Alignment{
  421. Horizontal: "left",
  422. Vertical: "left",
  423. },
  424. },
  425. )
  426. line := 0
  427. f.NewSheet(baseSheet)
  428. _ = f.SetColWidth(baseSheet, "A", "C", 30)
  429. _ = f.SetRowHeight(baseSheet, line, 20)
  430. for i := 1; i < len(rows); i++ {
  431. if i%100 == 0 {
  432. fmt.Println(i, rows[i][0])
  433. }
  434. if len(rows[i]) <= 0 {
  435. continue
  436. }
  437. name := dealName(rows[i][0])
  438. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  439. //baseInfo := *base
  440. baseInfo := baseMap[name]
  441. if len(baseInfo) == 0 || baseInfo == nil {
  442. continue
  443. }
  444. company_id := baseInfo["company_id"]
  445. //1. 基本信息
  446. // 设置一次表头
  447. if line == 0 {
  448. line++
  449. //设置第一行title
  450. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  451. if err != nil {
  452. fmt.Println(err)
  453. return
  454. }
  455. }
  456. //获取股东 信息
  457. partner, _ := Mgo.Find("company_partner", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
  458. partnerDatas := *partner
  459. if len(partnerDatas) == 0 {
  460. continue
  461. } else {
  462. for _, part := range partnerDatas {
  463. line++
  464. valus := []interface{}{
  465. baseInfo["company_name"],
  466. company_id,
  467. part["stock_name"],
  468. part["stock_proportion"],
  469. part["stock_capital"],
  470. part["stock_realcapital"],
  471. }
  472. //获取认缴出资 信息
  473. pay, _ := Mgo.FindOne("company_partner_pay", map[string]interface{}{"company_id": company_id, "stock_name": part["stock_name"]})
  474. payData := *pay
  475. valus = append(valus, payData["stock_date"])
  476. //
  477. repay, _ := Mgo.FindOne("company_partner_realpay", map[string]interface{}{"company_id": company_id, "stock_name": part["stock_name"]})
  478. repayData := *repay
  479. valus = append(valus, repayData["stock_realdate"])
  480. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  481. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
  482. }
  483. }
  484. }
  485. fmt.Println("股东及其出资信息 - 处理完毕")
  486. }
  487. // getEmployee 获取高管
  488. func getEmployee() {
  489. fmt.Println("开始处理 高管信息")
  490. f, err := excelize.OpenFile(filename)
  491. if err != nil {
  492. fmt.Println(err)
  493. return
  494. }
  495. defer func() {
  496. f.Save()
  497. if err := f.Close(); err != nil {
  498. fmt.Println(err)
  499. }
  500. }()
  501. rows, err := f.GetRows(GF.Env.Sheet)
  502. baseSheet := "高管信息"
  503. baseTitle := []string{"企业名称", "公司ID", "姓名", "职位"}
  504. styleOne, _ := f.NewStyle(
  505. &excelize.Style{
  506. Alignment: &excelize.Alignment{
  507. Horizontal: "left",
  508. Vertical: "left",
  509. },
  510. },
  511. )
  512. line := 0
  513. f.NewSheet(baseSheet)
  514. _ = f.SetColWidth(baseSheet, "A", "G", 25)
  515. _ = f.SetRowHeight(baseSheet, line, 20)
  516. for i := 1; i < len(rows); i++ {
  517. if i%100 == 0 {
  518. fmt.Println(i, rows[i][0])
  519. }
  520. if len(rows[i]) <= 0 {
  521. continue
  522. }
  523. name := dealName(rows[i][0])
  524. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  525. //baseInfo := *base
  526. baseInfo := baseMap[name]
  527. if len(baseInfo) == 0 || baseInfo == nil {
  528. continue
  529. }
  530. company_id := baseInfo["company_id"]
  531. //1. 基本信息
  532. // 设置一次表头
  533. if line == 0 {
  534. line++
  535. //设置第一行title
  536. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  537. if err != nil {
  538. fmt.Println(err)
  539. return
  540. }
  541. }
  542. //获取行业信息
  543. employee, _ := Mgo.Find("company_employee", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
  544. employeeDatas := *employee
  545. if len(employeeDatas) == 0 {
  546. continue
  547. }
  548. for _, Data := range employeeDatas {
  549. line++
  550. valus := []interface{}{
  551. baseInfo["company_name"],
  552. company_id,
  553. Data["employee_name"],
  554. Data["position"],
  555. }
  556. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  557. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
  558. }
  559. }
  560. fmt.Println("高管信息 处理完毕")
  561. }
  562. // getInves 对外投资
  563. func getInves() {
  564. fmt.Println("开始处理 对外投资信息")
  565. f, err := excelize.OpenFile(filename)
  566. if err != nil {
  567. fmt.Println(err)
  568. return
  569. }
  570. defer func() {
  571. f.Save()
  572. if err := f.Close(); err != nil {
  573. fmt.Println(err)
  574. }
  575. }()
  576. rows, err := f.GetRows(GF.Env.Sheet)
  577. baseSheet := "对外投资信息"
  578. baseTitle := []string{"企业名称", "公司ID", "被投资企业名称", "注册资本", "出资金额", "出资比例", "登记状态", "成立日期"}
  579. styleOne, _ := f.NewStyle(
  580. &excelize.Style{
  581. Alignment: &excelize.Alignment{
  582. Horizontal: "left",
  583. Vertical: "left",
  584. },
  585. },
  586. )
  587. line := 0
  588. f.NewSheet(baseSheet)
  589. _ = f.SetColWidth(baseSheet, "A", "G", 25)
  590. _ = f.SetRowHeight(baseSheet, line, 20)
  591. for i := 1; i < len(rows); i++ {
  592. if i%100 == 0 {
  593. fmt.Println(i, rows[i][0])
  594. }
  595. if len(rows[i]) <= 0 {
  596. continue
  597. }
  598. name := dealName(rows[i][0])
  599. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  600. //baseInfo := *base
  601. baseInfo := baseMap[name]
  602. if len(baseInfo) == 0 || baseInfo == nil {
  603. continue
  604. }
  605. company_id := baseInfo["company_id"]
  606. //1. 基本信息
  607. // 设置一次表头
  608. if line == 0 {
  609. line++
  610. //设置第一行title
  611. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  612. if err != nil {
  613. fmt.Println(err)
  614. return
  615. }
  616. }
  617. //获取 投资企业
  618. partner, _ := Mgo.Find("company_partner", map[string]interface{}{"stock_name_id": company_id}, nil, nil, false, -1, -1)
  619. partnerDatas := *partner
  620. if len(partnerDatas) == 0 {
  621. continue
  622. }
  623. for _, Data := range partnerDatas {
  624. line++
  625. valus := []interface{}{
  626. baseInfo["company_name"],
  627. company_id,
  628. Data["company_name"],
  629. }
  630. baseC, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": Data["company_name"]})
  631. basecInfo := *baseC
  632. valus = append(valus, basecInfo["capital"], Data["stock_capital"], Data["stock_proportion"], basecInfo["company_status"], baseInfo["establish_date"])
  633. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  634. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
  635. }
  636. }
  637. fmt.Println("对外投资信息 处理完毕")
  638. }
  639. // getBranch 分支机构信息
  640. func getBranch() {
  641. fmt.Println("开始处理 分支机构信息")
  642. f, err := excelize.OpenFile(filename)
  643. if err != nil {
  644. fmt.Println(err)
  645. return
  646. }
  647. defer func() {
  648. f.Save()
  649. if err := f.Close(); err != nil {
  650. fmt.Println(err)
  651. }
  652. }()
  653. rows, err := f.GetRows(GF.Env.Sheet)
  654. baseSheet := "分支机构信息"
  655. baseTitle := []string{"企业名称", "公司ID", "分支机构名称", "登记状态", "成立日期", "注册地址"}
  656. styleOne, _ := f.NewStyle(
  657. &excelize.Style{
  658. Alignment: &excelize.Alignment{
  659. Horizontal: "left",
  660. Vertical: "left",
  661. },
  662. },
  663. )
  664. line := 0
  665. f.NewSheet(baseSheet)
  666. _ = f.SetColWidth(baseSheet, "A", "G", 25)
  667. _ = f.SetRowHeight(baseSheet, line, 20)
  668. for i := 1; i < len(rows); i++ {
  669. if i%100 == 0 {
  670. fmt.Println(i, rows[i][0])
  671. }
  672. if len(rows[i]) <= 0 {
  673. continue
  674. }
  675. name := dealName(rows[i][0])
  676. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  677. //baseInfo := *base
  678. baseInfo := baseMap[name]
  679. if len(baseInfo) == 0 || baseInfo == nil {
  680. continue
  681. }
  682. company_id := baseInfo["company_id"]
  683. //1. 基本信息
  684. // 设置一次表头
  685. if line == 0 {
  686. line++
  687. //设置第一行title
  688. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  689. if err != nil {
  690. fmt.Println(err)
  691. return
  692. }
  693. }
  694. //获取 分支结构
  695. branch, _ := Mgo.Find("company_branch", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
  696. branchDatas := *branch
  697. if len(branchDatas) == 0 {
  698. continue
  699. }
  700. for _, Data := range branchDatas {
  701. line++
  702. valus := []interface{}{
  703. baseInfo["company_name"],
  704. company_id,
  705. Data["branch_name"],
  706. Data["company_status"],
  707. Data["establish_date"],
  708. }
  709. baseBr, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": Data["branch_name"]})
  710. basebInfo := *baseBr
  711. valus = append(valus, basebInfo["company_address"])
  712. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  713. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
  714. }
  715. }
  716. fmt.Println("分支机构信息 处理完毕")
  717. }
  718. // getPledge 股权出质
  719. func getPledge() {
  720. fmt.Println("开始处理 股权出质信息")
  721. f, err := excelize.OpenFile(filename)
  722. if err != nil {
  723. fmt.Println(err)
  724. return
  725. }
  726. defer func() {
  727. f.Save()
  728. if err := f.Close(); err != nil {
  729. fmt.Println(err)
  730. }
  731. }()
  732. rows, err := f.GetRows(GF.Env.Sheet)
  733. baseSheet := "股权出质"
  734. baseTitle := []string{"企业名称", "公司ID", "登记日期", "公示日期", "登记编号", "出质人", "出质股权数额"}
  735. styleOne, _ := f.NewStyle(
  736. &excelize.Style{
  737. Alignment: &excelize.Alignment{
  738. Horizontal: "left",
  739. Vertical: "left",
  740. },
  741. },
  742. )
  743. line := 0
  744. f.NewSheet(baseSheet)
  745. _ = f.SetColWidth(baseSheet, "A", "G", 25)
  746. _ = f.SetRowHeight(baseSheet, line, 20)
  747. for i := 1; i < len(rows); i++ {
  748. if i%100 == 0 {
  749. fmt.Println(i, rows[i][0])
  750. }
  751. if len(rows[i]) <= 0 {
  752. continue
  753. }
  754. name := dealName(rows[i][0])
  755. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  756. //baseInfo := *base
  757. baseInfo := baseMap[name]
  758. if len(baseInfo) == 0 || baseInfo == nil {
  759. continue
  760. }
  761. company_id := baseInfo["company_id"]
  762. //1. 基本信息
  763. // 设置一次表头
  764. if line == 0 {
  765. line++
  766. //设置第一行title
  767. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  768. if err != nil {
  769. fmt.Println(err)
  770. return
  771. }
  772. }
  773. //获取 分支结构
  774. pledge, _ := Mgo.Find("company_pledge", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
  775. pledgeDatas := *pledge
  776. if len(pledgeDatas) == 0 {
  777. continue
  778. }
  779. for _, Data := range pledgeDatas {
  780. line++
  781. valus := []interface{}{
  782. baseInfo["company_name"],
  783. company_id,
  784. Data["pledge_date"],
  785. Data["public_date"],
  786. Data["pledge_code"],
  787. Data["pledgor"],
  788. Data["pledge_equity"],
  789. }
  790. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  791. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
  792. }
  793. }
  794. fmt.Println("股权出质 处理完毕")
  795. }
  796. // getChattel 获取动产抵押
  797. func getChattel() {
  798. fmt.Println("开始处理 动产抵押信息")
  799. f, err := excelize.OpenFile(filename)
  800. if err != nil {
  801. fmt.Println(err)
  802. return
  803. }
  804. defer func() {
  805. f.Save()
  806. if err := f.Close(); err != nil {
  807. fmt.Println(err)
  808. }
  809. }()
  810. rows, err := f.GetRows(GF.Env.Sheet)
  811. baseSheet := "动产抵押"
  812. baseTitle := []string{"企业名称", "公司ID", "债权种类", "债权数额", "履行日期", "登记编号", "登记日期", "公示日期", "登记机关", "担保范围", "主债权信息备注", "状态"}
  813. styleOne, _ := f.NewStyle(
  814. &excelize.Style{
  815. Alignment: &excelize.Alignment{
  816. Horizontal: "left",
  817. Vertical: "left",
  818. },
  819. },
  820. )
  821. line := 0
  822. f.NewSheet(baseSheet)
  823. _ = f.SetColWidth(baseSheet, "A", "G", 25)
  824. _ = f.SetRowHeight(baseSheet, line, 20)
  825. for i := 1; i < len(rows); i++ {
  826. if i%100 == 0 {
  827. fmt.Println(i, rows[i][0])
  828. }
  829. if len(rows[i]) <= 0 {
  830. continue
  831. }
  832. name := dealName(rows[i][0])
  833. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  834. //baseInfo := *base
  835. baseInfo := baseMap[name]
  836. if len(baseInfo) == 0 || baseInfo == nil {
  837. continue
  838. }
  839. company_id := baseInfo["company_id"]
  840. //1. 基本信息
  841. // 设置一次表头
  842. if line == 0 {
  843. line++
  844. //设置第一行title
  845. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  846. if err != nil {
  847. fmt.Println(err)
  848. return
  849. }
  850. }
  851. //获取 分支结构
  852. pledge, _ := Mgo.Find("company_chattel", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
  853. pledgeDatas := *pledge
  854. if len(pledgeDatas) == 0 {
  855. continue
  856. }
  857. for _, Data := range pledgeDatas {
  858. line++
  859. valus := []interface{}{
  860. baseInfo["company_name"],
  861. company_id,
  862. Data["debt_type"],
  863. Data["debt_amount"],
  864. Data["debt_term"],
  865. Data["chattel_code"],
  866. Data["chattel_date"],
  867. Data["public_date"],
  868. Data["authority"],
  869. Data["guarantee_scope"],
  870. Data["remark"],
  871. Data["chattel_status"],
  872. }
  873. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  874. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
  875. }
  876. }
  877. fmt.Println("动产抵押 处理完毕")
  878. }
  879. // getAbnormal 获取经营异常
  880. func getAbnormal() {
  881. fmt.Println("开始处理 经营异常信息")
  882. f, err := excelize.OpenFile(filename)
  883. if err != nil {
  884. fmt.Println(err)
  885. return
  886. }
  887. defer func() {
  888. f.Save()
  889. if err := f.Close(); err != nil {
  890. fmt.Println(err)
  891. }
  892. }()
  893. rows, err := f.GetRows(GF.Env.Sheet)
  894. baseSheet := "经营异常名录"
  895. baseTitle := []string{"企业名称", "公司ID", "列入经营异常名录日期", "列入经营异常名录原因", "列入异常名录部门", "移出经营异常名录日期", "移出经营异常名录原因", "移出异常名录部门"}
  896. styleOne, _ := f.NewStyle(
  897. &excelize.Style{
  898. Alignment: &excelize.Alignment{
  899. Horizontal: "left",
  900. Vertical: "left",
  901. },
  902. },
  903. )
  904. line := 0
  905. f.NewSheet(baseSheet)
  906. _ = f.SetColWidth(baseSheet, "A", "G", 25)
  907. _ = f.SetRowHeight(baseSheet, line, 20)
  908. for i := 1; i < len(rows); i++ {
  909. if i%100 == 0 {
  910. fmt.Println(i, rows[i][0])
  911. }
  912. if len(rows[i]) <= 0 {
  913. continue
  914. }
  915. name := dealName(rows[i][0])
  916. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  917. //baseInfo := *base
  918. baseInfo := baseMap[name]
  919. if len(baseInfo) == 0 || baseInfo == nil {
  920. continue
  921. }
  922. company_id := baseInfo["company_id"]
  923. //1. 基本信息
  924. // 设置一次表头
  925. if line == 0 {
  926. line++
  927. //设置第一行title
  928. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  929. if err != nil {
  930. fmt.Println(err)
  931. return
  932. }
  933. }
  934. //获取 分支结构
  935. pledge, _ := Mgo.Find("company_abnormal", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
  936. pledgeDatas := *pledge
  937. if len(pledgeDatas) == 0 {
  938. continue
  939. }
  940. for _, Data := range pledgeDatas {
  941. line++
  942. valus := []interface{}{
  943. baseInfo["company_name"],
  944. company_id,
  945. Data["included_date"],
  946. Data["included_reason"],
  947. Data["included_authority"],
  948. Data["removed_date"],
  949. Data["removed_reason"],
  950. Data["removed_authority"],
  951. }
  952. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  953. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
  954. }
  955. }
  956. fmt.Println("经营异常 处理完毕")
  957. }
  958. // getIllegal 获取 严重违法失信
  959. func getIllegal() {
  960. fmt.Println("开始处理 严重违法失信")
  961. f, err := excelize.OpenFile(filename)
  962. if err != nil {
  963. fmt.Println(err)
  964. return
  965. }
  966. defer func() {
  967. f.Save()
  968. if err := f.Close(); err != nil {
  969. fmt.Println(err)
  970. }
  971. }()
  972. rows, err := f.GetRows(GF.Env.Sheet)
  973. baseSheet := "严重违法失信"
  974. baseTitle := []string{"企业名称", "公司ID", "列入日期", "列入原因", "列入部门", "移出日期", "移出原因", "移出异常名录部门"}
  975. styleOne, _ := f.NewStyle(
  976. &excelize.Style{
  977. Alignment: &excelize.Alignment{
  978. Horizontal: "left",
  979. Vertical: "left",
  980. },
  981. },
  982. )
  983. line := 0
  984. f.NewSheet(baseSheet)
  985. _ = f.SetColWidth(baseSheet, "A", "G", 25)
  986. _ = f.SetRowHeight(baseSheet, line, 20)
  987. for i := 1; i < len(rows); i++ {
  988. if i%100 == 0 {
  989. fmt.Println(i, rows[i][0])
  990. }
  991. if len(rows[i]) <= 0 {
  992. continue
  993. }
  994. name := dealName(rows[i][0])
  995. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  996. //baseInfo := *base
  997. baseInfo := baseMap[name]
  998. if len(baseInfo) == 0 || baseInfo == nil {
  999. continue
  1000. }
  1001. company_id := baseInfo["company_id"]
  1002. //1. 基本信息
  1003. // 设置一次表头
  1004. if line == 0 {
  1005. line++
  1006. //设置第一行title
  1007. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  1008. if err != nil {
  1009. fmt.Println(err)
  1010. return
  1011. }
  1012. }
  1013. //获取 分支结构
  1014. pledge, _ := Mgo.Find("company_illegal", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
  1015. pledgeDatas := *pledge
  1016. if len(pledgeDatas) == 0 {
  1017. continue
  1018. }
  1019. for _, Data := range pledgeDatas {
  1020. line++
  1021. valus := []interface{}{
  1022. baseInfo["company_name"],
  1023. company_id,
  1024. Data["included_date"],
  1025. Data["included_reason"],
  1026. Data["included_authority"],
  1027. Data["removed_date"],
  1028. Data["removed_reason"],
  1029. Data["removed_authority"],
  1030. }
  1031. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  1032. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
  1033. }
  1034. }
  1035. fmt.Println("严重违法失信 处理完毕")
  1036. }
  1037. // getPunish 获取行政处罚
  1038. func getPunish() {
  1039. fmt.Println("开始处理 行政处罚")
  1040. f, err := excelize.OpenFile(filename)
  1041. if err != nil {
  1042. fmt.Println(err)
  1043. return
  1044. }
  1045. defer func() {
  1046. f.Save()
  1047. if err := f.Close(); err != nil {
  1048. fmt.Println(err)
  1049. }
  1050. }()
  1051. rows, err := f.GetRows(GF.Env.Sheet)
  1052. baseSheet := "行政处罚"
  1053. baseTitle := []string{"企业名称", "公司ID", "处罚决定文书", "处罚日期", "违法行为类型", "处罚内容", "决定机关"}
  1054. styleOne, _ := f.NewStyle(
  1055. &excelize.Style{
  1056. Alignment: &excelize.Alignment{
  1057. Horizontal: "left",
  1058. Vertical: "left",
  1059. },
  1060. },
  1061. )
  1062. line := 0
  1063. f.NewSheet(baseSheet)
  1064. _ = f.SetColWidth(baseSheet, "A", "G", 25)
  1065. _ = f.SetRowHeight(baseSheet, line, 20)
  1066. for i := 1; i < len(rows); i++ {
  1067. if i%100 == 0 {
  1068. fmt.Println(i, rows[i][0])
  1069. }
  1070. if len(rows[i]) <= 0 {
  1071. continue
  1072. }
  1073. name := dealName(rows[i][0])
  1074. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  1075. //baseInfo := *base
  1076. baseInfo := baseMap[name]
  1077. if len(baseInfo) == 0 || baseInfo == nil {
  1078. continue
  1079. }
  1080. company_id := baseInfo["company_id"]
  1081. //1. 基本信息
  1082. // 设置一次表头
  1083. if line == 0 {
  1084. line++
  1085. //设置第一行title
  1086. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  1087. if err != nil {
  1088. fmt.Println(err)
  1089. return
  1090. }
  1091. }
  1092. //获取 分支结构
  1093. pledge, _ := Mgo.Find("company_punish", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
  1094. pledgeDatas := *pledge
  1095. if len(pledgeDatas) == 0 {
  1096. continue
  1097. }
  1098. for _, Data := range pledgeDatas {
  1099. line++
  1100. valus := []interface{}{
  1101. baseInfo["company_name"],
  1102. company_id,
  1103. Data["punish_code"],
  1104. Data["punish_date"],
  1105. Data["illegal_type"],
  1106. Data["punish_content"],
  1107. Data["authority"],
  1108. }
  1109. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  1110. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
  1111. }
  1112. }
  1113. fmt.Println("行政处罚 处理完毕")
  1114. }
  1115. // getIllegal 获取失信被执行人
  1116. func getJustice() {
  1117. fmt.Println("开始处理 失信被执行人")
  1118. f, err := excelize.OpenFile(filename)
  1119. if err != nil {
  1120. fmt.Println(err)
  1121. return
  1122. }
  1123. defer func() {
  1124. f.Save()
  1125. if err := f.Close(); err != nil {
  1126. fmt.Println(err)
  1127. }
  1128. }()
  1129. rows, err := f.GetRows(GF.Env.Sheet)
  1130. baseSheet := "失信被执行人"
  1131. baseTitle := []string{"企业名称", "公司ID", "失信人名称", "执行法院", "执行通知书文号", "类型|状态", "股权数额", "创建时间"}
  1132. styleOne, _ := f.NewStyle(
  1133. &excelize.Style{
  1134. Alignment: &excelize.Alignment{
  1135. Horizontal: "left",
  1136. Vertical: "left",
  1137. },
  1138. },
  1139. )
  1140. line := 0
  1141. f.NewSheet(baseSheet)
  1142. _ = f.SetColWidth(baseSheet, "A", "G", 25)
  1143. _ = f.SetRowHeight(baseSheet, line, 20)
  1144. for i := 1; i < len(rows); i++ {
  1145. if i%100 == 0 {
  1146. fmt.Println(i, rows[i][0])
  1147. }
  1148. if len(rows[i]) <= 0 {
  1149. continue
  1150. }
  1151. name := dealName(rows[i][0])
  1152. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  1153. //baseInfo := *base
  1154. baseInfo := baseMap[name]
  1155. if len(baseInfo) == 0 || baseInfo == nil {
  1156. continue
  1157. }
  1158. company_id := baseInfo["company_id"]
  1159. //1. 基本信息
  1160. // 设置一次表头
  1161. if line == 0 {
  1162. line++
  1163. //设置第一行title
  1164. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  1165. if err != nil {
  1166. fmt.Println(err)
  1167. return
  1168. }
  1169. }
  1170. //获取 分支结构
  1171. pledge, _ := Mgo.Find("company_justice", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
  1172. pledgeDatas := *pledge
  1173. if len(pledgeDatas) == 0 {
  1174. continue
  1175. }
  1176. for _, Data := range pledgeDatas {
  1177. line++
  1178. valus := []interface{}{
  1179. baseInfo["company_name"],
  1180. company_id,
  1181. Data["executee"],
  1182. Data["exec_court"],
  1183. Data["doc_no"],
  1184. Data["equity_status"],
  1185. Data["equity_amount"],
  1186. Data["create_time"],
  1187. }
  1188. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  1189. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
  1190. }
  1191. }
  1192. fmt.Println("失信被执行人 处理完毕")
  1193. }
  1194. // getCheck 获取抽查结果
  1195. func getCheck() {
  1196. fmt.Println("开始处理 抽查结果")
  1197. f, err := excelize.OpenFile(filename)
  1198. if err != nil {
  1199. fmt.Println(err)
  1200. return
  1201. }
  1202. defer func() {
  1203. f.Save()
  1204. if err := f.Close(); err != nil {
  1205. fmt.Println(err)
  1206. }
  1207. }()
  1208. rows, err := f.GetRows(GF.Env.Sheet)
  1209. baseSheet := "抽查结果"
  1210. baseTitle := []string{"企业名称", "公司ID", "抽查时间", "抽查类型", "抽查结果", "抽查机关"}
  1211. styleOne, _ := f.NewStyle(
  1212. &excelize.Style{
  1213. Alignment: &excelize.Alignment{
  1214. Horizontal: "left",
  1215. Vertical: "left",
  1216. },
  1217. },
  1218. )
  1219. line := 0
  1220. f.NewSheet(baseSheet)
  1221. _ = f.SetColWidth(baseSheet, "A", "G", 25)
  1222. _ = f.SetRowHeight(baseSheet, line, 20)
  1223. for i := 1; i < len(rows); i++ {
  1224. if i%100 == 0 {
  1225. fmt.Println(i, rows[i][0])
  1226. }
  1227. if len(rows[i]) <= 0 {
  1228. continue
  1229. }
  1230. name := dealName(rows[i][0])
  1231. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  1232. //baseInfo := *base
  1233. baseInfo := baseMap[name]
  1234. if len(baseInfo) == 0 || baseInfo == nil {
  1235. continue
  1236. }
  1237. company_id := baseInfo["company_id"]
  1238. //1. 基本信息
  1239. // 设置一次表头
  1240. if line == 0 {
  1241. line++
  1242. //设置第一行title
  1243. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  1244. if err != nil {
  1245. fmt.Println(err)
  1246. return
  1247. }
  1248. }
  1249. //获取 分支结构
  1250. pledge, _ := Mgo.Find("company_check", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
  1251. pledgeDatas := *pledge
  1252. if len(pledgeDatas) == 0 {
  1253. continue
  1254. }
  1255. for _, Data := range pledgeDatas {
  1256. line++
  1257. valus := []interface{}{
  1258. baseInfo["company_name"],
  1259. company_id,
  1260. Data["check_date"],
  1261. Data["check_type"],
  1262. Data["check_result"],
  1263. Data["authority"],
  1264. }
  1265. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  1266. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
  1267. }
  1268. }
  1269. fmt.Println("抽查结果 处理完毕")
  1270. }
  1271. // getFreeze 获取股权冻结
  1272. func getFreeze() {
  1273. fmt.Println("开始处理 股权冻结")
  1274. f, err := excelize.OpenFile(filename)
  1275. if err != nil {
  1276. fmt.Println(err)
  1277. return
  1278. }
  1279. defer func() {
  1280. f.Save()
  1281. if err := f.Close(); err != nil {
  1282. fmt.Println(err)
  1283. }
  1284. }()
  1285. rows, err := f.GetRows(GF.Env.Sheet)
  1286. baseSheet := "股权冻结"
  1287. baseTitle := []string{"企业名称", "公司ID", "被执行人", "股权数额", "执行法院", "执行事项", "执行通知书文号", "执行裁定书文号", "冻结期限自", "冻结期限至", "冻结期限", "冻结公示日期"}
  1288. styleOne, _ := f.NewStyle(
  1289. &excelize.Style{
  1290. Alignment: &excelize.Alignment{
  1291. Horizontal: "left",
  1292. Vertical: "left",
  1293. },
  1294. },
  1295. )
  1296. line := 0
  1297. f.NewSheet(baseSheet)
  1298. _ = f.SetColWidth(baseSheet, "A", "G", 25)
  1299. _ = f.SetRowHeight(baseSheet, line, 20)
  1300. for i := 1; i < len(rows); i++ {
  1301. if i%100 == 0 {
  1302. fmt.Println(i, rows[i][0])
  1303. }
  1304. if len(rows[i]) <= 0 {
  1305. continue
  1306. }
  1307. name := dealName(rows[i][0])
  1308. //base, _ := Mgo.FindOne("company_base", map[string]interface{}{"company_name": name})
  1309. //baseInfo := *base
  1310. baseInfo := baseMap[name]
  1311. if len(baseInfo) == 0 || baseInfo == nil {
  1312. continue
  1313. }
  1314. company_id := baseInfo["company_id"]
  1315. //1. 基本信息
  1316. // 设置一次表头
  1317. if line == 0 {
  1318. line++
  1319. //设置第一行title
  1320. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &baseTitle)
  1321. if err != nil {
  1322. fmt.Println(err)
  1323. return
  1324. }
  1325. }
  1326. //获取 分支结构
  1327. pledge, _ := Mgo.Find("company_justice_freeze", map[string]interface{}{"company_id": company_id}, nil, nil, false, -1, -1)
  1328. pledgeDatas := *pledge
  1329. if len(pledgeDatas) == 0 {
  1330. continue
  1331. }
  1332. for _, Data := range pledgeDatas {
  1333. line++
  1334. valus := []interface{}{
  1335. baseInfo["company_name"],
  1336. company_id,
  1337. Data["executee"],
  1338. Data["equity_amount"],
  1339. Data["exec_court"],
  1340. Data["exec_item"],
  1341. Data["doc_no"],
  1342. Data["exec_no"],
  1343. Data["freeze_start_date"],
  1344. Data["freeze_end_date"],
  1345. Data["freeze_years"],
  1346. Data["public_date"],
  1347. }
  1348. err = f.SetSheetRow(baseSheet, fmt.Sprintf("%s%d", "A", line), &valus)
  1349. _ = f.SetCellStyle(baseSheet, fmt.Sprintf("%s%d", "A", line), "AA"+strconv.Itoa(line), styleOne)
  1350. }
  1351. }
  1352. fmt.Println("股权冻结 处理完毕")
  1353. }
  1354. // dealName 处理name
  1355. func dealName(name string) string {
  1356. if strings.ContainsAny(name, "()()") {
  1357. name = strings.Replace(name, "(", "(", -1)
  1358. name = strings.Replace(name, ")", ")", -1)
  1359. }
  1360. return name
  1361. }