啊鑫
5 天以前 2ba5117206c152cece2e5ac40067a6232dfb2870
WebApi/Gs.Report/XlsInOutController.cs
@@ -27,6 +27,70 @@
    }
    /// <summary>
    /// 通用存储过程执行方法
    /// </summary>
    private DataSet RunProcedure(string procName, IDictionary<string, object> paramDict)
    {
        var dset = new DataSet();
        using (var conn = new SqlConnection(DbHelperSQL.strConn))
        {
            using (var comm = new SqlCommand(procName, conn))
            {
                comm.CommandType = CommandType.StoredProcedure;
                // 动态添加参数
                foreach (var kvp in paramDict)
                {
                    comm.Parameters.AddWithValue("@" + kvp.Key, kvp.Value == null? DBNull.Value : kvp.Value.ToString());
                }
                using (var adapter = new SqlDataAdapter(comm))
                {
                    adapter.Fill(dset, "0");
                }
            }
        }
        return dset;
    }
    [RequestMethod(RequestMethods.POST)]
    public ReturnDto<ExpandoObject> XlsOutView_NEW([FromBody] dynamic mode)
    {
        string rptParameter = mode.outParameter;
        var paramDict = new Dictionary<string, object>();
        // 动态解析参数
        if (mode.outParams != null)
        {
            foreach (var prop in mode.outParams)
            {
                string name = prop.Name;
                object value = prop.Value;
                paramDict.Add(name, value);
            }
        }
        var _pdfFloder = AppSettingsHelper.getValueByKey("DownPath");
        var _pdfName = Guid.NewGuid() + ".xls";
        var _pdfSaveFolder = Path.Combine(AppContext.BaseDirectory, _pdfFloder);
        if (!Directory.Exists(_pdfSaveFolder))
            Directory.CreateDirectory(_pdfSaveFolder);
        var pdfSavePath = Path.Combine(_pdfSaveFolder, _pdfName);
        dynamic m = new ExpandoObject();
        try
        {
            var dset = RunProcedure(rptParameter, paramDict);
            if (dset == null || dset.Tables.Count <= 0)
                return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Exception, "没有查询到任何数据");
            var ary = new ArrayList();
            ExcelHelper.ExportAryHead(dset.Tables[0], ary, pdfSavePath);
            m.fileUrl = "down/" + _pdfName;
            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "读取成功!");
        }
        catch (Exception ex)
        {
            LogHelper.Debug(ToString(), ex.Message);
            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Exception, "读取失败," + ex.Message);
        }
    }
    /// <summary>
    /// 数据导出,需要存储过程支撑,目前没用到
    /// </summary>
    /// <param name="mode"></param>
@@ -68,7 +132,6 @@
                        dt.Fill(dset, "0");
                    }
                }
                conn.Close();
            }
@@ -205,7 +268,7 @@
    [RequestMethod(RequestMethods.POST)]
    public ReturnDto<ExpandoObject> XlsOutXunJian([FromBody] dynamic mode)
    {
        string begDate = mode.begDate;
        string guid = mode.guid;
        var _pdfFloder = AppSettingsHelper.getValueByKey("DownPath");
        var _pdfName = Guid.NewGuid() + ".xls";
        var _pdfSaveFolder = Path.Combine(AppContext.BaseDirectory, _pdfFloder);
@@ -216,7 +279,7 @@
        //读数据
        var dset = new DataSet();
        SqlParameter[] parameters ={
            new("@begDate", begDate),
            new("@inMainGuid", guid),
            new("@inP1", ""),
            new("@inP2", ""),
            new("@inP3", ""),
@@ -241,6 +304,49 @@
        }
    }
    /// <summary>
    /// 导出成品检验报告
    /// </summary>
    /// <param name="mode"></param>
    /// <returns></returns>
    [RequestMethod(RequestMethods.POST)]
    public ReturnDto<ExpandoObject> XlsOutChengPin([FromBody] dynamic mode)
    {
        string guid = mode.guid;
        var _pdfFloder = AppSettingsHelper.getValueByKey("DownPath");
        var _pdfName = Guid.NewGuid() + ".xls";
        var _pdfSaveFolder = Path.Combine(AppContext.BaseDirectory, _pdfFloder);
        if (!Directory.Exists(_pdfSaveFolder))
            Directory.CreateDirectory(_pdfSaveFolder);
        var pdfSavePath = Path.Combine(_pdfSaveFolder, _pdfName);
        dynamic m = new ExpandoObject();
        //读数据
        var dset = new DataSet();
        SqlParameter[] parameters ={
            new("@inMainGuid", guid),
            new("@inP1", ""),
            new("@inP2", ""),
            new("@inP3", ""),
            new("@inP4", "")};
        try
        {
            dset = DbHelperSQL.RunProcedure("[xlsOutChengPin]", parameters, "0");
            if (dset == null || dset.Tables.Count <= 0)
                return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Exception,
                    "没有查询到任何数据");
            var ary = new ArrayList();
            ExcelHelper.ExportChengPin(dset, pdfSavePath);
            m.fileUrl = "down/" + _pdfName;
            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success,
                "读取成功!");
        }
        catch (Exception ex)
        {
            LogHelper.Debug(ToString(), ex.Message);
            return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Exception,
                "读取失败," + ex.Message);
        }
    }
    #endregion
@@ -412,6 +518,7 @@
                {
                    rtnInt = -1;
                    sbMsg.Append("操作失败:" + ex.Message);
                    LogHelper.Debug("", "XlsInDaaHgm:" + ex.Message);
                }
                finally
                {
@@ -466,7 +573,7 @@
                    cmd.CommandType = CommandType.StoredProcedure;
                    SqlParameter[] parameters = new SqlParameter[] {
                                new SqlParameter("@outGuid",SqlDbType.NVarChar,100),
                                new SqlParameter("@outMsg",SqlDbType.NVarChar,300),
                                new SqlParameter("@outMsg",SqlDbType.NVarChar,1200),
                                new SqlParameter("@inEdtUserGuid",_userGuid),
                                new SqlParameter("@tmpGuid",tmpGuid),
                                new SqlParameter("@strType",strType),
@@ -483,8 +590,7 @@
                catch (Exception ex)
                {
                    rtnInt = -1;
                    LogHelper.Debug(this.ToString(), "XlsInItemJyxm:" + ex.Message);
                    sbMsg.Append("操作失败:" + ex.Message);
                    sbMsg.Append("操作失败1:" + ex.Message);
                }
                finally
                {
@@ -518,7 +624,6 @@
        {
            _it = 0;
            _msg = "操作失败:读取文件时发生错误:" + ex.Message;
            LogHelper.Debug("", "XlsInItemJyxm:" + ex.Message);
        }
        if (string.IsNullOrEmpty(files))
@@ -537,6 +642,7 @@
        {
            _it = 0;
            _msg = "操作失败,ExcelToTable读取上传文件发生错误:" + ex.Message;
            LogHelper.Debug("", "getTable:" + ex.Message);
        }
        dt.Columns.Add("tmpGuid", Type.GetType("System.Guid"));
        dt.Columns.Add("tmpIdx", Type.GetType("System.String"));
@@ -568,10 +674,8 @@
                catch (Exception ex)
                {
                    _it = 0;
                    LogHelper.Debug("", "getTable:" + ex.Message);
                    _msg = "操作失败,bulkCopy读取上传文件发生错误:" + ex.Message;
                    LogHelper.Debug("", "XlsInItemJyxm:" + ex.Message);
                }
            }
        }