jianghan7 1 ano atrás
pai
commit
ff5ee9f29b

+ 2 - 2
src/config.json

@@ -2,12 +2,12 @@
     "port": "7000",
     "mgodb": "192.168.3.166:27082",
     "dbsize": 10,
-    "dbname": "datacheck1",
+    "dbname": "datacheck",
     "alltocoll": "marked",
     "defaultpwd": "123",
     "bidding":{
         "addr":"192.168.3.166:27082",
-        "db": "wjh",
+        "db": "datacheck",
         "coll1": "bidding",
         "coll2": "bidding_back",
         "size": 10,

+ 1 - 1
src/front/group.go

@@ -918,11 +918,11 @@ func (f *Front) GroupImportData() {
 	rows := sheet.Rows
 	idcolnum := -1
 	cellFieldName := map[int]string{}
-	update := make(map[string]interface{})
 	count := 0
 	lastid := ""
 	c1 := 0 // 多包第n条数据
 	for rn, row := range rows {
+		update := make(map[string]interface{})
 		if rn == 0 {
 			for index, cell := range row.Cells {
 				if cell.Value == "唯一标识" || cell.Value == "信息标识" { //id所在列

+ 38 - 12
src/front/project.go

@@ -124,11 +124,26 @@ func (f *Front) ProjectSave() {
 		}
 	} else if stype == "coll" { //数据库导入
 		historyid := f.GetString("s_historyid")
-		if historyid == "" {
+		collName := f.GetString("coll")
+		q := f.GetString("s_query")
+		if historyid == "" || collName == "" {
 			f.ServeJson(map[string]interface{}{"success": false, "msg": "数据导出ID字段"})
 			return
 		}
-		s_departname, s_entname, s_rulename, importDataNum = ImportDataByColl(historyid, &success, &msg, &successNum)
+		query1 := make(map[string]interface{})
+		if q != "" {
+			if err := json.Unmarshal([]byte(q), &query1); err != nil {
+				qu.Debug("GroupInfo Unmarshal Failed:", err)
+				f.ServeJson(map[string]interface{}{"success": false, "msg": "查询条件有误"})
+				return
+			}
+		}
+		query1["historyId"] = historyid
+		if c := util.MgoJy.Count(collName, query1); c == 0 {
+			f.ServeJson(map[string]interface{}{"success": false, "msg": "查询数据量为0!"})
+			return
+		}
+		s_departname, s_entname, s_rulename, importDataNum = ImportDataByColl(collName, query1, &success, &msg, &successNum)
 		qu.Debug(s_departname, s_entname, s_rulename, importDataNum)
 		//保存项目信息
 		set = map[string]interface{}{
@@ -167,7 +182,6 @@ func (f *Front) ProjectSave() {
 	}
 	if success {
 		success = util.Mgo.Update(util.PROJECTCOLLNAME, query, map[string]interface{}{"$set": set}, true, false)
-		qu.Debug("Save Project:", success)
 		if !success { //保存项目失败
 			msg = "新建项目失败\n" + msg
 		} else {
@@ -228,11 +242,27 @@ func (f *Front) ProjectAddData() {
 				}
 			} else if stype == "coll" {
 				historyid := f.GetString("s_historyid")
-				if historyid == "" {
+				collName := f.GetString("coll")
+				q := f.GetString("s_query")
+				if historyid == "" || collName == "" {
 					f.ServeJson(map[string]interface{}{"success": false, "msg": "数据导出ID字段"})
 					return
 				}
-				_, _, _, importDataNum = ImportDataByColl(historyid, &success, &msg, &successNum)
+				query1 := make(map[string]interface{})
+				if q != "" {
+					if err := json.Unmarshal([]byte(q), &query1); err != nil {
+						qu.Debug("GroupInfo Unmarshal Failed:", err)
+						f.ServeJson(map[string]interface{}{"success": false, "msg": "查询条件有误"})
+						return
+					}
+				}
+				query1["historyId"] = historyid
+				qu.Debug(query1)
+				if c := util.MgoJy.Count(collName, query1); c == 0 {
+					f.ServeJson(map[string]interface{}{"success": false, "msg": "查询数据量为0!"})
+					return
+				}
+				_, _, _, importDataNum = ImportDataByColl(collName, query1, &success, &msg, &successNum)
 				if !success {
 					f.ServeJson(map[string]interface{}{"success": success, "msg": msg})
 					return
@@ -335,8 +365,7 @@ func (f *Front) ProjectQualityAssessment() {
 			appid := qu.ObjToString((*project)["appid"])
 			// todo
 			util.Mgo.Update(util.DATACOLLNAME, bson.M{"appid": appid}, bson.M{"$set": bson.M{"b_istagging": true}}, false, true)
-			b := util.Mgo.UpdateById(util.PROJECTCOLLNAME, projectid, map[string]interface{}{"$set": map[string]interface{}{"b_isassessment": true, "s_status": "进行中", "i_starttime": time.Now().Unix()}})
-			qu.Debug("Update Porject:"+projectid+"	Status Success:", b)
+			util.Mgo.UpdateById(util.PROJECTCOLLNAME, projectid, map[string]interface{}{"$set": map[string]interface{}{"b_isassessment": true, "s_status": "进行中", "i_starttime": time.Now().Unix()}})
 			success = true
 		} else if ok && isAssessment {
 			success = true
@@ -1023,7 +1052,7 @@ func ImportDataByExcel(mf multipart.File, success *bool, msg *string, successNum
 }
 
 // ImportDataByColl 通过表获取数据源
-func ImportDataByColl(historyid string, success *bool, msg *string, successNum *int64) (departname, entname string, rulename []string, importDataNum int) {
+func ImportDataByColl(collName string, query map[string]interface{}, success *bool, msg *string, successNum *int64) (departname, entname string, rulename []string, importDataNum int) {
 	defer qu.Catch()
 	rulenameMap := map[string]bool{}
 	sess := util.MgoJy.GetMgoConn()
@@ -1032,10 +1061,7 @@ func ImportDataByColl(historyid string, success *bool, msg *string, successNum *
 	wg := &sync.WaitGroup{}
 	lock := &sync.Mutex{}
 	idInfoArr := []util.Data{} //记录数据id及需要保存的字段信息
-	query := map[string]interface{}{
-		"historyId": historyid,
-	}
-	it := sess.DB(util.MgoJy.DbName).C(util.JyHistory).Find(&query).Iter()
+	it := sess.DB(util.MgoJy.DbName).C(collName).Find(&query).Iter()
 	n := 0
 	for tmp := make(map[string]interface{}); it.Next(tmp); n++ {
 		ch <- true

+ 1 - 1
src/front/user.go

@@ -1056,7 +1056,7 @@ func (f *Front) UserTask() {
 			d1["pid"] = m["s_projectid"]
 			d1["pname"] = m["s_projectname"]
 			d1["size"] = m["i_givenum"]
-			c := Mgo.Count(qu.ObjToString(d1["coll"]), bson.M{"b_isgiveuser": false, "s_groupid": gid})
+			c := Mgo.Count(DATACOLLNAME, bson.M{"b_isgiveuser": false, "s_groupid": gid})
 			d1["ungive"] = c
 			d1["isgive"] = qu.IntAll(d1["size"]) - c
 			data = append(data, d1)

+ 1 - 1
src/util/common.go

@@ -21,7 +21,7 @@ type Data struct {
 
 // oss
 var (
-	ossEndpoint        = "oss-cn-beijing-internal.aliyuncs.com" //正式环境用:oss-cn-beijing-internal.aliyuncs.com 测试:oss-cn-beijing.aliyuncs.com
+	ossEndpoint        = "oss-cn-beijing.aliyuncs.com" //正式环境用:oss-cn-beijing-internal.aliyuncs.com 测试:oss-cn-beijing.aliyuncs.com
 	ossAccessKeyId     = "LTAI4G5x9aoZx8dDamQ7vfZi"
 	ossAccessKeySecret = "Bk98FsbPYXcJe72n1bG3Ssf73acuNh"
 	ossBucketName      = "topjy"

+ 17 - 1
src/web/templates/project/project_list.html

@@ -99,7 +99,7 @@
                                                 style="color:red;">* </span>数据表名</label>
                                         <div class="col-sm-5">
                                             <input type="text" class="form-control" id="coll-name"
-                                                   value="usermail_history" readonly>
+                                                   value="usermail_history">
                                         </div>
                                     </div>
                                     <div class="form-group">
@@ -109,6 +109,14 @@
                                             <input type="text" class="form-control" id="data-id" placeholder="数据导出ID">
                                         </div>
                                     </div>
+                                    <div class="form-group">
+                                        <label class="col-sm-3 control-label"><span
+                                                style="color:red;">* </span>数据导出ID</label>
+                                        <div class="col-sm-5">
+                                            <input type="text" class="form-control" id="data-query"
+                                                   placeholder='{"creattime": 1751823604, "field": "xxx"}'>
+                                        </div>
+                                    </div>
                                 </div>
 
                                 <div id="import-excel" style="display: none">
@@ -499,13 +507,21 @@
         }
         if (stype === "coll") {
             let dataid = $('#data-id').val()
+            let coll = $('#coll-name').val()
+            let query = $('#data-query').val()
             if (dataid === "") {
                 alert("数据导出ID为必填项")
                 return;
             }
+            if (coll === "") {
+                alert("数据导出表名为必填项")
+                return;
+            }
             projectmap["s_name"] = sname
             projectmap["s_historyid"] = dataid
             projectmap["s_type"] = stype
+            projectmap["coll"] = coll
+            projectmap["s_query"] = query
             showLoading("正在加载数据,请稍候...")
             $.ajax({
                 url: "/front/project/save",

+ 17 - 9
src/web/templates/project/task_user_list.html

@@ -148,13 +148,21 @@
                     }},
                 {
                     "data": "_id", width: "11%", render: function (val, a, row, pos) {
-                        tmp = '<div>' +
-                            '<a class="btn btn-sm btn-primary" onclick="markMethod(\'' + val + '\',\''+row.s_projectid+'\',\'' + row.s_status + '\')">标注</a>&nbsp;&nbsp;' +
-                            '<a class="btn btn-sm btn-primary" onclick="deliverTask(\'' + val + '\',\'' + row.s_status + '\')">交付</a>&nbsp;&nbsp;' +
-                            '<a class="btn btn-sm btn-primary" onclick="appendTask(\'' + val + '\',\'' + row.s_parentid + '\')">领取数据</a>&nbsp;&nbsp;' +
-                            '<a class="btn btn-sm btn-primary" onclick="StatsTask(\'' + val + '\',\'' + row.s_status + '\')">信息统计</a>&nbsp;&nbsp;' +
-                            '</div>';
-                        return tmp
+                        if (row.s_status === "已完成") {
+                            tmp = '<div>' +
+                                '<a class="btn btn-sm btn-primary" onclick="appendTask(\'' + val + '\',\'' + row.s_parentid + '\')">领取数据</a>&nbsp;&nbsp;' +
+                                '<a class="btn btn-sm btn-primary" onclick="StatsTask(\'' + val + '\',\'' + row.s_status + '\')">信息统计</a>&nbsp;&nbsp;' +
+                                '</div>';
+                            return tmp
+                        } else {
+                            tmp = '<div>' +
+                                '<a class="btn btn-sm btn-primary" onclick="markMethod(\'' + val + '\',\''+row.s_projectid+'\',\'' + row.s_status + '\')">标注</a>&nbsp;&nbsp;' +
+                                '<a class="btn btn-sm btn-primary" onclick="deliverTask(\'' + val + '\',\'' + row.s_status + '\')">交付</a>&nbsp;&nbsp;' +
+                                '<a class="btn btn-sm btn-primary" onclick="appendTask(\'' + val + '\',\'' + row.s_parentid + '\')">领取数据</a>&nbsp;&nbsp;' +
+                                '</div>';
+                            return tmp
+                        }
+
                     }
                 }
             ],
@@ -265,9 +273,9 @@
             showTip("操作不允许")
         }
     }
-    function StatsTask(id, status, sourceinfo) {
+    function StatsTask(id, status) {
         if (status === "已完成") {
-            window.location.href = "/front/project/task/statsdata?tid="+id+"&s_sourceinfo="+sourceinfo+"&stype=user"
+            window.location.href = "/front/project/task/statsdata?tid="+id+"&stype=user"
         } else {
             showTip("项目未完成")
         }