浏览代码

add:更新数据采集和报告编写状态

zoie 2 年之前
父节点
当前提交
895d061ebd
共有 5 个文件被更改,包括 130 次插入56 次删除
  1. 34 18
      controllers/Task.go
  2. 4 0
      controllers/TaskData.go
  3. 12 1
      models/Account/Admin.go
  4. 29 0
      models/Account/User.go
  5. 51 37
      models/Task/Task.go

+ 34 - 18
controllers/Task.go

@@ -3,6 +3,7 @@ package controllers
 import (
 	"bzd_server/conf"
 	"bzd_server/lib"
+	"bzd_server/models/Account"
 	"bzd_server/models/System"
 	"bzd_server/models/Task"
 	beego "github.com/beego/beego/v2/server/web"
@@ -36,8 +37,12 @@ func (c *TaskController) List() {
 	T_name := c.GetString("T_name")
 	T_uuid := c.GetString("T_uuid")
 
+	UserMap := Account.UserListToMap(Account.Read_User_List_ALL_1())
+	AdminMap := Account.AdminListToMap(Account.Read_Admin_List_ALL_1())
+
 	var cnt int
-	List, cnt := Task.Read_UserTask_List(T_uuid, T_name, page, page_z)
+	List, cnt := Task.Read_UserTask_List(T_uuid, T_name, UserMap, AdminMap, page, page_z)
+
 	page_size := math.Ceil(float64(cnt) / float64(page_z))
 	r_jsons.List = List
 	r_jsons.Page = page
@@ -71,9 +76,11 @@ func (c *TaskController) UserTaskList() {
 	}
 
 	T_name := c.GetString("T_name")
+	UserMap := Account.UserListToMap(Account.Read_User_List_ALL_1())
+	AdminMap := Account.AdminListToMap(Account.Read_Admin_List_ALL_1())
 
 	var cnt int
-	List, cnt := Task.Read_UserTask_List(User_r.T_uuid, T_name, page, page_z)
+	List, cnt := Task.Read_UserTask_List(User_r.T_uuid, T_name, UserMap, AdminMap, page, page_z)
 	page_size := math.Ceil(float64(cnt) / float64(page_z))
 	r_jsons.List = List
 	r_jsons.Page = page
@@ -129,18 +136,6 @@ func (c *TaskController) Add() {
 	T_reporting := c.GetString("T_reporting")
 	T_delivery := c.GetString("T_delivery")
 
-	//var_ := Task.Task{
-	//	T_uuid:              T_uuid,
-	//	T_name:              T_name,
-	//	T_VerifyTemplate_id: T_VerifyTemplate_id,
-	//	T_deadline:          T_deadline,
-	//	T_collection:        Task.TaskInfo{T_uuid: T_collection},
-	//	T_reporting:         Task.TaskInfo{T_uuid: T_reporting},
-	//	T_delivery:          Task.TaskInfo{T_uuid: T_delivery},
-	//	T_Show:              1,
-	//	T_State:             1,
-	//}
-
 	var_ := Task.Task{
 		T_uuid:              T_uuid,
 		T_name:              T_name,
@@ -203,61 +198,82 @@ func (c *TaskController) Up() {
 	}
 
 	// .......
+	clos := make([]string, 0)
 	if len(T_name) > 0 {
 		r.T_name = T_name
+		clos = append(clos, "T_name")
 	}
 	if T_Show_err == nil {
 		r.T_Show = T_Show
+		clos = append(clos, "T_Show")
 	}
 	if len(T_VerifyTemplate_id) > 0 {
 		r.T_VerifyTemplate_id = T_VerifyTemplate_id
+		clos = append(clos, "T_VerifyTemplate_id")
 	}
 	if len(T_deadline) > 0 {
 		r.T_deadline = T_deadline
+		clos = append(clos, "T_deadline")
 	}
 	if len(T_collection) > 0 {
 		r.T_collection = T_collection
+		clos = append(clos, "T_collection")
 	}
 	if len(T_reporting) > 0 {
 		r.T_reporting = T_reporting
+		clos = append(clos, "T_reporting")
 	}
 	if len(T_delivery) > 0 {
 		r.T_delivery = T_delivery
+		clos = append(clos, "T_delivery")
 	}
 	if T_collection_err == nil {
 		r.T_collection_state = T_collection_state
+		clos = append(clos, "T_collection_state")
 	}
 	if T_reporting_err == nil {
 		r.T_reporting_state = T_reporting_state
+		clos = append(clos, "T_reporting_state")
 	}
 	if T_delivery_err == nil {
 		r.T_delivery_state = T_delivery_state
+		clos = append(clos, "T_delivery_state")
 	}
 
 	if len(T_doc1) > 0 {
 		r.T_doc1 = T_doc1
+		clos = append(clos, "T_doc1")
 	}
 	if len(T_pdf1) > 0 {
 		r.T_pdf1 = T_pdf1
+		clos = append(clos, "T_pdf1")
 	}
 	if len(T_doc2) > 0 {
 		r.T_doc2 = T_doc2
+		clos = append(clos, "T_doc2")
 	}
+	// 验证报告内容T_pdf2 ,上传后将 当前任务 报告编写 标志 为 1
 	if len(T_pdf2) > 0 {
 		r.T_pdf2 = T_pdf2
+		clos = append(clos, "T_pdf2")
+		r.T_reporting_state = 1
+		clos = append(clos, "T_reporting_state")
 	}
 	if len(T_doc3) > 0 {
 		r.T_doc3 = T_doc3
+		clos = append(clos, "T_doc3")
 	}
 	if len(T_pdf3) > 0 {
 		r.T_pdf3 = T_pdf3
+		clos = append(clos, "T_pdf3")
 	}
 
 	// .......
-	if !Task.Update_Task(r, "T_name", "T_Show", "T_VerifyTemplate_id", "T_deadline",
-		"T_collection", "T_reporting", "T_delivery",
-		"T_collection_state", "T_reporting_state", "T_delivery_state",
-		"T_doc1", "T_pdf1", "T_doc2", "T_pdf2", "T_doc3", "T_pdf3") {
+	// "T_name", "T_Show", "T_VerifyTemplate_id", "T_deadline",
+	//		"T_collection", "T_reporting", "T_delivery",
+	//		"T_collection_state", "T_reporting_state", "T_delivery_state",
+	//		"T_doc1", "T_pdf1", "T_doc2", "T_pdf2", "T_doc3", "T_pdf3"
+	if !Task.Update_Task(r, clos...) {
 		c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
 		c.ServeJSON()
 		return

+ 4 - 0
controllers/TaskData.go

@@ -65,6 +65,10 @@ func (c *TaskDataController) Extract_TaskData() {
 		Task.Import_TaskData(v.T_sn, v.T_id, Task_r.T_task_id, Time_start, Time_end)
 	}
 
+	// 更新任务数据采集的状态
+	Task_r.T_collection_state = 1
+	Task.Update_Task(Task_r, "T_collection_state")
+
 	System.Add_UserLogs(user_r.T_uuid, "提取数据", "提取数据"+Task_r.T_name, Task_r.T_task_id+"|"+Time_start+"|"+Time_end)
 
 	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}

+ 12 - 1
models/Account/Admin.go

@@ -163,6 +163,16 @@ func Read_Admin_List_ALL() (maps []Admin) {
 	return maps
 }
 
+// 获取全部列表-包括软删除数据
+func Read_Admin_List_ALL_1() (maps []Admin) {
+
+	o := orm.NewOrm()
+	qs := o.QueryTable(new(Admin))
+
+	qs.OrderBy("Id").All(&maps)
+	return maps
+}
+
 // 获取全部列表
 func Read_Admin_List_ALL_Power(PowerMaps map[int]string) (maps []AdminPower_R) {
 
@@ -179,7 +189,8 @@ func Read_Admin_List_ALL_Power(PowerMaps map[int]string) (maps []AdminPower_R) {
 	return Admin_Power_r
 }
 
-func AdminListToAdminMap(A []Admin) map[string]string {
+// {"uuid":"name"}
+func AdminListToMap(A []Admin) map[string]string {
 	maps := make(map[string]string, len(A))
 	for _, v := range A {
 		maps[v.T_uuid] = v.T_name

+ 29 - 0
models/Account/User.go

@@ -192,3 +192,32 @@ func Read_User_List(T_name string, page int, page_z int) ([]User_R, int64) {
 
 	return User_r, cnt
 }
+
+// 获取全部列表
+func Read_User_List_ALL() (maps []User) {
+
+	o := orm.NewOrm()
+	qs := o.QueryTable(new(Admin))
+
+	qs.Filter("T_State", 1).OrderBy("Id").All(&maps)
+	return maps
+}
+
+// 获取全部列表-包括软删除数据
+func Read_User_List_ALL_1() (maps []User) {
+
+	o := orm.NewOrm()
+	qs := o.QueryTable(new(User))
+
+	qs.OrderBy("Id").All(&maps)
+	return maps
+}
+
+// {"uuid":"name"}
+func UserListToMap(T []User) map[string]string {
+	maps := make(map[string]string, len(T))
+	for _, v := range T {
+		maps[v.T_uuid] = v.T_name
+	}
+	return maps
+}

+ 51 - 37
models/Task/Task.go

@@ -10,7 +10,6 @@ import (
 	"github.com/beego/beego/v2/adapter/orm"
 	orm2 "github.com/beego/beego/v2/client/orm"
 	_ "github.com/go-sql-driver/mysql"
-	"strconv"
 	"time"
 )
 
@@ -60,8 +59,10 @@ type Task_R struct {
 }
 
 type Task_ struct {
+	Id                  int
 	T_task_id           string // 任务ID
 	T_uuid              string // 用户 UUID
+	T_user_name         string // 用户 UUID
 	T_name              string // 标题
 	T_VerifyTemplate_id string // 任务模板id
 	T_deadline          string // 截止时间
@@ -127,6 +128,37 @@ func TaskToTask_R(T Task) (T_r Task_R) {
 	return T_r
 }
 
+func TaskToTask_(T Task, userMap, adminMap map[string]string) (T_ Task_) {
+	T_.Id = T.Id
+	T_.T_task_id = T.T_task_id
+	T_.T_uuid = T.T_uuid
+	T_.T_user_name = userMap[T.T_uuid]
+	T_.T_name = T.T_name
+	T_.T_VerifyTemplate_id = T.T_VerifyTemplate_id
+	T_.T_deadline = T.T_deadline
+	T_.T_collection = T.T_collection
+	T_.T_reporting = T.T_reporting
+	T_.T_delivery = T.T_delivery
+	T_.T_collection_state = T.T_collection_state
+	T_.T_reporting_state = T.T_reporting_state
+	T_.T_delivery_state = T.T_delivery_state
+	T_.T_collection_name = adminMap[T.T_collection]
+	T_.T_reporting_name = adminMap[T.T_reporting]
+	T_.T_delivery_name = adminMap[T.T_delivery]
+	T_.T_doc1 = T.T_doc1
+	T_.T_pdf1 = T.T_pdf1
+	T_.T_doc2 = T.T_doc2
+	T_.T_pdf2 = T.T_pdf2
+	T_.T_doc3 = T.T_doc3
+	T_.T_pdf3 = T.T_pdf3
+	T_.T_Show = T.T_Show
+	T_.T_Visit = T.T_Visit
+	T_.T_State = T.T_State
+
+	//......
+	return T_
+}
+
 // ---------------- Redis -------------------
 //Redis_Set(m.T_sn,m) // Redis 更新缓存
 func Redis_Task_Set(key string, r Task) (err error) {
@@ -297,52 +329,34 @@ func Add_Task_Visit(m Task) bool {
 //}
 
 // 获取列表
-func Read_UserTask_List(T_uuid string, T_name string, page int, page_z int) ([]Task_, int) {
+func Read_UserTask_List(T_uuid string, T_name string, userMap, adminMap map[string]string, page int, page_z int) ([]Task_, int) {
 
 	o := orm.NewOrm()
-	var offset int
+
+	qs := o.QueryTable(new(Task))
+	var r []Task
+	var offset int64
 	if page <= 1 {
 		offset = 0
 	} else {
-		offset = (page - 1) * page_z
+		offset = int64((page - 1) * page_z)
 	}
-
-	var maps_z []orm2.ParamsList
-	var maps []Task_
-
-	// 获取总条数
-	sql := "SELECT COUNT(ID) FROM Task WHERE t__state=1"
+	cond := orm.NewCondition()
+	cond1 := cond.And("T_name__icontains", T_name).And("T_State", 1)
 	if len(T_uuid) > 0 {
-		sql = sql + " AND t_uuid=\"" + T_uuid + "\""
+		cond1 = cond1.And("T_uuid", T_uuid)
 	}
-	if len(T_name) > 0 {
-		sql = sql + " AND t_name LIKE \"%" + T_name + "%\""
-	}
-	fmt.Println(sql)
-	_, err := o.Raw(sql).ValuesList(&maps_z)
-	if err != nil {
-		return maps, 0
-	}
-	if len(maps_z) == 0 {
-		return maps, 0
-	}
-	sql = "SELECT * FROM Task t " +
-		"LEFT JOIN (SELECT t_uuid, t_name AS t_collection_name FROM `Admin`) c ON c.t_uuid=t.t_collection " +
-		"LEFT JOIN (SELECT t_uuid, t_name AS t_reporting_name FROM `Admin`) r ON r.t_uuid=t.t_reporting " +
-		"LEFT JOIN (SELECT t_uuid, t_name AS t_delivery_name FROM `Admin`) d ON d.t_uuid=t.t_delivery " +
-		"WHERE t.t__state=1"
-	if len(T_uuid) > 0 {
-		sql = sql + " AND t.t_uuid=\"" + T_uuid + "\""
-	}
-	if len(T_name) > 0 {
-		sql = sql + " AND t.t_name LIKE \"%" + T_name + "%\""
+
+	qs.Limit(page_z, offset).SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&r)
+	cnt, _ := qs.SetCond((*orm2.Condition)(cond1)).Count()
+
+	// 转换
+	var TaskList []Task_
+	for _, v := range r {
+		TaskList = append(TaskList, TaskToTask_(v, userMap, adminMap))
 	}
-	sql = sql + " ORDER BY t.id DESC LIMIT " + strconv.Itoa(offset) + "," + strconv.Itoa(page_z)
-	fmt.Println(sql)
-	_, err = o.Raw(sql).QueryRows(&maps)
 
-	cnt, _ := strconv.Atoi(maps_z[0][0].(string))
-	return maps, cnt
+	return TaskList, int(cnt)
 }
 
 // 获取列表 /时间筛选  Time_start_ Time_end_    2021-12-30,所以下面要加后缀 时间