ソースを参照

首页三温图修改

lvzhikai 5 年 前
コミット
0024caa846

+ 1 - 1
src/main/java/com/chinaitop/depot/supervise/controller/GrainConditionController.java

@@ -135,7 +135,7 @@ public class GrainConditionController {
135 135
         Map<String, Object> byMonth = new HashMap<String, Object>();//基础信息
136 136
 
137 137
         byMonth.put("orgid",orgId);
138
-        byMonth.put("houseid", barnNumber);
138
+        byMonth.put("houseCode", barnNumber);
139 139
         byMonth.put("dayCount", dayCount);
140 140
         List<Map<String, Object>> SelectDay = grainConditionService.getThreeConditionForPad(byMonth);
141 141
         return SelectDay;

+ 1 - 2
src/main/java/com/chinaitop/depot/supervise/mapper/TestDatasMapper.java

@@ -43,6 +43,5 @@ public interface TestDatasMapper {
43 43
     //给pad端提供的三温图的接口
44 44
     List<Map<String,Object>> getThreeConditionForPad(Map<String,Object> map);
45 45
 
46
-
47
-
46
+    String selectHouseMaxTime(Map<String,Object> map);
48 47
 }

+ 36 - 74
src/main/java/com/chinaitop/depot/supervise/mapper/TestDatasMapper.xml

@@ -159,6 +159,18 @@
159 159
         LIMIT 13
160 160
     </select>
161 161
 
162
+    <select id="selectHouseMaxTime" resultType="java.lang.String" parameterType="java.util.Map" >
163
+        SELECT
164
+            DATE_SUB(DATE_FORMAT(max(time), '%Y-%m-%d'), INTERVAL ${dayNum} DAY) t_time
165
+        FROM
166
+            t_testdata
167
+        WHERE
168
+            storehouse = #{houseCode,jdbcType=VARCHAR}
169
+        AND iLq_yq = 0
170
+        AND org_id = #{orgid,jdbcType=VARCHAR}
171
+        LIMIT 1
172
+    </select>
173
+
162 174
     <select id="getThreeConditionForPad" resultType="java.util.Map" parameterType="java.util.Map" >
163 175
       SELECT
164 176
             DATE_FORMAT(t.time, '%Y-%m-%d') days,
@@ -166,92 +178,42 @@
166 178
             t.outTemp cwwd,
167 179
             t.inTemp cnwd
168 180
         FROM
169
-            t_testdata t
170
-        JOIN basic_storehouse t2 ON t2.storehouse_code = t.storehouse AND t2.del_flag = 1
181
+            (
182
+                SELECT
183
+                    avg,
184
+                    outTemp,
185
+                    inTemp,
186
+                    storehouse,
187
+                    time,
188
+                    iLq_yq,
189
+                    org_id
190
+                FROM
191
+                    t_testdata
192
+                WHERE
193
+                    time > #{houseMaxTime,jdbcType=VARCHAR}
194
+                AND storehouse = #{houseCode,jdbcType=VARCHAR}
195
+                AND iLq_yq = 0
196
+                AND org_id = #{orgid,jdbcType=VARCHAR}
197
+            ) t
171 198
         LEFT JOIN (
172 199
             SELECT
173 200
                 max(
174
-                    DATE_FORMAT(t2.time, '%Y-%m-%d')
201
+                    DATE_FORMAT(time, '%Y-%m-%d')
175 202
                 ) time,
176
-                t2.storehouse
203
+                storehouse
177 204
             FROM
178
-                t_testdata t2,
179
-                basic_storehouse bs
205
+                t_testdata
180 206
             WHERE
181
-                bs.storehouse_id = #{houseid,jdbcType=VARCHAR}
182
-            AND bs.storehouse_code = t2.storehouse
183
-            AND bs.del_flag = 1
184
-            AND t2.iLq_yq = 0
185
-            AND t2.org_id = #{orgid,jdbcType=VARCHAR}
207
+                time > #{houseMaxTime,jdbcType=VARCHAR}
208
+            AND storehouse = #{houseCode,jdbcType=VARCHAR}
209
+            AND iLq_yq = 0
210
+            AND org_id = #{orgid,jdbcType=VARCHAR}
186 211
         ) t3 ON t3.storehouse = t.storehouse
187 212
         WHERE
188 213
             DATE_SUB(date(t3.time), INTERVAL ${dayCount} DAY) &lt;= date(t.time)
189
-        AND t2.storehouse_id = #{houseid,jdbcType=VARCHAR}
190
-        AND t.iLq_yq = 0
191
-        AND t2.org_id = #{orgid,jdbcType=VARCHAR}
192 214
         GROUP BY
193 215
             DATE_FORMAT(t.time, '%Y-%m-%d')
194 216
         ORDER BY
195 217
             t.time DESC
196
-        <!--SELECT
197
-            t2.days,
198
-            wd.lswd,
199
-            wd.cwwd,
200
-            wd.cnwd
201
-        FROM
202
-            (
203
-                SELECT
204
-                    @cdate := date_add(@cdate, INTERVAL - 1 DAY) days
205
-                FROM
206
-                    (
207
-                        SELECT
208
-                            @cdate := (date(max(DATE_FORMAT(t.time, '%Y-%m-%d'))) + 1)
209
-                        FROM
210
-                            t_testdata t,
211
-                            basic_storehouse bs
212
-                        WHERE
213
-                            bs.storehouse_id = #{houseid,jdbcType=VARCHAR}
214
-                        AND bs.storehouse_code = t.storehouse
215
-                            UNION all SELECT NULL FROM t_testdata t3
216
-                            UNION all SELECT NULL FROM t_testdata t3
217
-                            UNION all SELECT NULL FROM t_testdata t3
218
-                        LIMIT ${dayCount}
219
-                    ) t1
220
-            ) t2
221
-        LEFT JOIN (
222
-            SELECT
223
-                t2.storehouse_id,
224
-                t2.org_id,
225
-                DATE_FORMAT(t.time, '%Y-%m-%d') jcsj,
226
-                max(t.avg) lswd,
227
-                max(t.outTemp) cwwd,
228
-                max(t.inTemp) cnwd
229
-            FROM
230
-                t_testdata t
231
-            JOIN basic_storehouse t2 ON t2.storehouse_code = t.storehouse
232
-            LEFT JOIN (
233
-                SELECT
234
-                    max(
235
-                        DATE_FORMAT(t2.time, '%Y-%m-%d')
236
-                    ) time,
237
-                    t2.storehouse
238
-                FROM
239
-                    t_testdata t2,
240
-                    basic_storehouse bs
241
-                WHERE
242
-                    bs.storehouse_id = #{houseid,jdbcType=VARCHAR}
243
-                AND bs.storehouse_code = t2.storehouse
244
-            ) t3 ON t3.storehouse = t.storehouse
245
-            WHERE
246
-                DATE_SUB(date(t.time), INTERVAL ${dayCount} DAY) &lt;= date(t3.time)
247
-            AND t2.storehouse_id = #{houseid,jdbcType=VARCHAR}
248
-            AND t2.org_id = #{orgid,jdbcType=VARCHAR}
249
-            GROUP BY
250
-                DATE_FORMAT(t.time, '%Y-%m-%d')
251
-        ) wd ON wd.jcsj = t2.days
252
-        WHERE
253
-            1 = 1
254
-        ORDER BY
255
-	        t2.days -->
256 218
     </select>
257 219
 </mapper>

+ 3 - 0
src/main/java/com/chinaitop/depot/supervise/service/impl/GrainConditionServiceImpl.java

@@ -76,7 +76,10 @@ public class GrainConditionServiceImpl implements GrainConditionService {
76 76
      */
77 77
     @Override
78 78
     public List<Map<String, Object>> getThreeConditionForPad(Map<String, Object> example) {
79
+        example.put("dayNum",Integer.parseInt(example.get("dayCount").toString())-1);
80
+        String houseMaxTime = testDatasMapper.selectHouseMaxTime(example);
79 81
         int days = Integer.parseInt(example.get("dayCount").toString());
82
+        example.put("houseMaxTime",houseMaxTime);
80 83
         List<Map<String,Object>> three = testDatasMapper.getThreeConditionForPad(example);
81 84
         List<Map<String,Object>> threeTemperature = new ArrayList<Map<String,Object>>();
82 85
         String times;//获取最新检测时间,如果没有数据则获取当天