diff --git a/QcMgr/Tnb.QcMgr/QcCheckTaskResultService.cs b/QcMgr/Tnb.QcMgr/QcCheckTaskResultService.cs index 5d8e6c5b..ba17f358 100644 --- a/QcMgr/Tnb.QcMgr/QcCheckTaskResultService.cs +++ b/QcMgr/Tnb.QcMgr/QcCheckTaskResultService.cs @@ -100,8 +100,10 @@ namespace Tnb.QcMgr { "await", "待检" }, { "temporarily", "暂控" } }; - - PositionEntity positionEntity = await db.Queryable().Where(x=>x.Id==_userManager.User.PositionId).FirstAsync(); + + string positionId = _userManager.User != null && !string.IsNullOrEmpty(_userManager.User.PositionId) ? _userManager.User.PositionId : ""; + PositionEntity positionEntity = await db.Queryable().Where(x=>x.Id==positionId).FirstAsync(); + string positionCode = positionEntity != null ? positionEntity.EnCode : ""; Dictionary? queryJson = !string.IsNullOrEmpty(input.queryJson) ? JsonConvert.DeserializeObject>(input.queryJson) : new Dictionary(); string materialid = queryJson.ContainsKey("materialid") ? queryJson["materialid"].ToString() : ""; string checktype = queryJson.ContainsKey("checktype") ? queryJson["checktype"].ToString() : ""; @@ -122,7 +124,7 @@ namespace Tnb.QcMgr .LeftJoin((a,b,c,d,e,f,g)=>f.eqp_id==g.id) .LeftJoin((a,b,c,d,e,f,g,h)=>d.OrganizeIdTree.Contains(h.Id) && h.Category == DictConst.RegionCategoryWorkshopCode) .LeftJoin((a,b,c,d,e,f,g,h,i)=>h.Id==i.OrganizeId) - .WhereIF(_userManager.LoginType=="app" && !_userManager.IsAdministrator,(a,b,c,d,e,f,g,h,i)=>i.EnCode==positionEntity.EnCode) + .WhereIF(_userManager.LoginType=="app" && !_userManager.IsAdministrator,(a,b,c,d,e,f,g,h,i)=>i.EnCode==positionCode) .WhereIF(!string.IsNullOrEmpty(materialid), (a, b, c, d, e) => a.materialid == materialid) .WhereIF(!string.IsNullOrEmpty(checktype), (a, b, c, d, e) => a.checktype == checktype) .WhereIF(!string.IsNullOrEmpty(status), (a, b, c, d, e) => a.status == status) diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDADeliveryService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDADeliveryService.cs index 9d4cd5a4..b0332c48 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPDADeliveryService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPDADeliveryService.cs @@ -89,7 +89,13 @@ namespace Tnb.WarehouseMgr } if (input.data.ContainsKey(nameof(WmsDelivery.endlocation_id))) { - endLocationId = input.data[nameof(WmsDelivery.endlocation_id)]?.ToString()!; + BasLocation endLocation = await _db.Queryable().Where(x=>x.location_code==input.data[nameof(WmsDelivery.endlocation_id)].ToString()).FirstAsync(); + if (endLocation == null) + { + throw Oops.Bah("未找到目标库位"); + } + + endLocationId = endLocation.id; } string[] locIds = new[] { startLocationId, endLocationId }; List locs = await _basLocationService?.GetLocationInfobyIds(locIds)!; diff --git a/WarehouseMgr/Tnb.WarehouseMgr/WmsPrdInstockHService.cs b/WarehouseMgr/Tnb.WarehouseMgr/WmsPrdInstockHService.cs index 86711bb4..6ba03685 100644 --- a/WarehouseMgr/Tnb.WarehouseMgr/WmsPrdInstockHService.cs +++ b/WarehouseMgr/Tnb.WarehouseMgr/WmsPrdInstockHService.cs @@ -346,6 +346,7 @@ namespace Tnb.WarehouseMgr // BasWarehouse scWarehouse = await _db.Queryable().SingleAsync(x=>x.id==wmsPrdInstockD.scwarehouse_id); // BasWarehouse kcWarehouse = await _db.Queryable().SingleAsync(x=>x.id==wmsPrdInstockD.warehouse_id); PrdReport prdReport = await _db.Queryable().SingleAsync(x => x.id == instock.prd_report_id); + if (prdReport == null) return; PrdMoTask prdMoTask = await _db.Queryable().SingleAsync(x => x.id == prdReport.mo_task_id); PrdMo prdMo = await _db.Queryable().SingleAsync(x => x.id == prdMoTask.mo_id); //来源erp才产成品入库