forked from elmau/empresa-libre
Validar agregar deposito
This commit is contained in:
parent
0a575afaa9
commit
2e9dadf301
|
@ -6,9 +6,13 @@ var bancos_controllers = {
|
|||
$$('cmd_agregar_retiro').attachEvent('onItemClick', cmd_agregar_retiro_click)
|
||||
$$('cmd_agregar_deposito').attachEvent('onItemClick', cmd_agregar_deposito_click)
|
||||
$$('cmd_guardar_retiro').attachEvent('onItemClick', cmd_guardar_retiro_click)
|
||||
$$('cmd_guardar_deposito').attachEvent('onItemClick', cmd_guardar_deposito_click)
|
||||
$$('txt_retiro_importe').attachEvent('onChange', txt_retiro_importe_change)
|
||||
$$('txt_deposito_importe').attachEvent('onChange', txt_deposito_importe_change)
|
||||
$$('grid_cfdi_este_deposito').attachEvent('onAfterDrop', grid_cfdi_este_deposito_after_drop)
|
||||
$$('grid_cfdi_por_pagar').attachEvent('onAfterDrop', grid_cfdi_por_pagar_after_drop)
|
||||
$$('grid_cfdi_este_deposito').attachEvent('onBeforeEditStop', grid_cfdi_este_deposito_before_edit_stop)
|
||||
$$('grid_cfdi_este_deposito').attachEvent('onAfterEditStop', grid_cfdi_este_deposito_after_edit_stop)
|
||||
set_year_month()
|
||||
}
|
||||
}
|
||||
|
@ -262,6 +266,14 @@ function cmd_guardar_retiro_click(){
|
|||
|
||||
|
||||
function txt_retiro_importe_change(new_value, old_value){
|
||||
showvar(new_value)
|
||||
if(!isFinite(new_value)){
|
||||
this.config.value = old_value
|
||||
this.refresh()
|
||||
}
|
||||
}
|
||||
|
||||
function txt_deposito_importe_change(new_value, old_value){
|
||||
if(!isFinite(new_value)){
|
||||
this.config.value = old_value
|
||||
this.refresh()
|
||||
|
@ -275,13 +287,15 @@ function actualizar_deposito(grid){
|
|||
var suma = 0
|
||||
var descripcion = ''
|
||||
grid.data.each(function(obj){
|
||||
suma += obj.saldo.to_float()
|
||||
descripcion += 'Pago de la factura: ' + obj.serie + obj.folio + ' del '
|
||||
descripcion += 'cliente: ' + obj.cliente + '\n'
|
||||
if(obj.importe == undefined){
|
||||
obj.importe = obj.saldo
|
||||
}
|
||||
suma += obj.importe.to_float()
|
||||
})
|
||||
$$('txt_deposito_importe').setValue(suma)
|
||||
$$('deposito_descripcion').setValue(descripcion)
|
||||
$$('deposito_descripcion').setValue(descripcion.slice(0, -1))
|
||||
grid.refresh()
|
||||
}
|
||||
|
||||
|
@ -296,3 +310,202 @@ function grid_cfdi_este_deposito_after_drop(context, native_event){
|
|||
var grid = $$('grid_cfdi_este_deposito')
|
||||
actualizar_deposito(grid)
|
||||
}
|
||||
|
||||
|
||||
function grid_cfdi_este_deposito_after_edit_stop(state, editor, ignoreUpdate){
|
||||
var grid = $$('grid_cfdi_este_deposito')
|
||||
|
||||
var suma = 0
|
||||
grid.data.each(function(obj){
|
||||
suma += obj.importe.to_float()
|
||||
})
|
||||
$$('txt_deposito_importe').setValue(suma)
|
||||
}
|
||||
|
||||
|
||||
function grid_cfdi_este_deposito_before_edit_stop(state, editor){
|
||||
var grid = $$('grid_cfdi_este_deposito')
|
||||
var row = grid.getItem(editor.row)
|
||||
|
||||
if(editor.column == 'importe'){
|
||||
var importe = parseFloat(state.value)
|
||||
if(isNaN(importe)){
|
||||
msg = 'El importe a pagar debe ser un número'
|
||||
msg_error(msg)
|
||||
grid.blockEvent()
|
||||
state.value = state.old
|
||||
grid.editCancel()
|
||||
grid.unblockEvent()
|
||||
return true
|
||||
}
|
||||
if(importe <= 0){
|
||||
msg = 'El importe a pagar debe ser mayor a cero'
|
||||
msg_error(msg)
|
||||
grid.blockEvent()
|
||||
state.value = state.old
|
||||
grid.editCancel()
|
||||
grid.unblockEvent()
|
||||
return true
|
||||
}
|
||||
var saldo = row['saldo'].to_float()
|
||||
if(importe > saldo){
|
||||
msg = 'El importe a pagar no puede ser mayor al saldo de la factura'
|
||||
msg_error(msg)
|
||||
grid.blockEvent()
|
||||
state.value = state.old
|
||||
grid.editCancel()
|
||||
grid.unblockEvent()
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function validate_deposito(values){
|
||||
var grid = $$('grid_cfdi_este_deposito')
|
||||
var importe = values.deposito_importe.to_float()
|
||||
|
||||
if(!importe){
|
||||
msg = 'El importe es requerido'
|
||||
msg_error(msg)
|
||||
return false
|
||||
}
|
||||
|
||||
if(importe <= 0){
|
||||
msg = 'El importe debe ser mayor a cero'
|
||||
msg_error(msg)
|
||||
return false
|
||||
}
|
||||
|
||||
if(!values.deposito_descripcion.trim()){
|
||||
msg = 'La descripción es requerida'
|
||||
msg_error(msg)
|
||||
return false
|
||||
}
|
||||
|
||||
var horas = $$('time_deposito').getText().split(':')
|
||||
var seg = parseInt(horas[2])
|
||||
var min = parseInt(horas[1])
|
||||
var horas = parseInt(horas[0])
|
||||
|
||||
if(horas > 23){
|
||||
focus('time_deposito')
|
||||
msg = 'Hora inválida'
|
||||
msg_error(msg)
|
||||
return false
|
||||
}
|
||||
if(min > 59){
|
||||
focus('time_deposito')
|
||||
msg = 'Hora inválida'
|
||||
msg_error(msg)
|
||||
return false
|
||||
}
|
||||
if(seg > 59){
|
||||
focus('time_deposito')
|
||||
msg = 'Hora inválida'
|
||||
msg_error(msg)
|
||||
return false
|
||||
}
|
||||
|
||||
if(grid.count()){
|
||||
var suma = 0
|
||||
grid.data.each(function(obj){
|
||||
var tmp = obj.importe.to_float()
|
||||
if(tmp <= 0){
|
||||
msg = 'El importe de la factura: ' + obj.serie + obj.folio + ' no puede ser menor a cero'
|
||||
msg_error(msg)
|
||||
return false
|
||||
}
|
||||
suma += tmp
|
||||
})
|
||||
if(suma > importe){
|
||||
msg = 'La suma del pago de facturas, no puede ser mayor al deposito'
|
||||
msg_error(msg)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
function guardar_deposito(values){
|
||||
var form = $$('form_banco_deposito')
|
||||
var grid = $$('grid_cfdi_este_deposito')
|
||||
|
||||
var data = new Object()
|
||||
data['cuenta'] = $$('lst_cuentas_banco').getValue()
|
||||
data['fecha'] = values.retiro_fecha
|
||||
data['hora'] = $$('time_deposito').getText()
|
||||
data['numero_operacion'] = values.deposito_referencia.trim()
|
||||
data['forma_pago'] = $$('lst_deposito_forma_pago').getValue()
|
||||
data['deposito'] = values.deposito_importe.to_float()
|
||||
data['retiro'] = 0.0
|
||||
data['descripcion'] = values.deposito_descripcion
|
||||
|
||||
webix.ajax().post('/movbanco', data, {
|
||||
error:function(text, data, XmlHttpRequest){
|
||||
msg = 'Ocurrio un error, consulta a soporte técnico'
|
||||
msg_error(msg)
|
||||
},
|
||||
success:function(text, data, XmlHttpRequest){
|
||||
var values = data.json()
|
||||
if(values.ok){
|
||||
$$('txt_cuenta_saldo').setValue(values.saldo)
|
||||
get_estado_cuenta()
|
||||
$$('multi_bancos').setValue('banco_home')
|
||||
form.setValues({})
|
||||
grid.clearAll()
|
||||
}else{
|
||||
msg_error(values.msg)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
function cmd_guardar_deposito_click(){
|
||||
var form = $$('form_banco_deposito')
|
||||
|
||||
if(!form.validate()) {
|
||||
msg_error('Valores inválidos')
|
||||
return
|
||||
}
|
||||
|
||||
var values = form.getValues()
|
||||
if(!validate_deposito(values)){
|
||||
return
|
||||
}
|
||||
|
||||
if(!grid.count()){
|
||||
msg = 'Todos los datos son correctos<br>br>'
|
||||
msg = 'El depósito no tiene facturas relacionadas<br><br>¿Estás '
|
||||
msg += ' seguro de guardar del depósito sin facturas relacionadas?'
|
||||
webix.confirm({
|
||||
title: 'Guardar depósito',
|
||||
ok: 'Si',
|
||||
cancel: 'No',
|
||||
type: 'confirm-error',
|
||||
text: msg,
|
||||
callback:function(result){
|
||||
if(result){
|
||||
guardar_deposito(values)
|
||||
}
|
||||
}
|
||||
})
|
||||
}else{
|
||||
msg = 'Todos los datos son correctos.<br><br>¿Deseas agregar este depósito?'
|
||||
webix.confirm({
|
||||
title: 'Guardar depósito',
|
||||
ok: 'Si',
|
||||
cancel: 'No',
|
||||
type: 'confirm-error',
|
||||
text: msg,
|
||||
callback:function(result){
|
||||
if(result){
|
||||
guardar_deposito(values)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
@ -84,7 +84,7 @@ var grid_cfdi_este_deposito_cols = [
|
|||
{id: 'saldo', header: ['Saldo'], width: 125, sort: 'int',
|
||||
format: webix.i18n.priceFormat, css: 'right'},
|
||||
{id: 'importe', header: ['Este pago'], width: 125, sort: 'int',
|
||||
format: webix.i18n.priceFormat, css: 'right'},
|
||||
format: webix.i18n.priceFormat, css: 'right', editor: 'text'},
|
||||
]
|
||||
|
||||
|
||||
|
@ -119,6 +119,7 @@ var grid_cfdi_este_deposito = {
|
|||
resizeColumn: true,
|
||||
headermenu: true,
|
||||
drag: true,
|
||||
editable: true,
|
||||
columns: grid_cfdi_este_deposito_cols,
|
||||
on:{
|
||||
'data->onStoreUpdated':function(){
|
||||
|
|
|
@ -261,7 +261,7 @@ var grid_details = {
|
|||
autoheight: true,
|
||||
editable: true,
|
||||
columns: grid_details_cols,
|
||||
data: []
|
||||
data: [],
|
||||
}
|
||||
|
||||
|
||||
|
@ -284,7 +284,7 @@ var grid_totals = {
|
|||
footer: true,
|
||||
autoheight: true,
|
||||
columns: grid_totals_cols,
|
||||
data: [{id: 1, concepto: 'SubTotal', importe: 0}]
|
||||
data: [{id: 1, concepto: 'SubTotal', importe: 0}],
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue