fcx
2025-12-02 02893d929e7d2b650dc32ff14e6b12e6ca39dc75
StandardPda/MESApplication/Controllers/QC/SJController.cs
@@ -6,9 +6,12 @@
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using SixLabors.ImageSharp.Drawing;
using SqlSugar;
using System.Collections.Generic;
using System.Data;
using System.Dynamic;
using DbType = System.Data.DbType;
namespace MESApplication.Controllers.QC;
@@ -447,7 +450,79 @@
            dynamic resultInfos = new ExpandoObject();
            var tbBillList = new SJService().SJQaSubmit(rkjDto);
            resultInfos.tbBillList = tbBillList;
            //=================  判断检验合格生成巡检单 =========
            var sqlPass1 = $@"
    SELECT
        IS_PASS
    FROM QS_ITEM_IPI_REQ
    WHERE  ID = '{rkjDto.gid}'
     ";
            var dtPass1 = SQLHelper.ExecuteQuery(sqlPass1);
            var sqlPass3 = $@"select C.ID from QS_ITEM_IPI_REQ A
LEFT JOIN  V_MES_SJ B on b.BILL_NO = A.BILL_NO
LEFT JOIN WOMDAA C on C.DAA001 = B.DAA001
WHERE A.ID = '{rkjDto.gid}'
";
            var dtPass3 = SQLHelper.ExecuteQuery(sqlPass3);
            var value4 = dtPass3.Rows[0][0];
            int sqlPass2 = Convert.ToInt32(value4);
            bool isPass = false;
            if (dtPass1 != null && dtPass1.Rows.Count > 0)
            {
                var value = dtPass1.Rows[0]["IS_PASS"]?.ToString();
                // 判断为合格(IS_PASS = 1)
                if (value == "1")
                {
                    isPass = true;
                }
            }
            // 如果合格,执行存储过程
            if (isPass)
            {
                var db = SqlSugarHelper.GetInstance();
                // ===== 输出参数 =====
                var outFlag = new SugarParameter("P_FLAG", null,
                    DbType.Int32, ParameterDirection.Output, 10);
                var outText = new SugarParameter("P_TEXT", null,
                    DbType.String, ParameterDirection.Output, 4000);
                // ===== 输入参数 =====
                var parameters = new List<SugarParameter>
    {
        new SugarParameter("P_ID", sqlPass2, DbType.Int64, ParameterDirection.Input),
        new SugarParameter("P_USER", rkjDto.userNo, DbType.String, ParameterDirection.Input),
        new SugarParameter("P_ISH", 0, DbType.Int64, ParameterDirection.Input),
        // 输出参数必须带上
        outFlag,
        outText
    };
                // ===== 执行存储过程 =====
                db.Ado.ExecuteCommand(
                    "BEGIN PRC_XJ_GENERATE(:P_ID, :P_USER, :P_ISH, :P_FLAG, :P_TEXT); END;",
                    parameters);
                // ===== 读取输出参数并转换成 ResponseResult =====
                var result = new ResponseResult
                {
                    status = outFlag.Value?.ToString() == "1" ? 1 : 0, // 0 表示成功,1 表示失败
                    message = outText.Value?.ToString()
                };
                return result;
            }
            return new ResponseResult
            {
                status = 0,
@@ -455,6 +530,7 @@
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
@@ -462,6 +538,15 @@
    }
    /// <summary>
    ///     获取一致性核对项目
    /// </summary>