| | |
| | | |
| | | #region 接口方法 |
| | | |
| | | //JC23绑定物料托盘即增加库存 |
| | | //JC26绑定物料托盘即增加库存 |
| | | public void BindPalletStock(BoxPalletBindVm model, int userId) |
| | | { |
| | | try |
| | |
| | | { |
| | | throw new Exception("单据号不可为空!"); |
| | | } |
| | | if (model.AsnDetailNo == 0) |
| | | { |
| | | throw new Exception("单据明细不可为空!"); |
| | | } |
| | | //if (model.AsnDetailNo == 0) |
| | | //{ |
| | | // throw new Exception("单据明细不可为空!"); |
| | | //} |
| | | //根据单据号获取入库单总单 |
| | | notice = Db.Queryable<BllArrivalNotice>().First(a => a.IsDel == "0" && a.ASNNo == model.AsnNo && a.OrderCode == model.OrderCode); |
| | | if (notice.Status != "0" && notice.Status != "1" && notice.Status != "2") |
| | |
| | | throw new Exception("批次不能为空!"); |
| | | } |
| | | // 验证入库单明细是否存在 |
| | | detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == model.AsnDetailNo && m.ASNNo == model.AsnNo && m.LotNo == model.LotNo && m.SkuNo == model.SkuNo); |
| | | detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" |
| | | && m.ASNNo == model.AsnNo && m.LotNo == model.LotNo && m.SkuNo == model.SkuNo); |
| | | if (detail == null) |
| | | { |
| | | throw new Exception("当前物料及批次与单据无关联,请核实!"); |
| | | } |
| | | model.AsnDetailNo = detail.Id; |
| | | } |
| | | |
| | | |
| | |
| | | BllQualityInspect quality = new BllQualityInspect(); |
| | | if (model.Type == "0") |
| | | { |
| | | quality = Db.Queryable<BllQualityInspect>().Where(a => a.IsDel == "0" && a.SkuNo == detail.SkuNo && a.LotNo == detail.LotNo).OrderByDescending(a => a.CreateTime).First(); |
| | | quality = Db.Queryable<BllQualityInspect>() |
| | | .Where(a => a.IsDel == "0" && a.SkuNo == detail.SkuNo && a.LotNo == detail.LotNo) |
| | | .OrderByDescending(a => a.CreateTime).First(); |
| | | } |
| | | |
| | | DataStockDetail sd1 = null; |
| | |
| | | InspectQty = 0, |
| | | ASNNo = bind.ASNNo, |
| | | ASNDetailNo = bind.ASNDetailNo, |
| | | WareHouseNo = "",//所属仓库 |
| | | WareHouseNo = "W01",//所属仓库 |
| | | RoadwayNo = "",//所属巷道 |
| | | AreaNo = "",//所属区域 |
| | | LocatNo = "",//储位地址 |
| | |
| | | Standard = box.Standard, |
| | | PackageStandard = box.PackageStandard, |
| | | StoreTime = box.StoreTime, |
| | | QtyCount = (int)box.QtyCount, |
| | | QtyOrd = (int)box.QtyOrd, |
| | | QtyCount = box.QtyCount, |
| | | QtyOrd = box.QtyOrd, |
| | | CreateUser = userId, |
| | | CreateTime = comTime, |
| | | }; |
| | |
| | | |
| | | #endregion |
| | | |
| | | #region 托盘绑定 |
| | | #region 组托收货 |
| | | public List<PalletBindDto> GetPalletBindList(PalletBindVm model, out int count) |
| | | { |
| | | try |
| | |
| | | |
| | | if (!string.IsNullOrWhiteSpace(model.SkuNo) || !string.IsNullOrWhiteSpace(model.SkuName)) |
| | | { |
| | | var detailList = Db.Queryable<BllArrivalNoticeDetail>().Where(m => m.IsDel == "0" && m.SkuNo.Contains(model.SkuNo.Trim()) && m.SkuName.Contains(model.SkuName.Trim())).Select(m => m.Id).Distinct().ToList(); |
| | | var detailList = Db.Queryable<BllArrivalNoticeDetail>() |
| | | .Where(m => m.IsDel == "0" && m.SkuNo.Contains(model.SkuNo.Trim()) && m.SkuName.Contains(model.SkuName.Trim())) |
| | | .Select(m => m.Id).Distinct().ToList(); |
| | | strList = detailList; |
| | | if (strList.Count <= 0) |
| | | { |
| | | // 物料编码、名称检索失败直接返回null |
| | | count = 0; |
| | | return null; |
| | | } |
| | | |
| | | } |
| | | Expression<Func<BllPalletBind, bool>> item = Expressionable.Create<BllPalletBind>() |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.ASNNo), it => it.ASNNo.Contains(model.ASNNo.Trim())) |
| | |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.LotNo), it => it.LotNo.Contains(model.LotNo.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.LotText), it => it.LotText.Contains(model.LotText.Trim())) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.StartTime), it => it.CreateTime >= Convert.ToDateTime(model.StartTime)) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.EndTime), it => it.CreateTime <= Convert.ToDateTime(model.EndTime)) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.EndTime), it => it.CreateTime <= Convert.ToDateTime(model.EndTime).AddDays(1)) |
| | | .AndIF(!string.IsNullOrWhiteSpace(model.Status), it => it.Status == model.Status) |
| | | .And(m => m.IsDel == "0") |
| | | .ToExpression();//注意 这一句 不能少 |
| | |
| | | .LeftJoin<BllArrivalNoticeDetail>((a, b) => a.ASNDetailNo == b.Id) |
| | | .LeftJoin<SysUserInfor>((a, b, c) => a.CreateUser == c.Id) |
| | | .LeftJoin<SysUserInfor>((a, b, c, d) => a.UpdateUser == d.Id) |
| | | //.LeftJoin<SysStorageLocat>((a, b, c, d, e) => a.LocatNo == e.LocatNo) |
| | | .LeftJoin<SysStorageLocat>((a, b, c, d, e) => a.LocatNo == e.LocatNo) |
| | | .LeftJoin<SysWareHouse>((a, b, c, d, e,f) => a.WareHouseNo == f.WareHouseNo) |
| | | //.LeftJoin<BllBoxInfo>((a, b, c, d, e, f) => a.Id == e.BindNo) |
| | | .Select((a, b, c, d) => new PalletBindDto() |
| | | .Select((a, b, c, d,e,f) => new PalletBindDto() |
| | | { |
| | | Id = a.Id, |
| | | ASNNo = a.ASNNo, |
| | |
| | | LocatNo = a.LocatNo, |
| | | RoadwayNo = a.RoadwayNo, |
| | | WareHouseNo = a.WareHouseNo, |
| | | WareHouseName = a.WareHouseNo+"-"+f.WareHouseName, |
| | | Qty = a.Qty, |
| | | FullQty = a.FullQty, |
| | | SamplingQty = a.SamplingQty, |
| | |
| | | throw new Exception(ex.Message); |
| | | } |
| | | } |
| | | |
| | | |
| | | public List<BoxInfoDto> GetBoxInfoList(BoxInfoVm model, out int count) |
| | | { |
| | |
| | | .AndIF(!string.IsNullOrWhiteSpace(layer), m => m.Layer == int.Parse(layer)) |
| | | .AndIF(!string.IsNullOrWhiteSpace(locateNo), m => m.LocatNo.Contains(locateNo)) |
| | | .And(m => m.IsDel == "0" && m.Status == "0" && m.Flag == "0" && m.WareHouseNo == houseNo) |
| | | .And(m => m.AreaNo == categoryAreaNo) |
| | | .And(m => categoryAreaNo.Contains(m.AreaNo)) |
| | | .ToExpression();//注意 这一句 不能少 |
| | | var total = 0; |
| | | var list = Db.Queryable<SysStorageLocat>().Where(item).OrderByDescending(a => a.Depth).OrderBy(a => a.Column) |
| | |
| | | throw new Exception("请选择所属仓库"); |
| | | } |
| | | //验证是否为平库入库 |
| | | if (houseNo == "W02") |
| | | var houseType = Db.Queryable<SysWareHouse>().First(a => a.WareHouseNo == houseNo);//获取仓库类型 |
| | | //验证是否为平库入库 |
| | | if (houseType.Type == "2") |
| | | { |
| | | throw new Exception("平库请使用PDA手持进行平库入库"); |
| | | } |
| | |
| | | Db.Updateable(bindModel).ExecuteCommand(); |
| | | asnNo = stockModel.ASNNo; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |
| | | foreach (DataStockDetail stockModel in stockDetail) |