| | |
| | | using System.Reflection; |
| | | using System.IO; |
| | | using System.Security.Cryptography.X509Certificates; |
| | | using System.Net.WebSockets; |
| | | |
| | | namespace WMS.BLL.BllPdaServer |
| | | { |
| | |
| | | |
| | | if (modelList.Count > 0) |
| | | { |
| | | var notice = Db.Queryable<BllArrivalNotice>().First(m=>m.IsDel == "0" && m.ASNNo == modelList[0].ASNNo); |
| | | modelList[0].UDF5 = notice.Demo; |
| | | return modelList[0]; |
| | | } |
| | | |
| | |
| | | } |
| | | if (!string.IsNullOrWhiteSpace(model.ASNNo)) |
| | | { |
| | | var asnData = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == model.ASNNo); |
| | | if (asnData != null && (asnData.Type == "0" || asnData.Type == "3")) |
| | | var detailId = model.ASNNo.Split("-")[0]; |
| | | var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m=>m.IsDel =="0" && m.Id == int.Parse(detailId)); |
| | | if (detail != null) |
| | | { |
| | | var count = Db.Queryable<BllBoxInfo>().Count(m => m.IsDel == "0" && m.Status == "0" && m.BoxNo == model.BoxNo); |
| | | if (count == 0) |
| | | var asnData = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == detail.ASNNo); |
| | | if (asnData != null && (asnData.Type == "0" || asnData.Type == "3")) |
| | | { |
| | | GetBoxInfoByFuMa(model.BoxNo, ""); //从赋码系统获取箱码信息 |
| | | var count = Db.Queryable<BllBoxInfo>().Count(m => m.IsDel == "0" && m.Status == "0" && m.BoxNo == model.BoxNo); |
| | | if (count == 0) |
| | | { |
| | | GetBoxInfoByFuMa(model.BoxNo, ""); //从赋码系统获取箱码信息 |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | string sqlString = $@"SELECT |
| | |
| | | throw ex; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据箱码获取标签最小追溯码信息 |
| | | /// </summary> |
| | | /// <param name="model"></param> |
| | | /// <returns></returns> |
| | | public List<BoxInfoDto> GetBindBoxInfo2s(BoxInfoVm model) |
| | | { |
| | | try |
| | | { |
| | | if (string.IsNullOrEmpty(model.BoxNo3)) |
| | | { |
| | | throw new Exception("请扫描最小追溯条码!"); |
| | | } |
| | | if (!string.IsNullOrWhiteSpace(model.ASNNo)) |
| | | { |
| | | var detailId = model.ASNNo.Split("-")[0]; |
| | | var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == int.Parse(detailId)); |
| | | if (detail != null) |
| | | { |
| | | var asnData = Db.Queryable<BllArrivalNotice>().First(m => m.IsDel == "0" && m.ASNNo == detail.ASNNo); |
| | | if (asnData != null) |
| | | { |
| | | if (asnData.Type != "3") |
| | | { |
| | | throw new Exception("单据请选择退货入库单!"); |
| | | } |
| | | var count = Db.Queryable<BllBoxInfo>().Count(m => m.IsDel == "0" && m.Status == "0" && m.BoxNo3 == model.BoxNo3); |
| | | if (count == 0) |
| | | { |
| | | //优先WMS查找 |
| | | |
| | | var comDetail = Db.Queryable<BllBoxInfo>().First(m=>m.BoxNo3 == model.BoxNo3 && m.IsDel =="0" && m.Status =="2"); |
| | | if (comDetail!= null) |
| | | { |
| | | var boxInfo = new BllBoxInfo() |
| | | { |
| | | ASNNo = "", |
| | | //ASNDetailNo = 0, |
| | | OrderCode = "", |
| | | //BindNo = 0, |
| | | BoxNo = comDetail.BoxNo, |
| | | BoxNo2 = comDetail.BoxNo2, |
| | | BoxNo3 = comDetail.BoxNo3, |
| | | PalletNo = "", |
| | | Qty = comDetail.Qty, |
| | | FullQty = comDetail.FullQty, |
| | | Status = "0", |
| | | SkuNo = comDetail.SkuNo, |
| | | SkuName = comDetail.SkuName, |
| | | LotNo = comDetail.LotNo, |
| | | LotText = comDetail.LotText, |
| | | SupplierLot = comDetail.SupplierLot, |
| | | ProductionTime = comDetail.ProductionTime, |
| | | ExpirationTime = comDetail.ExpirationTime, |
| | | //CompleteTime = comTime, |
| | | InspectMark = comDetail.InspectMark, |
| | | BitBoxMark = "1", |
| | | InspectStatus = comDetail.InspectStatus, |
| | | Origin = "赋码", |
| | | Standard = comDetail.Standard, |
| | | PackageStandard = comDetail.PackageStandard, |
| | | StoreTime = comDetail.StoreTime, |
| | | QtyOrd = comDetail.QtyOrd, |
| | | QtyCount = comDetail.QtyCount, |
| | | CreateUser = 0, |
| | | CreateTime = DateTime.Now, |
| | | }; |
| | | Db.Insertable(boxInfo).ExecuteCommand(); |
| | | } |
| | | else |
| | | { |
| | | // GetBoxInfoByFuMa(model.BoxNo3, ""); //从赋码系统获取箱码信息 |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | string sqlString = $@"SELECT |
| | | ASNNo, |
| | | BoxNo, |
| | | SkuNo, |
| | | SkuName, |
| | | LotNo, |
| | | SUM(Qty) as Qty |
| | | FROM BllBoxInfo |
| | | WHERE IsDel = '0' |
| | | AND Status='0' |
| | | AND BoxNo3 = '{model.BoxNo3}' |
| | | GROUP BY ASNNo,BoxNo,SkuNo,SkuName,LotNo; "; |
| | | var models = Db.Ado.SqlQuery<BoxInfoDto>(sqlString); |
| | | if (models.Count == 0) |
| | | { |
| | | throw new Exception("最小追溯码信息不存在!"); |
| | | } |
| | | return models; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw ex; |
| | | } |
| | | } |
| | | |
| | | // 根据单据号获取单据明细列表 |
| | | public List<ArrivalNoticeDetailDto> GetBindArrivalNoticeDetails(ArrivalNoticeVm model) |
| | | { |
| | |
| | | //判断物料数量是否为0 为0判断箱码信息 不为0继续 |
| | | if (model.TableType == 0) |
| | | { |
| | | if (string.IsNullOrEmpty(model.BoxNo)) |
| | | if (notice.Type != "3") |
| | | { |
| | | throw new Exception("-1:箱码信息不可为空!"); |
| | | } |
| | | |
| | | if (model.IsContinue == "1") |
| | | { |
| | | if (string.IsNullOrWhiteSpace(model.TailBoxNo)) |
| | | if (string.IsNullOrEmpty(model.BoxNo)) |
| | | { |
| | | throw new Exception("-1:开启连续组托时,尾箱码信息不可为空!"); |
| | | throw new Exception("-1:箱码信息不可为空!"); |
| | | } |
| | | if (model.IsContinue == "1") |
| | | { |
| | | if (string.IsNullOrWhiteSpace(model.TailBoxNo)) |
| | | { |
| | | throw new Exception("-1:开启连续组托时,尾箱码信息不可为空!"); |
| | | } |
| | | |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (string.IsNullOrEmpty(model.BoxNo01)) |
| | | { |
| | | throw new Exception("-1:追溯码信息不可为空!"); |
| | | } |
| | | if (model.IsContinue == "1") |
| | | { |
| | | throw new Exception("-1:追溯码不可连续组托!"); |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | int isTextTable = model.TableType; |
| | | int isDeposit = 0; |
| | |
| | | var boxInfoList = new List<BllBoxInfo>(); |
| | | if (model.SkuQty == 0) |
| | | { |
| | | //首箱 |
| | | var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo && m.Status == "0").ToList(); |
| | | if (boxInfo.Count == 0) |
| | | if (notice.Type == "3") |
| | | { |
| | | throw new Exception("-1:箱码信息不存在!"); |
| | | } |
| | | boxInfoList.AddRange(boxInfo); |
| | | //是否连续组托 |
| | | if (model.IsContinue == "1") |
| | | { |
| | | //尾箱 |
| | | var boxInfo2 = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.TailBoxNo && m.Status == "0").ToList(); |
| | | if (boxInfo2.Count == 0) |
| | | //首箱 |
| | | var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo3 == model.BoxNo01 && m.Status == "0").ToList(); |
| | | if (boxInfo.Count == 0) |
| | | { |
| | | throw new Exception("-1:尾箱码信息不存在!"); |
| | | throw new Exception("-1:箱码信息不存在!"); |
| | | } |
| | | boxInfoList.AddRange(boxInfo2); |
| | | var sql = $"select * from BllBoxInfo where IsDel = '0' and Status = '0' and boxNo>'{model.BoxNo}' and boxNo<'{model.TailBoxNo}'; "; |
| | | var list = Db.Ado.SqlQuery<BllBoxInfo>(sql); |
| | | boxInfoList.AddRange(list); |
| | | msgStr += $"尾箱号为{model.TailBoxNo}"; |
| | | boxInfoList.AddRange(boxInfo); |
| | | } |
| | | else |
| | | { |
| | | //首箱 |
| | | var boxInfo = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.BoxNo && m.Status == "0").ToList(); |
| | | if (boxInfo.Count == 0) |
| | | { |
| | | throw new Exception("-1:箱码信息不存在!"); |
| | | } |
| | | boxInfoList.AddRange(boxInfo); |
| | | //是否连续组托 |
| | | if (model.IsContinue == "1") |
| | | { |
| | | //尾箱 |
| | | var boxInfo2 = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.BoxNo == model.TailBoxNo && m.Status == "0").ToList(); |
| | | if (boxInfo2.Count == 0) |
| | | { |
| | | throw new Exception("-1:尾箱码信息不存在!"); |
| | | } |
| | | boxInfoList.AddRange(boxInfo2); |
| | | var sql = $"select * from BllBoxInfo where IsDel = '0' and Status = '0' and boxNo>'{model.BoxNo}' and boxNo<'{model.TailBoxNo}'; "; |
| | | var list = Db.Ado.SqlQuery<BllBoxInfo>(sql); |
| | | boxInfoList.AddRange(list); |
| | | msgStr += $"尾箱号为{model.TailBoxNo}"; |
| | | } |
| | | } |
| | | } |
| | | #endregion |