Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
    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);
    }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        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;
                }
            }
        }