c80_estate 0.1.0.13 → 0.1.0.14

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 77472f255a97d04363af1c40e5dc234ff97a1517
4
- data.tar.gz: 8789d9c154ac9528dbe95543dd3aca8aaaf9c4d8
3
+ metadata.gz: 75d267cd0efbe038362a4b5430a210bcae3b4b8d
4
+ data.tar.gz: ec12dcf5651824cf9aa505cf35bd03cbcbe07132
5
5
  SHA512:
6
- metadata.gz: 8aa9a64a80525510c33ff37be067bd5e2e2b47537e574278935802bee47a41a892a7325ad99f5cd911f0984113b8f0c38e25d38c9e5d1344ed3e4c413538d5b0
7
- data.tar.gz: aede3e18db66699aa00b06fbaaba3f2cf3c8e8a88b7be91c8ca7e46e33dc6538966c56b652d316969c13acc144bd38ca513480c8c26a2e13d2e690acc9f0246c
6
+ metadata.gz: 468937264e5b532ae8edf00bb6320f975eddacafb5e9787c730d4781fd96593936375ffb009c16522e097d7a1b59f27db038f72972a64912bc4a6322d67f80a5
7
+ data.tar.gz: bce7229fffd0536f1572596d1853a604a60e9c67954084e1ac6d9496ffa2d4ed294879725746f9a32d4d5bf609f120ea118e2a81609bf007a160855823990aa1
@@ -90,7 +90,7 @@ module C80Estate
90
90
  result[:raw_props][:free_areas_count] = free_areas_atnow
91
91
  result[:raw_props][:busy_areas_atnow] = busy_areas_atnow
92
92
  result[:graph_dynamic] = _parse_for_js_dynamic_graph_canvasjs(pstats.ordered_by_created_at)
93
- result[:graph_radial] = _parse_for_js_radial_graph(free_areas_atnow,busy_areas_atnow)
93
+ result[:graph_radial] = _parse_for_js_radial_graph(free_areas_atnow, busy_areas_atnow)
94
94
 
95
95
  # Rails.logger.debug "<Pstat.busy_coef> busy_areas_count = #{ busy_areas_count }"
96
96
  # Rails.logger.debug "<Pstat.busy_coef> all_areas_count = #{ all_areas_count }"
@@ -187,110 +187,115 @@ module C80Estate
187
187
  # если в этот промежуток небыло событий - значит промежуток целиком попал в какое-то событие
188
188
  # найдем его
189
189
  # заодно поднимем вспомогательный флаг, который обработаем во view
190
- mark_whole = false
190
+ # mark_whole = false
191
191
  if pstats.count == 0
192
- pstats = [self.where(:property_id => prop_id).where("created_at < ?", used_start_date).last]
193
- mark_whole = true
192
+ l = self.where(:property_id => prop_id).where("created_at < ?", used_start_date).last
193
+ if l.present?
194
+ pstats = [l]
195
+ # mark_whole = true
196
+ end
194
197
  # sevents.each do |se|
195
198
  # Rails.logger.debug "\t\t\t #{used_start_date - se.created_at}"
196
199
  # end
197
200
  end
198
201
 
199
202
  # Занятость -----
203
+ if pstats.count > 0
204
+
205
+ # если сортируем по типу, то берём последнюю запись,
206
+ # иначе - берём последнюю запись с общими данными
207
+ if atype_id.nil?
208
+ free_areas_atnow = pstats.where(:atype_id => nil).last.free_areas
209
+ busy_areas_atnow = pstats.where(:atype_id => nil).last.busy_areas
210
+ graph_data = _parse_for_js_dynamic_graph_canvasjs(pstats.where(:atype_id => nil).ordered_by_created_at)
211
+ else
212
+ free_areas_atnow = pstats.last.free_areas
213
+ busy_areas_atnow = pstats.last.busy_areas
214
+ graph_data = _parse_for_js_dynamic_graph_canvasjs(pstats.ordered_by_created_at)
215
+ end
200
216
 
201
- # если сортируем по типу, то берём последнюю запись,
202
- # иначе - берём последнюю запись с общими данными
203
- if atype_id.nil?
204
- free_areas_atnow = pstats.where(:atype_id => nil).last.free_areas
205
- busy_areas_atnow = pstats.where(:atype_id => nil).last.busy_areas
206
- graph_data = _parse_for_js_dynamic_graph_canvasjs(pstats.where(:atype_id => nil).ordered_by_created_at)
207
- else
208
- free_areas_atnow = pstats.last.free_areas
209
- busy_areas_atnow = pstats.last.busy_areas
210
- graph_data = _parse_for_js_dynamic_graph_canvasjs(pstats.ordered_by_created_at)
211
- end
212
-
213
- # Rails.logger.debug("\t\t atype_id = #{atype_id}")
214
- # Rails.logger.debug("\t\t free_areas_atnow = #{free_areas_atnow}")
215
- # Rails.logger.debug("\t\t busy_areas_atnow = #{busy_areas_atnow}")
217
+ # Rails.logger.debug("\t\t atype_id = #{atype_id}")
218
+ # Rails.logger.debug("\t\t free_areas_atnow = #{free_areas_atnow}")
219
+ # Rails.logger.debug("\t\t busy_areas_atnow = #{busy_areas_atnow}")
216
220
 
217
- # защищаемся от деления на ноль
218
- if free_areas_atnow + busy_areas_atnow == 0
219
- bcoef = 0.0
220
- else
221
- bcoef = busy_areas_atnow*1.0 / (free_areas_atnow + busy_areas_atnow) * 100.0
222
- end
221
+ # защищаемся от деления на ноль
222
+ if free_areas_atnow + busy_areas_atnow == 0
223
+ bcoef = 0.0
224
+ else
225
+ bcoef = busy_areas_atnow*1.0 / (free_areas_atnow + busy_areas_atnow) * 100.0
226
+ end
223
227
 
224
- result[:busy_coef] = sprintf "%.2f%", bcoef
225
- result[:comment] = "<abbr title='Период рассчёта занятости'>C #{used_start_date_str} по #{used_end_date_str}</abbr>"
226
- result[:abbr] = 'Занятость объекта в конце указанного периода: число b/N, где b - кол-во свободных, N - всего площадей'
227
- result[:graph_radial] = _parse_for_js_radial_graph(free_areas_atnow,busy_areas_atnow)
228
- result[:graph_dynamic] = graph_data
228
+ result[:busy_coef] = sprintf "%.2f%", bcoef
229
+ result[:comment] = "<abbr title='Период рассчёта занятости'>C #{used_start_date_str} по #{used_end_date_str}</abbr>"
230
+ result[:abbr] = 'Занятость объекта в конце указанного периода: число b/N, где b - кол-во свободных, N - всего площадей'
231
+ result[:graph_radial] = _parse_for_js_radial_graph(free_areas_atnow, busy_areas_atnow)
232
+ result[:graph_dynamic] = graph_data
229
233
 
230
- result[:raw_props] = {}
231
- result[:raw_props][:all_areas_count] = free_areas_atnow + busy_areas_atnow
232
- result[:raw_props][:free_areas_count] = free_areas_atnow
233
- result[:raw_props][:busy_areas_atnow] = busy_areas_atnow
234
+ result[:raw_props] = {}
235
+ result[:raw_props][:all_areas_count] = free_areas_atnow + busy_areas_atnow
236
+ result[:raw_props][:free_areas_count] = free_areas_atnow
237
+ result[:raw_props][:busy_areas_atnow] = busy_areas_atnow
234
238
 
235
- # Занятость в метрах ------
239
+ # Занятость в метрах ------
236
240
 
237
- if atype_id.nil?
238
- free_areas_atnow_sq = pstats.where(:atype_id => nil).last.free_areas_sq
239
- busy_areas_atnow_sq = pstats.where(:atype_id => nil).last.busy_areas_sq
240
- graph_data_sq = _parse_for_js_dynamic_graph3_canvasjs(pstats.where(:atype_id => nil).ordered_by_created_at)
241
- else
242
- free_areas_atnow_sq = pstats.last.free_areas_sq
243
- busy_areas_atnow_sq = pstats.last.busy_areas_sq
244
- graph_data_sq = _parse_for_js_dynamic_graph3_canvasjs(pstats.ordered_by_created_at)
245
- end
241
+ if atype_id.nil?
242
+ free_areas_atnow_sq = pstats.where(:atype_id => nil).last.free_areas_sq
243
+ busy_areas_atnow_sq = pstats.where(:atype_id => nil).last.busy_areas_sq
244
+ graph_data_sq = _parse_for_js_dynamic_graph3_canvasjs(pstats.where(:atype_id => nil).ordered_by_created_at)
245
+ else
246
+ free_areas_atnow_sq = pstats.last.free_areas_sq
247
+ busy_areas_atnow_sq = pstats.last.busy_areas_sq
248
+ graph_data_sq = _parse_for_js_dynamic_graph3_canvasjs(pstats.ordered_by_created_at)
249
+ end
246
250
 
247
- # защищаемся от деления на ноль
248
- if busy_areas_atnow_sq + free_areas_atnow_sq == 0
249
- bcoef_sq = 0.0
250
- else
251
- bcoef_sq = busy_areas_atnow_sq*1.0/(busy_areas_atnow_sq + free_areas_atnow_sq)*100.0
252
- end
251
+ # защищаемся от деления на ноль
252
+ if busy_areas_atnow_sq + free_areas_atnow_sq == 0
253
+ bcoef_sq = 0.0
254
+ else
255
+ bcoef_sq = busy_areas_atnow_sq*1.0/(busy_areas_atnow_sq + free_areas_atnow_sq)*100.0
256
+ end
253
257
 
254
- result[:busy_coef_sq] = sprintf "%.2f%", bcoef_sq
255
- result[:comment_sq] = "<abbr title='Период рассчёта занятости в МЕТРАХ КВ'>C #{used_start_date_str} по #{used_end_date_str}</abbr>"
256
- result[:abbr_sq] = 'Занятость объекта в МЕТРАХ в конце указанного периода: число b/N, где b - кол-во свободных МЕТРОВ, N - всего МЕТРОВ КВ'
257
- result[:graph_dynamic_sq] = graph_data_sq
258
- result[:graph_radial_sq] = _parse_for_js_radial_graph_sq(free_areas_atnow_sq,busy_areas_atnow_sq)
258
+ result[:busy_coef_sq] = sprintf "%.2f%", bcoef_sq
259
+ result[:comment_sq] = "<abbr title='Период рассчёта занятости в МЕТРАХ КВ'>C #{used_start_date_str} по #{used_end_date_str}</abbr>"
260
+ result[:abbr_sq] = 'Занятость объекта в МЕТРАХ в конце указанного периода: число b/N, где b - кол-во свободных МЕТРОВ, N - всего МЕТРОВ КВ'
261
+ result[:graph_dynamic_sq] = graph_data_sq
262
+ result[:graph_radial_sq] = _parse_for_js_radial_graph_sq(free_areas_atnow_sq, busy_areas_atnow_sq)
259
263
 
260
- result[:props_sq] = [
261
- {tag: 'all_areas_count_sq', val: "Кв.м. всего: #{busy_areas_atnow_sq + free_areas_atnow_sq}"},
262
- {tag: 'free_areas_count_sq', val: "Свободных: #{free_areas_atnow_sq}"},
263
- {tag: 'busy_areas_count_sq', val: "Занятых: #{busy_areas_atnow_sq}"}
264
- ]
264
+ result[:props_sq] = [
265
+ {tag: 'all_areas_count_sq', val: "Кв.м. всего: #{busy_areas_atnow_sq + free_areas_atnow_sq}"},
266
+ {tag: 'free_areas_count_sq', val: "Свободных: #{free_areas_atnow_sq}"},
267
+ {tag: 'busy_areas_count_sq', val: "Занятых: #{busy_areas_atnow_sq}"}
268
+ ]
265
269
 
266
- result[:raw_props_sq] = {}
267
- result[:raw_props_sq][:all_areas_count_sq] = free_areas_atnow_sq + busy_areas_atnow_sq
268
- result[:raw_props_sq][:free_areas_count_sq] = free_areas_atnow_sq
269
- result[:raw_props_sq][:busy_areas_atnow_sq] = busy_areas_atnow_sq
270
+ result[:raw_props_sq] = {}
271
+ result[:raw_props_sq][:all_areas_count_sq] = free_areas_atnow_sq + busy_areas_atnow_sq
272
+ result[:raw_props_sq][:free_areas_count_sq] = free_areas_atnow_sq
273
+ result[:raw_props_sq][:busy_areas_atnow_sq] = busy_areas_atnow_sq
270
274
 
271
- # common
275
+ # common
272
276
 
273
- result[:title] = "Статистика - Объект - #{property.title}"
274
- # result[:graph] = _parse_for_js_radial_graph(free_areas_atnow,busy_areas_atnow)
277
+ result[:title] = "Статистика - Объект - #{property.title}"
278
+ # result[:graph] = _parse_for_js_radial_graph(free_areas_atnow,busy_areas_atnow)
275
279
 
276
280
 
277
- # if atype_id.present?
278
- # result[:title] += " (#{Atype.find(atype_id).title})"
279
- # end
281
+ # if atype_id.present?
282
+ # result[:title] += " (#{Atype.find(atype_id).title})"
283
+ # end
280
284
 
281
- dc_str = property.areas.first.created_at.in_time_zone('Moscow').strftime('%Y/%m/%d')
282
- dc_abbr = 'За дату создания объекта недвижимости при рассчетах берётся дата создания первой площади объекта'
285
+ dc_str = property.areas.first.created_at.in_time_zone('Moscow').strftime('%Y/%m/%d')
286
+ dc_abbr = 'За дату создания объекта недвижимости при рассчетах берётся дата создания первой площади объекта'
283
287
 
284
- result[:props] = [
285
- {tag: 'title', val: "#{property.title}"},
286
- {tag: 'born_date', val: "<abbr title='#{dc_abbr}'>Дата создания: #{dc_str}"},
287
- {tag: 'all_areas_count', val: "<abbr title='В конце указанного периода'>Площадей всего</abbr>: #{ free_areas_atnow + busy_areas_atnow }"},
288
- {tag: 'free_areas_count', val: "<abbr title='В конце указанного периода'>Свободных площадей</abbr>: #{ free_areas_atnow }"},
289
- {tag: 'busy_areas_count', val: "<abbr title='В конце указанного периода'>Занятых площадей</abbr>: #{ busy_areas_atnow }"}
290
- ]
288
+ result[:props] = [
289
+ {tag: 'title', val: "#{property.title}"},
290
+ {tag: 'born_date', val: "<abbr title='#{dc_abbr}'>Дата создания: #{dc_str}"},
291
+ {tag: 'all_areas_count', val: "<abbr title='В конце указанного периода'>Площадей всего</abbr>: #{ free_areas_atnow + busy_areas_atnow }"},
292
+ {tag: 'free_areas_count', val: "<abbr title='В конце указанного периода'>Свободных площадей</abbr>: #{ free_areas_atnow }"},
293
+ {tag: 'busy_areas_count', val: "<abbr title='В конце указанного периода'>Занятых площадей</abbr>: #{ busy_areas_atnow }"}
294
+ ]
291
295
 
292
- if atype_id.present?
293
- result[:props] << {tag: 'atype_filter', val: "Фильтр по типу площади: #{ Atype.find(atype_id).title }"}
296
+ if atype_id.present?
297
+ result[:props] << {tag: 'atype_filter', val: "Фильтр по типу площади: #{ Atype.find(atype_id).title }"}
298
+ end
294
299
  end
295
300
 
296
301
  else
@@ -377,7 +382,7 @@ module C80Estate
377
382
  result[:comment] = "<abbr title='Период рассчёта занятости'>C #{used_start_date_str} по #{used_end_date_str}</abbr>"
378
383
  result[:abbr] = 'Занятость объекта в конце указанного периода: число b/N, где b - кол-во свободных, N - всего площадей'
379
384
  result[:graph_dynamic] = _parse_for_js_dynamic_graph_canvasjs(pstats.ordered_by_created_at)
380
- result[:graph_radial] = _parse_for_js_radial_graph(free_areas_atnow,busy_areas_atnow)
385
+ result[:graph_radial] = _parse_for_js_radial_graph(free_areas_atnow, busy_areas_atnow)
381
386
 
382
387
  result[:raw_props] = {}
383
388
  result[:raw_props][:all_areas_count] = free_areas_atnow + busy_areas_atnow
@@ -401,7 +406,7 @@ module C80Estate
401
406
  result[:comment_sq] = "<abbr title='Период рассчёта занятости в МЕТРАХ КВ'>C #{used_start_date_str} по #{used_end_date_str}</abbr>"
402
407
  result[:abbr_sq] = 'Занятость объекта в МЕТРАХ в конце указанного периода: число b/N, где b - кол-во свободных МЕТРОВ, N - всего МЕТРОВ КВ'
403
408
  result[:graph_dynamic_sq] = graph_data_sq
404
- result[:graph_radial_sq] = _parse_for_js_radial_graph_sq(free_areas_atnow_sq,busy_areas_atnow_sq)
409
+ result[:graph_radial_sq] = _parse_for_js_radial_graph_sq(free_areas_atnow_sq, busy_areas_atnow_sq)
405
410
 
406
411
  result[:props_sq] = [
407
412
  {tag: 'all_areas_count_sq', val: "Кв.м. всего: #{busy_areas_atnow_sq + free_areas_atnow_sq}"},
@@ -687,8 +692,8 @@ module C80Estate
687
692
  end
688
693
  end
689
694
  {
690
- sum_free_areas:sum_free_areas,
691
- sum_busy_areas:sum_busy_areas
695
+ sum_free_areas: sum_free_areas,
696
+ sum_busy_areas: sum_busy_areas
692
697
  }
693
698
  end
694
699
 
@@ -1,3 +1,3 @@
1
1
  module C80Estate
2
- VERSION = "0.1.0.13"
2
+ VERSION = "0.1.0.14"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: c80_estate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.13
4
+ version: 0.1.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - C80609A