private IList <CycleCountDetail> ConvertResolverToCycleCountDetail(Resolver resolver) { if (resolver.Transformers == null || resolver.Transformers.Count == 0) { return(null); } IList <CycleCountDetail> cycleCountDetailList = new List <CycleCountDetail>(); foreach (Transformer transformer in resolver.Transformers) { if (transformer.TransformerDetails != null && resolver.IsScanHu) { #region 条码 foreach (TransformerDetail transformerDetail in transformer.TransformerDetails) { if (transformerDetail.Id == 0 || (transformerDetail.HuId != null && transformerDetail.HuId.Trim() != string.Empty)) { //Hu hu = huMgr.LoadHu(transformerDetail.HuId); CycleCountDetail cycleCountDetail = new CycleCountDetail(); cycleCountDetail.Id = transformerDetail.Id; cycleCountDetail.HuId = transformerDetail.HuId; cycleCountDetail.LotNo = transformerDetail.LotNo; cycleCountDetail.Qty = transformerDetail.CurrentQty; cycleCountDetail.Item = itemMgr.LoadItem(transformerDetail.ItemCode); if (transformerDetail.StorageBinCode != null && transformerDetail.StorageBinCode.Trim() != string.Empty) { cycleCountDetail.StorageBin = storageBinMgr.LoadStorageBin(transformerDetail.StorageBinCode).Code; } cycleCountDetailList.Add(cycleCountDetail); } } #endregion } else { #region Item if (transformer.Id == 0 || (transformer.ItemCode != null && transformer.ItemCode.Trim() != string.Empty)) { CycleCountDetail cycleCountDetail = new CycleCountDetail(); cycleCountDetail.Id = transformer.Id; cycleCountDetail.Item = itemMgr.LoadItem(transformer.ItemCode); cycleCountDetail.Qty = transformer.CurrentQty; cycleCountDetailList.Add(cycleCountDetail); } #endregion } } return(cycleCountDetailList); }
public IList <Uom> GetItemUom(string itemCode) { List <Uom> uomList = new List <Uom>(); if (itemCode != null && itemCode != string.Empty) { IList <UomConversion> uomConversionList = uomConversionMgr.GetUomConversion(itemCode); //添加基本单位 uomList.Add(itemMgr.LoadItem(itemCode).Uom); //添加单位转换中的单位 foreach (UomConversion uomConversion in uomConversionList) { if (!uomList.Contains(uomConversion.BaseUom)) { uomList.Add(uomConversion.BaseUom); } if (!uomList.Contains(uomConversion.AlterUom)) { uomList.Add(uomConversion.AlterUom); } } } return(uomList); }
public IList <BomDetail> GetBomView_Cost(string itemCode, DateTime effDate) { Item item = itemMgr.LoadItem(itemCode); string bomCode = item.Bom != null ? item.Bom.Code : item.Code; IList <BomDetail> bomDetailList = this.GetFlatBomDetail(bomCode, effDate); IList <BomDetail> bomViewList = new List <BomDetail>(); IList <BomDetail> costBomViewList = new List <BomDetail>(); bomViewList = this.GetAllBomDetailTree(bomDetailList, effDate); bomViewList = this.GetNoOverloadBomDetail(bomViewList); if (bomViewList != null && bomViewList.Count > 0) { bomViewList = this.GetCostBomDetail(bomViewList); Bom bom = bomMgr.LoadBom(bomCode); foreach (BomDetail bomDetail in bomViewList) { BomDetail costBomDetail = new BomDetail(); CloneHelper.CopyProperty(bomDetail, costBomDetail, BomCompDetail); costBomDetail.Bom = bom; costBomViewList.Add(costBomDetail); } } return(this.GetNoOverloadBomDetail(costBomViewList)); }
public LocationDetail FindLocationDetail(string loc, string itemCode, DateTime?effectiveDate, bool includeActiveOrder) { Item item = ItemMgr.LoadItem(itemCode); Location location = LocationMgr.LoadLocation(loc); if (location == null) { return(null); } else { return(this.FindLocationDetail(location, item, effectiveDate)); } }
public IList <OrderDetail> ConvertResolverToOrderDetails(Resolver resolver, Flow flow) { OrderHead orderHead = orderMgr.TransferFlow2Order(flow); IList <OrderDetail> orderDetails = new List <OrderDetail>(); if (resolver.Transformers == null) { throw new BusinessErrorException("OrderDetail.Error.OrderDetailEmpty"); } foreach (Transformer transformer in resolver.Transformers) { if (transformer.TransformerDetails != null) { foreach (TransformerDetail transformerDetail in transformer.TransformerDetails) { if (transformerDetail.CurrentQty == 0) //数量为零的过滤掉 { continue; } OrderDetail newOrderDetail = new OrderDetail(); //newOrderDetail.IsScanHu = true; int seqInterval = int.Parse(entityPreferenceMgr.LoadEntityPreference(BusinessConstants.ENTITY_PREFERENCE_CODE_SEQ_INTERVAL).Value); if (orderDetails == null || orderDetails.Count == 0) { newOrderDetail.Sequence = seqInterval; } else { newOrderDetail.Sequence = orderDetails.Last <OrderDetail>().Sequence + seqInterval; } newOrderDetail.Item = itemMgr.LoadItem(transformerDetail.ItemCode); newOrderDetail.Uom = uomMgr.LoadUom(transformerDetail.UomCode); newOrderDetail.HuId = transformerDetail.HuId; if ((resolver.ModuleType == BusinessConstants.TRANSFORMER_MODULE_TYPE_SHIPRETURN) || resolver.ModuleType == BusinessConstants.TRANSFORMER_MODULE_TYPE_RECEIVERETURN) { newOrderDetail.OrderedQty = -transformerDetail.CurrentQty; newOrderDetail.HuQty = -transformerDetail.Qty; } else { newOrderDetail.OrderedQty = transformerDetail.CurrentQty; newOrderDetail.HuQty = transformerDetail.Qty; } if (!(resolver.OrderType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_PROCUREMENT || resolver.OrderType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_CUSTOMERGOODS)) { newOrderDetail.LocationFrom = locationMgr.LoadLocation(transformer.LocationFromCode); } if (!(resolver.OrderType == BusinessConstants.CODE_MASTER_ORDER_TYPE_VALUE_DISTRIBUTION)) { newOrderDetail.LocationTo = locationMgr.LoadLocation(transformer.LocationToCode); } newOrderDetail.ReferenceItemCode = transformer.ReferenceItemCode; newOrderDetail.UnitCount = transformerDetail.UnitCount; //newOrderDetail.PackageType = transformerDetail.PackageType; newOrderDetail.OrderHead = orderHead; newOrderDetail.IsScanHu = true; newOrderDetail.PutAwayBinCode = resolver.BinCode; orderDetails.Add(newOrderDetail); } } } return(orderDetails); }