Exemplo n.º 1
0
        public void Audit(int id, int editBy, string editByName)
        {
            var entity      = _db.Table.Find <OutInOrder>(id);
            var entityItems = _db.Table.FindAll <OutInOrderItem>(n => n.OutInOrderId == id).ToList();

            entity.Items = entityItems;
            entity.Audit(editBy, editByName);
            _db.Update(entity);
            _inventoryService.CheckIsExists(entity.Code);

            var orderType = _db.Table.Find <OutInOrderType>(entity.OutInOrderTypeId);

            if (orderType == null)
            {
                throw new FriendlyException("业务类别为空");
            }
            var billIdentity = BillIdentity.OtherInOrder;

            if (orderType.OutInInventory == OutInInventoryType.Out)
            {
                billIdentity = BillIdentity.OtherOutOrder;
                _inventoryService.StockOut(entity);
            }
            else
            {
                _inventoryService.StockIn(entity);
            }
            var reason = "审核单据";

            _processHistoryService.Track(entity.UpdatedBy, editByName, (int)entity.Status, entity.Id, billIdentity.ToString(), reason);

            _db.SaveChange();
        }
Exemplo n.º 2
0
        /// <summary>
        /// 入库
        /// </summary>
        /// <param name="id"></param>
        /// <param name="editBy"></param>
        /// <param name="editor"></param>
        public void SaveInventory(int id, int editBy, string editor)
        {
            var entity = _db.Table.Find <StorePurchaseOrder>(id);

            if (entity == null)
            {
                throw new Exception("单据不存在");
            }
            var entityItems = _db.Table.FindAll <StorePurchaseOrderItem>(n => n.StorePurchaseOrderId == entity.Id).ToList();

            entity.SetItems(entityItems);
            entity.Finished(editBy, editor);
            _db.Update(entity);
            var reason = "入库";

            _processHistoryService.Track(entity.StoragedBy, entity.StoragedByName, (int)entity.Status, entity.Id, BillIdentity.StorePurchaseOrder.ToString(), reason);

            // 写入库存,库存历史纪录
            _storeInventoryService.CheckIsExists(entity.Code);
            _storeInventoryService.StockInProducts(entity);
            _db.SaveChange();
        }
Exemplo n.º 3
0
        public void Audit(int id, int editBy, string editByName)
        {
            var entity      = _db.Table.Find <TransferOrder>(id);
            var entityItems = _db.Table.FindAll <TransferOrderItem>(n => n.TransferOrderId == id).ToList();

            entity.Items = entityItems;
            entity.Audit(editBy, editByName);
            var reason = "审核调拨单";

            _db.Update(entity);
            _processHistoryService.Track(entity.UpdatedBy, editByName, (int)entity.Status, entity.Id, BillIdentity.TransferOrder.ToString(), reason);
            _inventoryService.CheckIsExists(entity.Code);
            _inventoryService.TransaferInventory(entity);
            _db.SaveChange();
        }
Exemplo n.º 4
0
        public void EndPlan(int id, int editedBy, string editor, string loginPassword)
        {
            // 验证操作账号输入的密码,正确后才能进行盘点,防止误操作
            var account = _db.Table.Find <Account>(editedBy);

            if (!account.CheckPassword(loginPassword))
            {
                throw new Exception("密码错误");
            }
            var entity = _db.Table.Find <StocktakingPlan>(id);
            var items  = _db.Table.FindAll <StocktakingPlanItem>(n => n.StocktakingPlanId == id);

            entity.Items = items.ToList();
            _service.ValidateEndStatus(entity);
            // 开始结转
            entity.ChangeCompleteStatus(editedBy, editor);
            _inventoryService.CheckIsExists(entity.Code);
            _inventoryService.FixedInventory(entity);
            _db.Update(entity);
            _db.SaveChange();
        }