|
@@ -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)
|
|
|
|
|