2022-01-16 20:47:39 +00:00
|
|
|
|
package admin
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
. "../../../hotime"
|
|
|
|
|
. "../../common"
|
|
|
|
|
"../../dri/baidu"
|
|
|
|
|
"errors"
|
|
|
|
|
"fmt"
|
|
|
|
|
"github.com/chain-zhang/pinyin"
|
|
|
|
|
"github.com/xuri/excelize"
|
|
|
|
|
"io"
|
|
|
|
|
"os"
|
|
|
|
|
"strings"
|
|
|
|
|
"time"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
var CompanyInOutCtr = Ctr{
|
|
|
|
|
|
|
|
|
|
"upload": func(this *Context) {
|
|
|
|
|
|
|
|
|
|
//读取网络文件
|
|
|
|
|
fi, fheader, err := this.Req.FormFile("file")
|
|
|
|
|
if err != nil {
|
|
|
|
|
this.Display(3, err)
|
|
|
|
|
return
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
filePath := this.Config.GetString("filePath")
|
|
|
|
|
if filePath == "" {
|
|
|
|
|
filePath = "excel/2006/01/02/"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
path := time.Now().Format(filePath)
|
|
|
|
|
e := os.MkdirAll(this.Config.GetString("tpt")+"/"+path, os.ModeDir)
|
|
|
|
|
|
|
|
|
|
if e != nil {
|
|
|
|
|
this.Display(3, e)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
filePath = path + Md5(ObjToStr(RandX(100000, 9999999))) + fheader.Filename[strings.LastIndex(fheader.Filename, "."):]
|
|
|
|
|
newFile, e := os.Create(this.Config.GetString("tpt") + "/" + filePath)
|
|
|
|
|
|
|
|
|
|
if e != nil {
|
|
|
|
|
this.Display(3, e)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_, e = io.Copy(newFile, fi)
|
|
|
|
|
|
|
|
|
|
if e != nil {
|
|
|
|
|
this.Display(3, e)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//this.Display(0, filePath)
|
|
|
|
|
|
|
|
|
|
//读取excel
|
|
|
|
|
data := excel(this.Config.GetString("tpt") + "/" + filePath)
|
|
|
|
|
if len(data) != 1 {
|
|
|
|
|
this.Display(3, "表格不标准,请重新提交")
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
err = decodeData2Sql(data[0], this)
|
|
|
|
|
if err != nil {
|
|
|
|
|
this.Display(4, err)
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.Display(0, "上传成功")
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func decodeData2Sql(table [][]string, this *Context) error {
|
|
|
|
|
tags := []Map{} //报错所有的tag记录
|
|
|
|
|
tagCtgs := []Map{}
|
|
|
|
|
for k, v := range table {
|
|
|
|
|
|
|
|
|
|
//第一排是指标分类,去除掉第一个参数,其存在合并所以,如果是合并的则删除
|
|
|
|
|
if k == 0 {
|
|
|
|
|
|
|
|
|
|
for ck, cv := range v {
|
|
|
|
|
cv = strings.Replace(cv, " ", "", -1)
|
|
|
|
|
cv = strings.Replace(cv, "\r\t", "", -1)
|
|
|
|
|
cv = strings.Replace(cv, "\r", "", -1)
|
|
|
|
|
v[ck] = cv
|
|
|
|
|
|
|
|
|
|
if ck == 0 {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
if cv == "" {
|
|
|
|
|
v[ck] = v[ck-1]
|
|
|
|
|
cv = v[ck]
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tagCtg := this.Db.Get("tag_ctg", "*", Map{"name": cv})
|
|
|
|
|
if tagCtg != nil {
|
|
|
|
|
tagCtgs = append(tagCtgs, tagCtg)
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
tagCtg = Map{
|
|
|
|
|
"name": cv,
|
|
|
|
|
"admin_id": this.Session("admin_id").ToInt(),
|
|
|
|
|
"create_time": time.Now().Unix(),
|
|
|
|
|
"modify_time": time.Now().Unix(),
|
|
|
|
|
}
|
|
|
|
|
id := this.Db.Insert("tag_ctg", tagCtg)
|
|
|
|
|
|
|
|
|
|
if id != 0 {
|
|
|
|
|
tagCtg["id"] = id
|
|
|
|
|
this.Db.Update("tag_ctg", Map{
|
|
|
|
|
"index": "," + ObjToStr(id) + ",",
|
|
|
|
|
}, Map{"id": id})
|
|
|
|
|
|
|
|
|
|
tagCtgs = append(tagCtgs, tagCtg)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//第二排是指标项,去除掉第一个参数,
|
|
|
|
|
//最重要的是参数tag生成,通过中文转拼音获取首字母实现,遇到同名的则最后加一位数字
|
|
|
|
|
if k == 1 {
|
|
|
|
|
|
|
|
|
|
for ck, cv := range v {
|
|
|
|
|
cv = strings.Replace(cv, " ", "", -1)
|
|
|
|
|
cv = strings.Replace(cv, "\r\t", "", -1)
|
|
|
|
|
cv = strings.Replace(cv, "\r", "", -1)
|
|
|
|
|
v[ck] = cv
|
|
|
|
|
if ck == 0 {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
//补充分类
|
|
|
|
|
if ck >= len(table[0]) {
|
|
|
|
|
tagCtgs = append(tagCtgs, tagCtgs[len(tagCtgs)-1])
|
|
|
|
|
}
|
|
|
|
|
//补充说明
|
|
|
|
|
if ck >= len(table[3]) {
|
|
|
|
|
table[3] = append(table[3], table[3][len(table[3])-1])
|
|
|
|
|
}
|
|
|
|
|
//补充单位
|
|
|
|
|
if ck >= len(table[2]) {
|
|
|
|
|
table[2] = append(table[2], "")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tag := this.Db.Get("tag", "*", Map{"name": cv})
|
|
|
|
|
|
|
|
|
|
if tag != nil {
|
|
|
|
|
tags = append(tags, tag)
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
sn, err := pinyin.New(cv).Split(" ").Mode(pinyin.InitialsInCapitals).Convert()
|
|
|
|
|
if err != nil {
|
|
|
|
|
fmt.Println(err)
|
|
|
|
|
sn = cv
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
sns := strings.Split(sn, " ")
|
|
|
|
|
|
|
|
|
|
sn = "IEDC"
|
|
|
|
|
for _, v1 := range sns {
|
|
|
|
|
if v1 != "" {
|
|
|
|
|
sn = sn + string([]rune(v1)[:1])
|
|
|
|
|
fmt.Println(sn, v1)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//sn=strings.Replace(sn,"\ufffd","",-1)
|
|
|
|
|
|
|
|
|
|
tagsn := this.Db.Get("tag", "id", Map{"sn": sn})
|
|
|
|
|
if tagsn != nil {
|
|
|
|
|
for i := 0; i < 100; i++ {
|
|
|
|
|
tagsn = this.Db.Get("tag", "id", Map{"sn": sn + ObjToStr(i)})
|
|
|
|
|
if tagsn == nil {
|
|
|
|
|
sn = sn + ObjToStr(i)
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tag = Map{
|
|
|
|
|
"name": cv,
|
|
|
|
|
"description": table[3][ck], //第三行对应位置为描述
|
|
|
|
|
"unit": table[2][ck],
|
|
|
|
|
"admin_id": this.Session("admin_id").ToInt(),
|
|
|
|
|
"type": 1,
|
|
|
|
|
"sn": sn,
|
|
|
|
|
"tag_ctg_id": tagCtgs[ck-1].GetCeilInt("id"),
|
|
|
|
|
"create_time": time.Now().Unix(),
|
|
|
|
|
"modify_time": time.Now().Unix(),
|
|
|
|
|
}
|
|
|
|
|
id := this.Db.Insert("tag", tag)
|
|
|
|
|
tag["id"] = id
|
|
|
|
|
tags = append(tags, tag)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//第四排以后是数据项,去除掉第一个参数,
|
|
|
|
|
//根据统一社会信用代码识别是否存在,同时将校验部分数字
|
|
|
|
|
if k > 4 {
|
|
|
|
|
|
|
|
|
|
//整行数据
|
|
|
|
|
rowData := Map{}
|
|
|
|
|
for ck, cv := range v {
|
|
|
|
|
if ck == 0 {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
cv = strings.Replace(cv, " ", "", -1)
|
|
|
|
|
cv = strings.Replace(cv, "\r\t", "", -1)
|
|
|
|
|
cv = strings.Replace(cv, "\r", "", -1)
|
|
|
|
|
v[ck] = cv
|
|
|
|
|
if cv == "" {
|
|
|
|
|
return errors.New("第" + ObjToStr(k+1) + "行," + ObjToStr(ck+1) + "列,数据为空请注意检查")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
rowData[tags[ck-1].GetString("sn")] = cv
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
companyData := Map{
|
|
|
|
|
"name": rowData["IEDCQYMC"],
|
|
|
|
|
"sn": rowData["IEDCTYSHXYDM"],
|
|
|
|
|
"address": rowData["IEDCQYDZ"],
|
|
|
|
|
"unit": rowData["IEDCSDMC"],
|
|
|
|
|
"zdmj": rowData["IEDCYDMJ"],
|
|
|
|
|
"yysr": rowData["IEDC2NYYSR"],
|
|
|
|
|
"lrze": rowData["IEDC2NLRZE"],
|
|
|
|
|
"yjsj": rowData["IEDCYNSJ"],
|
|
|
|
|
"yfjf": rowData["IEDCNYFFY"],
|
|
|
|
|
"zgrs": rowData["IEDCSBRS"],
|
|
|
|
|
"zywrwpfdl": rowData["IEDCZYWRWPFDL"],
|
|
|
|
|
"zhnh": rowData["IEDCZHNH"],
|
|
|
|
|
"admin_id": this.Session("admin_id").ToInt(),
|
|
|
|
|
"upload_data": rowData.ToJsonString(),
|
|
|
|
|
//"create_time": time.Now().Unix(),
|
|
|
|
|
"modify_time": time.Now().Unix(),
|
|
|
|
|
//"lat": lat,
|
|
|
|
|
//"lng": lng,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
baiduDataStr, _ := baidu.DefaultBaiDuMap.GetPosition(companyData.GetString("address"))
|
|
|
|
|
baiduData := ObjToMap(baiduDataStr)
|
|
|
|
|
|
|
|
|
|
city := Map{}
|
|
|
|
|
if baiduData != nil && baiduData.GetCeilInt("status") == 0 {
|
|
|
|
|
address := baiduData.GetSlice("result")
|
|
|
|
|
if len(address) != 0 {
|
|
|
|
|
companyData["lat"] = address.GetMap(0).GetMap("location").GetFloat64("lat")
|
|
|
|
|
companyData["lng"] = address.GetMap(0).GetMap("location").GetFloat64("lng")
|
|
|
|
|
|
|
|
|
|
city = this.Db.Get("city", "id", Map{"name[~]": address.GetMap(0).GetString("district"), "ORDER": "`level` DESC"})
|
|
|
|
|
if city == nil {
|
|
|
|
|
city = this.Db.Get("city", "id", Map{"name[~]": address.GetMap(0).GetString("city"), "ORDER": "`level` DESC"})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if city != nil {
|
|
|
|
|
companyData["city_id"] = city.GetCeilInt("id")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//行业ID
|
|
|
|
|
category := this.Db.Get("category", "id", Map{"code": rowData["IEDCSSXYXLDM"]})
|
|
|
|
|
if category != nil {
|
|
|
|
|
companyData["category_id"] = category.GetCeilInt("id")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//此处需要优化
|
|
|
|
|
companyData["org_id"] = 3
|
|
|
|
|
|
|
|
|
|
company := this.Db.Get("company", "id", Map{"sn": companyData["sn"]})
|
|
|
|
|
//没有则创建
|
|
|
|
|
if company == nil {
|
|
|
|
|
//更新两张表
|
|
|
|
|
companyData["create_time"] = time.Now().Unix()
|
|
|
|
|
id := this.Db.Insert("company", companyData)
|
|
|
|
|
companyData["company_id"] = id
|
|
|
|
|
} else {
|
|
|
|
|
//有则更新
|
|
|
|
|
this.Db.Update("company", companyData, Map{"sn": companyData["sn"]})
|
|
|
|
|
companyData["company_id"] = company.GetCeilInt("id")
|
|
|
|
|
companyData["create_time"] = time.Now().Unix()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.Db.Insert("company_history", companyData)
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return nil
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func excel(filePath string) [][][]string {
|
|
|
|
|
xlsx, err := excelize.OpenFile(filePath)
|
|
|
|
|
if err != nil {
|
|
|
|
|
fmt.Println(err)
|
|
|
|
|
os.Exit(1)
|
|
|
|
|
}
|
|
|
|
|
list := xlsx.GetSheetList()
|
|
|
|
|
var data [][][]string
|
|
|
|
|
for _, v := range list {
|
|
|
|
|
rows, e := xlsx.GetRows(v)
|
|
|
|
|
if e != nil {
|
|
|
|
|
fmt.Println(e)
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
data = append(data, rows)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return data
|
|
|
|
|
}
|
2022-01-18 21:38:49 +00:00
|
|
|
|
|
|
|
|
|
func companyAnalyse(data Map) Map {
|
|
|
|
|
res := Map{}
|
|
|
|
|
//亩均收入
|
|
|
|
|
res["MJSR"] = data.GetFloat64("IEDC2NYYSR") / data.GetFloat64("IEDCYDMJ")
|
|
|
|
|
res["MJSRDF"] = "" //亩均收入得分
|
|
|
|
|
//亩均税收
|
|
|
|
|
res["MJSS"] = data.GetFloat64("IEDCYNSJ") / data.GetFloat64("IEDCYDMJ")
|
|
|
|
|
res["MJSSDF"] = "" //亩均税收得分
|
|
|
|
|
|
|
|
|
|
//人均收入
|
|
|
|
|
res["RJSR"] = data.GetFloat64("IEDC2NYYSR") / data.GetFloat64("IEDCSBRS")
|
|
|
|
|
res["RJSRDF"] = "" //人均收入得分
|
|
|
|
|
|
|
|
|
|
//研发经费投入强度
|
|
|
|
|
res["YFJFTRQD"] = data.GetFloat64("IEDCNYFFY") / data.GetFloat64("IEDC2NYYSR")
|
|
|
|
|
res["YFJFTRQDDF"] = "" //研发经费投入强度得分
|
|
|
|
|
|
|
|
|
|
//单位能耗税收
|
|
|
|
|
res["DWNHSS"] = data.GetFloat64("IEDCYNSJ") / data.GetFloat64("IEDCZHNH")
|
|
|
|
|
res["DWNHSSDF"] = "" //单位能耗税收得分
|
|
|
|
|
|
|
|
|
|
//主要污染物税收
|
|
|
|
|
res[""] = data.GetFloat64("IEDCYNSJ") / data.GetFloat64("IEDCZHNH")
|
|
|
|
|
res["DF"] = "" //单位能耗税收得分
|
|
|
|
|
|
|
|
|
|
//主要污染物税收
|
|
|
|
|
//不足1按1计算
|
|
|
|
|
if data.GetFloat64("IEDCZYWRWPFDL") < 1 {
|
|
|
|
|
data["IEDCZYWRWPFDL"] = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
res["ZYWRWSS"] = data.GetFloat64("IEDCYNSJ") / data.GetFloat64("IEDCZYWRWPFDL")
|
|
|
|
|
res["ZYWRWSSDF"] = "" //单位能耗税收得分
|
|
|
|
|
|
|
|
|
|
//独角兽、瞪羚企业得分,一个一分
|
|
|
|
|
res["DJSDLQYDF"] = 0
|
|
|
|
|
if data.GetString("IEDC“DJS”QY") != "" && data.GetString("IEDC“DJS”QY") != "无" {
|
|
|
|
|
res["DJSDLQYDF"] = res.GetCeilInt("DJSDLQYDF") + 1
|
|
|
|
|
}
|
|
|
|
|
if data.GetString("IEDC“DL”QY") != "" && data.GetString("IEDC“DL”QY") != "无" {
|
|
|
|
|
res["DJSDLQYDF"] = res.GetCeilInt("DJSDLQYDF") + 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//企业获得国家级、省级、市级企业技术中心,国家级,省级得1分,市级得0.5
|
|
|
|
|
res["JSZXDF"] = 0
|
|
|
|
|
//国家级及省级
|
|
|
|
|
if (data.GetString("IEDCGJJQYJSZX") != "" && data.GetString("IEDCGJJQYJSZX") != "无") || //国家级
|
|
|
|
|
(data.GetString("IEDCSJQYJSZX") != "" && data.GetString("IEDCSJQYJSZX") != "无") || //省级
|
|
|
|
|
(data.GetString("IEDCGJJGCJSZX") != "" && data.GetString("IEDCGJJGCJSZX") != "无") || //国家级
|
|
|
|
|
(data.GetString("IEDCSJGCJSZX") != "" && data.GetString("IEDCSJGCJSZX") != "无") { //省级
|
|
|
|
|
res["JSZXDF"] = res.GetFloat64("JSZXDF") + 1
|
|
|
|
|
} else
|
|
|
|
|
|
|
|
|
|
//市级
|
|
|
|
|
if (data.GetString("IEDCSJQYJSZX0") != "" && data.GetString("IEDCSJQYJSZX0") != "无") ||
|
|
|
|
|
(data.GetString("IEDCSJGCJSZX0") != "" && data.GetString("IEDCSJQYJSZX") != "无") {
|
|
|
|
|
res["JSZXDF"] = res.GetFloat64("JSZXDF") + 0.5
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//研发费用得分
|
|
|
|
|
res["YFFYDF"] = 0
|
|
|
|
|
if data.GetString("IEDCTRQD1WHZ3YS") != "" && data.GetString("IEDCTRQD1WHZ3YS") != "否" {
|
|
|
|
|
res["YFFYDF"] = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//高新技术企业得分
|
|
|
|
|
res["GXJSQYDF"] = 0
|
|
|
|
|
if data.GetString("IEDCGXJSQY") != "" && data.GetString("IEDCGXJSQY") != "否" {
|
|
|
|
|
res["GXJSQYDF"] = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//首台(套)、首批次、首版次企业
|
|
|
|
|
res["STTDF"] = 0
|
|
|
|
|
if data.GetString("IEDCST(T)SPC、SBCQY") != "" && data.GetString("IEDCST(T)SPC、SBCQY") != "无" {
|
|
|
|
|
res["STTDF"] = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//专利得分
|
|
|
|
|
res["ZLDF"] = 0
|
|
|
|
|
|
|
|
|
|
res["ZLDF"] = data.GetFloat64("IEDCPGJZL") +
|
|
|
|
|
data.GetFloat64("IEDCFMZL")*0.5 +
|
|
|
|
|
data.GetFloat64("IEDCSYXXZL")*0.1 +
|
|
|
|
|
data.GetFloat64("IEDCWGSJZL")*0.1
|
|
|
|
|
|
|
|
|
|
if res.GetFloat64("ZLDF") > 1 {
|
|
|
|
|
res["ZLDF"] = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//推广目录得分
|
|
|
|
|
res["TGMLDF"] = 0
|
|
|
|
|
if data.GetString("IEDCQYCPJRBDQMYCPMLQY") != "" && data.GetString("IEDCQYCPJRBDQMYCPMLQY") != "无" {
|
|
|
|
|
res["TGMLDF"] = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//连续3年盈利得分
|
|
|
|
|
res["LXSNYLDF"] = 3
|
|
|
|
|
//18年
|
|
|
|
|
if data.GetFloat64("IEDC1NLRZE") < 0 {
|
|
|
|
|
res["LXSNYLDF"] = res.GetInt("LXSNYLDF") - 1
|
|
|
|
|
}
|
|
|
|
|
//19年
|
|
|
|
|
if data.GetFloat64("IEDC1NLRZE0") < 0 {
|
|
|
|
|
res["LXSNYLDF"] = res.GetInt("LXSNYLDF") - 1
|
|
|
|
|
}
|
|
|
|
|
//20年
|
|
|
|
|
if data.GetFloat64("IEDC2NLRZE") < 0 {
|
|
|
|
|
res["LXSNYLDF"] = res.GetInt("LXSNYLDF") - 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if res.GetInt("LXSNYLDF") == 3 {
|
|
|
|
|
res["LXSNYLDF"] = 1
|
|
|
|
|
} else if res.GetInt("LXSNYLDF") > 0 {
|
|
|
|
|
res["LXSNYLDF"] = 0.5
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//当年利润总额得分
|
|
|
|
|
res["DNLRZEDF"] = 0
|
|
|
|
|
//企业利润率
|
|
|
|
|
res["QYLRL"] = data.GetFloat64("IEDC2NLRZE") / data.GetFloat64("IEDC2NYYSR")
|
|
|
|
|
if res.GetFloat64("QYLRL") > 0.1 {
|
|
|
|
|
res["DNLRZEDF"] = 1
|
|
|
|
|
} else if res.GetFloat64("QYLRL") > 0 {
|
|
|
|
|
res["DNLRZEDF"] = 0.5
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//企业连续3年亏损得分
|
|
|
|
|
res["KSDF"] = 3
|
|
|
|
|
//18年
|
|
|
|
|
if data.GetFloat64("IEDC1NLRZE") < 0 {
|
|
|
|
|
res["KSDF"] = res.GetInt("LXSNYLDF") - 1
|
|
|
|
|
}
|
|
|
|
|
//19年
|
|
|
|
|
if data.GetFloat64("IEDC1NLRZE0") < 0 {
|
|
|
|
|
res["KSDF"] = res.GetInt("LXSNYLDF") - 1
|
|
|
|
|
}
|
|
|
|
|
//20年
|
|
|
|
|
if data.GetFloat64("IEDC2NLRZE") < 0 {
|
|
|
|
|
res["KSDF"] = res.GetInt("LXSNYLDF") - 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//先统一扣0.5分
|
|
|
|
|
if res.GetInt("LXSNYLDF") == 0 {
|
|
|
|
|
res["KSDF"] = 0.5
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//环保检查得分
|
|
|
|
|
res["HBJCDF"] = 1
|
|
|
|
|
|
|
|
|
|
if data.GetString("IEDCHBJC、HBCCZBFXWT") == "一般" {
|
|
|
|
|
res["HBJCDF"] = 0.5
|
|
|
|
|
}
|
|
|
|
|
if data.GetString("IEDCHBJC、HBCCZBFXWT") == "重大" {
|
|
|
|
|
res["HBJCDF"] = 0
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//减排技术升级改造
|
|
|
|
|
res["JPJSSJDF"] = 0
|
|
|
|
|
|
|
|
|
|
if data.GetString("IEDCJPJSSJGZ") != "" && data.GetString("IEDCJPJSSJGZ") != "无" {
|
|
|
|
|
res["JPJSSJDF"] = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//安全检查得分
|
|
|
|
|
res["AQJCDF"] = 0
|
|
|
|
|
|
|
|
|
|
if data.GetString("IEDCFXAQFXYH") == "一般" {
|
|
|
|
|
res["HBJCDF"] = -1
|
|
|
|
|
}
|
|
|
|
|
if data.GetString("IEDCFXAQFXYH") == "重大" {
|
|
|
|
|
res["HBJCDF"] = -2
|
|
|
|
|
}
|
|
|
|
|
//安全事故得分
|
|
|
|
|
res["AQSGDF"] = 0
|
|
|
|
|
|
|
|
|
|
if data.GetString("IEDCFSAQSG") == "轻微" {
|
|
|
|
|
res["HBJCDF"] = -0.5
|
|
|
|
|
}
|
|
|
|
|
if data.GetString("IEDCFSAQSG") == "一般" {
|
|
|
|
|
res["HBJCDF"] = -1
|
|
|
|
|
}
|
|
|
|
|
if data.GetString("IEDCFSAQSG") == "重大" {
|
|
|
|
|
res["HBJCDF"] = -2
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//企业风险隐患双预控体系建设得分
|
|
|
|
|
res["QYFXYHSKTXJSDF"] = 0
|
|
|
|
|
|
|
|
|
|
if data.GetString("IEDCFXYHSYKTXJS") != "" && data.GetString("IEDCFXYHSYKTXJS") != "无" {
|
|
|
|
|
res["QYFXYHSKTXJSDF"] = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//企业安全生产是否达标得分
|
|
|
|
|
res["QYAQSCDBDF"] = 0
|
|
|
|
|
|
|
|
|
|
if data.GetString("IEDCQYSCBZHJS") == "达标" {
|
|
|
|
|
res["QYAQSCDBDF"] = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//产业链30户得分
|
|
|
|
|
res["CYL30HDF"] = 0
|
|
|
|
|
|
|
|
|
|
if data.GetString("IEDCCYLLZ、SJZD、SJ3HLTQY") != "" && data.GetString("IEDCCYLLZ、SJZD、SJ3HLTQY") != "否" {
|
|
|
|
|
res["CYL30HDF"] = 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return res
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var ADataType = Map{
|
|
|
|
|
|
|
|
|
|
"CYL30HDF": "产业链30户得分",
|
|
|
|
|
|
|
|
|
|
"QYAQSCDBDF": "企业安全生产是否达标得分",
|
|
|
|
|
|
|
|
|
|
"QYFXYHSKTXJSDF": "企业风险隐患双预控体系建设得分",
|
|
|
|
|
|
|
|
|
|
"AQSGDF": "安全事故得分",
|
|
|
|
|
|
|
|
|
|
"AQJCDF": "安全检查得分",
|
|
|
|
|
|
|
|
|
|
"JPJSSJDF": "减排技术升级改造得分",
|
|
|
|
|
|
|
|
|
|
"HBJCDF": "环保检查得分",
|
|
|
|
|
|
|
|
|
|
"KSDF": "企业连续3年亏损得分",
|
|
|
|
|
|
|
|
|
|
"QYLRL": "企业利润率",
|
|
|
|
|
|
|
|
|
|
"DNLRZEDF": "当年利润总额得分",
|
|
|
|
|
|
|
|
|
|
"LXSNYLDF": "连续3年盈利得分",
|
|
|
|
|
|
|
|
|
|
"TGMLDF": "推广目录得分",
|
|
|
|
|
|
|
|
|
|
"ZLDF": "专利得分",
|
|
|
|
|
|
|
|
|
|
"STTDF": "首台(套)、首批次、首版次企业得分",
|
|
|
|
|
|
|
|
|
|
"MJSR": "亩均收入",
|
|
|
|
|
"MJSRDF": "亩均收入得分",
|
|
|
|
|
|
|
|
|
|
"MJSS": "亩均税收",
|
|
|
|
|
"MJSSDF": "亩均税收得分",
|
|
|
|
|
|
|
|
|
|
"RJSR": "人均收入",
|
|
|
|
|
"RJSRDF": "人均收入得分",
|
|
|
|
|
|
|
|
|
|
"YFJFTRQD": "研发经费投入强度",
|
|
|
|
|
"YFJFTRQDDF": "研发经费投入强度得分",
|
|
|
|
|
|
|
|
|
|
"DWNHSS": "单位能耗税收",
|
|
|
|
|
"DWNHSSDF": "单位能耗税收得分",
|
|
|
|
|
|
|
|
|
|
"ZYWRWSS": "主要污染物税收",
|
|
|
|
|
"ZYWRWSSDF": "主要污染物税收得分",
|
|
|
|
|
|
|
|
|
|
"DJSDLQYDF": "独角兽、瞪羚企业得分",
|
|
|
|
|
|
|
|
|
|
"JSZXDF": "企业获得技术中心得分",
|
|
|
|
|
|
|
|
|
|
"YFFYDF": "研发费用得分",
|
|
|
|
|
|
|
|
|
|
"GXJSQYDF": "高新技术企业得分",
|
|
|
|
|
}
|