c80_estate 0.1.0.13 → 0.1.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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