瀏覽代碼

add:添加布点范围,信息采集复制任务

zoie 1 周之前
父節點
當前提交
381abb70a6
共有 6 個文件被更改,包括 139 次插入9 次删除
  1. 1 1
      controllers/Account.go
  2. 84 0
      controllers/Task.go
  3. 22 0
      controllers/VerifyTemplate.go
  4. 31 8
      models/VerifyTemplate/VerifyTemplate.go
  5. 1 0
      routers/Task.go
  6. 二進制
      角色菜单.xlsx

+ 1 - 1
controllers/Account.go

@@ -191,7 +191,7 @@ func (c *AccountController) Add() {
 	}
 
 	if err, _ := Account.Read_Admin_ByT_user(T_user); err == nil {
-		c.Data["json"] = lib.JSONS{Code: 202, Msg: "用户名已存在!"}
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "登录账号已存在!"}
 		c.ServeJSON()
 		return
 	}

+ 84 - 0
controllers/Task.go

@@ -2524,3 +2524,87 @@ func (c *TaskController) StatisticalRanking() {
 	c.ServeJSON()
 	return
 }
+
+// 添加-
+func (c *TaskController) 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_task_id := c.GetString("T_task_id")
+	r, is := Task.Read_Task(T_task_id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "获取信息采集失败!"}
+		c.ServeJSON()
+		return
+	}
+	// 查询信息采集信息
+	infoCollection, is := InfoCollection.Read_InfoCollection(r.T_InfoCollection_id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "获取信息采集失败!"}
+		c.ServeJSON()
+		return
+	}
+	var_ := Task.Task{
+		T_Distributor_id:       User_r.T_Distributor_id,
+		T_InfoCollection_id:    r.T_InfoCollection_id,
+		T_InfoTemplate_id:      infoCollection.T_InfoTemplate_id,
+		T_start_time:           infoCollection.T_start_time, // 项目开始时间使用信息采集开始时间
+		T_class:                r.T_class,
+		T_uuid:                 r.T_uuid,
+		T_name:                 T_name,
+		T_VerifyTemplate_class: r.T_VerifyTemplate_class,
+		T_VerifyTemplate_id:    r.T_VerifyTemplate_id,
+		T_deadline:             r.T_deadline,
+		T_scheme:               r.T_scheme,
+		T_collection:           r.T_collection,
+		T_reporting:            r.T_reporting,
+		T_delivery:             r.T_delivery,
+		T_Show:                 1,
+		T_State:                1,
+
+		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_device_type:    r.T_device_type,
+		T_volume:         r.T_volume,
+		T_verify_type:    r.T_verify_type,
+		T_subject_matter: r.T_subject_matter,
+		T_temp_range:     r.T_temp_range,
+		T_report_number:  r.T_report_number,
+		T_report_type:    r.T_report_type,
+	}
+
+	id, is := Task.Add_Task(var_)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "添加失败!"}
+		c.ServeJSON()
+		return
+	}
+	NatsServer.Create_Local_Table(T_task_id)
+
+	// 通知
+	_, company_r := Account.Read_User_ByT_uuid(var_.T_uuid)
+	go wx.WxSend(var_.T_scheme, fmt.Sprintf("【%s-%s】任务派发", company_r.T_name, var_.T_name))
+	go wx.WxSend(var_.T_collection, fmt.Sprintf("【%s-%s】任务派发", company_r.T_name, var_.T_name))
+	go wx.WxSend(var_.T_reporting, fmt.Sprintf("【%s-%s】任务派发", company_r.T_name, var_.T_name))
+	go wx.WxSend(var_.T_delivery, fmt.Sprintf("【%s-%s】任务派发", company_r.T_name, var_.T_name))
+
+	// 添加任务操作日志
+	Task.Add_TaskLogs_T(User_r.T_uuid, id, "任务管理", "添加", var_)
+	System.Add_UserLogs_T(User_r.T_uuid, "任务管理", "添加", var_)
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: id}
+	c.ServeJSON()
+	return
+}

+ 22 - 0
controllers/VerifyTemplate.go

@@ -3,6 +3,7 @@ package controllers
 import (
 	"ColdVerify_server/conf"
 	"ColdVerify_server/lib"
+	"ColdVerify_server/logs"
 	"ColdVerify_server/models/Account"
 	"ColdVerify_server/models/System"
 	"ColdVerify_server/models/Task"
@@ -178,6 +179,27 @@ func (c *VerifyTemplateController) Up() {
 		r.T_cover = T_cover
 	}
 	if len(T_deploy) > 0 {
+
+		var deployList []VerifyTemplate.VerifyTemplateDeploy
+		// 将 布点1|布点2|布点3| 格式替换为 [{"T_name":"布点1","T_scope":"布点范围1"},{"T_name":"布点2","T_scope":"布点范围2"}]
+		if strings.Contains(strings.Trim(r.T_deploy, "|"), "|") {
+			deploys := strings.Split(r.T_deploy, "|")
+			for _, v := range deploys {
+				deployList = append(deployList, VerifyTemplate.VerifyTemplateDeploy{T_name: v})
+			}
+			deploy, err := json.Marshal(deployList)
+			if err != nil {
+				logs.Error("JSON 序列化失败:", err)
+				return
+			}
+			T_deploy = string(deploy)
+		} else {
+			err := json.Unmarshal([]byte(T_deploy), &deployList)
+			if err != nil {
+				logs.Error("JSON 反序列化失败:", err)
+				return
+			}
+		}
 		r.T_deploy = T_deploy
 	}
 	if T_sort_err == nil {

+ 31 - 8
models/VerifyTemplate/VerifyTemplate.go

@@ -3,9 +3,11 @@ package VerifyTemplate
 import (
 	"ColdVerify_server/lib"
 	"ColdVerify_server/logs"
+	"encoding/json"
 	"github.com/beego/beego/v2/adapter/orm"
 	orm2 "github.com/beego/beego/v2/client/orm"
 	_ "github.com/go-sql-driver/mysql"
+	"strings"
 	"time"
 )
 
@@ -24,23 +26,29 @@ type VerifyTemplate struct {
 	T_inspect   string `orm:"size(256);null"` // 自检
 	T_cover     string `orm:"size(256);null"` // 封面
 
-	T_deploy string `orm:"type(text);null"` // 部点选项  格式 布点内容1|布点内容2|布点内容3
+	T_deploy string `orm:"type(text);null"` // 布点选项  格式 布点内容1/布点范围1|布点内容2|布点内容3
 
 	CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now_add 第一次保存时才设置时间
 	UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"`     //auto_now 每次 model 保存时都会对时间自动更新
 }
 
+// 模版布点
+type VerifyTemplateDeploy struct {
+	T_name  string // 布点内容
+	T_scope string // 布点范围
+}
+
 type VerifyTemplate_R struct {
 	T_VerifyTemplate_id string `orm:"size(256);null"` // 标题
 	T_name              string `orm:"size(256);null"` // 标题
 	T_sort              int    `orm:"size(200);null"` // 分类
 
-	T_scheme    string // 方案模版
-	T_reporting string // 报告模版
-	T_inspect   string // 自检
-	T_marking   string // 标识模版
-	T_cover     string // 封面
-	T_deploy    string // 部点选项  格式 布点内容1|布点内容2|布点内容3
+	T_scheme    string                 // 方案模版
+	T_reporting string                 // 报告模版
+	T_inspect   string                 // 自检
+	T_marking   string                 // 标识模版
+	T_cover     string                 // 封面
+	T_deploy    []VerifyTemplateDeploy // 布点选项  格式 布点内容1|布点内容2|布点内容3
 }
 
 func (t *VerifyTemplate) TableName() string {
@@ -64,7 +72,22 @@ func VerifyTemplateToVerifyTemplate_R(T VerifyTemplate) (T_r VerifyTemplate_R) {
 	T_r.T_inspect = T.T_inspect
 	T_r.T_marking = T.T_marking
 	T_r.T_cover = T.T_cover
-	T_r.T_deploy = T.T_deploy
+	var deployList []VerifyTemplateDeploy
+	if len(T.T_deploy) > 0 {
+		if strings.Contains(strings.Trim(T.T_deploy, "|"), "|") {
+			deploys := strings.Split(T.T_deploy, "|")
+			for _, v := range deploys {
+				deployList = append(deployList, VerifyTemplateDeploy{T_name: v})
+			}
+		} else {
+			err := json.Unmarshal([]byte(T.T_deploy), &deployList)
+			if err != nil {
+				logs.Error("布点 JSON 反序列化失败:", err)
+			}
+		}
+
+	}
+	T_r.T_deploy = deployList
 
 	return T_r
 }

+ 1 - 0
routers/Task.go

@@ -14,6 +14,7 @@ func init() {
 	beego.Router("/Task/Add", &controllers.TaskController{}, "*:Add")                                     // 添加任务
 	beego.Router("/Task/Up", &controllers.TaskController{}, "*:Up")                                       // 编辑任务
 	beego.Router("/Task/Del", &controllers.TaskController{}, "*:Del")                                     // 删除任务
+	beego.Router("/Task/Copy", &controllers.TaskController{}, "*:Copy")                                   // 复制任务
 	beego.Router("/Task/UpCollectionState", &controllers.TaskController{}, "*:UpCollectionState")         // 修改任务状态
 	beego.Router("/Task/UpDeliveryState", &controllers.TaskController{}, "*:UpDeliveryState")             // 修改交付审核状态
 	beego.Router("/Task/AddData_Tool", &controllers.TaskController{}, "*:AddData_Tool")                   // 1.0 添加任务数据

二進制
角色菜单.xlsx