啊鑫
2024-10-08 164c6f37b9c31497079cf4b4183fb14845c33858
MES.Service/service/QC/LljService.cs
@@ -1,5 +1,4 @@
using System.Data;
using System.Dynamic;
using MES.Service.DB;
using MES.Service.Dto.service;
using MES.Service.Modes;
@@ -12,13 +11,15 @@
public class LljService
{
    public List<LtsLlj> GetPage(XJPageResult queryObj)
    public (List<LtsLlj> item, int TotalCount) GetPage(XJPageResult queryObj)
    {
        var db = SqlSugarHelper.GetInstance();
        var id = Convert.ToDecimal(queryObj.id);
        return db.Queryable<LtsLlj>()
        var totalCount = 0;
        var pageList = db.Queryable<LtsLlj>()
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                "未完成".Equals(queryObj.result),
@@ -27,9 +28,11 @@
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                !"未完成".Equals(queryObj.result),
                a => a.FcheckResu != null)
            .WhereIF(id > 0, (a) => a.Id == id)
            .OrderByDescending(a=>a.Id)
            .ToPageList(queryObj.PageIndex, queryObj.Limit);
            .WhereIF(id > 0, a => a.Id == id)
            .OrderByDescending(a => a.Id)
            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
        return (pageList, totalCount);
    }
    //根据检验标准来计算检验个数
@@ -66,7 +69,7 @@
                    // FcheckItemDesc = "0",
                    // FcheckResu = "0",
                    FcheckTool = b.FcheckTool,
                    FspecRequ = b.FspecRequ,
                    FspecRequ = b.FspecRequ
                    // FtextType = "0",
                    // Funit = "0",
                    // LastupdateBy = "0",
@@ -79,31 +82,37 @@
            string LEV = null;
            switch (item.FcheckLevel)
            {
                case string s when s.Contains("S1"):
                case null:
                    LEV = ""; // 默认值
                    break;
                case { } s when s.Contains("S1"):
                    LEV = "B.FLEVEL_S1";
                    break;
                case string s when s.Contains("S2"):
                case { } s when s.Contains("S2"):
                    LEV = "B.FLEVEL_S2";
                    break;
                case string s when s.Contains("S3"):
                case { } s when s.Contains("S3"):
                    LEV = "B.FLEVEL_S3";
                    break;
                case string s when s.Contains("S4"):
                case { } s when s.Contains("S4"):
                    LEV = "B.FLEVEL_S4";
                    break;
                case string s when s.Contains("(I)"):
                case { } s when s.Contains("(I)"):
                    LEV = "B.FLEVEL_I";
                    break;
                case string s when s.Contains("(II)"):
                case { } s when s.Contains("(II)"):
                    LEV = "B.FLEVEL_II";
                    break;
                case string s when s.Contains("(III)"):
                case { } s when s.Contains("(III)"):
                    LEV = "B.FLEVEL_III";
                    break;
                default:
                    LEV = ""; // 默认值
                    break;
            }
            if (string.IsNullOrEmpty(LEV))
                throw new Exception(item.SampleSizeNo + "的检验水平不正确");
            var sql =
                "SELECT " + LEV +
@@ -114,9 +123,15 @@
            var maxBillNo = db.Ado.SqlQuerySingle<string>(sql);
            if (string.IsNullOrEmpty(maxBillNo))
                throw new Exception(item.SampleSizeNo + "下的" + quantity +
                                    "这个范围下没有匹配到检验项目");
            var result = ExtractSubstring(item.FacLevel, '(', ')');
            if (string.IsNullOrEmpty(result))
                throw new Exception(item.SampleSizeNo + "下的" + quantity +
                                    "拒收水平不正确");
            sql = "SELECT FSAMPLE_SIZE_WORD, " + result +
                  " Result FROM MES_QM_AQL1 A LEFT JOIN MES_QM_AQL3 C ON C.AQL1_ID=A.ID WHERE A.SAMPLE_SIZE_NO= '" +
@@ -176,17 +191,11 @@
                .Where(x1 => x1.MainId == s.Id).Count();
            if (ifck > s.FreQty && s.CheckQyt == count)
            {
                s.FcheckResu = "不合格";
            }
            else if (ifck < s.FreQty && s.CheckQyt == count)
            {
                s.FcheckResu = "合格";
            }
            else
            {
                s.FcheckResu = "未完成";
            }
            var detail = new MesQaItemsDetectDetail12();
@@ -590,10 +599,7 @@
            var resultValue = outputResult.Value?.ToString();
            var messageValue = outputMessage.Value?.ToString();
            if ("1".Equals(resultValue))
            {
                throw new Exception(messageValue);
            }
            if ("1".Equals(resultValue)) throw new Exception(messageValue);
            return true;
        }