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), (('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): class RangosPrecios(BaseModel):
producto = ForeignKeyField(Productos) producto = ForeignKeyField(Productos)
@ -9718,8 +9732,12 @@ class InventoryEntries(BaseModel):
result = {'ok': False, 'msg': msg} result = {'ok': False, 'msg': msg}
return result return result
cant = args['cant'] storage = None
if args['warehouse']:
storage = args['warehouse']
cant = Decimal(args['cant'])
values = dict( values = dict(
storage = storage,
product = product, product = product,
cant = cant, cant = cant,
) )
@ -9727,6 +9745,8 @@ class InventoryEntries(BaseModel):
msg = 'a {}'.format(obj.id) msg = 'a {}'.format(obj.id)
_save_log(user.usuario, msg, 'IE') _save_log(user.usuario, msg, 'IE')
WareHouseProduct.update_exists(values)
product.existencia += cant product.existencia += cant
product.save() 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_id = $$('txt_add_id').getValue()
//~ var product_key = $$('txt_add_key').getValue() //~ var product_key = $$('txt_add_key').getValue()
var new_cant = $$('txt_new_cant').getValue() var new_cant = $$('txt_new_cant').getValue()
var warehouse = $$('lst_warehouses').getValue()
if(new_cant<=0) { if(new_cant<=0) {
msg = 'La cantidad no puede ser cero' msg = 'La cantidad no puede ser cero'
@ -734,6 +735,14 @@ function cmd_add_inventory_save_click(id, e, node){
return return
} }
if($$('lst_warehouses').isVisible()){
if(!warehouse){
msg = 'Selecciona un almacen'
msg_error(msg)
return
}
}
msg = '¿Estas seguro de guardar esta entrada? <br/><br/>\ msg = '¿Estas seguro de guardar esta entrada? <br/><br/>\
Esta acción no se puede deshacer' Esta acción no se puede deshacer'
@ -745,7 +754,7 @@ function cmd_add_inventory_save_click(id, e, node){
text: msg, text: msg,
callback:function(result){ callback:function(result){
if(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 = { var data = {
product_id: product_id, product_id: product_id,
cant: new_cant, cant: new_cant,
warehouse: warehouse,
} }
_add_entries_inventory_manual(product_id, data) _add_entries_inventory_manual(product_id, data)
$$('win_add_inventory').close() $$('win_add_inventory').close()