private Hu ResolveAndCreateHu(string barCode, OrderDetail orderDetail, decimal qty)
        {
            string[] splitedBarcode  = BarcodeHelper.SplitFGBarcode(barCode);
            Item     item            = orderDetail.Item;
            string   lotNo           = splitedBarcode[2];
            DateTime manufactureDate = LotNoHelper.ResolveLotNo(lotNo);


            Hu hu = new Hu();

            hu.HuId = barCode;
            hu.Item = item;
            hu.Uom  = orderDetail.Uom;  //用Flow单位
            #region 单位用量
            if (item.Uom.Code != orderDetail.Uom.Code)
            {
                hu.UnitQty = this.uomConversionMgr.ConvertUomQty(item, orderDetail.Uom, 1, item.Uom);   //单位用量
            }
            else
            {
                hu.UnitQty = 1;
            }
            #endregion
            hu.QualityLevel     = BusinessConstants.CODE_MASTER_ITEM_QUALITY_LEVEL_VALUE_1;
            hu.Qty              = qty;
            hu.UnitCount        = orderDetail.UnitCount;
            hu.LotNo            = lotNo;
            hu.LotSize          = qty;
            hu.ManufactureDate  = manufactureDate;
            hu.ManufactureParty = orderDetail.OrderHead.PartyFrom;
            hu.CreateUser       = this.userMgr.GetMonitorUser();
            hu.CreateDate       = DateTime.Now;
            hu.Status           = BusinessConstants.CODE_MASTER_HU_STATUS_VALUE_CREATE;

            this.huMgr.CreateHu(hu);
            this.numberControlMgr.ReverseUpdateHuId(barCode);

            return(hu);
        }