|
@@ -30,6 +30,7 @@ func (t *TaskData) TableName() string {
|
|
|
func init() {
|
|
|
|
|
|
}
|
|
|
+
|
|
|
//创建数据库 Device.CREATE_TaskData("")
|
|
|
func CREATE_TaskData(T_task_id string) bool {
|
|
|
o := orm.NewOrm()
|
|
@@ -66,7 +67,7 @@ func Truncate_TaskData(T_task_id string) bool {
|
|
|
|
|
|
o := orm.NewOrm()
|
|
|
|
|
|
- sql := "truncate table Z_TaskData_"+T_task_id
|
|
|
+ sql := "truncate table Z_TaskData_" + T_task_id
|
|
|
logs.Println(sql)
|
|
|
o.Raw(sql).Exec()
|
|
|
|
|
@@ -74,15 +75,15 @@ func Truncate_TaskData(T_task_id string) bool {
|
|
|
}
|
|
|
|
|
|
// 添加
|
|
|
-func Import_TaskData(Sn string,T_id int,T_task_id string,Time_start string, Time_end string) bool {
|
|
|
+func Import_TaskData(Sn string, T_id int, T_task_id string, Time_start string, Time_end string) bool {
|
|
|
//if conf.Server_test {
|
|
|
// return true
|
|
|
//}
|
|
|
o := orm.NewOrm()
|
|
|
|
|
|
// 开始插入数据
|
|
|
- sql := "insert into Z_TaskData_"+T_task_id+"(t_id,t_t,t_rh,t_time) select t_id,t_t,t_rh,t_time from Z_DeviceData_"+Sn
|
|
|
- sql = sql + " WHERE t_time > '"+ Time_start +"' AND t_time < '"+ Time_end +"'"
|
|
|
+ sql := "insert into Z_TaskData_" + T_task_id + "(t_id,t_t,t_rh,t_time) select t_id,t_t,t_rh,t_time from Z_DeviceData_" + Sn
|
|
|
+ sql = sql + " WHERE t_time >= '" + Time_start + "' AND t_time <= '" + Time_end + "'"
|
|
|
// 这里有时间优化 用于一次 prepare 多次 exec,以提高批量执行的速度
|
|
|
logs.Println(sql)
|
|
|
res, err := o.Raw(sql).Exec()
|
|
@@ -91,8 +92,9 @@ func Import_TaskData(Sn string,T_id int,T_task_id string,Time_start string, Time
|
|
|
return false
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- sql = "UPDATE Z_TaskData_"+T_task_id+" SET `t_sn` = '"+Sn+"',`t_id` = "+strconv.Itoa(T_id)+" WHERE `t_sn` IS NULL"
|
|
|
+ // 强行替换 ID
|
|
|
+ sql = "UPDATE Z_TaskData_" + T_task_id + " SET `t_sn` = '" + Sn + "',`t_id` = " + strconv.Itoa(T_id) + " WHERE `t_sn` IS NULL"
|
|
|
+ // 设备 ID
|
|
|
//sql = "UPDATE Z_TaskData_"+T_task_id+" SET `t_sn` = '"+Sn+"' WHERE `t_sn` IS NULL"
|
|
|
logs.Println(sql)
|
|
|
o.Raw(sql).Exec()
|
|
@@ -102,19 +104,20 @@ func Import_TaskData(Sn string,T_id int,T_task_id string,Time_start string, Time
|
|
|
}
|
|
|
|
|
|
type TaskData_ struct {
|
|
|
- ID int `orm:"column(ID);size(100);null"` // ID
|
|
|
- T_sn string `orm:"column(t_sn);size(256);null"` // 标题
|
|
|
- T_id int `orm:"column(t_id);size(10);null"` // ID
|
|
|
- T_t float32 `orm:"column(t_t);size(10);null"` // 温度
|
|
|
- T_rh float32 `orm:"column(t_rh);size(10);null"` // 湿度
|
|
|
- T_time string `orm:"column(t_time);type(timestamp);null;"` // 采集时间
|
|
|
+ ID int `orm:"column(ID);size(100);null"` // ID
|
|
|
+ T_sn string `orm:"column(t_sn);size(256);null"` // 标题
|
|
|
+ T_id int `orm:"column(t_id);size(10);null"` // ID
|
|
|
+ T_t float32 `orm:"column(t_t);size(10);null"` // 温度
|
|
|
+ T_rh float32 `orm:"column(t_rh);size(10);null"` // 湿度
|
|
|
+ T_time string `orm:"column(t_times);null;"` // 采集时间
|
|
|
}
|
|
|
type TaskDataClass_ struct {
|
|
|
- T_sn string `orm:"column(t_sn);size(256);null"` // 标题
|
|
|
- T_id int `orm:"column(t_id);size(10);null"` // ID
|
|
|
+ T_sn string `orm:"column(t_sn);size(256);null"` // 标题
|
|
|
+ T_id int `orm:"column(t_id);size(10);null"` // ID
|
|
|
}
|
|
|
+
|
|
|
//
|
|
|
-func Read_TaskData_ById_List(T_task_id string,SN string, T_id int, Time_start_ string, Time_end_ string, page int, page_z int) ([]TaskData_, int64) {
|
|
|
+func Read_TaskData_ById_List(T_task_id string, SN string, T_id int, Time_start_ string, Time_end_ string, page int, page_z int) ([]TaskData_, int64) {
|
|
|
o := orm.NewOrm()
|
|
|
var maps []TaskData_
|
|
|
var maps_z []orm2.ParamsList
|
|
@@ -142,7 +145,7 @@ func Read_TaskData_ById_List(T_task_id string,SN string, T_id int, Time_start_ s
|
|
|
sql_condition += " t_id = " + strconv.Itoa(T_id) + " AND "
|
|
|
}
|
|
|
|
|
|
- sql_condition += " t_sn LIKE '%"+SN+"%' "
|
|
|
+ sql_condition += " t_sn = '" + SN + "' "
|
|
|
|
|
|
sql := "SELECT COUNT(ID) FROM Z_TaskData_" + T_task_id + " WHERE " + sql_condition
|
|
|
fmt.Println(sql)
|
|
@@ -153,8 +156,9 @@ func Read_TaskData_ById_List(T_task_id string,SN string, T_id int, Time_start_ s
|
|
|
if len(maps_z) == 0 {
|
|
|
return maps, 0
|
|
|
}
|
|
|
+
|
|
|
//fmt.Println("maps_z;",maps_z[0][0])
|
|
|
- sql = "SELECT ID,t_sn,t_id,t_t,t_rh,DATE_FORMAT(t_time,'%Y-%c-%d %H:%i:%s') AS t_time FROM Z_TaskData_" + T_task_id + " WHERE " + sql_condition + " ORDER BY t_time DESC "
|
|
|
+ sql = "SELECT ID,t_sn,t_id,t_t,t_rh,DATE_FORMAT(t_time,'%Y-%c-%d %H:%i:%s') AS t_times,t_time FROM Z_TaskData_" + T_task_id + " WHERE " + sql_condition + " ORDER BY t_time DESC "
|
|
|
if page_z != 9999 {
|
|
|
sql = sql + " LIMIT " + strconv.Itoa(offset) + "," + strconv.Itoa(pagez)
|
|
|
}
|
|
@@ -166,20 +170,19 @@ func Read_TaskData_ById_List(T_task_id string,SN string, T_id int, Time_start_ s
|
|
|
key, _ := strconv.Atoi(maps_z[0][0].(string))
|
|
|
return maps, int64(key)
|
|
|
}
|
|
|
+
|
|
|
//
|
|
|
-func Read_TaskData_ById_List_(T_task_id string,SN string, T_id int) ([]TaskData_) {
|
|
|
+func Read_TaskData_ById_List_(T_task_id string, SN string, T_id int) []TaskData_ {
|
|
|
o := orm.NewOrm()
|
|
|
var maps []TaskData_
|
|
|
|
|
|
-
|
|
|
sql_condition := ""
|
|
|
|
|
|
sql_condition += " t_id = " + strconv.Itoa(T_id) + " AND "
|
|
|
- sql_condition += " t_sn LIKE '%"+SN+"%' "
|
|
|
+ sql_condition += " t_sn LIKE '%" + SN + "%' "
|
|
|
|
|
|
//fmt.Println("maps_z;",maps_z[0][0])
|
|
|
- sql := "SELECT ID,t_sn,t_id,t_t,t_rh,DATE_FORMAT(t_time,'%Y-%c-%d %H:%i') AS t_time FROM Z_TaskData_" + T_task_id + " WHERE " + sql_condition + " ORDER BY t_time "
|
|
|
-
|
|
|
+ sql := "SELECT ID,t_sn,t_id,t_t,t_rh,DATE_FORMAT(t_time,'%Y-%c-%d %H:%i') AS t_times,t_time FROM Z_TaskData_" + T_task_id + " WHERE " + sql_condition + " ORDER BY t_time "
|
|
|
|
|
|
fmt.Println(sql)
|
|
|
o.Raw(sql).QueryRows(&maps)
|
|
@@ -188,7 +191,7 @@ func Read_TaskData_ById_List_(T_task_id string,SN string, T_id int) ([]TaskData_
|
|
|
}
|
|
|
|
|
|
//
|
|
|
-func Read_TaskData_ById_ClassList(T_task_id string) ([]TaskDataClass_) {
|
|
|
+func Read_TaskData_ById_ClassList(T_task_id string) []TaskDataClass_ {
|
|
|
o := orm.NewOrm()
|
|
|
var maps []TaskDataClass_
|
|
|
|
|
@@ -201,7 +204,6 @@ func Read_TaskData_ById_ClassList(T_task_id string) ([]TaskDataClass_) {
|
|
|
return maps
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// 添加
|
|
|
func Add_TaskData(T_task_id string, T_sn string, T_id string, T_t string, T_rh string, T_time string) bool {
|
|
|
|
|
@@ -213,23 +215,23 @@ func Add_TaskData(T_task_id string, T_sn string, T_id string, T_t string, T_rh s
|
|
|
// "VALUES ('" + T_sn + "', " + T_id + ", '" + T_time + "') " +
|
|
|
// "ON DUPLICATE KEY UPDATE t_t=" + T_t + ", t_rh="+ T_rh +";"
|
|
|
|
|
|
- sql := "DELETE FROM Z_TaskData_" + T_task_id + " WHERE " + " t_id = " + T_id + " AND "+ " t_sn LIKE '%"+T_sn+"%' " + "AND t_time = '" + T_time + "' "
|
|
|
-
|
|
|
- // 这里有时间优化 用于一次 prepare 多次 exec,以提高批量执行的速度
|
|
|
- fmt.Println(sql)
|
|
|
- res, err := o.Raw(sql).Exec()
|
|
|
- if err != nil {
|
|
|
- fmt.Println(err)
|
|
|
- return false
|
|
|
- }
|
|
|
- res.RowsAffected()
|
|
|
-
|
|
|
+ // 去重复数据
|
|
|
+ //sql := "DELETE FROM Z_TaskData_" + T_task_id + " WHERE " + " t_id = " + T_id + " AND "+ " t_sn = '"+T_sn+"' " + "AND t_time = '" + T_time + "' "
|
|
|
+ //
|
|
|
+ //// 这里有时间优化 用于一次 prepare 多次 exec,以提高批量执行的速度
|
|
|
+ //fmt.Println(sql)
|
|
|
+ //res, err := o.Raw(sql).Exec()
|
|
|
+ //if err != nil {
|
|
|
+ // fmt.Println(err)
|
|
|
+ // return false
|
|
|
+ //}
|
|
|
+ //res.RowsAffected()
|
|
|
|
|
|
- sql = "INSERT INTO Z_TaskData_" + T_task_id + " (`t_sn`, `t_id`, `t_t`, `t_rh`, `t_time`) " +
|
|
|
+ sql := "INSERT INTO Z_TaskData_" + T_task_id + " (`t_sn`, `t_id`, `t_t`, `t_rh`, `t_time`) " +
|
|
|
"VALUES ('" + T_sn + "', " + T_id + ", " + T_t + "," + T_rh + ", '" + T_time + "')"
|
|
|
|
|
|
fmt.Println(sql)
|
|
|
- res, err = o.Raw(sql).Exec()
|
|
|
+ res, err := o.Raw(sql).Exec()
|
|
|
if err != nil {
|
|
|
fmt.Println(err)
|
|
|
return false
|
|
@@ -240,24 +242,23 @@ func Add_TaskData(T_task_id string, T_sn string, T_id string, T_t string, T_rh s
|
|
|
return true
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// 修改
|
|
|
func Up_TaskData(T_task_id string, Id string, T_t string, T_rh string, T_time string) bool {
|
|
|
|
|
|
o := orm.NewOrm()
|
|
|
SET_str := " SET "
|
|
|
- if len(T_t) > 0{
|
|
|
+ if len(T_t) > 0 {
|
|
|
SET_str = SET_str + " t_t = " + T_t + " ,"
|
|
|
}
|
|
|
- if len(T_rh) > 0{
|
|
|
+ if len(T_rh) > 0 {
|
|
|
SET_str = SET_str + " t_rh = " + T_rh + " ,"
|
|
|
}
|
|
|
- if len(T_time) > 0{
|
|
|
+ if len(T_time) > 0 {
|
|
|
SET_str = SET_str + " t_time = '" + T_time + "' ,"
|
|
|
}
|
|
|
|
|
|
- if len(SET_str) > 7{
|
|
|
- SET_str = SET_str[:(len(SET_str)-1)]
|
|
|
+ if len(SET_str) > 7 {
|
|
|
+ SET_str = SET_str[:(len(SET_str) - 1)]
|
|
|
}
|
|
|
|
|
|
// 开始插入数据 UPDATE `cold_verify`.`Z_TaskData_d8qMyeXLzIxn` SET `t_t` = 20.2 WHERE `ID` = 69
|
|
@@ -275,13 +276,11 @@ func Up_TaskData(T_task_id string, Id string, T_t string, T_rh string, T_time st
|
|
|
return true
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// 添加
|
|
|
func Del_TaskData(T_task_id string, Id string) bool {
|
|
|
|
|
|
o := orm.NewOrm()
|
|
|
|
|
|
-
|
|
|
// 开始插入数据 UPDATE `cold_verify`.`Z_TaskData_d8qMyeXLzIxn` SET `t_t` = 20.2 WHERE `ID` = 69
|
|
|
sql := "DELETE FROM Z_TaskData_" + T_task_id + " WHERE ID = " + Id
|
|
|
// 这里有时间优化 用于一次 prepare 多次 exec,以提高批量执行的速度
|
|
@@ -297,3 +296,22 @@ func Del_TaskData(T_task_id string, Id string) bool {
|
|
|
return true
|
|
|
}
|
|
|
|
|
|
+// 添加
|
|
|
+func Del_TaskData_t_id(T_task_id string, Id string) bool {
|
|
|
+
|
|
|
+ o := orm.NewOrm()
|
|
|
+
|
|
|
+ // 开始插入数据 UPDATE `cold_verify`.`Z_TaskData_d8qMyeXLzIxn` SET `t_t` = 20.2 WHERE `ID` = 69
|
|
|
+ sql := "DELETE FROM Z_TaskData_" + T_task_id + " WHERE t_id = " + Id
|
|
|
+ // 这里有时间优化 用于一次 prepare 多次 exec,以提高批量执行的速度
|
|
|
+ logs.Println(sql)
|
|
|
+ res, err := o.Raw(sql).Exec()
|
|
|
+ if err != nil {
|
|
|
+ fmt.Println(err)
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ res.RowsAffected()
|
|
|
+
|
|
|
+ //fmt.Println("mysql row affected nums: ", num)
|
|
|
+ return true
|
|
|
+}
|