Pārlūkot izejas kodu

由从access文件改为从sqlite读取数据

lamphua 1 mēnesi atpakaļ
vecāks
revīzija
9fc6046f17

+ 1
- 1
cmc-temperature-back/cmc-monitoring/src/main/java/com/ruoyi/monitoring/controller/CmcTemperatureController.java Parādīt failu

@@ -193,7 +193,7 @@ public class CmcTemperatureController extends BaseController {
193 193
                 .from(CmcTemperature.class)
194 194
                 .leftJoin(CmcChannel.class)
195 195
                 .on(CmcChannel::getSensorNo, CmcTemperature::getSensorNo)
196
-                .where(CmcChannel::getInfo).like(cmcChannel.getInfo())
196
+                .where(CmcChannel::getInfo).likeLeft(cmcChannel.getInfo())
197 197
                 .and(CmcTemperature::getId).eq(cmcTemperature.getId())
198 198
                 .and(CmcTemperature::getGroupNo).eq(cmcTemperature.getGroupNo())
199 199
                 .and(CmcTemperature::getSensorNo).eq(cmcTemperature.getSensorNo())

+ 1
- 1
cmc-temperature-back/cmc-monitoring/src/main/java/com/ruoyi/monitoring/mapper/CmcChannelMapper.java Parādīt failu

@@ -10,7 +10,7 @@ import java.util.List;
10 10
  * 水温监测 数据层
11 11
  * @author cmc
12 12
  */
13
-@UseDataSource("access")
13
+@UseDataSource("sqlite")
14 14
 public interface CmcChannelMapper extends BaseMapper<CmcChannel> {
15 15
 
16 16
     /**

+ 6
- 2
cmc-temperature-back/cmc-monitoring/src/main/java/com/ruoyi/monitoring/mapper/CmcTemperatureMapper.java Parādīt failu

@@ -4,6 +4,7 @@ import com.ruoyi.monitoring.domain.CmcChannel;
4 4
 import com.ruoyi.monitoring.domain.CmcTemperature;
5 5
 import com.mybatisflex.annotation.UseDataSource;
6 6
 import com.mybatisflex.core.BaseMapper;
7
+import org.apache.ibatis.annotations.Param;
7 8
 
8 9
 import java.util.List;
9 10
 
@@ -11,7 +12,7 @@ import java.util.List;
11 12
  * 水温监测 数据层
12 13
  * @author cmc
13 14
  */
14
-@UseDataSource("access")
15
+@UseDataSource("sqlite")
15 16
 public interface CmcTemperatureMapper extends BaseMapper<CmcTemperature> {
16 17
 
17 18
     /**
@@ -19,6 +20,9 @@ public interface CmcTemperatureMapper extends BaseMapper<CmcTemperature> {
19 20
      * @param cmcTemperature 水温监测信息
20 21
      * @param cmcChannel 监测点位信息
21 22
      */
22
-    List<CmcTemperature> listTemperature(CmcTemperature cmcTemperature, CmcChannel cmcChannel);
23
+    List<CmcTemperature> listTemperature(@Param("cmcTemperature") CmcTemperature cmcTemperature,
24
+                                         @Param("cmcChannel") CmcChannel cmcChannel,
25
+                                         @Param("startTime") String startTime,
26
+                                         @Param("endTime") String endTime);
23 27
 
24 28
 }

+ 12
- 4
cmc-temperature-back/cmc-monitoring/src/main/java/com/ruoyi/monitoring/service/impl/CmcTemperatureServiceImpl.java Parādīt failu

@@ -11,6 +11,7 @@ import com.ruoyi.monitoring.service.ICmcTemperatureService;
11 11
 import org.noear.solon.annotation.Component;
12 12
 import org.noear.solon.annotation.Inject;
13 13
 
14
+import java.text.SimpleDateFormat;
14 15
 import java.util.ArrayList;
15 16
 import java.util.Date;
16 17
 import java.util.List;
@@ -38,8 +39,12 @@ public class CmcTemperatureServiceImpl extends ServiceImpl<CmcTemperatureMapper,
38 39
     public List<CmcTemperature> listTemperature(CmcTemperature cmcTemperature, CmcChannel cmcChannel) {
39 40
         // 使用mapper直接查询,避免循环依赖
40 41
         int channelSize = cmcChannelMapper.listChannel(cmcChannel).size();
41
-        QueryWrapper qw = getQW(cmcTemperature, cmcChannel);
42
-        List<CmcTemperature> records = cmcTemperatureMapper.selectListByQuery(qw);
42
+//        QueryWrapper qw = getQW(cmcTemperature, cmcChannel);
43
+//        List<CmcTemperature> records = cmcTemperatureMapper.selectListByQuery(qw);
44
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
45
+        String startStr = cmcTemperature.getStartTime() == null ? null : sdf.format(cmcTemperature.getStartTime());
46
+        String endStr = cmcTemperature.getEndTime() == null ? null : sdf.format(cmcTemperature.getEndTime());
47
+        List<CmcTemperature> records = cmcTemperatureMapper.listTemperature(cmcTemperature, cmcChannel, startStr, endStr);
43 48
         if (records == null || records.isEmpty()) {
44 49
             return new ArrayList<>();
45 50
         }
@@ -75,8 +80,11 @@ public class CmcTemperatureServiceImpl extends ServiceImpl<CmcTemperatureMapper,
75 80
             Date fifteenMinutesAgo = new Date(fifteenMinutesAgoMillis);
76 81
             temperature.setStartTime(fifteenMinutesAgo);
77 82
             temperature.setEndTime(cmcTemperature.getStartTime());
78
-            QueryWrapper qw1 = getQW(temperature, cmcChannel);
79
-            List<CmcTemperature> previousData = cmcTemperatureMapper.selectListByQuery(qw1);
83
+//            QueryWrapper qw1 = getQW(temperature, cmcChannel);
84
+//            List<CmcTemperature> previousData = cmcTemperatureMapper.selectListByQuery(qw1);
85
+            String prevStart = temperature.getStartTime() == null ? null : sdf.format(temperature.getStartTime());
86
+            String prevEnd = temperature.getEndTime() == null ? null : sdf.format(temperature.getEndTime());
87
+            List<CmcTemperature> previousData = cmcTemperatureMapper.listTemperature(temperature, cmcChannel, prevStart, prevEnd);
80 88
 
81 89
             if (previousData != null && !previousData.isEmpty()) {
82 90
                 // 合并数据,避免重复创建列表

+ 1
- 1
cmc-temperature-back/cmc-monitoring/src/main/resources/mapper/temperature/CmcChannelMapper.xml Parādīt failu

@@ -25,7 +25,7 @@
25 25
         <where>
26 26
             <if test="Id != null ">c.ID = #{Id}</if>
27 27
             <if test="SensorNo != null ">c.Sensor_No = #{SensorNo}</if>
28
-            <if test="Info != null ">c.Info LIKE concat('%', #{Info}, '%')</if>
28
+            <if test="Info != null ">c.Info LIKE '%' || #{Info} || '%'</if>
29 29
             <if test="Ver != null ">c.Ver = #{Ver}</if>
30 30
             <if test="Sn != null ">c.Sn = #{Sn}</if>
31 31
             <if test="Ca != null ">c.Ca = #{Ca}</if>

+ 16
- 8
cmc-temperature-back/cmc-monitoring/src/main/resources/mapper/temperature/CmcTemperatureMapper.xml Parādīt failu

@@ -11,23 +11,31 @@
11 11
         <result property="Data"    column="Data"    />
12 12
         <result property="Volt"      column="Volt"      />
13 13
         <result property="CSQ"    column="CSQ"    />
14
+        <association property="channel" javaType="com.ruoyi.monitoring.domain.CmcChannel">
15
+            <result property="Info" column="Info" />
16
+        </association>
14 17
     </resultMap>
15 18
 
16 19
     <sql id="selectTemperatureVo">
17
-        SELECT d.ID, d.Group_No, d.Sensor_No, d.DateTime, d.Data, d.Volt, d.CSQ
20
+        SELECT d.ID, d.Group_No, d.Sensor_No, d.DateTime, d.Data, d.Volt, d.CSQ, c.Info
18 21
         FROM Data d
22
+        LEFT JOIN Channel c ON c.Sensor_No = d.Sensor_No
19 23
     </sql>
20 24
 
21
-    <select id="listTemperature" parameterType="com.ruoyi.monitoring.domain.CmcTemperature" resultMap="CmcTemperatureResult">
25
+    <select id="listTemperature" resultMap="CmcTemperatureResult">
22 26
         <include refid="selectTemperatureVo"/>
23 27
         <where>
24
-            <if test="Id != null ">d.ID = #{Id}</if>
25
-            <if test="GroupNo != null ">d.Group_No = #{GroupNo}</if>
26
-            <if test="SensorNo != null ">d.Sensor_No = #{SensorNo}</if>
27
-            <if test="Data != null ">d.Data = #{Data}</if>
28
-            <if test="Volt != null ">d.Volt = #{Volt}</if>
29
-            <if test="CSQ != null ">d.CSQ = #{CSQ}</if>
28
+            <if test="CmcTemperature != null and CmcTemperature.Id != null">d.ID = #{CmcTemperature.Id}</if>
29
+            <if test="CmcTemperature != null and CmcTemperature.GroupNo != null">AND d.Group_No = #{CmcTemperature.GroupNo}</if>
30
+            <if test="CmcTemperature != null and CmcTemperature.SensorNo != null">AND d.Sensor_No = #{CmcTemperature.SensorNo}</if>
31
+            <if test="CmcTemperature != null and CmcTemperature.Data != null">AND d.Data = #{CmcTemperature.Data}</if>
32
+            <if test="CmcTemperature != null and CmcTemperature.Volt != null">AND d.Volt = #{CmcTemperature.Volt}</if>
33
+            <if test="CmcTemperature != null and CmcTemperature.CSQ != null">AND d.CSQ = #{CmcTemperature.CSQ}</if>
34
+            <if test="startTime != null and startTime != ''">AND d.DateTime &gt;= #{startTime}</if>
35
+            <if test="endTime != null and endTime != ''">AND d.DateTime &lt;= #{endTime}</if>
36
+            <if test="CmcChannel != null and CmcChannel.Info != null and CmcChannel.Info != ''">AND c.Info LIKE '%' || #{CmcChannel.Info} || '%'</if>
30 37
         </where>
38
+        ORDER BY d.DateTime ASC, d.Sensor_No ASC
31 39
     </select>
32 40
 
33 41
 </mapper>

Binārs
cmc-temperature-back/ruoyi-admin/src/main/resources/static/cmc-temperature.db Parādīt failu


+ 2
- 2
cmc-temperature-back/ruoyi-common/src/main/java/com/ruoyi/common/constants/UserConstant.java Parādīt failu

@@ -18,9 +18,9 @@ public class UserConstant {
18 18
      * 密码长度限制
19 19
      */
20 20
     // 最小
21
-    public static final int PASSWORD_MIN_LENGTH = 5;
21
+    public static final int PASSWORD_MIN_LENGTH = 6;
22 22
     // 最大
23
-    public static final int PASSWORD_MAX_LENGTH = 20;
23
+    public static final int PASSWORD_MAX_LENGTH = 12;
24 24
 
25 25
     /**
26 26
      * 超级管理员

+ 1
- 1
cmc-temperature-ui/.env.development Parādīt failu

@@ -9,7 +9,7 @@ VITE_APP_ENV = 'development'
9 9
 
10 10
 
11 11
 # 页面标题
12
-VITE_APP_TITLE = 国能青海黄河玛尔挡水电站水温监测系统
12
+VITE_APP_TITLE = 高原水温监测系统
13 13
 
14 14
 # 开发环境前缀
15 15
 VITE_APP_BASE_API = '/dev-api'

+ 1
- 1
cmc-temperature-ui/.env.production Parādīt failu

@@ -3,7 +3,7 @@ VITE_APP_ENV = 'production'
3 3
 
4 4
 
5 5
 # 页面标题
6
-VITE_APP_TITLE = 国能青海黄河玛尔挡水电站水温监测系统
6
+VITE_APP_TITLE = 高原水温监测系统
7 7
 
8 8
 # 若依管理系统/生产环境
9 9
 VITE_APP_BASE_API = '/prod-api'

+ 1
- 1
cmc-temperature-ui/index.html Parādīt failu

@@ -7,7 +7,7 @@
7 7
   <meta name="renderer" content="webkit">
8 8
   <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
9 9
   <link rel="icon" href="/src/assets/images/logo/logo.png">
10
-  <title>国能青海黄河玛尔挡水电站水温监测系统</title>
10
+  <title>高原水温监测系统</title>
11 11
   <!-- [if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif] -->
12 12
   <style>
13 13
     html,

+ 4
- 4
cmc-temperature-ui/src/views/login.vue Parādīt failu

@@ -144,11 +144,11 @@ getCookie()
144 144
 <style lang='scss' scoped>
145 145
 .login {
146 146
   display: flex;
147
-  flex-direction: column;
147
+  flex-direction:column;
148 148
   justify-content: top;
149 149
   align-items: center;
150 150
   height: 100%;
151
-  background-image: url('@/assets/images/loginBg.jpeg');
151
+  background-image: url('@/assets/images/loginBg4.jpeg');
152 152
   background-size: cover;
153 153
   background-position: center;
154 154
   position: relative;
@@ -156,13 +156,13 @@ getCookie()
156 156
 
157 157
 .login-header {
158 158
   text-align: center;
159
-  left: 70%;
159
+  left: 76%;
160 160
   top: 8%;
161 161
   position: absolute;
162 162
   z-index: 2;
163 163
   
164 164
   .main-title {
165
-    font-size: 26px;
165
+    font-size: 30px;
166 166
     font-weight: 700;
167 167
     color: #ffffff;
168 168
     margin-bottom: 10px;

+ 2
- 2
cmc-temperature-ui/src/views/system/user/index.vue Parādīt failu

@@ -443,8 +443,8 @@ function handleResetPwd(row) {
443 443
     confirmButtonText: '确定',
444 444
     cancelButtonText: '取消',
445 445
     closeOnClickModal: false,
446
-    inputPattern: /^.{5,20}$/,
447
-    inputErrorMessage: '登录密码长度必须介于 5 和 20 之间'
446
+    inputPattern: /^.{6,12}$/,
447
+    inputErrorMessage: '登录密码长度必须介于 6 和 12 之间'
448 448
   }).then(({ value }) => {
449 449
     resetUserPwd(row.userId, value).then(response => {
450 450
       proxy.$modal.msgSuccess('修改成功,新密码是:' + value)

+ 16
- 1
cmc-temperature-ui/src/views/system/user/profile/resetPwd.vue Parādīt failu

@@ -1,3 +1,9 @@
1
+<!--
2
+ * @Author: wrh
3
+ * @Date: 2025-08-19 15:15:48
4
+ * @LastEditors: wrh
5
+ * @LastEditTime: 2025-10-11 12:44:05
6
+-->
1 7
 <template>
2 8
   <el-form ref="pwdRef" :model="user" :rules="rules" label-width="80px">
3 9
     <el-form-item label="旧密码" prop="oldPassword">
@@ -36,13 +42,22 @@ const equalToPassword = (rule, value, callback) => {
36 42
     callback()
37 43
   }
38 44
 }
45
+const hasUpperLowerCaseNumber = (rule, value, callback) => {
46
+  const check = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d]+$/;
47
+  if (!check.test(value)) {
48
+    callback(new Error('新密码应为大小写字母及数字组合'))
49
+  } else {
50
+    callback()
51
+  }
52
+}
39 53
 const rules = ref({
40 54
   oldPassword: [
41 55
     { required: true, message: '旧密码不能为空', trigger: 'blur' }
42 56
   ],
43 57
   newPassword: [
44 58
     { required: true, message: '新密码不能为空', trigger: 'blur' },
45
-    { min: 5, max: 20, message: '长度在 5 到 20 个字符', trigger: 'blur' }
59
+    { min: 6, max: 12, message: '长度在 6 到 12 个字符', trigger: 'blur' },
60
+    { required: true, validator: hasUpperLowerCaseNumber, trigger: 'blur'}
46 61
   ],
47 62
   confirmPassword: [
48 63
     { required: true, message: '确认密码不能为空', trigger: 'blur' },

Notiek ielāde…
Atcelt
Saglabāt