| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Linq.Expressions; |
| | | using System.Text; |
| | | using Model.ModelDto; |
| | | using Model.ModelDto.DataDto; |
| | | using Model.ModelDto.SysDto; |
| | | using SqlSugar; |
| | | using Utility.Tools; |
| | | using WMS.DAL; |
| | | using WMS.Entity.BllAsnEntity; |
| | | using WMS.Entity.Context; |
| | | using WMS.Entity.DataEntity; |
| | | using WMS.Entity.SysEntity; |
| | | using WMS.IBLL.IDataServer; |
| | | |
| | | namespace WMS.BLL.DataServer |
| | |
| | | public List<AdventBoxInfoDto> GetEmergencyWarning(string skuNo, string skuName, string lotNo, string palletNo, string status, string inspectMark, string inspectStatus) |
| | | { |
| | | string str = @" select d.WareHouseName,d.WareHouseNo,e.RoadwayName,e.RoadwayNo,f.AreaName,f.AreaNo,c.LocatNo,a.PalletNo, |
| | | a.SkuNo,a.SkuName,SUM(a.Qty) as Qty,a.Standard,a.LotNo,a.SupplierLot,a.ProductionTime,a.Status |
| | | a.SkuNo,a.SkuName,SUM(a.Qty) as Qty,a.Standard,a.LotNo,a.SupplierLot,a.ProductionTime,a.Status,c.ExpirationTime |
| | | from DataBoxInfo a |
| | | left join SysMaterials b on a.SkuNo = b.SkuNo |
| | | left join DataStockDetail c on a.StockDetailId = c.Id |
| | |
| | | str += " and a.InspectStatus = @inspectstatus"; |
| | | } |
| | | //排序 |
| | | str += @" group by d.WareHouseName,d.WareHouseNo,e.RoadwayName,e.RoadwayNo,f.AreaName,f.AreaNo,c.LocatNo,a.PalletNo,a.SkuNo,a.SkuName,a.Standard,a.LotNo,a.SupplierLot,a.ProductionTime,a.Status order by a.SkuNo,a.LotNo "; |
| | | str += @" group by d.WareHouseName,d.WareHouseNo,e.RoadwayName,e.RoadwayNo,f.AreaName,f.AreaNo,c.LocatNo,a.PalletNo,a.SkuNo,a.SkuName,a.Standard,a.LotNo,a.SupplierLot,a.ProductionTime,a.Status,c.ExpirationTime order by a.SkuNo,a.LotNo "; |
| | | List<AdventBoxInfoDto> stockList = Db.Ado.SqlQuery<AdventBoxInfoDto>(str, new |
| | | { |
| | | skuno = skuNo, //物料号 |
| | |
| | | } |
| | | #endregion |
| | | |
| | | #region#补打标签 |
| | | /// <summary> |
| | | /// 补打库存明细箱码 |
| | | /// </summary> |
| | | /// <param name="boxNo"></param> |
| | | /// <returns></returns> |
| | | /// <exception cref="Exception"></exception> |
| | | public List<BoxInfoDto> GetBuDaLabelList(string boxNo) |
| | | { |
| | | try |
| | | { |
| | | if (string.IsNullOrWhiteSpace(boxNo)) |
| | | { |
| | | throw new Exception($"箱码不能为空"); |
| | | } |
| | | |
| | | //打印数据集合 |
| | | var printList = new List<BoxInfoDto>(); |
| | | |
| | | List<BoxInfoDto> printModelList = new List<BoxInfoDto>(); |
| | | |
| | | |
| | | var funSet = Db.Queryable<SysFunSetting>().First(m => m.IsDel == "0" && m.FunSetName == "物料码类型" && m.IsEnable == "NO"); |
| | | var allotSet = 1;//分配规则设定 |
| | | |
| | | if (funSet != null) |
| | | { |
| | | switch (funSet.SetValue) |
| | | { |
| | | case "One": |
| | | allotSet = 1;//一维条形码 |
| | | break; |
| | | case "Two": |
| | | allotSet = 2;//二维码 |
| | | break; |
| | | default: |
| | | allotSet = 1;// 默认:一维条形码、 |
| | | break; |
| | | } |
| | | } |
| | | #region 单个箱码标签 |
| | | |
| | | |
| | | var dataList = Db.Queryable<DataBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == boxNo).ToList(); |
| | | var data = dataList.FirstOrDefault(); |
| | | if (data == null) |
| | | { |
| | | throw new Exception($"未查询到{boxNo}信息"); |
| | | } |
| | | //物料信息 |
| | | var skuInfo = Db.Queryable<SysMaterials>().First(w => w.IsDel == "0" && w.SkuNo == data.SkuNo); |
| | | if (skuInfo == null) |
| | | { |
| | | throw new Exception($"未查询到编码为{data.SkuNo}的物料信息"); |
| | | } |
| | | //包装信息 |
| | | var pack = Db.Queryable<SysPackag>().First(m => m.IsDel == "0" && m.PackagNo == skuInfo.PackagNo); |
| | | if (pack == null) |
| | | { |
| | | throw new Exception("未查询到当前单据中物料的包装信息"); |
| | | } |
| | | |
| | | var packStr = ""; |
| | | |
| | | if (!string.IsNullOrWhiteSpace(pack.L1Name)) |
| | | { |
| | | packStr += pack.L1Num + "/" + pack.L1Name; |
| | | } |
| | | if (!string.IsNullOrWhiteSpace(pack.L2Name)) |
| | | { |
| | | packStr += "-" + pack.L2Num + "/" + pack.L2Name; |
| | | } |
| | | if (!string.IsNullOrWhiteSpace(pack.L3Name)) |
| | | { |
| | | packStr += "-" + pack.L3Num + "/" + pack.L3Name; |
| | | } |
| | | if (!string.IsNullOrWhiteSpace(pack.L4Name)) |
| | | { |
| | | packStr += "-" + pack.L4Num + "/" + pack.L4Name; |
| | | } |
| | | if (!string.IsNullOrWhiteSpace(pack.L5Name)) |
| | | { |
| | | packStr += "-" + pack.L5Num + "/" + pack.L5Name; |
| | | } |
| | | // 物料条码信息赋值 |
| | | BoxInfoDto model = new BoxInfoDto(); |
| | | model.SkuNo = data.SkuNo; |
| | | model.SkuName = data.SkuName; |
| | | model.LotNo = data.LotNo; //批次 |
| | | model.SupplierLot = data.SupplierLot; // 原厂批号 |
| | | model.Standard = data.Standard; // 规格/型号 |
| | | model.PackageStandard = packStr; // 包装规格 |
| | | |
| | | model.ExpirationTime = data.ExpirationTime; // 有效期至 |
| | | model.StoreTime = null; // 储存期至 |
| | | model.ProductionTime = data.ProductionTime;//生产日期 |
| | | |
| | | model.Qty = dataList.Sum(m => m.Qty);// 数量 |
| | | |
| | | model.BoxNo = data.BoxNo; // 箱号 |
| | | |
| | | model.ImgStr = allotSet == 1 ? BarcodeHelper.GetCodeBarBase64(model.BoxNo, 160, 40, false) : BarcodeHelper.GetQrCodeBase64(model.BoxNo, 85, 85); |
| | | |
| | | // 添加到list集合 |
| | | printModelList.Add(model); |
| | | |
| | | //添加打印记录 |
| | | //WmsLabelPrintLog log = new WmsLabelPrintLog(); |
| | | //log.BoxCode = data.LabelStream; |
| | | //log.CreateTime = DateTime.Now; |
| | | //log.Demo = Demo; |
| | | //log.Isdel = 0; |
| | | //log.CreateUser = userId; |
| | | //printlog.Add(log); |
| | | #endregion |
| | | |
| | | return printModelList; |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | throw new Exception(e.Message); |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | #region 废代码 仅供参考 |
| | | |
| | | ////获取分组后的箱码明细 |
| | |
| | | //} |
| | | |
| | | #endregion |
| | | |
| | | } |
| | | } |