def _system_table(group_id): sid = c.session['store'] if c.is_json(): if c.is_GET(): with orm.session_scope() as ss: # type:c.typeof_Session l = c.for_json_l(table_query(ss, sid, group_id).all()) return c.jsonify(l) elif c.is_PUT(): with orm.session_scope() as ss: # type:c.typeof_Session for k, v in c.data_POST().items(): ol = json.loads(k) for o in ol: r = c.newitem_web(orm.์ค์ _ํ ์ด๋ธ, c.session) c.merge_(o, r) r.group_id = group_id r.issync = None ss.merge(r) return 'modified' else: with orm.session_scope() as ss: # type:c.typeof_Session if c.is_GET(): gl = c.for_json_l(tablegroup_query(ss, sid).all()) return c.display(item=c.newitem_web(orm.์ค์ _ํ ์ด๋ธ๊ทธ๋ฃน, c.session), form_types=form_types, gl=gl, selected=group_id, TABLEBORDER_WIDTH=c.TABLEBORDER_WIDTH, TABLEBORDER_HEIGHT=c.TABLEBORDER_HEIGHT, ) c.abort(404)
def _earnings_week_(_id): store_id = c.session['store'] cnt_weeks = {} cnt = 0 if c.is_GET(): with orm.session_scope() as ss: # type:c.typeof_Session lst = ss.query(orm.ํ๋งค_ํ๋ชฉ) \ .filter_by(isdel='X') \ .filter(orm.ํ๋งค_ํ๋ชฉ.d >= "2018-01-01") \ .filter(orm.ํ๋งค_ํ๋ชฉ.d <= "2018-12-31") \ .all() for each in lst: d = each.d.strftime('%Y-%m-%d') if d not in cnt_weeks: cnt_weeks[d] = {'์์ ์ผ์': d, '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์' : 0 } cnt_weeks[d]['์ด๊ฑฐ๋์ก'] += each.๋จ๊ฐ cnt_weeks[d]['์ดํ ์ธ์ก'] += each.ํ ์ธ cnt_weeks[d]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_weeks[d]['์ธ๊ธ'] += each.์ธ cnt_weeks[d]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_weeks[d]['์์๊ฑด์'] += 1 return c.jsonify(cnt_weeks) c.abort(404)
def _system_menu(group_id): sid = c.session['store'] id = c.dict_item(orm, sid) il = list(id.values()) # print(id, il) form_types[0]['l'] = il if c.is_json(): if c.is_GET(): with orm.session_scope() as ss: # type:c.typeof_Session l = c.for_json_l(menu_query(ss, sid, group_id).all()) for i in l: try: i['๋ฉ๋ด๋ช '] = id[i['ํ๋ชฉ์ฝ๋']] except: i['๋ฉ๋ด๋ช '] = '๋ฏธ์ง์ ' return c.jsonify(l) elif c.is_PUT(): with orm.session_scope() as ss: # type:c.typeof_Session for k, v in c.data_POST().items(): ol = json.loads(k) for o in ol: r = c.newitem_web(orm.์ค์ _๋ฉ๋ด, c.session) c.merge_(o, r) r.group_id = group_id try: r.ํ๋ชฉ์ฝ๋ = c.fs2i(o['๋ฉ๋ด๋ช '].split('|', 1)[0].strip()) except: r.ํ๋ชฉ์ฝ๋ = 0 r.issync = None ss.merge(r) return 'modified' else: with orm.session_scope() as ss: # type:c.typeof_Session if c.is_GET(): gl = c.for_json_l(menugroup_query(ss, sid).all()) _g = [i for i in gl if i['id'] == group_id][0] return c.display( item=c.newitem_web(orm.์ค์ _๋ฉ๋ด๊ทธ๋ฃน, c.session), form_types=form_types, gl=gl, selected=group_id, ์ํ์นธ=_g['์ํ์นธ'], ์ข์ฐ์นธ=_g['์ข์ฐ์นธ'], MENUBORDER_WIDTH=c.MENUBORDER_WIDTH, MENUBORDER_HEIGHT=c.MENUBORDER_HEIGHT, ) c.abort(404)
def _system_menugroup_movedown(_id): sid = c.session['store'] if c.is_json(): if c.is_PUT(): with orm.session_scope() as ss: # type:c.typeof_Session r = c.simple_query(ss, orm.์ค์ _๋ฉ๋ด๊ทธ๋ฃน, id=_id).๋ฒํธ l = menugroup_query(ss, sid).all() if sid == c.session['store']: if r >= len(l): return 'modified' else: for i in l: if i.๋ฒํธ == r: i.๋ฒํธ += 1 elif i.๋ฒํธ == r + 1: i.๋ฒํธ -= 1 return 'modified' else: c.abort(403) c.abort(404)
def _system_tablegroup_moveup(_id): sid = c.session['store'] if c.is_json(): if c.is_PUT(): with orm.session_scope() as ss: # type:c.typeof_Session r = c.simple_query(ss, orm.์ค์ _ํ ์ด๋ธ๊ทธ๋ฃน, id=_id).๋ฒํธ l = tablegroup_query(ss, sid).all() if sid == c.session['store']: if r <= 1: return 'modified' else: for i in l: if i.๋ฒํธ == r - 1: i.๋ฒํธ += 1 elif i.๋ฒํธ == r: i.๋ฒํธ -= 1 return 'modified' else: c.abort(403) c.abort(404)
def _system_menugroup_(_id): store_id = c.session['store'] if c.is_json(): if c.is_GET(): with orm.session_scope() as ss: # type:c.typeof_Session q1 = ss.query(orm.์ํ_๋ถ๋ฅ) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .all() for x in q1: dummy = x.__dict__.copy() del dummy['_sa_instance_state'] for k, v in dummy.items(): if v is None: dummy[k] = '' elif isinstance(v, date): dummy[k] = v.isoformat() elif isinstance(v, datetime): dummy[k] = v.isoformat(' ') l.append(dummy) return c.jsonify(l) c.abort(404)
def _system_config1_(store_id): if c.is_json(): if c.is_GET(): d = { k + c.SEP + v['k']: v['v'] for k, v in get_config1(store_id).items() } return c.jsonify(d) elif c.is_PUT(): with orm.session_scope() as ss: # type:c.typeof_Session only = c.get_settings(orm, store_id) next_one = c.newitem_web(orm.settings, c.session) next_one.j = only.j.copy() for k, v in c.data_POST().items(): if c.SEP in k and 'checkbox' not in k: _n = k.split(c.SEP, 1)[0] _k = k.split(c.SEP, 1)[1] _v = v next_one.j['์ค์ '][_n] = {'k': _k, 'v': _v} ss.add(next_one) return 'modified' c.abort(404)
def _system_menugroup_(_id): sid = c.session['store'] if c.is_json(): if c.is_GET(): with orm.session_scope() as ss: # type:c.typeof_Session r = c.simple_query(ss, orm.์ค์ _๋ฉ๋ด๊ทธ๋ฃน, id=_id) return c.jsonify(c.for_json(r)) elif c.is_POST(): with orm.session_scope() as ss: # type:c.typeof_Session r = c.newitem_web(orm.์ค์ _๋ฉ๋ด๊ทธ๋ฃน, c.session) cnt = menugroup_query(ss, sid).count() r.๋ฒํธ = cnt + 1 for k, v in c.data_POST().items(): if hasattr(r, k) and k != 'id': if getattr(r, k) != v: setattr(r, k, v) ss.add(r) return 'added' elif c.is_PUT(): with orm.session_scope() as ss: # type:c.typeof_Session r = c.simple_query(ss, orm.์ค์ _๋ฉ๋ด๊ทธ๋ฃน, id=_id) if r.sid == c.session['store']: for k, v in c.data_POST().items(): if hasattr(r, k) and k != 'id': if getattr(r, k) != v: print(k, 'is changed') setattr(r, k, v) r.issync = None return 'modified' else: c.abort(403) elif c.is_DELETE(): with orm.session_scope() as ss: # type:c.typeof_Session r = c.simple_query(ss, orm.์ค์ _๋ฉ๋ด๊ทธ๋ฃน, id=_id) if r.sid == c.session['store']: r.isdel = c.O l = menugroup_query(ss, sid).all() for i in range(len(l)): l[i].๋ฒํธ = i + 1 r.issync = None return 'deleted' else: c.abort(403) c.abort(404)
def _goods_itemgroup_(_id): store_id = c.session['store'] if c.is_json(): if c.is_GET(): with orm.session_scope() as ss: # type:c.typeof_Session only = c.simple_query(ss, orm.์ํ_๋ถ๋ฅ, no=_id) return c.jsonify(c.for_json(only)) elif c.is_POST(): with orm.session_scope() as ss: # type:c.typeof_Session only = c.newitem_web(orm.์ํ_๋ถ๋ฅ, c.session) cnt = itemgroup_query(ss, store_id).count() only.๋ฒํธ = cnt + 1 for k, v in c.data_POST().items(): if hasattr(only, k) and k != 'no': if getattr(only, k) != v: setattr(only, k, v) ss.add(only) return 'added' elif c.is_PUT(): with orm.session_scope() as ss: # type:c.typeof_Session only = c.simple_query(ss, orm.์ํ_๋ถ๋ฅ, no=_id) if only.s == c.session['store']: for k, v in c.data_POST().items(): if hasattr(only, k) and k != 'no': if getattr(only, k) != v: print(k, 'is changed') setattr(only, k, v) only.issync = None return 'modified' else: c.abort(403) elif c.is_DELETE(): with orm.session_scope() as ss: # type:c.typeof_Session only = c.simple_query(ss, orm.์ํ_๋ถ๋ฅ, no=_id) if only.s == c.session['store']: only.isdel = c.O l = itemgroup_query(ss, store_id).all() for i in range(len(l)): l[i].๋ฒํธ = i + 1 only.issync = None return 'deleted' else: c.abort(403) c.abort(404)
def _goods_item_upload_(_id): store_id = c.session['store'] gd = c.dict_itemgroup(orm, store_id) if c.is_json(): if c.is_GET(): with orm.session_scope() as ss: # type:c.typeof_Session only = c.simple_query(ss, orm.์ํ_ํ๋ชฉ, no=_id) only.๋ถ๋ฅ = gd[only.๋ถ๋ฅno] return c.jsonify(c.for_json(only)) elif c.is_POST(): with orm.session_scope() as ss: # type:c.typeof_Session only = c.newitem_web(orm.์ํ_ํ๋ชฉ, c.session) for k, v in c.data_POST().items(): if hasattr(only, k) and k != 'no': if getattr(only, k) != v: setattr(only, k, v) only.๋ถ๋ฅno = c.fs2i(c.data_POST()['๋ถ๋ฅ'].split('|', 1)[0].strip()) ss.add(only) return 'added' elif c.is_PUT(): with orm.session_scope() as ss: # type:c.typeof_Session only = c.simple_query(ss, orm.์ํ_ํ๋ชฉ, no=_id) if only.s == c.session['store']: for k, v in c.data_POST().items(): if hasattr(only, k) and k != 'no': if getattr(only, k) != v: print(k, 'is changed') setattr(only, k, v) only.๋ถ๋ฅno = c.fs2i(c.data_POST()['๋ถ๋ฅ'].split('|', 1)[0].strip()) only.issync = None return 'modified' else: c.abort(403) elif c.is_DELETE(): with orm.session_scope() as ss: # type:c.typeof_Session only = c.simple_query(ss, orm.์ํ_ํ๋ชฉ, no=_id) if only.s == c.session['store']: only.isdel = c.O only.issync = None return 'deleted' else: c.abort(403) c.abort(404)
def _earnings_day_(_id, dates, datee): store_id = c.session['store'] cnt_days = {} cnt_days['์ํ๋ชฉ๋ก'] = {} cnt_days['์ํ๋ถ๋ฅ'] = {} cnt_days['์ผ์๋ณ'] = {} cnt = 0 if c.is_GET(): with orm.session_scope() as ss: # type:c.typeof_Session lst = ss.query(orm.ํ๋งค_ํ๋ชฉ) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .filter(orm.ํ๋งค_ํ๋ชฉ.d >= dates) \ .filter(orm.ํ๋งค_ํ๋ชฉ.d <= datee) \ .all() for each in lst: d = each.d.strftime('%Y-%m-%d') if d not in cnt_days['์ผ์๋ณ']: cnt_days['์ผ์๋ณ'][d] = { '์์ ์ผ์': d, '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0, '๋ถ๋ฅ๋ณ': {}, '์ํ๋ณ': {}, '์๋จ๋ณ': {}, '์์์ฆ๋ณ': {} } cnt_days['์ผ์๋ณ'][d]['์ด๊ฑฐ๋์ก'] += each.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['์ดํ ์ธ์ก'] += each.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์์๊ฑด์'] += 1 p = str(each.ํ๋ชฉpi) if p not in cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ']: cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p] = { '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ด๊ฑฐ๋์ก'] += each.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ดํ ์ธ์ก'] += each.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์์๊ฑด์'] += 1 s = each.ํ๋ชฉi if s not in cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ']: cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s] = { 'ppi': {}, '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['ppi'] = each.ํ๋ชฉpi cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ด๊ฑฐ๋์ก'] += each.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ดํ ์ธ์ก'] += each.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์์๊ฑด์'] += 1 lst1 = ss.query(orm.์ํ_ํ๋ชฉ) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .all() for each in lst1: cnt_days['์ํ๋ชฉ๋ก'].update({each.i: each.ํ๋ชฉ๋ช }) lst2 = ss.query(orm.์ํ_๋ถ๋ฅ) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .all() for each in lst2: cnt_days['์ํ๋ถ๋ฅ'].update({each.i: each.๋ถ๋ฅ๋ช }) lst3 = ss.query(orm.๊ฒฐ์ ) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .filter(orm.๊ฒฐ์ .d >= dates) \ .filter(orm.๊ฒฐ์ .d <= datee) \ .all() for each in lst3: d = each.d.strftime('%Y-%m-%d') cashm = {'ํ๊ธ', '์นด๋', '์นด๋(์์)', 'ํฌ์ธํธ'} for each1 in cashm: cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][each1] = { 'ํ๋งคi': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } for each in lst3: d = each.d.strftime('%Y-%m-%d') cash = each.๊ฒฐ์ ์๋จ # if cash not in cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ']: # cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash] = {'ํ๋งคi' : 0 , '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0} cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['์์๊ฑด์'] += 1 lst4 = ss.query(orm.ํ๋งค) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .filter(orm.ํ๋งค.d >= dates) \ .filter(orm.ํ๋งค.d <= datee) \ .all() d = 0 d1 = 0 d2 = 0 d3 = 0 for each in lst4: d = each.d.strftime('%Y-%m-%d') d1 = each.์ฃผ๋ฌธ์ผ์.strftime('%H:%M:%S') if each.๊ฒฐ์ ์ผ์: d2 = each.๊ฒฐ์ ์ผ์.strftime('%H:%M:%S') if each.์ทจ์์ผ์: d3 = each.์ทจ์์ผ์.strftime('%H:%M:%S') r = each.i if r not in cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ']: cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r] = { '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์ฃผ๋ฌธ์ผ์': d1, '๊ฒฐ์ ์ผ์': d2, '์ทจ์์ผ์': d3, 'ํ ์ด๋ธ๋ช ': "", '์ํ': {} } cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ด๊ฑฐ๋์ก'] = each.์ด๊ธ์ก cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ดํ ์ธ์ก'] = each.์ดํ ์ธ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ค๊ฑฐ๋์ก'] = each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ธ๊ธ'] = each.์ธ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['ํ๋งค์ด์ต'] = (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['ํ ์ด๋ธ๋ช '] = each.table_idx + 1 for each2 in cashm: cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r][each2] = 0 for each1 in lst3: if each1.ํ๋งคi == r: cash1 = each1.๊ฒฐ์ ์๋จ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r][cash1] += each1.ํฉ๊ณ for each3 in lst: g = each3.ํ๋ชฉi if each3.ํ๋งคi == r: if g not in cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ']: cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g] = { '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g][ '์ด๊ฑฐ๋์ก'] += each3.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g][ '์ดํ ์ธ์ก'] += each3.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g][ '์ค๊ฑฐ๋์ก'] += each3.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g]['์ธ๊ธ'] += each3.์ธ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g]['ํ๋งค์ด์ต'] += ( each3.๊ณต๊ธ๊ฐ + each3.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g]['์์๊ฑด์'] += 1 return c.jsonify(cnt_days) c.abort(404)
def _earnings_day_(_id, dates, datee): store_id = c.session['store'] cnt_days = {} cnt_days['์ํ๋ชฉ๋ก'] = {} cnt_days['์ํ๋ถ๋ฅ'] = {} cnt_days['์ผ์๋ณ'] = {} cnt_days['ํ ์ด๋ธ๋ชฉ๋ก'] = {} cashm = {'ํ๊ธ', '์นด๋', '์นด๋(์์)', 'ํฌ์ธํธ'} cnt = 0 if c.is_GET(): with orm.session_scope() as ss: # type:c.typeof_Session only = c.get_settings(orm, store_id) tbl = only.j['ํ ์ด๋ธ'] cnt_days['ํ ์ด๋ธ๋ชฉ๋ก'] = tbl lst = ss.query(orm.ํ๋งค_ํ๋ชฉ) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .filter(orm.ํ๋งค_ํ๋ชฉ.d >= dates) \ .filter(orm.ํ๋งค_ํ๋ชฉ.d <= datee) \ .all() lst0 = ss.query(orm.ํ๋งค) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .filter(orm.ํ๋งค.d >= dates) \ .filter(orm.ํ๋งค.d <= datee) \ .all() for each0 in lst0: d = each0.d.strftime('%Y-%m-%d') if d not in cnt_days['์ผ์๋ณ']: cnt_days['์ผ์๋ณ'][d] = { '์์ ์ผ์': d, '๊ตฌ๋ถ': { 'ํ๋งค': { '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, '๋ฉด์ธ': 0, 'ํ๋งค์ด์ต': 0, 'ํ๋งค๊ฑด์': 0, '์์๊ฑด์': 0 }, '๋ฐํ': { '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, '๋ฉด์ธ': 0, 'ํ๋งค์ด์ต': 0, 'ํ๋งค๊ฑด์': 0, '์์๊ฑด์': 0 } }, '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, '๋ฉด์ธ': 0, 'ํ๋งค์ด์ต': 0, 'ํ๋งค๊ฑด์': 0, '์์๊ฑด์': 0, '๋ถ๋ฅ๋ณ': {}, '์ํ๋ณ': {}, '์๋จ๋ณ': {}, '์๋จ๋ณ๋งค์ถ': {}, '์๋จ๋ณ๋ฐํ': {}, '์์์ฆ๋ณ': {}, 'ํ ์ด๋ธ๋ณ': {} } if each0.์ ํ == 'A' or each0.์ ํ == 'B': cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['ํ๋งค']['์ด๊ฑฐ๋์ก'] += each0.์ด๊ธ์ก cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['ํ๋งค']['์ดํ ์ธ์ก'] += each0.์ดํ ์ธ cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['ํ๋งค']['์ค๊ฑฐ๋์ก'] += each0.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['ํ๋งค']['์ธ๊ธ'] += each0.์ธ cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['ํ๋งค']['๋ฉด์ธ'] += each0.๋ฉด์ธ cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['ํ๋งค']['ํ๋งค์ด์ต'] += (each0.๊ณต๊ธ๊ฐ + each0.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['ํ๋งค']['ํ๋งค๊ฑด์'] += 1 if each0.์ ํ == 'C': cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['๋ฐํ']['์ด๊ฑฐ๋์ก'] += each0.์ด๊ธ์ก cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['๋ฐํ']['์ดํ ์ธ์ก'] += each0.์ดํ ์ธ cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['๋ฐํ']['์ค๊ฑฐ๋์ก'] += each0.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['๋ฐํ']['์ธ๊ธ'] += each0.์ธ cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['๋ฐํ']['๋ฉด์ธ'] += each0.๋ฉด์ธ cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['๋ฐํ']['ํ๋งค์ด์ต'] += (each0.๊ณต๊ธ๊ฐ + each0.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['๊ตฌ๋ถ']['๋ฐํ']['ํ๋งค๊ฑด์'] += -1 for each in lst: if each0.i == each.ํ๋งคi: cnt_days['์ผ์๋ณ'][d]['์ด๊ฑฐ๋์ก'] += each.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['์ดํ ์ธ์ก'] += each.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['๋ฉด์ธ'] += each.๋ฉด์ธ cnt_days['์ผ์๋ณ'][d]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['ํ๋งค๊ฑด์'] += 1 if each.์ ํ == 'C': cnt_days['์ผ์๋ณ'][d]['์ด๊ฑฐ๋์ก'] += -each.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['์ดํ ์ธ์ก'] += -each.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['์ค๊ฑฐ๋์ก'] += -each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์ธ๊ธ'] += -each.์ธ cnt_days['์ผ์๋ณ'][d]['๋ฉด์ธ'] += -each.๋ฉด์ธ cnt_days['์ผ์๋ณ'][d]['ํ๋งค์ด์ต'] += -(each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['ํ๋งค๊ฑด์'] += -1 p = str(each.ํ๋ชฉpi) if p not in cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ']: cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p] = { '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ด๊ฑฐ๋์ก'] += each.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ดํ ์ธ์ก'] += each.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์์๊ฑด์'] += 1 if each.์ ํ == 'C': cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ด๊ฑฐ๋์ก'] += -each.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ดํ ์ธ์ก'] += -each.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ค๊ฑฐ๋์ก'] += -each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ธ๊ธ'] += -each.์ธ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['ํ๋งค์ด์ต'] += -( each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์์๊ฑด์'] += -1 s = each.ํ๋ชฉi if s not in cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ']: cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s] = { 'ppi': {}, '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['ppi'] = each.ํ๋ชฉpi cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ด๊ฑฐ๋์ก'] += each.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ดํ ์ธ์ก'] += each.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์์๊ฑด์'] += 1 if each.์ ํ == 'C': cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ด๊ฑฐ๋์ก'] += -each.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ดํ ์ธ์ก'] += -each.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ค๊ฑฐ๋์ก'] += -each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ธ๊ธ'] += -each.์ธ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['ํ๋งค์ด์ต'] += -( each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์์๊ฑด์'] += -1 lst1 = ss.query(orm.์ํ_ํ๋ชฉ) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .all() for each in lst1: cnt_days['์ํ๋ชฉ๋ก'].update({each.i: each.ํ๋ชฉ๋ช }) lst2 = ss.query(orm.์ํ_๋ถ๋ฅ) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .all() for each in lst2: cnt_days['์ํ๋ถ๋ฅ'].update({each.i: each.๋ถ๋ฅ๋ช }) lst3 = ss.query(orm.๊ฒฐ์ ) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .filter(orm.๊ฒฐ์ .d >= dates) \ .filter(orm.๊ฒฐ์ .d <= datee) \ .all() for each in lst3: d = each.d.strftime('%Y-%m-%d') for each1 in cashm: cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][each1] = { 'ํ๋งคi': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, '๋ฉด์ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ๋ฐํ'][each1] = { 'ํ๋งคi': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, '๋ฉด์ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ๋งค์ถ'][each1] = { 'ํ๋งคi': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, '๋ฉด์ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } for each in lst3: d = each.d.strftime('%Y-%m-%d') cash = each.๊ฒฐ์ ์๋จ # if cash not in cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ']: # cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash] = {'ํ๋งคi' : 0 , '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, '๋ฉด์ธ' : 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0} if each.์ ํ == 'A' or each.์ ํ == 'B': cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ๋งค์ถ'][cash]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ๋งค์ถ'][cash]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ๋งค์ถ'][cash]['๋ฉด์ธ'] += each.๋ฉด์ธ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ๋งค์ถ'][cash]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ๋งค์ถ'][cash]['์์๊ฑด์'] += 1 cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['๋ฉด์ธ'] += each.๋ฉด์ธ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['์์๊ฑด์'] += 1 else: cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ๋ฐํ'][cash]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ๋ฐํ'][cash]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ๋ฐํ'][cash]['๋ฉด์ธ'] += each.๋ฉด์ธ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ๋ฐํ'][cash]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ๋ฐํ'][cash]['์์๊ฑด์'] += 1 cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['๋ฉด์ธ'] += each.๋ฉด์ธ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['์์๊ฑด์'] += -1 lst4 = ss.query(orm.ํ๋งค) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .filter(orm.ํ๋งค.d >= dates) \ .filter(orm.ํ๋งค.d <= datee) \ .all() d = 0 d1 = 0 d2 = 0 d3 = 0 for each in lst4: d = each.d.strftime('%Y-%m-%d') d1 = each.์ฃผ๋ฌธ์ผ์.strftime('%H:%M:%S') if each.๊ฒฐ์ ์ผ์: d2 = each.๊ฒฐ์ ์ผ์.strftime('%H:%M:%S') if each.์ทจ์์ผ์: d3 = each.์ทจ์์ผ์.strftime('%H:%M:%S') t = each.table_idx g = each.group_idx gt = str(g) + '-' + str(t) if gt not in cnt_days['์ผ์๋ณ'][d]['ํ ์ด๋ธ๋ณ']: cnt_days['์ผ์๋ณ'][d]['ํ ์ด๋ธ๋ณ'][gt] = { '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, '๋ฉด์ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } cnt_days['์ผ์๋ณ'][d]['ํ ์ด๋ธ๋ณ'][gt]['์ด๊ฑฐ๋์ก'] += each.์ด๊ธ์ก cnt_days['์ผ์๋ณ'][d]['ํ ์ด๋ธ๋ณ'][gt]['์ดํ ์ธ์ก'] += each.์ดํ ์ธ cnt_days['์ผ์๋ณ'][d]['ํ ์ด๋ธ๋ณ'][gt]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['ํ ์ด๋ธ๋ณ'][gt]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['ํ ์ด๋ธ๋ณ'][gt]['๋ฉด์ธ'] += each.๋ฉด์ธ cnt_days['์ผ์๋ณ'][d]['ํ ์ด๋ธ๋ณ'][gt]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) if each.์ ํ == 'A' or each.์ ํ == 'B': cnt_days['์ผ์๋ณ'][d]['ํ ์ด๋ธ๋ณ'][gt]['์์๊ฑด์'] += 1 else: cnt_days['์ผ์๋ณ'][d]['ํ ์ด๋ธ๋ณ'][gt]['์์๊ฑด์'] += -1 r = each.i if r not in cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ']: cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r] = { '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, '๋ฉด์ธ': 0, 'ํ๋งค์ด์ต': 0, '์ฃผ๋ฌธ์ผ์': d1, '๊ฒฐ์ ์ผ์': d2, '์ทจ์์ผ์': d3, 'ํ ์ด๋ธ๋ช ': "", '์ํ': {}, '์์๊ฑด์': 0 } cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ด๊ฑฐ๋์ก'] = each.์ด๊ธ์ก cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ดํ ์ธ์ก'] = each.์ดํ ์ธ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ค๊ฑฐ๋์ก'] = each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ธ๊ธ'] = each.์ธ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['๋ฉด์ธ'] = each.๋ฉด์ธ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['ํ๋งค์ด์ต'] = (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['ํ ์ด๋ธ๋ช '] = each.table_idx + 1 cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['๊ตฌ๋ถ'] = each.์ ํ cnt_days['์ผ์๋ณ'][d]['์์๊ฑด์'] += 1 for each2 in cashm: cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r][each2] = 0 for each1 in lst3: if each1.ํ๋งคi == r or each1.ํ๋งคi == each.ci: cash1 = each1.๊ฒฐ์ ์๋จ if each1.์ ํ == each.์ ํ: cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r][cash1] += each1.ํฉ๊ณ for each3 in lst: g = each3.ํ๋ชฉi if each3.ํ๋งคi == r or each.ci == each3.ํ๋งคi: if g not in cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ']: cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g] = { '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } if each.ci == each3.ํ๋งคi: cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g][ '์ด๊ฑฐ๋์ก'] += -each3.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g][ '์ดํ ์ธ์ก'] += -each3.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g][ '์ค๊ฑฐ๋์ก'] += -each3.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g][ '์ธ๊ธ'] += -each3.์ธ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g][ 'ํ๋งค์ด์ต'] += -(each3.๊ณต๊ธ๊ฐ + each3.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g][ '์์๊ฑด์'] += -1 else: cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g][ '์ด๊ฑฐ๋์ก'] += each3.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g][ '์ดํ ์ธ์ก'] += each3.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g][ '์ค๊ฑฐ๋์ก'] += each3.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g][ '์ธ๊ธ'] += each3.์ธ cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g]['ํ๋งค์ด์ต'] += ( each3.๊ณต๊ธ๊ฐ + each3.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์์์ฆ๋ณ'][r]['์ํ'][g]['์์๊ฑด์'] += 1 return c.jsonify(cnt_days) c.abort(404)
def _earnings_dayall_(_id): store_id = c.session['store'] cnt_days = {} cnt_days['์ํ๋ชฉ๋ก'] = {} cnt_days['์ํ๋ถ๋ฅ'] = {} cnt_days['์ผ์๋ณ'] = {} cnt = 0 if c.is_GET(): with orm.session_scope() as ss: # type:c.typeof_Session lst = ss.query(orm.ํ๋งค_ํ๋ชฉ) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .all() for each in lst: d = each.d.strftime('%Y-%m-%d') if d not in cnt_days['์ผ์๋ณ']: cnt_days['์ผ์๋ณ'][d] = { '์์ ์ผ์': d, '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0, '๋ถ๋ฅ๋ณ': {}, '์ํ๋ณ': {}, '์๋จ๋ณ': {} } cnt_days['์ผ์๋ณ'][d]['์ด๊ฑฐ๋์ก'] += each.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['์ดํ ์ธ์ก'] += each.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์์๊ฑด์'] += 1 p = str(each.ํ๋ชฉpi) if p not in cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ']: cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p] = { '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ด๊ฑฐ๋์ก'] += each.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ดํ ์ธ์ก'] += each.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['๋ถ๋ฅ๋ณ'][p]['์์๊ฑด์'] += 1 s = each.ํ๋ชฉi if s not in cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ']: cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s] = { 'ppi': {}, '์ด๊ฑฐ๋์ก': 0, '์ดํ ์ธ์ก': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['ppi'] = each.ํ๋ชฉpi cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ด๊ฑฐ๋์ก'] += each.๋จ๊ฐ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ดํ ์ธ์ก'] += each.ํ ์ธ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์ํ๋ณ'][s]['์์๊ฑด์'] += 1 lst1 = ss.query(orm.์ํ_ํ๋ชฉ) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .all() for each in lst1: cnt_days['์ํ๋ชฉ๋ก'].update({each.i: each.ํ๋ชฉ๋ช }) lst2 = ss.query(orm.์ํ_๋ถ๋ฅ) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .all() for each in lst2: cnt_days['์ํ๋ถ๋ฅ'].update({each.i: each.๋ถ๋ฅ๋ช }) lst1 = ss.query(orm.๊ฒฐ์ ) \ .filter_by(s=store_id) \ .filter_by(isdel='X') \ .all() for each in lst1: d = each.d.strftime('%Y-%m-%d') cash = str(each.๊ฒฐ์ ์๋จ) if cash not in cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ']: cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash] = { 'ํ๋งคi': 0, '์ค๊ฑฐ๋์ก': 0, '์ธ๊ธ': 0, 'ํ๋งค์ด์ต': 0, '์์๊ฑด์': 0 } cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['์ค๊ฑฐ๋์ก'] += each.ํฉ๊ณ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['์ธ๊ธ'] += each.์ธ cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['ํ๋งค์ด์ต'] += (each.๊ณต๊ธ๊ฐ + each.๋ฉด์ธ) cnt_days['์ผ์๋ณ'][d]['์๋จ๋ณ'][cash]['์์๊ฑด์'] += 1 return c.jsonify(cnt_days) c.abort(404)