| | |
| | | using ZXing.OneD; |
| | | using System.Threading.Tasks; |
| | | using System.Security.Policy; |
| | | using Newtonsoft.Json; |
| | | using Newtonsoft.Json; |
| | | using Utility.Tools; |
| | | using Model.ModelDto.SysDto; |
| | | using Model.ModelVm.SysVm; |
| | |
| | | { |
| | | #region 判断 |
| | | //0:成品入库 1:采购入库 3:退货入库 4:车间余料入库 8:生产退料入库 |
| | | |
| | | |
| | | |
| | | if (string.IsNullOrEmpty(model.AsnNo)) |
| | | { |
| | |
| | | if (sku == null) |
| | | { |
| | | throw new Exception("当前物料信息不存在,请核实!"); |
| | | } |
| | | } |
| | | var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == sku.PackagNo); |
| | | if (pack == null) |
| | | { |
| | |
| | | bindId = bind.Id; |
| | | bind.Qty += model.SkuQty; |
| | | } |
| | | |
| | | |
| | | #endregion |
| | | |
| | | #region 库存明细和质检信息 |
| | |
| | | #endregion |
| | | |
| | | #region 库存明细 |
| | | |
| | | |
| | | // 库存已存在 更新数据 |
| | | sd1.Qty += bind.Qty; |
| | | sd1.CompleteTime = comTime; |
| | |
| | | } |
| | | #endregion |
| | | } |
| | | |
| | | |
| | | //拼箱 |
| | | if (notBoxInfoList.Count > 0) |
| | | { |
| | |
| | | #region 判断 |
| | | |
| | | //0:成品入库 1:采购入库 3:退货入库 4:车间余料入库 8:生产退料入库 |
| | | |
| | | |
| | | |
| | | if (string.IsNullOrEmpty(model.AsnNo)) |
| | | { |
| | |
| | | var bNum = 0m;//箱码物品数量 |
| | | //公共方法获取包装数量 |
| | | new Common().GetPackQtyInfo(sku.PackagNo, ref pNum, ref bNum); |
| | | |
| | | |
| | | |
| | | #endregion |
| | | |
| | |
| | | //验证库存托盘是否有贴标物料 |
| | | var skuStr = Db.Queryable<SysMaterials>().Where(m => m.IsDel == "0" && m.IsPasteCode == "1").Select(m => m.SkuNo).ToList(); |
| | | var sdHave = Db.Queryable<DataStockDetail>().Count(m => m.IsDel == "0" && m.PalletNo == model.PalletNo && skuStr.Contains(m.SkuNo)); |
| | | if (sdHave > 0) |
| | | if (sdHave>0) |
| | | { |
| | | throw new Exception("当前托盘含有贴标物料信息,不能组托"); |
| | | } |
| | |
| | | { |
| | | try |
| | | { |
| | | |
| | | |
| | | var modelList = Db.Queryable<BllArrivalNoticeDetail>() |
| | | .LeftJoin<BllArrivalNotice>((tb1, tb2) => tb1.ASNNo == tb2.ASNNo) |
| | | .LeftJoin<SysMaterials>((tb1, tb2, tb3) => tb1.SkuNo == tb3.SkuNo) |
| | | .LeftJoin<BllArrivalNotice>((tb1, tb2) => tb1.ASNNo == tb2.ASNNo ) |
| | | .LeftJoin<SysMaterials>((tb1, tb2, tb3) => tb1.SkuNo == tb3.SkuNo ) |
| | | .Where((tb1, tb2, tb3) => tb1.IsDel == "0" && tb2.IsDel == "0" && (tb2.Status == "0" || tb2.Status == "1") && tb3.IsDel == "0" && tb3.IsPasteCode == "1") |
| | | .Select((tb1, tb2, tb3) => tb1.ASNNo).Distinct().ToList(); |
| | | |
| | |
| | | { |
| | | |
| | | var modelList = Db.Queryable<BllArrivalNoticeDetail>() |
| | | .LeftJoin<BllArrivalNotice>((tb1, tb2) => tb1.ASNNo == tb2.ASNNo) |
| | | .LeftJoin<SysMaterials>((tb1, tb2, tb3) => tb1.SkuNo == tb3.SkuNo) |
| | | .LeftJoin<BllArrivalNotice>((tb1, tb2) => tb1.ASNNo == tb2.ASNNo ) |
| | | .LeftJoin<SysMaterials>((tb1, tb2, tb3) => tb1.SkuNo == tb3.SkuNo ) |
| | | .Where((tb1, tb2, tb3) => tb1.IsDel == "0" && tb2.IsDel == "0" && (tb2.Status == "0" || tb2.Status == "1") && tb3.IsDel == "0" && tb3.IsPasteCode == "0") |
| | | .Select((tb1, tb2, tb3) => tb1.ASNNo).Distinct().ToList(); |
| | | |
| | |
| | | throw new Exception(e.Message); |
| | | } |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 根据单据号获取单据明细列表 |
| | | /// </summary> |
| | |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | public List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model, string url) |
| | | public List<BoxInfoDto> GetBindBoxInfos(BoxInfoVm model,string url) |
| | | { |
| | | try |
| | | { |
| | |
| | | throw new Exception("请求失败" + obj.Message); |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | if (string.IsNullOrEmpty(obj.Data.SkuNo)) |
| | | { |
| | | //测试用,发布正式前删除此段代码 |
| | |
| | | CreateUser = 0 |
| | | }; |
| | | boxList.Add(boxInfo); |
| | | } |
| | | ; |
| | | }; |
| | | } |
| | | try |
| | | { |
| | |
| | | Db.RollbackTran(); |
| | | throw new Exception("插入箱码失败:" + ex.Message); |
| | | } |
| | | |
| | | |
| | | string sqlString = $@"SELECT |
| | | ASNNo, |
| | | BoxNo, |
| | |
| | | AND BoxNo = '{boxno}' |
| | | GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; "; |
| | | |
| | | var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); |
| | | var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); |
| | | |
| | | if (models.Count == 0) |
| | | { |
| | |
| | | { |
| | | if (models[0].Status == "1") |
| | | { |
| | | var detail = Db.Queryable<DataStockDetail>().First(m => m.PalletNo == palletNo); |
| | | |
| | | if (detail != null && !string.IsNullOrWhiteSpace(detail.LocatNo)) |
| | | var detail = Db.Queryable<DataStockDetail>().First(m=>m.PalletNo == palletNo ); |
| | | |
| | | if (detail!= null && !string.IsNullOrWhiteSpace(detail.LocatNo)) |
| | | { |
| | | var pingAreaStr = Db.Queryable<SysStorageArea>().Where(m => m.IsDel == "0" && m.WareHouseNo == "W04" && m.AreaNo != "B06" && m.AreaNo != "B07").Select(m => m.AreaNo).ToList(); |
| | | var pingLocateInfo = Db.Queryable<SysStorageLocat>().First(m => m.LocatNo == detail.LocatNo && pingAreaStr.Contains(m.AreaNo) && m.IsDel == "0"); |
| | |
| | | /// <param name="asnNo">入库单</param> |
| | | /// <param name="asnDetailId">入库单明细号</param> |
| | | /// <returns></returns> |
| | | public BoxListInfoDto GetBoxCountByAsn(string asnNo, int? asnDetailId) |
| | | public BoxListInfoDto GetBoxCountByAsn(string asnNo,int? asnDetailId) |
| | | { |
| | | try |
| | | { |
| | | |
| | | |
| | | var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == asnDetailId); |
| | | if (detail == null) |
| | | { |
| | |
| | | }; |
| | | //获取状态是未组托的标签信息 |
| | | var models = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNNo == asnNo && m.ASNDetailNo == asnDetailId && m.Status == "0") |
| | | .GroupBy(m => new { m.ProductionTime, m.ExpirationTime }) |
| | | .Select(m => new { m.ProductionTime, m.ExpirationTime }).OrderBy(m => m.ProductionTime).ToList();//&& m.Status == "0" |
| | | .GroupBy(m=> new { m.ProductionTime,m.ExpirationTime }) |
| | | .Select(m=>new { m.ProductionTime ,m.ExpirationTime}).OrderBy(m=>m.ProductionTime).ToList();//&& m.Status == "0" |
| | | foreach (var item in models) |
| | | { |
| | | var boxNoList = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.Status == "0" && m.ASNNo == asnNo && m.ASNDetailNo == asnDetailId && m.ProductionTime == item.ProductionTime).Select(m => m.BoxNo).ToList(); |
| | |
| | | { |
| | | //托盘库存信息 |
| | | var stockDetailList = Db.Queryable<DataStockDetail>().Where(m => m.IsDel == "0" && m.PalletNo == palletNo).ToList(); |
| | | if (stockDetailList.Count(m => string.IsNullOrWhiteSpace(m.LocatNo)) > 0) |
| | | if (stockDetailList.Count(m=> string.IsNullOrWhiteSpace(m.LocatNo)) > 0) |
| | | { |
| | | throw new Exception("托盘没有在平库储位上"); |
| | | } |
| | |
| | | { |
| | | var time = DateTime.Now; |
| | | //判断当前托盘是否存在绑定信息 |
| | | var task = Db.Queryable<LogTask>().First(m => m.IsDel == "0" && m.PalletNo == palletNo && (m.Status == "0" || m.Status == "1") && m.OrderType == "0" && m.Type == "0"); |
| | | |
| | | var task = Db.Queryable<LogTask>().First(m=> m.IsDel == "0" && m.PalletNo == palletNo && (m.Status == "0" || m.Status == "1") && m.OrderType == "0" && m.Type == "0"); |
| | | |
| | | var upShelf = Db.Queryable<BllPalletUpShelf>().First(m => m.IsDel == "0" && m.PalletNo == palletNo && (m.Status == "0" || m.Status == "1")); |
| | | if (task != null) |
| | | { |
| | |
| | | { |
| | | throw new Exception("请扫描外箱条码!"); |
| | | } |
| | | |
| | | |
| | | string sqlString = $@"SELECT BoxNo, SkuNo, SkuName, LotNo, BitBoxMark, SUM(Qty) as Qty FROM BllBoxInfo |
| | | WHERE IsDel = '0' and Status='0' and BoxNo = '{boxNo}' |
| | | GROUP BY BoxNo,SkuNo,SkuName,LotNo,BitBoxMark; "; |
| | |
| | | { |
| | | throw new Exception("没有查询到箱码信息"); |
| | | } |
| | | |
| | | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | } |
| | | |
| | | // 车间绑定托盘-贴标 |
| | | public void ChejianIn(string palletNo, string boxNo, decimal qty, string areaNo, int userId) |
| | | public void ChejianIn(string palletNo,string boxNo,decimal qty,string areaNo,int userId) |
| | | { |
| | | try |
| | | { |
| | |
| | | { |
| | | throw new Exception("箱号不能为空"); |
| | | } |
| | | if (qty <= 0) |
| | | if (qty<=0) |
| | | { |
| | | throw new Exception("数量不能小等0"); |
| | | } |
| | |
| | | var msgStr = $"箱号为{boxNo}"; |
| | | var boxInfoList = new List<BllBoxInfo>(); |
| | | |
| | | |
| | | |
| | | boxInfoList.AddRange(boxInfo); |
| | | |
| | | #region 库存明细 |
| | |
| | | { |
| | | throw new Exception("入库区域不能为空"); |
| | | } |
| | | |
| | | |
| | | var tags = "0"; |
| | | |
| | | |
| | | // 判断库存明细是否已有此托盘信息 |
| | | var sd1 = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.SkuNo == boxInfoOne.SkuNo && m.LotNo == boxInfoOne.LotNo && m.PalletNo == palletNo); |
| | | var sd1 = Db.Queryable<DataStockDetail>().First(m => m.IsDel == "0" && m.SkuNo== boxInfoOne.SkuNo && m.LotNo == boxInfoOne.LotNo && m.PalletNo == palletNo); |
| | | var sdId1 = 0; |
| | | if (sd1 != null) |
| | | { |
| | | if (sd1.AreaNo != areaNo) |
| | | if (sd1.AreaNo!= areaNo) |
| | | { |
| | | throw new Exception("选择的区域与库存不同"); |
| | | } |
| | |
| | | else |
| | | { |
| | | var sd2 = Db.Queryable<DataStockDetail>().Where(m => m.PalletNo == palletNo && m.IsDel == "0" && !string.IsNullOrWhiteSpace(m.AreaNo)); |
| | | if (sd2.Count(m => m.AreaNo != areaNo) > 0) |
| | | if (sd2.Count(m=>m.AreaNo!= areaNo) > 0) |
| | | { |
| | | throw new Exception("当前托盘位置与选择的不同,请核实"); |
| | | } |
| | |
| | | |
| | | // 更改箱支关系表 |
| | | decimal factQty = 0.00m;//托盘总数量 |
| | | |
| | | |
| | | |
| | | //标签组托 |
| | | var boxGroup = boxInfo.GroupBy(m => m.BoxNo).ToList(); |
| | |
| | | { |
| | | continue; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | box.PalletNo = palletNo; |
| | | box.Status = "2"; |
| | | |
| | | |
| | | box.CompleteTime = comTime; |
| | | box.UpdateTime = comTime; |
| | | box.UpdateUser = userId; |
| | |
| | | |
| | | factQty += box.Qty; |
| | | boxFullQty += box.Qty; |
| | | |
| | | |
| | | #region 库存箱码明细 |
| | | var box2 = new DataBoxInfo() |
| | | { |
| | |
| | | { |
| | | Type = "0",//类型,0:入库 1:出库 |
| | | PalletNo = palletNo, |
| | | BoxNo = box.BoxNo, |
| | | LotNo = box.LotNo, |
| | | SkuNo = box.SkuNo, |
| | | SkuName = box.SkuName, |
| | | Qty = box.Qty |
| | | BoxNo=box.BoxNo, |
| | | LotNo=box.LotNo, |
| | | SkuNo=box.SkuNo, |
| | | SkuName=box.SkuName, |
| | | Qty=box.Qty |
| | | }; |
| | | //添加库存箱码明细 |
| | | Db.Insertable(_log).ExecuteCommand(); |
| | |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | |
| | | // 更改托盘使用状态 |
| | | var sqlStr = $"update SysPallets set Status = '1' where PalletNo = '{palletNo}';"; |
| | | ////添加托盘记录表数据 |
| | |
| | | if (skuInfo == null) |
| | | { |
| | | throw new Exception("未查询到物料信息"); |
| | | } |
| | | } |
| | | var pall = Db.Queryable<SysPallets>().First(m => m.IsDel == "0" && m.PalletNo == palletNo); |
| | | if (pall == null) |
| | | { |
| | |
| | | var comTime = DateTime.Now; |
| | | |
| | | #region 包装 |
| | | |
| | | |
| | | var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == skuInfo.PackagNo); |
| | | |
| | | var pNum = 0m;//托盘物品数量 |
| | |
| | | Status = "0", |
| | | InspectMark = "0", |
| | | InspectStatus = "1", |
| | | BitPalletMark = qty >= pNum ? "0" : "1", |
| | | BitPalletMark = qty >= pNum ?"0" :"1", |
| | | PackagNo = skuInfo.PackagNo, |
| | | |
| | | IsDel = "0", |
| | |
| | | } |
| | | |
| | | #region 产品组托 |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | //根据物料获取是否存在包装信息 |
| | | public string BySkuNoGetPackInfo(string skuNo) |
| | | { |
| | |
| | | #endregion |
| | | |
| | | #region 质检请验 |
| | | if ((notice.Type == "1" || notice.Type == "4" || notice.Type == "5") && sku.IsInspect != "1" && sku.IsControlled != "1") |
| | | if ((notice.Type == "1" || notice.Type == "4" || notice.Type == "5") && sku.IsInspect != "1" && sku.IsControlled != "1") |
| | | { |
| | | var qualityRequest = Db.Queryable<BllQualityInspectionRequest>().First(m => m.IsDel == "0" && m.SkuNo == sku.SkuNo && m.LotNo == bind.LotNo && m.SupplierLot == bind.SupplierLot); |
| | | if (qualityRequest == null) |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | #endregion |
| | | |
| | |
| | | { |
| | | if (!string.IsNullOrEmpty(item.WareHouseNo) && !string.IsNullOrEmpty(item.AreaNo)) |
| | | { |
| | | if (item.AreaNo != "B06" && item.AreaNo != "B07" && item.AreaNo != "B09") |
| | | if (item.AreaNo != "B06" && item.AreaNo != "B07" && item.AreaNo != "B09") |
| | | { |
| | | throw new Exception("该托盘未在库外,请核查!"); |
| | | } |
| | |
| | | throw new Exception("该储位不是平库储位,请检查!"); |
| | | } |
| | | if (storageLocat.Status != "0") |
| | | { |
| | | var detailInfo = Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == storageLocat.LocatNo); |
| | | { |
| | | var detailInfo=Db.Queryable<DataStockDetail>().First(w => w.IsDel == "0" && w.LocatNo == storageLocat.LocatNo); |
| | | if (detailInfo != null) |
| | | { |
| | | throw new Exception("储位不是空闲状态,请核查!"); |
| | |
| | | Db.Updateable(bindInfo).ExecuteCommand(); |
| | | #endregion |
| | | |
| | | /* #region 添加托盘上架记录 |
| | | var upShelf = new BllPalletUpShelf() |
| | | { |
| | | TaskNo = exTask.TaskNo, |
| | | TraceNo = bindInfo.ASNNo, |
| | | PalletNo = bindInfo.PalletNo, |
| | | SkuNo = stockModel.SkuNo, |
| | | SkuName = stockModel.SkuName, |
| | | LotNo = stockModel.LotNo, |
| | | Status = "1", |
| | | /* #region 添加托盘上架记录 |
| | | var upShelf = new BllPalletUpShelf() |
| | | { |
| | | TaskNo = exTask.TaskNo, |
| | | TraceNo = bindInfo.ASNNo, |
| | | PalletNo = bindInfo.PalletNo, |
| | | SkuNo = stockModel.SkuNo, |
| | | SkuName = stockModel.SkuName, |
| | | LotNo = stockModel.LotNo, |
| | | Status = "1", |
| | | |
| | | WareHouseNo = bindInfo.WareHouseNo, |
| | | RoadwayNo = bindInfo.RoadwayNo, |
| | | AreaNo = "", |
| | | LocatNo = "", |
| | | WareHouseNo = bindInfo.WareHouseNo, |
| | | RoadwayNo = bindInfo.RoadwayNo, |
| | | AreaNo = "", |
| | | LocatNo = "", |
| | | |
| | | CreateUser = 0, |
| | | }; |
| | | Db.Insertable(upShelf).ExecuteCommand(); |
| | | #endregion*/ |
| | | CreateUser = 0, |
| | | }; |
| | | Db.Insertable(upShelf).ExecuteCommand(); |
| | | #endregion*/ |
| | | |
| | | #region 库存箱支明细表 |
| | | // 插入新组的箱支信息 |
| | |
| | | //修改库存明细信息 |
| | | Db.Updateable(item).ExecuteCommand(); |
| | | } |
| | | |
| | | |
| | | #region 任务及组托信息 |
| | | //创建任务信息 |
| | | var taskNo = new Common().GetMaxNo("TK"); |
| | |
| | | }; |
| | | Db.Insertable(exTask).ExecuteCommand(); |
| | | //托盘绑定信息 |
| | | var bindInfo = Db.Queryable<BllPalletBind>().First(w => w.IsDel == "0" && w.PalletNo == model.PalletNo |
| | | var bindInfo = Db.Queryable<BllPalletBind>().First(w => w.IsDel == "0" && w.PalletNo == model.PalletNo |
| | | && w.Status == "2" && string.IsNullOrEmpty(w.LocatNo)); |
| | | if (bindInfo != null) |
| | | { |
| | |
| | | var upShelf = new BllPalletUpShelf() |
| | | { |
| | | TaskNo = exTask.TaskNo, |
| | | TraceNo = bindInfo == null ? "" : bindInfo.ASNNo, |
| | | TraceNo = bindInfo== null? "": bindInfo.ASNNo, |
| | | PalletNo = model.PalletNo, |
| | | SkuNo = palletupinfo.SkuNo, |
| | | SkuName = palletupinfo.SkuName, |
| | |
| | | //修改储位信息 |
| | | Db.Updateable(storageLocat).ExecuteCommand(); |
| | | |
| | | new OperationASNServer().AddLogOperationAsn("PDA模块", "平库入库", model.PalletNo, "完成", |
| | | new OperationASNServer().AddLogOperationAsn("PDA模块", "平库入库", model.PalletNo, "完成", |
| | | $"在PDA上完成单据号为:{model.ASNNo}的托盘码为:{model.PalletNo}的平库入库操作", (int)model.CreateUser); |
| | | Db.CommitTran(); |
| | | } |
| | |
| | | /// 仓库确认收货 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | public void ConfirmTakeOf(string palletNo, int userId) |
| | | public void ConfirmTakeOf(string palletNo,int userId) |
| | | { |
| | | try |
| | | { |
| | |
| | | //获取库存明细信息 |
| | | var stockDetailList = Db.Queryable<DataStockDetail>().Where(s => s.IsDel == "0" && s.PalletNo == palletNo).ToList(); |
| | | //验证库存明细信息是否存在 |
| | | if (stockDetailList.Count <= 0) |
| | | if (stockDetailList.Count<=0) |
| | | { |
| | | throw new Exception("库存明细不存在,请检查库存信息!"); |
| | | } |
| | |
| | | //删除库存箱码信息 |
| | | Db.Deleteable(boxInfoList).ExecuteCommand(); |
| | | } |
| | | |
| | | |
| | | //删除或修改库存 |
| | | stock.Qty -= (decimal)item.Qty; |
| | | if (stock.Qty <= 0) |
| | |
| | | /// </summary> |
| | | /// <param name="model">编码 名称</param> |
| | | /// <returns>物料详细信息</returns> |
| | | public MaterialsDto GetSkuInfo(GetMaterialsVm model) |
| | | public MaterialsDto GetSkuInfo(GetMaterialsVm model) |
| | | { |
| | | try |
| | | { |
| | |
| | | throw new Exception("请输入物料编码或物料名称!"); |
| | | } |
| | | |
| | | var skuModels = Db.Queryable<SysMaterials>().Where(m => (m.SkuNo == model.SkuNo || m.SkuName == model.SkuName) && m.IsDel == "0").Select<MaterialsDto>().ToList(); |
| | | if (skuModels.Count <= 0) |
| | | var skuModels = Db.Queryable<SysMaterials>().Where(m => (m.SkuNo == model.SkuNo || m.SkuName == model.SkuName) && m.IsDel == "0").Select< MaterialsDto>().ToList(); |
| | | if (skuModels.Count <= 0) |
| | | { |
| | | throw new Exception("物料不存在!"); |
| | | } |
| | |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="Exception"></exception> |
| | | public List<BllBoxInfo> AddLabels(LabelsVm model) |
| | | public List<BllBoxInfo> AddLabels(LabelsVm model) |
| | | { |
| | | try |
| | | { |
| | | if (decimal.TryParse(model.SkuNum, out decimal skuQty)) |
| | | { |
| | | if (skuQty <= 0) |
| | | if (skuQty <= 0) |
| | | { |
| | | throw new Exception("箱内数量不能小于等于0"); |
| | | } |
| | | } |
| | | else |
| | | else |
| | | { |
| | | throw new Exception("箱内数量请输入数字!"); |
| | | } |
| | |
| | | if (packLevel == 1) |
| | | { |
| | | #region 一级包装 |
| | | int labelNum = 1; |
| | | int labelNum = 1; |
| | | labelNum = int.Parse(Math.Ceiling(skuQty / bNum).ToString());//标签数量 |
| | | |
| | | |