南骏 池
5 天以前 4910c0fa81d93635e19a57c073c3a62c76053320
service/QC/LljService.cs
@@ -1,9 +1,12 @@
using Microsoft.IdentityModel.Tokens;
using MES.Service.Models;
using Microsoft.IdentityModel.Tokens;
using NewPdaSqlServer.DB;
using NewPdaSqlServer.Dto.service;
using NewPdaSqlServer.entity;
using NewPdaSqlServer.entity.Base;
using NewPdaSqlServer.util;
using SqlSugar;
using static Azure.Core.HttpHeader;
namespace NewPdaSqlServer.service.QC;
@@ -23,16 +26,26 @@
        var totalCount = 0;
        var pageList = Db.Queryable<LLJView>()
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                "未完成".Equals(queryObj.result),
                a => (a.FcheckResu ?? "") == "")
            .WhereIF(
                StringUtil.IsNotNullOrEmpty(queryObj.result) &&
                !"未完成".Equals(queryObj.result),
                a => (a.FcheckResu ?? "") != "")
            //.WhereIF(
            //    StringUtil.IsNotNullOrEmpty(queryObj.result) &&
            //    "未完成".Equals(queryObj.result),
            //    a => (a.STATUS ?? "") != "已提交")
            //    //a => (a.FcheckResu ?? "") == ""|| (a.FcheckResu ?? "") == "检验中")
            //.WhereIF(
            //    StringUtil.IsNotNullOrEmpty(queryObj.result) &&
            //    !"未完成".Equals(queryObj.result),
            //    a => (a.STATUS ?? "") == "已提交")
            .WhereIF(!string.IsNullOrWhiteSpace(queryObj.keyword), a =>
                a.ItemNo.Contains(queryObj.keyword) ||
                a.ItemName.Contains(queryObj.keyword) ||
                a.LotNo.Contains(queryObj.keyword) ||
                a.ReleaseNo.Contains(queryObj.keyword) ||
                a.SuppName.Contains(queryObj.keyword)
            )
            .WhereIF(UtilityHelper.CheckGuid(parsedGuid),
                a => a.guid == parsedGuid)
                a => a.guid == parsedGuid )
            .Where(a => (a.fsubmit ?? 0) == 0)
            .OrderByDescending(a => a.CreateDate)
            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
@@ -59,7 +72,7 @@
                    FcheckItem = b.FcheckItem,
                    FdownAllow = b.FdownAllow,
                    FcheckLevel = b.FREQUENCY,
                    Fstand = Convert.ToInt32(b.FSTAND),
                    Fstand = b.FSTAND,
                    FupAllow = b.FupAllow,
                    SampleSizeNo = b.SampleSizeNo,
                    FenterQty = 0,
@@ -190,57 +203,41 @@
    {
        var parsedGuid = Guid.Empty;
        if (id != null)
        {
            var isValid = Guid.TryParse(id, out parsedGuid);
            if (!isValid)
                throw new ApplicationException("GUID转换错误");
        }
        var sql = string.Format(@"SELECT [a].[guid]           AS [Guid],
       [a].[parent_guid]    AS [ParentGuid],
       [a].[release_no]     AS [ReleaseNo],
       [a].[check_qyt]      AS [CheckQyt],
       [a].[fac_level]      AS [FacLevel],
       [a].[fcheck_item]    AS [FcheckItem],
       [a].[fcheck_tool]    AS [FcheckTool],
       [a].[fdown_allow]    AS [FdownAllow],
       [a].[fcheck_level]   AS [FcheckLevel],
       [a].[fstand]         AS [Fstand],
       [a].[fup_allow]      AS [FupAllow],
       [a].[sample_size_no] AS [SampleSizeNo],
       [a].[fspec_requ]     AS [FspecRequ],
       [a].[fre_qty]        AS [FreQty],
       N'1000'              AS [Factory],
       N'1000'              AS [Company],
       COUNT([b].[guid])    AS [FenterQty],
       [a].[fcheck_resu]    AS [FcheckResu],
       [a].[forder]         AS [Order],
       [a].[ybsl]           AS [Ybsl],
       ISNULL((SELECT COUNT(1)
FROM MES_QA_ITEMS_DETECT_DETAIL13 C
WHERE C.parent_guid = A.guid),0) AS [YbslIn]
FROM [MES_QA_ITEMS_DETECT_DETAIL5] [a]
         Left JOIN [MES_QA_ITEMS_DETECT_DETAIL12] [b] ON ([a].[guid] = [b].[parent_guid])
WHERE ([a].[release_no] = N'{0}')
GROUP BY [a].[guid], [a].[parent_guid], [a].[release_no], [a].[fac_level], [a].[fcheck_item], [a].[fcheck_tool],
         [a].[fdown_allow], [a].[fcheck_level], [a].[fstand], [a].[fup_allow], [a].[sample_size_no], [a].[fspec_requ],
         [a].[fre_qty], [a].[check_qyt], [a].[fcheck_resu], [a].[forder], [a].[ybsl]
ORDER BY [a].[forder] ASC", releaseNo);
        return Db.Queryable<MesQaItemsDetectDetail5, MesQaItemsDetectDetail12>(
                (a, b) =>
                    new JoinQueryInfos(JoinType.Left, a.Guid == b.ParentGuid))
            .Where((a, b) => a.ReleaseNo == releaseNo)
            .WhereIF(UtilityHelper.CheckGuid(parsedGuid),
                (a, b) => a.Guid == parsedGuid)
            .GroupBy((a, b) => new
            {
                a.Guid,
                a.ParentGuid,
                a.ReleaseNo,
                a.FacLevel,
                a.FcheckItem,
                a.FcheckTool,
                a.FdownAllow,
                a.FcheckLevel,
                a.Fstand,
                a.FupAllow,
                a.SampleSizeNo,
                a.FspecRequ,
                a.FreQty,
                a.CheckQyt,
                a.FcheckResu
            }).Select((a, b) => new MesQaItemsDetectDetail5
            {
                Guid = a.Guid,
                ParentGuid = a.ParentGuid,
                ReleaseNo = a.ReleaseNo,
                CheckQyt = a.CheckQyt,
                FacLevel = a.FacLevel,
                FcheckItem = a.FcheckItem,
                FcheckTool = a.FcheckTool,
                FdownAllow = a.FdownAllow,
                FcheckLevel = a.FcheckLevel,
                Fstand = a.Fstand,
                FupAllow = a.FupAllow,
                SampleSizeNo = a.SampleSizeNo,
                FspecRequ = a.FspecRequ,
                FreQty = a.FreQty,
                Factory = "1000",
                Company = "1000",
                FenterQty = SqlFunc.AggregateCount(b.Guid),
                FcheckResu = a.FcheckResu
            }).ToList();
        var Ybsl_In = Db.Ado.SqlQuery<MesQaItemsDetectDetail5>(sql).ToList();
        return Ybsl_In;
    }
    public int SetQSItemDetail(MesQaItemsDetectDetail12 detail)
@@ -253,6 +250,7 @@
                var item = new MesQaItemsDetectDetail12();
                item.ParentGuid = detail.ParentGuid;
                item.GrandpaGuid = detail.GrandpaGuid;
                item.FcheckItem = detail.FcheckItem;
                item.Fstand = detail.Fstand;
                item.FcheckResu = detail.FcheckResu;
                item.CreateBy = detail.LastupdateBy;
@@ -260,7 +258,7 @@
                result.Add(item);
            }
            return db.Insertable(result).IgnoreColumns(true).ExecuteCommand();
            return db.Insertable(result).PageSize(1).IgnoreColumnsNull().ExecuteCommand();
        });
        detail.CreateBy = detail.LastupdateBy;
@@ -312,6 +310,7 @@
                commit += db.Updateable<MesQaItemsDetectDetail5>()
                    .SetColumns(s => s.FcheckResu == result)
                    .SetColumns(s => s.FenterQty == count)
                    .SetColumns(s => s.FngRate == (s.CheckQyt == 0 ? (decimal?)null : (decimal?)(Convert.ToDouble(noCount) / Convert.ToDouble(count))))
                    .Where(s => s.Guid == detail.ParentGuid)
                    .ExecuteCommand();
@@ -451,9 +450,7 @@
            if (qsItemOqcItem.FupAllow.IsNullOrEmpty()
                && qsItemOqcItem.FdownAllow.IsNullOrEmpty()
                && qsItemOqcItem.Fstand == null)
            {
                mesQaItemsDetectDetail12.isNumber = false;
            }
        }
        return rkjDto;
@@ -579,7 +576,7 @@
            throw new Exception("该检验单已提交");
        if (mesQaItemsDetect01.FcheckDate == null)
            throw new Exception("该检测单未输入检验日期,请核对。");
            throw new Exception("该检测单没有检验完成,请核对。");
        if (mesQaItemsDetect01.FcheckBy.IsNullOrEmpty())
            throw new Exception("该检测单未输入检验人员,请核对。");
@@ -707,4 +704,27 @@
        return [isNullCount, isNotNullCount];
    }
    //删除特征值
    public int deleteDetail13(LLJDto dto)
    {
        var withOracle = Db.Deleteable<MesQaItemsDetectDetail13>()
                .Where(s => s.Guid.ToString() == dto.id13)
                .ExecuteCommand();
        return withOracle;
    }
    //更新不合格描述
    public int updateRemarks(LLJDto dto)
    {
        var withOracle = Db.Updateable<MesQaItemsDetect01>()
                .SetColumns(s => s.FngDesc == dto.Remarks)
                .Where(s => s.Guid.ToString() == dto.gid)
                .ExecuteCommand();
        return withOracle;
    }
}