hao
2025-07-17 c5f74c8471358dbfb6977f4d9d392b656c31a16a
StandardInterface/MES.Service/service/QC/LljService.cs
@@ -65,20 +65,12 @@
                        .Contains(queryObj.SearchValue.ToLower())
                     || a.ItemModel.ToLower()
                        .Contains(queryObj.SearchValue.ToLower()))
            .OrderByDescending((a, b,
                    e, f, g, i) => a.Id)
            //.Select((a, b,
            //        e, f, g, i) => new LtsLlj
            //        {
            //            //UserName = g.Fname,
            //            //UserName = (i.Fname!=null ||i.Fname!="") ? i.Fname : g.Fname,
            //            UserName = i.Fname != null || i.Fname != "" ? i.Fname : g.Fname,
            //            CreateUserName = e.Fname
            //        }, true)
            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
            //  .OrderByDescending((a, b,
        var emergencyValues = pageList.Select(item => item.EMERGENCY).ToList();
        //return (pageList, totalCount);
            .OrderBy("CASE WHEN a.STATUS = '已提交' THEN 0 ELSE 1 END, a.IQC_DATE desc, a.ID asc")
            .ToPageList(queryObj.PageIndex, queryObj.Limit, ref totalCount);
        var emergencyValues = pageList.Select(item => item.EMERGENCY).ToList();
        return (pageList, totalCount);
    }
@@ -128,14 +120,104 @@
    }
    //紧急放行
    //public string[] EmergencyRelease(int id)
    //{
    //    var db = SqlSugarHelper.GetInstance();
    //    int emergencyStatus = db.Queryable<MesQaItemsDetect01>()
    //                            .Where(t => t.Id == id)
    //                            .Select(t => t.EMERGENCY)
    //                            .First();
    //    if (emergencyStatus != 0)
    //    {
    //        return new string[] { "1", "非紧急状态,无法执行紧急放行" };
    //    }
    //    var outputResult = new SugarParameter("PO_RESULT", null,
    //        DbType.Int32, ParameterDirection.Output, 4000);
    //    var outputMessage = new SugarParameter("PO_MSG", null,
    //        DbType.String, ParameterDirection.Output, 4000);
    //    var parameters = new List<SugarParameter>
    //{
    //    new("P_ID", id, DbType.Int32, ParameterDirection.Input),
    //    outputResult,
    //    outputMessage
    //};
    //    db.Ado.ExecuteCommand(
    //        "BEGIN prc_MES_QA_ITEMS_update1(:P_ID, :PO_RESULT, :PO_MSG); END;",
    //        parameters.ToArray());
    //    var lotNo1 = db.Queryable<MesQaItemsDetect01>()
    //               .Where(t => t.Id == id)
    //               .Select(t => t.LotNo1)
    //               .First();
    //    var resultValue = outputResult.Value?.ToString();
    //    var messageValue = outputMessage.Value?.ToString();
    //    return new string[] { resultValue, messageValue, lotNo1?.ToString() ?? "" };
    //}
    //public string[] WithdrawEmergencyRelease(int id)
    //{
    //    var db = SqlSugarHelper.GetInstance();
    //    int emergencyStatus = db.Queryable<MesQaItemsDetect01>()
    //                            .Where(t => t.Id == id)
    //                            .Select(t => t.EMERGENCY)
    //                            .First();
    //    if (emergencyStatus != 0)
    //    {
    //        return new string[] { "1", "非紧急状态,无需撤回" };
    //    }
    //    var outputResult = new SugarParameter("PO_RESULT", null,
    //        DbType.Int32, ParameterDirection.Output, 4000);
    //    var outputMessage = new SugarParameter("PO_MSG", null,
    //        DbType.String, ParameterDirection.Output, 4000);
    //    var parameters = new List<SugarParameter>
    //{
    //    new("P_ID", id, DbType.Int32, ParameterDirection.Input),
    //    outputResult,
    //    outputMessage
    //};
    //    db.Ado.ExecuteCommand(
    //        "BEGIN prc_MES_QA_ITEMS_update2(:P_ID, :PO_RESULT, :PO_MSG); END;",
    //        parameters.ToArray());
    //    var lotNo1 = db.Queryable<MesQaItemsDetect01>()
    //               .Where(t => t.Id == id)
    //               .Select(t => t.LotNo1)
    //               .First();
    //    var resultValue = outputResult.Value?.ToString();
    //    var messageValue = outputMessage.Value?.ToString();
    //    return new string[] { resultValue, messageValue, lotNo1?.ToString() ?? "" };
    //}
    public string[] EmergencyRelease(int id)
    {
        var db = SqlSugarHelper.GetInstance();
        int emergencyStatus = db.Queryable<MesQaItemsDetect01>()
        int emergencyStatus = db.Queryable<MesQaItemsDetect01>()
                                .Where(t => t.Id == id)
                                .Select(t => t.EMERGENCY)
                                .Select(t => t.EMERGENCY)
                                .First();
        if (emergencyStatus != 0)
@@ -143,7 +225,7 @@
            return new string[] { "1", "非紧急状态,无法执行紧急放行" };
        }
        var outputResult = new SugarParameter("PO_RESULT", null,
            DbType.Int32, ParameterDirection.Output, 4000);
@@ -175,10 +257,10 @@
    {
        var db = SqlSugarHelper.GetInstance();
        int emergencyStatus = db.Queryable<MesQaItemsDetect01>()
        int emergencyStatus = db.Queryable<MesQaItemsDetect01>()
                                .Where(t => t.Id == id)
                                .Select(t => t.EMERGENCY)
                                .Select(t => t.EMERGENCY)
                                .First();
        if (emergencyStatus != 0)
@@ -207,12 +289,12 @@
                   .Where(t => t.Id == id)
                   .Select(t => t.LotNo1)
                   .First();
        var resultValue = outputResult.Value?.ToString();
        var messageValue = outputMessage.Value?.ToString();
        return new string[] { resultValue, messageValue, lotNo1?.ToString() ?? "" };
    }
    }
    private string ExtractSubstring(string input, char startChar, char endChar)
    {
@@ -229,6 +311,31 @@
        return input.Substring(startIndex + 1, length);
    }
    public List<QamftpDto> GetAttachments(string releaseNo)
    {
        var db = SqlSugarHelper.GetInstance();
        return db.Queryable<MesQamftp>()
            .Where(x => x.ReleaseNo == releaseNo)
            .OrderBy(x => x.Fdate, OrderByType.Desc)
            .Select(x => new QamftpDto
            {
                Id = x.Id,
                ItemNo = x.ItemNo,
                Ftype = x.Ftype,
                Fattach = x.Fattach,
                Fversion = x.Fversion,
                Fdate = x.Fdate,
                CreateBy = x.CreateBy,
                CreateDate = x.CreateDate,
                Company = x.Company,
                Factory = x.Factory,
                ReleaseNo = x.ReleaseNo,
                F_type = x.F_type,
                LastupdateBy = x.LastupdateBy,
                LastupdateDate = x.LastupdateDate,
                ItemId = x.ItemId
            }).ToList();
    }
    public int saveItem(LLJDto rkjDto)
    {
        var items = rkjDto.items;
@@ -305,7 +412,9 @@
                a.FreQty,
                a.CheckQyt,
                a.FcheckResu,
                a.FcheckItemDesc,a.Funit
                a.FcheckItemDesc,
                a.Funit,
                a.Meom
            }).Select((a, b) => new MesQaItemsDetectDetail5
            {
                Id = a.Id,
@@ -327,7 +436,8 @@
                FcheckResu = a.FcheckResu,
                // FcheckItemDesc = a.FcheckItemDesc
                FcheckItemDesc = a.FspecRequ,
                Funit  =a.Funit
                Funit = a.Funit,
                Meom = a.Meom,
            }).ToList();
    }
@@ -589,6 +699,7 @@
            return db.Updateable<MesQaItemsDetect01>()
                .SetColumns(it =>
                    it.FngDesc == dto.Remarks) //SetColumns是可以叠加的 写2个就2个字段赋值
                .SetColumns(it => it.PHSY == dto.PHSY)//破坏实验数
                .Where(it => it.ReleaseNo == dto.releaseNo)
                .ExecuteCommand();
        });
@@ -600,8 +711,11 @@
        return SqlSugarHelper.UseTransactionWithOracle(db =>
        {
            return db.Updateable<MesQaItemsDetectDetail5>()
                 .SetColumns(it =>
                     it.Funit == dto.Remarks) //SetColumns是可以叠加的 写2个就2个字段赋值
                .SetColumns(it => new MesQaItemsDetectDetail5
                {
                    Funit = dto.Remarks,
                    Meom = dto.Meom
                })
                .Where(it => it.Id == dto.pid)
                .ExecuteCommand();
        });