/// <summary> /// 删除实体 /// </summary> /// <param name="param">删除条件实体</param> /// <returns></returns> public WCFAddUpdateResult DelInfo(ORD_PurchaseReturnLineParam param) { this.CheckSession(); WCFAddUpdateResult ret = new WCFAddUpdateResult(); int affect = 0; try { #region 判断 if (param.PRLineGuid == null) { throw new WarnException("请指定明细GUID!"); } #endregion WhereClip whereClip = GetWhereClip(param); ORD_PurchaseReturnLineResult info = new ORD_PurchaseReturnLineResult(); info.IsDeleted = true; affect = this.Update <ORD_PurchaseReturnLineResult>(info, whereClip); #region 设置返回值 ret.Key = affect; #endregion } catch (WarnException exp) { throw exp; } catch (System.Exception exp) { LogInfoBLL.WriteLog(this.SessionInfo, exp); throw exp; } return(ret); }
private void btnAddRow_Click(object sender, EventArgs e) { bsPurchaseReturnLine.AddNew(); ORD_PurchaseReturnLineResult rst = bsPurchaseReturnLine.Current as ORD_PurchaseReturnLineResult; InitNewData(rst); }
public void SetStkLineObjectValue(ORD_PurchaseReturnLineResult returnLineResult, STK_InLineResult inLineRst) { returnLineResult.POGuid = inLineRst.SourceBillGuid; returnLineResult.POBillNo = inLineRst.SourceBillNo;//采购单号 returnLineResult.POLineGuid = inLineRst.SourceBillLineGuid; returnLineResult.StkInGuid = inLineRst.StkInGuid; returnLineResult.StkInBillNo = inLineRst.StkInBillNo;//入库单号 returnLineResult.StkInLineGuid = inLineRst.StkInLineGuid; returnLineResult.ItemCode = inLineRst.ItemCode; returnLineResult.Model = inLineRst.Model; returnLineResult.Brand = inLineRst.Brand; returnLineResult.Package = inLineRst.Package; returnLineResult.Batch = inLineRst.Batch; returnLineResult.MPQ = inLineRst.MPQ; returnLineResult.Quality = inLineRst.Quality; returnLineResult.MarkCode = inLineRst.MarkCode; returnLineResult.InvType = inLineRst.InvType; returnLineResult.Unit = inLineRst.Unit; returnLineResult.UnitPrice = inLineRst.UnitPrice; returnLineResult.Qty = inLineRst.Qty.ToInt32() - inLineRst.ReturnOccQty.ToInt32(); returnLineResult.Currency = inLineRst.Currency; returnLineResult.Amount = returnLineResult.UnitPrice * returnLineResult.Qty; returnLineResult.Warehouse = inLineRst.Warehouse; returnLineResult.Location = inLineRst.Location; returnLineResult.IsDeleted = false; }
private void btnInsertBefore_Click(object sender, EventArgs e) { ORD_PurchaseReturnLineResult rst = new ORD_PurchaseReturnLineResult(); InitNewData(rst); bsPurchaseReturnLine.Insert(dgvPurchaseReturnLine.CurrentRow.Index, rst); }
void InitSourceData(ORD_PurchaseOrderResult orderResult) { if (orderResult != null) { txtPOGuid.Text = orderResult.POGuid.ToStringHasNull(); txtPOBillNo.Text = orderResult.BillNo; cboCurrency.SelectedValue = orderResult.Currency; txtPODate.Text = orderResult.PODate.ToStringHasNull(); decimal?totalAmount = 0.0m; List <STK_InLineResult> inLineList = inLineLogic.GetList(new STK_InLineParam() { SourceBillGuid = orderResult.POGuid }); foreach (STK_InLineResult inLineResult in inLineList) { ORD_PurchaseReturnLineResult returnListResult = new ORD_PurchaseReturnLineResult(); SetStkLineObjectValue(returnListResult, inLineResult); totalAmount += returnListResult.Amount; bsPurchaseReturnLine.Add(returnListResult); } totalAmount = Math.Round(totalAmount.ToDecimal(), 3, MidpointRounding.AwayFromZero); txtAmount.Text = totalAmount.ToStringHasNull(); CRM_CompanyResult companyResult = companyLogic.GetCustInfo(new CRM_CompanyParam() { CompanyID = orderResult.SupplierID.ToInt32() }); if (companyResult != null) { txtSupplierID.Text = companyResult.CompanyID.ToStringHasNull(); txtSupplierName.Text = companyResult.CompanyName; } } }
public ORD_PurchaseReturnLineResult GetInfo(ORD_PurchaseReturnLineParam param) { ORD_PurchaseReturnLineResult ret = new ORD_PurchaseReturnLineResult(); ExeResult rst = new ExeResult(); rst = this.Execute("ZNLCRM.BLL.PPM.ORD_PurchaseReturnLineBLL", "GetInfo", param); ret = rst == null ? new ORD_PurchaseReturnLineResult() : rst.Result as ORD_PurchaseReturnLineResult; return(ret); }
/// <summary> /// 添加和新增修改 /// </summary> /// <param name="param">新增或修改的实体</param> /// <returns></returns> public WCFAddUpdateResult AddOrUpdate(ORD_PurchaseReturnLineResult param) { this.CheckSession(); WCFAddUpdateResult ret = new WCFAddUpdateResult(); try { int affect = 0; #region 判断 #endregion #region 系统默认值 if (param.PRLineGuid != null) { WhereClip where = ORD_PurchaseReturnLine._.PRLineGuid == param.PRLineGuid; param.UpdatedEmpID = this.SessionInfo.UserID; param.UpdatedEmpName = this.SessionInfo.UserName; param.UpdatedTime = DateTime.Now; affect = this.Update <ORD_PurchaseReturnLineResult>(param, where); } else { param.PRLineGuid = Guid.NewGuid(); param.IsDeleted = false; param.CreatedEmpID = this.SessionInfo.UserID; param.CreatedEmpName = this.SessionInfo.UserName; param.CreatedTime = DateTime.Now; affect = this.Insert <ORD_PurchaseReturnLineResult>(param); param = this.Select <ORD_PurchaseReturnLineResult>(new List <Field>() { ORD_PurchaseReturnLine._.All }, ORD_PurchaseReturnLine._.PRLineGuid == param.PRLineGuid); } #region 设置返回值 ret.KeyGuid = param.PRLineGuid; ret.CreatedTime = param.CreatedTime; ret.CreatedEmpID = param.CreatedEmpID; ret.CreatedEmpName = param.CreatedEmpName; ret.UpdatedEmpID = param.UpdatedEmpID; ret.UpdatedEmpName = param.UpdatedEmpName; ret.UpdatedTime = param.UpdatedTime; #endregion #endregion } catch (WarnException exp) { throw exp; } catch (System.Exception exp) { LogInfoBLL.WriteLog(this.SessionInfo, exp); throw exp; } return(ret); }
private void btnDelRow_Click(object sender, EventArgs e) { if (this.bsPurchaseReturnLine.Current != null) { Guid?PRGuid = null; ORD_PurchaseReturnLineResult delResult = this.bsPurchaseReturnLine.Current as ORD_PurchaseReturnLineResult; PRGuid = delResult.PRGuid; if (PRGuid.ToGuid() != Guid.Empty) { delResult.IsDeleted = true; delList.Add(delResult); } bsPurchaseReturnLine.RemoveCurrent(); } }
/// <summary> /// 获取一条信息记录 /// </summary> /// <param name="param"></param> /// <returns></returns> public ORD_PurchaseReturnLineResult GetInfo(ORD_PurchaseReturnLineParam param) { this.CheckSession(); ORD_PurchaseReturnLineResult rst = new ORD_PurchaseReturnLineResult(); #region 判断 if (param.PRLineGuid == null) { throw new WarnException("请指定明细GUID!"); } #endregion #region 获取实体 rst = this.Select <ORD_PurchaseReturnLineResult>(GetWhereClip(param)); #endregion return(rst); }
private void InitData() { switch (SourceBillType) { case "销售出库": ORD_SalesOrderLineResult orderLineResult = orderLineLogic.GetInfo(new ORD_SalesOrderLineParam() { SOLineGuid = SourceBillLineGuid }); txtModel.Text = orderLineResult.Model; txtBrand.Text = orderLineResult.Brand; txtBatch.Text = orderLineResult.Batch; txtPackage.Text = orderLineResult.Package; txtSourceBillNo.Text = SourceBillNo; txtSourceBillLineCode.Text = orderLineResult.SOLineCode; txtSModel.Text = orderLineResult.Model; txtQty.Text = orderLineResult.Qty.ToStringHasNull(); txtReserveQty.Text = orderLineResult.ReserveQty.ToStringHasNull(); break; case "采购退货出库": ORD_PurchaseReturnLineResult returnLineResult = returnLineLogic.GetInfo(new ORD_PurchaseReturnLineParam() { PRLineGuid = SourceBillLineGuid }); txtModel.Text = returnLineResult.Model; txtBrand.Text = returnLineResult.Brand; txtBatch.Text = returnLineResult.Batch; txtPackage.Text = returnLineResult.Package; txtSourceBillNo.Text = SourceBillNo; txtSModel.Text = returnLineResult.Model; txtQty.Text = returnLineResult.Qty.ToStringHasNull(); txtReserveQty.Text = returnLineResult.ReserveQty.ToStringHasNull(); break; } }
private void ImportSourceLine(bool isMutiSelect) { if (string.IsNullOrEmpty(txtSupplierName.Text)) { this.ShowMessage("请选择客户!"); return; } if (string.IsNullOrEmpty(cboCurrency.Text)) { this.ShowMessage("请选择币种!"); return; } frmSelectStkInLine frm = new frmSelectStkInLine(isMutiSelect); if (txtPOGuid.Text.ToGuid() != Guid.Empty) { frm.SourceBillGuid = txtPOGuid.Text.ToGuid(); } Guid? stkInLineGuid = Guid.Empty; string model = string.Empty; if (!isMutiSelect) { stkInLineGuid = dgvPurchaseReturnLine.CurrentRow.Cells["colStkInLineGuid"].Value.ToGuid(); model = dgvPurchaseReturnLine.CurrentRow.Cells["colModel"].Value.ToStringHasNull(); } if (!string.IsNullOrEmpty(model)) { frm.Model = model; } if (stkInLineGuid != Guid.Empty)//如果已经存在关联的源单据明细,则只筛选此条明细 { frm.StkInLineGuid = stkInLineGuid; } else//如果是新行,则排除掉已经存在列表里面的所有的源单据明细 { Guid?[] noStkInLineGuids = addOrModifyList.Where(a => a.StkInLineGuid.ToGuid() != Guid.Empty).Select(a => a.StkInLineGuid).Distinct().ToArray(); frm.NoStkInLineGuids = noStkInLineGuids; } frm.BringToFront(); frm.StartPosition = FormStartPosition.CenterScreen; DialogResult rst = frm.ShowDialog(); if (rst == DialogResult.OK) { List <STK_InLineResult> rstList = frm.GetSelectList <STK_InLineResult>(); if (rstList != null && rstList.Count > 0) { foreach (STK_InLineResult inLineResult in rstList) { bool isAddNew = true; foreach (DataGridViewRow row in dgvPurchaseReturnLine.Rows) { //如果是已经存在的行,则利用现成的行进行编辑 if (row.Cells["colStkInLineGuid"].Value.ToGuid() == inLineResult.StkInLineGuid) { isAddNew = false; ORD_PurchaseReturnLineResult returnLineResult = bsPurchaseReturnLine[row.Index] as ORD_PurchaseReturnLineResult; SetStkLineObjectValue(returnLineResult, inLineResult); break; } } if (isAddNew) { if (!isMutiSelect)//单选 { ORD_PurchaseReturnLineResult returnLineResult = bsPurchaseReturnLine.Current as ORD_PurchaseReturnLineResult; SetStkLineObjectValue(returnLineResult, inLineResult); } else//多选 { ORD_PurchaseReturnLineResult returnLineResult = new ORD_PurchaseReturnLineResult(); SetStkLineObjectValue(returnLineResult, inLineResult); bsPurchaseReturnLine.Add(returnLineResult); } } } } } dgvPurchaseReturnLine.EndEdit(); }
void InitNewData(ORD_PurchaseReturnLineResult rst) { rst.Currency = cboCurrency.SelectedValue.ToStringHasNull(); rst.InvType = "备货库存"; rst.Unit = "PCS"; }
/// <summary> /// 操作预留 /// </summary> /// <param name="result"></param> /// <returns></returns> public bool OperateReserve(STK_StockReserveResult result) { this.CheckSession(); try { //预留调整量 int?tempReserveQty = 0; ORD_SalesOrderLineResult orderLineResult = new ORD_SalesOrderLineResult(); ORD_SalesOrderLineBLL orderLineBLL = new ORD_SalesOrderLineBLL(); orderLineBLL.SessionInfo = this.SessionInfo; ORD_PurchaseReturnLineResult returnLineResult = new ORD_PurchaseReturnLineResult(); ORD_PurchaseReturnLineBLL returnLineBLL = new ORD_PurchaseReturnLineBLL(); returnLineBLL.SessionInfo = this.SessionInfo; //空值转换为零 if (result.ReserveQty == null) { result.ReserveQty = 0; } // 预留明细的业务类型 switch (result.SourceBillType) { case "销售出库": orderLineResult = orderLineBLL.GetInfo(new ORD_SalesOrderLineParam() { SOLineGuid = result.SourceBillLineGuid }); if (orderLineResult != null) { if (orderLineResult.Qty == null) { orderLineResult.Qty = 0; } if (orderLineResult.ReserveQty == null) { orderLineResult.ReserveQty = 0; } tempReserveQty = orderLineResult.Qty - orderLineResult.ReserveQty; } break; case "采购退货出库": returnLineResult = returnLineBLL.GetInfo(new ORD_PurchaseReturnLineParam() { PRLineGuid = result.SourceBillLineGuid }); if (returnLineResult != null) { if (returnLineResult.Qty == null) { returnLineResult.Qty = 0; } if (returnLineResult.ReserveQty == null) { returnLineResult.ReserveQty = 0; } tempReserveQty = returnLineResult.Qty - returnLineResult.ReserveQty; } break; } //获取已存在的预留信息 STK_StockReserveResult oldReserveResult = null; if (result.SRGuid != null) { STK_StockReserveParam reserveParam = new STK_StockReserveParam(); reserveParam.SRGuid = result.SRGuid; oldReserveResult = this.GetInfo(reserveParam); } if (oldReserveResult != null) { if (oldReserveResult.ReserveQty == null) { orderLineResult.ReserveQty = 0; } //修改预留数量,预留量增加 if (result.ReserveQty >= oldReserveResult.ReserveQty) { tempReserveQty = result.ReserveQty - oldReserveResult.ReserveQty; result.OperFlag = true; } //修改预留数量,预留量减少 else if (result.ReserveQty < oldReserveResult.ReserveQty) { tempReserveQty = oldReserveResult.ReserveQty - result.ReserveQty; result.OperFlag = false; } } //获取库存信息 STK_StockBLL stockBLL = new STK_StockBLL(); stockBLL.SessionInfo = this.SessionInfo; STK_StockResult stockResult = stockBLL.GetInfo(new STK_StockParam() { ItemCode = result.ItemCode }); if (stockResult != null) { //空值转换为零 if (stockResult.UsableQty == null) { stockResult.UsableQty = 0; } if (stockResult.BookedQty == null) { stockResult.BookedQty = 0; } } int?UsableQty = stockResult.UsableQty; //删除预留信息 if (result.IsDeleted.ToBooleanHasNull()) { result = oldReserveResult; stockResult.UsableQty += result.ReserveQty; stockResult.BookedQty -= result.ReserveQty; switch (result.SourceBillType) { case "销售出库": orderLineResult.ReserveQty -= result.ReserveQty; break; case "采购退货出库": returnLineResult.ReserveQty -= result.ReserveQty; break; } } //新增或者修改预留信息 else { switch (result.OperFlag) { case true: //增加 //预留信息已经存在 if (oldReserveResult != null) { result = oldReserveResult; if (UsableQty >= tempReserveQty) //大于需要预留数量 { result.ReserveQty += tempReserveQty; } else //小于需要预留数量 { result.ReserveQty += UsableQty; } } //新的预留 else { if (UsableQty >= tempReserveQty) //大于需要预留数量 { result.ReserveQty = tempReserveQty; } else //小于需要预留数量 { result.ReserveQty = UsableQty; } } if (UsableQty >= tempReserveQty) //大于需要预留数量 { stockResult.UsableQty -= tempReserveQty; stockResult.BookedQty += tempReserveQty; switch (result.SourceBillType) { case "销售出库": orderLineResult.ReserveQty += tempReserveQty; break; case "采购退货出库": returnLineResult.ReserveQty += tempReserveQty; break; } } else { stockResult.UsableQty -= UsableQty; stockResult.BookedQty += UsableQty; switch (result.SourceBillType) { case "销售出库": orderLineResult.ReserveQty += UsableQty; break; case "采购退货出库": returnLineResult.ReserveQty += UsableQty; break; } } break; case false: //减少库存量 result = oldReserveResult; result.ReserveQty -= tempReserveQty; stockResult.UsableQty += tempReserveQty; stockResult.BookedQty -= tempReserveQty; switch (result.SourceBillType) { case "销售出库": orderLineResult.ReserveQty -= tempReserveQty; break; case "采购退货出库": returnLineResult.ReserveQty -= tempReserveQty; break; } break; } // end of switch } //end of if else //更改预留表 this.AddOrUpdate(result); //更改库存 stockBLL.AddOrUpdate(stockResult); //更新预留关联单据明细 switch (result.SourceBillType) { case "销售出库": orderLineBLL.AddOrUpdate(orderLineResult); break; case "采购退货出库": returnLineBLL.AddOrUpdate(returnLineResult); break; } // end of if else } catch (WarnException exp) { throw exp; } catch (System.Exception exp) { LogInfoBLL.WriteLog(this.SessionInfo, exp); throw exp; } return(true); }
public void InitSourceData(string billType, object obj) { if (obj != null) { if (cboBillType.SelectedValue.ToStringHasNull() == "") { SYS_DictItemLineLogic.SetCombolSelectedIndex(cboBillType, billType, true); } if (obj is ORD_SalesOrderResult) { ORD_SalesOrderResult salesOrderResult = obj as ORD_SalesOrderResult; if (salesOrderResult != null) { txtSourceBillGuid.Text = salesOrderResult.SOGuid.ToStringHasNull(); txtSourceBillNo.Text = salesOrderResult.BillNo; cboTaxRate.SelectedValue = salesOrderResult.TaxRate == null ? 0 : salesOrderResult.TaxRate; cboCurrency.SelectedValue = salesOrderResult.Currency; List <STK_StockReserveResult> reserveList = reserveLogic.GetList(new STK_StockReserveParam() { SourceBillGuid = salesOrderResult.SOGuid, IsUsedOver = false }); List <ORD_SalesOrderLineResult> lineList = null; if (salesOrderResult.OrderLineList != null)//从其他窗体点击出库进入,只传递guid,通过guid获取的对象中含有明细 { lineList = salesOrderResult.OrderLineList.Where(a => a.StkOutOccQty.ToInt32() < a.Qty).ToList(); } else//在出库窗体打开选择窗体得到的对象是没有包含明细的,需要去单独获取明细 { lineList = orderLineLogic.GetList(new ORD_SalesOrderLineParam() { SOGuid = salesOrderResult.SOGuid }).Where(a => a.StkOutOccQty.ToInt32() < a.Qty).ToList(); } foreach (STK_StockReserveResult reserveResult in reserveList) { STK_OutLineResult stkOutLineResult = new STK_OutLineResult(); ORD_SalesOrderLineResult lineResult = lineList.FirstOrDefault(a => a.SOLineGuid == reserveResult.SourceBillLineGuid); if (lineResult != null) { stkOutLineResult.UnitPrice = lineResult.UnitPrice; } SetStkLineObjectValue(stkOutLineResult, reserveResult); bsStkOutLine.Add(stkOutLineResult); } } } else if (obj is ORD_PurchaseReturnResult) { ORD_PurchaseReturnResult purReturnResult = obj as ORD_PurchaseReturnResult; if (purReturnResult != null) { txtSourceBillGuid.Text = purReturnResult.POGuid.ToStringHasNull(); txtSourceBillNo.Text = purReturnResult.BillNo; decimal?taxRate = 0; cboTaxRate.SelectedValue = taxRate; cboCurrency.SelectedValue = purReturnResult.Currency; List <STK_StockReserveResult> reserveList = reserveLogic.GetList(new STK_StockReserveParam() { SourceBillGuid = purReturnResult.PRGuid, IsUsedOver = false }); List <ORD_PurchaseReturnLineResult> lineList = null; if (purReturnResult.ReturnLineList != null) { lineList = purReturnResult.ReturnLineList.Where(a => a.StkOutOccQty.ToInt32() < a.Qty).ToList(); } else { lineList = returnLineLogic.GetList(new ORD_PurchaseReturnLineParam() { PRGuid = purReturnResult.PRGuid }).Where(a => a.StkOutOccQty.ToInt32() < a.Qty).ToList(); } foreach (STK_StockReserveResult reserveResult in reserveList) { STK_OutLineResult stkOutLineResult = new STK_OutLineResult(); ORD_PurchaseReturnLineResult lineResult = lineList.FirstOrDefault(a => a.PRLineGuid == reserveResult.SourceBillLineGuid); if (lineResult != null) { stkOutLineResult.UnitPrice = lineResult.UnitPrice; } SetStkLineObjectValue(stkOutLineResult, reserveResult); bsStkOutLine.Add(stkOutLineResult); } } } CalcExchangeRate(); } }