Browse Source

add:时间流程

zoie 2 years ago
parent
commit
d3039adbec

+ 153 - 1
controllers/VerifyTemplate.go

@@ -277,6 +277,8 @@ func (c *VerifyTemplateController) Map_Del() {
 	return
 }
 
+/// -----------------------------------------------------------------------------
+
 // 标签数据列表 -
 func (c *VerifyTemplateController) Map_Data_List() {
 	//验证登录 User_is, User_r
@@ -289,7 +291,7 @@ func (c *VerifyTemplateController) Map_Data_List() {
 
 	T_VerifyTemplate_id := c.GetString("T_VerifyTemplate_id")
 	T_source, T_source_err := c.GetInt("T_source")
-	if T_source_err != nil {
+	if T_source_err != nil || T_source == 0 {
 		c.Data["json"] = lib.JSONS{Code: 202, Msg: "T_source 错误!"}
 		c.ServeJSON()
 		return
@@ -369,3 +371,153 @@ func (c *VerifyTemplateController) Map_Data_Pu() {
 	c.ServeJSON()
 	return
 }
+
+/// -----------------------------------------------------------------------------
+
+// 标签列表 -
+func (c *VerifyTemplateController) Time_List() {
+	// 验证登录 User_is, User_r
+	_, User_is := lib.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_VerifyTemplateMap_id := c.GetString("T_VerifyTemplateMap_id")
+	r, is := VerifyTemplate.Read_VerifyTemplateMap(T_VerifyTemplateMap_id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
+		c.ServeJSON()
+		return
+	}
+	c.Data["json"] = lib.JSONS{Code: 200, Msg: "ok!", Data: VerifyTemplate.Read_VerifyTemplateTime_List(T_VerifyTemplateMap_id, r)}
+	c.ServeJSON()
+	return
+}
+
+// 标签添加-
+func (c *VerifyTemplateController) Time_Add() {
+	// 验证登录 User_is, User_r
+	User_r, User_is := lib.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_VerifyTemplateMap_id := c.GetString("T_VerifyTemplateMap_id")
+	T_step_name := c.GetString("T_step_name")
+	T_min_time, _ := c.GetInt("T_min_time")
+	T_max_time, _ := c.GetInt("T_max_time")
+	T_text := c.GetString("T_text")
+	T_sort, _ := c.GetInt("T_sort")
+
+	var_ := VerifyTemplate.VerifyTemplateTime{
+		T_VerifyTemplateMap_id: T_VerifyTemplateMap_id,
+		T_step_name:            T_step_name,
+		T_min_time:             T_min_time,
+		T_max_time:             T_max_time,
+		T_text:                 T_text,
+		T_sort:                 T_sort,
+	}
+
+	Id, is := VerifyTemplate.Add_VerifyTemplateTime(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: Id}
+	c.ServeJSON()
+	return
+}
+
+// 标签修改-
+func (c *VerifyTemplateController) Time_Up() {
+	// 验证登录 User_is, User_r
+	User_r, User_is := lib.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_VerifyTemplateMap_id := c.GetString("T_VerifyTemplateMap_id")
+	T_step_name := c.GetString("T_step_name")
+	T_min_time, T_min_time_err := c.GetInt("T_min_time")
+	T_max_time, T_max_time_err := c.GetInt("T_max_time")
+	T_text := c.GetString("T_text")
+	T_sort, T_sort_err := c.GetInt("T_sort")
+
+	T_id := c.GetString("T_id")
+
+	r, is := VerifyTemplate.Read_VerifyTemplateTime(T_id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
+		c.ServeJSON()
+		return
+	}
+
+	if len(T_step_name) > 0 {
+		r.T_step_name = T_step_name
+	}
+	if len(T_text) > 0 {
+		r.T_text = T_text
+	}
+	if T_min_time_err == nil {
+		r.T_min_time = T_min_time
+	}
+	if T_max_time_err == nil {
+		r.T_max_time = T_max_time
+	}
+	if len(T_text) > 0 {
+		r.T_text = T_text
+	}
+	if T_sort_err == nil {
+		r.T_sort = T_sort
+	}
+
+	if !VerifyTemplate.Update_VerifyTemplateTime(r, "T_step_name", "T_min_time", "T_max_time", "T_text", "T_sort") {
+		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 *VerifyTemplateController) Time_Del() {
+	// 验证登录 User_is, User_r
+	User_r, User_is := lib.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_id := c.GetString("T_id")
+
+	if r, is := VerifyTemplate.Read_VerifyTemplateTime(T_id); is {
+		if !VerifyTemplate.Delete_VerifyTemplateTime(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
+}

+ 6 - 6
models/Account/Admin.go

@@ -11,13 +11,13 @@ import (
 
 type Admin struct {
 	Id      int    `orm:"column(ID);size(11);auto;pk"`
-	T_uuid  string `orm:"size(256);null"` //
-	T_power int    `orm:"size(2);0"`      // 权限  0
-	T_name  string `orm:"size(256);null"` // 姓名
-	T_user  string `orm:"size(256);null"` // 用户名
-	T_pass  string `orm:"size(256);null"` // 密码
+	T_uuid  string `orm:"size(256);null"`      //
+	T_power int    `orm:"size(2);;default(0)"` // 权限  0
+	T_name  string `orm:"size(256);null"`      // 姓名
+	T_user  string `orm:"size(256);null"`      // 用户名
+	T_pass  string `orm:"size(256);null"`      // 密码
 
-	T_State    int       `orm:"size(200);1"`                                           //  0删除  1 正常
+	T_State    int       `orm:"size(200);;default(1)"`                                 //  0删除  1 正常
 	CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now 每次 model 保存时都会对时间自动更新
 	UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"`     //auto_now_add 第一次保存时才设置时间
 }

+ 3 - 3
models/Account/Power.go

@@ -11,10 +11,10 @@ type UserPower struct {
 	Id     int    `orm:"column(ID);size(11);auto;pk"`
 	T_name string `orm:"size(256);null"` //  权限名称
 
-	Logs_Sys_r  int `orm:"size(2);0"` //  系统日志
-	Logs_User_r int `orm:"size(2);0"` //  用户日志
+	Logs_Sys_r  int `orm:"size(2);;default(0)"` //  系统日志
+	Logs_User_r int `orm:"size(2);;default(0)"` //  用户日志
 
-	T_State    int       `orm:"size(200);1"`                                           //  0删除  1 正常
+	T_State    int       `orm:"size(200);;default(1)"`                                 //  0删除  1 正常
 	CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now 每次 model 保存时都会对时间自动更新
 	UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"`     //auto_now_add 第一次保存时才设置时间
 }

+ 1 - 1
models/Account/User.go

@@ -19,7 +19,7 @@ type User struct {
 	T_pass     string    `orm:"size(256);null"`                                        // 密码 MD5
 	T_passstr  string    `orm:"size(256);null"`                                        //  密码明文
 	T_Show     int       `orm:"size(200);default(1)"`                                  //  0隐藏  1公开
-	T_State    int       `orm:"size(200);1"`                                           //  0删除  1正常
+	T_State    int       `orm:"size(200);default(1)"`                                  //  0删除  1正常
 	CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now 每次 model 保存时都会对时间自动更新
 	UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"`     //auto_now_add 第一次保存时才设置时间
 }

+ 1 - 1
models/Certificate/Certificate.go

@@ -14,7 +14,7 @@ type Certificate struct {
 	Id   int    `orm:"column(ID);size(11);auto;pk"`
 	T_sn string `orm:"size(256);null"` // 证书编号
 
-	T_State    int       `orm:"size(200);1"`                                           //  0删除  1 正常
+	T_State    int       `orm:"size(200);;default(1)"`                                 //  0删除  1 正常
 	CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now 每次 model 保存时都会对时间自动更新
 	UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"`     //auto_now_add 第一次保存时才设置时间
 }

+ 1 - 1
models/Certificate/CertificatePdf.go

@@ -17,7 +17,7 @@ type CertificatePdf struct {
 	T_failure_time   string `orm:"column(t_failure_time);type(timestamp);null;"` // 失效时间
 	T_pdf            string `orm:"size(256);null"`                               // pdf链接
 
-	T_State    int       `orm:"size(200);1"`                                           //  0删除  1 正常
+	T_State    int       `orm:"size(200);;default(1)"`                                 //  0删除  1 正常
 	CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now 每次 model 保存时都会对时间自动更新
 	UpdateTime time.Time `orm:"column(update_time);type(timestamp);null;auto_now"`     //auto_now_add 第一次保存时才设置时间
 }

+ 2 - 3
models/Device/Device.go

@@ -19,9 +19,9 @@ import (
 type Device struct {
 	Id int `orm:"column(ID);size(11);auto;pk"`
 
-	T_sn                 string `orm:"size(256);null"` // 设备序列号 KF开头,环境监测主机。 YD开头,温途监测主机
+	T_sn string `orm:"size(256);null"` // 设备序列号 KF开头,环境监测主机。 YD开头,温途监测主机
 
-	T_id   int    `orm:"size(256);null"`        // 标题
+	T_id   int       `orm:"size(256);null"`        // 标题
 	T_t    float32   `orm:"size(10);null"`         // 温度
 	T_rh   float32   `orm:"size(10);null"`         // 湿度
 	T_time time.Time `orm:"type(timestamp);null;"` // 采集时间
@@ -34,7 +34,6 @@ type Device struct {
 	T_note_time_interval int    `orm:"size(2);1"`      //记录时间间隔
 	T_note_file_num      int    `orm:"size(2);1"`      //记录文件数量
 
-
 	int `orm:"size(2);1"` // 电量百分比
 
 	T_State    int       `orm:"size(2);1"`                                             // 0 删除   1 正常

+ 16 - 16
models/Task/Task.go

@@ -16,19 +16,19 @@ import (
 // 模板
 type Task struct {
 	Id                  int    `orm:"column(ID);size(11);auto;pk"`
-	T_task_id           string `orm:"size(256);null"` // 任务ID
-	T_uuid              string `orm:"size(256);null"` // 用户 UUID
-	T_name              string `orm:"size(256);null"` // 标题
-	T_VerifyTemplate_id string `orm:"size(256);null"` // 模板id
-	T_deadline          string `orm:"size(256);null"` // 截止时间
-	T_scheme            string `orm:"size(256);null"` // 实施方案 负责人UUID
-	T_collection        string `orm:"size(256);null"` // 数据采集 负责人UUID
-	T_reporting         string `orm:"size(256);null"` // 报告编写 负责人UUID
-	T_delivery          string `orm:"size(256);null"` // 交付审核 负责人UUID
-	T_scheme_state      int    `orm:"size(2);0"`      // 实施方案 状态 0 未完成 1 已完成
-	T_collection_state  int    `orm:"size(2);0"`      // 数据采集 状态 0 未完成 1 已完成
-	T_reporting_state   int    `orm:"size(2);0"`      // 报告编写 状态 0 未完成 1 已完成
-	T_delivery_state    int    `orm:"size(2);0"`      // 交付审核 状态 0 未完成 1 已完成
+	T_task_id           string `orm:"size(256);null"`     // 任务ID
+	T_uuid              string `orm:"size(256);null"`     // 用户 UUID
+	T_name              string `orm:"size(256);null"`     // 标题
+	T_VerifyTemplate_id string `orm:"size(256);null"`     // 模板id
+	T_deadline          string `orm:"size(256);null"`     // 截止时间
+	T_scheme            string `orm:"size(256);null"`     // 实施方案 负责人UUID
+	T_collection        string `orm:"size(256);null"`     // 数据采集 负责人UUID
+	T_reporting         string `orm:"size(256);null"`     // 报告编写 负责人UUID
+	T_delivery          string `orm:"size(256);null"`     // 交付审核 负责人UUID
+	T_scheme_state      int    `orm:"size(2);default(0)"` // 实施方案 状态 0 未完成 1 已完成
+	T_collection_state  int    `orm:"size(2);default(0)"` // 数据采集 状态 0 未完成 1 已完成
+	T_reporting_state   int    `orm:"size(2);default(0)"` // 报告编写 状态 0 未完成 1 已完成
+	T_delivery_state    int    `orm:"size(2);default(0)"` // 交付审核 状态 0 未完成 1 已完成
 
 	T_doc1 string `orm:"type(text);null"` // 封面
 	T_pdf1 string `orm:"type(text);null"` // 封面
@@ -37,9 +37,9 @@ type Task struct {
 	T_doc3 string `orm:"type(text);null"` // 证书
 	T_pdf3 string `orm:"type(text);null"` // 证书
 
-	T_Show     int       `orm:"size(2);1"`                                             // 0 隐藏   1 公开
-	T_Visit    int       `orm:"size(200);0"`                                           // 浏览量
-	T_State    int       `orm:"size(2);1"`                                             // 0 删除   1 正常
+	T_Show     int       `orm:"size(2);default(1)"`                                    // 0 隐藏   1 公开
+	T_Visit    int       `orm:"size(200);default(0)"`                                  // 浏览量
+	T_State    int       `orm:"size(2);default(1)"`                                    // 0 删除   1 正常
 	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 保存时都会对时间自动更新
 }

+ 9 - 6
models/Template/Template.go

@@ -11,6 +11,7 @@ import (
 	_ "github.com/go-sql-driver/mysql"
 	"time"
 )
+
 // 模板
 type Template struct {
 	Id int `orm:"column(ID);size(11);auto;pk"`
@@ -21,8 +22,8 @@ type Template struct {
 	T_int   int    `orm:"size(200);null"`  //  数量
 	T_text  string `orm:"type(text);null"` // 详情
 
-	T_Visit    int       `orm:"size(200);1"`                                           // 浏览量
-	T_State    int       `orm:"size(2);1"`                                             // 0 删除   1 正常
+	T_Visit    int       `orm:"size(200);default(0)"`                                  // 浏览量
+	T_State    int       `orm:"size(2);default(1)"`                                    // 0 删除   1 正常
 	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 保存时都会对时间自动更新
 }
@@ -57,6 +58,7 @@ func init() {
 
 	}
 }
+
 // -------------------------------------------------------------
 func TemplateToTemplate_R(T Template) (T_r Template_R) {
 	T_r.T_name = T.T_name
@@ -64,6 +66,7 @@ func TemplateToTemplate_R(T Template) (T_r Template_R) {
 	//......
 	return T_r
 }
+
 // ---------------- Redis -------------------
 //Redis_Set(m.T_sn,m) // Redis 更新缓存
 func Redis_Template_Set(key string, r Template) (err error) {
@@ -182,7 +185,7 @@ func Delete_Template_(v Template) bool {
 }
 
 // 修改
-func Update_Template(m Template,cols ...string) bool {
+func Update_Template(m Template, cols ...string) bool {
 	o := orm.NewOrm()
 	if num, err := o.Update(&m, cols...); err == nil {
 		fmt.Println("Number of records updated in database:", num)
@@ -193,7 +196,7 @@ func Update_Template(m Template,cols ...string) bool {
 }
 
 // 获取列表
-func Read_Template_List(T_name string, T_class int, page int, page_z int) ( []Template_R, int64) {
+func Read_Template_List(T_name string, T_class int, page int, page_z int) ([]Template_R, int64) {
 
 	o := orm.NewOrm()
 	// 也可以直接使用 Model 结构体作为表名
@@ -217,7 +220,7 @@ func Read_Template_List(T_name string, T_class int, page int, page_z int) ( []Te
 
 	// 转换
 	var Template_r []Template_R
-	for _,v := range r{
+	for _, v := range r {
 		Template_r = append(Template_r, TemplateToTemplate_R(v))
 	}
 
@@ -260,7 +263,7 @@ func Read_Template_List_Time(page int, T_sn string, T_Title string, Time_start_
 	cnt, _ = qs.Filter("T_Title__icontains", T_Title).Filter("T_sn__icontains", T_sn).Filter("T_State", 1).Count()
 
 	var Template_r []Template_R
-	for _,v := range r{
+	for _, v := range r {
 		Template_r = append(Template_r, TemplateToTemplate_R(v))
 	}
 

+ 12 - 12
models/VerifyTemplate/VerifyTemplate.go

@@ -9,22 +9,23 @@ import (
 	_ "github.com/go-sql-driver/mysql"
 	"time"
 )
+
 // 模板
 type VerifyTemplate struct {
 	Id int `orm:"column(ID);size(11);auto;pk"`
 
-	T_VerifyTemplate_id  string `orm:"size(256);null"`  // 标题
-	T_name  string `orm:"size(256);null"`  // 标题
-	T_sort    int       `orm:"size(2);1"`                                             // 排序
+	T_VerifyTemplate_id string `orm:"size(256);null"`     // 标题
+	T_name              string `orm:"size(256);null"`     // 标题
+	T_sort              int    `orm:"size(2);default(1)"` // 排序
 
 	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 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_VerifyTemplate_id string `orm:"size(256);null"` // 标题
+	T_name              string `orm:"size(256);null"` // 标题
+	T_sort              int    `orm:"size(200);null"` // 分类
 
 }
 
@@ -38,6 +39,7 @@ func init() {
 	orm.RegisterModel(new(VerifyTemplate))
 
 }
+
 // -------------------------------------------------------------
 func VerifyTemplateToVerifyTemplate_R(T VerifyTemplate) (T_r VerifyTemplate_R) {
 	T_r.T_VerifyTemplate_id = T.T_VerifyTemplate_id
@@ -83,7 +85,7 @@ func Add_VerifyTemplate(r VerifyTemplate) (id int64, is bool) {
 	rand_x := 0
 	for true {
 		r.T_VerifyTemplate_id = lib.GetRandstring(4, "", int64(rand_x)) // 1,336,336
-		err := o.Read(&r, "T_VerifyTemplate_id") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
+		err := o.Read(&r, "T_VerifyTemplate_id")                        // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
 		if err != nil {
 			break
 		}
@@ -111,9 +113,8 @@ func Delete_VerifyTemplate(v VerifyTemplate) bool {
 	return true
 }
 
-
 // 修改
-func Update_VerifyTemplate(m VerifyTemplate,cols ...string) bool {
+func Update_VerifyTemplate(m VerifyTemplate, cols ...string) bool {
 	o := orm.NewOrm()
 	if num, err := o.Update(&m, cols...); err == nil {
 		fmt.Println("Number of records updated in database:", num)
@@ -123,7 +124,7 @@ func Update_VerifyTemplate(m VerifyTemplate,cols ...string) bool {
 }
 
 // 获取列表
-func Read_VerifyTemplate_List(T_name string) ( []VerifyTemplate_R) {
+func Read_VerifyTemplate_List(T_name string) []VerifyTemplate_R {
 
 	o := orm.NewOrm()
 	// 也可以直接使用 Model 结构体作为表名
@@ -133,12 +134,11 @@ func Read_VerifyTemplate_List(T_name string) ( []VerifyTemplate_R) {
 	cond := orm.NewCondition()
 	cond1 := cond.And("T_name__icontains", T_name) // .AndNot("status__in", 1).Or("profile__age__gt", 2000)
 
-
 	qs.SetCond((*orm2.Condition)(cond1)).OrderBy("-Id").All(&r)
 
 	// 转换
 	var VerifyTemplate_r []VerifyTemplate_R
-	for _,v := range r{
+	for _, v := range r {
 		VerifyTemplate_r = append(VerifyTemplate_r, VerifyTemplateToVerifyTemplate_R(v))
 	}
 

+ 16 - 8
models/VerifyTemplate/VerifyTemplateMap.go

@@ -14,10 +14,10 @@ import (
 type VerifyTemplateMap struct {
 	Id int `orm:"column(ID);size(11);auto;pk"`
 
-	T_id                string `orm:"size(256);null"` // 标题
-	T_VerifyTemplate_id string `orm:"size(256);null"` // 标题
-	T_label             int    `orm:"size(2);1"`      // 数据类型
-	T_source            int    `orm:"size(2);1"`      // 来源
+	T_id                string `orm:"size(256);null"`     // 标题
+	T_VerifyTemplate_id string `orm:"size(256);null"`     // 标题
+	T_label             int    `orm:"size(2);default(1)"` // 数据类型
+	T_source            int    `orm:"size(2);default(0)"` // 来源 0-所有 1-方案 2-报告
 
 	//1:文本
 	//2:数值
@@ -27,10 +27,10 @@ type VerifyTemplateMap struct {
 	//9:当期时间(开始与结束时间)(2022-01-01 13:08|2022-01-02 13:08)
 	//10:图片
 	//11:CAD
-	T_name  string `orm:"size(256);null"` // 标签名称
-	T_field string `orm:"size(256);null"` // 标签
-	T_text  string `orm:"size(256);null"` // 描述
-	T_sort  int    `orm:"size(2);1"`      // 排序
+	T_name  string `orm:"size(256);null"`     // 标签名称
+	T_field string `orm:"size(256);null"`     // 标签
+	T_text  string `orm:"size(256);null"`     // 描述
+	T_sort  int    `orm:"size(2);default(1)"` // 排序
 
 	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 保存时都会对时间自动更新
@@ -178,3 +178,11 @@ func Read_VerifyTemplateMap_List_For_Data(T_VerifyTemplate_id string, T_source i
 
 	return r
 }
+
+func VerifyTemplateMap_RToMap(T []VerifyTemplateMap_R) map[string]string {
+	maps := make(map[string]string, len(T))
+	for _, v := range T {
+		maps[v.T_id] = v.T_name
+	}
+	return maps
+}

+ 10 - 10
models/VerifyTemplate/VerifyTemplateMapData.go

@@ -11,11 +11,11 @@ import (
 // 模板
 type VerifyTemplateMapData struct {
 	Id                     int    `orm:"column(ID);size(11);auto;pk"`
-	T_source               int    `orm:"size(2);1"`       // 来源 1-方案 2-报告
-	T_task_id              string `orm:"size(256);null"`  // 任务id
-	T_VerifyTemplate_id    string `orm:"size(256);null"`  // 模板id
-	T_VerifyTemplateMap_id string `orm:"size(256);null"`  // 标签id
-	T_value                string `orm:"size(1024);null"` // 内容
+	T_source               int    `orm:"size(2);"`             // 来源 1-方案 2-报告
+	T_task_id              string `orm:"index,size(256);null"` // 任务id
+	T_VerifyTemplate_id    string `orm:"index,size(256);null"` // 模板id
+	T_VerifyTemplateMap_id string `orm:"index,size(256);null"` // 标签id
+	T_value                string `orm:"size(1024);null"`      // 内容
 
 	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 保存时都会对时间自动更新
@@ -35,11 +35,11 @@ func (t *VerifyTemplateMapData) TableName() string {
 }
 
 // 多字段索引
-func (t *VerifyTemplateMapData) TableIndex() [][]string {
-	return [][]string{
-		[]string{"T_task_id", "T_VerifyTemplate_id", "T_VerifyTemplateMap_id"},
-	}
-}
+//func (t *VerifyTemplateMapData) TableIndex() [][]string {
+//	return [][]string{
+//		[]string{"T_task_id", "T_VerifyTemplate_id", "T_VerifyTemplateMap_id"},
+//	}
+//}
 
 // 多字段唯一键
 //func (t *VerifyTemplateMapData) TableUnique() [][]string {

+ 156 - 0
models/VerifyTemplate/VerifyTemplateTime.go

@@ -0,0 +1,156 @@
+package VerifyTemplate
+
+import (
+	"bzd_server/lib"
+	"bzd_server/logs"
+	"fmt"
+	"github.com/beego/beego/v2/adapter/orm"
+	orm2 "github.com/beego/beego/v2/client/orm"
+	_ "github.com/go-sql-driver/mysql"
+	"time"
+)
+
+// 模板
+type VerifyTemplateTime struct {
+	Id                     int    `orm:"column(ID);size(11);auto;pk"`
+	T_id                   string `orm:"size(256);null"`
+	T_VerifyTemplateMap_id string `orm:"size(256);null"`     // 标题
+	T_step_name            string `orm:"size(256);null"`     // 步骤名称
+	T_min_time             int    `orm:"size(256);"`         // 最小时间
+	T_max_time             int    `orm:"size(256);"`         // 最大时间
+	T_text                 string `orm:"type(text);null"`    // 描述
+	T_sort                 int    `orm:"size(2);default(1)"` // 排序
+
+	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 VerifyTemplateTime_R struct {
+	T_id                     string // 标签id
+	T_VerifyTemplateMap_id   string // 标签id
+	T_VerifyTemplateMap_Name string // 标签名称
+	T_step_name              string // 步骤名称
+	T_min_time               int    // 最小时间
+	T_max_time               int    // 最大时间
+	T_text                   string // 描述
+	T_sort                   int    // 排序
+
+}
+
+func (t *VerifyTemplateTime) TableName() string {
+	return "VerifyTemplateTime" // 数据库名称   // ************** 替换 FormulaList **************
+}
+
+func init() {
+	//注册模型
+	orm.RegisterModel(new(VerifyTemplateTime))
+}
+
+// -------------------------------------------------------------
+func VerifyTemplateTimeToVerifyTemplateTime_R(T VerifyTemplateTime, Map VerifyTemplateMap) (T_r VerifyTemplateTime_R) {
+	T_r.T_id = T.T_id
+	T_r.T_VerifyTemplateMap_id = T.T_VerifyTemplateMap_id
+	T_r.T_VerifyTemplateMap_Name = Map.T_name
+	T_r.T_step_name = T.T_step_name
+	T_r.T_min_time = T.T_min_time
+	T_r.T_max_time = T.T_max_time
+	T_r.T_text = T.T_text
+	T_r.T_sort = T.T_sort
+
+	return T_r
+}
+
+// ---------------- 特殊方法 -------------------
+
+// 获取 ById
+func Read_VerifyTemplateTime_ById(id int) (r VerifyTemplateTime, is bool) {
+	o := orm.NewOrm()
+	r = VerifyTemplateTime{Id: id}
+	err := o.Read(&r) // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
+	if err != nil {
+		logs.Println(err)
+		return r, false
+	}
+	return r, true
+}
+
+// 获取 By
+func Read_VerifyTemplateTime(T_id string) (r VerifyTemplateTime, is bool) {
+
+	o := orm.NewOrm()
+	qs := o.QueryTable(new(VerifyTemplateTime))
+	err := qs.Filter("T_id", T_id).One(&r)
+	if err != nil {
+		return r, false
+	}
+
+	return r, true
+}
+
+// 添加
+func Add_VerifyTemplateTime(r VerifyTemplateTime) (id int64, is bool) {
+	o := orm.NewOrm()
+
+	// 生成编号
+	rand_x := 0
+	for true {
+		r.T_id = lib.GetRandstring(4, "", int64(rand_x)) // 1,336,336
+		err := o.Read(&r, "T_id")                        // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
+		if err != nil {
+			break
+		}
+		rand_x += 1
+	}
+
+	id, err := o.Insert(&r)
+	if err != nil {
+		logs.Println(err)
+		return 0, false
+	}
+
+	return id, true
+}
+
+// 删除
+func Delete_VerifyTemplateTime(v VerifyTemplateTime) bool {
+	o := orm.NewOrm()
+	if num, err := o.Delete(&v); err == nil {
+		logs.Println("Number of records deleted in database:", num)
+	} else {
+		return false
+	}
+
+	return true
+}
+
+// 修改
+func Update_VerifyTemplateTime(m VerifyTemplateTime, cols ...string) bool {
+	o := orm.NewOrm()
+	if num, err := o.Update(&m, cols...); err == nil {
+		fmt.Println("Number of records updated in database:", num)
+		return true
+	}
+	return false
+}
+
+// 获取列表
+func Read_VerifyTemplateTime_List(T_VerifyTemplateMap_id string, Map VerifyTemplateMap) []VerifyTemplateTime_R {
+
+	o := orm.NewOrm()
+	// 也可以直接使用 Model 结构体作为表名
+	var r []VerifyTemplateTime
+	qs := o.QueryTable(new(VerifyTemplateTime))
+
+	cond := orm.NewCondition()
+	cond1 := cond.And("T_VerifyTemplateMap_id", T_VerifyTemplateMap_id)
+
+	qs.SetCond((*orm2.Condition)(cond1)).OrderBy("-T_sort").All(&r)
+
+	// 转换
+	var VerifyTemplateTime_r []VerifyTemplateTime_R
+	for _, v := range r {
+		VerifyTemplateTime_r = append(VerifyTemplateTime_r, VerifyTemplateTimeToVerifyTemplateTime_R(v, Map))
+	}
+
+	return VerifyTemplateTime_r
+}

+ 14 - 8
routers/router.go

@@ -7,16 +7,22 @@ import (
 
 func init() {
 
-	beego.Router("/VerifyTemplate/List", &controllers.VerifyTemplateController{}, "*:List") // 获取未读消息
-	beego.Router("/VerifyTemplate/Add", &controllers.VerifyTemplateController{}, "*:Add")   // 获取未读消息
-	beego.Router("/VerifyTemplate/Up", &controllers.VerifyTemplateController{}, "*:Up")     // 获取未读消息
-	beego.Router("/VerifyTemplate/Del", &controllers.VerifyTemplateController{}, "*:Del")   // 获取未读消息
+	beego.Router("/VerifyTemplate/List", &controllers.VerifyTemplateController{}, "*:List") // 模板列表
+	beego.Router("/VerifyTemplate/Add", &controllers.VerifyTemplateController{}, "*:Add")   // 模板添加
+	beego.Router("/VerifyTemplate/Up", &controllers.VerifyTemplateController{}, "*:Up")     // 模板删除
+	beego.Router("/VerifyTemplate/Del", &controllers.VerifyTemplateController{}, "*:Del")   // 模板修改
 
-	beego.Router("/VerifyTemplate/Map_List", &controllers.VerifyTemplateController{}, "*:Map_List") // 获取未读消息
-	beego.Router("/VerifyTemplate/Map_Add", &controllers.VerifyTemplateController{}, "*:Map_Add")   // 获取未读消息
-	beego.Router("/VerifyTemplate/Map_Up", &controllers.VerifyTemplateController{}, "*:Map_Up")     // 获取未读消息
-	beego.Router("/VerifyTemplate/Map_Del", &controllers.VerifyTemplateController{}, "*:Map_Del")   // 获取未读消息
+	beego.Router("/VerifyTemplate/Map_List", &controllers.VerifyTemplateController{}, "*:Map_List") // 标签列表
+	beego.Router("/VerifyTemplate/Map_Add", &controllers.VerifyTemplateController{}, "*:Map_Add")   // 标签添加
+	beego.Router("/VerifyTemplate/Map_Up", &controllers.VerifyTemplateController{}, "*:Map_Up")     // 标签修改
+	beego.Router("/VerifyTemplate/Map_Del", &controllers.VerifyTemplateController{}, "*:Map_Del")   // 标签删除
 
 	beego.Router("/VerifyTemplateMapData/List", &controllers.VerifyTemplateController{}, "*:Map_Data_List") // 标签数据列表
 	beego.Router("/VerifyTemplateMapData/Pu", &controllers.VerifyTemplateController{}, "*:Map_Data_Pu")     // 添加标签数据
+
+	beego.Router("/VerifyTemplate/Time_List", &controllers.VerifyTemplateController{}, "*:Time_List") // 时间流程列表
+	beego.Router("/VerifyTemplate/Time_Add", &controllers.VerifyTemplateController{}, "*:Time_Add")   // 时间流程添加
+	beego.Router("/VerifyTemplate/Time_Up", &controllers.VerifyTemplateController{}, "*:Time_Up")     // 时间流程删除
+	beego.Router("/VerifyTemplate/Time_Del", &controllers.VerifyTemplateController{}, "*:Time_Del")   // 时间流程修改
+
 }