| | |
| | | { |
| | | if (models[0].Status == "1") |
| | | { |
| | | sqlString = $"select count(id) from DataStockDetail where PalletNo = '{palletNo}' and isnull(LocatNo,'') != '' and isdel = '0';"; |
| | | int rowNum = Db.Ado.GetInt(sqlString); |
| | | if (rowNum > 0) |
| | | var detail = Db.Queryable<DataStockDetail>().First(m=>m.PalletNo == palletNo ); |
| | | |
| | | if (detail!= null && !string.IsNullOrWhiteSpace(detail.LocatNo)) |
| | | { |
| | | sqlMsg = "-1:托盘使用中,此托盘应在库内请核实!"; |
| | | 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"); |
| | | if (pingLocateInfo == null) |
| | | { |
| | | sqlMsg = "-1:托盘使用中,此托盘应在库内请核实!"; |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | return sqlMsg; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | throw ex; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 根据单据获取标签数量 |
| | | /// </summary> |
| | | /// <param name="asnNo">入库单</param> |
| | | /// <param name="asnDetailId">入库单明细号</param> |
| | | /// <returns></returns> |
| | | public BoxListInfoDto GetBoxCountByAsn(string asnNo,int? asnDetailId) |
| | | { |
| | | try |
| | | { |
| | | |
| | | var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == asnDetailId); |
| | | if (detail == null) |
| | | { |
| | | throw new Exception("没有查询到单据明细信息"); |
| | | } |
| | | var data = new BoxListInfoDto() |
| | | { |
| | | SkuNo = detail.SkuNo, |
| | | SkuName = detail.SkuName, |
| | | LotNo = detail.LotNo, |
| | | |
| | | }; |
| | | //获取状态是未组托的标签信息 |
| | | var models = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNNo == asnNo && m.ASNDetailNo == asnDetailId ).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.ASNNo == asnNo && m.ASNDetailNo == asnDetailId && m.ProductionTime == item.ProductionTime).Select(m => m.BoxNo).ToList(); |
| | | if (boxNoList.Count > 0) |
| | | { |
| | | data.BoxNoList = boxNoList; |
| | | data.Date1 = item.ProductionTime.ToString(); |
| | | data.Date2 = item.ExpirationTime.ToString(); |
| | | |
| | | break; |
| | | } |
| | | } |
| | | return data; |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | |
| | | try |
| | | { |
| | | string strMsg = ""; |
| | | var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == locatNo && w.Status == "0" && w.WareHouseNo == "W02"); |
| | | var storageLocat = Db.Queryable<SysStorageLocat>().First(w => w.IsDel == "0" && w.LocatNo == locatNo && w.Status == "0" && w.WareHouseNo == "W04"); |
| | | if (storageLocat == null) |
| | | { |
| | | throw new Exception("-1:地码(储位信息)不存在或非空闲状态,请核查!"); |
| | |
| | | //修改库存明细信息 |
| | | foreach (var item in stockDetail) |
| | | { |
| | | item.Status = "0"; // 状态更改为待分配 |
| | | //item.Status = "0"; // 状态更改为待分配 |
| | | item.WareHouseNo = storageLocat.WareHouseNo; // 所属仓库 |
| | | item.RoadwayNo = storageLocat.RoadwayNo; // 所属巷道 |
| | | item.AreaNo = storageLocat.AreaNo; // 所属区域 |
| | |
| | | SendDate = DateTime.Now, //发送时间 |
| | | BackDate = DateTime.Now, //返回时间 |
| | | StartLocat = "",//起始位置 |
| | | EndLocat = "平库",//目标位置 |
| | | EndLocat = model.LocatNo,//目标位置 |
| | | PalletNo = model.PalletNo,//托盘码 |
| | | IsSend = 0,//是否可再次下发 |
| | | IsCancel = 0,//是否可取消 |
| | | IsFinish = 0,//是否可完成 |
| | | Type = "0",//任务类型 0 入库任务 1 出库任务 2 移库任务 |
| | | Status = "2",//任务状态0:等待执行1正在执行2执行完成 |
| | | OrderType = "3",//0 入库单 1 出库单 2 盘点单 3 移库单 |
| | | OrderType = "0",//0 入库单 1 出库单 2 盘点单 3 移库单 |
| | | Msg = "平库的入库任务", |
| | | }; |
| | | Db.Insertable(exTask).ExecuteCommand(); |