|
@@ -40,14 +40,14 @@ type Front struct {
|
|
|
syncMarked xweb.Mapper `xweb:"/center/syncmarked"`
|
|
|
markedInit xweb.Mapper `xweb:"/center/markedinit"`
|
|
|
|
|
|
- review xweb.Mapper `xweb:"/center/review"` // 质检
|
|
|
- reviewList xweb.Mapper `xweb:"/center/reviewlist"` // 质检数据列表
|
|
|
- reviewDetail xweb.Mapper `xweb:"/center/reviewdetail/(.*).html"`
|
|
|
- reviewSave xweb.Mapper `xweb:"/center/reviewsave"`
|
|
|
- reviewStat xweb.Mapper `xweb:"/center/review/result"`
|
|
|
- reviewNext xweb.Mapper `xweb:"/center/review/next"`
|
|
|
+ review xweb.Mapper `xweb:"/center/review"` // 质检
|
|
|
+ reviewList xweb.Mapper `xweb:"/center/reviewlist"` // 质检数据列表
|
|
|
+ reviewDetail xweb.Mapper `xweb:"/center/reviewdetail/(.*).html"`
|
|
|
+ reviewSave xweb.Mapper `xweb:"/center/reviewsave"`
|
|
|
+ reviewStat xweb.Mapper `xweb:"/center/review/result"`
|
|
|
+ reviewNext xweb.Mapper `xweb:"/center/review/next"`
|
|
|
|
|
|
- logout xweb.Mapper `xweb:"/front/logout"`
|
|
|
+ logout xweb.Mapper `xweb:"/front/logout"`
|
|
|
}
|
|
|
|
|
|
var preKey = "ck_"
|
|
@@ -119,13 +119,13 @@ func (i *Front) ListInfo() error {
|
|
|
if len(numMap) > 0 {
|
|
|
if !hasno {
|
|
|
query[field] = numMap
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
query["$or"] = []map[string]interface{}{
|
|
|
{field: queryfield},
|
|
|
{field: numMap},
|
|
|
}
|
|
|
}
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
query[field] = queryfield
|
|
|
}
|
|
|
}
|
|
@@ -678,6 +678,9 @@ func (i *Front) SyncMarked() {
|
|
|
tmpMap["info"] = tmp["info"]
|
|
|
lock.Lock()
|
|
|
idArr = append(idArr, id)
|
|
|
+ if result[id] != nil {
|
|
|
+ qu.Debug("id exist!!!", id)
|
|
|
+ }
|
|
|
result[id] = tmpMap
|
|
|
lock.Unlock()
|
|
|
}(tmp)
|
|
@@ -806,7 +809,7 @@ func (i *Front) Review() error {
|
|
|
// 按照modifyuser分组,并统计
|
|
|
{
|
|
|
"$group": bson.M{
|
|
|
- "_id": "$modifyuser",
|
|
|
+ "_id": "$modifyuser",
|
|
|
"count": bson.M{"$sum": 1},
|
|
|
},
|
|
|
},
|
|
@@ -818,7 +821,7 @@ func (i *Front) Review() error {
|
|
|
|
|
|
var maps []string
|
|
|
maps = append(maps, "")
|
|
|
- for k, v := range util.Config.Fields{
|
|
|
+ for k, v := range util.Config.Fields {
|
|
|
if v {
|
|
|
maps = append(maps, k)
|
|
|
}
|
|
@@ -837,7 +840,7 @@ func (i *Front) ReviewList() {
|
|
|
user := i.GetString("user")
|
|
|
q := make(map[string]interface{})
|
|
|
q["ck_data"] = bson.M{"$gte": 1}
|
|
|
- if user != "0" && user != "-1" {
|
|
|
+ if user != "0" && user != "-1" {
|
|
|
q["modifyuser"] = user
|
|
|
}
|
|
|
i.SetSession("query1", q)
|
|
@@ -856,7 +859,6 @@ func (i *Front) ReviewList() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
func (i *Front) ReviewDetail(id string) error {
|
|
|
defer qu.Catch()
|
|
|
coll, _ := i.GetSession("coll").(string)
|
|
@@ -886,7 +888,7 @@ func (i *Front) ReviewDetail(id string) error {
|
|
|
i.T["pcl_new"] = rep["pcl_new"]
|
|
|
i.T["pkg_new"] = rep["pkg_new"]
|
|
|
i.T["fields"] = util.Config.Fields
|
|
|
- i.T["nextid"] = GetNextDataId(id, coll, query) //下一条id
|
|
|
+ i.T["nextid"] = GetNextDataId(id, coll, query) //下一条id
|
|
|
return i.Render("re_detail.html", &i.T)
|
|
|
}
|
|
|
|
|
@@ -966,7 +968,7 @@ func (i *Front) ReviewSave() error {
|
|
|
data, _ := util.MgoM.FindById(coll, _id, nil) //查询标注保存前的原始信息
|
|
|
//modifyuser := qu.ObjToString((*data)["modifyuser"])
|
|
|
|
|
|
- remap := make(map[string]interface{}) // 质检信息
|
|
|
+ remap := make(map[string]interface{}) // 质检信息
|
|
|
reField := make(map[string]interface{})
|
|
|
remap["user"] = loginuser
|
|
|
remap["updatetime"] = time.Now().Unix()
|
|
@@ -981,9 +983,9 @@ func (i *Front) ReviewSave() error {
|
|
|
//}
|
|
|
//区分是标记字段,还是普通字段(标记字段:ck_buyer;普通字段:buyer)
|
|
|
if strings.HasPrefix(s, preKey) {
|
|
|
- status := qu.IntAll(sv) //标注字段状态
|
|
|
- field := s[3:] //去除前缀,被标注字段
|
|
|
- checkedStatus := qu.IntAll((*data)[s]) //数据库被标注状态
|
|
|
+ status := qu.IntAll(sv) //标注字段状态
|
|
|
+ field := s[3:] //去除前缀,被标注字段
|
|
|
+ checkedStatus := qu.IntAll((*data)[s]) //数据库被标注状态
|
|
|
rename := strings.Replace(s, "ck_", "re_", -1)
|
|
|
reField[rename] = status
|
|
|
if status == 1 && (checkedStatus == 2 || checkedStatus == 1) { //数据库已有标记,且页面标注正确,此次该字段不做标注保存
|
|
@@ -1093,7 +1095,7 @@ func (i *Front) ReviewNext() {
|
|
|
if b && len(*info) > 0 {
|
|
|
nxid := mgo.BsonIdToSId((*info)[0]["_id"])
|
|
|
i.ServeJson(bson.M{"id": nxid, "exists": true})
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
i.ServeJson(bson.M{"exists": false})
|
|
|
}
|
|
|
}
|
|
@@ -1105,54 +1107,54 @@ func (i *Front) ReviewStat() {
|
|
|
coll := i.GetSession("coll").(string)
|
|
|
qu.Debug(coll)
|
|
|
result := sess.DB(util.MgoM.DbName).C(coll).Find(nil).Iter()
|
|
|
- count, cmark, rmark, rgmark := 0, 0, 0, 0 // 总数, 标注数量, 审核数据量, 审核数据完全正确的数据量
|
|
|
+ count, cmark, rmark, rgmark := 0, 0, 0, 0 // 总数, 标注数量, 审核数据量, 审核数据完全正确的数据量
|
|
|
|
|
|
- cmaps := make(map[string]int) // 标注字段整体准确率
|
|
|
- umaps := make(map[string]interface{}) // 按人员 字段准确率
|
|
|
+ cmaps := make(map[string]int) // 标注字段整体准确率
|
|
|
+ umaps := make(map[string]interface{}) // 按人员 字段准确率
|
|
|
for k, i2 := range util.Config.Fields {
|
|
|
if i2 {
|
|
|
cmaps[k] = 0
|
|
|
}
|
|
|
}
|
|
|
for tmp := make(map[string]interface{}); result.Next(&tmp); {
|
|
|
- count ++
|
|
|
+ count++
|
|
|
user := qu.ObjToString(tmp["modifyuser"])
|
|
|
if qu.IntAll(tmp["ck_data"]) >= 1 {
|
|
|
- cmark ++
|
|
|
+ cmark++
|
|
|
var up map[string]int
|
|
|
if umaps[user] == nil {
|
|
|
up = make(map[string]int)
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
up = umaps[user].(map[string]int)
|
|
|
}
|
|
|
up["ck_count"] += 1
|
|
|
umaps[user] = up
|
|
|
}
|
|
|
if qu.IntAll(tmp["re_data"]) > 0 {
|
|
|
- rmark ++
|
|
|
+ rmark++
|
|
|
if reField, ok := tmp["review"].(map[string]interface{}); ok {
|
|
|
remap, _ := reField["field"].(map[string]interface{})
|
|
|
- flag := true // 数据整体准确率
|
|
|
+ flag := true // 数据整体准确率
|
|
|
// 按人员统计字段准备率
|
|
|
var up map[string]int
|
|
|
if umaps[user] == nil {
|
|
|
up = make(map[string]int)
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
up = umaps[user].(map[string]int)
|
|
|
}
|
|
|
- for k1 := range cmaps{
|
|
|
+ for k1 := range cmaps {
|
|
|
k2 := "re_" + k1
|
|
|
if qu.IntAll(remap[k2]) == 1 {
|
|
|
- cmaps[k1] += 1 // 字段整体正确率
|
|
|
+ cmaps[k1] += 1 // 字段整体正确率
|
|
|
up[k1] += 1
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
flag = false
|
|
|
}
|
|
|
}
|
|
|
up["re_count"] += 1
|
|
|
umaps[user] = up
|
|
|
if flag {
|
|
|
- rgmark ++
|
|
|
+ rgmark++
|
|
|
up["re_rg_count"] += 1
|
|
|
}
|
|
|
}
|
|
@@ -1184,7 +1186,7 @@ func (i *Front) ReviewStat() {
|
|
|
tmp["num3"] = rgmark
|
|
|
tmp["num4"] = CountPr(rgmark, rmark)
|
|
|
dataSelect = append(dataSelect, tmp)
|
|
|
- for k, v := range util.Config.Fields{
|
|
|
+ for k, v := range util.Config.Fields {
|
|
|
if v {
|
|
|
tmp1 := make(map[string]interface{})
|
|
|
tmp1["name"] = k
|
|
@@ -1196,7 +1198,7 @@ func (i *Front) ReviewStat() {
|
|
|
}
|
|
|
}
|
|
|
dataSource["全部"] = dataSelect
|
|
|
- for k1, v1 := range umaps{
|
|
|
+ for k1, v1 := range umaps {
|
|
|
if v2, o := v1.(map[string]int); o {
|
|
|
userSelect = append(userSelect, k1)
|
|
|
var dataSelect1 []map[string]interface{}
|
|
@@ -1207,7 +1209,7 @@ func (i *Front) ReviewStat() {
|
|
|
tmp2["num3"] = v2["re_rg_count"]
|
|
|
tmp2["num4"] = CountPr(v2["re_rg_count"], v2["re_count"])
|
|
|
dataSelect1 = append(dataSelect1, tmp2)
|
|
|
- for k, v := range util.Config.Fields{
|
|
|
+ for k, v := range util.Config.Fields {
|
|
|
if v {
|
|
|
tmp1 := make(map[string]interface{})
|
|
|
tmp1["name"] = k
|
|
@@ -1249,7 +1251,7 @@ func (i *Front) ReviewStat() {
|
|
|
// }
|
|
|
//}
|
|
|
i.ServeJson(map[string]interface{}{"rep": true, "data": map[string]interface{}{"tableData": dataSource, "userSelect": userSelect}})
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
i.ServeJson(map[string]interface{}{"rep": false, "msg": "统计失败!"})
|
|
|
}
|
|
|
}
|
|
@@ -1258,6 +1260,6 @@ func (i *Front) Logout() {
|
|
|
i.DelSession("user")
|
|
|
err := i.Redirect("/")
|
|
|
if err != nil {
|
|
|
- return
|
|
|
+ return
|
|
|
}
|
|
|
-}
|
|
|
+}
|