如洲 陈
昨天 caed1e3200578fae1e2ee6c8bf24826707d7596a
MES.Service/service/QC/XJService.cs
@@ -142,7 +142,7 @@
    }
    public List<QsQaItemXj01> setJYItem(string itemNo)
    public List<QsQaItemXj01> setJYItem(string itemNo, decimal? workQty = null)
    {
        var db = SqlSugarHelper.GetInstance();
@@ -151,19 +151,38 @@
        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,
@@ -176,9 +195,28 @@
                    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();