2 Angajamente 60fec8cd76 ... 2d230842fd

Autor SHA1 Permisiunea de a trimite mesaje. Dacă este dezactivată, utilizatorul nu va putea trimite nici un fel de mesaj Data
  zoie 2d230842fd add:指派任务 3 săptămâni în urmă
  zoie 60fec8cd76 add:指派任务 3 săptămâni în urmă
1 a modificat fișierele cu 676 adăugiri și 0 ștergeri
  1. 676 0
      controllers/AllotTask.go

+ 676 - 0
controllers/AllotTask.go

@@ -0,0 +1,676 @@
+package controllers
+
+import (
+	"ColdVerify_server/conf"
+	"ColdVerify_server/lib"
+	"ColdVerify_server/lib/wx"
+	"ColdVerify_server/models/Account"
+	"ColdVerify_server/models/AllotTask"
+	"ColdVerify_server/models/InfoCollection"
+	"ColdVerify_server/models/System"
+	"encoding/json"
+	"fmt"
+	"math"
+	"time"
+
+	beego "github.com/beego/beego/v2/server/web"
+)
+
+type AllotTaskController struct {
+	beego.Controller
+}
+
+// 列表 -
+func (c *AllotTaskController) List() {
+	// 验证登录 User_is, User_r
+	User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
+	if !User_is {
+		c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
+		c.ServeJSON()
+		return
+	}
+
+	var r_jsons lib.R_JSONS
+	page, _ := c.GetInt("page")
+	if page < 1 {
+		page = 1
+	}
+	page_z, _ := c.GetInt("page_z")
+	if page_z < 1 {
+		page_z = conf.Page_size
+	}
+
+	T_name := c.GetString("T_name")
+	T_company := c.GetString("T_company") // 公司名称
+	T_uuid := c.GetString("T_uuid")
+
+	T_scheme := c.GetString("T_scheme")         // 实施方案 负责人UUID
+	T_project := c.GetString("T_project")       // 实施方案 负责人UUID
+	T_collection := c.GetString("T_collection") // 数据采集 负责人UUID
+	T_reporting := c.GetString("T_reporting")   // 报告编写 负责人UUID
+	T_delivery := c.GetString("T_delivery")     // 交付审核 负责人UUID
+	T_status, _ := c.GetInt("T_status")
+
+	UserMap := Account.UserListToMap(Account.Read_User_List_ALL_1())
+	AdminMap := Account.AdminListToMap(Account.Read_Admin_List_ALL_1())
+
+	var T_company_list []string
+	if len(T_company) > 0 {
+		T_company_list = Account.Read_User_T_uuid_ListByT_name(T_company)
+	}
+
+	var T_admin string
+	if User_r.T_power > 2 {
+		T_admin = User_r.T_uuid
+	}
+	// 经销商下管理员可查看自己经销商下所有的任务
+	// 经销商下其他角色只能查看分配给自己的任务
+	if len(User_r.T_Distributor_id) > 0 && User_r.T_power <= 2 {
+		T_admin = ""
+	}
+
+	var cnt int
+
+	List, cnt := AllotTask.Read_AllotTask_List(User_r.T_Distributor_id, T_admin, T_uuid, T_name, T_project, T_scheme, T_collection, T_reporting, T_delivery,
+		T_status, T_company_list, UserMap, AdminMap, page, page_z)
+
+	page_size := math.Ceil(float64(cnt) / float64(page_z))
+	r_jsons.List = List
+	r_jsons.Page = page
+	r_jsons.Page_size = int(page_size)
+	r_jsons.Pages = lib.Func_page(int64(page), int64(page_size))
+	r_jsons.Num = cnt
+
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: r_jsons}
+	c.ServeJSON()
+	return
+}
+
+// 获取-
+func (c *AllotTaskController) Get() {
+	// 验证登录 User_is, User_r
+	_, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
+	if !User_is {
+		c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
+		c.ServeJSON()
+		return
+	}
+
+	T_allot_task_id := c.GetString("T_allot_task_id")
+	r, is := AllotTask.Read_AllotTask(T_allot_task_id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
+		c.ServeJSON()
+		return
+	}
+
+	userMap := Account.UserListToMap(Account.Read_User_List_ALL_1())
+	adminMap := Account.AdminListToMap(Account.Read_Admin_List_ALL_1())
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: AllotTask.AllotTaskToAllotTask_(r, userMap, adminMap)}
+	c.ServeJSON()
+	return
+}
+
+// 添加-
+func (c *AllotTaskController) Add() {
+
+	// 验证登录 User_is, User_r
+	User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
+	if !User_is {
+		c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
+		c.ServeJSON()
+		return
+	}
+
+	T_name := c.GetString("T_name")
+	T_uuid := c.GetString("T_uuid")                   // 用户uuid
+	T_approach_time := c.GetString("T_approach_time") // 用户uuid
+	T_scheme := c.GetString("T_scheme")
+	T_collection := c.GetString("T_collection")
+	T_reporting := c.GetString("T_reporting")
+	T_delivery := c.GetString("T_delivery")
+
+	T_project := c.GetString("T_project")             // 项目 负责人UUID
+	T_province := c.GetString("T_province")           // 省
+	T_city := c.GetString("T_city")                   // 市
+	T_district := c.GetString("T_district")           // 区
+	T_province_code := c.GetString("T_province_code") // 省 code
+	T_city_code := c.GetString("T_city_code")         // 市 code
+	T_district_code := c.GetString("T_district_code") // 区 code
+	T_category := c.GetString("T_category")           // 类别
+	T_attachment := c.GetString("T_attachment")       // 合同附件
+
+	// 查询信息采集信息
+	user, is := Account.Read_User(T_uuid)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_uuid 错误!"}
+		c.ServeJSON()
+		return
+	}
+	var_ := AllotTask.AllotTask{
+		T_Distributor_id: user.T_Distributor_id,
+		T_uuid:           T_uuid,
+		T_name:           T_name,
+		T_approach_time:  T_approach_time,
+		T_scheme:         T_scheme,
+		T_collection:     T_collection,
+		T_reporting:      T_reporting,
+		T_delivery:       T_delivery,
+
+		T_project:       T_project,
+		T_province:      T_province,
+		T_city:          T_city,
+		T_district:      T_district,
+		T_province_code: T_province_code,
+		T_city_code:     T_city_code,
+		T_district_code: T_district_code,
+		T_category:      T_category,
+		T_attachment:    T_attachment,
+
+		T_state:  1,
+		T_status: AllotTask.AllotTaskStatusWaitReceive,
+
+		T_allot_time: time.Now(),
+	}
+
+	T_sllot_task_id, is := AllotTask.Add_AllotTask(var_)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
+		c.ServeJSON()
+		return
+	}
+	// 通知
+	_, company_r := Account.Read_User_ByT_uuid(var_.T_uuid)
+	go wx.WxSend(var_.T_collection, fmt.Sprintf("【%s-%s】采集任务已派发,进场时间:%s,请及时接收并提交信息确认表", company_r.T_name, var_.T_name, T_approach_time))
+
+	System.Add_UserLogs_T(User_r.T_uuid, "采集任务管理", "添加", var_)
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: T_sllot_task_id}
+	c.ServeJSON()
+	return
+}
+
+// 修改-
+func (c *AllotTaskController) Up() {
+	// 验证登录 User_is, User_r
+	User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
+	if !User_is {
+		c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
+		c.ServeJSON()
+		return
+	}
+
+	T_name := c.GetString("T_name")
+	T_approach_time := c.GetString("T_approach_time")
+	T_scheme := c.GetString("T_scheme")
+	T_collection := c.GetString("T_collection")
+	T_reporting := c.GetString("T_reporting")
+	T_delivery := c.GetString("T_delivery")
+	T_project := c.GetString("T_project")             // 项目 负责人UUID
+	T_province := c.GetString("T_province")           // 省
+	T_city := c.GetString("T_city")                   // 市
+	T_district := c.GetString("T_district")           // 区
+	T_province_code := c.GetString("T_province_code") // 省 code
+	T_city_code := c.GetString("T_city_code")         // 市 code
+	T_district_code := c.GetString("T_district_code") // 区 code
+	T_category := c.GetString("T_category")           // 类别
+	T_attachment := c.GetString("T_attachment")       // 合同附件
+
+	T_allot_task_id := c.GetString("T_allot_task_id")
+	r, is := AllotTask.Read_AllotTask(T_allot_task_id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
+		c.ServeJSON()
+		return
+	}
+	old_collection := r.T_collection
+	// .......
+	clos := make([]string, 0)
+	r.T_attachment = T_attachment
+	if len(T_name) > 0 {
+		r.T_name = T_name
+		clos = append(clos, "T_name")
+	}
+	if len(T_approach_time) > 0 {
+		r.T_approach_time = T_approach_time
+		clos = append(clos, "T_approach_time")
+	}
+
+	if len(T_scheme) > 0 {
+		r.T_scheme = T_scheme
+		clos = append(clos, "T_scheme")
+
+	}
+	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 len(T_project) > 0 {
+		r.T_project = T_project
+		clos = append(clos, "T_project")
+	}
+	if len(T_province) > 0 {
+		r.T_province = T_province
+		clos = append(clos, "T_province")
+	}
+	if len(T_city) > 0 {
+		r.T_city = T_city
+		clos = append(clos, "T_city")
+	}
+	if len(T_district) > 0 {
+		r.T_district = T_district
+		clos = append(clos, "T_district")
+	}
+	if len(T_province_code) > 0 {
+		r.T_province_code = T_province_code
+		clos = append(clos, "T_province_code")
+	}
+	if len(T_city_code) > 0 {
+		r.T_city_code = T_city_code
+		clos = append(clos, "T_city_code")
+	}
+	if len(T_district_code) > 0 {
+		r.T_district_code = T_district_code
+		clos = append(clos, "T_district_code")
+	}
+	if len(T_category) > 0 {
+		r.T_category = T_category
+		clos = append(clos, "T_category")
+	}
+	if len(T_attachment) > 0 {
+		r.T_attachment = T_attachment
+		clos = append(clos, "T_attachment")
+	}
+
+	if r.T_status == AllotTask.AllotTaskStatusRefused {
+		r.T_status = AllotTask.AllotTaskStatusWaitReceive
+		r.T_allot_time = time.Now()
+		clos = append(clos, "T_status")
+		_, company_r := Account.Read_User_ByT_uuid(r.T_uuid)
+		go wx.WxSend(r.T_collection, fmt.Sprintf("【%s-%s】采集任务已派发,进场时间:%s,请及时接收并提交信息确认表", company_r.T_name, r.T_name, T_approach_time))
+
+	} else if r.T_collection != old_collection {
+		_, company_r := Account.Read_User_ByT_uuid(r.T_uuid)
+		go wx.WxSend(r.T_collection, fmt.Sprintf("【%s-%s】采集任务已派发,进场时间:%s,请及时接收并提交信息确认表", company_r.T_name, r.T_name, T_approach_time))
+
+	}
+
+	if !AllotTask.Update_AllotTask(r, clos...) {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
+		c.ServeJSON()
+		return
+	}
+
+	System.Add_UserLogs_T(User_r.T_uuid, "采集任务管理", "修改", r)
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
+	c.ServeJSON()
+	return
+}
+
+// 删除-
+func (c *AllotTaskController) Del() {
+	// 验证登录 User_is, User_r
+	User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
+	if !User_is {
+		c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
+		c.ServeJSON()
+		return
+	}
+
+	T_allot_task_id := c.GetString("T_allot_task_id")
+	if r, is := AllotTask.Read_AllotTask(T_allot_task_id); is {
+		if !AllotTask.Delete_AllotTask(r) {
+			c.Data["json"] = lib.JSONS{Code: 202, Msg: "删除失败!"}
+			c.ServeJSON()
+			return
+		}
+		// 添加任务操作日志
+		System.Add_UserLogs_T(User_r.T_uuid, "采集任务管理", "删除", r)
+		c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
+		c.ServeJSON()
+		return
+	}
+
+	c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
+	c.ServeJSON()
+	return
+}
+
+// 复制-
+func (c *AllotTaskController) Copy() {
+
+	// 验证登录 User_is, User_r
+	User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
+	if !User_is {
+		c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
+		c.ServeJSON()
+		return
+	}
+
+	T_name := c.GetString("T_name")
+	T_approach_time := c.GetString("T_approach_time")
+	T_allot_task_id := c.GetString("T_allot_task_id")
+	r, is := AllotTask.Read_AllotTask(T_allot_task_id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
+		c.ServeJSON()
+		return
+	}
+
+	var_ := AllotTask.AllotTask{
+		T_Distributor_id: r.T_Distributor_id,
+		T_uuid:           r.T_uuid,
+		T_name:           T_name,
+		T_approach_time:  T_approach_time,
+		T_scheme:         r.T_scheme,
+		T_collection:     r.T_collection,
+		T_reporting:      r.T_reporting,
+		T_delivery:       r.T_delivery,
+		T_project:        r.T_project,
+		T_province:       r.T_province,
+		T_city:           r.T_city,
+		T_district:       r.T_district,
+		T_province_code:  r.T_province_code,
+		T_city_code:      r.T_city_code,
+		T_district_code:  r.T_district_code,
+		T_category:       r.T_category,
+		T_state:          1,
+		T_status:         AllotTask.AllotTaskStatusWaitReceive,
+		T_allot_time:     time.Now(),
+	}
+
+	// 通知
+	_, company_r := Account.Read_User_ByT_uuid(var_.T_uuid)
+	go wx.WxSend(var_.T_collection, fmt.Sprintf("【%s-%s】采集任务已派发,进场时间:%s,请及时接收并提交信息确认表", company_r.T_name, var_.T_name, T_approach_time))
+	T_sllot_task_id, is := AllotTask.Add_AllotTask(var_)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
+		c.ServeJSON()
+		return
+	}
+	System.Add_UserLogs_T(User_r.T_uuid, "采集任务管理", "复制", var_)
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: T_sllot_task_id}
+	c.ServeJSON()
+	return
+}
+
+// 接收
+func (c *AllotTaskController) Receive() {
+	// 验证登录 User_is, User_r
+	User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
+	if !User_is {
+		c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
+		c.ServeJSON()
+		return
+	}
+
+	T_status, _ := c.GetInt("T_status") // 2-接收 3-拒绝
+	T_reason := c.GetString("T_reason")
+
+	T_allot_task_id := c.GetString("T_allot_task_id")
+	r, is := AllotTask.Read_AllotTask(T_allot_task_id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
+		c.ServeJSON()
+		return
+	}
+
+	// 验证权限
+	if User_r.T_uuid != r.T_collection {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "您不是该任务单的接收人!"}
+		c.ServeJSON()
+		return
+	}
+
+	// 获取r.T_record,转换为json,添加新的记录
+	var existingRecords = make([]AllotTask.AllotTaskRecord, 0)
+	if len(r.T_record) > 0 {
+		json.Unmarshal([]byte(r.T_record), &existingRecords)
+	}
+
+	// 创建新的记录条目
+	newRecord := AllotTask.AllotTaskRecord{
+		T_collection: User_r.T_uuid,
+		T_status:     T_status,
+		T_reason:     T_reason,
+		T_time:       time.Now().Format("2006-01-02 15:04:05"),
+	}
+
+	existingRecords = append(existingRecords, newRecord)
+
+	// 将更新后的记录数组转换为JSON字符串
+	updatedRecordsJSON, err := json.Marshal(existingRecords)
+	if err != nil {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "记录更新失败!"}
+		c.ServeJSON()
+		return
+	}
+
+	// 更新r.T_record字段
+	r.T_record = string(updatedRecordsJSON)
+	r.T_status = T_status
+	if r.T_status == AllotTask.AllotTaskStatusRefused && len(T_reason) > 0 {
+		r.T_reason = T_reason
+	}
+
+	// 更新数据库中的记录
+	if !AllotTask.Update_AllotTask(r, "T_record", "T_status", "T_reason") {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "更新记录失败!"}
+		c.ServeJSON()
+		return
+	}
+
+	// 添加任务操作日志
+	System.Add_UserLogs_T(User_r.T_uuid, "采集任务管理", "接收", r)
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
+	c.ServeJSON()
+	return
+
+}
+
+// 上传信息确认表
+func (c *AllotTaskController) UploadConfirmForm() {
+	// 验证登录 User_is, User_r
+	User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
+	if !User_is {
+		c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
+		c.ServeJSON()
+		return
+	}
+
+	T_confirm_form := c.GetString("T_confirm_form")
+
+	T_allot_task_id := c.GetString("T_allot_task_id")
+	r, is := AllotTask.Read_AllotTask(T_allot_task_id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
+		c.ServeJSON()
+		return
+	}
+
+	if len(T_confirm_form) > 0 {
+		r.T_confirm_form = T_confirm_form
+		if r.T_status == AllotTask.AllotTaskStatusReceived {
+			r.T_status = AllotTask.AllotTaskStatusSubmit // 修改为已提交
+		}
+		if len(r.T_submit_time) == 0 {
+			r.T_submit_time = time.Now().Format("2006-01-02 15:04:05") // 设置提交时间
+		}
+	}
+
+	// 获取r.T_record,转换为json,添加新的记录
+	var existingRecords = make([]AllotTask.AllotTaskRecord, 0)
+	if len(r.T_record) > 0 {
+		json.Unmarshal([]byte(r.T_record), &existingRecords)
+	}
+
+	// 创建新的记录条目
+	newRecord := AllotTask.AllotTaskRecord{
+		T_collection: User_r.T_uuid,
+		T_status:     AllotTask.AllotTaskStatusSubmit,
+		T_reason:     "",
+		T_time:       time.Now().Format("2006-01-02 15:04:05"),
+	}
+
+	existingRecords = append(existingRecords, newRecord)
+
+	// 将更新后的记录数组转换为JSON字符串
+	updatedRecordsJSON, err := json.Marshal(existingRecords)
+	if err != nil {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "记录更新失败!"}
+		c.ServeJSON()
+		return
+	}
+
+	// 更新r.T_record字段
+	r.T_record = string(updatedRecordsJSON)
+
+	if !AllotTask.Update_AllotTask(r, "T_confirm_form", "T_status", "T_submit_time", "T_record") {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "修改失败!"}
+		c.ServeJSON()
+		return
+	}
+
+	System.Add_UserLogs_T(User_r.T_uuid, "采集任务管理", "修改", r)
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!"}
+	c.ServeJSON()
+	return
+}
+
+// 采集任务统计
+func (c *AllotTaskController) Statistics() {
+	// 验证登录 User_is, User_r
+	User_r, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
+	if !User_is {
+		c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
+		c.ServeJSON()
+		return
+	}
+
+	List, cnt := AllotTask.Read_AllotTask_List(User_r.T_Distributor_id, User_r.T_uuid, "", "", "", "", "", "", "",
+		0, []string{}, map[string]string{}, map[string]string{}, 0, 9999)
+
+	res := make(map[int]int)
+	for k, _ := range AllotTask.AllotTaskStateMap {
+		res[k] = 0
+	}
+	res[0] = cnt
+	for _, r := range List {
+		res[r.T_status] += 1
+	}
+
+	// 按指定格式返回统计结果
+	result := []map[string]interface{}{
+		{
+			"name":     "全部",
+			"num":      res[0],
+			"T_status": 0,
+		},
+		{
+			"name":     "待接收",
+			"num":      res[AllotTask.AllotTaskStatusWaitReceive],
+			"T_status": AllotTask.AllotTaskStatusWaitReceive,
+		},
+		{
+			"name":     "已接收",
+			"num":      res[AllotTask.AllotTaskStatusReceived],
+			"T_status": AllotTask.AllotTaskStatusReceived,
+		},
+		{
+			"name":     "已提交",
+			"num":      res[AllotTask.AllotTaskStatusSubmit],
+			"T_status": AllotTask.AllotTaskStatusSubmit,
+		},
+		{
+			"name":     "已拒绝",
+			"num":      res[AllotTask.AllotTaskStatusRefused],
+			"T_status": AllotTask.AllotTaskStatusRefused,
+		},
+	}
+
+	c.Data["json"] = lib.JSONS{Data: result, Code: 200, Msg: "ok!"}
+	c.ServeJSON()
+	return
+}
+
+// 获取任务负责人列表
+func (c *AllotTaskController) GetAllotTaskUserList() {
+	// 验证登录 User_is, User_r
+	_, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
+	if !User_is {
+		c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
+		c.ServeJSON()
+		return
+	}
+
+	T_type := c.GetString("T_type") // T_project项目 T_scheme方案 T_collection数据采集 T_reporting报告
+
+	list := AllotTask.Get_AllotTask_UserList(T_type)
+	AdminMap := Account.AdminListToMap(Account.Read_Admin_List_ALL_1())
+
+	var User_list []Account.Admin_R
+	for _, v := range list {
+		if len(v) == 0 {
+			continue
+		}
+		User_list = append(User_list, Account.Admin_R{T_uuid: v, T_name: AdminMap[v]})
+	}
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: User_list}
+	c.ServeJSON()
+	return
+}
+
+// 通过信息采集ID获取指派任务详情
+func (c *AllotTaskController) GetByInfoCollectionId() {
+	// 验证登录
+	_, User_is := Account.Verification_Admin(c.Ctx.GetCookie("User_tokey"), c.GetString("User_tokey"))
+	if !User_is {
+		c.Data["json"] = lib.JSONS{Code: 201, Msg: "请重新登录!"}
+		c.ServeJSON()
+		return
+	}
+
+	T_InfoCollection_id := c.GetString("T_InfoCollection_id")
+	if len(T_InfoCollection_id) == 0 {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "信息采集ID不能为空!"}
+		c.ServeJSON()
+		return
+	}
+
+	// 先通过信息采集ID获取信息采集详情
+	infoCollection, is := InfoCollection.Read_InfoCollection(T_InfoCollection_id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "信息采集ID错误!"}
+		c.ServeJSON()
+		return
+	}
+
+	// 检查是否有关联的指派任务ID
+	if len(infoCollection.T_allot_task_id) == 0 {
+		c.Data["json"] = lib.JSONS{Code: 200, Data: AllotTask.AllotTask_{}, Msg: "该信息采集没有关联的指派任务!"}
+		c.ServeJSON()
+		return
+	}
+
+	// 通过指派任务ID获取指派任务详情
+	allotTask, is := AllotTask.Read_AllotTask(infoCollection.T_allot_task_id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "指派任务不存在!"}
+		c.ServeJSON()
+		return
+	}
+
+	allotTaskDetail := AllotTask.AllotTaskToAllotTask_(allotTask, map[string]string{}, map[string]string{})
+
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: allotTaskDetail}
+	c.ServeJSON()
+	return
+}