diff --git a/sec-api/src/main/java/com/imdroid/secapi/dto/GnssStatusMsg.java b/sec-api/src/main/java/com/imdroid/secapi/dto/GnssStatusMsg.java index c0d150f2..37977f97 100644 --- a/sec-api/src/main/java/com/imdroid/secapi/dto/GnssStatusMsg.java +++ b/sec-api/src/main/java/com/imdroid/secapi/dto/GnssStatusMsg.java @@ -62,4 +62,7 @@ public class GnssStatusMsg { @ExcelProperty("湿度") Float humidity; + + @ExcelProperty("备注") + String remark; } diff --git a/sec-api/src/main/java/com/imdroid/secapi/dto/GnssTrxMsg.java b/sec-api/src/main/java/com/imdroid/secapi/dto/GnssTrxMsg.java index b6eaa931..412bd15f 100644 --- a/sec-api/src/main/java/com/imdroid/secapi/dto/GnssTrxMsg.java +++ b/sec-api/src/main/java/com/imdroid/secapi/dto/GnssTrxMsg.java @@ -67,4 +67,6 @@ public class GnssTrxMsg { @ExcelProperty("浮点解") Integer floatnum; + @ExcelProperty("备注") + String remark; } diff --git a/sec-api/src/main/java/com/imdroid/secapi/dto/OpLogManager.java b/sec-api/src/main/java/com/imdroid/secapi/dto/OpLogManager.java index 63f77a21..974392e5 100644 --- a/sec-api/src/main/java/com/imdroid/secapi/dto/OpLogManager.java +++ b/sec-api/src/main/java/com/imdroid/secapi/dto/OpLogManager.java @@ -19,6 +19,7 @@ public class OpLogManager { public final static Short OP_OBJ_GROUP = 6; public final static Short OP_OBJ_WARNING = 7; public final static Short OP_OBJ_SYS = 8; + public final static Short OP_OBJ_DEVICE_MSG = 9; @Autowired OpLogMapper opLogMapper; diff --git a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssMsgController.java b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssMsgController.java index 6c3bd5fc..7a9bf8e4 100644 --- a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssMsgController.java +++ b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssMsgController.java @@ -6,6 +6,7 @@ import com.imdroid.beidou.service.CommonExcelService; import com.imdroid.secapi.dto.GnssMsg; import com.imdroid.secapi.dto.GnssMsgMapper; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @@ -25,7 +26,8 @@ import java.util.Map; @RequiredArgsConstructor public class GnssMsgController extends BasicController implements CommonExcelService { - private final GnssMsgMapper msgMapper; + @Autowired + GnssMsgMapper msgMapper; public static final Map msgTypeMap = new HashMap<>(); diff --git a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssMsgStatusController.java b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssMsgStatusController.java index 8bb039c4..e3c0d9ea 100644 --- a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssMsgStatusController.java +++ b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssMsgStatusController.java @@ -2,13 +2,18 @@ package com.imdroid.beidou.controller; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.imdroid.beidou.common.HttpResult; import com.imdroid.beidou.service.CommonExcelService; import com.imdroid.secapi.dto.GnssStatusMsg; import com.imdroid.secapi.dto.GnssStatusMsgMapper; +import com.imdroid.secapi.dto.OpLogManager; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; @@ -25,8 +30,10 @@ import javax.servlet.http.HttpSession; @RequiredArgsConstructor public class GnssMsgStatusController extends BasicController implements CommonExcelService { - private final GnssStatusMsgMapper statusMsgMapper; - + @Autowired + GnssStatusMsgMapper statusMsgMapper; + @Autowired + OpLogManager opLogManager; @RequestMapping("/page/gnss_msg_status") public String gnssStatusMsg(Model m, HttpSession session) { initModel(m, session); @@ -39,6 +46,27 @@ public class GnssMsgStatusController extends BasicController implements CommonEx return this.pageList(session, page, limit, searchParams); } + @PostMapping("/gnss/msg/status/remark") + @ResponseBody + public String updateRemark(HttpSession session, @RequestParam Long id, @RequestParam String remark) { + GnssStatusMsg statusMsg = statusMsgMapper.selectById(id); + int num = 0; + if(statusMsg!=null){ + opLogManager.addLog(getLoginUser(session),getTenantId(session), + OpLogManager.OP_TYPE_UPDATE, + OpLogManager.OP_OBJ_DEVICE_MSG, + statusMsg.getRemark() + "->" + remark); + statusMsg.setRemark(remark); + num = statusMsgMapper.updateById(statusMsg); + } + + if (num == 0) { + return HttpResult.failed(); + } else{ + return HttpResult.ok(); + } + } + /** * 导出excel * diff --git a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssMsgTrxController.java b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssMsgTrxController.java index 7ec09fe7..691d2454 100644 --- a/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssMsgTrxController.java +++ b/sec-beidou/src/main/java/com/imdroid/beidou/controller/GnssMsgTrxController.java @@ -2,13 +2,18 @@ package com.imdroid.beidou.controller; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.imdroid.beidou.common.HttpResult; import com.imdroid.beidou.service.CommonExcelService; import com.imdroid.secapi.dto.GnssTrxMsg; import com.imdroid.secapi.dto.GnssTrxMsgMapper; +import com.imdroid.secapi.dto.OpLogManager; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; @@ -25,8 +30,10 @@ import javax.servlet.http.HttpSession; @RequiredArgsConstructor public class GnssMsgTrxController extends BasicController implements CommonExcelService { - private final GnssTrxMsgMapper trxMsgMapper; - + @Autowired + GnssTrxMsgMapper trxMsgMapper; + @Autowired + OpLogManager opLogManager; @RequestMapping("/page/gnss_msg_trx") public String gnssTrxMsg(Model m, HttpSession session) { initModel(m, session); @@ -39,6 +46,27 @@ public class GnssMsgTrxController extends BasicController implements CommonExcel return this.pageList(session, page, limit, searchParams); } + @PostMapping("/gnss/msg/trx/remark") + @ResponseBody + public String updateRemark(HttpSession session, @RequestParam Long id, @RequestParam String remark) { + GnssTrxMsg trxMsg = trxMsgMapper.selectById(id); + int num = 0; + if(trxMsg!=null){ + opLogManager.addLog(getLoginUser(session),getTenantId(session), + OpLogManager.OP_TYPE_UPDATE, + OpLogManager.OP_OBJ_DEVICE_MSG, + trxMsg.getRemark() + "->" + remark); + trxMsg.setRemark(remark); + num = trxMsgMapper.updateById(trxMsg); + } + + if (num == 0) { + return HttpResult.failed(); + } else{ + return HttpResult.ok(); + } + } + /** * 导出excel * diff --git a/sec-beidou/src/main/java/com/imdroid/beidou/controller/OpLogController.java b/sec-beidou/src/main/java/com/imdroid/beidou/controller/OpLogController.java index e02206ce..ab5fbd1c 100644 --- a/sec-beidou/src/main/java/com/imdroid/beidou/controller/OpLogController.java +++ b/sec-beidou/src/main/java/com/imdroid/beidou/controller/OpLogController.java @@ -6,6 +6,7 @@ import com.imdroid.beidou.service.CommonExcelService; import com.imdroid.secapi.dto.OpLogMapper; import com.imdroid.secapi.dto.OperationLog; import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @@ -22,7 +23,8 @@ import javax.servlet.http.HttpSession; @RequiredArgsConstructor public class OpLogController extends BasicController implements CommonExcelService { - private final OpLogMapper opLogMapper; + @Autowired + OpLogMapper opLogMapper; /**** 推送页面 *****/ @RequestMapping("/sys/oplog") diff --git a/sec-beidou/src/main/resources/templates/page/gnss_msg_status.html b/sec-beidou/src/main/resources/templates/page/gnss_msg_status.html index f8a749f8..41328cb6 100644 --- a/sec-beidou/src/main/resources/templates/page/gnss_msg_status.html +++ b/sec-beidou/src/main/resources/templates/page/gnss_msg_status.html @@ -43,7 +43,9 @@
- + @@ -55,9 +57,9 @@ laydate = layui.laydate; var cfg_cols = [ - {field: 'deviceid', title: '设备号'}, + {field: 'deviceid', title: '设备号', width: 100}, + {field: 'remark', title: '备注', width: 120}, {field: 'createtime', title: '上报时间', templet: "
{{layui.util.toDateString(d.createtime, 'yyyy-MM-dd HH:mm:ss')}}
"}, - {field: 'devicetime', title: '设备时间'}, {field: 'roll', title: 'roll'}, {field: 'pitch', title: 'pitch'}, {field: 'yaw', title: 'yaw'}, @@ -66,7 +68,8 @@ {field: 'solarvoltage', title: '光伏电压(mV)'}, {field: 'chargecurrency', title: '充电电流(mA)'}, {field: 'temperature', title: '温度(°C)'}, - {field: 'humidity', title: '湿度(%)'} + {field: 'humidity', title: '湿度(%)'}, + {title: '操作', toolbar: '#currentTableBar', fixed: "right", width: 80} ]; if([[${role}]] != "SUPER_ADMIN") { cfg_cols[2].hide = true; @@ -124,6 +127,34 @@ return false; }); + table.on('tool(currentTableFilter)', function (obj) { + var data = obj.data; + if (obj.event === 'edit') { + layer.prompt({ + formType: 0, + value: data.remark, + title: '输入备注', + btn: ['确定','取消'], + btnAlign: 'c' + }, function(value,index){ + $.ajax({ + type:"POST", + url:"/gnss/msg/status/remark", + data:{ + 'id':data.id, + 'remark':value + }, + success: function (data) { + //data是cotroller相应处理函数的返回值 + table.reload('currentTableId'); + } + }); + layer.close(index); + } + ); + } + }); + }); diff --git a/sec-beidou/src/main/resources/templates/page/gnss_msg_trx.html b/sec-beidou/src/main/resources/templates/page/gnss_msg_trx.html index 87a980e6..365826a2 100644 --- a/sec-beidou/src/main/resources/templates/page/gnss_msg_trx.html +++ b/sec-beidou/src/main/resources/templates/page/gnss_msg_trx.html @@ -43,6 +43,9 @@
+ @@ -55,7 +58,8 @@ laydate = layui.laydate; var data_cols = [ - {field: 'deviceid', title: '设备号'}, + {field: 'deviceid', title: '设备号', width: 100}, + {field: 'remark', title: '备注', width: 120}, {field: 'createtime', title: '上报时间', templet: "
{{layui.util.toDateString(d.createtime, 'yyyy-MM-dd HH:mm:ss')}}
"}, {field: 'devicetime', title: '设备时间'}, {field: 'd3xxbytes', title: 'D3XX'}, @@ -68,7 +72,8 @@ {field: 'uart2txbytes', title: '串口2发'}, {field: 'uart2rxbytes', title: '串口2收'}, {field: 'uart2unknown', title: '串口2未知'}, - {field: 'satelliteinuse', title: '使用卫星数'} + {field: 'satelliteinuse', title: '使用卫星数'}, + {title: '操作', toolbar: '#currentTableBar', fixed: "right", width: 80} ]; if([[${role}]] != "SUPER_ADMIN") { data_cols[2].hide = true; @@ -135,6 +140,35 @@ return false; }); + table.on('tool(currentTableFilter)', function (obj) { + var data = obj.data; + if (obj.event === 'edit') { + layer.prompt({ + formType: 0, + value: data.remark, + title: '输入备注', + btn: ['确定','取消'], + btnAlign: 'c' + }, function(value,index){ + $.ajax({ + type:"POST", + url:"/gnss/msg/trx/remark", + data:{ + 'id':data.id, + 'remark':value + }, + success: function (data) { + //data是cotroller相应处理函数的返回值 + table.reload('currentTableId'); + } + }); + layer.close(index); + } + ); + } + }); + + });