政企超链接开始集成

This commit is contained in:
hoteas
2022-02-24 06:26:36 +08:00
parent 4d3829c345
commit d8d9afa4d2
207 changed files with 117722 additions and 997 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+186 -18
View File
@@ -24,6 +24,10 @@ func TestAnalyse(companys []Map, tag Map) {
sort.Sort(cs)
for k, v := range cs {
if company.GetMap(AnalyseTypeName).GetFloat64(AnalyseSortType) >= v.GetMap(AnalyseTypeName).GetFloat64(AnalyseSortType) {
if company.GetMap(AnalyseTypeName).GetFloat64(AnalyseSortType) == cs[len(cs)-1].GetMap(AnalyseTypeName).GetFloat64(AnalyseSortType) {
k = len(cs) - 1
}
val, _ := vm.ToValue(k + 1)
return val
}
@@ -37,15 +41,102 @@ func TestAnalyse(companys []Map, tag Map) {
val, _ := vm.ToValue(len(cs))
return val
})
vm.Run("var key={}")
//上传数据
uploadData := company.GetMap("upload_data")
for k, _ := range uploadData {
strV := uploadData.GetString(k)
strV = strings.Replace(strV, " ", "", -1)
strV = strings.Replace(strV, "符合", "", -1)
strV = strings.Replace(strV, "条", "", -1)
v := float64(0)
//if strV == "否" {
// v = 0
//}
if strV == "无" {
strV = "否"
}
if strV == "未完成" {
strV = "否"
}
switch strV {
case "年度实现盈利":
v = 2
case "轻微":
v = 1
case "一般":
v = 2
case "重大":
v = 3
case "市级":
v = 1
case "省级":
v = 2
case "国家级":
v = 3
case "国家级、行业":
v = 3
case "主导、国家级":
v = 8
case "“一带一路”区域":
v = 3
case "国际":
v = 4
case "行业":
v = 5
case "专精特新":
v = 10
case "区(市)县重点企业":
v = 6
case "市级100户重点企业":
v = 7
case "区域领先":
v = 1
case "国内领先":
v = 2
case "全球领先":
v = 3
case "200万以上":
v = 2
case "20%以上":
v = 0.2
case "15%-20%":
v = 0.15
case "10%-15%":
v = 0.1
case "5%-10%":
v = 0.05
case "0%-5%":
v = 0.01
case "0%-3%":
v = 0
case "3-5%":
v = 0.03
case "3%-5%":
v = 0.03
case "增长15%以上":
v = 0.15
case "增长10-15%":
v = 0.1
case "增长5-10%":
v = 0.05
case "增长0-5%":
v = 0.01
case "下降0-5%":
v = -0.01
case "下降5-10%":
v = -0.05
case "下降10-15%":
v = -0.1
case "下降15%以上":
v = -0.15
}
if strings.Index(strV, "%") == len(strV)-1 && len(strV) != 0 {
v = uploadData.GetFloat64(strings.Replace(strV, "%", "", -1)) / 100
@@ -58,22 +149,24 @@ func TestAnalyse(companys []Map, tag Map) {
if v == 0 && strV != "否" && strV != "0" {
v = 1
}
vm.Set(k, v)
vm.Run("key['" + k + "']=" + ObjToStr(v) + "")
//vm.Set(k, v)
}
//api采集数据
collectData := company.GetMap("collect_data")
for k, cv := range collectData {
if cv == nil {
vm.Set(k, 0)
//vm.Set(k, 0)
vm.Run("key['" + k + "']=" + ObjToStr(0) + "")
continue
}
strV := collectData.GetString(k)
if strings.Index(strV, "万人民币") != -1 {
strV = strings.Replace(strV, "万人民币", "", -1)
}
vm.Set(k, strV)
//vm.Set(k, strV)
vm.Run("key['" + k + "']=" + strV + "")
}
//api采集数据
analyseData := company.GetMap("analyse")
@@ -82,25 +175,37 @@ func TestAnalyse(companys []Map, tag Map) {
company["analyse"] = analyseData
}
for k, cv := range analyseData {
vm.Set(k, cv)
//vm.Set(k, cv)
vm.Run("key['" + k + "']=" + ObjToStr(cv) + "")
}
//res:=Map{}
//analyse
//for _,v:=range cmds{
vm.Set("res", nil)
_, e := vm.Run(tag.GetString("cmd"))
cmdStr := tag.GetString("cmd")
cmdStr = strings.Replace(cmdStr, "[", "key['", -1)
cmdStr = strings.Replace(cmdStr, "]", "']", -1)
_, e := vm.Run(cmdStr)
//if tag.GetString("sn")=="IEDCGXJSQY"{
// fmt.Println(tag.GetString("sn"),tag.GetString("name"),tag.GetString("org_id"))
// vm.Run("console.log(key['IEDCGXJSQY'])")
//}
if e != nil {
fmt.Println(e, "dasdas")
analyseData[tag.GetString("name")] = 0
vm.Set(tag.GetString("name"), 0)
vm.Run("key['" + tag.GetString("name") + "']=" + ObjToStr(0))
//vm.Set(tag.GetString("name"), 0)
continue
}
result, e := vm.Get("res")
if e != nil {
fmt.Println(e, "312sdqweqw")
analyseData[tag.GetString("name")] = 0
vm.Set(tag.GetString("name"), 0)
vm.Run("key['" + tag.GetString("name") + "']=" + ObjToStr(0))
//vm.Set(tag.GetString("name"), 0)
continue
}
if result.String() == ObjToStr(ObjToFloat64(result.String())) {
@@ -112,7 +217,8 @@ func TestAnalyse(companys []Map, tag Map) {
} else {
analyseData[tag.GetString("name")] = result.String()
}
vm.Set(tag.GetString("name"), analyseData[tag.GetString("name")])
vm.Run("key['" + tag.GetString("name") + "']=" + ObjToStr(analyseData[tag.GetString("name")]))
//vm.Set(tag.GetString("name"), analyseData[tag.GetString("name")])
}
}
@@ -584,7 +690,43 @@ var TestCtr = Ctr{
//this.Display(0, data)
fmt.Println(unicode.IsPunct(rune('')))
},
"app_analyse": func(this *Context) {
orgId := 2
if orgId == 0 {
this.Display(3, "参数错误")
return
}
companys := this.Db.Select("company", "*")
home_data, six_item_data, three_item_data, n_item_data := totalAnalyse(companys)
org := this.Db.Get("org", "*", Map{"id": orgId})
fmt.Println(six_item_data)
data := Map{
"name": org.GetString("name"),
"home_data": home_data.ToJsonString(),
"six_item_data": six_item_data.ToJsonString(),
"three_item_data": three_item_data.ToJsonString(),
"n_item_data": n_item_data.ToJsonString(),
"modify_time": time.Now().Unix(),
}
org_analyse := this.Db.Get("org_analyse", "id", Map{"org_id": orgId})
if org_analyse == nil {
//data["name"] = time.Now().Format("2006-01-02 15:04") + "创建"
data["name"] = org.GetString("name")
data["org_id"] = orgId
data["create_time"] = time.Now().Unix()
id := this.Db.Insert("org_analyse", data)
data["id"] = id
} else {
this.Db.Update("org_analyse", data, Map{"org_id": orgId})
}
this.Display(0, data)
},
"industry_analyse": func(this *Context) {
orgId := 1
industrys := this.Db.Select("industry_analyse", "id,name", Map{"org_id": orgId})
@@ -667,8 +809,13 @@ var TestCtr = Ctr{
},
"analyse": func(this *Context) {
orgId := ObjToInt(this.Req.FormValue("org_id"))
if orgId == 0 {
this.Display(3, "参数错误")
return
}
companys := this.Db.Select("company", "*")
companys := this.Db.Select("company", "*", Map{"AND": Map{"org_id": orgId}})
for _, v := range companys {
//上传数据
v["upload_data"] = v.GetMap("upload_data")
@@ -676,16 +823,37 @@ var TestCtr = Ctr{
v["analyse"] = v.GetMap("analyse")
}
tagCompany := this.Db.Select("tag", "*", Map{"type": 2, "ORDER": "`sort` ASC"})
tagCompany := this.Db.Select("tag", "*", Map{"AND": Map{"type": 2, "org_id": 2}, "ORDER": Slice{"`sort` DESC", "id ASC"}})
//cs := append(NewCompanys{}, companys...)
for _, tag := range tagCompany {
TestAnalyse(companys, tag)
//fmt.Println(data)
}
tagCompany1 := this.Db.Select("tag", "*", Map{"AND": Map{"type": 2, "org_id": orgId}, "ORDER": Slice{"`sort` DESC", "id ASC"}})
//cs := append(NewCompanys{}, companys...)
for _, tag := range tagCompany1 {
TestAnalyse(companys, tag)
//fmt.Println(data)
}
for _, c := range companys {
this.Db.Update("company", Map{"analyse": c.GetString("analyse")}, Map{"id": c.GetCeilInt("id")})
fmt.Println(c["analyse"])
for _, v := range companys {
as := v.GetMap("analyse")
//v["analyse"] = as.ToJsonString()
switch as.GetString("评价") {
case "A":
v["level"] = 0
case "B":
v["level"] = 1
case "C":
v["level"] = 2
case "D":
v["level"] = 3
}
v["score"] = as.GetFloat64("总得分")
this.Db.Update("company", Map{"analyse": as.ToJsonString(), "level": v["level"], "score": v["score"]}, Map{"id": v.GetCeilInt("id")})
this.Db.Update("company_history", Map{"analyse": as.ToJsonString(), "level": v["level"], "score": v["score"]}, Map{"id": v.GetCeilInt("company_history_id")})
}
this.Display(0, len(companys))
+26
View File
@@ -4,6 +4,32 @@ import (
. "../../common"
)
var Org = map[int]OrgInterface{
3: &Org3{},
}
type OrgInterface interface {
analyse(data Map) Map
ctgAnalyse(datas []Map, totalAnalyse Map) Map
totalAnalyse(datas []Map) (Map, Map, Map, Map)
analyseSort(datas []Map) []Map
}
type Companys []Map
var analyseSortType = ""
var analyseTypeName = "analyse"
func (s Companys) Len() int {
return len(s)
}
func (s Companys) Swap(i, j int) {
s[i], s[j] = s[j], s[i]
}
func (s Companys) Less(i, j int) bool {
return s[i].GetMap(analyseTypeName).GetFloat64(analyseSortType) > s[j].GetMap(analyseTypeName).GetFloat64(analyseSortType)
}
var ADataType = Map{
"PJ": "评级",