Browse Source

数据导入问题解决

huangyan 9 months ago
parent
commit
e1585bc089

+ 10 - 4
controllers/DataController.go

@@ -239,9 +239,15 @@ func (c *DataController) ImportData() {
 	if err != nil {
 		panic(any(fmt.Sprintf("%s 打开上传文件excel错误", err.Error())))
 	}
-	Device.ImportDeviceData(reader, sn)
+	data := Device.ImportDeviceData(reader, sn)
+	if data == "" {
+		c.Data["json"] = lib.JSONS{200, "操作成功", nil}
+		c.ServeJSON()
+		return
+	} else {
+		c.Data["json"] = lib.JSONS{201, data, nil}
+		c.ServeJSON()
+		return
+	}
 
-	c.Data["json"] = lib.JSONS{200, "操作成功", nil}
-	c.ServeJSON()
-	return
 }

+ 1 - 1
lastupdate.tmp

@@ -1 +1 @@
-{"C:\\BZD\\Cold\\ColdP_server\\controllers":1716529645711645400}
+{"E:\\WebstormProjects\\ColdP_server\\controllers":1718181669847005500}

+ 24 - 0
logs/logx/logx.log

@@ -4,3 +4,27 @@
 2024/05/24 14:19:32.469 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
 2024/05/24 14:31:08.432 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
 2024/05/24 14:33:19.628 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/06 09:13:37.951 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/06 09:45:55.041 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/06 10:06:35.108 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 11:03:43.014 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 11:36:26.740 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 15:00:28.943 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 15:09:06.009 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 15:22:36.926 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 15:24:19.088 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 15:34:52.670 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 15:37:15.487 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 15:40:04.076 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 16:00:23.672 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 16:03:03.205 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 16:04:38.267 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 16:14:08.869 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 16:17:45.762 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 16:24:53.843 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 16:28:33.994 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 16:29:25.324 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 16:29:53.290 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 16:30:53.407 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 16:36:50.751 [I] [WarningType.go:192]  =========== 初始化报警类型 =========
+2024/06/12 16:41:18.504 [I] [WarningType.go:192]  =========== 初始化报警类型 =========

+ 18 - 4
models/Device/DeviceData.go

@@ -364,7 +364,7 @@ func DeleteDeviceDataByDeviceDataRList(datas []DeviceData_R) {
 }
 
 // ImportDeviceData 批量导入
-func ImportDeviceData(reader *excelize.File, sn string) {
+func ImportDeviceData(reader *excelize.File, sn string) string {
 	sheetName := reader.GetSheetName(0)
 	rows, err := reader.GetRows(sheetName)
 	if err != nil {
@@ -378,6 +378,10 @@ func ImportDeviceData(reader *excelize.File, sn string) {
 		}
 
 		t_sp := Read_device_sensor_parameter(sn, row[0])
+		if t_sp == "" {
+			sprintf := fmt.Sprintf("当前sn或探头参数ID不存在:%s,%s", sn, row[0])
+			return sprintf
+		}
 
 		// t_id,t_t,t_rh,t_time
 		//传感器	传感器参数ID	温度	湿度	GPS	采集时间	创建时间
@@ -391,10 +395,13 @@ func ImportDeviceData(reader *excelize.File, sn string) {
 	exec, err := o.Raw(sqlStatement).Exec()
 	if err != nil {
 		fmt.Println("执行失败")
+		return "请检查表格是否具有重复数据!!!"
 	} else {
 		rowsAffected, _ := exec.RowsAffected()
 		fmt.Println("插入", rowsAffected, "条数据")
+		return "导入成功"
 	}
+	return "导入失败"
 }
 
 // ExportDeviceData 导出 未完成
@@ -494,11 +501,18 @@ func Read_device_sensor_parameter(SN, t_id string) string {
 	//sql = "SELECT t_name,t_t,t_rh,t_tl,t_tu,t_rhl,t_rhu,t_site,DATE_FORMAT(t_time,'%Y-%c-%d %H:%i:%s') AS t_time  FROM z_device_data_"+SN+" WHERE "+sql_time+" t_id = "+ strconv.Itoa(T_id) +" ORDER BY t_time DESC "
 	sql := "SELECT ID FROM device_sensor_parameter WHERE `t_sn` = '" + SN + "' AND `t_id` = '" + t_id + "' AND `t__state` = '1' ORDER BY `ID` DESC LIMIT 0,2;"
 	fmt.Println(sql)
-	o.Raw(sql).ValuesList(&maps_z)
-
+	list, err := o.Raw(sql).ValuesList(&maps_z)
+	if err != nil {
+		return ""
+	}
+	if list == 0 {
+		fmt.Println("没有数据")
+		return ""
+	} else {
+		return maps_z[0][0].(string)
+	}
 	//value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", cnt), 64)
 	//key,_ := strconv.Atoi(maps_z[0][0].(string))
-	return maps_z[0][0].(string)
 }
 func Read_DeviceData_ById_Day_List(SN string) []orm2.ParamsList {
 	o := orm.NewOrm()

BIN
static/20240523140020.xlsx


+ 5 - 3
views/Data/DataList.html

@@ -556,7 +556,7 @@
         e = $(e).parent().prevAll()
         e = e[e.length - 1]
         e = $(e).children()[0]
-        console.log(e)
+        console.log(e,"==============")
         let t = {
             t_sn: $(e).attr('data-sn'),
             t_id: Number.parseInt($(e).attr('data-id')),
@@ -785,6 +785,7 @@
                 <td ondblclick="changeData(this)" data-type="create_time">${v.create_time}</td>
                 <td>
                     <button class="layui-btn layui-btn-danger layui-btn-sm" onclick="deleteOne(this)">删除</button>
+                    <button class="layui-btn layui-bg-blue layui-btn-sm" onclick="deleteOne(this)">复制添加</button>
                 </td>
             </tr>
             `)
@@ -894,8 +895,9 @@
             }
             , field: 'file'
             , done: function (res) {
-                layui.layer.msg('上传成功!')
-                layui.layer.close(index)
+                layui.layer.success(res.Msg)
+                layui.layer.msg(res.Msg)
+                // layui.layer.close(index)
             }
             , error: function () {
                 //请求异常回调