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); }