public void RecordBillTransaction(PlannedBill plannedBill, ActingBill actingBill, LocationLotDetail locationLotDetail, User user) { #region 记BillTransaction DateTime dateTimeNow = DateTime.Now; BillTransaction billTransaction = new BillTransaction(); billTransaction.OrderNo = plannedBill.OrderNo; billTransaction.ExternalReceiptNo = plannedBill.ExternalReceiptNo; billTransaction.ReceiptNo = plannedBill.ReceiptNo; billTransaction.Item = plannedBill.Item.Code; billTransaction.ItemDescription = plannedBill.Item.Description; billTransaction.Uom = plannedBill.Uom.Code; billTransaction.BillAddress = plannedBill.BillAddress.Code; billTransaction.BillAddressDescription = plannedBill.BillAddress.Address; billTransaction.Party = plannedBill.BillAddress.Party.Code; billTransaction.PartyName = plannedBill.BillAddress.Party.Name; billTransaction.Qty = plannedBill.CurrentActingQty; billTransaction.EffectiveDate = DateTime.Parse(dateTimeNow.ToShortDateString()); //仅保留年月日; billTransaction.TransactionType = plannedBill.TransactionType; billTransaction.PlannedBill = plannedBill.Id; billTransaction.CreateUser = user.Code; billTransaction.CreateDate = dateTimeNow; billTransaction.ActingBill = actingBill.Id; billTransaction.LocationFrom = plannedBill.LocationFrom; billTransaction.PartyFrom = plannedBill.PartyFrom; billTransaction.IpNo = plannedBill.IpNo; billTransaction.ReferenceItemCode = plannedBill.ReferenceItemCode; if (locationLotDetail != null) { billTransaction.Location = locationLotDetail.Location.Code; billTransaction.LocationName = locationLotDetail.Location.Name; billTransaction.HuId = locationLotDetail.Hu != null ? locationLotDetail.Hu.HuId : string.Empty; billTransaction.LotNo = locationLotDetail.LotNo; billTransaction.BatchNo = locationLotDetail.Id; } this.CreateBillTransaction(billTransaction); #endregion }
public BillDetail TransferAtingBill2BillDetail(ActingBill actingBill) { EntityPreference entityPreference = this.entityPreferenceMgrE.LoadEntityPreference( BusinessConstants.ENTITY_PREFERENCE_CODE_AMOUNT_DECIMAL_LENGTH); int amountDecimalLength = int.Parse(entityPreference.Value); BillDetail billDetail = new BillDetail(); billDetail.ActingBill = actingBill; billDetail.Currency = actingBill.Currency; billDetail.IsIncludeTax = actingBill.IsIncludeTax; billDetail.TaxCode = actingBill.TaxCode; billDetail.UnitPrice = actingBill.UnitPrice; billDetail.ListPrice = actingBill.ListPrice; billDetail.BilledQty = actingBill.CurrentBillQty; billDetail.Discount = actingBill.CurrentDiscount; billDetail.HeadDiscount = 0;//actingBill.CurrentHeadDiscount; billDetail.LocationFrom = actingBill.LocationFrom; billDetail.IpNo = actingBill.IpNo; billDetail.ReferenceItemCode = actingBill.ReferenceItemCode; if (actingBill.CurrentBillQty != (actingBill.BillQty - actingBill.BilledQty)) { //本次开票数量大于剩余数量 if (actingBill.CurrentBillQty > (actingBill.BillQty - actingBill.BilledQty)) { throw new BusinessErrorException("ActingBill.Error.CurrentBillQtyGeRemainQty"); } //本次开票数量小于剩余数量 billDetail.OrderAmount = Math.Round((actingBill.BillAmount / actingBill.BillQty * actingBill.CurrentBillQty), amountDecimalLength, MidpointRounding.AwayFromZero); } else { //本次开票数量等于剩余数量 billDetail.OrderAmount = actingBill.BillAmount - actingBill.BilledAmount; } return billDetail; }
public virtual void UpdateActingBill(ActingBill entity) { entityDao.UpdateActingBill(entity); }
public virtual void DeleteActingBill(ActingBill entity) { entityDao.DeleteActingBill(entity); }
public virtual void CreateActingBill(ActingBill entity) { entityDao.CreateActingBill(entity); }
private ActingBill RetriveActingBill(PlannedBill plannedBill, DateTime dateTimeNow, User user) { DateTime effectiveDate = DateTime.Parse(dateTimeNow.ToShortDateString()); //仅保留年月日 DetachedCriteria criteria = DetachedCriteria.For<ActingBill>(); criteria.Add(Expression.Eq("OrderHead.OrderNo", plannedBill.OrderNo)); if (plannedBill.ExternalReceiptNo != null) { criteria.Add(Expression.Eq("ExternalReceiptNo", plannedBill.ExternalReceiptNo)); } else { criteria.Add(Expression.IsNull("ExternalReceiptNo")); } criteria.Add(Expression.Eq("ReceiptNo", plannedBill.ReceiptNo)); criteria.Add(Expression.Eq("TransactionType", plannedBill.TransactionType)); criteria.Add(Expression.Eq("Item", plannedBill.Item)); criteria.Add(Expression.Eq("BillAddress", plannedBill.BillAddress)); criteria.Add(Expression.Eq("Uom", plannedBill.Uom)); criteria.Add(Expression.Eq("UnitCount", plannedBill.UnitCount)); criteria.Add(Expression.Eq("PriceList", plannedBill.PriceList)); criteria.Add(Expression.Eq("UnitPrice", plannedBill.UnitPrice)); criteria.Add(Expression.Eq("Currency", plannedBill.Currency)); criteria.Add(Expression.Eq("IsIncludeTax", plannedBill.IsIncludeTax)); if (plannedBill.TaxCode != null) { criteria.Add(Expression.Eq("TaxCode", plannedBill.TaxCode)); } else { criteria.Add(Expression.IsNull("TaxCode")); } if (plannedBill.LocationFrom != null) { criteria.Add(Expression.Eq("LocationFrom", plannedBill.LocationFrom)); } else { criteria.Add(Expression.IsNull("LocationFrom")); } criteria.Add(Expression.Eq("IsProvisionalEstimate", plannedBill.IsProvisionalEstimate)); criteria.Add(Expression.Eq("EffectiveDate", effectiveDate)); IList<ActingBill> actingBillList = this.criteriaMgrE.FindAll<ActingBill>(criteria); ActingBill actingBill = null; if (actingBillList.Count == 0) { actingBill = new ActingBill(); CloneHelper.CopyProperty(plannedBill, actingBill, PlannedBill2ActingBillCloneField); OrderHead orderHead = new OrderHead(); orderHead.OrderNo = plannedBill.OrderNo; actingBill.OrderHead = orderHead; actingBill.EffectiveDate = effectiveDate; actingBill.CreateUser = user; actingBill.CreateDate = dateTimeNow; } else if (actingBillList.Count == 1) { actingBill = actingBillList[0]; } else { throw new TechnicalException("Acting bill record consolidate error, find target acting bill number great than 1."); } actingBill.BillQty += plannedBill.CurrentActingQty; if (actingBill.BillQty != actingBill.BilledQty) { actingBill.Status = BusinessConstants.CODE_MASTER_STATUS_VALUE_CREATE; } else { actingBill.Status = BusinessConstants.CODE_MASTER_STATUS_VALUE_CLOSE; } actingBill.LastModifyUser = user; actingBill.LastModifyDate = dateTimeNow; return actingBill; }
public virtual void DeleteActingBill(ActingBill entity) { Delete(entity); }
public virtual void UpdateActingBill(ActingBill entity) { Update(entity); }
public virtual void CreateActingBill(ActingBill entity) { Create(entity); }
public virtual BillDetail LoadBillDetail(com.Sconit.Entity.MasterData.Bill billNo, com.Sconit.Entity.MasterData.ActingBill actingBill) { return(entityDao.LoadBillDetail(billNo, actingBill)); }
public virtual BillDetail LoadBillDetail(com.Sconit.Entity.MasterData.Bill billNo, com.Sconit.Entity.MasterData.ActingBill actingBill) { string hql = @"from BillDetail entity where entity.BillNo.BillNo = ? and entity.ActingBill.Id = ?"; IList <BillDetail> result = FindAllWithCustomQuery <BillDetail>(hql, new object[] { billNo.BillNo, actingBill.Id }, new IType[] { NHibernateUtil.String, NHibernateUtil.Int32 }); if (result != null && result.Count > 0) { return(result[0]); } else { return(null); } }