コード例 #1
0
ファイル: Checker.cs プロジェクト: limin664043519/TJClient
 public static bool DoFileIsExcute(string clientUser)
 {
     try
     {
         lock (upLocker)
         {
             //获取数据处理的状态
             DBOracle dboracle = new DBOracle();
             //CLCXZT 处理程序状态  1停止   2运行中
             DataTable dt = dboracle.ExcuteDataTable_oracle("select * from T_JK_CXZT where CLCXZT='2' ");
             if (dt != null && dt.Rows.Count > 0)
             {
                 TxtLogger.Debug(string.Format("{0}:[{1}{2}]", "DoFileIsExcute", clientUser, "程序已经启动"));
                 //程序正在执行中
                 return(true);
             }
             else
             {
                 //处理程序没有执行,启动处理程序
                 string sql_Insert = string.Format("insert into T_JK_CXZT(CLCXBM,CLCXSM,CLCXZT,CZY,KSSJ)values('{0}','{1}','{2}','{3}','{4}') ", clientUser, clientUser, "2", clientUser, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"));
                 //从数据库中获取数据状态
                 //DBOracle dboracle = new DBOracle();
                 int insertResult = dboracle.ExecuteNonQuery_oracle(sql_Insert);
                 TxtLogger.Debug(string.Format("{0}:[{1}{2}]", "DoFileIsExcute", clientUser, "程序正常启动"));
                 return(false);
             }
         }
     }
     catch (Exception ex)
     {
         TxtLogger.Error(string.Format("{0}:[{1}{2}]:[{3}]", "DoFileIsExcute", clientUser, "设定程序启动状态错误", ex.Message));
         throw new Exception(string.Format("DoFileIsExcute:设定程序启动状态错误:{0}", ex.Message));
     }
 }
コード例 #2
0
ファイル: ExcelToDb.cs プロジェクト: limin664043519/TJClient
        /// <summary>
        /// 调用存储过程将临时表中的数据添加到正式表中
        /// </summary>
        /// <param name="clientUser"></param>
        /// <param name="GuidStr"></param>
        /// <param name="yljgbm"></param>
        /// <returns></returns>
        public static bool ExecuteProCreateData(string clientUser, string GuidStr, string yljgbm)
        {
            try
            {
                // 从名称可以直接看出每个参数的含义,不在每个解释了
                OracleParameter[] OracleParameters = new OracleParameter[2];

                OracleParameters[0] = new OracleParameter("GuidCode", OracleDbType.Varchar2); //数据的标志
                OracleParameters[1] = new OracleParameter("v_yljgbm", OracleDbType.Varchar2); //医疗机构编码

                //指明参数是输入还是输出型
                OracleParameters[0].Direction = ParameterDirection.Input;
                OracleParameters[1].Direction = ParameterDirection.Input;

                //给参数赋值
                OracleParameters[0].Value = GuidStr;
                OracleParameters[1].Value = yljgbm;
                DBOracle dboracle = new DBOracle();
                dboracle.ExecuteProNonQuery_oracle("UploadGwtjData", OracleParameters);
                return(true);
            }
            catch (Exception ex)
            {
                throw new Exception("调用存储过程将临时表中的数据添加到正是表中发生异常!" + ex.Message);
                //throw ex;
            }
        }
コード例 #3
0
ファイル: ExcelToDb.cs プロジェクト: limin664043519/TJClient
        /// <summary>
        /// 数据导入到数据库中
        /// </summary>
        private static void MultiInsertData(DataTable dt, string tableName)
        {
            try
            {
                string dbFilds = "";

                if (dt == null || dt.Rows.Count == 0)
                {
                    return;
                }

                // 从名称可以直接看出每个参数的含义,不在每个解释了
                OracleParameter[] OracleParameters = new OracleParameter[dt.Columns.Count];
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    dbFilds = dbFilds + string.Format(",:{0}", dt.Columns[i].ColumnName);
                    string[] A = new string[dt.Rows.Count];
                    for (int j = 0; j < dt.Rows.Count; j++)
                    {
                        A[j] = dt.Rows[j][i].ToString();
                    }
                    OracleParameter Param = new OracleParameter(dt.Columns[i].ColumnName, OracleDbType.Varchar2);
                    Param.Direction     = ParameterDirection.Input;
                    Param.Value         = A;
                    OracleParameters[i] = Param;
                }
                DBOracle dboracle = new DBOracle();
                string   sql      = string.Format("insert into {0}({1}) values({2})", tableName, dbFilds.Substring(1).Replace(":", ""), dbFilds.Substring(1));
                dboracle.MultiInsertData(dt.Rows.Count, sql, OracleParameters);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #4
0
ファイル: Checker.cs プロジェクト: limin664043519/TJClient
        public static int ChangeExcuteStatus()
        {
            string sql_update = string.Format("update T_JK_CXZT set CLCXZT='1' ,KSSJ='{0}' where CLCXZT='2'  ", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"));
            //更新数据库中数据状态
            DBOracle dboracle = new DBOracle();

            return(dboracle.ExecuteNonQuery_oracle(sql_update));
        }
コード例 #5
0
    private DataTable GetExecuteSqlDbData(string sql, string tableName)
    {
        DBOracle  dboracle = new DBOracle();
        DataTable dt       = dboracle.ExcuteDataTable_oracle(sql);

        dt.TableName = tableName;
        return(dt);
    }
コード例 #6
0
ファイル: DBLogger.cs プロジェクト: limin664043519/TJClient
        private static DataTable GetLoggerInfos(string czy)
        {
            string sql = string.Format("select ip,czy,info,createdate,guid,status from T_JK_CLIENTUPLOADINFOS where czy='{0}' " +
                                       "and to_char(to_date(createdate,'yyyy-mm-dd hh24:mi:ss'),'dd')=to_char(sysdate,'dd') " +
                                       "order by to_date(createdate,'yyyy-mm-dd hh24:mi:ss') asc,rowid asc", czy);
            DBOracle  db = new DBOracle();
            DataTable dt = db.ExcuteDataTable_oracle(sql);

            return(dt);
        }
コード例 #7
0
ファイル: DBLogger.cs プロジェクト: limin664043519/TJClient
        public static void Insert(LoggerInfo info)
        {
            ArrayList sqlList = new ArrayList();
            string    sql     = string.Format("insert into T_JK_CLIENTUPLOADINFOS(ip,czy,info,createdate,guid,status) " +
                                              "values('{0}','{1}','{2}','{3}','{4}',{5})", info.IP,
                                              info.Czy, info.Info, info.CreateDate, info.GUID, info.Status);

            sqlList.Add(sql);
            DBOracle db = new DBOracle();

            db.ExecuteNonQuery_oracle(sqlList);
        }
コード例 #8
0
    /// <summary>
    /// 获取执行sql语句的总数量
    /// </summary>
    /// <param name="sql"></param>
    /// <returns></returns>
    private int GetExecuteSqlDbDataCount(string sql)
    {
        DBOracle  dboracle = new DBOracle();
        DataTable dt       = dboracle.ExcuteDataTable_oracle(sql);

        if (dt != null)
        {
            return(int.Parse(dt.Rows[0][0].ToString()));
        }
        else
        {
            return(0);
        }
    }
コード例 #9
0
        public string Get()
        {
            string result = "";

            if (Check())
            {
                try
                {
                    string[] tableList = DownloadTableList(Common.DownloadType.JCSJ);
                    if (tableList != null)
                    {
                        //将要生成的文件信息写入到文本文件中
                        Common.WritFileTxt(_model, GetFilePath(), "start");

                        DBOracle dboracle = new DBOracle();
                        foreach (string table in tableList)
                        {
                            DataTable dt = dboracle.ExcuteDataTable_oracle(GetExecuteSql(table));
                            dt.TableName = table;
                            if (dt != null && dt.Rows.Count > 0)
                            {
                                result = result + "|" + OutExcelToDiskAndReturnFilePath(dt);
                                string zipFileResult = OutZipToDiskAndReturnFilePath(dt);
                                if (string.IsNullOrEmpty(zipFileResult))
                                {
                                    result = result + "|" + zipFileResult;
                                }
                            }

                            //文件转移到end文件夹中
                            FileHelper.CopyDirectory(GetFilePath_start(""), GetFilePath_end(""));
                        }
                        //将要生成的文件信息写入到文本文件中
                        Common.WritFileTxt(_model, GetFilePath(), "end");
                    }
                }
                catch (Exception ex)
                {
                    //将要生成的文件信息写入到文本文件中
                    Common.WritFileTxt(_model, GetFilePath(), "error :" + ex.Message);
                    throw ex;
                }
            }
            return(result);
        }
コード例 #10
0
        public string GetExecuteSql(string tableName)
        {
            DBOracle dboracle     = new DBOracle();
            string   str_dt_title = string.Format("select * from {0} where 1=2 ", tableName);

            TxtLogger.Debug(string.Format("{0}:[{1}{2}]", "生成档案数据表结构", "sql文", str_dt_title));
            DataTable dt_title = dboracle.ExcuteDataTable_oracle(str_dt_title);
            string    strWhere = "";

            if (dt_title.Columns.Contains("P_RGID") && !string.IsNullOrEmpty(_model.CzList))
            {
                strWhere = string.Format(" and P_RGID in ('{0}')", _model.CzList.Replace(",", "','"));
            }
            else if (dt_title.Columns.Contains("PRGID") && !string.IsNullOrEmpty(_model.CzList))
            {
                strWhere = string.Format(" and PRGID in ('{0}')", _model.CzList.Replace(",", "','"));
            }

            if (dt_title.Columns.Contains("YLJGBM") && !string.IsNullOrEmpty(_model.Yljgbm))
            {
                strWhere = strWhere + string.Format(" and yljgbm ='{0}'", _model.Yljgbm);
            }
            else if (dt_title.Columns.Contains("YYBM") && !string.IsNullOrEmpty(_model.Yljgbm))
            {
                strWhere = strWhere + string.Format(" and yybm ='{0}'", _model.Yljgbm);
            }
            //按机构下载时判断结束
            string str_dt_data = string.Format("select * from {0} where 1=1 {1} ", tableName, strWhere);

            if (tableName.ToLower().Equals("t_jk_tjry_txm"))
            {
                strWhere    = string.Format(" and p_rgid in ('{0}')", _model.CzList.Replace(",", "','"));
                str_dt_data = "select * from t_jk_tjry_txm join t_da_jkda_rkxzl on t_jk_tjry_txm.rkxzlid=t_da_jkda_rkxzl.id and t_jk_tjry_txm.nd='{0}' where  1=1 {1}";

                str_dt_data = string.Format(str_dt_data, DateTime.Now.Year, strWhere);
            }

            TxtLogger.Debug(string.Format("{0}:[{1}{2}]", "生成档案数据", "sql文", str_dt_data));
            return(str_dt_data);
        }
コード例 #11
0
 public void Delete(int id)
 {
     DBOracle.Remove(id);
 }
コード例 #12
0
 public void Insert(string data)
 {
     Count++;
     DBOracle.Add(Count, data);
 }
コード例 #13
0
ファイル: DoService.cs プロジェクト: limin664043519/TJClient
        /// <summary>
        /// 执行文件的处理
        /// </summary>
        /// <param name="threadid"></param>
        public void DoFile(string clientUser, string GuidStr, string yljgbm)
        {
            TxtLogger.Debug(string.Format("{0}:[{1}]:[{2}]", "DoFile", clientUser, "文件处理开始"));
            //取得本地的保存文件地址
            fileDirAddress = ConfigurationManager.AppSettings["ExcelUpFile"];
            string filePathAll   = string.Format("{0}{1}", fileDirAddress, "upLoade");
            string filePathAllTo = string.Format("{0}{1}", fileDirAddress, "excute");

            try
            {
                //文件处理
                if (copyDirectory(filePathAll, filePathAllTo) == true)
                {
                    //将文件内容保存到数据库中
                    DoFileToDb(filePathAllTo, GuidStr, yljgbm, clientUser);

                    //处理完当前数据后再次扫描是否存在需要处理的文件
                    DoFile(clientUser, GuidStr, yljgbm);
                }
                else
                {
                    //调用存储过程将临时表中的数据处理到正式表中
                    //ExecuteProCreateData(clientUser, GuidStr, yljgbm);

                    //ExecuteProCreateData(clientUser, GuidStr, yljgbm);

                    ////处理程序执行结束,关闭处理程序
                    //string sql_update = string.Format("update T_JK_CXZT set CLCXZT='1' ,KSSJ='{0}' where CLCXZT='2'  ", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"));
                    ////更新数据库中数据状态
                    //DBOracle dboracle = new DBOracle();
                    //int insertResult = dboracle.ExecuteNonQuery_oracle(sql_update);
                    //return;
                }
                logger.Debug(string.Format("{0}:[{1}]:[{2}]", "DoFile", clientUser, "文件处理结束"));
                DBLogger.Insert(new LoggerInfo(clientUser, "DoFile 文件处理结束", 1));
            }
            catch (Exception ex)
            {
                logger.Error(string.Format("{0}:[{1}]:[{2}]:[{3}]", "DoFile", clientUser, "文件处理异常", ex.Message));

                DBLogger.Insert(new LoggerInfo(clientUser, string.Format("DoFile文件处理异常,{0}", ex.Message), 0));
                throw ex;
                //出错时增加错误处理

                ////处理程序执行结束,关闭处理程序
                //string sql_update = string.Format("insert into   ", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"));
                ////更新数据库中数据状态
                //DBOracle dboracle = new DBOracle();
                //int insertResult = dboracle.ExecuteNonQuery_oracle(sql_update);

                //throw new Exception(string.Format("DoFile文件处理异常:{0}", ex.Message));
            }
            finally
            {
                //处理程序执行结束,关闭处理程序
                string sql_update = string.Format("update T_JK_CXZT set CLCXZT='1' ,KSSJ='{0}' where CLCXZT='2'  ", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff"));
                //更新数据库中数据状态
                DBOracle dboracle     = new DBOracle();
                int      insertResult = dboracle.ExecuteNonQuery_oracle(sql_update);
            }
            return;
        }
コード例 #14
0
ファイル: DoService.cs プロジェクト: limin664043519/TJClient
        //客户端下载
        /// <summary>
        /// 客户端下载处理
        /// </summary>
        /// <param name="yljgbm">医疗机构编码</param>
        /// <param name="czList">村庄编码列表 多个村庄用【,】分割</param>
        /// <param name="dataType">数据类型 1:基础数据 2:档案数据 3:体检数据  用【,】分割</param>
        /// <returns></returns>
        public string DoDownLoadInfo(string rndPrefix, string yljgbm, string czList, string dataType)
        {
            #region 变量声明
            //信息记录
            string errMsg = "";

            //是否中断处理 false:不中断处理  true:中断处理
            bool isBreakExe = false;

            //基础数据表列表
            string[] jcsj_tabList = null;

            //档案数据表列表
            string[] da_tabList = null;

            //上次体检结果数据表列表
            string[] tjjg_tabList = null;

            //服务端的下载地址
            string FileDowLoadUrl = ConfigurationManager.AppSettings["FileDowLoadUrl"];

            //服务端文件保存地址
            string FileAddress = ConfigurationManager.AppSettings["FileAddress"];

            //要下载的文件列表
            string fileNameList = "";


            //返回的结果 1:正常结束  0:异常结束
            string resultstr = "";
            #endregion
            try
            {
                #region 参数验证

                //医疗机构编码
                if (yljgbm != null && yljgbm.Trim().Length == 0)
                {
                    errMsg     = errMsg + "|" + "医疗机构编码不能为空 ";
                    isBreakExe = true;
                }

                //数据类型验证
                if (isBreakExe == false && dataType != null && dataType.Trim().Length == 0)
                {
                    errMsg     = errMsg + "|" + "没有选择要下载的数据类型 ";
                    isBreakExe = true;
                }
                else
                {
                    //数据类型处理
                    string[] dataTypeList = dataType.Split(new char[] { ',' });
                    if (dataTypeList.Length > 0)
                    {
                        for (int i = 0; i < dataTypeList.Length; i++)
                        {
                            //基础数据
                            if (dataTypeList[i].Equals("1"))
                            {
                                string jcsjStr = ConfigurationManager.AppSettings["JCSJ"].ToString();
                                jcsj_tabList = getLIstFromStr(jcsjStr, ',');
                            }
                            else if (dataTypeList[i].Equals("2"))//档案数据
                            {
                                string jkdaStr = ConfigurationManager.AppSettings["JKDA"].ToString();
                                da_tabList = getLIstFromStr(jkdaStr, ',');
                            }
                            else if (dataTypeList[i].Equals("3"))//体检数据
                            {
                                string jcsjStr = ConfigurationManager.AppSettings["TJJG"].ToString();
                                tjjg_tabList = getLIstFromStr(jcsjStr, ',');
                            }
                        }
                    }
                }


                if (isBreakExe)
                {
                    return(string.Format("0-{0}", errMsg));
                }
                #endregion

                #region 基础数据
                //基础数据在修改按机构下载时未动,因为strWhere未使用
                //DataSet ds_jcsj = new DataSet();
                if (jcsj_tabList != null && jcsj_tabList.Length > 0)
                {
                    //取得基础数据
                    DBOracle dboracle  = new DBOracle();
                    string   outErrMsg = "";

                    for (int i = 0; i < jcsj_tabList.Length; i++)
                    {
                        string str_dt_title = string.Format("select * from {0} where 1=2 ", jcsj_tabList[i]);
                        logger.Debug(string.Format("{0}:[{1}{2}]", "生成基础数据表结构", "sql文", str_dt_title));
                        DataTable dt_title = dboracle.ExcuteDataTable_oracle(str_dt_title);
                        string    strWhere = ""; //strWhere并未使用
                        //注释的为以村进行下载进行筛选
                        //if (dt_title.Columns.Contains("D_JWH") == true && czList != null && czList.Length > 0)
                        //{
                        //    strWhere = string.Format(" and D_JWH in ('{0}')", czList.Replace(",", "','"));
                        //}
                        //else if (dt_title.Columns.Contains("CZBM") == true && czList !=null && czList.Length > 0)
                        //{
                        //    strWhere = string.Format(" and CZBM in ('{0}')", czList.Replace(",", "','"));
                        //}
                        //注释结束
                        ////下面为以机构进行下载
                        //if (dt_title.Columns.Contains("P_RGID") == true && czList != null && czList.Length > 0)
                        //{
                        //    strWhere = string.Format(" and P_RGID in ('{0}')", czList.Replace(",", "','"));
                        //}
                        ////以机构下载结束

                        //if (dt_title.Columns.Contains("YLJGBM") == true && yljgbm.Length > 0)
                        //{
                        //    strWhere = strWhere + string.Format(" and yljgbm ='{0}'", yljgbm);
                        //}
                        //else if (dt_title.Columns.Contains("YYBM") == true && yljgbm.Length > 0)
                        //{
                        //    strWhere = strWhere + string.Format(" and yybm ='{0}'", yljgbm);
                        //}
                        //用户签名表,只取出没有删除的
                        if (jcsj_tabList[i].ToLower() == "t_jk_usersignname")
                        {
                            strWhere = strWhere + string.Format(" and isdelete=0 and yljgbm='{0}'", yljgbm);
                        }
                        DataTable dt = dboracle.ExcuteDataTable_oracle(string.Format("select * from {0} where 1=1 {1}",
                                                                                     jcsj_tabList[i], strWhere));
                        dt.TableName = jcsj_tabList[i];
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            //ds_jcsj.Tables.Add(dt.Copy());
                            //基础数据转换为excel
                            string      fileName    = rndPrefix + "_" + yljgbm + "_" + jcsj_tabList[i] + ".xlsx";
                            commonExcel commonexcel = new commonExcel();
                            bool        result      = commonexcel.OutFileToDisk(dt.Copy(), jcsj_tabList[i], FileAddress + fileName, out outErrMsg);

                            fileNameList = fileNameList + "|" + string.Format("{0}${1}", fileName, getFileSize(FileAddress + fileName));
                            //在此处,如果是签名表,还要对应着打包图片
                            if (jcsj_tabList[i].ToLower() == "t_jk_usersignname")
                            {
                                fileName = rndPrefix + "_" + yljgbm + "_" + jcsj_tabList[i] + ".zip";
                                string zipfilePath = Path.Combine(FileAddress, fileName);
                                if (Signname.Operation.ZipOperation(dt, zipfilePath))
                                {
                                    fileNameList = fileNameList + "|" + string.Format("{0}${1}", fileName, getFileSize(zipfilePath));
                                }
                                ;
                            }
                        }
                    }
                }

                #endregion

                #region 档案数据

                if (da_tabList != null && da_tabList.Length > 0)
                {
                    //取得基础数据
                    DBOracle dboracle  = new DBOracle();
                    string   outErrMsg = "";

                    for (int i = 0; i < da_tabList.Length; i++)
                    {
                        string str_dt_title = string.Format("select * from {0} where 1=2 ", da_tabList[i]);
                        logger.Debug(string.Format("{0}:[{1}{2}]", "生成档案数据表结构", "sql文", str_dt_title));
                        DataTable dt_title = dboracle.ExcuteDataTable_oracle(str_dt_title);
                        string    strWhere = "";
                        //按村下载时判断
                        //if (dt_title.Columns.Contains("D_JWH") == true && czList != null && czList.Length > 0)
                        //{
                        //    strWhere = string.Format(" and D_JWH in ('{0}')", czList.Replace (",","','"));
                        //}
                        //else if (dt_title.Columns.Contains("CZBM") == true && czList != null && czList.Length > 0)
                        //{
                        //    strWhere = string.Format(" and CZBM in ('{0}')", czList.Replace(",", "','"));
                        //}
                        //按村下载时判断结束
                        //按机构下载时判断,受限判断是否包含P_RGID
                        if (dt_title.Columns.Contains("P_RGID") == true && czList != null && czList.Length > 0)
                        {
                            strWhere = string.Format(" and P_RGID in ('{0}')", czList.Replace(",", "','"));
                        }
                        else if (dt_title.Columns.Contains("PRGID") == true && czList != null && czList.Length > 0)
                        {
                            strWhere = string.Format(" and PRGID in ('{0}')", czList.Replace(",", "','"));
                        }

                        if (dt_title.Columns.Contains("YLJGBM") == true && yljgbm.Length > 0)
                        {
                            strWhere = strWhere + string.Format(" and yljgbm ='{0}'", yljgbm);
                        }
                        else if (dt_title.Columns.Contains("YYBM") == true && yljgbm.Length > 0)
                        {
                            strWhere = strWhere + string.Format(" and yybm ='{0}'", yljgbm);
                        }
                        //按机构下载时判断结束
                        string str_dt_data = string.Format("select * from {0} where 1=1 {1} ", da_tabList[i], strWhere);
                        if (da_tabList[i].ToLower().Equals("t_jk_tjry_txm") == true)
                        {
                            //strWhere = string.Format(" and D_JWH in ('{0}')", czList.Replace(",", "','"));
                            strWhere    = string.Format(" and p_rgid in ('{0}')", czList.Replace(",", "','"));
                            str_dt_data = "select * from t_jk_tjry_txm join t_da_jkda_rkxzl on t_jk_tjry_txm.rkxzlid=t_da_jkda_rkxzl.id and t_jk_tjry_txm.nd='{0}' where  1=1 {1}";

                            str_dt_data = string.Format(str_dt_data, DateTime.Now.Year.ToString(), strWhere);
                        }

                        logger.Debug(string.Format("{0}:[{1}{2}]", "生成档案数据", "sql文", str_dt_data));
                        //在这里判断数量,如果数量大于web.config中的指定数量,就分页取数据。
                        //string fileName =rndPrefix+"_" + yljgbm + "_" + da_tabList[i] + ".xls";
                        //bool result = commonExcel.OutFileToDistCheckExceedingPaginationCountAndOperation(str_dt_data, da_tabList[i],fileName, FileAddress + fileName, out outErrMsg);
                        //fileNameList = fileNameList + "|" + string.Format("{0}${1}", fileName, getFileSize(FileAddress + fileName));

                        List <string> fileNames   = null;
                        commonExcel   commonexcel = new commonExcel();
                        bool          result      = commonexcel.OutFileToDistCheckExceedingPaginationCountAndOperation(rndPrefix, yljgbm, str_dt_data, da_tabList[i], FileAddress,
                                                                                                                       out fileNames, out outErrMsg);
                        foreach (string fileName in fileNames)
                        {
                            fileNameList = fileNameList + "|" + string.Format("{0}${1}", fileName, getFileSize(FileAddress + fileName));
                        }

                        #region 以下方法是原方法,先读入数据再使用分页的数量保存数据到sheet中
                        //以下方法是原方法,先读入数据再使用分页的数量保存数据到sheet中
                        //DataTable dt = dboracle.ExcuteDataTable_oracle(str_dt_data);
                        //dt.TableName = da_tabList[i].ToString();
                        //if (dt != null && dt.Rows.Count > 0)
                        //{
                        //    //基础数据转换为excel


                        //    bool result = commonExcel.OutFileToDisk(dt.Copy(),da_tabList[i].ToString(), FileAddress + fileName, out outErrMsg);

                        //    fileNameList = fileNameList + "|" + string.Format("{0}${1}", fileName, getFileSize(FileAddress + fileName));
                        //}
                        #endregion
                    }
                }
                #endregion

                #region 体检结果数据
                if (tjjg_tabList != null && tjjg_tabList.Length > 0)
                {
                    //取得基础数据
                    DBOracle dboracle  = new DBOracle();
                    string   outErrMsg = "";

                    for (int i = 0; i < tjjg_tabList.Length; i++)
                    {
                        DataTable dt       = null;
                        string    sql_tjjg = "";

                        if (czList != null && czList.Length > 0)
                        {
                            //如果指定机构不为空,修改此处,将czbm修改为p_rgid
                            //sql_tjjg = string.Format("SELECT {0}.* FROM T_JK_TJRYXX INNER JOIN {0} ON T_JK_TJRYXX.JKDAH = {0}.D_GRDABH where T_JK_TJRYXX.yljgbm='{1}' and  T_JK_TJRYXX.czbm in ('{2}')", tjjg_tabList[i], yljgbm, czList.Replace(",", "','"));
                            //txm表没有个人档案编号,只有健康档案号
                            if (tjjg_tabList[i] == "T_JK_TJRY_TXM")
                            {
                                sql_tjjg = string.Format("SELECT {0}.* FROM T_JK_TJRYXX INNER JOIN {0} ON T_JK_TJRYXX.JKDAH = {0}.JKDAH " +
                                                         "where T_JK_TJRYXX.yljgbm='{1}' and  T_JK_TJRYXX.prgid in ('{2}')",
                                                         tjjg_tabList[i], yljgbm, czList.Replace(",", "','"));
                            }
                            else
                            {
                                sql_tjjg = string.Format("SELECT {0}.* FROM T_JK_TJRYXX INNER JOIN {0} ON T_JK_TJRYXX.JKDAH = {0}.D_GRDABH " +
                                                         "where T_JK_TJRYXX.yljgbm='{1}' and  T_JK_TJRYXX.prgid in ('{2}')",
                                                         tjjg_tabList[i], yljgbm, czList.Replace(",", "','"));
                            }
                        }
                        else
                        {
                            if (tjjg_tabList[i] == "T_JK_TJRY_TXM")
                            {
                                sql_tjjg = string.Format("SELECT {0}.* FROM T_JK_TJRYXX INNER JOIN {0} ON T_JK_TJRYXX.JKDAH = {0}.JKDAH where T_JK_TJRYXX.yljgbm='{1}' ",
                                                         tjjg_tabList[i], yljgbm);
                            }
                            else
                            {
                                sql_tjjg = string.Format("SELECT {0}.* FROM T_JK_TJRYXX INNER JOIN {0} ON T_JK_TJRYXX.JKDAH = {0}.D_GRDABH where T_JK_TJRYXX.yljgbm='{1}' ", tjjg_tabList[i], yljgbm);
                            }
                        }
                        logger.Debug(string.Format("{0}:[{1}{2}]", "上次体检结果", "sql文", sql_tjjg));

                        //在这里判断数量,如果数量大于web.config中的指定数量,就分页取数据。
                        //string fileName = rndPrefix + "_" + yljgbm + "_" + tjjg_tabList[i] + ".xls";
                        //bool result = commonExcel.OutFileToDistCheckExceedingPaginationCountAndOperation(sql_tjjg, tjjg_tabList[i], fileName,
                        //    FileAddress + fileName, out outErrMsg);
                        //fileNameList = fileNameList + "|" + string.Format("{0}${1}", fileName, getFileSize(FileAddress + fileName));

                        List <string> fileNames   = null;
                        commonExcel   commonexcel = new commonExcel();
                        bool          result      = commonexcel.OutFileToDistCheckExceedingPaginationCountAndOperation(rndPrefix, yljgbm, sql_tjjg, tjjg_tabList[i],
                                                                                                                       FileAddress, out fileNames, out outErrMsg);
                        foreach (string fileName in fileNames)
                        {
                            fileNameList = fileNameList + "|" + string.Format("{0}${1}", fileName, getFileSize(FileAddress + fileName));
                        }

                        #region 过去使用的方法,分页出现问题
                        //dt = dboracle.ExcuteDataTable_oracle(sql_tjjg);

                        //dt.TableName = tjjg_tabList[i];
                        //if (dt != null && dt.Rows.Count > 0)
                        //{
                        //    //基础数据转换为excel
                        //    string fileName = rndPrefix + "_" + yljgbm + "_" + tjjg_tabList[i] + ".xls";

                        //    bool result = commonExcel.OutFileToDisk(dt.Copy(), tjjg_tabList[i], FileAddress + fileName, out outErrMsg);

                        //    fileNameList = fileNameList + "|" + string.Format("{0}${1}", fileName, getFileSize(FileAddress + fileName));
                        //    //ArrayList fileListArray= commonExcel.OutFileToDiskAll(dt.Copy(), tjjg_tabList[i].ToString(), FileAddress, out outErrMsg);
                        //    //if (fileListArray != null && fileListArray.Count > 0)
                        //    //{
                        //    //    for (int fileIndex = 0; fileIndex < fileListArray.Count; fileIndex++)
                        //    //    {
                        //    //        fileNameList = fileNameList + "|" + string.Format("{0}${1}", Path.GetFileName(fileListArray[fileIndex].ToString()), getFileSize(fileListArray[fileIndex].ToString()));
                        //    //    }
                        //    //}
                        //}
                        #endregion
                    }
                }
                #endregion

                resultstr = string.Format("1-{0}-{1}", FileDowLoadUrl, fileNameList);
            }
            catch (Exception ex)
            {
                resultstr = string.Format("0-{0}", ex.Message);
            }

            return(resultstr);
        }