From d4c71d06f29dffe5e3c53b937230a5ca6d1f1241 Mon Sep 17 00:00:00 2001 From: wanghao Date: Mon, 19 May 2025 17:20:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/RecordUseController.java | 128 ++++++++ .../com/ruoyi/device/domain/RecordUse.java | 295 ++++++++++++++++++ .../ruoyi/device/mapper/RecordUseMapper.java | 63 ++++ .../device/service/IRecordUseService.java | 61 ++++ .../service/impl/RecordUseServiceImpl.java | 98 ++++++ .../mapper/device/RecordUseMapper.xml | 136 ++++++++ .../templates/device/record_use/add.html | 172 ++++++++++ .../templates/device/record_use/edit.html | 174 +++++++++++ .../device/record_use/record_use.html | 188 +++++++++++ ruoyi-device/src/record_useMenu.sql | 22 ++ 10 files changed, 1337 insertions(+) create mode 100644 ruoyi-device/src/main/java/com/ruoyi/device/controller/RecordUseController.java create mode 100644 ruoyi-device/src/main/java/com/ruoyi/device/domain/RecordUse.java create mode 100644 ruoyi-device/src/main/java/com/ruoyi/device/mapper/RecordUseMapper.java create mode 100644 ruoyi-device/src/main/java/com/ruoyi/device/service/IRecordUseService.java create mode 100644 ruoyi-device/src/main/java/com/ruoyi/device/service/impl/RecordUseServiceImpl.java create mode 100644 ruoyi-device/src/main/resources/mapper/device/RecordUseMapper.xml create mode 100644 ruoyi-device/src/main/resources/templates/device/record_use/add.html create mode 100644 ruoyi-device/src/main/resources/templates/device/record_use/edit.html create mode 100644 ruoyi-device/src/main/resources/templates/device/record_use/record_use.html create mode 100644 ruoyi-device/src/record_useMenu.sql diff --git a/ruoyi-device/src/main/java/com/ruoyi/device/controller/RecordUseController.java b/ruoyi-device/src/main/java/com/ruoyi/device/controller/RecordUseController.java new file mode 100644 index 0000000..ed00cd3 --- /dev/null +++ b/ruoyi-device/src/main/java/com/ruoyi/device/controller/RecordUseController.java @@ -0,0 +1,128 @@ +package com.ruoyi.device.controller; + +import java.util.List; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.device.domain.RecordUse; +import com.ruoyi.device.service.IRecordUseService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 使用记录Controller + * + * @author ruoyi + * @date 2025-05-19 + */ +@Controller +@RequestMapping("/device/record_use") +public class RecordUseController extends BaseController +{ + private String prefix = "device/record_use"; + + @Autowired + private IRecordUseService recordUseService; + + @RequiresPermissions("device:record_use:view") + @GetMapping() + public String record_use() + { + return prefix + "/record_use"; + } + + /** + * 查询使用记录列表 + */ + @RequiresPermissions("device:record_use:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(RecordUse recordUse) + { + startPage(); + List list = recordUseService.selectRecordUseList(recordUse); + return getDataTable(list); + } + + /** + * 导出使用记录列表 + */ + @RequiresPermissions("device:record_use:export") + @Log(title = "使用记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(RecordUse recordUse) + { + List list = recordUseService.selectRecordUseList(recordUse); + ExcelUtil util = new ExcelUtil(RecordUse.class); + return util.exportExcel(list, "使用记录数据"); + } + + /** + * 新增使用记录 + */ + @RequiresPermissions("device:record_use:add") + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存使用记录 + */ + @RequiresPermissions("device:record_use:add") + @Log(title = "使用记录", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(RecordUse recordUse) + { + return toAjax(recordUseService.insertRecordUse(recordUse)); + } + + /** + * 修改使用记录 + */ + @RequiresPermissions("device:record_use:edit") + @GetMapping("/edit/{objId}") + public String edit(@PathVariable("objId") Long objId, ModelMap mmap) + { + RecordUse recordUse = recordUseService.selectRecordUseByObjId(objId); + mmap.put("recordUse", recordUse); + return prefix + "/edit"; + } + + /** + * 修改保存使用记录 + */ + @RequiresPermissions("device:record_use:edit") + @Log(title = "使用记录", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(RecordUse recordUse) + { + return toAjax(recordUseService.updateRecordUse(recordUse)); + } + + /** + * 删除使用记录 + */ + @RequiresPermissions("device:record_use:remove") + @Log(title = "使用记录", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(recordUseService.deleteRecordUseByObjIds(ids)); + } +} diff --git a/ruoyi-device/src/main/java/com/ruoyi/device/domain/RecordUse.java b/ruoyi-device/src/main/java/com/ruoyi/device/domain/RecordUse.java new file mode 100644 index 0000000..150c847 --- /dev/null +++ b/ruoyi-device/src/main/java/com/ruoyi/device/domain/RecordUse.java @@ -0,0 +1,295 @@ +package com.ruoyi.device.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 使用记录对象 device_record_use + * + * @author ruoyi + * @date 2025-05-19 + */ +public class RecordUse extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long objId; + + /** 设备ID */ + @Excel(name = "设备ID") + private String deviceId; + + /** 设备编码 */ + @Excel(name = "设备编码") + private String deviceCode; + + /** 设备名称 */ + @Excel(name = "设备名称") + private String deviceName; + + /** 设备类型 */ + @Excel(name = "设备类型") + private String deviceType; + + /** 开锁时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @Excel(name = "开锁时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date openTime; + + /** 关锁时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + @Excel(name = "关锁时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + private Date closeTime; + + /** 使用时间(小时) */ + @Excel(name = "使用时间(小时)") + private double useTime; + + /** 默认使用时间 */ + @Excel(name = "默认使用时间") + private double defaultTime; + + /** 计费价格 */ + @Excel(name = "计费价格") + private double chargePrice; + + /** 超时状态 */ + @Excel(name = "超时状态") + private String overtimeState; + + /** 使用状态 */ + @Excel(name = "使用状态") + private String useState; + + /** 借用人 */ + @Excel(name = "借用人") + private String useUser; + + /** 借用单位 */ + @Excel(name = "借用单位") + private String useUnit; + + /** 统计年份 */ + private String queryYear; + + /** 统计月份 */ + private String queryMonth; + + /** 数据权限1 */ + private String deptId; + + /** 数据权限2 */ + private String userId; + + public void setObjId(Long objId) + { + this.objId = objId; + } + + public Long getObjId() + { + return objId; + } + + public void setDeviceId(String deviceId) + { + this.deviceId = deviceId; + } + + public String getDeviceId() + { + return deviceId; + } + + public void setDeviceCode(String deviceCode) + { + this.deviceCode = deviceCode; + } + + public String getDeviceCode() + { + return deviceCode; + } + + public void setDeviceName(String deviceName) + { + this.deviceName = deviceName; + } + + public String getDeviceName() + { + return deviceName; + } + + public void setDeviceType(String deviceType) + { + this.deviceType = deviceType; + } + + public String getDeviceType() + { + return deviceType; + } + + public void setOpenTime(Date openTime) + { + this.openTime = openTime; + } + + public Date getOpenTime() + { + return openTime; + } + + public void setCloseTime(Date closeTime) + { + this.closeTime = closeTime; + } + + public Date getCloseTime() + { + return closeTime; + } + + public void setUseTime(double useTime) + { + this.useTime = useTime; + } + + public double getUseTime() + { + return useTime; + } + + public void setDefaultTime(double defaultTime) + { + this.defaultTime = defaultTime; + } + + public double getDefaultTime() + { + return defaultTime; + } + + public void setChargePrice(double chargePrice) + { + this.chargePrice = chargePrice; + } + + public double getChargePrice() + { + return chargePrice; + } + + public void setOvertimeState(String overtimeState) + { + this.overtimeState = overtimeState; + } + + public String getOvertimeState() + { + return overtimeState; + } + + public void setUseState(String useState) + { + this.useState = useState; + } + + public String getUseState() + { + return useState; + } + + public void setUseUser(String useUser) + { + this.useUser = useUser; + } + + public String getUseUser() + { + return useUser; + } + + public void setUseUnit(String useUnit) + { + this.useUnit = useUnit; + } + + public String getUseUnit() + { + return useUnit; + } + + public void setQueryYear(String queryYear) + { + this.queryYear = queryYear; + } + + public String getQueryYear() + { + return queryYear; + } + + public void setQueryMonth(String queryMonth) + { + this.queryMonth = queryMonth; + } + + public String getQueryMonth() + { + return queryMonth; + } + + public void setDeptId(String deptId) + { + this.deptId = deptId; + } + + public String getDeptId() + { + return deptId; + } + + public void setUserId(String userId) + { + this.userId = userId; + } + + public String getUserId() + { + return userId; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("objId", getObjId()) + .append("deviceId", getDeviceId()) + .append("deviceCode", getDeviceCode()) + .append("deviceName", getDeviceName()) + .append("deviceType", getDeviceType()) + .append("openTime", getOpenTime()) + .append("closeTime", getCloseTime()) + .append("useTime", getUseTime()) + .append("defaultTime", getDefaultTime()) + .append("chargePrice", getChargePrice()) + .append("overtimeState", getOvertimeState()) + .append("useState", getUseState()) + .append("useUser", getUseUser()) + .append("useUnit", getUseUnit()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("queryYear", getQueryYear()) + .append("queryMonth", getQueryMonth()) + .append("deptId", getDeptId()) + .append("userId", getUserId()) + .toString(); + } +} diff --git a/ruoyi-device/src/main/java/com/ruoyi/device/mapper/RecordUseMapper.java b/ruoyi-device/src/main/java/com/ruoyi/device/mapper/RecordUseMapper.java new file mode 100644 index 0000000..8a51e5a --- /dev/null +++ b/ruoyi-device/src/main/java/com/ruoyi/device/mapper/RecordUseMapper.java @@ -0,0 +1,63 @@ +package com.ruoyi.device.mapper; + +import java.util.List; +import org.springframework.stereotype.Repository; +import com.ruoyi.device.domain.RecordUse; + +/** + * 使用记录Mapper接口 + * + * @author ruoyi + * @date 2025-05-19 + */ +@Repository +public interface RecordUseMapper +{ + /** + * 查询使用记录 + * + * @param objId 使用记录主键 + * @return 使用记录 + */ + public RecordUse selectRecordUseByObjId(Long objId); + + /** + * 查询使用记录列表 + * + * @param recordUse 使用记录 + * @return 使用记录集合 + */ + public List selectRecordUseList(RecordUse recordUse); + + /** + * 新增使用记录 + * + * @param recordUse 使用记录 + * @return 结果 + */ + public int insertRecordUse(RecordUse recordUse); + + /** + * 修改使用记录 + * + * @param recordUse 使用记录 + * @return 结果 + */ + public int updateRecordUse(RecordUse recordUse); + + /** + * 删除使用记录 + * + * @param objId 使用记录主键 + * @return 结果 + */ + public int deleteRecordUseByObjId(Long objId); + + /** + * 批量删除使用记录 + * + * @param objIds 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteRecordUseByObjIds(String[] objIds); +} diff --git a/ruoyi-device/src/main/java/com/ruoyi/device/service/IRecordUseService.java b/ruoyi-device/src/main/java/com/ruoyi/device/service/IRecordUseService.java new file mode 100644 index 0000000..dbf2f0e --- /dev/null +++ b/ruoyi-device/src/main/java/com/ruoyi/device/service/IRecordUseService.java @@ -0,0 +1,61 @@ +package com.ruoyi.device.service; + +import java.util.List; +import com.ruoyi.device.domain.RecordUse; + +/** + * 使用记录Service接口 + * + * @author ruoyi + * @date 2025-05-19 + */ +public interface IRecordUseService +{ + /** + * 查询使用记录 + * + * @param objId 使用记录主键 + * @return 使用记录 + */ + public RecordUse selectRecordUseByObjId(Long objId); + + /** + * 查询使用记录列表 + * + * @param recordUse 使用记录 + * @return 使用记录集合 + */ + public List selectRecordUseList(RecordUse recordUse); + + /** + * 新增使用记录 + * + * @param recordUse 使用记录 + * @return 结果 + */ + public int insertRecordUse(RecordUse recordUse); + + /** + * 修改使用记录 + * + * @param recordUse 使用记录 + * @return 结果 + */ + public int updateRecordUse(RecordUse recordUse); + + /** + * 批量删除使用记录 + * + * @param objIds 需要删除的使用记录主键集合 + * @return 结果 + */ + public int deleteRecordUseByObjIds(String objIds); + + /** + * 删除使用记录信息 + * + * @param objId 使用记录主键 + * @return 结果 + */ + public int deleteRecordUseByObjId(Long objId); +} diff --git a/ruoyi-device/src/main/java/com/ruoyi/device/service/impl/RecordUseServiceImpl.java b/ruoyi-device/src/main/java/com/ruoyi/device/service/impl/RecordUseServiceImpl.java new file mode 100644 index 0000000..429b37a --- /dev/null +++ b/ruoyi-device/src/main/java/com/ruoyi/device/service/impl/RecordUseServiceImpl.java @@ -0,0 +1,98 @@ +package com.ruoyi.device.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.ShiroUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.device.mapper.RecordUseMapper; +import com.ruoyi.device.domain.RecordUse; +import com.ruoyi.device.service.IRecordUseService; +import com.ruoyi.common.core.text.Convert; + +/** + * 使用记录Service业务层处理 + * + * @author ruoyi + * @date 2025-05-19 + */ +@Service +public class RecordUseServiceImpl implements IRecordUseService +{ + @Autowired + private RecordUseMapper recordUseMapper; + + /** + * 查询使用记录 + * + * @param objId 使用记录主键 + * @return 使用记录 + */ + @Override + public RecordUse selectRecordUseByObjId(Long objId) + { + return recordUseMapper.selectRecordUseByObjId(objId); + } + + /** + * 查询使用记录列表 + * + * @param recordUse 使用记录 + * @return 使用记录 + */ + @Override + public List selectRecordUseList(RecordUse recordUse) + { + return recordUseMapper.selectRecordUseList(recordUse); + } + + /** + * 新增使用记录 + * + * @param recordUse 使用记录 + * @return 结果 + */ + @Override + public int insertRecordUse(RecordUse recordUse) + { + recordUse.setCreateTime(DateUtils.getNowDate()); + recordUse.setCreateBy(ShiroUtils.getLoginName()); + return recordUseMapper.insertRecordUse(recordUse); + } + + /** + * 修改使用记录 + * + * @param recordUse 使用记录 + * @return 结果 + */ + @Override + public int updateRecordUse(RecordUse recordUse) + { + return recordUseMapper.updateRecordUse(recordUse); + } + + /** + * 批量删除使用记录 + * + * @param objIds 需要删除的使用记录主键 + * @return 结果 + */ + @Override + public int deleteRecordUseByObjIds(String objIds) + { + return recordUseMapper.deleteRecordUseByObjIds(Convert.toStrArray(objIds)); + } + + /** + * 删除使用记录信息 + * + * @param objId 使用记录主键 + * @return 结果 + */ + @Override + public int deleteRecordUseByObjId(Long objId) + { + return recordUseMapper.deleteRecordUseByObjId(objId); + } +} diff --git a/ruoyi-device/src/main/resources/mapper/device/RecordUseMapper.xml b/ruoyi-device/src/main/resources/mapper/device/RecordUseMapper.xml new file mode 100644 index 0000000..b71209e --- /dev/null +++ b/ruoyi-device/src/main/resources/mapper/device/RecordUseMapper.xml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select obj_id, device_id, device_code, device_name, device_type, open_time, close_time, use_time, default_time, charge_price, overtime_state, use_state, use_user, use_unit, create_by, create_time, query_year, query_month, dept_id, user_id from device_record_use + + + + + + + + insert into device_record_use + + device_id, + device_code, + device_name, + device_type, + open_time, + close_time, + use_time, + default_time, + charge_price, + overtime_state, + use_state, + use_user, + use_unit, + create_by, + create_time, + query_year, + query_month, + dept_id, + user_id, + + + #{deviceId}, + #{deviceCode}, + #{deviceName}, + #{deviceType}, + #{openTime}, + #{closeTime}, + #{useTime}, + #{defaultTime}, + #{chargePrice}, + #{overtimeState}, + #{useState}, + #{useUser}, + #{useUnit}, + #{createBy}, + #{createTime}, + #{queryYear}, + #{queryMonth}, + #{deptId}, + #{userId}, + + + + + update device_record_use + + device_id = #{deviceId}, + device_code = #{deviceCode}, + device_name = #{deviceName}, + device_type = #{deviceType}, + open_time = #{openTime}, + close_time = #{closeTime}, + use_time = #{useTime}, + default_time = #{defaultTime}, + charge_price = #{chargePrice}, + overtime_state = #{overtimeState}, + use_state = #{useState}, + use_user = #{useUser}, + use_unit = #{useUnit}, + create_by = #{createBy}, + create_time = #{createTime}, + query_year = #{queryYear}, + query_month = #{queryMonth}, + dept_id = #{deptId}, + user_id = #{userId}, + + where obj_id = #{objId} + + + + delete from device_record_use where obj_id = #{objId} + + + + delete from device_record_use where obj_id in + + #{objId} + + + + \ No newline at end of file diff --git a/ruoyi-device/src/main/resources/templates/device/record_use/add.html b/ruoyi-device/src/main/resources/templates/device/record_use/add.html new file mode 100644 index 0000000..65c5bf9 --- /dev/null +++ b/ruoyi-device/src/main/resources/templates/device/record_use/add.html @@ -0,0 +1,172 @@ + + + + + + + +
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/ruoyi-device/src/main/resources/templates/device/record_use/edit.html b/ruoyi-device/src/main/resources/templates/device/record_use/edit.html new file mode 100644 index 0000000..9720701 --- /dev/null +++ b/ruoyi-device/src/main/resources/templates/device/record_use/edit.html @@ -0,0 +1,174 @@ + + + + + + + +
+
+ +
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+ +
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+ +
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/ruoyi-device/src/main/resources/templates/device/record_use/record_use.html b/ruoyi-device/src/main/resources/templates/device/record_use/record_use.html new file mode 100644 index 0000000..45727cf --- /dev/null +++ b/ruoyi-device/src/main/resources/templates/device/record_use/record_use.html @@ -0,0 +1,188 @@ + + + + + + +
+
+
+
+
+
    +
  • + + +
  • +
  • + + +
  • +
  • + + + - + +
  • +
  • + + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • +  搜索 +  重置 +
  • +
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/ruoyi-device/src/record_useMenu.sql b/ruoyi-device/src/record_useMenu.sql new file mode 100644 index 0000000..a8dac90 --- /dev/null +++ b/ruoyi-device/src/record_useMenu.sql @@ -0,0 +1,22 @@ +-- 菜单 SQL +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('使用记录', '2001', '1', '/device/record_use', 'C', '0', 'device:record_use:view', '#', 'admin', sysdate(), '', null, '使用记录菜单'); + +-- 按钮父菜单ID +SELECT @parentId := LAST_INSERT_ID(); + +-- 按钮 SQL +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('使用记录查询', @parentId, '1', '#', 'F', '0', 'device:record_use:list', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('使用记录新增', @parentId, '2', '#', 'F', '0', 'device:record_use:add', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('使用记录修改', @parentId, '3', '#', 'F', '0', 'device:record_use:edit', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('使用记录删除', @parentId, '4', '#', 'F', '0', 'device:record_use:remove', '#', 'admin', sysdate(), '', null, ''); + +insert into sys_menu (menu_name, parent_id, order_num, url, menu_type, visible, perms, icon, create_by, create_time, update_by, update_time, remark) +values('使用记录导出', @parentId, '5', '#', 'F', '0', 'device:record_use:export', '#', 'admin', sysdate(), '', null, '');