Exemplo n.º 1
0
        /// <summary>
        /// 更新预占库存
        /// </summary>
        /// <param name="obj">预占库存实体</param>
        /// <param name="operation">操作标识:0:增加预占;1:减少预占</param>
        /// <returns></returns>
        public bool UpdateInventoryAssignedQty(UpdateInventoryItemDto obj)
        {
            InventoryItem item = repository.GetInventoryItemBySkuId(obj.WarehouseId, obj.SkuId);
            int?          assignedQtyBefore = item.AssignedQty;

            item.AssignedQty = obj.Action == 0 ? (item.AssignedQty + obj.AssignedQty) : (item.AssignedQty - obj.AssignedQty);
            item.UpdateTime  = DateTime.Now;
            if (repository.UpdateInventoryItem(item) > 0)
            {
                InventoryOperationLog log = new InventoryOperationLog
                {
                    WarehouseId        = obj.WarehouseId,
                    SkuId              = obj.SkuId,
                    Action             = obj.Action,
                    OperationType      = obj.OperationType,
                    AvailableQtyAfter  = 0,
                    AvailableQtyBefore = 0,
                    AvailableQtyChange = 0,
                    AssignedQtyBefore  = assignedQtyBefore,
                    AssignedQtyChange  = obj.AssignedQty,
                    AssignedQtyAfter   = item.AssignedQty,
                    OrderId            = obj.RelationOrderId,
                    CreateTime         = DateTime.Now,
                    UpdateTime         = DateTime.Now,
                    UpdateUserId       = obj.UpdateUserId
                };
                if (logRepository.InsertInventoryItem(log) > 0)
                {
                    return(true);
                }
            }
            return(false);
        }
 public int DeleteInventoryItem(InventoryOperationLog obj)
 {
     using (Conn)
     {
         return(Conn.Delete(obj));
     }
 }
 public int InsertInventoryItem(InventoryOperationLog obj)
 {
     using (Conn)
     {
         return((int)Conn.Insert(obj));
     }
 }
Exemplo n.º 4
0
 public int DeleteInventoryItem(InventoryOperationLog obj)
 {
     return(repository.DeleteInventoryItem(obj));
 }
Exemplo n.º 5
0
 public int InsertInventoryItem(InventoryOperationLog obj)
 {
     return(repository.InsertInventoryItem(obj));
 }
Exemplo n.º 6
0
 public int UpdateInventoryItem(InventoryOperationLog obj)
 {
     return(repository.UpdateInventoryItem(obj));
 }