protected override void gvHuListDataBind() { base.gvHuListDataBind(); TransformerDetail[] transformerArray = new TransformerDetail[] { }; this.lblBarCode.Text = "大箱"; if (this.resolver.Transformers != null && this.resolver.Transformers.Length > 0 && this.resolver.Transformers[0].TransformerDetails != null) { transformerArray = this.resolver.Transformers[0].TransformerDetails; } if (this.resolver.IOType == BusinessConstants.IO_TYPE_OUT) { if (isHasOutDetail) { transformerArray = this.resolver.Transformers[1].TransformerDetails; } this.lblBarCode.Text = "小箱"; } ts.MappingName = transformerArray.GetType().Name; this.dgList.DataSource = transformerArray; //ts = new DataGridTableStyle(); //ts.GridColumnStyles.Add(columnHuId); //ts.GridColumnStyles.Add(columnStorageBinCode); //ts.GridColumnStyles.Add(columnCurrentQty); //ts.GridColumnStyles.Add(columnItemDescription); //this.dgList.TableStyles.Clear(); //this.dgList.TableStyles.Add(ts); //this.ResumeLayout(); //this.tbBarCode.Text = string.Empty; }
protected override void SetDetail(Resolver resolver) { Hu hu = huMgr.CheckAndLoadHu(resolver.Input); if (this.locationMgr.IsHuOcuppyByPickList(resolver.Input)) { throw new BusinessErrorException("Order.Error.PickUp.HuOcuppied", resolver.Input); } if (resolver.BinCode == string.Empty || resolver.BinCode == null) { throw new BusinessErrorException("Warehouse.PutAway.PlzScanBin"); } if (hu.StorageBin != null && hu.StorageBin.Trim() != string.Empty && hu.StorageBin == resolver.BinCode) { throw new BusinessErrorException("Warehouse.PutAway.AlreadyInThisBin"); } //校验Bin StorageBin bin = storageBinMgr.CheckAndLoadStorageBin(resolver.BinCode); LocationLotDetail locationLotDetail = locationLotDetailMgr.CheckLoadHuLocationLotDetail(resolver.Input, string.Empty, bin.Area.Location.Code); locationLotDetail.NewStorageBin = bin; TransformerDetail transformerDetail = TransformerHelper.ConvertLocationLotDetailToTransformerDetail(locationLotDetail, true); resolver.AddTransformerDetail(transformerDetail); }
protected override void SetDetail(Resolver resolver) { //setDetailMgr.CheckHuInTransformerDetails(resolver); LocationLotDetail locationLotDetail = locationLotDetailMgr.CheckLoadHuLocationLotDetail(resolver.Input, resolver.UserCode); //Hu hu = locationLotDetail.Hu; //hu.Qty = locationLotDetail.Qty / hu.UnitQty; if (this.locationMgr.IsHuOcuppyByPickList(resolver.Input)) { throw new BusinessErrorException("Order.Error.PickUp.HuOcuppied", resolver.Input); } //已经下架 if (locationLotDetail.StorageBin == null) { throw new BusinessErrorException("Warehouse.PickUp.Error.IsAlreadyPickUp", resolver.Input); } TransformerDetail transformerDetail = TransformerHelper.ConvertLocationLotDetailToTransformerDetail(locationLotDetail, false); resolver.AddTransformerDetail(transformerDetail); //transformerDetail.CurrentQty = transformerDetail.Qty; //int maxSeq = setDetailMgr.FindMaxSeq(resolver.Transformers); //transformerDetail.Sequence = maxSeq + 1; //resolver.Transformers[0].TransformerDetails.Add(transformerDetail); //resolver.Command = BusinessConstants.CS_BIND_VALUE_TRANSFORMERDETAIL; }
public static TransformerDetail ConvertRepackDetailToTransformerDetail(RepackDetail repackDetail) { TransformerDetail transformerDetail = new TransformerDetail(); if (repackDetail.LocationLotDetail.Hu != null) { transformerDetail = ConvertHuToTransformerDetail(repackDetail.LocationLotDetail.Hu); transformerDetail.Qty = repackDetail.Qty / repackDetail.LocationLotDetail.Hu.UnitQty; transformerDetail.CurrentQty = transformerDetail.Qty; } else { transformerDetail.ItemCode = repackDetail.LocationLotDetail.Item.Code; transformerDetail.ItemDescription = repackDetail.LocationLotDetail.Item.Description; transformerDetail.UomCode = repackDetail.LocationLotDetail.Item.Uom.Code; transformerDetail.UnitCount = repackDetail.LocationLotDetail.Item.UnitCount; transformerDetail.Qty = repackDetail.Qty; transformerDetail.CurrentQty = repackDetail.Qty; } transformerDetail.LocationLotDetId = repackDetail.LocationLotDetail.Id; transformerDetail.LocationCode = repackDetail.LocationLotDetail.Location.Code; transformerDetail.StorageBinCode = repackDetail.StorageBinCode; transformerDetail.IOType = repackDetail.IOType; return(transformerDetail); }
public static Transformer ConvertTransformerDetailToTransformer(TransformerDetail transformerDetail) { if (transformerDetail == null) { return(null); } Transformer transformer = new Transformer(); transformer.ItemCode = transformerDetail.ItemCode; transformer.ItemDescription = transformerDetail.ItemDescription; transformer.UomCode = transformerDetail.UomCode; transformer.UnitCount = transformerDetail.UnitCount; transformer.Qty = transformerDetail.Qty; transformer.CurrentQty = transformerDetail.CurrentQty; transformer.LocationCode = transformerDetail.LocationCode; transformer.LocationFromCode = transformerDetail.LocationFromCode; transformer.LocationToCode = transformerDetail.LocationToCode; transformer.LotNo = transformerDetail.LotNo; transformer.LocationLotDetId = transformerDetail.LocationLotDetId; transformer.OrderLocTransId = transformerDetail.OrderLocTransId; transformer.StorageBinCode = transformerDetail.StorageBinCode; return(transformer); }
protected override void SetDetail(Resolver resolver) { LocationLotDetail locationLotDetail = locationLotDetailMgr.CheckLoadHuLocationLotDetail(resolver.Input, resolver.UserCode); TransformerDetail transformerDetail = TransformerHelper.ConvertLocationLotDetailToTransformerDetail(locationLotDetail, false); resolver.AddTransformerDetail(transformerDetail); resolver.Command = BusinessConstants.CS_BIND_VALUE_TRANSFORMERDETAIL; }
protected void btnAdd_Click(object sender, EventArgs e) { try { if (this.InTransformerDetailList == null || this.InTransformerDetailList.Count == 0) { ShowErrorMessage("MasterData.Inventory.Repack.Devanning.Empty"); return; } TransformerDetail newTransformerDetail = CloneHelper.DeepClone <TransformerDetail>(this.InTransformerDetailList[0]); newTransformerDetail.HuId = string.Empty; newTransformerDetail.Qty = 0; newTransformerDetail.UnitCount = 0; newTransformerDetail.IOType = BusinessConstants.IO_TYPE_OUT; if (this.OutTransformerDetailList == null) { CacheResolver.Transformers[1].TransformerDetails = new List <TransformerDetail>(); } this.OutTransformerDetailList.Add(newTransformerDetail); BindTransformerDetail(); } catch (BusinessErrorException ex) { ShowErrorMessage(ex); } }
public List <TransformerDetail> GetHuList() { List <TransformerDetail> huList = new List <TransformerDetail>(); foreach (GridViewRow gvr in GV_List.Rows) { TransformerDetail transformerDetail = new TransformerDetail(); transformerDetail.HuId = this.GetHuId(gvr); transformerDetail.LotNo = ((Label)gvr.FindControl("lblLotNo")).Text; transformerDetail.StorageBinCode = ((Label)gvr.FindControl("lblStorageBinCode")).Text; HiddenField hfQty = (HiddenField)gvr.FindControl("hfQty"); transformerDetail.Qty = hfQty.Value != string.Empty ? decimal.Parse(hfQty.Value) : 0; //if ((HiddenField)gvr.FindControl("hfIsqualified") != null && ((HiddenField)gvr.FindControl("hfIsqualified")).Value != string.Empty) //{ // transformerDetail.IsQualified = bool.Parse(((HiddenField)gvr.FindControl("hfIsqualified")).Value); //} transformerDetail.CurrentQty = this.GetCurrentQty(gvr); if ((HiddenField)gvr.FindControl("hfId") != null && ((HiddenField)gvr.FindControl("hfId")).Value != string.Empty) { transformerDetail.Id = int.Parse(((HiddenField)gvr.FindControl("hfId")).Value); } huList.Add(transformerDetail); } return(huList); }
protected override void SetDetail(Resolver resolver) { InspectOrderDetail inspectOrderDetail = inspectOrderDetailMgr.CheckAndGetInspectOrderDetail(resolver.Input); TransformerDetail transformerDetail = TransformerHelper.ConvertInspectDetailToTransformerDetail(inspectOrderDetail); resolver.AddTransformerDetail(transformerDetail); resolver.Command = BusinessConstants.CS_BIND_VALUE_TRANSFORMERDETAIL; }
public void InitPageParameter(TransformerDetail transformDetail) { tbUnitCount.Text = transformDetail.UnitCount.ToString("F2"); tbQty.Text = "1"; tbUnitCount.Attributes["oldValue"] = tbUnitCount.Text; tbQty.Attributes["oldValue"] = tbQty.Text; this.HuId = transformDetail.HuId; }
public static List <Transformer> ConvertInspectDetailToTransformer(IList <InspectOrderDetail> inspectOrderDetailList) { List <Transformer> transformerList = new List <Transformer>(); if (inspectOrderDetailList != null && inspectOrderDetailList.Count > 0) { foreach (InspectOrderDetail inspectDetail in inspectOrderDetailList) { bool isExist = false; foreach (Transformer transformer in transformerList) { if (inspectDetail.LocationLotDetail.Item.Code == transformer.ItemCode && inspectDetail.LocationFrom.Code == transformer.LocationFromCode && inspectDetail.LocationTo.Code == transformer.LocationToCode) { TransformerDetail transformerDetail = ConvertInspectDetailToTransformerDetail(inspectDetail); transformer.AddTransformerDetail(transformerDetail); transformer.Qty += transformerDetail.Qty; isExist = true; break; } } if (!isExist) { Transformer transformer = new Transformer(); transformer.Id = inspectDetail.Id; transformer.ItemCode = inspectDetail.LocationLotDetail.Item.Code; transformer.ItemDescription = inspectDetail.LocationLotDetail.Item.Description; if (inspectDetail.LocationLotDetail.Hu != null) { transformer.UomCode = inspectDetail.LocationLotDetail.Hu.Uom.Code; transformer.UnitCount = inspectDetail.LocationLotDetail.Hu.UnitCount; } else { transformer.UomCode = inspectDetail.LocationLotDetail.Item.Uom.Code; transformer.UnitCount = inspectDetail.LocationLotDetail.Item.UnitCount; } transformer.LocationFromCode = inspectDetail.LocationFrom.Code; transformer.LocationToCode = inspectDetail.LocationTo.Code; transformer.Qty = inspectDetail.InspectedQty; transformer.CurrentQty = 0; if (inspectDetail.LocationLotDetail.Hu != null || inspectDetail.LocationLotDetail.LotNo != null) { transformer.AddTransformerDetail(ConvertInspectDetailToTransformerDetail(inspectDetail)); } transformerList.Add(transformer); } } } ProcessTransformer(transformerList); return(transformerList); }
public static TransformerDetail ConvertHuToTransformerDetail(FlowView flowView, Hu hu) { TransformerDetail transformerDetail = ConvertHuToTransformerDetail(hu); transformerDetail.LocationFromCode = flowView.LocationFrom != null ? flowView.LocationFrom.Code : null; transformerDetail.LocationToCode = flowView.LocationTo != null ? flowView.LocationTo.Code : null; transformerDetail.StorageBinCode = hu.StorageBin == null ? string.Empty : hu.StorageBin; return(transformerDetail); }
public static TransformerDetail ConvertReceiptToTransformerDetail(ReceiptDetail receiptDetail) { TransformerDetail transformerDetail = ConvertOrderLocationTransactionToTransformerDetail(receiptDetail.OrderLocationTransaction); transformerDetail.HuId = receiptDetail.HuId; transformerDetail.LotNo = receiptDetail.LotNo; transformerDetail.Qty = receiptDetail.ShippedQty.HasValue ? receiptDetail.ShippedQty.Value : 0; transformerDetail.CurrentQty = receiptDetail.ReceivedQty.HasValue ? receiptDetail.ReceivedQty.Value : 0; transformerDetail.AdjustQty = receiptDetail.ReceivedQty.HasValue ? receiptDetail.ReceivedQty.Value : 0; return(transformerDetail); }
public static TransformerDetail ConvertPickListResultToTransformerDetail(PickListResult pickListResult) { TransformerDetail transformerDetail = ConvertOrderLocationTransactionToTransformerDetail(pickListResult.PickListDetail.OrderLocationTransaction); transformerDetail.HuId = pickListResult.LocationLotDetail.Hu.HuId; transformerDetail.LotNo = pickListResult.LocationLotDetail.LotNo; transformerDetail.Qty = pickListResult.Qty / pickListResult.PickListDetail.OrderLocationTransaction.UnitQty; transformerDetail.CurrentQty = transformerDetail.Qty;//单位换算 return(transformerDetail); }
public LocationLotDetail ConvertTransformerDetailToLocationLotDetail(TransformerDetail transformerDetail, bool isPutAway) { LocationLotDetail locationLotDetail = locationLotDetailMgr.LoadLocationLotDetail(transformerDetail.Id); locationLotDetail.CurrentInspectQty = locationLotDetail.Qty; if (isPutAway && transformerDetail.StorageBinCode != null && transformerDetail.StorageBinCode.Trim() != string.Empty) { locationLotDetail.NewStorageBin = storageBinMgr.CheckAndLoadStorageBin(transformerDetail.StorageBinCode); } return(locationLotDetail); }
public static List <TransformerDetail> ConvertReceiptsToTransformerDetails(IList <ReceiptDetail> receiptDetailList) { List <TransformerDetail> transformerDetailList = new List <TransformerDetail>(); if (receiptDetailList != null && receiptDetailList.Count > 0) { foreach (ReceiptDetail receiptDetail in receiptDetailList) { TransformerDetail transformerDetail = ConvertReceiptToTransformerDetail(receiptDetail); transformerDetailList.Add(transformerDetail); } } return(transformerDetailList); }
public static List <Transformer> ConvertPickListDetailsToTransformers(IList <PickListDetail> pickListDetailList) { List <Transformer> transformerList = new List <Transformer>(); if (pickListDetailList != null && pickListDetailList.Count > 0) { foreach (PickListDetail pickListDetail in pickListDetailList) { if (pickListDetail.LotNo != null && pickListDetail.LotNo != string.Empty)//备料不足的不显示 { bool isExist = false; string pickListDetailStorageBinCode = pickListDetail.StorageBin == null ? string.Empty : pickListDetail.StorageBin.Code; foreach (Transformer transformer in transformerList) { string transformerStorageBinCode = transformer.StorageBinCode == null ? string.Empty : transformer.StorageBinCode; if (pickListDetailStorageBinCode == transformerStorageBinCode && //(pickListDetail.OrderLocationTransaction.Id == transformer.OrderLocTransId) pickListDetail.Item.Code == transformer.ItemCode && pickListDetail.LotNo == transformer.LotNo &&//按LotNo汇总,以后可能需要考虑按Hu汇总 pickListDetail.OrderLocationTransaction.Id == transformer.OrderLocTransId) //按订单汇总 { TransformerDetail transformerDetail = ConvertPickListDetailToTransformerDetail(pickListDetail); transformer.AddTransformerDetail(transformerDetail); transformer.Qty += transformerDetail.Qty; isExist = true; break; } } if (!isExist) { Transformer transformer = ConvertOrderLocationTransactionToTransformer(pickListDetail.OrderLocationTransaction); transformer.Id = pickListDetail.Id; //transformer.Qty = pickListDetail.Qty; transformer.StorageBinCode = pickListDetail.StorageBin == null ? string.Empty : pickListDetail.StorageBin.Code; transformer.LotNo = pickListDetail.LotNo; //transformer.CurrentQty = if (pickListDetail.HuId != null || pickListDetail.LotNo != null) { TransformerDetail transformerDetail = ConvertPickListDetailToTransformerDetail(pickListDetail); transformer.AddTransformerDetail(transformerDetail); transformer.Qty = transformerDetail.Qty; } transformerList.Add(transformer); } } } } ProcessTransformer(transformerList); return(transformerList); }
public static List <TransformerDetail> ConvertRepackDetailListToTransformerDetailList(IList <RepackDetail> repackDetailList) { if (repackDetailList == null || repackDetailList.Count == 0) { return(null); } List <TransformerDetail> transformerDetailList = new List <TransformerDetail>(); foreach (RepackDetail repackDetail in repackDetailList) { TransformerDetail transformerDetail = ConvertRepackDetailToTransformerDetail(repackDetail); transformerDetailList.Add(transformerDetail); } return(transformerDetailList); }
/// <summary> /// 仅校验投料的物料号,库位是否一致,不校验单位单包装等信息 /// todo:不允许投入的又有数量又有Hu //可以前台控制 /// </summary> /// <param name="resolver"></param> protected override void SetDetail(Resolver resolver) { if (resolver.CodePrefix == string.Empty) { throw new BusinessErrorException("Common.Business.Error.ScanProductLineFirst"); } LocationLotDetail locationLotDetail = locationLotDetailMgr.CheckLoadHuLocationLotDetail(resolver.Input, resolver.UserCode); TransformerDetail transformerDetail = TransformerHelper.ConvertLocationLotDetailToTransformerDetail(locationLotDetail, false); var query = resolver.Transformers.Where (t => (t.ItemCode == transformerDetail.ItemCode && t.LocationCode == transformerDetail.LocationCode)); if (query.Count() < 1) { throw new BusinessErrorException("Warehouse.HuMatch.NotMatch", transformerDetail.HuId); } #region 先进先出校验 Flow flow = flowMgr.CheckAndLoadFlow(resolver.Code); if (flow.IsGoodsReceiveFIFO) { Hu hu = huMgr.CheckAndLoadHu(resolver.Input); IList <string> huIdList = new List <string>(); if (resolver.Transformers != null && resolver.Transformers.Count > 0) { foreach (Transformer transformer in resolver.Transformers) { if (transformer.TransformerDetails != null && transformer.TransformerDetails.Count > 0) { foreach (TransformerDetail det in transformer.TransformerDetails) { if (det.CurrentQty != decimal.Zero) { huIdList.Add(det.HuId); } } } } } string maxLot = setDetailMgr.CheckFIFO(hu, huIdList); if (maxLot != string.Empty && maxLot != null) { throw new BusinessErrorException("FIFO.ERROR", hu.HuId, maxLot); } } #endregion resolver.AddTransformerDetail(transformerDetail); }
public static TransformerDetail ConvertInProcessLocationDetailToTransformerDetail(InProcessLocationDetail inProcessLocationDetail) { TransformerDetail transformerDetail = ConvertOrderLocationTransactionToTransformerDetail(inProcessLocationDetail.OrderLocationTransaction); transformerDetail.HuId = inProcessLocationDetail.HuId; transformerDetail.LotNo = inProcessLocationDetail.LotNo; //transformerDetail.Qty = inProcessLocationDetail.QtyToShip; transformerDetail.Qty = inProcessLocationDetail.Qty; //多次收货加的 decimal receivedQty = inProcessLocationDetail.ReceivedQty.HasValue ? (decimal)inProcessLocationDetail.ReceivedQty : 0; transformerDetail.CurrentQty = inProcessLocationDetail.Qty - receivedQty; return(transformerDetail); }
public static List <Transformer> ConvertReceiptToTransformer(IList <ReceiptDetail> receiptDetailList) { List <Transformer> transformerList = new List <Transformer>(); if (receiptDetailList != null && receiptDetailList.Count > 0) { foreach (ReceiptDetail receiptDetail in receiptDetailList) { bool isExist = false; foreach (Transformer transformer in transformerList) { if (receiptDetail.OrderLocationTransaction.Id == transformer.OrderLocTransId) { TransformerDetail transformerDetail = ConvertReceiptToTransformerDetail(receiptDetail); //transformer.AddTransformerDetail(transformerDetail); if (receiptDetail.HuId != null || receiptDetail.LotNo != null) { transformer.AddTransformerDetail(transformerDetail); transformer.Qty += transformerDetail.Qty; transformer.CurrentQty += transformerDetail.CurrentQty; } transformer.AdjustQty = transformer.Qty; isExist = true; break; } } if (!isExist) { Transformer transformer = ConvertOrderLocationTransactionToTransformer(receiptDetail.OrderLocationTransaction); transformer.Qty = receiptDetail.ShippedQty.HasValue ? receiptDetail.ShippedQty.Value : 0; transformer.CurrentQty = receiptDetail.ReceivedQty.HasValue ? receiptDetail.ReceivedQty.Value : 0; transformer.AdjustQty = transformer.CurrentQty; if (receiptDetail.HuId != null || receiptDetail.LotNo != null) { transformer.AddTransformerDetail(ConvertReceiptToTransformerDetail(receiptDetail)); } transformerList.Add(transformer); } } } ProcessTransformer(transformerList); return(transformerList); }
protected void GV_OutList_RowDataBound(object sender, GridViewRowEventArgs e) { if (this.RepackType == BusinessConstants.CODE_MASTER_REPACK_TYPE_VALUE_DEVANNING) { if (e.Row.RowType == DataControlRowType.DataRow) { TransformerDetail transformerDetail = (TransformerDetail)e.Row.DataItem; if (transformerDetail.HuId == string.Empty) { ((Label)e.Row.FindControl("lblOrderQty")).Visible = false; ((TextBox)e.Row.FindControl("tbOrderQty")).Visible = true; } } } }
private void ShowHuStatus() { try { this.resolver.Input = this.tbBarCode.Text.Trim(); if (this.resolver.Input != string.Empty) { this.resolver = TheClientMgr.ScanBarcode(this.resolver); if (this.resolver.Transformers != null && this.resolver.Transformers.Length == 1 && this.resolver.Transformers[0].TransformerDetails != null && this.resolver.Transformers[0].TransformerDetails.Length == 1) { TransformerDetail t = this.resolver.Transformers[0].TransformerDetails[0]; string text = "条码信息: \n条码:" + t.HuId + "\n物料代码:" + t.ItemCode + "\n物料描述:" + t.ItemDescription + "\n数量:" + t.Qty.ToString("0.########") + "\n批号:" + t.LotNo + "\n库位:" + t.LocationCode + "\n库格:" + t.StorageBinCode + "\n状态:" + t.Status; string caption = "条码信息:"; MessageBox.Show(this, text, caption, MessageBoxButtons.OK); this.resolver.Transformers[0].TransformerDetails = null; this.tbBarCode.Text = string.Empty; this.tbBarCode.Focus(); } } } catch (FaultException ex) { string messageText = Utility.FormatExMessage(ex.Message); this.lblMessage.Text = messageText; MessageBox.Show(this, messageText); this.InitialAll(); this.gvHuList.Visible = false; this.gvList.Visible = false; this.tbBarCode.Text = string.Empty; } catch (Exception ex) { MessageBox.Show(this, ex.Message, "程序内部错误,请与管理员联系", MessageBoxButtons.OK, MessageBoxIcon.Error); this.InitialAll(); this.gvHuList.Visible = false; this.gvList.Visible = false; this.tbBarCode.Text = string.Empty; } }
/// <summary> /// 拣货 /// </summary> /// <param name="pickListDetail"></param> /// <returns></returns> public static TransformerDetail ConvertPickListDetailToTransformerDetail(PickListDetail pickListDetail) { TransformerDetail transformerDetail = ConvertOrderLocationTransactionToTransformerDetail(pickListDetail.OrderLocationTransaction); transformerDetail.HuId = pickListDetail.HuId; transformerDetail.LotNo = pickListDetail.LotNo; transformerDetail.Qty = pickListDetail.Qty; transformerDetail.StorageBinCode = pickListDetail.StorageBin == null ? string.Empty : pickListDetail.StorageBin.Code; if (pickListDetail.PickListResults != null && pickListDetail.PickListResults.Count > 0) { foreach (PickListResult pickListResult in pickListDetail.PickListResults) { transformerDetail.Qty -= pickListResult.Qty; } } return(transformerDetail); }
public static TransformerDetail ConvertHuToTransformerDetail(Hu hu) { TransformerDetail transformerDetail = new TransformerDetail(); transformerDetail.ItemCode = hu.Item.Code; transformerDetail.ItemDescription = hu.Item.Description; transformerDetail.UomCode = hu.Uom.Code; transformerDetail.UnitCount = hu.UnitCount; transformerDetail.HuId = hu.HuId; transformerDetail.LotNo = hu.LotNo; transformerDetail.Qty = hu.Qty; transformerDetail.CurrentQty = hu.Qty; transformerDetail.Status = hu.Status; transformerDetail.LocationCode = hu.Location == null ? string.Empty : hu.Location; transformerDetail.StorageBinCode = hu.StorageBin == null ? string.Empty : hu.StorageBin; return(transformerDetail); }
private static void AddTransformerDetail(Transformer transformer, TransformerDetail transformerDetail) { if (transformer == null || transformerDetail.CurrentQty == 0) { return; } if (transformerDetail != null) { List <TransformerDetail> transformerDetails = new List <TransformerDetail>(); if (transformer.TransformerDetails != null) { transformerDetails = transformer.TransformerDetails.ToList(); } transformerDetails.Add(transformerDetail); transformer.TransformerDetails = transformerDetails.ToArray(); transformer.CurrentQty += transformerDetail.CurrentQty; transformer.Cartons++; } }
public List <TransformerDetail> GetList() { List <TransformerDetail> transformerDetailList = new List <TransformerDetail>(); foreach (GridViewRow gvr in GV_List.Rows) { TransformerDetail transformerDetail = new TransformerDetail(); transformerDetail.Id = int.Parse(((HiddenField)gvr.FindControl("hfId")).Value); transformerDetail.HuId = ((Label)gvr.FindControl("lblHuId")).Text.Trim(); transformerDetail.LotNo = ((Label)gvr.FindControl("lblLotNo")).Text.Trim(); transformerDetail.ItemCode = ((Label)gvr.FindControl("lblItemCode")).Text.Trim(); transformerDetail.ItemDescription = ((Label)gvr.FindControl("lblItemDescription")).Text.Trim(); transformerDetail.UomCode = ((Label)gvr.FindControl("lblUOM")).Text.Trim(); transformerDetail.Qty = decimal.Parse(((Label)gvr.FindControl("lblQty")).Text.Trim()); transformerDetail.StorageBinCode = ((Label)gvr.FindControl("lblStorageBinCode")).Text.Trim(); transformerDetailList.Add(transformerDetail); } return(transformerDetailList); }
public static List <TransformerDetail> ConvertProductLineInProcessLocationDetailsToTransformerDetails(IList <ProductLineInProcessLocationDetail> productLineIpList) { if (productLineIpList == null) { return(null); } List <TransformerDetail> transformerDetails = new List <TransformerDetail>(); foreach (ProductLineInProcessLocationDetail productLineIp in productLineIpList) { TransformerDetail transformerDetail = new TransformerDetail(); transformerDetail.ItemCode = productLineIp.Item.Code; transformerDetail.ItemDescription = productLineIp.Item.Description; transformerDetail.UomCode = productLineIp.Item.Uom.Code; transformerDetail.UnitCount = productLineIp.Item.UnitCount; transformerDetail.Qty = productLineIp.Qty - productLineIp.BackflushQty; transformerDetail.CurrentQty = transformerDetail.Qty; transformerDetails.Add(transformerDetail); } return(transformerDetails); }
protected override void SetDetail(Resolver resolver) { if (resolver.CodePrefix == string.Empty) { throw new BusinessErrorException("Common.Business.Error.ScanFlowFirst"); } if (resolver.ModuleType == BusinessConstants.TRANSFORMER_MODULE_TYPE_PRODUCTIONRECEIVE) { LocationLotDetail locationLotDetail = locationLotDetailMgr.CheckLoadHuLocationLotDetail(resolver.Input, resolver.UserCode); TransformerDetail newTransformerDetail = TransformerHelper.ConvertLocationLotDetailToTransformerDetail(locationLotDetail, false); resolver.AddTransformerDetail(newTransformerDetail); } else { setDetailMgr.MatchReceive(resolver); if (resolver.BinCode != null && resolver.BinCode != string.Empty) { resolver.Result = languageMgr.TranslateMessage("Warehouse.CurrentBinCode", resolver.UserCode, resolver.BinCode); } } }
public static List <Transformer> ConvertPickListResultToTransformer(IList <PickListResult> pickListResultList) { List <Transformer> transformerList = new List <Transformer>(); if (pickListResultList != null && pickListResultList.Count > 0) { foreach (PickListResult pickListResult in pickListResultList) { bool isExist = false; foreach (Transformer transformer in transformerList) { if (pickListResult.PickListDetail.OrderLocationTransaction.Id == transformer.OrderLocTransId) { TransformerDetail transformerDetail = ConvertPickListResultToTransformerDetail(pickListResult); transformer.AddTransformerDetail(transformerDetail); transformer.Qty += transformerDetail.Qty; isExist = true; break; } } if (!isExist) { Transformer transformer = ConvertOrderLocationTransactionToTransformer(pickListResult.PickListDetail.OrderLocationTransaction); transformer.Qty = pickListResult.Qty / pickListResult.PickListDetail.OrderLocationTransaction.UnitQty; transformer.CurrentQty = transformer.Qty;//单位换算 if (pickListResult.PickListDetail.HuId != null || pickListResult.PickListDetail.LotNo != null) { transformer.AddTransformerDetail(ConvertPickListResultToTransformerDetail(pickListResult)); } transformerList.Add(transformer); } } } ProcessTransformer(transformerList); return(transformerList); }
public static Resolver MergeResolver(Resolver resolver, Resolver originalResolver) { if (originalResolver.BarcodeHead == BusinessConstants.BARCODE_HEAD_DEFAULT && resolver.Transformers != null) { foreach (Transformer t in originalResolver.Transformers) { if (t.TransformerDetails != null) { foreach (TransformerDetail td in t.TransformerDetails) { if (td.CurrentQty > 0) { TransformerDetail transformerDetail = new TransformerDetail(); CopyProperty(td, transformerDetail); AddTransformerDetail(resolver, transformerDetail); } } } } //Transformer[] transformers = resolver.Transformers; //DeepCopyResolver(originalResolver, resolver); //resolver.Transformers = transformers; } else if (originalResolver.BarcodeHead == BusinessConstants.BARCODE_HEAD_LOCATION || originalResolver.BarcodeHead == BusinessConstants.BARCODE_HEAD_BIN) { Transformer[] transformers = resolver.Transformers; DeepCopyResolver(originalResolver, resolver); resolver.Transformers = transformers; } else { DeepCopyResolver(originalResolver, resolver); } return resolver; }
private static decimal AccumlationCurrentQty(TransformerDetail[] transformerDetails) { if (transformerDetails == null) { return 0m; } var q = (from td in transformerDetails select td.CurrentQty).Sum(); return q; }
private static void AddTransformerDetail(Resolver resolver, TransformerDetail transformerDetail) { if (transformerDetail != null && transformerDetail.CurrentQty > 0) { List<Transformer> transformers = new List<Transformer>(); if (resolver.Transformers != null) { transformers = resolver.Transformers.ToList(); } //检查重复扫描 //CheckMatchHuExist(resolver, transformerDetail.HuId); //自动生成序号 int seq = FindMaxSeq(transformers.ToArray()); transformerDetail.Sequence = seq + 1; //匹配:严格匹配ItemCode/UomCode/UnitCount/StorageBinCode/LotNo var query = transformers.Where (t => (string.Equals(t.ItemCode, transformerDetail.ItemCode, StringComparison.OrdinalIgnoreCase) && string.Equals(t.UomCode, transformerDetail.UomCode, StringComparison.OrdinalIgnoreCase) && (t.UnitCount == transformerDetail.UnitCount || t.UnitCount == transformerDetail.Qty) && string.Equals(t.StorageBinCode, transformerDetail.StorageBinCode, StringComparison.OrdinalIgnoreCase) && (t.LotNo == null || t.LotNo.Trim() == string.Empty || (string.Equals(t.LotNo, transformerDetail.LotNo, StringComparison.OrdinalIgnoreCase))) )); //匹配:如果没有匹配上,降低条件,匹配ItemCode/UomCode/UnitCount if (query.Count() == 0) { query = transformers.Where (t => (string.Equals(t.ItemCode, transformerDetail.ItemCode, StringComparison.OrdinalIgnoreCase) && string.Equals(t.UomCode, transformerDetail.UomCode, StringComparison.OrdinalIgnoreCase) && (t.UnitCount == transformerDetail.UnitCount || t.UnitCount == transformerDetail.Qty) )); } //匹配:如果还是没有匹配上,再降低条件,匹配ItemCode/UomCode if (query.Count() == 0) { query = transformers.Where (t => (string.Equals(t.ItemCode, transformerDetail.ItemCode, StringComparison.OrdinalIgnoreCase) && string.Equals(t.UomCode, transformerDetail.UomCode, StringComparison.OrdinalIgnoreCase) )); } if (query.Count() > 0) { List<Transformer> transformerList = query.ToList(); foreach (var transformer in transformerList) { if (transformer.Qty > transformer.CurrentQty || resolver.ModuleType == BusinessConstants.TRANSFORMER_MODULE_TYPE_STOCKTAKING) { List<TransformerDetail> transformerDetails = new List<TransformerDetail>(); foreach (var t in transformers) { if (t.TransformerDetails != null && t.TransformerDetails.Length > 0) { foreach (var td in t.TransformerDetails) { if (td.HuId != null && td.HuId.ToLower() == transformerDetail.HuId.ToLower()) { transformerDetails.Add(td); } } } } if (transformerDetails.Count() == 1 && transformerDetails.Single().CurrentQty == 0M) { transformerDetails.Single().CurrentQty = transformerDetail.CurrentQty; transformerDetails.Single().Sequence = transformerDetail.Sequence; transformer.CurrentQty += transformerDetail.CurrentQty; transformer.Cartons++; } else { AddTransformerDetail(transformer, transformerDetail); } break; } } } else if (query.Count() == 0) { Transformer transformer = new Transformer(); transformer.ItemCode = transformerDetail.ItemCode; transformer.ItemDescription = transformerDetail.ItemDescription; transformer.UomCode = transformerDetail.UomCode; transformer.UnitCount = transformerDetail.UnitCount; transformer.CurrentQty = transformerDetail.CurrentQty; transformer.Qty = transformerDetail.Qty; transformer.LocationCode = transformerDetail.LocationCode; transformer.LotNo = transformerDetail.LotNo; transformer.StorageBinCode = transformerDetail.StorageBinCode; transformer.Cartons = 1; transformer.Sequence = transformers.Count > 0 ? transformers.Max(t => t.Sequence) + 1 : 0; AddTransformerDetail(transformer, transformerDetail); transformers.Add(transformer); } //else //{ // //throw new Exception("Error on: Sconit_CS.Utility"); //} resolver.Transformers = transformers.ToArray(); } ProcessTransformer(resolver.Transformers); resolver.Command = BusinessConstants.CS_BIND_VALUE_TRANSFORMERDETAIL; }
private static void AddTransformerDetail(Transformer transformer, TransformerDetail transformerDetail) { if (transformer == null || transformerDetail.CurrentQty == 0) { return; } if (transformerDetail != null) { List<TransformerDetail> transformerDetails = new List<TransformerDetail>(); if (transformer.TransformerDetails != null) { transformerDetails = transformer.TransformerDetails.ToList(); } transformerDetails.Add(transformerDetail); transformer.TransformerDetails = transformerDetails.ToArray(); transformer.CurrentQty += transformerDetail.CurrentQty; transformer.Cartons++; } }
private static void DeepCopyResolver(Resolver sourceResolver, Resolver targetResolver) { CopyProperty(sourceResolver, targetResolver); List<Transformer> transformers = new List<Transformer>(); if (sourceResolver != null && sourceResolver.Transformers != null) { foreach (var st in sourceResolver.Transformers) { Transformer transformer = new Transformer(); CopyProperty(st, transformer); #region TransformerDetail List<TransformerDetail> transformerDetails = new List<TransformerDetail>(); if (st.TransformerDetails != null && st.TransformerDetails.Length > 0) { foreach (var std in st.TransformerDetails) { TransformerDetail transformerDetail = new TransformerDetail(); CopyProperty(std, transformerDetail); transformerDetails.Add(transformerDetail); } } if (transformerDetails.Count > 0) { transformer.TransformerDetails = transformerDetails.ToArray(); } #endregion transformers.Add(transformer); } if (transformers.Count > 0) { targetResolver.Transformers = transformers.ToArray(); } } }
private static int GetSumCartons(TransformerDetail[] transformerDetails) { var q = (from td in transformerDetails where td.CurrentQty != 0 && td.HuId != null && td.HuId.Trim() != string.Empty select td).Count(); return q; }