new employee_leave_balance_report

This commit is contained in:
Rushabh Mehta
2013-02-22 17:54:50 +05:30
parent ff20067a6f
commit 90098d2ebd
23 changed files with 166 additions and 231 deletions

View File

@@ -1 +0,0 @@
from __future__ import unicode_literals

View File

@@ -1,41 +0,0 @@
// ERPNext - web based ERP (http://erpnext.com)
// Copyright (C) 2012 Web Notes Technologies Pvt Ltd
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
this.mytabs.items['Select Columns'].hide();
this.mytabs.tabs['More Filters'].hide();
report.customize_filters = function() {
this.add_filter({
fieldname:'fiscal_year',
label:'Fiscal Year',
fieldtype:'Link',
ignore : 1,
options: 'Fiscal Year',
parent:'Leave Allocation',
in_first_page:1,
report_default: sys_defaults.fiscal_year
});
this.add_filter({
fieldname:'employee_name',
label:'Employee Name',
fieldtype:'Data',
ignore : 1,
options: '',
parent:'Leave Allocation',
in_first_page:1
});
}

View File

@@ -1,73 +0,0 @@
# ERPNext - web based ERP (http://erpnext.com)
# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from __future__ import unicode_literals
leave_types = sql("""
SELECT name FROM `tabLeave Type`
WHERE
docstatus!=2 AND
name NOT IN ('Compensatory Off', 'Leave Without Pay')""")
col=[]
col.append(['Employee ID', 'Data', '150px', ''])
col.append(['Employee Name', 'Data', '150px', ''])
col.append(['Fiscal Year', 'Data', '150px', ''])
for e in leave_types:
l = (len(e[0])*9)
if l < 150 : col_width = '150px'
else: col_width = '%spx'%(l)
col.append([e[0],'Currency',col_width,''])
col.append(['Total Balance','Currency','150px',''])
for c in col:
colnames.append(c[0])
coltypes.append(c[1])
colwidths.append(c[2])
coloptions.append(c[3])
col_idx[c[0]] = len(colnames)
data = res
res = []
try:
for d in data:
exists = 0
ind = None
# Check if the employee record exists in list 'res'
for r in res:
if r[0] == d[0] and r[1] == d[1]:
exists = 1
ind = res.index(r)
break
if d[3] in colnames:
# If exists, then append the leave type data
if exists:
res[ind][colnames.index(d[3])] = flt(d[4]) - flt(d[5])
res[ind][len(colnames)-1] = sum(res[ind][3:-1])
# Else create a new row in res
else:
new_row = [0.0 for c in colnames]
new_row[0] = d[0]
new_row[1] = d[1]
new_row[2] = d[2]
new_row[colnames.index(d[3])] = flt(d[4]) - flt(d[5])
new_row[len(colnames)-1] = sum(new_row[3:-1])
res.append(new_row)
except Exception, e:
msgprint(e)

View File

@@ -1,25 +0,0 @@
SELECT
leave_alloc.employee AS 'employee',
leave_alloc.employee_name AS 'employee_name',
leave_alloc.fiscal_year AS 'fiscal_year',
leave_alloc.leave_type AS 'leave_type',
leave_alloc.total_leaves_allocated AS 'total_leaves_allocated',
SUM(leave_app.total_leave_days) AS 'total_leaves_applied'
FROM
`tabLeave Allocation` AS leave_alloc LEFT JOIN `tabLeave Application` AS leave_app
ON leave_alloc.employee=leave_app.employee AND
leave_alloc.leave_type=leave_app.leave_type AND
leave_alloc.fiscal_year=leave_app.fiscal_year AND
leave_app.docstatus=1
WHERE
leave_alloc.docstatus=1 AND
leave_alloc.fiscal_year LIKE '%(fiscal_year)s%%' AND
leave_alloc.employee_name LIKE '%(employee_name)s%%'
GROUP BY
employee,
fiscal_year,
leave_type
ORDER BY
employee,
fiscal_year,
leave_type

View File

@@ -1,27 +0,0 @@
[
{
"owner": "harshada@webnotestech.com",
"docstatus": 0,
"creation": "2010-12-14 10:33:09",
"modified_by": "Administrator",
"modified": "2011-10-31 15:42:36"
},
{
"description": "Employeewise Balance Leave Report",
"module": "HR",
"standard": "Yes",
"sort_order": "ASC",
"filters": "{'Employee\u0001Saved':1,'Employee\u0001Submitted':1,'Employee\u0001Gender':'','Employee\u0001Month of Birth':'','Employee\u0001Status':'Active'}",
"doc_type": "Employee",
"name": "__common__",
"doctype": "Search Criteria",
"sort_by": "`tabEmployee`.`name`",
"page_len": 100,
"criteria_name": "Employee Leave Balance Report",
"columns": "Employee\u0001ID"
},
{
"name": "employeewise_balance_leave_report",
"doctype": "Search Criteria"
}
]