南骏 池
2025-05-30 0455bf50d8721a65437c1e9a5477d64499761502
1.首检功能”制热性能“表格生成。
已修改2个文件
189 ■■■■ 文件已修改
Controllers/QC/IpqcController.cs 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service/QC/IpqcService.cs 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Controllers/QC/IpqcController.cs
@@ -138,4 +138,69 @@
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("GetTableConfig")]
    public ResponseResult GetTableConfig([FromBody] dynamic query)
    {
        try
        {
            if (query.mxguid == null)
                throw new ArgumentException("明细记录GUID不能为空");
            var configData = m.GetTableConfig(query.mxguid?.ToString());
            if (configData == null)
                throw new Exception("未找到相关配置信息");
            dynamic resultInfos = new ExpandoObject();
            resultInfos.selectedWater = configData.ipqc_zrxn_sel1;
            resultInfos.selectedFlow = configData.ipqc_zrxn_sel2;
            resultInfos.tableData = configData.ipqc_zrxn_table;
            return new ResponseResult
            {
                status = 0,
                message = "OK",
                data = resultInfos
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
    [HttpPost("SaveTableConfig")]
    public ResponseResult SaveTableConfig([FromBody] dynamic query)
    {
        try
        {
            // 参数校验
            if (query.mxguid == null)
                throw new ArgumentException("明细记录GUID不能为空");
            if (query.selectedWater == null || query.selectedFlow == null)
                throw new ArgumentException("检测项目配置不能为空");
            // 执行SQL更新
            var affectedRows = m.UpdateTableConfig(
                query.selectedWater?.ToString(),
                query.selectedFlow?.ToString(),
                Newtonsoft.Json.JsonConvert.SerializeObject(query.tableData),
                query.mxguid?.ToString()
            );
            return new ResponseResult
            {
                status = affectedRows > 0 ? 0 : 1,
                message = affectedRows > 0 ? "配置保存成功" : "无数据更新",
                data = new { updated = affectedRows }
            };
        }
        catch (Exception ex)
        {
            return ResponseResult.ResponseError(ex);
        }
    }
}
service/QC/IpqcService.cs
@@ -169,58 +169,94 @@
    public dynamic CreateByWomdaa(dynamic query)
{
    if (query == null) throw new ArgumentNullException(nameof(query));
    if (string.IsNullOrEmpty(query.userAccount?.ToString()))
        throw new ArgumentException("用户账号不能为空", nameof(query.userAccount));
    if (string.IsNullOrEmpty(query.inOrderGuid1?.ToString()))
        throw new ArgumentException("检验单GUID不能为空", nameof(query.inOrderGuid1));
        if (string.IsNullOrEmpty(query.DAA001?.ToString()))
            throw new ArgumentException("工单号不能为空", nameof(query.inOrderGuid1));
        var _strMsg = "";
    var _status = -1;
    using (var conn = new SqlConnection(DbHelperSQL.strConn))
    using (var cmd = new SqlCommand("ipqc_createByWomdaa", conn))
    {
        try
        if (query == null) throw new ArgumentNullException(nameof(query));
        if (string.IsNullOrEmpty(query.userAccount?.ToString()))
            throw new ArgumentException("用户账号不能为空", nameof(query.userAccount));
        if (string.IsNullOrEmpty(query.inOrderGuid1?.ToString()))
            throw new ArgumentException("检验单GUID不能为空", nameof(query.inOrderGuid1));
            if (string.IsNullOrEmpty(query.DAA001?.ToString()))
                throw new ArgumentException("工单号不能为空", nameof(query.inOrderGuid1));
            var _strMsg = "";
        var _status = -1;
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        using (var cmd = new SqlCommand("ipqc_createByWomdaa", conn))
        {
            conn.Open();
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter[] parameters =
            try
            {
                new("@po_outMsg", SqlDbType.NVarChar, 150) { Direction = ParameterDirection.Output },
                new("@po_outStatus", SqlDbType.Int) { Direction = ParameterDirection.Output },
                new("@pi_user", SqlDbType.NVarChar, 150) { Value = query.userAccount },
                new("@pi_OrderGuid1", SqlDbType.UniqueIdentifier) { Value = Guid.Parse(query.inOrderGuid1.ToString()) },
                new("@pi_DAA001", SqlDbType.NVarChar, 150) { Value = query.DAA001.ToString() },
                new("@pi_inP1", SqlDbType.NVarChar, 20) { Value = query.pi_inP1 ?? DBNull.Value },
                new("@pi_inP2", SqlDbType.NVarChar, 20) { Value = query.pi_inP2 ?? DBNull.Value }
            };
                conn.Open();
                cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddRange(parameters);
            cmd.ExecuteNonQuery();
                SqlParameter[] parameters =
                {
                    new("@po_outMsg", SqlDbType.NVarChar, 150) { Direction = ParameterDirection.Output },
                    new("@po_outStatus", SqlDbType.Int) { Direction = ParameterDirection.Output },
                    new("@pi_user", SqlDbType.NVarChar, 150) { Value = query.userAccount },
                    new("@pi_OrderGuid1", SqlDbType.UniqueIdentifier) { Value = Guid.Parse(query.inOrderGuid1.ToString()) },
                    new("@pi_DAA001", SqlDbType.NVarChar, 150) { Value = query.DAA001.ToString() },
                    new("@pi_inP1", SqlDbType.NVarChar, 20) { Value = query.pi_inP1 ?? DBNull.Value },
                    new("@pi_inP2", SqlDbType.NVarChar, 20) { Value = query.pi_inP2 ?? DBNull.Value }
                };
            _strMsg = parameters[0].Value?.ToString() ?? "";
            _status = Convert.ToInt32(parameters[1].Value ?? -1);
                cmd.Parameters.AddRange(parameters);
                cmd.ExecuteNonQuery();
            if (_status <= 0) throw new Exception(_strMsg);
                _strMsg = parameters[0].Value?.ToString() ?? "";
                _status = Convert.ToInt32(parameters[1].Value ?? -1);
            return new
                if (_status <= 0) throw new Exception(_strMsg);
                return new
                {
                    message = _strMsg,
                    status = _status
                };
            }
            catch (Exception ex)
            {
                message = _strMsg,
                status = _status
            };
        }
        catch (Exception ex)
        {
            throw new Exception($"检验单更新失败:{ex.Message}");
                throw new Exception($"检验单更新失败:{ex.Message}");
            }
        }
    }
}
    public int UpdateTableConfig(string selectedWater, string selectedFlow, string tableData, string mxguid)
    {
        var sqlParams = new List<SugarParameter> {
            new("@selectedWater", selectedWater),
            new("@selectedFlow", selectedFlow),
            new("@tableData", tableData),
            new("@mxguid", mxguid)
        };
        var sql = @"UPDATE MES_QA_ITEMS_DETECT_DETAIL5
                    SET ipqc_zrxn_sel1 = @selectedWater,
                        ipqc_zrxn_sel2 = @selectedFlow,
                        ipqc_zrxn_table = @tableData
                    WHERE guid = @mxguid";
        return Db.Ado.ExecuteCommand(sql, sqlParams);
    }
    public dynamic GetTableConfig(string mxguid)
    {
        var sqlParams = new List<SugarParameter> {
            new("@mxguid", mxguid)
        };
        var sql = @"SELECT ipqc_zrxn_sel1,ipqc_zrxn_sel2,ipqc_zrxn_table
                    FROM MES_QA_ITEMS_DETECT_DETAIL5
                    WHERE guid = @mxguid";
        var result = Db.Ado.SqlQuery<dynamic>(sql, sqlParams).FirstOrDefault();
        if (result == null)
            throw new Exception("配置信息查询结果为空");
        return result;
    }
}