7.1 KiB
7.1 KiB
Web组态-后端源码
一、使用方法
-
获取源码后,修改文件夹名称为
lidee-scada,然后放置于项目的wumei-smart/sprintboot文件夹下完整路径: /wumei-smart/sprintboot/lidee-scada -
执行sql文件时,建议先比对一下自己系统的数据(防止已有的会重复添加),然后自己整理出一份新的sql文件执行
-
图库文件夹(avatar)需要上传至服务器才可使用,因为文件夹太大,没有放在代码目录里,购买后单独发
注意:在服务器上/var/data/java/uploadPath目录下找到已有的avatar文件夹,如果没有,可直接将avatar文件夹上传至此目录下;如果已存在(建议先备份),然后需要自己比对两份文件夹内容,合并出新的一份avatar文件夹,然后再上传,切勿直接替换,不然会把已有的文件弄没了
二、整合到项目
上述组态模块部分代码依赖其他模块的方法,需要按照以下步骤去配置(以下代码已提交到2.2版本里面)
注意:情况一:lidee,拉一下仓库最新代码,然后参照以下步骤,只需把pom依赖配置代码注释放开就行
情况二:lidee,参照以下步骤,把相关代码复制到相关文件里
-
修改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>
-
-
搜索以下三个文件,分别添加代码,已存在可忽略
// 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; } -
在以下文件里分别添加代码,查询属性物模型历史数据
// 搜索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>