|
@@ -9,14 +9,9 @@ DATE_FORMAT = '%Y-%m-%d'
|
|
|
class HrPayslip(models.Model):
|
|
|
_inherit = 'hr.payslip'
|
|
|
|
|
|
- '''
|
|
|
- GET Statement
|
|
|
- '''
|
|
|
+ ''' GET Statement - Obtener las caja abierta/nueva del usuario '''
|
|
|
@api.model
|
|
|
def get_statement_available(self):
|
|
|
- '''
|
|
|
- Obtener las caja abierta/nueva del usuario
|
|
|
- '''
|
|
|
BankStatement = []
|
|
|
for statement in self.env['account.bank.statement'].search([('state','!=','confirm'),('user_id','=',self.env.user.id)]):
|
|
|
|
|
@@ -36,17 +31,16 @@ class HrPayslip(models.Model):
|
|
|
})
|
|
|
|
|
|
return BankStatement
|
|
|
- '''
|
|
|
- Recalcular las lineas de la nomina
|
|
|
- '''
|
|
|
+
|
|
|
+ ''' Recalcular las lineas de la nomina '''
|
|
|
@api.model
|
|
|
def recompute_sheet(self, values):
|
|
|
payslip = self.env['hr.payslip'].browse(values)
|
|
|
- # Faltas de Funcionario
|
|
|
+ ''' Faltas de Funcionario '''
|
|
|
payslip_worked = self.env['hr.payslip.worked_days'].search([('payslip_id', '=' ,payslip.id),('code', '=', 'FALTAS')])
|
|
|
- # Adelanto
|
|
|
+ ''' Adelanto '''
|
|
|
payslip_advancement = self.env['hr.payslip.input'].search([('payslip_id', '=' ,payslip.id),('code', '=', 'ADL')])
|
|
|
- # Comision
|
|
|
+ ''' Comision '''
|
|
|
payslip_commission = self.env['hr.payslip.input'].search([('payslip_id', '=' ,payslip.id),('code', '=', 'CMS')])
|
|
|
|
|
|
line_worked = None
|
|
@@ -115,9 +109,7 @@ class HrPayslip(models.Model):
|
|
|
|
|
|
return True if payslip else False
|
|
|
|
|
|
- '''
|
|
|
- Crear nueva falta
|
|
|
- '''
|
|
|
+ ''' Crear nueva falta '''
|
|
|
@api.model
|
|
|
def join_payslip_faults(self, values):
|
|
|
payslip = self.env['hr.payslip'].browse(values['id'])
|
|
@@ -139,48 +131,34 @@ class HrPayslip(models.Model):
|
|
|
|
|
|
return True if recompute_sheet else False
|
|
|
|
|
|
- '''
|
|
|
- Eliminar falta
|
|
|
- '''
|
|
|
+ ''' Eliminar falta '''
|
|
|
@api.model
|
|
|
def unlink_payslip_worked(self, values):
|
|
|
worked_days = self.env['hr.payslip.worked_days'].search([('payslip_id', '=', values['id']),('id', '=', values['worked_id'])])
|
|
|
unlink_work = worked_days.unlink()
|
|
|
-
|
|
|
return True if unlink_work else False
|
|
|
|
|
|
- '''
|
|
|
- Modificar Falta
|
|
|
- '''
|
|
|
+ ''' Modificar Falta '''
|
|
|
@api.model
|
|
|
def write_payslip_worked(self, values):
|
|
|
worked_days = self.env['hr.payslip.worked_days'].search([('payslip_id', '=', values['id']),('id', '=', values['worked_id'])])
|
|
|
-
|
|
|
worked_update = {
|
|
|
'name': values['name'],
|
|
|
'number_of_days': values['days']
|
|
|
}
|
|
|
-
|
|
|
worked_days.write(worked_update)
|
|
|
-
|
|
|
return True if worked_days else False
|
|
|
|
|
|
- '''
|
|
|
- Get timezone
|
|
|
- '''
|
|
|
+ ''' Get timezone '''
|
|
|
def get_timezone(self):
|
|
|
tz_name = self._context.get('tz') or self.env.user.tz
|
|
|
return timezone(tz_name)
|
|
|
|
|
|
- '''
|
|
|
- Get server date
|
|
|
- '''
|
|
|
+ ''' Get server date '''
|
|
|
def get_server_datetime(self):
|
|
|
return datetime.now(self.get_timezone()).strftime(DATE_FORMAT)
|
|
|
|
|
|
- '''
|
|
|
- check_module Installed
|
|
|
- '''
|
|
|
+ ''' check_module Installed '''
|
|
|
def check_module(self, module_name):
|
|
|
'''
|
|
|
Método para verificar si los modulo están instalado
|
|
@@ -190,15 +168,11 @@ class HrPayslip(models.Model):
|
|
|
module = self.env['ir.module.module'].search([('name', '=', module_name), ('state', '=', 'installed')])
|
|
|
return len(module) != 0
|
|
|
|
|
|
- '''
|
|
|
- Create payslip input
|
|
|
- '''
|
|
|
+ ''' Create payslip input '''
|
|
|
def cretae_eiru_payslip_input(self, values):
|
|
|
return self.env['hr.payslip.input'].create(values)
|
|
|
|
|
|
- '''
|
|
|
- Crear Adelanto/comision
|
|
|
- '''
|
|
|
+ ''' Crear Adelanto/comision '''
|
|
|
@api.model
|
|
|
def create_payslip_input(self,values):
|
|
|
date_server = self.get_server_datetime()
|
|
@@ -216,7 +190,7 @@ class HrPayslip(models.Model):
|
|
|
'sequence': 10,
|
|
|
'payslip_id': payslip.id
|
|
|
}
|
|
|
- ## Create line
|
|
|
+ ''' Create line '''
|
|
|
inputPayslip = self.cretae_eiru_payslip_input(input_line)
|
|
|
|
|
|
if (inputPayslip) and (values['salaryRule'] == 'ADL'):
|
|
@@ -231,9 +205,8 @@ class HrPayslip(models.Model):
|
|
|
statementBankLine = self.create_eiru_bank_statement_line(date_server, statementBank, inputPayslip.id,payslip.id)
|
|
|
|
|
|
return True
|
|
|
- '''
|
|
|
- Create Statement
|
|
|
- '''
|
|
|
+
|
|
|
+ ''' Create Statement '''
|
|
|
def create_eiru_bank_statement(self, JournalId, statementId, date_server, resUser):
|
|
|
accountJournal = self.env['account.journal'].browse(JournalId)
|
|
|
period = self.env['account.period'].search([('date_start', '<=', date_server),('date_stop', '>=', date_server)])
|
|
@@ -266,9 +239,7 @@ class HrPayslip(models.Model):
|
|
|
|
|
|
return bankStatement
|
|
|
|
|
|
- '''
|
|
|
- Create statement Line
|
|
|
- '''
|
|
|
+ ''' Create statement Line '''
|
|
|
def create_eiru_bank_statement_line(self, dateServer, statement, payslipInputID, payslipId):
|
|
|
payslip_input = self.env['hr.payslip.input'].browse(payslipInputID)
|
|
|
payslip = self.env['hr.payslip'].browse(payslipId)
|
|
@@ -287,22 +258,21 @@ class HrPayslip(models.Model):
|
|
|
statementLine = self.env['account.bank.statement.line'].create(bank_statement_line)
|
|
|
|
|
|
return statementLine
|
|
|
- '''
|
|
|
- Export Statement
|
|
|
- '''
|
|
|
+
|
|
|
+ ''' Export Statement '''
|
|
|
@api.model
|
|
|
def bank_statement_import(self, values):
|
|
|
date_server = self.get_server_datetime()
|
|
|
resUserId = self.env.user.id
|
|
|
- ### consultar payslip
|
|
|
+ ''' consultar payslip'''
|
|
|
payslip = self.env['hr.payslip'].browse(values['payslipId'])
|
|
|
if (not payslip):
|
|
|
return False
|
|
|
- ### consultar payslip_input
|
|
|
+ ''' consultar payslip_input '''
|
|
|
payslip_input = self.env['hr.payslip.input'].browse(values['imputId'])
|
|
|
if (not payslip_input):
|
|
|
return False
|
|
|
- ### consultar accountJournal
|
|
|
+ ''' consultar accountJournal '''
|
|
|
journal = self.env['account.journal'].browse(values['journalid'])
|
|
|
if (not journal):
|
|
|
return False
|
|
@@ -310,23 +280,14 @@ class HrPayslip(models.Model):
|
|
|
statement = self.create_eiru_bank_statement(journal.id, values['statementId'], date_server, resUserId)
|
|
|
statementLine = self.create_eiru_bank_statement_line(date_server, statement, payslip_input.id, payslip.id)
|
|
|
|
|
|
- return {
|
|
|
- 'procc': True
|
|
|
- };
|
|
|
-
|
|
|
- '''
|
|
|
- Eliminar Comision
|
|
|
- '''
|
|
|
+ ''' Eliminar Comision '''
|
|
|
@api.model
|
|
|
def unlink_payslip_input(self,values):
|
|
|
payslip_input =self.env['hr.payslip.input'].search([('id', '=', values['input_id']),('payslip_id', '=', values['id'])])
|
|
|
payslip_input.unlink()
|
|
|
-
|
|
|
return True if payslip_input else False
|
|
|
|
|
|
- '''
|
|
|
- Actualizar Comision
|
|
|
- '''
|
|
|
+ ''' Actualizar Comision '''
|
|
|
@api.model
|
|
|
def write_payslip_input(self, values):
|
|
|
paylip_input = self.env['hr.payslip.input'].search([('payslip_id', '=', values['id']),('id', '=', values['input_id'])])
|
|
@@ -335,7 +296,5 @@ class HrPayslip(models.Model):
|
|
|
'name': values['descript_input'],
|
|
|
'amount': values['amount_input']
|
|
|
}
|
|
|
-
|
|
|
paylip_input.write(input_update)
|
|
|
-
|
|
|
return True if paylip_input else False
|