Add product by warehouse
This commit is contained in:
parent
be75abeb54
commit
61a8937eb3
|
@ -4048,6 +4048,20 @@ class WareHouseProduct(BaseModel):
|
|||
(('warehouse', 'product'), True),
|
||||
)
|
||||
|
||||
@classmethod
|
||||
def update_exists(cls, args):
|
||||
if args['storage'] is None:
|
||||
return
|
||||
|
||||
values = dict(
|
||||
warehouse = args['storage'],
|
||||
product = args['product'],
|
||||
)
|
||||
obj, created = WareHouseProduct.get_or_create(**values)
|
||||
obj.exists += args['cant']
|
||||
obj.save()
|
||||
return
|
||||
|
||||
|
||||
class RangosPrecios(BaseModel):
|
||||
producto = ForeignKeyField(Productos)
|
||||
|
@ -9718,8 +9732,12 @@ class InventoryEntries(BaseModel):
|
|||
result = {'ok': False, 'msg': msg}
|
||||
return result
|
||||
|
||||
cant = args['cant']
|
||||
storage = None
|
||||
if args['warehouse']:
|
||||
storage = args['warehouse']
|
||||
cant = Decimal(args['cant'])
|
||||
values = dict(
|
||||
storage = storage,
|
||||
product = product,
|
||||
cant = cant,
|
||||
)
|
||||
|
@ -9727,6 +9745,8 @@ class InventoryEntries(BaseModel):
|
|||
msg = 'a {}'.format(obj.id)
|
||||
_save_log(user.usuario, msg, 'IE')
|
||||
|
||||
WareHouseProduct.update_exists(values)
|
||||
|
||||
product.existencia += cant
|
||||
product.save()
|
||||
|
||||
|
|
|
@ -727,6 +727,7 @@ function cmd_add_inventory_save_click(id, e, node){
|
|||
var product_id = $$('txt_add_id').getValue()
|
||||
//~ var product_key = $$('txt_add_key').getValue()
|
||||
var new_cant = $$('txt_new_cant').getValue()
|
||||
var warehouse = $$('lst_warehouses').getValue()
|
||||
|
||||
if(new_cant<=0) {
|
||||
msg = 'La cantidad no puede ser cero'
|
||||
|
@ -734,6 +735,14 @@ function cmd_add_inventory_save_click(id, e, node){
|
|||
return
|
||||
}
|
||||
|
||||
if($$('lst_warehouses').isVisible()){
|
||||
if(!warehouse){
|
||||
msg = 'Selecciona un almacen'
|
||||
msg_error(msg)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
msg = '¿Estas seguro de guardar esta entrada? <br/><br/>\
|
||||
Esta acción no se puede deshacer'
|
||||
|
||||
|
@ -745,7 +754,7 @@ function cmd_add_inventory_save_click(id, e, node){
|
|||
text: msg,
|
||||
callback:function(result){
|
||||
if(result){
|
||||
add_product_stock(product_id, new_cant)
|
||||
add_product_stock(product_id, new_cant, warehouse)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
@ -753,10 +762,11 @@ function cmd_add_inventory_save_click(id, e, node){
|
|||
}
|
||||
|
||||
|
||||
function add_product_stock(product_id, new_cant){
|
||||
function add_product_stock(product_id, new_cant, warehouse){
|
||||
var data = {
|
||||
product_id: product_id,
|
||||
cant: new_cant,
|
||||
warehouse: warehouse,
|
||||
}
|
||||
_add_entries_inventory_manual(product_id, data)
|
||||
$$('win_add_inventory').close()
|
||||
|
|
Loading…
Reference in New Issue