Add product by warehouse

This commit is contained in:
Mauricio Baeza 2021-08-23 15:49:29 -05:00
parent be75abeb54
commit 61a8937eb3
2 changed files with 33 additions and 3 deletions

View File

@ -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()

View File

@ -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()