Files
iot_java/lidee-scada/README.md
2026-03-23 13:48:34 +08:00

7.1 KiB
Raw Blame History

Web组态-后端源码

一、使用方法

  1. 获取源码后,修改文件夹名称为 lidee-scada ,然后放置于项目的 wumei-smart/sprintboot 文件夹下

    完整路径: /wumei-smart/sprintboot/lidee-scada
    
  2. 执行sql文件时建议先比对一下自己系统的数据防止已有的会重复添加然后自己整理出一份新的sql文件执行

  3. 图库文件夹avatar需要上传至服务器才可使用因为文件夹太大没有放在代码目录里购买后单独发

    注意:在服务器上/var/data/java/uploadPath目录下找到已有的avatar文件夹如果没有可直接将avatar文件夹上传至此目录下如果已存在建议先备份然后需要自己比对两份文件夹内容合并出新的一份avatar文件夹然后再上传切勿直接替换,不然会把已有的文件弄没了

二、整合到项目

上述组态模块部分代码依赖其他模块的方法需要按照以下步骤去配置以下代码已提交到2.2版本里面)

注意情况一lidee拉一下仓库最新代码然后参照以下步骤只需把pom依赖配置代码注释放开就行

情况二lidee参照以下步骤把相关代码复制到相关文件里

  1. 修改pom依赖配置刷新maven依赖重新加载项目

    • 在/wumei-smart/sprintboot/pom.xml配置文件里添加以下配置

      // 提示:以下代码加在<modules> </modules> 里面
      <module>lidee-scada</module>
      
      // 提示:以下代码加在<dependencies> </dependencies> 里面
      <!-- 组态模块 -->
      <dependency>
          <groupId>iot.lidee</groupId>
          <artifactId>lidee-scada</artifactId>
          <version>${lidee.version}</version>
      </dependency>
      
    • 在/lidee-smart/sprintboot/lidee-admin/pom.xml配置文件里添加以下配置

      // 提示:以下加在<dependencies> </dependencies>  里面
      <!-- 组态模块 -->
      <dependency>
          <groupId>iot.lidee</groupId>
          <artifactId>lidee-scada</artifactId>
      </dependency>
      
  2. 搜索以下三个文件,分别添加代码,已存在可忽略

    // 1、DeviceLog文件
        private List<String> identityList;
    
        public List<String> getIdentityList() {
            return identityList;
        }
    
        public void setIdentityList(List<String> identityList) {
            this.identityList = identityList;
        }
    
    // 2、FunctionLog文件
    private List<String> identifyList;
    
    // EventLog文件
    private List<String> identityList;
    
        public List<String> getIdentityList() {
            return identityList;
        }
    
        public void setIdentityList(List<String> identityList) {
            this.identityList = identityList;
        }
    
  3. 在以下文件里分别添加代码,查询属性物模型历史数据

    // 搜索IDeviceLogService文件
    /**
         * 查询物模型历史数据
         * @param deviceLog 设备日志
         * @return java.util.List<model.iot.iot.lidee.HistoryModel>
         */
        List<HistoryModel> listHistory(DeviceLog deviceLog);
    
    // 搜索DeviceLogServiceImpl文件
        @Override
        public List<HistoryModel> listHistory(DeviceLog deviceLog) {
            return logService.listHistory(deviceLog);
        }
    
    // 搜索ILogService文件
        /**
         * 查询物模型历史数据
         * @param deviceLog 设备日志
         * @return java.util.List<model.iot.iot.lidee.HistoryModel>
         */
        List<HistoryModel> listHistory(DeviceLog deviceLog);
    
    // 搜索MySqlLogServiceImpl文件
        @Override
        public List<HistoryModel> listHistory(DeviceLog deviceLog) {
            return deviceLogMapper.listHistory(deviceLog);
        }
    
    // 搜索TdengineLogServiceImpl文件
        @Override
        public List<HistoryModel> listHistory(DeviceLog deviceLog) {
            // 8时区问题
    //        if (StringUtils.isNotEmpty(deviceLog.getBeginTime())) {
    //            LocalDateTime localDateTime = DateUtils.toLocalDateTime(deviceLog.getBeginTime(), DateUtils.YYYY_MM_DD_HH_MM_SS);
    //            deviceLog.setBeginTime(DateUtils.localDateTimeToStr(localDateTime.minusHours(8), DateUtils.YYYY_MM_DD_HH_MM_SS));
    //        }
    //        if (StringUtils.isNotEmpty(deviceLog.getEndTime())) {
    //            LocalDateTime localDateTime = DateUtils.toLocalDateTime(deviceLog.getEndTime(), DateUtils.YYYY_MM_DD_HH_MM_SS);
    //            deviceLog.setEndTime(DateUtils.localDateTimeToStr(localDateTime.minusHours(8), DateUtils.YYYY_MM_DD_HH_MM_SS));
    //        }
            return tdDeviceLogDAO.listHistory(dbName, deviceLog);
        }
    
    // 搜索DeviceLogMapper文件
    
        /**
         * 查询物模型历史数据
         * @param deviceLog 设备日志
         * @return java.util.List<model.iot.iot.lidee.HistoryModel>
         */
        List<HistoryModel> listHistory(DeviceLog deviceLog);
    
    // 搜索DeviceLogMapper.xml文件
        <select id="listHistory" parameterType="domain.iot.iot.lidee.DeviceLog" resultMap="HistoryResult">
            select log_value,
            create_time,
            identity
            from iot_device_log
            <where>
                <if test="serialNumber != null and serialNumber != ''">
                    and serial_number = #{serialNumber}
                </if>
                <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
                    and create_time between #{beginTime} and #{endTime}
                </if>
                <if test="identityList != null and identityList != ''">
                    and identity in
                    <foreach collection="identityList" item="identity" open="(" separator="," close=")">
                        #{identity}
                    </foreach>
                </if>
            </where>
            order by create_time desc
        </select>
    
    // 搜索TDDeviceLogDAO文件
    List<HistoryModel> listHistory(@Param("database")  String database, @Param("device") DeviceLog deviceLog);
    
    // 搜索TDDeviceLogMapper.xml文件
    <select id="listHistory" parameterType="domain.iot.iot.lidee.DeviceLog" resultMap="HistoryResult">
            select log_value,
            ts,
            identity
            from ${database}.device_log
            <where>
                <if test="device.beginTime != null and device.beginTime != '' and device.endTime != null and device.endTime != ''">
                    and ts between #{device.beginTime} and #{device.endTime}
                </if>
                <if test="device.serialNumber != null and device.serialNumber !=''">
                    and serial_number = #{device.serialNumber}
                </if>
                <if test="device.identityList != null and device.identityList.size > 0">
                    and identity in
                    <foreach collection="device.identityList" item="identity" open="(" separator="," close=")">
                        #{identity}
                    </foreach>
                </if>
            </where>
            order by ts desc
        </select>
    

三、运行代码