当前位置: 首页 > news >正文

乐从做网站wordpress lover主题

乐从做网站,wordpress lover主题,免费商标图案 创意,南京凯盛建设集团官方网站Ruoyi框架默认是基于id进行数据库表删除和修改,实际场景中更多采用多key联合主键,这时需要对自动生成的模块进行细微调整,具体步骤如下。 1、mysql数据库表定义 CREATE TABLE device_realtime (workshopCode varchar(50) DEFAULT NULL COMM…

   Ruoyi框架默认是基于id进行数据库表删除和修改,实际场景中更多采用多key联合主键,这时需要对自动生成的模块进行细微调整,具体步骤如下。

1、mysql数据库表定义

CREATE TABLE `device_realtime` (`workshopCode` varchar(50) DEFAULT NULL COMMENT '车间编码',`deviceCode` varchar(50) NOT NULL COMMENT '设备编码',`tagCode` varchar(50) NOT NULL COMMENT '点位编码',`tagName` varchar(50) DEFAULT NULL COMMENT '点位名称',`tagValue` varchar(50) NOT NULL COMMENT '点位值',`updateTime` datetime NOT NULL COMMENT '更新时间',PRIMARY KEY (`deviceCode`,`tagCode`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

表有两个主键:`deviceCode`和`tagCode`

2、Ruoyi-Admin之html文件修改

        $(function() {var options = {url: prefix + "/list",createUrl: prefix + "/add",updateUrl: prefix + "/edit/{id}",removeUrl: prefix + "/remove/{id}",exportUrl: prefix + "/export",modalName: "实时数据查询",columns: [{checkbox: true},{field: 'workshopCode',title: '车间编码'},{field: 'deviceCode',title: '设备编码'},{field: 'tagCode',title: '点位编码'},{field: 'tagName',title: '点位名称'},{field: 'tagValue',title: '点位值'},{field: 'updateTime',title: '更新时间'},{title: '操作',align: 'center',formatter: function(value, row, index) {var param = row.deviceCode+"&tagCode="+row.tagCode;var actions = [];actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + param + '\')"><i class="fa fa-edit"></i>编辑</a> ');actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + param + '\')"><i class="fa fa-remove"></i>删除</a>');return actions.join('');}}]};$.table.init(options);});

主要修改是操作部分,增加了param对参数进行拼接。

3、Ruoyi-Admin之Controller模块修改

/*** 修改实时数据查询*/@RequiresPermissions("system:realtime:edit")@GetMapping("/edit/{deviceCode}&tagCode={tagCode}")public String edit(@PathVariable("deviceCode") String deviceCode, @PathVariable("tagCode") String tagCode, ModelMap mmap){DeviceRealtime dr = new DeviceRealtime();dr.setDeviceCode(deviceCode);dr.setTagCode(tagCode);DeviceRealtime deviceRealtime = deviceRealtimeService.selectDeviceRealtimeByDeviceCode(dr);mmap.put("deviceRealtime", deviceRealtime);return prefix + "/edit";}/*** 删除实时数据查询*/@RequiresPermissions("system:realtime:remove")@Log(title = "实时数据查询", businessType = BusinessType.DELETE)@PostMapping( "/remove/{deviceCode}&tagCode={tagCode}")@ResponseBodypublic AjaxResult remove(@PathVariable("deviceCode") String deviceCode, @PathVariable("tagCode") String tagCode){DeviceRealtime deviceRealtime = new DeviceRealtime();deviceRealtime.setDeviceCode(deviceCode);deviceRealtime.setTagCode(tagCode);return toAjax(deviceRealtimeService.deleteDeviceRealtimeByDeviceCode(deviceRealtime));}

      主要修改编辑和删除模块,PostMapping和函数参数部分需要一致,并于html中一致,用两个主键锁定唯一记录。查询和新增记录使用参数是对象,不需要特别处理。

     如果涉及更多参数,也可以考虑直接将传入参数改为DeviceRealtime 对象。

4、ruoyi-system模块修改

4.1 服务接口IDeviceRealtimeService.java

  /*** 修改实时数据查询* * @param deviceRealtime 实时数据查询* @return 结果*/public int updateDeviceRealtime(DeviceRealtime deviceRealtime);/*** 删除实时数据查询信息* * @param deviceRealtime 实时数据查询* @return 结果*/public int deleteDeviceRealtimeByDeviceCode(DeviceRealtime deviceRealtime);

4.2服务实现DeviceRealtimeServiceImpl.java

    /*** 修改实时数据查询* * @param deviceRealtime 实时数据查询* @return 结果*/@Overridepublic int updateDeviceRealtime(DeviceRealtime deviceRealtime){deviceRealtime.setUpdateTime(DateUtils.getNowDate());return deviceRealtimeMapper.updateDeviceRealtime(deviceRealtime);}/*** 删除实时数据查询信息* * @param deviceRealtime 实时数据查询* @return 结果*/@Overridepublic int deleteDeviceRealtimeByDeviceCode(DeviceRealtime deviceRealtime){return deviceRealtimeMapper.deleteDeviceRealtimeByDeviceCode(deviceRealtime);}

4.3 Mapper文件DeviceRealtimeMapper.java修改

   /*** 修改实时数据查询* * @param deviceRealtime 实时数据查询* @return 结果*/public int updateDeviceRealtime(DeviceRealtime deviceRealtime);/*** 删除实时数据查询* * @param deviceCode 实时数据查询主键* @return 结果*/public int deleteDeviceRealtimeByDeviceCode(DeviceRealtime deviceRealtime);

4.4 xml文件DeviceRealtimeMapper.xml修改

<update id="updateDeviceRealtime" parameterType="DeviceRealtime">update edge.device_realtime<trim prefix="SET" suffixOverrides=","><if test="workshopCode != null">workshopCode = #{workshopCode},</if><if test="tagCode != null">tagCode = #{tagCode},</if><if test="tagName != null">tagName = #{tagName},</if><if test="tagValue != null and tagValue != ''">tagValue = #{tagValue},</if><if test="updateTime != null">updateTime = #{updateTime},</if></trim>where deviceCode = #{deviceCode} and tagCode = #{tagCode}</update><delete id="deleteDeviceRealtimeByDeviceCode" parameterType="DeviceRealtime">delete from edge.device_realtime where deviceCode = #{deviceCode} and tagCode = #{tagCode}</delete>

http://www.dtcms.com/a/426925.html

相关文章:

  • 品牌型网站制作有哪些公司自建房设计
  • 知微传感Dkam系列3D相机SDK例程篇:CSharp点云滤波
  • AEO 与 SEO 双引擎:整合策略赢得搜索全域可见性
  • 精读C++20设计模式:行为型设计模式:中介者模式
  • 【C++经典例题】逆波兰表达式求值:栈的经典应用与实现详解
  • mmcv 安装 2025
  • 设计模式(C++)详解——观察者模式(Observer)(2)
  • LeetCode 392 判断子序列
  • 树的存储结构
  • 2025年9月GESP(C++三级):数组清零
  • 怎样查看网站建设时间注册公司需要什么费用
  • Deepoc具身模型外拓板:重塑居家服务机器人的交互革命
  • cpuset v1
  • 2025年9月个人工作生活总结
  • Java SE “JDK1.8新特性”面试清单(含超通俗生活案例与深度理解)
  • 站台建筑资阳网站推广
  • 【论文阅读 | ECCV 2024 | DAMSDet:具有竞争性查询选择与自适应特征融合的动态自适应多光谱检测变换器】
  • 企业网站 三网系统好玩有趣的网站
  • 小程序的页面宽度 设置多少合适??
  • 基于libwebsockets与cJson的ASR Server实时语音识别实现指南
  • golang 写路由的时候要注意
  • EXCEL哪个版本开始支持VSTO-office插件?
  • 盲盒抽卡机小程序的技术挑战与解决方案
  • 全网网站建设推广国外设计网站都有哪些
  • 零基础学AI大模型之LangChain聊天模型多案例实战
  • GPU 网络基础,Part 2(MoE 训练中的网络挑战;什么是前、后端网络;什么是东西向、南北向流量)
  • 【菜狗学聚类】序列嵌入表示、UMAP降维——20250930
  • 网站外链建设的八大基本准则东大桥做网站的公司
  • MySQL进阶知识点(八)---- SQL优化
  • 【C++STL :vector类 (二) 】攻克 C++ Vector 的迭代器失效陷阱:从源码层面详解原理与解决方案