| | |
| | | } |
| | | |
| | | |
| | | public List<QsQaItemXj01> setJYItem(string itemNo) |
| | | public List<QsQaItemXj01> setJYItem(string itemNo, decimal? workQty = null) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |
| | | |
| | |
| | | |
| | | if (count <= 0) return new List<QsQaItemXj01>(); |
| | | |
| | | return db |
| | | // 如果没有传递工单数量,尝试从工单表中获取 |
| | | if (workQty == null || workQty <= 0) |
| | | { |
| | | // 通过物料编码(Daa002)匹配工单 |
| | | var workOrder = db.Queryable<Womdaa>() |
| | | .Where(w => w.Daa002 == itemNo) |
| | | .OrderByDescending(w => w.Id) |
| | | .First(); |
| | | |
| | | if (workOrder != null) |
| | | { |
| | | workQty = workOrder.Daa008; // 工单数量 |
| | | } |
| | | } |
| | | |
| | | // 先获取基础数据 |
| | | var qualityStandards = db |
| | | .Queryable<MesQualityStandard>() |
| | | .Where(b => b.QsType == "2" |
| | | && b.ItemNo == itemNo).Select( |
| | | b => new QsQaItemXj01 |
| | | .Where(b => b.QsType == "2" && b.ItemNo == itemNo) |
| | | .ToList(); |
| | | |
| | | // 在内存中计算检验数量 |
| | | return qualityStandards.Select(b => { |
| | | var calculatedLevelNum = CalculateInspectionQuantity(b.InspectionLevel, workQty); |
| | | |
| | | return new QsQaItemXj01 |
| | | { |
| | | ProjName = b.ProjName, |
| | | ItemMod = b.ItemMod, |
| | | InspectionMethod = b.InspectionMethod, |
| | | UsingInstruments = b.UsingInstruments, |
| | | LevelNum = SqlFunc.IsNull( |
| | | SqlFunc.IsNull(b.LevelNum * b.InspectionLevel, 1), |
| | | b.InspectionLevel), |
| | | LevelNum = calculatedLevelNum, |
| | | MaxValue = b.MaxValue, |
| | | StandardValue = b.StandardValue, |
| | | MinValue = b.MinValue, |
| | |
| | | isCheck = 0, |
| | | Picture = b.Picture, |
| | | Picturename = b.Picturename |
| | | }; |
| | | }).ToList(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 计算检验数量:如果抽检数量大于工单数量,则检验数量为工单数量,否则为抽检数量 |
| | | /// </summary> |
| | | /// <param name="samplingQuantity">抽检数量</param> |
| | | /// <param name="workQty">工单数量</param> |
| | | /// <returns>检验数量</returns> |
| | | private decimal? CalculateInspectionQuantity(decimal? samplingQuantity, decimal? workQty) |
| | | { |
| | | // 如果没有工单数量,使用抽检数量 |
| | | if (workQty == null || workQty <= 0) |
| | | { |
| | | return samplingQuantity; |
| | | } |
| | | |
| | | // 如果抽检数量大于工单数量,则检验数量为工单数量,否则为抽检数量 |
| | | return samplingQuantity > workQty ? workQty : samplingQuantity; |
| | | } |
| | | |
| | | public List<QsQaItemXj01> getJYItem(decimal? pid, decimal? id) |
| | | { |
| | | var db = SqlSugarHelper.GetInstance(); |