public void retrieveImage(ReceiptEntity receiptEntity) { var receipt = (from s in db.Receipts select s).FirstOrDefault(); receiptEntity.ReceiptPath = receipt.ReceiptPath; }
public long InsertReceipt(ReceiptEntity receiptEntity) { Realm.Write(() => { Realm.Add(receiptEntity); }); return(1); }
public void insertReceiptDetail(ReceiptEntity receiptEntity) { float amt = 0; receipt.ReceiptPath = receiptEntity.ReceiptPath; receipt.ReceiptDate = receiptEntity.ReceiptDate; receipt.ExpenseTypeId = receiptEntity.ExpenseTypeId; receipt.CurrencyTypeId = receiptEntity.CurrencyTypeId; if (receiptEntity.CurrencyTypeId == 1) { amt = Convert.ToInt64(receiptEntity.Amount); amt = amt * 56; receipt.Amount = amt; } else if (receiptEntity.CurrencyTypeId == 2) { amt = Convert.ToInt64(receiptEntity.Amount); amt = amt * 83; receipt.Amount = amt; } else if (receiptEntity.CurrencyTypeId == 3) { amt = Convert.ToInt64(receiptEntity.Amount); amt = amt * 100; receipt.Amount = amt; } else if (receiptEntity.CurrencyTypeId == 4) { receipt.Amount = Convert.ToInt64(receiptEntity.Amount); } else { amt = Convert.ToInt64(receiptEntity.Amount); amt = amt * 1; receipt.Amount = amt; } receipt.Comment = receiptEntity.Comment; receipt.IsDeleted = receiptEntity.IsDeleted; db.Receipts.InsertOnSubmit(receipt); db.SubmitChanges(); expense.ReceiptId = receipt.ReceiptId; expense.UserId = receiptEntity.expense.UserId; expense.Amount = Convert.ToInt64(receipt.Amount); expense.ExpenseDate = receipt.ReceiptDate; expense.IsDeleted = receipt.IsDeleted; db.Expenses.InsertOnSubmit(expense); //r.UserId = receiptEntity.re.UserId; //r.ReceiptPath = receipt.Receiptpath; //db.Rs.InsertOnSubmit(r); db.SubmitChanges(); }
public void deleteRecord(ExpenseEntity expenseEntity) { var delete = (from s in db.Expenses where s.ExpenseId == expenseEntity.ExpenseId select s).FirstOrDefault(); ReceiptEntity receiptEntity = new ReceiptEntity(); receiptEntity.ReceiptId = Convert.ToInt32(delete.ReceiptId); var deleteReceipt = (from s in db.Receipts where s.ReceiptId == receiptEntity.ReceiptId select s).FirstOrDefault(); db.Receipts.DeleteOnSubmit(deleteReceipt); db.Expenses.DeleteOnSubmit(delete); db.SubmitChanges(); }
public ReceiptDto CreateReceipt(PaymentCommand payment) { try { string itemList = JsonConvert.SerializeObject(payment.ItemList); ReceiptEntity receiptEntity = new ReceiptEntity() { ShiftId = payment.ShiftId, StoreEmail = payment.StoreEmail, ItemList = itemList, Discount = payment.Discount, IsDiscountPercentage = payment.IsDiscountPercentage, Total = payment.Total, TotalDiscount = payment.TotalDiscount, PaymentType = payment.PaymentType }; _receiptRepository.Create(receiptEntity); receiptEntity.Reference = GenerateRef(payment.ShiftId, receiptEntity.Id); _receiptRepository.Update(receiptEntity); var storeName = _storeRepository.GetStoreByEmail(payment.StoreEmail).StoreName; return(new ReceiptDto() { Reference = receiptEntity.Reference, ShiftId = payment.ShiftId, Store = storeName, ItemList = JsonConvert.DeserializeObject <List <DtoModels.Sale.OrderItemModel> >(itemList), Discount = payment.Discount, IsDiscountPercentage = payment.IsDiscountPercentage, Total = payment.Total, TotalDiscount = payment.TotalDiscount, CreateDateTime = receiptEntity.CreateDateTime, PaymentType = payment.PaymentType }); } catch (Exception e) { return(null); } }
public void editRecord(ExpenseEntity expenseEntity) { ReceiptEntity receiptE = new ReceiptEntity(); var update = (from s in db.Expenses where s.ExpenseId == expenseEntity.ExpenseId select s).FirstOrDefault(); var query = (from s in db.Receipts where s.ReceiptId == update.ReceiptId select s).FirstOrDefault(); receiptE.ReceiptId = query.ReceiptId; receiptE.Amount = Convert.ToInt64(query.Amount); receiptE.ReceiptDate = query.ReceiptDate; receiptE.ReceiptPath = query.ReceiptPath; receiptE.Comment = query.Comment; receiptE.CurrencyTypeId = query.CurrencyTypeId; receiptE.ExpenseTypeId = query.ExpenseTypeId; expenseEntity.receiptE = receiptE; }
public async Task <ReceiptEntity> GetOrAddReceiptAsync( long userEntityId, ReceiptId receiptId, CancellationToken token) { using (var entityContext = _entityContextFactory.Create()) { var entity = await entityContext .Receipts .Include(x => x.ReceiptResponseEntity) .Where(x => x.DivisionNumber == receiptId.DivisionNumber && x.StoreNumber == receiptId.StoreNumber && x.TransactionDate == receiptId.TransactionDate && x.TerminalNumber == receiptId.TerminalNumber && x.TransactionId == receiptId.TransactionId) .FirstOrDefaultAsync(token); if (entity == null) { entity = new ReceiptEntity { UserEntityId = userEntityId, DivisionNumber = receiptId.DivisionNumber, StoreNumber = receiptId.StoreNumber, TransactionDate = receiptId.TransactionDate, TerminalNumber = receiptId.TerminalNumber, TransactionId = receiptId.TransactionId, GetReceiptOperationEntities = new List <GetReceiptEntity>(), }; await entityContext.Receipts.AddAsync(entity, token); await entityContext.SaveChangesAsync(token); } return(entity); } }
/// <summary> /// 审核订单 /// </summary> /// <param name="order"></param> /// <returns></returns> public int Audit(PurchaseOrderEntity order) { IDatabase database = DataFactory.Database(); DbTransaction isOpenTrans = database.BeginTrans(); try { PurchaseOrderEntity purchaseOrder = DataFactory.Database().FindEntity <PurchaseOrderEntity>(order.OrderId); if (purchaseOrder == null) { throw new Exception("采购单不存在"); } StringBuilder strSql = new StringBuilder(); strSql.Append(@"UPDATE dbo.PurchaseOrder SET Status = 1, ModifyUserId = @ModifyUserId, ModifyUserName = @ModifyUserName, ModifyDate = @ModifyDate WHERE OrderId = @OrderId AND Status = 0"); List <DbParameter> parameter = new List <DbParameter>(); parameter.Add(DbFactory.CreateDbParameter("@ModifyUserId", order.ModifyUserId)); parameter.Add(DbFactory.CreateDbParameter("@ModifyUserName", order.ModifyUserName)); parameter.Add(DbFactory.CreateDbParameter("@ModifyDate", order.ModifyDate)); parameter.Add(DbFactory.CreateDbParameter("@OrderId", order.OrderId)); int result = database.ExecuteBySql(strSql, parameter.ToArray(), isOpenTrans); if (result > 0) { string userId = ManageProvider.Provider.Current().UserId; ReceiptEntity entity = new ReceiptEntity(); entity.ReceiptId = CommonHelper.GetGuid; entity.ReceiptNo = _codeRuleBLL.GetBillCode(userId, "Receipt"); entity.ReceiptDate = purchaseOrder.OrderDate; entity.ReceiptType = 1; entity.WarehouseId = purchaseOrder.WarehouseId; entity.MerchantId = purchaseOrder.MerchantId; entity.SourceNo = purchaseOrder.OrderNo; entity.Status = 0; entity.Create(); database.Insert(entity, isOpenTrans); List <PurchaseOrderItemEntity> orderItemList = GetOrderItemList(order.OrderId); foreach (PurchaseOrderItemEntity item in orderItemList) { var orderItem = new ReceiptItemEntity(); orderItem.Create(); orderItem.ReceiptId = entity.ReceiptId; orderItem.ProductId = item.ProductId; orderItem.Code = item.Code; orderItem.ProductName = item.ProductName; orderItem.Qty = item.Qty; database.Insert(orderItem, isOpenTrans); } } database.Commit(); return(result); } catch { database.Rollback(); return(-1); } }
public void retrieveImage(ReceiptEntity receiptEntity) { receiptData.retrieveImage(receiptEntity); }
public void insertReceiptDetail(ReceiptEntity receiptEntity) { receiptData.insertReceiptDetail(receiptEntity); }
/// <summary> /// 收货单快速收货 /// </summary> /// <param name="receipt"></param> /// <returns></returns> public bool ReceiptQuickReceive(ReceiptEntity receipt) { IDatabase database = DataFactory.Database(); DbTransaction isOpenTrans = database.BeginTrans(); try { var warehouse = _warehouseBLL.GetWarehouse(receipt.WarehouseId); if (string.IsNullOrWhiteSpace(warehouse?.ReceiptLocationId)) { throw new Exception("该仓库没有设置默认的收货储位"); } var location = _warehouseLocationBLL.GetLocation(warehouse.WarehouseId, warehouse.ReceiptLocationId); if (string.IsNullOrWhiteSpace(location?.Code)) { throw new Exception("该仓库没有设置默认的收货储位"); } var receiptItemList = _receiptBll.GetReceiptItemList(receipt.ReceiptId); List <ReceiptRecordEntity> record = new List <ReceiptRecordEntity>(); foreach (var receiptItemEntity in receiptItemList) { var recordItem = new ReceiptRecordEntity(); recordItem.Create(); recordItem.ReceiptId = receipt.ReceiptId; recordItem.ReceiptItemId = receiptItemEntity.ItemId; recordItem.ReceivedQty = receiptItemEntity.Qty; recordItem.ProductId = receiptItemEntity.ProductId; recordItem.LocationCode = location.Code; recordItem.LocationId = location.LocationId; recordItem.Status = 0; record.Add(recordItem); } if (record.Count == 0) { throw new Exception("没有有效的收货记录"); } foreach (var receiptRecordEntity in record) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("UPDATE [Receipt_Item] SET ReceivedQty = ReceivedQty + {0} WHERE ItemId = '{1}'", receiptRecordEntity.ReceivedQty.ToString(), receiptRecordEntity.ReceiptItemId); database.ExecuteBySql(sb, isOpenTrans); database.Insert(receiptRecordEntity, isOpenTrans); } record = record.OrderBy(a => a.ProductId).ThenBy(a => a.LocationCode).ToList(); Dictionary <string, int> dicInventory = new Dictionary <string, int>(); foreach (var receiptRecordEntity in record) { string key = string.Format("{0}${1}", receiptRecordEntity.ProductId, receiptRecordEntity.LocationCode); if (!dicInventory.ContainsKey(key)) { dicInventory.Add(key, receiptRecordEntity.ReceivedQty); } else { dicInventory[key] = dicInventory[key] + receiptRecordEntity.ReceivedQty; } } foreach (var item in dicInventory) { string[] itemValue = item.Key.Split('$'); _inventoryBLL.UpdateInventoryByReceive(receipt.ReceiptNo, InventoryTransactionType.Receive, receipt.WarehouseId, itemValue[0], receipt.MerchantId, item.Value, isOpenTrans); _inventoryLocationBLL.UpdateInventoryByMoveIn(receipt.WarehouseId, InventoryLocationTransactionType.Receive, itemValue[0], "", itemValue[1], item.Value, isOpenTrans); } receipt.Modify(receipt.ReceiptId); receipt.Status = (int)ReceiptStatus.Received; _receiptBll.UpdateReceiptStatus(receipt); database.Commit(); return(true); } catch (Exception ex) { database.Rollback(); return(false); } }
/// <summary> /// 取消收货 /// </summary> /// <param name="receipt"></param> /// <returns></returns> public bool UnReceiptReceive(ReceiptEntity receipt) { IDatabase database = DataFactory.Database(); DbTransaction isOpenTrans = database.BeginTrans(); try { var receiptRecord = _receiptRecordBLL.GetReceiptRecordList(receipt.ReceiptId); receiptRecord = receiptRecord.OrderBy(a => a.ProductId).ThenBy(a => a.LocationCode).ToList(); Dictionary <string, int> dicInventory = new Dictionary <string, int>(); foreach (var receiptRecordEntity in receiptRecord) { string key = string.Format("{0}${1}", receiptRecordEntity.ProductId, receiptRecordEntity.LocationCode); if (!dicInventory.ContainsKey(key)) { dicInventory.Add(key, receiptRecordEntity.ReceivedQty); } else { dicInventory[key] = dicInventory[key] + receiptRecordEntity.ReceivedQty; } } foreach (var item in dicInventory) { string[] itemValue = item.Key.Split('$'); bool flag = _inventoryBLL.UpdateInventoryByUnReceive(receipt.ReceiptNo, InventoryTransactionType.CancelReceive, receipt.WarehouseId, itemValue[0], receipt.MerchantId, item.Value, isOpenTrans); if (!flag) { throw new Exception("扣减已收货商户库存失败"); } flag = _inventoryLocationBLL.UpdateInventoryByUnReceive(receipt.WarehouseId, InventoryLocationTransactionType.CancelReceive, itemValue[0], itemValue[1], item.Value, isOpenTrans); if (!flag) { throw new Exception("扣减已收货库位库存失败"); } } receipt.Modify(receipt.ReceiptId); receipt.Status = (int)ReceiptStatus.Audited; _receiptBll.UpdateReceiptStatus(receipt); StringBuilder sb = new StringBuilder(); sb.AppendFormat("UPDATE [Receipt_Item] SET ReceivedQty = 0 WHERE ReceiptId = '{0}';", receipt.ReceiptId); sb.AppendFormat("UPDATE [Receipt_Record] SET Status = -1 WHERE ReceiptId = '{0}' And Status = 0;", receipt.ReceiptId); database.ExecuteBySql(sb, isOpenTrans); database.Commit(); return(true); } catch (Exception ex) { database.Rollback(); return(false); } }
public void Update(ReceiptEntity receiptEntity) { _context.SaveChanges(); }
public void Create(ReceiptEntity receiptEntity) { _context.Add(receiptEntity); _context.SaveChanges(); }
/// <summary> /// /// </summary> /// <param name="receiptNo"></param> /// <param name="receiptRecordJson"></param> /// <returns></returns> public ActionResult SubmitReceiptRecord(string receiptNo, string receiptRecordJson) { IDatabase database = DataFactory.Database(); DbTransaction isOpenTrans = database.BeginTrans(); try { string Message = "操作成功。"; ReceiptEntity receipt = _receiptBll.Repository().FindEntity("ReceiptNo", receiptNo); if (receipt == null) { throw new Exception("收货单不存在"); } var receiptItemList = _receiptBll.GetReceiptItemList(receipt.ReceiptId); List <ReceiptRecordViewModel> receiptRecordList = receiptRecordJson.JonsToList <ReceiptRecordViewModel>(); List <ReceiptRecordEntity> record = new List <ReceiptRecordEntity>(); foreach (ReceiptRecordViewModel item in receiptRecordList) { if (!string.IsNullOrEmpty(item.ItemId)) { var recordItem = new ReceiptRecordEntity(); recordItem.Create(); recordItem.ReceiptId = receipt.ReceiptId; recordItem.ReceiptItemId = item.ItemId; recordItem.ReceivedQty = item.ReceivedQty; recordItem.LocationCode = item.LocationCode; recordItem.Status = 0; foreach (var receiptItemEntity in receiptItemList) { if (receiptItemEntity.ItemId == recordItem.ReceiptItemId) { recordItem.ProductId = receiptItemEntity.ProductId; if (receiptItemEntity.Qty < receiptItemEntity.ReceivedQty + recordItem.ReceivedQty) { throw new Exception(string.Format("{0}收货数量超过预计收货数量", receiptItemEntity.ProductName)); } } } if (string.IsNullOrEmpty(recordItem.ProductId)) { throw new Exception("商品编号无效"); } WarehouseLocationEntity location = _locationBLL.GetLocationByCode(receipt.WarehouseId, recordItem.LocationCode); if (location == null) { throw new Exception(string.Format("当前仓库没有该储位{0}", recordItem.LocationCode)); } recordItem.LocationId = location.LocationId; if (recordItem.ReceivedQty > 0) { record.Add(recordItem); } } } if (record.Count == 0) { throw new Exception("没有有效的收货记录"); } foreach (var receiptRecordEntity in record) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("UPDATE [Receipt_Item] SET ReceivedQty = ReceivedQty + {0} WHERE ItemId = '{1}'", receiptRecordEntity.ReceivedQty.ToString(), receiptRecordEntity.ReceiptItemId); database.ExecuteBySql(sb, isOpenTrans); database.Insert(receiptRecordEntity, isOpenTrans); } record = record.OrderBy(a => a.ProductId).ThenBy(a => a.LocationCode).ToList(); Dictionary <string, int> dicInventory = new Dictionary <string, int>(); foreach (var receiptRecordEntity in record) { string key = string.Format("{0}${1}", receiptRecordEntity.ProductId, receiptRecordEntity.LocationCode); if (!dicInventory.ContainsKey(key)) { dicInventory.Add(key, receiptRecordEntity.ReceivedQty); } else { dicInventory[key] = dicInventory[key] + receiptRecordEntity.ReceivedQty; } } foreach (var item in dicInventory) { string[] itemValue = item.Key.Split('$'); _inventoryBLL.UpdateInventoryByReceive(receipt.ReceiptNo, InventoryTransactionType.Receive, receipt.WarehouseId, itemValue[0], receipt.ReceiptId, item.Value, isOpenTrans); _inventoryLocationBLL.UpdateInventoryByMoveIn(receipt.WarehouseId, InventoryLocationTransactionType.Receive, itemValue[0], "", itemValue[1], item.Value, isOpenTrans); } receipt.Modify(receipt.ReceiptId); receipt.Status = (int)ReceiptStatus.Receiving; _receiptBll.UpdateReceiptStatus(receipt); database.Commit(); return(Content(new JsonMessage { Success = true, Code = "1", Message = Message }.ToString())); } catch (Exception ex) { database.Rollback(); return(Content(new JsonMessage { Success = false, Code = "-1", Message = "操作失败:" + ex.Message }.ToString())); } }