[cleanup] [minor] mis control
diff --git a/accounts/doctype/mis_control/mis_control.py b/accounts/doctype/mis_control/mis_control.py
index 3637d44..3a0483f 100644
--- a/accounts/doctype/mis_control/mis_control.py
+++ b/accounts/doctype/mis_control/mis_control.py
@@ -3,16 +3,9 @@
from __future__ import unicode_literals
import webnotes
-
-from webnotes.utils import cint, cstr, flt, get_first_day, get_last_day, has_common
-from webnotes.model import db_exists
-from webnotes.model.bean import copy_doclist
-from webnotes import session, msgprint
-
+from webnotes.utils import flt, get_first_day, get_last_day, has_common
import webnotes.defaults
-
-
-from accounts.utils import get_balance_on, get_fiscal_year
+from accounts.utils import get_balance_on
class DocType:
def __init__(self, doc, doclist):
@@ -30,15 +23,12 @@
self.flag = 0
# Get defaults on load of MIS, MIS - Comparison Report and Financial statements
- # ----------------------------------------------------
def get_comp(self):
ret = {}
type = []
- comp = []
- # ------ get period -----------
+
ret['period'] = ['Annual','Half Yearly','Quarterly','Monthly']
- # ---- get companies ---------
from accounts.page.accounts_browser.accounts_browser import get_companies
ret['company'] = get_companies()
@@ -58,7 +48,7 @@
for i in range(0,fiscal_start_month-1): mon.append(month_list[i])
ret['month'] = mon
- # ------------------------ get MIS Type on basis of roles of session user ------------------------------------------
+ # get MIS Type on basis of roles of session user
self.roles = webnotes.user.get_roles()
if has_common(self.roles, ['Sales Manager']):
type.append('Sales')
@@ -66,101 +56,7 @@
type.append('Purchase')
ret['type'] = type
return ret
-
- # Gets Transactions type and Group By options based on module
- #------------------------------------------------------------------
- def get_trans_group(self,module):
- ret = {}
- st,group = [],[]
- if module == 'Sales':
- st = ['Quotation','Sales Order','Delivery Note','Sales Invoice']
- group = ['Item','Item Group','Customer','Customer Group','Cost Center']
- elif module == 'Purchase':
- st = ['Purchase Order','Purchase Receipt','Purchase Invoice']
- group = ['Item','Item Group','Supplier','Supplier Type']
-
- ret['stmt_type'] = st
- ret['group_by'] = group
-
- return ret
- # Get Days based on month (for MIS Comparison Report)
- # --------------------------------------------------------
- def get_days(self,month):
- days = []
- ret = {}
- if month == 'Jan' or month == 'Mar' or month == 'May' or month == 'Jul' or month == 'Aug' or month == 'Oct' or month == 'Dec':
- for i in range(1,32):
- days.append(i)
- elif month == 'Apr' or month == 'Jun' or month == 'Sep' or month == 'Nov':
- for i in range(1,31):
- days.append(i)
- elif month == 'Feb':
- for i in range(1,29):
- days.append(i)
- ret['days'] = days
- return ret
-
- # Get from date and to date based on fiscal year (for in summary - comparison report)
- # -----------------------------------------------------------------------------------------------------
- def dates(self,fiscal_year,from_date,to_date):
- import datetime
- ret = ''
- start_date = cstr(webnotes.conn.sql("select year_start_date from `tabFiscal Year` where name = %s",fiscal_year)[0][0])
- st_mon = cint(from_date.split('-')[1])
- ed_mon = cint(to_date.split('-')[1])
- st_day = cint(from_date.split('-')[2])
- ed_day = cint(to_date.split('-')[2])
- fiscal_start_month = cint(start_date.split('-')[1])
- next_fiscal_year = cint(start_date.split('-')[0]) + 1
- current_year = ''
- next_year = ''
-
- #CASE - 1 : Jan - Mar (Valid)
- if st_mon < fiscal_start_month and ed_mon < fiscal_start_month:
- current_year = cint(start_date.split('-')[0]) + 1
- next_year = cint(start_date.split('-')[0]) + 1
-
- # Case - 2 : Apr - Dec (Valid)
- elif st_mon >= fiscal_start_month and ed_mon <= 12 and ed_mon >= fiscal_start_month:
- current_year = cint(start_date.split('-')[0])
- next_year = cint(start_date.split('-')[0])
-
- # Case 3 : Jan - May (Invalid)
- elif st_mon < fiscal_start_month and ed_mon >= fiscal_start_month:
- current_year = cint(start_date.split('-')[0]) + 1
- next_year = cint(start_date.split('-')[0]) + 2
-
- # check whether from date is within fiscal year
- if datetime.date(current_year, st_mon, st_day) >= datetime.date(cint(start_date.split('-')[0]), cint(start_date.split('-')[1]), cint(start_date.split('-')[2])) and datetime.date(cint(current_year), cint(st_mon), cint(st_day)) < datetime.date((cint(start_date.split('-')[0])+1), cint(start_date.split('-')[1]), cint(start_date.split('-')[2])):
- begin_date = cstr(current_year)+"-"+cstr(st_mon)+"-"+cstr(st_day)
- else:
- msgprint("Please enter appropriate from date.")
- raise Exception
- # check whether to date is within fiscal year
- if datetime.date(next_year, ed_mon, ed_day) >= datetime.date(cint(start_date.split('-')[0]), cint(start_date.split('-')[1]), cint(start_date.split('-')[2])) and datetime.date(cint(next_year), cint(ed_mon), cint(ed_day)) < datetime.date(cint(start_date.split('-')[0])+1, cint(start_date.split('-')[1]), cint(start_date.split('-')[2])):
- end_date = cstr(next_year)+"-"+cstr(ed_mon)+"-"+cstr(ed_day)
- else:
- msgprint("Please enter appropriate to date.")
- raise Exception
- ret = begin_date+'~~~'+end_date
- return ret
-
- # Get MIS Totals
- # ---------------
- def get_totals(self, args):
- args = eval(args)
- #msgprint(args)
- totals = webnotes.conn.sql("SELECT %s FROM %s WHERE %s %s %s %s" %(cstr(args['query_val']), cstr(args['tables']), cstr(args['company']), cstr(args['cond']), cstr(args['add_cond']), cstr(args['fil_cond'])), as_dict = 1)[0]
- #msgprint(totals)
- tot_keys = totals.keys()
- # return in flt because JSON doesn't accept Decimal
- for d in tot_keys:
- totals[d] = flt(totals[d])
- return totals
-
- # Get Statement
- # -------------
def get_statement(self, arg):
self.return_data = []
@@ -176,13 +72,9 @@
if arg['statement'] == 'Balance Sheet': pl = 'No'
if arg['statement'] == 'Profit & Loss': pl = 'Yes'
self.get_children('',0,pl,arg['company'], arg['year'])
-
- #self.balance_pl_statement(acct, arg['statement'])
- #msgprint(self.return_data)
- return self.return_data
- # Get Children
- # ------------
+ return self.return_data
+
def get_children(self, parent_account, level, pl, company, fy):
cl = webnotes.conn.sql("select distinct account_name, name, debit_or_credit, lft, rgt from `tabAccount` where ifnull(parent_account, '') = %s and ifnull(is_pl_account, 'No')=%s and company=%s and docstatus != 2 order by name asc", (parent_account, pl, company))
level0_diff = [0 for p in self.period_list]
@@ -208,7 +100,6 @@
self.get_children(c[1], level+1, pl, company, fy)
# make totals - for top level
- # ---------------------------
if level==0:
# add rows for profit / loss in B/S
if pl=='No':
@@ -230,13 +121,8 @@
level0_diff[i] = flt(totals[i]) + level0_diff[i]
else:
self.return_data.append([4, 'Total '+c[0]] + totals)
-
- # Define Periods
- # --------------
-
- def define_periods(self, year, period):
-
- # get year start date
+
+ def define_periods(self, year, period):
ysd = webnotes.conn.sql("select year_start_date from `tabFiscal Year` where name=%s", year)
ysd = ysd and ysd[0][0] or ''