政企超链接开始集成
This commit is contained in:
+63
-943
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
@@ -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))
|
||||
|
||||
@@ -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": "评级",
|
||||
|
||||
Reference in New Issue
Block a user