private Resolver ShipOrder(Resolver resolver) { InProcessLocation inProcessLocation = null; if (resolver.CodePrefix == BusinessConstants.CODE_PREFIX_PICKLIST) { inProcessLocation = orderMgr.ShipOrder(resolver.Code, resolver.UserCode); } else { IList <InProcessLocationDetail> inProcessLocationDetailList = orderMgr.ConvertTransformerToInProcessLocationDetail(resolver.Transformers); if (inProcessLocationDetailList.Count > 0) { inProcessLocation = orderMgr.ShipOrder(inProcessLocationDetailList, resolver.UserCode); } else { throw new BusinessErrorException("OrderDetail.Error.OrderDetailShipEmpty"); } } #region 打印 if (resolver.NeedPrintAsn && resolver.IsCSClient) { resolver.PrintUrl = PrintASN(inProcessLocation); } #endregion resolver.Transformers = TransformerHelper.ConvertInProcessLocationDetailsToTransformers(inProcessLocation.InProcessLocationDetails); resolver.Result = languageMgr.TranslateMessage("Common.Business.ASNIs", resolver.UserCode, inProcessLocation.IpNo); resolver.Code = inProcessLocation.IpNo; resolver.Command = BusinessConstants.CS_BIND_VALUE_TRANSFORMER; return(resolver); }
public void InitPageParameter(InProcessLocation ip) { bool isScanHu = (ip.InProcessLocationDetails[0].HuId != null); List <Transformer> transformerList = TransformerHelper.ConvertInProcessLocationDetailsToTransformers(ip.InProcessLocationDetails); this.ucTransformer.InitPageParameter(transformerList, this.ModuleType, BusinessConstants.TRANSFORMER_MODULE_TYPE_SHIPVIEW, isScanHu); this.ucTransformer.InitialUIForAsn(ip); }
protected override void GetDetail(Resolver resolver) { InProcessLocation inProcessLocation = null; //订单发货 if (resolver.CodePrefix == BusinessConstants.CODE_PREFIX_ORDER) { if (resolver.Transformers != null && resolver.Transformers.Count > 0) { foreach (Transformer transformer in resolver.Transformers) { if (resolver.Input.Trim().ToUpper() == transformer.OrderNo.Trim().ToUpper()) { throw new BusinessErrorException("Common.Business.Error.ReScan", resolver.Code); } } //校验订单配置选项 this.CheckOrderConfigValid(resolver.Input, resolver.Transformers[0].OrderNo); } else { resolver.Transformers = new List <Transformer>(); } inProcessLocation = orderMgr.ConvertOrderToInProcessLocation(resolver.Input); if (inProcessLocation == null || inProcessLocation.InProcessLocationDetails == null || inProcessLocation.InProcessLocationDetails.Count == 0) { throw new BusinessErrorException("Common.Business.Error.NoDetailToShip"); } if (resolver.IsScanHu && resolver.CodePrefix != BusinessConstants.CODE_PREFIX_PICKLIST) { OrderHelper.ClearShippedQty(inProcessLocation);//清空发货数 } List <Transformer> newTransformerList = TransformerHelper.ConvertInProcessLocationDetailsToTransformers(inProcessLocation.InProcessLocationDetails); resolver.Transformers = resolver.Transformers == null ? new List <Transformer>() : resolver.Transformers; resolver.Transformers.AddRange(newTransformerList); } //拣货单发货 else if (resolver.CodePrefix == BusinessConstants.CODE_PREFIX_PICKLIST) { //inProcessLocation = orderMgr.ConvertPickListToInProcessLocation(resolver.Input); IList <PickListResult> pickListResultList = pickListResultMgr.GetPickListResult(resolver.Input); resolver.Transformers = Utility.TransformerHelper.ConvertPickListResultToTransformer(pickListResultList); } resolver.Command = BusinessConstants.CS_BIND_VALUE_TRANSFORMER; }
protected override void GetDetail(Resolver resolver) { InProcessLocation inProcessLocation = null; //订单收货 if (resolver.CodePrefix == BusinessConstants.CODE_PREFIX_ORDER) { inProcessLocation = orderMgr.ConvertOrderToInProcessLocation(resolver.Input); } //ASN收货 else if (resolver.CodePrefix == BusinessConstants.CODE_PREFIX_ASN) { inProcessLocation = inProcessLocationMgr.LoadInProcessLocation(resolver.Code, true); } if (inProcessLocation == null || inProcessLocation.InProcessLocationDetails == null || inProcessLocation.InProcessLocationDetails.Count == 0) { throw new BusinessErrorException("Common.Business.Error.NoDetailToReceive"); } List <Transformer> newTransformerList = TransformerHelper.ConvertInProcessLocationDetailsToTransformers(inProcessLocation.InProcessLocationDetails); if (resolver.IsScanHu) { ClearReceivedQty(newTransformerList); } resolver.Transformers = resolver.Transformers == null ? new List <Transformer>() : resolver.Transformers; resolver.Transformers.AddRange(newTransformerList); resolver.Command = BusinessConstants.CS_BIND_VALUE_TRANSFORMER; if (resolver.Transformers != null && resolver.Transformers.Count > 0) { foreach (Transformer transformer in resolver.Transformers) { OrderLocationTransaction outOrderLocationTransaction = this.orderLocationTransactionMgr.LoadOrderLocationTransaction(transformer.OrderLocTransId); OrderLocationTransaction inOrderLocationTransaction = orderLocationTransactionMgr.GetOrderLocationTransaction(outOrderLocationTransaction.OrderDetail.Id, BusinessConstants.IO_TYPE_IN)[0]; transformer.OrderLocTransId = inOrderLocationTransaction.Id; } } }