Ver Fonte

fix 设备管理

Administrator há 1 ano atrás
pai
commit
65858e49c5

+ 117 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/hardware/DoumuHardwareController.java

@@ -0,0 +1,117 @@
+package com.ruoyi.web.controller.hardware;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.hardware.domain.DoumuHardware;
+import com.ruoyi.hardware.service.IDoumuHardwareService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 设备Controller
+ * 
+ * @author boman
+ * @date 2024-01-23
+ */
+@RestController
+@RequestMapping("/hardware/hardware")
+public class DoumuHardwareController extends BaseController
+{
+    @Autowired
+    private IDoumuHardwareService doumuHardwareService;
+
+    /**
+     * 查询设备列表
+     */
+    @PreAuthorize("@ss.hasPermi('hardware:hardware:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(DoumuHardware doumuHardware)
+    {
+        startPage();
+        List<DoumuHardware> list = doumuHardwareService.selectDoumuHardwareList(doumuHardware);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出设备列表
+     */
+    @PreAuthorize("@ss.hasPermi('hardware:hardware:export')")
+    @Log(title = "设备", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, DoumuHardware doumuHardware)
+    {
+        List<DoumuHardware> list = doumuHardwareService.selectDoumuHardwareList(doumuHardware);
+        ExcelUtil<DoumuHardware> util = new ExcelUtil<DoumuHardware>(DoumuHardware.class);
+        util.exportExcel(response, list, "设备数据");
+    }
+
+    /**
+     * 获取设备详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('hardware:hardware:query')")
+    @GetMapping(value = "/{hardwareId}")
+    public AjaxResult getInfo(@PathVariable("hardwareId") Long hardwareId)
+    {
+        return success(doumuHardwareService.selectDoumuHardwareByHardwareId(hardwareId));
+    }
+
+    /**
+     * 新增设备
+     */
+    @PreAuthorize("@ss.hasPermi('hardware:hardware:add')")
+    @Log(title = "设备", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody DoumuHardware doumuHardware)
+    {
+        return toAjax(doumuHardwareService.insertDoumuHardware(doumuHardware));
+    }
+
+    /**
+     * 修改设备
+     */
+    @PreAuthorize("@ss.hasPermi('hardware:hardware:edit')")
+    @Log(title = "设备", businessType = BusinessType.UPDATE)
+    @PostMapping("/put")
+    public AjaxResult edit(@RequestBody DoumuHardware doumuHardware)
+    {
+        return toAjax(doumuHardwareService.updateDoumuHardware(doumuHardware));
+    }
+
+    /**
+     * 删除设备
+     */
+    @PreAuthorize("@ss.hasPermi('hardware:hardware:remove')")
+    @Log(title = "设备", businessType = BusinessType.DELETE)
+	@GetMapping("/delete/{hardwareIds}")
+    public AjaxResult remove(@PathVariable Long[] hardwareIds)
+    {
+        return toAjax(doumuHardwareService.deleteDoumuHardwareByHardwareIds(hardwareIds));
+    }
+
+
+    /**
+     * 一键开启/关闭
+     * @return 结果
+     */
+
+    @PreAuthorize("@ss.hasPermi('hardware:hardware:type')")
+    @GetMapping("/setType/{type}")
+    public AjaxResult setType(@PathVariable String type)
+    {
+        return doumuHardwareService.setType(type);
+    }
+}

+ 125 - 0
ruoyi-system/src/main/java/com/ruoyi/hardware/domain/DoumuHardware.java

@@ -0,0 +1,125 @@
+package com.ruoyi.hardware.domain;
+
+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;
+
+/**
+ * 设备对象 doumu_hardware
+ * 
+ * @author boman
+ * @date 2024-01-23
+ */
+public class DoumuHardware extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 设备id */
+    private Long hardwareId;
+
+    /** 设备名称 */
+    @Excel(name = "设备名称")
+    private String hardwareName;
+
+    /** 设备编号 */
+    @Excel(name = "设备编号")
+    private String hardwareNum;
+
+    /** 设备来源 */
+    @Excel(name = "设备来源")
+    private String hardwareSource;
+
+    /** 设备ip */
+    @Excel(name = "设备ip")
+    private String hardwareIp;
+
+    /** 设备二维码地址 */
+    @Excel(name = "设备二维码地址")
+    private String hardwareUrl;
+
+    /** 设备状态 */
+    @Excel(name = "设备状态")
+    private String hardwareType;
+
+    public void setHardwareId(Long hardwareId) 
+    {
+        this.hardwareId = hardwareId;
+    }
+
+    public Long getHardwareId() 
+    {
+        return hardwareId;
+    }
+    public void setHardwareName(String hardwareName) 
+    {
+        this.hardwareName = hardwareName;
+    }
+
+    public String getHardwareName() 
+    {
+        return hardwareName;
+    }
+    public void setHardwareNum(String hardwareNum) 
+    {
+        this.hardwareNum = hardwareNum;
+    }
+
+    public String getHardwareNum() 
+    {
+        return hardwareNum;
+    }
+    public void setHardwareSource(String hardwareSource) 
+    {
+        this.hardwareSource = hardwareSource;
+    }
+
+    public String getHardwareSource() 
+    {
+        return hardwareSource;
+    }
+    public void setHardwareIp(String hardwareIp) 
+    {
+        this.hardwareIp = hardwareIp;
+    }
+
+    public String getHardwareIp() 
+    {
+        return hardwareIp;
+    }
+    public void setHardwareUrl(String hardwareUrl) 
+    {
+        this.hardwareUrl = hardwareUrl;
+    }
+
+    public String getHardwareUrl() 
+    {
+        return hardwareUrl;
+    }
+    public void setHardwareType(String hardwareType) 
+    {
+        this.hardwareType = hardwareType;
+    }
+
+    public String getHardwareType() 
+    {
+        return hardwareType;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("hardwareId", getHardwareId())
+            .append("hardwareName", getHardwareName())
+            .append("hardwareNum", getHardwareNum())
+            .append("hardwareSource", getHardwareSource())
+            .append("hardwareIp", getHardwareIp())
+            .append("hardwareUrl", getHardwareUrl())
+            .append("hardwareType", getHardwareType())
+            .append("createTime", getCreateTime())
+            .append("createBy", getCreateBy())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 62 - 0
ruoyi-system/src/main/java/com/ruoyi/hardware/mapper/DoumuHardwareMapper.java

@@ -0,0 +1,62 @@
+package com.ruoyi.hardware.mapper;
+
+import java.util.List;
+import com.ruoyi.hardware.domain.DoumuHardware;
+
+/**
+ * 设备Mapper接口
+ * 
+ * @author boman
+ * @date 2024-01-23
+ */
+public interface DoumuHardwareMapper 
+{
+    /**
+     * 查询设备
+     * 
+     * @param hardwareId 设备主键
+     * @return 设备
+     */
+    public DoumuHardware selectDoumuHardwareByHardwareId(Long hardwareId);
+
+    /**
+     * 查询设备列表
+     * 
+     * @param doumuHardware 设备
+     * @return 设备集合
+     */
+    public List<DoumuHardware> selectDoumuHardwareList(DoumuHardware doumuHardware);
+
+    /**
+     * 新增设备
+     * 
+     * @param doumuHardware 设备
+     * @return 结果
+     */
+    public int insertDoumuHardware(DoumuHardware doumuHardware);
+
+    /**
+     * 修改设备
+     * 
+     * @param doumuHardware 设备
+     * @return 结果
+     */
+    public int updateDoumuHardware(DoumuHardware doumuHardware);
+
+    /**
+     * 删除设备
+     * 
+     * @param hardwareId 设备主键
+     * @return 结果
+     */
+    public int deleteDoumuHardwareByHardwareId(Long hardwareId);
+
+    /**
+     * 批量删除设备
+     * 
+     * @param hardwareIds 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteDoumuHardwareByHardwareIds(Long[] hardwareIds);
+    public int setType(String type);
+}

+ 64 - 0
ruoyi-system/src/main/java/com/ruoyi/hardware/service/IDoumuHardwareService.java

@@ -0,0 +1,64 @@
+package com.ruoyi.hardware.service;
+
+import java.util.List;
+
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.hardware.domain.DoumuHardware;
+
+/**
+ * 设备Service接口
+ * 
+ * @author boman
+ * @date 2024-01-23
+ */
+public interface IDoumuHardwareService 
+{
+    /**
+     * 查询设备
+     * 
+     * @param hardwareId 设备主键
+     * @return 设备
+     */
+    public DoumuHardware selectDoumuHardwareByHardwareId(Long hardwareId);
+
+    /**
+     * 查询设备列表
+     * 
+     * @param doumuHardware 设备
+     * @return 设备集合
+     */
+    public List<DoumuHardware> selectDoumuHardwareList(DoumuHardware doumuHardware);
+
+    /**
+     * 新增设备
+     * 
+     * @param doumuHardware 设备
+     * @return 结果
+     */
+    public int insertDoumuHardware(DoumuHardware doumuHardware);
+
+    /**
+     * 修改设备
+     * 
+     * @param doumuHardware 设备
+     * @return 结果
+     */
+    public int updateDoumuHardware(DoumuHardware doumuHardware);
+
+    /**
+     * 批量删除设备
+     * 
+     * @param hardwareIds 需要删除的设备主键集合
+     * @return 结果
+     */
+    public int deleteDoumuHardwareByHardwareIds(Long[] hardwareIds);
+
+    /**
+     * 删除设备信息
+     * 
+     * @param hardwareId 设备主键
+     * @return 结果
+     */
+    public int deleteDoumuHardwareByHardwareId(Long hardwareId);
+    public AjaxResult setType(String type);
+}

+ 133 - 0
ruoyi-system/src/main/java/com/ruoyi/hardware/service/impl/DoumuHardwareServiceImpl.java

@@ -0,0 +1,133 @@
+package com.ruoyi.hardware.service.impl;
+
+import java.util.List;
+
+import com.ruoyi.common.config.RuoYiConfig;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import com.ruoyi.hardware.mapper.DoumuHardwareMapper;
+import com.ruoyi.hardware.domain.DoumuHardware;
+import com.ruoyi.hardware.service.IDoumuHardwareService;
+import utils.QRCodeUtils;
+
+/**
+ * 设备Service业务层处理
+ * 
+ * @author boman
+ * @date 2024-01-23
+ */
+@Service
+public class DoumuHardwareServiceImpl implements IDoumuHardwareService 
+{
+    @Autowired
+    private DoumuHardwareMapper doumuHardwareMapper;
+
+    /**
+     * 查询设备
+     * 
+     * @param hardwareId 设备主键
+     * @return 设备
+     */
+    @Override
+    public DoumuHardware selectDoumuHardwareByHardwareId(Long hardwareId)
+    {
+        return doumuHardwareMapper.selectDoumuHardwareByHardwareId(hardwareId);
+    }
+
+    /**
+     * 查询设备列表
+     * 
+     * @param doumuHardware 设备
+     * @return 设备
+     */
+    @Override
+    public List<DoumuHardware> selectDoumuHardwareList(DoumuHardware doumuHardware)
+    {
+        return doumuHardwareMapper.selectDoumuHardwareList(doumuHardware);
+    }
+
+    /**
+     * 新增设备
+     * 
+     * @param doumuHardware 设备
+     * @return 结果
+     */
+    @Override
+    public int insertDoumuHardware(DoumuHardware doumuHardware)
+    {
+        doumuHardware.setCreateTime(DateUtils.getNowDate());
+        //根据设备编号生成二维码
+        String hardwareNum = doumuHardware.getHardwareNum();
+        if (StringUtils.isEmpty(hardwareNum)){
+            return 0;
+        }
+        try {
+            String imagePath= QRCodeUtils.encode(hardwareNum, null, RuoYiConfig.getUploadQrPath(), true);
+            doumuHardware.setHardwareUrl(imagePath);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return doumuHardwareMapper.insertDoumuHardware(doumuHardware);
+    }
+
+    /**
+     * 修改设备
+     * 
+     * @param doumuHardware 设备
+     * @return 结果
+     */
+    @Override
+    public int updateDoumuHardware(DoumuHardware doumuHardware)
+    {
+        DoumuHardware doumuHardwareOld = doumuHardwareMapper.selectDoumuHardwareByHardwareId(doumuHardware.getHardwareId());
+        doumuHardware.setUpdateTime(DateUtils.getNowDate());
+        //判断设备编号是否被修改
+        if (!doumuHardwareOld.getHardwareNum().equals(doumuHardware.getHardwareNum())){
+            String imagePath= null;
+            try {
+                imagePath = QRCodeUtils.encode(doumuHardware.getHardwareNum(), null, RuoYiConfig.getUploadQrPath(), true);
+                doumuHardware.setHardwareUrl(imagePath);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return doumuHardwareMapper.updateDoumuHardware(doumuHardware);
+    }
+
+    /**
+     * 批量删除设备
+     * 
+     * @param hardwareIds 需要删除的设备主键
+     * @return 结果
+     */
+    @Override
+    public int deleteDoumuHardwareByHardwareIds(Long[] hardwareIds)
+    {
+        return doumuHardwareMapper.deleteDoumuHardwareByHardwareIds(hardwareIds);
+    }
+
+    /**
+     * 删除设备信息
+     * 
+     * @param hardwareId 设备主键
+     * @return 结果
+     */
+    @Override
+    public int deleteDoumuHardwareByHardwareId(Long hardwareId)
+    {
+        return doumuHardwareMapper.deleteDoumuHardwareByHardwareId(hardwareId);
+    }
+
+    /**
+     * 一键开启/关闭
+     * @return 结果
+     */
+    @Override
+    public AjaxResult setType (String type)
+    {
+        return doumuHardwareMapper.setType(type);
+    }
+}

+ 100 - 0
ruoyi-system/src/main/resources/mapper/system/DoumuHardwareMapper.xml

@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.hardware.mapper.DoumuHardwareMapper">
+    
+    <resultMap type="DoumuHardware" id="DoumuHardwareResult">
+        <result property="hardwareId"    column="hardware_id"    />
+        <result property="hardwareName"    column="hardware_name"    />
+        <result property="hardwareNum"    column="hardware_num"    />
+        <result property="hardwareSource"    column="hardware_source"    />
+        <result property="hardwareIp"    column="hardware_ip"    />
+        <result property="hardwareUrl"    column="hardware_url"    />
+        <result property="hardwareType"    column="hardware_type"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectDoumuHardwareVo">
+        select hardware_id, hardware_name, hardware_num, hardware_source, hardware_ip, hardware_url, hardware_type, create_time, create_by, update_by, update_time from doumu_hardware
+    </sql>
+
+    <select id="selectDoumuHardwareList" parameterType="DoumuHardware" resultMap="DoumuHardwareResult">
+        <include refid="selectDoumuHardwareVo"/>
+        <where>  
+            <if test="hardwareName != null  and hardwareName != ''"> and hardware_name like concat('%', #{hardwareName}, '%')</if>
+            <if test="hardwareNum != null  and hardwareNum != ''"> and hardware_num = #{hardwareNum}</if>
+            <if test="hardwareSource != null  and hardwareSource != ''"> and hardware_source = #{hardwareSource}</if>
+            <if test="hardwareIp != null  and hardwareIp != ''"> and hardware_ip = #{hardwareIp}</if>
+            <if test="hardwareUrl != null  and hardwareUrl != ''"> and hardware_url = #{hardwareUrl}</if>
+            <if test="hardwareType != null  and hardwareType != ''"> and hardware_type = #{hardwareType}</if>
+        </where>
+    </select>
+    
+    <select id="selectDoumuHardwareByHardwareId" parameterType="Long" resultMap="DoumuHardwareResult">
+        <include refid="selectDoumuHardwareVo"/>
+        where hardware_id = #{hardwareId}
+    </select>
+        
+    <insert id="insertDoumuHardware" parameterType="DoumuHardware" useGeneratedKeys="true" keyProperty="hardwareId">
+        insert into doumu_hardware
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="hardwareName != null">hardware_name,</if>
+            <if test="hardwareNum != null">hardware_num,</if>
+            <if test="hardwareSource != null">hardware_source,</if>
+            <if test="hardwareIp != null">hardware_ip,</if>
+            <if test="hardwareUrl != null">hardware_url,</if>
+            <if test="hardwareType != null">hardware_type,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="hardwareName != null">#{hardwareName},</if>
+            <if test="hardwareNum != null">#{hardwareNum},</if>
+            <if test="hardwareSource != null">#{hardwareSource},</if>
+            <if test="hardwareIp != null">#{hardwareIp},</if>
+            <if test="hardwareUrl != null">#{hardwareUrl},</if>
+            <if test="hardwareType != null">#{hardwareType},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateDoumuHardware" parameterType="DoumuHardware">
+        update doumu_hardware
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="hardwareName != null">hardware_name = #{hardwareName},</if>
+            <if test="hardwareNum != null">hardware_num = #{hardwareNum},</if>
+            <if test="hardwareSource != null">hardware_source = #{hardwareSource},</if>
+            <if test="hardwareIp != null">hardware_ip = #{hardwareIp},</if>
+            <if test="hardwareUrl != null">hardware_url = #{hardwareUrl},</if>
+            <if test="hardwareType != null">hardware_type = #{hardwareType},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where hardware_id = #{hardwareId}
+    </update>
+    <update id="setType">
+        update doumu_hardware set hardware_type = #{hardwareType}
+    </update>
+
+    <delete id="deleteDoumuHardwareByHardwareId" parameterType="Long">
+        delete from doumu_hardware where hardware_id = #{hardwareId}
+    </delete>
+
+    <delete id="deleteDoumuHardwareByHardwareIds" parameterType="String">
+        delete from doumu_hardware where hardware_id in 
+        <foreach item="hardwareId" collection="array" open="(" separator="," close=")">
+            #{hardwareId}
+        </foreach>
+    </delete>
+</mapper>