Browse Source

2023-06-12

zoie 2 years ago
parent
commit
499afe9812

+ 67 - 4
controllers/Certificate.go

@@ -35,8 +35,12 @@ func (c *CertificateController) List() {
 	}
 	}
 
 
 	T_sn := c.GetString("T_sn")
 	T_sn := c.GetString("T_sn")
+	T_layout_no := c.GetString("T_layout_no")
 	Time_start := c.GetString("Time_start")
 	Time_start := c.GetString("Time_start")
 	Time_end := c.GetString("Time_end")
 	Time_end := c.GetString("Time_end")
+	T_release_time_sort,_ := c.GetInt("T_release_time_sort") // 1 升序 2 降序
+	T_failure_time_sort,_  := c.GetInt("T_failure_time_sort")// 1 升序 2 降序
+
 
 
 	if len(Time_start) > 0 && !lib.IsDateStr(Time_start) {
 	if len(Time_start) > 0 && !lib.IsDateStr(Time_start) {
 		c.Data["json"] = lib.JSONS{Code: 202, Msg: "时间格式错误!"}
 		c.Data["json"] = lib.JSONS{Code: 202, Msg: "时间格式错误!"}
@@ -51,7 +55,7 @@ func (c *CertificateController) List() {
 	}
 	}
 
 
 	var cnt int
 	var cnt int
-	List, cnt := Certificate.Read_Certificate_List(T_sn, Time_start, Time_end, page, page_z)
+	List, cnt := Certificate.Read_Certificate_List(T_sn, T_layout_no, Time_start, Time_end, T_release_time_sort,T_failure_time_sort,page, page_z)
 	page_size := math.Ceil(float64(cnt) / float64(page_z))
 	page_size := math.Ceil(float64(cnt) / float64(page_z))
 	r_jsons.List = List
 	r_jsons.List = List
 	r_jsons.Page = page
 	r_jsons.Page = page
@@ -109,14 +113,21 @@ func (c *CertificateController) Add() {
 	}
 	}
 
 
 	T_sn := c.GetString("T_sn")
 	T_sn := c.GetString("T_sn")
+	T_layout_no := c.GetString("T_layout_no")
 
 
 	var_ := Certificate.Certificate{
 	var_ := Certificate.Certificate{
-		T_sn:    T_sn,
-		T_State: 1,
+		T_sn:        T_sn,
+		T_layout_no: T_layout_no,
+		T_State:     1,
 	}
 	}
 
 
 	if _, is := Certificate.Read_Certificate(T_sn); is {
 	if _, is := Certificate.Read_Certificate(T_sn); is {
-		c.Data["json"] = lib.JSONS{Code: 202, Msg: "重复添加!"}
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "设备编号重复!"}
+		c.ServeJSON()
+		return
+	}
+	if _, is := Certificate.Read_Certificate_ByT_layout_no(T_layout_no); is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "布局编号重复!"}
 		c.ServeJSON()
 		c.ServeJSON()
 		return
 		return
 	}
 	}
@@ -134,6 +145,58 @@ func (c *CertificateController) Add() {
 	return
 	return
 }
 }
 
 
+// 添加-
+func (c *CertificateController) Edit() {
+	// 验证登录 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
+	}
+
+	Id, err := c.GetInt("Id")
+	if err != nil {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
+		c.ServeJSON()
+		return
+	}
+
+	r, is := Certificate.Read_Certificate_ById(Id)
+	if !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "Id 错误!"}
+		c.ServeJSON()
+		return
+	}
+
+	T_sn := c.GetString("T_sn")
+	T_layout_no := c.GetString("T_layout_no")
+
+	if _, is = Certificate.Read_Certificate(T_sn); is && r.T_sn != T_sn {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "设备编号重复!"}
+		c.ServeJSON()
+		return
+	}
+	if _, is = Certificate.Read_Certificate_ByT_layout_no(T_layout_no); is && r.T_layout_no != T_layout_no {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "布局编号重复!"}
+		c.ServeJSON()
+		return
+	}
+	r.T_sn = T_sn
+	r.T_layout_no = T_layout_no
+	is = Certificate.Update_Certificate(r, "T_sn", "T_layout_no")
+	if !is {
+		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!", Data: Id}
+	c.ServeJSON()
+
+	return
+}
+
 // 删除-
 // 删除-
 func (c *CertificateController) Del() {
 func (c *CertificateController) Del() {
 	// 验证登录 User_is, User_r
 	// 验证登录 User_is, User_r

+ 5 - 0
controllers/DeviceClass.go

@@ -270,6 +270,11 @@ func (c *DeviceClassController) List_Add() {
 		c.ServeJSON()
 		c.ServeJSON()
 		return
 		return
 	}
 	}
+	if _, is = Certificate.Read_Certificate(T_sn); !is {
+		c.Data["json"] = lib.JSONS{Code: 202, Msg: "证书不存在!"}
+		c.ServeJSON()
+		return
+	}
 
 
 	var pdf Certificate.CertificatePdf
 	var pdf Certificate.CertificatePdf
 	pdfList, _ := Certificate.Read_CertificatePdf_Newest(T_sn)
 	pdfList, _ := Certificate.Read_CertificatePdf_Newest(T_sn)

+ 10 - 8
controllers/Task.go

@@ -37,6 +37,7 @@ func (c *TaskController) List() {
 	}
 	}
 
 
 	T_name := c.GetString("T_name")
 	T_name := c.GetString("T_name")
+	T_uuid := c.GetString("T_uuid")
 
 
 	UserMap := Account.UserListToMap(Account.Read_User_List_ALL_1())
 	UserMap := Account.UserListToMap(Account.Read_User_List_ALL_1())
 	AdminMap := Account.AdminListToMap(Account.Read_Admin_List_ALL_1())
 	AdminMap := Account.AdminListToMap(Account.Read_Admin_List_ALL_1())
@@ -47,7 +48,7 @@ func (c *TaskController) List() {
 	}
 	}
 
 
 	var cnt int
 	var cnt int
-	List, cnt := Task.Read_Task_List(T_admin, T_name, UserMap, AdminMap, page, page_z)
+	List, cnt := Task.Read_Task_List(T_uuid, T_admin, T_name, UserMap, AdminMap, page, page_z)
 
 
 	page_size := math.Ceil(float64(cnt) / float64(page_z))
 	page_size := math.Ceil(float64(cnt) / float64(page_z))
 	r_jsons.List = List
 	r_jsons.List = List
@@ -188,18 +189,19 @@ func (c *TaskController) Add() {
 
 
 // 添加-
 // 添加-
 func (c *TaskController) AddData_Tool() {
 func (c *TaskController) AddData_Tool() {
-	T_uuid := "9b6b9f9d-f8f2-46fb-82c8-101d4a309c34" // 用户uuid
+	T_uuid := "3e84dda9-9eec-42b9-9350-0894262fc8a1" // 用户uuid
 
 
 	T_name := c.GetString("T_name")
 	T_name := c.GetString("T_name")
 	T_task_id := c.GetString("T_task_id")
 	T_task_id := c.GetString("T_task_id")
 
 
 	var_ := Task.Task{
 	var_ := Task.Task{
-		T_task_id: T_task_id,
-		T_class:   0,
-		T_uuid:    T_uuid,
-		T_name:    T_name,
-		T_Show:    1,
-		T_State:   1,
+		T_task_id:          T_task_id,
+		T_class:            0,
+		T_uuid:             T_uuid,
+		T_name:             T_name,
+		T_Show:             1,
+		T_State:            1,
+		T_collection_state: 2,
 	}
 	}
 
 
 	_, is := Task.Add_Task_Tool(var_)
 	_, is := Task.Add_Task_Tool(var_)

+ 37 - 9
models/Certificate/Certificate.go

@@ -12,8 +12,9 @@ import (
 )
 )
 
 
 type Certificate struct {
 type Certificate struct {
-	Id   int    `orm:"column(ID);size(11);auto;pk"`
-	T_sn string `orm:"size(256);null"` // 证书编号
+	Id          int    `orm:"column(ID);size(11);auto;pk"`
+	T_sn        string `orm:"size(256);null"` // 证书编号
+	T_layout_no string `orm:"size(256);null"` // 布局编号
 
 
 	T_State    int       `orm:"size(200);default(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 保存时都会对时间自动更新
 	CreateTime time.Time `orm:"column(create_time);type(timestamp);null;auto_now_add"` //auto_now 每次 model 保存时都会对时间自动更新
@@ -61,14 +62,24 @@ func Read_Certificate(T_sn string) (r Certificate, is bool) {
 	return r, true
 	return r, true
 }
 }
 
 
+// 获取 By
+func Read_Certificate_ByT_layout_no(T_layout_no string) (r Certificate, is bool) {
+
+	o := orm.NewOrm()
+	qs := o.QueryTable(new(Certificate))
+	err := qs.Filter("T_layout_no", T_layout_no).Filter("T_State", 1).One(&r)
+	if err != nil {
+		logs.Error(lib.FuncName(), err)
+		return r, false
+	}
+
+	return r, true
+}
+
 // 添加
 // 添加
 func Add_Certificate(r Certificate) (id int64, is bool) {
 func Add_Certificate(r Certificate) (id int64, is bool) {
 	o := orm.NewOrm()
 	o := orm.NewOrm()
-	err := o.Read(&r, "T_sn", "T_State") // o.Read(&r,"Tokey") 如果不是 主键 就得指定字段名
-	if err == nil {
-		return 0, false
-	}
-	id, err = o.Insert(&r)
+	id, err := o.Insert(&r)
 	if err != nil {
 	if err != nil {
 		logs.Error(lib.FuncName(), err)
 		logs.Error(lib.FuncName(), err)
 		return 0, false
 		return 0, false
@@ -118,13 +129,14 @@ func Update_Certificate(m Certificate, cols ...string) bool {
 type Certificate_ struct {
 type Certificate_ struct {
 	Id             int    `orm:"column(ID)"`
 	Id             int    `orm:"column(ID)"`
 	T_sn           string // 编号
 	T_sn           string // 编号
+	T_layout_no    string // 布局编号
 	T_release_time string `orm:"column(t_release_time)"` // 发布时间
 	T_release_time string `orm:"column(t_release_time)"` // 发布时间
 	T_failure_time string `orm:"column(t_failure_time)"` // 失效时间
 	T_failure_time string `orm:"column(t_failure_time)"` // 失效时间
 	T_pdf          string // pdf链接
 	T_pdf          string // pdf链接
 }
 }
 
 
 // 获取列表
 // 获取列表
-func Read_Certificate_List(T_sn, Time_start, Time_end string, page int, page_z int) ([]Certificate_, int) {
+func Read_Certificate_List(T_sn, T_layout_no, Time_start, Time_end string, T_release_time_sort, T_failure_time_sort, page int, page_z int) ([]Certificate_, int) {
 
 
 	o := orm.NewOrm()
 	o := orm.NewOrm()
 	var offset int
 	var offset int
@@ -141,6 +153,9 @@ func Read_Certificate_List(T_sn, Time_start, Time_end string, page int, page_z i
 	if len(T_sn) > 0 {
 	if len(T_sn) > 0 {
 		sqlWhere += " AND t_sn like \"%" + T_sn + "%\""
 		sqlWhere += " AND t_sn like \"%" + T_sn + "%\""
 	}
 	}
+	if len(T_layout_no) > 0 {
+		sqlWhere += " AND T_layout_no like \"%" + T_layout_no + "%\""
+	}
 	if len(Time_start) > 0 {
 	if len(Time_start) > 0 {
 		sqlWhere += " AND t_failure_time >= \"" + Time_start + "\""
 		sqlWhere += " AND t_failure_time >= \"" + Time_start + "\""
 	}
 	}
@@ -162,7 +177,20 @@ func Read_Certificate_List(T_sn, Time_start, Time_end string, page int, page_z i
 	//sql = "SELECT * FROM Certificate AS c LEFT JOIN (SELECT any_value(t_release_time) t_release_time,any_value(t_failure_time) t_failure_time,any_value(t_pdf) t_pdf,t__certificate_sn FROM (SELECT DISTINCT * FROM `CertificatePdf` WHERE t__state=1 ORDER BY id DESC) f GROUP BY t__certificate_sn) AS pdf ON pdf.t__certificate_sn=c.t_sn WHERE t__state=1"
 	//sql = "SELECT * FROM Certificate AS c LEFT JOIN (SELECT any_value(t_release_time) t_release_time,any_value(t_failure_time) t_failure_time,any_value(t_pdf) t_pdf,t__certificate_sn FROM (SELECT DISTINCT * FROM `CertificatePdf` WHERE t__state=1 ORDER BY id DESC) f GROUP BY t__certificate_sn) AS pdf ON pdf.t__certificate_sn=c.t_sn WHERE t__state=1"
 	sql = "SELECT * FROM certificate AS c LEFT JOIN (SELECT t_release_time,t_failure_time,t_pdf,t__certificate_sn FROM (SELECT DISTINCT * FROM `certificate_pdf` WHERE t__state=1 ORDER BY id DESC) f GROUP BY t__certificate_sn) AS pdf ON pdf.t__certificate_sn=c.t_sn WHERE t__state=1"
 	sql = "SELECT * FROM certificate AS c LEFT JOIN (SELECT t_release_time,t_failure_time,t_pdf,t__certificate_sn FROM (SELECT DISTINCT * FROM `certificate_pdf` WHERE t__state=1 ORDER BY id DESC) f GROUP BY t__certificate_sn) AS pdf ON pdf.t__certificate_sn=c.t_sn WHERE t__state=1"
 
 
-	sql = sql + sqlWhere + " ORDER BY pdf.t_failure_time DESC LIMIT " + strconv.Itoa(offset) + "," + strconv.Itoa(page_z)
+	sql = sql + sqlWhere
+	if T_release_time_sort == 1 {
+		sql += " ORDER BY pdf.t_release_time ASC"
+	} else if T_release_time_sort == 2 {
+		sql += " ORDER BY pdf.t_release_time DESC"
+	}
+
+	if T_failure_time_sort == 1 {
+		sql += " ORDER BY pdf.t_failure_time ASC"
+	} else if T_failure_time_sort == 2 {
+		sql += " ORDER BY pdf.t_failure_time DESC"
+	}
+	sql += " LIMIT " + strconv.Itoa(offset) + "," + strconv.Itoa(page_z)
+
 	fmt.Println(sql)
 	fmt.Println(sql)
 	_, err = o.Raw(sql).QueryRows(&maps)
 	_, err = o.Raw(sql).QueryRows(&maps)
 
 

+ 5 - 1
models/Task/Task.go

@@ -393,7 +393,7 @@ func Read_UserTask_List(T_uuid string, T_name string, userMap, adminMap map[stri
 }
 }
 
 
 // 获取任务列表
 // 获取任务列表
-func Read_Task_List(T_admin string, T_name string, userMap, adminMap map[string]string, page int, page_z int) ([]Task_, int) {
+func Read_Task_List(T_uuid, T_admin string, T_name string, userMap, adminMap map[string]string, page int, page_z int) ([]Task_, int) {
 
 
 	o := orm.NewOrm()
 	o := orm.NewOrm()
 
 
@@ -408,6 +408,10 @@ func Read_Task_List(T_admin string, T_name string, userMap, adminMap map[string]
 	cond := orm.NewCondition()
 	cond := orm.NewCondition()
 	//cond1 := cond.And("T_name__icontains", T_name).And("T_State", 1)
 	//cond1 := cond.And("T_name__icontains", T_name).And("T_State", 1)
 	cond1 := cond.And("T_name__icontains", T_name)
 	cond1 := cond.And("T_name__icontains", T_name)
+	if len(T_uuid) > 0 {
+		cond1 = cond1.And("T_uuid", T_uuid)
+
+	}
 	if len(T_admin) > 0 {
 	if len(T_admin) > 0 {
 		cond1 = cond1.AndCond(cond.Or("T_scheme", T_admin).Or("T_collection", T_admin).
 		cond1 = cond1.AndCond(cond.Or("T_scheme", T_admin).Or("T_collection", T_admin).
 			Or("T_reporting", T_admin).Or("T_delivery", T_admin))
 			Or("T_reporting", T_admin).Or("T_delivery", T_admin))

+ 1 - 0
routers/Certificate.go

@@ -10,6 +10,7 @@ func init() {
 	beego.Router("/Certificate/List", &controllers.CertificateController{}, "*:List") // 校准证书列表
 	beego.Router("/Certificate/List", &controllers.CertificateController{}, "*:List") // 校准证书列表
 	beego.Router("/Certificate/Get", &controllers.CertificateController{}, "*:Get")   // 获取最新校准证书
 	beego.Router("/Certificate/Get", &controllers.CertificateController{}, "*:Get")   // 获取最新校准证书
 	beego.Router("/Certificate/Add", &controllers.CertificateController{}, "*:Add")   // 添加校准证书
 	beego.Router("/Certificate/Add", &controllers.CertificateController{}, "*:Add")   // 添加校准证书
+	beego.Router("/Certificate/Edit", &controllers.CertificateController{}, "*:Edit") // 编辑校准证书
 	beego.Router("/Certificate/Del", &controllers.CertificateController{}, "*:Del")   // 删除校准证书
 	beego.Router("/Certificate/Del", &controllers.CertificateController{}, "*:Del")   // 删除校准证书
 	// - 校准证书pdf
 	// - 校准证书pdf
 	beego.Router("/Certificate/Pdf_List", &controllers.CertificateController{}, "*:Pdf_List") // 校准证书pdf列表
 	beego.Router("/Certificate/Pdf_List", &controllers.CertificateController{}, "*:Pdf_List") // 校准证书pdf列表