|
@@ -8,6 +8,7 @@ import (
|
|
|
orm2 "github.com/beego/beego/v2/client/orm"
|
|
|
_ "github.com/go-sql-driver/mysql"
|
|
|
"strconv"
|
|
|
+ "strings"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -136,7 +137,7 @@ type Certificate_ struct {
|
|
|
}
|
|
|
|
|
|
// 获取列表
|
|
|
-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) {
|
|
|
+func Read_Certificate_List(T_sn, T_layout_no, Time_start, Time_end string, T_layout_no_sort, T_release_time_sort, T_failure_time_sort, page int, page_z int) ([]Certificate_, int) {
|
|
|
|
|
|
o := orm.NewOrm()
|
|
|
var offset int
|
|
@@ -154,7 +155,7 @@ func Read_Certificate_List(T_sn, T_layout_no, Time_start, Time_end string, T_rel
|
|
|
sqlWhere += " AND t_sn like \"%" + T_sn + "%\""
|
|
|
}
|
|
|
if len(T_layout_no) > 0 {
|
|
|
- sqlWhere += " AND T_layout_no like \"%" + T_layout_no + "%\""
|
|
|
+ sqlWhere += " AND t_layout_no like \"%" + T_layout_no + "%\""
|
|
|
}
|
|
|
if len(Time_start) > 0 {
|
|
|
sqlWhere += " AND t_failure_time >= \"" + Time_start + "\""
|
|
@@ -178,16 +179,26 @@ func Read_Certificate_List(T_sn, T_layout_no, Time_start, Time_end string, T_rel
|
|
|
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
|
|
|
+ sqlOrder := make([]string, 0)
|
|
|
+ if T_layout_no_sort == 1 {
|
|
|
+ sqlOrder = append(sqlOrder, "c.t_layout_no ASC")
|
|
|
+ } else if T_layout_no_sort == 2 {
|
|
|
+ sqlOrder = append(sqlOrder, "c.t_layout_no DESC")
|
|
|
+ }
|
|
|
+
|
|
|
if T_release_time_sort == 1 {
|
|
|
- sql += " ORDER BY pdf.t_release_time ASC"
|
|
|
+ sqlOrder = append(sqlOrder, "pdf.t_release_time ASC")
|
|
|
} else if T_release_time_sort == 2 {
|
|
|
- sql += " ORDER BY pdf.t_release_time DESC"
|
|
|
+ sqlOrder = append(sqlOrder, "pdf.t_release_time DESC")
|
|
|
}
|
|
|
|
|
|
if T_failure_time_sort == 1 {
|
|
|
- sql += " ORDER BY pdf.t_failure_time ASC"
|
|
|
+ sqlOrder = append(sqlOrder, "pdf.t_failure_time ASC")
|
|
|
} else if T_failure_time_sort == 2 {
|
|
|
- sql += " ORDER BY pdf.t_failure_time DESC"
|
|
|
+ sqlOrder = append(sqlOrder, "pdf.t_failure_time DESC")
|
|
|
+ }
|
|
|
+ if len(sqlOrder) > 0 {
|
|
|
+ sql += " ORDER BY " + strings.Join(sqlOrder, ", ")
|
|
|
}
|
|
|
sql += " LIMIT " + strconv.Itoa(offset) + "," + strconv.Itoa(page_z)
|
|
|
|