/// <summary> /// Insert a ProduceInDepot. /// </summary> public void Insert(Model.ProduceInDepot produceInDepot) { Validate(produceInDepot); try { BL.V.BeginTransaction(); produceInDepot.InsertTime = DateTime.Now; produceInDepot.UpdateTime = DateTime.Now; TiGuiExists(produceInDepot); string invoiceKind = this.GetInvoiceKind().ToLower(); string sequencekey_y = string.Format("{0}-y-{1}", invoiceKind, produceInDepot.InsertTime.Value.Year); string sequencekey_m = string.Format("{0}-m-{1}-{2}", invoiceKind, produceInDepot.InsertTime.Value.Year, produceInDepot.InsertTime.Value.Month); string sequencekey_d = string.Format("{0}-d-{1}", invoiceKind, produceInDepot.InsertTime.Value.ToString("yyyy-MM-dd")); string sequencekey = string.Format(invoiceKind); SequenceManager.Increment(sequencekey_y); SequenceManager.Increment(sequencekey_m); SequenceManager.Increment(sequencekey_d); SequenceManager.Increment(sequencekey); accessor.Insert(produceInDepot); addDetail(produceInDepot); BL.V.CommitTransaction(); } catch { BL.V.RollbackTransaction(); throw; } }
private int isUpdate = 0; //修改状态 public void _Update(Model.ProduceInDepot produceInDepot) { isUpdate = 1; produceInDepot.UpdateTime = DateTime.Now; accessor.Update(produceInDepot); IList <Model.ProduceInDepotDetail> olddetail = DetailAccessor.Select(produceInDepot); calEffectUpdate(olddetail); //Model.ProduceInDepot oldProduceInDepot = GetDetails(produceInDepot.ProduceInDepotId); //calEffectUpdate(oldProduceInDepot.Details); DetailAccessor.DeleteByHeader(produceInDepot); //先将原数据删除,对应的后续单据合计数量修改。如果不这样,会出现一种情况,修改时,删除某一项明细,该明细对应的后续合计数量不变 //this.UpdateDetailHjSum(oldProduceInDepot); //这样太慢,改为下面单独针对删除的项目做合计修改 foreach (var item in olddetail) { if (!produceInDepot.Details.Any(d => d.ProduceInDepotDetailId == item.ProduceInDepotDetailId)) { IList <Model.ProduceInDepotDetail> updatelist = DetailAccessor.Select_ByWorkHosueAndPronoteId(produceInDepot.WorkHouseId, item.PronoteHeaderId); foreach (Model.ProduceInDepotDetail indetail in updatelist) { indetail.HeJiProceduresSum = (from i in updatelist where i.ProduceInDepot.InsertTime < indetail.ProduceInDepot.InsertTime select i.ProceduresSum).Sum() + indetail.ProceduresSum; indetail.HeJiCheckOutSum = (from i in updatelist where i.ProduceInDepot.InsertTime < indetail.ProduceInDepot.InsertTime select i.CheckOutSum).Sum() + indetail.CheckOutSum; DetailAccessor.Update(indetail); } } } addDetail(produceInDepot); //修改详细合计生产数量,合计合格数量 2012年6月7日10:38:42 //this.UpdateDetailHjSum(produceInDepot); isUpdate = 0; }
private void Validate(Model.ProduceInDepot produceInDepot) { if (string.IsNullOrEmpty(produceInDepot.ProduceInDepotId)) { throw new Helper.RequireValueException(Model.ProduceInDepot.PRO_ProduceInDepotId); } if (string.IsNullOrEmpty(produceInDepot.WorkHouseId)) { throw new Helper.RequireValueException(Model.ProduceInDepot.PRO_WorkHouseId); } foreach (var item in produceInDepot.Details) { if (item.ProduceQuantity > item.CheckOutSum) { throw new Helper.MessageValueException("入庫數量不能大於合格數量"); } if (item.ProduceTransferQuantity > item.CheckOutSum) { throw new Helper.MessageValueException("轉生產數量不能大於合格數量"); } } //foreach (Model.ProduceInDepotDetail d in produceInDepot.Details) //{ // if ((d.HeJiProceduresSum.HasValue ? d.HeJiProceduresSum.Value : 0) > (d.beforeTransferQuantity.HasValue ? d.beforeTransferQuantity.Value : 0)) // throw new Helper.InvalidValueException(Model.ProduceInDepotDetail.PRO_HeJiProceduresSum); //} }
/// <summary> /// Delete ProduceInDepot by primary key. /// </summary> public void Delete(string produceInDepotId) { Model.ProduceInDepot model = this.Get(produceInDepotId); string invoiceKind = this.GetInvoiceKind().ToLower(); string sequencekey_d = string.Format("{0}-d-{1}", invoiceKind, model.InsertTime.Value.ToString("yyyy-MM-dd")); SequenceManager.Decrement(sequencekey_d); accessor.Delete(produceInDepotId); }
private int isUpdate = 0; //修改状态 public void _Update(Model.ProduceInDepot produceInDepot) { isUpdate = 1; produceInDepot.UpdateTime = DateTime.Now; accessor.Update(produceInDepot); IList <Model.ProduceInDepotDetail> olddetail = DetailAccessor.Select(produceInDepot); calEffectUpdate(olddetail); DetailAccessor.DeleteByHeader(produceInDepot); addDetail(produceInDepot); //修改详细合计生产数量,合计合格数量 2012年6月7日10:38:42 //this.UpdateDetailHjSum(produceInDepot); isUpdate = 0; }
//修改详细合计生产数量,合计合格数量 2012年6月7日10:38:42 private void UpdateDetailHjSum(Model.ProduceInDepot produceindepot) { foreach (Model.ProduceInDepotDetail detail in produceindepot.Details) { if (detail.Product == null || string.IsNullOrEmpty(detail.Product.ProductId)) { continue; } IList <Model.ProduceInDepotDetail> updatelist = DetailAccessor.Select_ByWorkHosueAndPronoteId(produceindepot.WorkHouseId, detail.PronoteHeaderId); foreach (Model.ProduceInDepotDetail indetail in updatelist) { indetail.HeJiProceduresSum = (from i in updatelist where i.ProduceInDepot.InsertTime < indetail.ProduceInDepot.InsertTime select i.ProceduresSum).Sum() + indetail.ProceduresSum; indetail.HeJiCheckOutSum = (from i in updatelist where i.ProduceInDepot.InsertTime < indetail.ProduceInDepot.InsertTime select i.CheckOutSum).Sum() + indetail.CheckOutSum; DetailAccessor.Update(indetail); } } }
private void TiGuiExists(Model.ProduceInDepot model) { if (this.ExistsPrimary(model.ProduceInDepotId)) { //设置KEY值 string invoiceKind = this.GetInvoiceKind().ToLower(); string sequencekey_y = string.Format("{0}-y-{1}", invoiceKind, model.ProduceInDepotDate.Value.Year); string sequencekey_m = string.Format("{0}-m-{1}-{2}", invoiceKind, model.ProduceInDepotDate.Value.Year, model.ProduceInDepotDate.Value.Month); string sequencekey_d = string.Format("{0}-d-{1}", invoiceKind, model.ProduceInDepotDate.Value.ToString("yyyy-MM-dd")); string sequencekey = string.Format(invoiceKind); SequenceManager.Increment(sequencekey_y); SequenceManager.Increment(sequencekey_m); SequenceManager.Increment(sequencekey_d); SequenceManager.Increment(sequencekey); model.ProduceInDepotId = this.GetId(model.ProduceInDepotDate.Value); TiGuiExists(model); } }
public void Update(Model.ProduceInDepot produceInDepot) { Validate(produceInDepot); //若已有修改,则抛出异常 //if (produceInDepot.UpdateTime != this.JudgeHasNewVersion<Model.ProduceInDepot>(produceInDepot, produceInDepot.ProduceInDepotId)) //{ // throw new Helper.VersionOverTimeException(); //} try { BL.V.BeginTransaction(); this._Update(produceInDepot); BL.V.CommitTransaction(); } catch { BL.V.RollbackTransaction(); throw; } }
public void Delete(Model.ProduceInDepot produceInDepot) { // // todo:add other logic here // try { BL.V.BeginTransaction(); calEffectDelete(DetailAccessor.Select(produceInDepot)); accessor.Delete(produceInDepot.ProduceInDepotId); //修改详细合计生产数量,合计合格数量 2012年6月7日10:38:42 this.UpdateDetailHjSum(produceInDepot); BL.V.CommitTransaction(); } catch { BL.V.RollbackTransaction(); throw; } }
public bool HasRowsBefore(Model.ProduceInDepot e) { return(sqlmapper.QueryForObject <bool>("ProduceInDepot.has_rows_before", e)); }
public Model.ProduceInDepot GetPrev(Model.ProduceInDepot e) { return(accessor.GetPrev(e)); }
public Model.ProduceInDepot GetNext(Model.ProduceInDepot e) { return(accessor.GetNext(e)); }
private void addDetail(Model.ProduceInDepot produceInDepot) { foreach (Model.ProduceInDepotDetail produceInDepotDetail in produceInDepot.Details) { if (produceInDepotDetail.Product == null || string.IsNullOrEmpty(produceInDepotDetail.Product.ProductId)) { continue; } produceInDepotDetail.ProduceInDepotId = produceInDepot.ProduceInDepotId; //如果没有加工单号 //if (string.IsNullOrEmpty(produceInDepotDetail.PronoteHeaderId)) //{ // produceInDepotDetail.HeJiProceduresSum = 0; // produceInDepotDetail.HeJiCheckOutSum = 0; // produceInDepotDetail.HeJiProduceQuantity = 0; // produceInDepotDetail.HeJiProduceTransferQuantity = 0; // DetailAccessor.Insert(produceInDepotDetail); //} double?_InProceduresSum = produceInDepot.Details.Where(d => d.Inumber <= produceInDepotDetail.Inumber && d.ProductId == produceInDepotDetail.ProductId && d.PronoteHeaderId == produceInDepotDetail.PronoteHeaderId).Sum(d => d.ProceduresSum); double?_InCheckOutSum = produceInDepot.Details.Where(d => d.Inumber <= produceInDepotDetail.Inumber && d.ProductId == produceInDepotDetail.ProductId && d.PronoteHeaderId == produceInDepotDetail.PronoteHeaderId).Sum(d => d.CheckOutSum); double?_InProduceQuantity = produceInDepot.Details.Where(d => d.Inumber <= produceInDepotDetail.Inumber && d.ProductId == produceInDepotDetail.ProductId && d.PronoteHeaderId == produceInDepotDetail.PronoteHeaderId).Sum(d => d.ProduceQuantity); double?_InProduceTransferQuantity = produceInDepot.Details.Where(d => d.Inumber <= produceInDepotDetail.Inumber && d.ProductId == produceInDepotDetail.ProductId && d.PronoteHeaderId == produceInDepotDetail.PronoteHeaderId).Sum(d => d.ProduceTransferQuantity); produceInDepotDetail.HeJiProceduresSum = DetailAccessor.Get_HJForColumnName(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepotDetail.ProduceInDepotId, produceInDepotDetail.Inumber.Value, produceInDepot.InsertTime.Value, "ProceduresSum") + _InProceduresSum; produceInDepotDetail.HeJiCheckOutSum = DetailAccessor.Get_HJForColumnName(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepotDetail.ProduceInDepotId, produceInDepotDetail.Inumber.Value, produceInDepot.InsertTime.Value, "CheckOutSum") + _InCheckOutSum; produceInDepotDetail.HeJiProduceQuantity = DetailAccessor.Get_HJForColumnName(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepotDetail.ProduceInDepotId, produceInDepotDetail.Inumber.Value, produceInDepot.InsertTime.Value, "ProduceQuantity") + _InProduceQuantity; produceInDepotDetail.HeJiProduceTransferQuantity = DetailAccessor.Get_HJForColumnName(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepotDetail.ProduceInDepotId, produceInDepotDetail.Inumber.Value, produceInDepot.InsertTime.Value, "ProduceTransferQuantity") + _InProduceTransferQuantity; DetailAccessor.Insert(produceInDepotDetail); if (!string.IsNullOrEmpty(produceInDepotDetail.DepotPositionId)) { //Model.Stock stock = stockAccessor.GetStockByProductIdAndDepotPositionId(produceInDepotDetail.ProductId, produceInDepotDetail.DepotPositionId); stockAccessor.Increment(new BL.DepotPositionManager().Get(produceInDepotDetail.DepotPositionId), produceInDepotDetail.Product, produceInDepotDetail.ProduceQuantity); productManager.UpdateProduct_Stock(produceInDepotDetail.Product); } if (isUpdate == 1) { IList <Model.ProduceInDepotDetail> _detailsList = DetailAccessor.select_NextbyPronHeaderId(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepot.InsertTime.Value); var gbyHeaderId = from Model.ProduceInDepotDetail d in _detailsList group d by d.ProduceInDepotId; foreach (IList <Model.ProduceInDepotDetail> outdetail in gbyHeaderId) { foreach (Model.ProduceInDepotDetail detail in outdetail) { double?_nProceduresSum = outdetail.Where(d => d.Inumber <= detail.Inumber.Value).Sum(d => d.ProceduresSum); double?_nCheckOutSum = outdetail.Where(d => d.Inumber <= detail.Inumber).Sum(d => d.CheckOutSum); double?_nProduceQuantity = outdetail.Where(d => d.Inumber <= detail.Inumber).Sum(d => d.ProduceQuantity); double?_nProduceTransferQuantity = outdetail.Where(d => d.Inumber <= detail.Inumber).Sum(d => d.ProduceTransferQuantity); detail.HeJiProceduresSum = DetailAccessor.Get_HJForColumnName(detail.PronoteHeaderId, produceInDepot.WorkHouseId, detail.ProductId, detail.ProduceInDepotId, detail.Inumber.Value, detail.ProduceInDepot.InsertTime.Value, "ProceduresSum") + _nProceduresSum; detail.HeJiCheckOutSum = DetailAccessor.Get_HJForColumnName(detail.PronoteHeaderId, produceInDepot.WorkHouseId, detail.ProductId, detail.ProduceInDepotId, detail.Inumber.Value, detail.ProduceInDepot.InsertTime.Value, "CheckOutSum") + _nCheckOutSum; detail.HeJiProduceQuantity = DetailAccessor.Get_HJForColumnName(detail.PronoteHeaderId, produceInDepot.WorkHouseId, detail.ProductId, detail.ProduceInDepotId, detail.Inumber.Value, detail.ProduceInDepot.InsertTime.Value, "ProduceQuantity") + _nProduceQuantity; detail.HeJiProduceTransferQuantity = DetailAccessor.Get_HJForColumnName(detail.PronoteHeaderId, produceInDepot.WorkHouseId, detail.ProductId, detail.ProduceInDepotId, detail.Inumber.Value, detail.ProduceInDepot.InsertTime.Value, "ProduceTransferQuantity") + _nProduceTransferQuantity; DetailAccessor.Update(detail); //detail.HeJiProceduresSum = DetailAccessor.select_SumbyPronHeaderId(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId) + DetailAccessor.select_FrontSumByProduceIndepotIdAndProId(produceInDepot.ProduceInDepotId, produceInDepotDetail.ProductId, produceInDepotDetail.Inumber.Value) + detail.ProceduresSum; //detail.HeJiCheckOutSum = DetailAccessor.select_CheckOutSumByPronHeaderId(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId) + DetailAccessor.select_FrontCheckoutSumByProduceIndepotIdAndProId(produceInDepot.ProduceInDepotId, produceInDepotDetail.ProductId, produceInDepotDetail.Inumber.Value) + detail.CheckOutSum; //this.UpdateSql(@"update ProduceInDepotDetail set HeJiProceduresSum=" + (DetailAccessor.select_SumbyPronHeaderId(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId) + detail.ProceduresSum) + " , HeJiCheckOutSum=" + (DetailAccessor.select_CheckOutSumByPronHeaderId(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId) + detail.CheckOutSum) + " where produceInDepotDetailId='"+detail.ProduceInDepotDetailId+"'"); } } } //更新加工单 已合格数量 和是否 //if (!string.IsNullOrEmpty(produceInDepotDetail.PronoteHeaderId)) // pronoteHeaderAccessor.UpdatePronoteIsClose(produceInDepotDetail.PronoteHeaderId, produceInDepotDetail.CheckOutSum); } }
public IList <Book.Model.ProduceInDepotDetail> Select(Model.ProduceInDepot produceInDepot) { return(accessor.Select(produceInDepot)); }
public bool HasRowsAfter(Model.ProduceInDepot e) { return(accessor.HasRowsAfter(e)); }
private void addDetail(Model.ProduceInDepot produceInDepot) { foreach (Model.ProduceInDepotDetail produceInDepotDetail in produceInDepot.Details) { if (produceInDepotDetail.Product == null || string.IsNullOrEmpty(produceInDepotDetail.Product.ProductId)) { continue; } produceInDepotDetail.ProduceInDepotId = produceInDepot.ProduceInDepotId; //如果没有加工单号 if (string.IsNullOrEmpty(produceInDepotDetail.PronoteHeaderId) && !string.IsNullOrEmpty(produceInDepotDetail.InvoiceXOId)) { double?_InProceduresSum = produceInDepot.Details.Where(d => d.Inumber <= produceInDepotDetail.Inumber && d.ProductId == produceInDepotDetail.ProductId && d.InvoiceXOId == produceInDepotDetail.InvoiceXOId).Sum(d => d.ProceduresSum); double?_InCheckOutSum = produceInDepot.Details.Where(d => d.Inumber <= produceInDepotDetail.Inumber && d.ProductId == produceInDepotDetail.ProductId && d.InvoiceXOId == produceInDepotDetail.InvoiceXOId).Sum(d => d.CheckOutSum); double?_InProduceQuantity = produceInDepot.Details.Where(d => d.Inumber <= produceInDepotDetail.Inumber && d.ProductId == produceInDepotDetail.ProductId && d.InvoiceXOId == produceInDepotDetail.InvoiceXOId).Sum(d => d.ProduceQuantity); double?_InProduceTransferQuantity = produceInDepot.Details.Where(d => d.Inumber <= produceInDepotDetail.Inumber && d.ProductId == produceInDepotDetail.ProductId && d.InvoiceXOId == produceInDepotDetail.InvoiceXOId).Sum(d => d.ProduceTransferQuantity); produceInDepotDetail.HeJiProceduresSum = DetailAccessor.Get_HJForColumnNameByInvoiceXOId(produceInDepotDetail.InvoiceXOId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepot.InsertTime.Value, "ProceduresSum") + _InProceduresSum; produceInDepotDetail.HeJiCheckOutSum = DetailAccessor.Get_HJForColumnNameByInvoiceXOId(produceInDepotDetail.InvoiceXOId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepot.InsertTime.Value, "CheckOutSum") + _InCheckOutSum; produceInDepotDetail.HeJiProduceQuantity = DetailAccessor.Get_HJForColumnNameByInvoiceXOId(produceInDepotDetail.InvoiceXOId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepot.InsertTime.Value, "ProduceQuantity") + _InProduceQuantity; produceInDepotDetail.HeJiProduceTransferQuantity = DetailAccessor.Get_HJForColumnNameByInvoiceXOId(produceInDepotDetail.InvoiceXOId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepot.InsertTime.Value, "ProduceTransferQuantity") + _InProduceTransferQuantity; } else { double?_InProceduresSum = produceInDepot.Details.Where(d => d.Inumber <= produceInDepotDetail.Inumber && d.ProductId == produceInDepotDetail.ProductId && d.PronoteHeaderId == produceInDepotDetail.PronoteHeaderId).Sum(d => d.ProceduresSum); double?_InCheckOutSum = produceInDepot.Details.Where(d => d.Inumber <= produceInDepotDetail.Inumber && d.ProductId == produceInDepotDetail.ProductId && d.PronoteHeaderId == produceInDepotDetail.PronoteHeaderId).Sum(d => d.CheckOutSum); double?_InProduceQuantity = produceInDepot.Details.Where(d => d.Inumber <= produceInDepotDetail.Inumber && d.ProductId == produceInDepotDetail.ProductId && d.PronoteHeaderId == produceInDepotDetail.PronoteHeaderId).Sum(d => d.ProduceQuantity); double?_InProduceTransferQuantity = produceInDepot.Details.Where(d => d.Inumber <= produceInDepotDetail.Inumber && d.ProductId == produceInDepotDetail.ProductId && d.PronoteHeaderId == produceInDepotDetail.PronoteHeaderId).Sum(d => d.ProduceTransferQuantity); produceInDepotDetail.HeJiProceduresSum = DetailAccessor.Get_HJForColumnName(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepotDetail.ProduceInDepotId, produceInDepotDetail.Inumber.Value, produceInDepot.InsertTime.Value, "ProceduresSum") + _InProceduresSum; produceInDepotDetail.HeJiCheckOutSum = DetailAccessor.Get_HJForColumnName(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepotDetail.ProduceInDepotId, produceInDepotDetail.Inumber.Value, produceInDepot.InsertTime.Value, "CheckOutSum") + _InCheckOutSum; produceInDepotDetail.HeJiProduceQuantity = DetailAccessor.Get_HJForColumnName(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepotDetail.ProduceInDepotId, produceInDepotDetail.Inumber.Value, produceInDepot.InsertTime.Value, "ProduceQuantity") + _InProduceQuantity; produceInDepotDetail.HeJiProduceTransferQuantity = DetailAccessor.Get_HJForColumnName(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepotDetail.ProduceInDepotId, produceInDepotDetail.Inumber.Value, produceInDepot.InsertTime.Value, "ProduceTransferQuantity") + _InProduceTransferQuantity; } //if (produceInDepotDetail.Product.Id.Substring(0, 1) == "A" && produceInDepotDetail.HeJiProduceQuantity > produceInDepotDetail.PronoteHeaderSum) //{ // if (pronoteHeaderAccessor.SelectXOIdByCondition(produceInDepotDetail.ProductId, produceInDepotDetail.PronoteHeaderId) != null) // throw new Helper.MessageValueException("商品:" + produceInDepotDetail.Product.ToString() + " 合計入庫數量大於訂單數量\r前訂單:" + pronoteHeaderAccessor.SelectXOIdByCondition(produceInDepotDetail.ProductId, produceInDepotDetail.PronoteHeaderId) + " 中也有此商品!"); // else // throw new Helper.MessageValueException("商品:" + produceInDepotDetail.Product.ToString() + " 合計入庫數量大於訂單數量"); //} DetailAccessor.Insert(produceInDepotDetail); if (!string.IsNullOrEmpty(produceInDepotDetail.DepotPositionId)) { //Model.Stock stock = stockAccessor.GetStockByProductIdAndDepotPositionId(produceInDepotDetail.ProductId, produceInDepotDetail.DepotPositionId); stockAccessor.Increment(new BL.DepotPositionManager().Get(produceInDepotDetail.DepotPositionId), produceInDepotDetail.Product, produceInDepotDetail.ProduceQuantity); productManager.UpdateProduct_Stock(produceInDepotDetail.Product); } if (isUpdate == 1) { if (!string.IsNullOrEmpty(produceInDepotDetail.PronoteHeaderId)) { IList <Model.ProduceInDepotDetail> _detailsList = DetailAccessor.select_NextbyPronHeaderId(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepot.InsertTime.Value); var gbyHeaderId = from Model.ProduceInDepotDetail d in _detailsList group d by d.ProduceInDepotId; foreach (IList <Model.ProduceInDepotDetail> outdetail in gbyHeaderId) { foreach (Model.ProduceInDepotDetail detail in outdetail) { double?_nProceduresSum = outdetail.Where(d => d.Inumber <= detail.Inumber.Value).Sum(d => d.ProceduresSum); double?_nCheckOutSum = outdetail.Where(d => d.Inumber <= detail.Inumber).Sum(d => d.CheckOutSum); double?_nProduceQuantity = outdetail.Where(d => d.Inumber <= detail.Inumber).Sum(d => d.ProduceQuantity); double?_nProduceTransferQuantity = outdetail.Where(d => d.Inumber <= detail.Inumber).Sum(d => d.ProduceTransferQuantity); detail.HeJiProceduresSum = DetailAccessor.Get_HJForColumnName(detail.PronoteHeaderId, produceInDepot.WorkHouseId, detail.ProductId, detail.ProduceInDepotId, detail.Inumber.Value, detail.ProduceInDepot.InsertTime.Value, "ProceduresSum") + _nProceduresSum; detail.HeJiCheckOutSum = DetailAccessor.Get_HJForColumnName(detail.PronoteHeaderId, produceInDepot.WorkHouseId, detail.ProductId, detail.ProduceInDepotId, detail.Inumber.Value, detail.ProduceInDepot.InsertTime.Value, "CheckOutSum") + _nCheckOutSum; detail.HeJiProduceQuantity = DetailAccessor.Get_HJForColumnName(detail.PronoteHeaderId, produceInDepot.WorkHouseId, detail.ProductId, detail.ProduceInDepotId, detail.Inumber.Value, detail.ProduceInDepot.InsertTime.Value, "ProduceQuantity") + _nProduceQuantity; detail.HeJiProduceTransferQuantity = DetailAccessor.Get_HJForColumnName(detail.PronoteHeaderId, produceInDepot.WorkHouseId, detail.ProductId, detail.ProduceInDepotId, detail.Inumber.Value, detail.ProduceInDepot.InsertTime.Value, "ProduceTransferQuantity") + _nProduceTransferQuantity; //if (produceInDepotDetail.Product.Id.Substring(0, 1) == "A" && produceInDepotDetail.HeJiProduceQuantity > produceInDepotDetail.PronoteHeaderSum) //{ // if (pronoteHeaderAccessor.SelectXOIdByCondition(produceInDepotDetail.ProductId, produceInDepotDetail.PronoteHeaderId) != null) // throw new Helper.MessageValueException("商品:" + produceInDepotDetail.Product.ToString() + " 合計入庫數量大於訂單數量\r前訂單:" + pronoteHeaderAccessor.SelectXOIdByCondition(produceInDepotDetail.ProductId, produceInDepotDetail.PronoteHeaderId) + " 中也有此商品!"); // else // throw new Helper.MessageValueException("商品:" + produceInDepotDetail.Product.ToString() + " 合計入庫數量大於訂單數量"); //} DetailAccessor.Update(detail); //detail.HeJiProceduresSum = DetailAccessor.select_SumbyPronHeaderId(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId) + DetailAccessor.select_FrontSumByProduceIndepotIdAndProId(produceInDepot.ProduceInDepotId, produceInDepotDetail.ProductId, produceInDepotDetail.Inumber.Value) + detail.ProceduresSum; //detail.HeJiCheckOutSum = DetailAccessor.select_CheckOutSumByPronHeaderId(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId) + DetailAccessor.select_FrontCheckoutSumByProduceIndepotIdAndProId(produceInDepot.ProduceInDepotId, produceInDepotDetail.ProductId, produceInDepotDetail.Inumber.Value) + detail.CheckOutSum; //this.UpdateSql(@"update ProduceInDepotDetail set HeJiProceduresSum=" + (DetailAccessor.select_SumbyPronHeaderId(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId) + detail.ProceduresSum) + " , HeJiCheckOutSum=" + (DetailAccessor.select_CheckOutSumByPronHeaderId(produceInDepotDetail.PronoteHeaderId, produceInDepot.WorkHouseId) + detail.CheckOutSum) + " where produceInDepotDetailId='"+detail.ProduceInDepotDetailId+"'"); } } } else if (!string.IsNullOrEmpty(produceInDepotDetail.InvoiceXOId)) { IList <Model.ProduceInDepotDetail> _detailsList = DetailAccessor.select_NextbyInvoiceXOId(produceInDepotDetail.InvoiceXOId, produceInDepot.WorkHouseId, produceInDepotDetail.ProductId, produceInDepot.InsertTime.Value); var gbyHeaderId = from Model.ProduceInDepotDetail d in _detailsList group d by d.ProduceInDepotId; foreach (IList <Model.ProduceInDepotDetail> outdetail in gbyHeaderId) { foreach (Model.ProduceInDepotDetail detail in outdetail) { double?_nProceduresSum = outdetail.Where(d => d.Inumber <= detail.Inumber.Value).Sum(d => d.ProceduresSum); double?_nCheckOutSum = outdetail.Where(d => d.Inumber <= detail.Inumber).Sum(d => d.CheckOutSum); double?_nProduceQuantity = outdetail.Where(d => d.Inumber <= detail.Inumber).Sum(d => d.ProduceQuantity); double?_nProduceTransferQuantity = outdetail.Where(d => d.Inumber <= detail.Inumber).Sum(d => d.ProduceTransferQuantity); detail.HeJiProceduresSum = DetailAccessor.Get_HJForColumnNameByInvoiceXOId(detail.InvoiceXOId, produceInDepot.WorkHouseId, detail.ProductId, detail.ProduceInDepot.InsertTime.Value, "ProceduresSum") + _nProceduresSum; detail.HeJiCheckOutSum = DetailAccessor.Get_HJForColumnNameByInvoiceXOId(detail.InvoiceXOId, produceInDepot.WorkHouseId, detail.ProductId, detail.ProduceInDepot.InsertTime.Value, "CheckOutSum") + _nCheckOutSum; detail.HeJiProduceQuantity = DetailAccessor.Get_HJForColumnNameByInvoiceXOId(detail.InvoiceXOId, produceInDepot.WorkHouseId, detail.ProductId, detail.ProduceInDepot.InsertTime.Value, "ProduceQuantity") + _nProduceQuantity; detail.HeJiProduceTransferQuantity = DetailAccessor.Get_HJForColumnNameByInvoiceXOId(detail.InvoiceXOId, produceInDepot.WorkHouseId, detail.ProductId, detail.ProduceInDepot.InsertTime.Value, "ProduceTransferQuantity") + _nProduceTransferQuantity; if (produceInDepotDetail.Product.Id.Substring(0, 1) == "A" && produceInDepotDetail.HeJiProduceQuantity > produceInDepotDetail.PronoteHeaderSum) { if (pronoteHeaderAccessor.SelectXOIdByCondition(produceInDepotDetail.ProductId, produceInDepotDetail.PronoteHeaderId) != null) { throw new Helper.MessageValueException("商品:" + produceInDepotDetail.Product.ToString() + " 合計入庫數量大於訂單數量\r前訂單:" + pronoteHeaderAccessor.SelectXOIdByCondition(produceInDepotDetail.ProductId, produceInDepotDetail.PronoteHeaderId) + " 中也有此商品!"); } else { throw new Helper.MessageValueException("商品:" + produceInDepotDetail.Product.ToString() + " 合計入庫數量大於訂單數量"); } } DetailAccessor.Update(detail); } } } } //更新加工单 已合格数量 和是否 //if (!string.IsNullOrEmpty(produceInDepotDetail.PronoteHeaderId)) // pronoteHeaderAccessor.UpdatePronoteIsClose(produceInDepotDetail.PronoteHeaderId, produceInDepotDetail.CheckOutSum); } }
public void Insert(Model.ProduceInDepot e) { this.Insert <Model.ProduceInDepot>(e); }
public void Update(Model.ProduceInDepot e) { this.Update <Model.ProduceInDepot>(e); }
public bool HasRowsAfter(Model.ProduceInDepot e) { return(sqlmapper.QueryForObject <bool>("ProduceInDepot.has_rows_after", e)); }
public Model.ProduceInDepot GetNext(Model.ProduceInDepot e) { return(sqlmapper.QueryForObject <Model.ProduceInDepot>("ProduceInDepot.get_next", e)); }
public Model.ProduceInDepot GetDetails(string produceInDepotId) { Model.ProduceInDepot produceInDepot = accessor.Get(produceInDepotId); produceInDepot.Details = DetailAccessor.Select(produceInDepot); return(produceInDepot); }
public Model.ProduceInDepot GetPrev(Model.ProduceInDepot e) { return(sqlmapper.QueryForObject <Model.ProduceInDepot>("ProduceInDepot.get_prev", e)); }
public RO(string produceInDepotId, int i) { InitializeComponent(); this.produceInDepot = this.ProduceInDepotManager.Get(produceInDepotId); if (this.produceInDepot == null) { return; } this.produceInDepot.Details = this.ProduceInDepotDetailManager.Select(this.produceInDepot); foreach (var item in this.produceInDepot.Details) { item.CusXOId = InvoiceXOManager.SelectCusXOIdByPronoteHeaderId(item.PronoteHeaderId); } this.DataSource = this.produceInDepot.Details; //CompanyInfo this.xrLabelCompanyInfoName.Text = BL.Settings.CompanyChineseName; //this.xrLabelDataName.Text = Properties.Resources.ProduceInDepot; if (i == 1) { this.xrLabelDataName.Text = "商品入库"; } else { this.xrLabelDataName.Text = "成品入库"; } this.xrBarCodeId.Text = this.produceInDepot.ProduceInDepotId; this.xrLabelPrinDate.Text += DateTime.Now.ToString("yyyy-MM-dd"); //成品入庫 this.xrLabelProduceInDepotId.Text = this.produceInDepot.ProduceInDepotId; this.xrLabelProduceOtherInDepotDate.Text = this.produceInDepot.ProduceInDepotDate.Value.ToString("yyyy-MM-dd"); if (this.produceInDepot.Employee0 != null) { this.xrLabelEmployee0.Text = this.produceInDepot.Employee0.EmployeeName; } //if (this.produceInDepot.Employee1 != null) //{ // this.xrLabelEmployee1.Text = this.produceInDepot.Employee1.EmployeeName; //} if (this.produceInDepot.WorkHouse != null) { this.xrLabelDepartment.Text = this.produceInDepot.WorkHouse.Workhousename; } this.xrLabelProduceOtherInDepotDesc.Text = this.produceInDepot.ProduceInDepotDesc; //明细 this.xrTableProductId.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_Id); this.xrTableProductName.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_ProductName); if (produceInDepot.WorkHouse.Workhousename != null) { this.xrTableDepartment.DataBindings.Add("Text", this.DataSource, "ProduceInDepot.WorkHouse.Workhousename"); } this.xrTableProduceQuantity.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_ProduceQuantity); this.xrTableCellCustomerProductName.DataBindings.Add("Text", this.DataSource, "Product." + Model.Product.PRO_CustomerProductName); this.TCPronoteHeaderId.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_PronoteHeaderId); this.TCCusXOId.DataBindings.Add("Text", this.DataSource, "CusXOId"); this.TCHandBookId.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_HandbookId); this.TCHandBookProductId.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_HandbookProductId); //this.xrTableProduceInDepotDate.DataBindings.Add("Text", this.DataSource, "ProduceInDepot." + Model.ProduceInDepot.PRO_ProduceInDepotDate, "{0:yyyy-MM-dd}"); //this.xrTableProductGuige.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_ProductGuige); //this.xrTableProducePrice.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_ProducePrice); //this.xrTableProduceMoney.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_ProduceMoney); //this.xrTableCellProduceTransferQuantity.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_ProduceTransferQuantity); //this.xrTableCellPronoteHeaderId.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_PronoteHeaderId); //this.xrTableCellHeJiProceduresSum.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_HeJiProceduresSum); //this.xrTableCellHeJiCheckOutSum.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_HeJiCheckOutSum); //this.xrTableCellBusinessHoursType.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_BusinessHoursType); //this.xrTableCellRejectionRate.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_RejectionRate); //this.xrTableCellZaZhi.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_ZaZhi); //this.xrTableCellHeJiProceduresSum.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_ProceduresSum); //this.xrTableCellCheckOutSum.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_CheckOutSum); //this.xrTableCellInvoiceQuantity.DataBindings.Add("Text", this.DataSource, Model.ProduceInDepotDetail.PRO_PronoteHeaderSum); }
public bool HasRowsBefore(Model.ProduceInDepot e) { return(accessor.HasRowsBefore(e)); }