public string ApplyQuery(int Y, int user_id, int equipment_category_id)
        {
            string DBConnectionCode = CommSetup.CommWebSetup.DB0_CodeString;
            ReportCenter logicCenter = new ReportCenter(DBConnectionCode);
            db0 = ReportCenter.getDB0;

            var getUserIdCK = Request.Cookies["user_id"];
            string getUserId = string.Empty;

            Apply_User getUserData = null;
            if (getUserIdCK == null)
            {
                getUserData = db0.Apply_User.Find(user_id);
            }
            else
            {
                getUserId = getUserIdCK.Value;
                getUserData = db0.Apply_User.Where(x => x.userid == getUserId).FirstOrDefault();
            }

            var getApplyData = db0.Apply.Where(x => x.userid == getUserData.userid && x.y == Y).FirstOrDefault();
            var getEquipmentCategory = db0.Equipment_Category.Find(equipment_category_id);
            var getData = logicCenter.reportApply(Y, getUserData.userid, equipment_category_id);
            return defJSON(getData);
        }
        public FileResult OpenAllPDF_Condenser(int Y)
        {
            string DBConnectionCode = CommSetup.CommWebSetup.DB0_CodeString;
            ReportCenter logicCenter = new ReportCenter(DBConnectionCode);
            db0 = ReportCenter.getDB0;

            ReportData rpt = new ReportData() { ReportName = "All_Equipment_Condenser.rdlc" };

            //List<ReportParameter> setParams = new List<ReportParameter>();
            db0.Dispose();

            rpt.Data = logicCenter.rpt_apply_detailCon(Y);

            ReportViewer rptvw = new ReportViewer();
            rptvw.ProcessingMode = ProcessingMode.Local;
            ReportDataSource rds = new ReportDataSource("MasterData", rpt.Data);

            rptvw.LocalReport.DataSources.Clear();
            rptvw.LocalReport.ReportPath = @"_Code\RPTFile\" + rpt.ReportName;
            //rptvw.LocalReport.SetParameters(setParams);
            rptvw.LocalReport.DataSources.Add(rds);
            rptvw.LocalReport.Refresh();

            Warning[] warnings;
            string[] streamIds;
            string mimeType = string.Empty;
            string encoding = string.Empty;
            string extension = string.Empty;
            byte[] bytes = rptvw.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamIds, out warnings);

            Stream outputStream = new MemoryStream(bytes);
            string setFileName = "申報表-冷凝器-" + DateTime.Now.Ticks + "(All).pdf";
            return File(outputStream, "application/pdf", setFileName);
        }
        public FileResult ApplyDetailEvaporate(int Y, int equipment_id)
        {
            string DBConnectionCode = CommSetup.CommWebSetup.DB0_CodeString;
            ReportCenter logicCenter = new ReportCenter(DBConnectionCode);
            db0 = ReportCenter.getDB0;

            Apply_User getUserData = null;
            if (this.UserId != null)
            {
                getUserData = db0.Apply_User.Where(x => x.USERID == this.UserId).FirstOrDefault();
            }

            var getApplyData = db0.Apply.Where(x => x.userid == this.UserId && x.y == Y).FirstOrDefault();
            var Evaporate = db0.Apply_Detail_Evaporate.Where(x => x.y == Y && x.equipment_id == equipment_id).FirstOrDefault();

            ReportData rpt = new ReportData() { ReportName = "Apply.rdlc" };

            List<ReportParameter> rparam = new List<ReportParameter>();
            rparam.Add(new ReportParameter("report_name", "冰水主機蒸發器冰水出、回水溫差報表"));
            rparam.Add(new ReportParameter("applyName", getUserData.USERNAME));
            rparam.Add(new ReportParameter("applyYear", Y.ToString()));

            rparam.Add(new ReportParameter("doc_name", getApplyData.doc_name));
            rparam.Add(new ReportParameter("doc_rank", getApplyData.doc_rank));
            rparam.Add(new ReportParameter("doc_tel", getApplyData.doc_tel));
            rparam.Add(new ReportParameter("mng_name", getApplyData.mng_name));
            rparam.Add(new ReportParameter("mng_rank", getApplyData.mng_rank));
            rparam.Add(new ReportParameter("mng_tel", getApplyData.mng_tel));

            db0.Dispose();

            //rpt.Data = logicCenter.rpt_apply_detailEva(Y, getUserData.USERID);

            ReportViewer rptvw = new ReportViewer();
            rptvw.ProcessingMode = ProcessingMode.Local;
            ReportDataSource rds = new ReportDataSource("MasterData", rpt.Data);

            rptvw.LocalReport.DataSources.Clear();
            rptvw.LocalReport.ReportPath = @"_Code\RPTFile\" + rpt.ReportName;
            rptvw.LocalReport.DataSources.Add(rds);
            foreach (var pa in rparam)
            {
                rptvw.LocalReport.SetParameters(pa);
            }
            rptvw.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
            rptvw.LocalReport.Refresh();

            Warning[] warnings;
            string[] streamIds;
            string mimeType = string.Empty;
            string encoding = string.Empty;
            string extension = string.Empty;
            byte[] bytes = rptvw.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamIds, out warnings);

            Stream outputStream = new MemoryStream(bytes);
            string setFileName = "申報表-蒸發器" + DateTime.Now.Ticks + ".pdf";
            return File(outputStream, "application/pdf", setFileName);
        }
        //private void P()
        //{
        //    string DBConnectionCode = CommSetup.CommWebSetup.DB0_CodeString;
        //    ReportCenter reportLogic = new ReportCenter(DBConnectionCode);
        //    var getData = reportLogic.reportAply_Detail(238);
        //    //ReportViewer rptvw = new ReportViewer();
        //    rptvw.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
        //    rptvw.ProcessingMode = ProcessingMode.Local;
        //    ReportDataSource rds = new ReportDataSource("MasterData", getData);
        //    rptvw.LocalReport.DataSources.Clear();
        //    rptvw.LocalReport.ReportPath = @"_Code\RPTFile\Apply.rdlc";
        //    rptvw.LocalReport.DataSources.Add(rds);
        //    rptvw.LocalReport.SetParameters(new ReportParameter("applyName", "TEST"));
        //    rptvw.LocalReport.SetParameters(new ReportParameter("doc_name", "Jerry"));
        //    rptvw.LocalReport.Refresh();
        //}
        void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)
        {
            var apply_detail_id = int.Parse(e.Parameters["apply_detail_id"].Values[0]);

            string DBConnectionCode = CommSetup.CommWebSetup.DB0_CodeString;
            ReportCenter reportLogic = new ReportCenter(DBConnectionCode);

            var getData = reportLogic.reportApply_Fuel(apply_detail_id);

            //繫結子報表
            e.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource("SubData", getData));
        }
        public FileResult OtherUnitLabel(q_OtherUnit q)
        {
            ReportCenter logicCenter = new ReportCenter(CommSetup.CommWebSetup.DB0_CodeString);
            ReportViewer rptvw = new ReportViewer();
            rptvw.ProcessingMode = ProcessingMode.Local;

            ReportDataSource rds = new ReportDataSource("MasterData", logicCenter.otherunitLabel(q));

            rptvw.LocalReport.DataSources.Clear();
            rptvw.LocalReport.ReportPath = @"_Code\RPTFile\MemeberLabel.rdlc";
            rptvw.LocalReport.DataSources.Add(rds);

            rptvw.LocalReport.Refresh();

            Warning[] warnings;
            string[] streamIds;
            string mimeType = string.Empty;
            string encoding = string.Empty;
            string extension = string.Empty;
            byte[] bytes = rptvw.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamIds, out warnings);
            Stream outputStream = new MemoryStream(bytes);
            string setFileName = "LabelPrint-" + DateTime.Now.Ticks + ".pdf";
            return File(outputStream, "application/pdf", setFileName);
        }
        public FileResult Apply(int Y, int user_id, int equipment_category_id)
        {
            string DBConnectionCode = CommSetup.CommWebSetup.DB0_CodeString;
            ReportCenter logicCenter = new ReportCenter(DBConnectionCode);
            db0 = ReportCenter.getDB0;

            var getUserIdCK = Request.Cookies["user_id"];
            string getUserId = string.Empty;

            Apply_User getUserData = null;
            if (getUserIdCK == null)
            {
                getUserData = db0.Apply_User.Find(user_id);
            }
            else
            {
                getUserId = getUserIdCK.Value;
                getUserData = db0.Apply_User.Where(x => x.USERID == getUserId).FirstOrDefault();
            }

            var getApplyData = db0.Apply.Where(x => x.USERID == getUserData.USERID && x.Y == Y).FirstOrDefault();
            var getEquipmentCategory = db0.Equipment_Category.Find(equipment_category_id);

            ReportData rpt = new ReportData() { ReportName = "Apply.rdlc" };

            List<ReportParameter> rparam = new List<ReportParameter>();
            rparam.Add(new ReportParameter("applyYear", Y.ToString()));
            rparam.Add(new ReportParameter("applyName", getUserData.USERNAME));

            rparam.Add(new ReportParameter("doc_name", getApplyData.doc_name));
            rparam.Add(new ReportParameter("doc_rank", getApplyData.doc_rank));
            rparam.Add(new ReportParameter("doc_tel", getApplyData.doc_tel));
            rparam.Add(new ReportParameter("mng_name", getApplyData.mng_name));
            rparam.Add(new ReportParameter("mng_rank", getApplyData.mng_rank));
            rparam.Add(new ReportParameter("mng_tel", getApplyData.mng_tel));
            rparam.Add(new ReportParameter("equipment_category_name", getEquipmentCategory.category_name));

            db0.Dispose();

            rpt.Data = logicCenter.reportAply_Detail(getApplyData.apply_id);

            ReportViewer rptvw = new ReportViewer();
            rptvw.ProcessingMode = ProcessingMode.Local;
            ReportDataSource rds = new ReportDataSource("MasterData", rpt.Data);

            rptvw.LocalReport.DataSources.Clear();
            rptvw.LocalReport.ReportPath = @"_Code\RPTFile\" + rpt.ReportName;
            rptvw.LocalReport.DataSources.Add(rds);
            foreach (var pa in rparam)
            {
                rptvw.LocalReport.SetParameters(pa);
            }
            rptvw.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
            rptvw.LocalReport.Refresh();

            Warning[] warnings;
            string[] streamIds;
            string mimeType = string.Empty;
            string encoding = string.Empty;
            string extension = string.Empty;
            byte[] bytes = rptvw.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamIds, out warnings);

            Stream outputStream = new MemoryStream(bytes);
            string setFileName = "申報表" + DateTime.Now.Ticks + ".pdf";
            return File(outputStream, "application/pdf", setFileName);
        }
        /// <summary>
        /// 2016/3/15 加入
        /// </summary>
        /// <param name="Y"></param>
        /// <param name="equipment_id"></param>
        /// <returns></returns>
        public FileResult OpenPDF_Loading(int Y, int equipment_id)
        {
            string DBConnectionCode = CommSetup.CommWebSetup.DB0_CodeString;
            ReportCenter logicCenter = new ReportCenter(DBConnectionCode);
            db0 = ReportCenter.getDB0;

            //var getUserIdCK = Request.Cookies["user_id"];
            //string getUserId = string.Empty;

            Apply_User getUserData = null;
            if (this.UserId != null)
            {
                getUserData = db0.Apply_User.Where(x => x.USERID == this.UserId).FirstOrDefault();
            }

            var getApply = db0.Apply.Where(x => x.userid == this.UserId && x.y == Y).FirstOrDefault();
            var getApplyLoading = db0.Apply_Detail_Loading.Where(x => x.userid == this.UserId && x.y == Y && x.equipment_id == equipment_id && x.apply_id == getApply.apply_id).FirstOrDefault();
            var getEquipment = db0.Equipment_Chiller.Find(equipment_id);

            ReportData rpt = new ReportData() { ReportName = "Equipment_Loading.rdlc" };

            List<ReportParameter> setParams = new List<ReportParameter>();
            setParams.Add(new ReportParameter("applyYear", Y.ToString()));
            setParams.Add(new ReportParameter("applyName", getUserData.USERNAME));

            setParams.Add(new ReportParameter("doc_name", getApply.doc_name));
            setParams.Add(new ReportParameter("doc_rank", getApply.doc_rank));
            setParams.Add(new ReportParameter("doc_tel", getApply.doc_tel));
            setParams.Add(new ReportParameter("mng_name", getApply.mng_name));
            setParams.Add(new ReportParameter("mng_rank", getApply.mng_rank));
            setParams.Add(new ReportParameter("mng_tel", getApply.mng_tel));
            setParams.Add(new ReportParameter("equipment_sn", getEquipment.equipment_sn));
            setParams.Add(new ReportParameter("td_evaporate_set", RNull(getEquipment.td_evaporate_set)));

            setParams.Add(new ReportParameter("quantity", RNullForN(getApplyLoading.quantity)));
            setParams.Add(new ReportParameter("total_RT", RNullForN(getApplyLoading.total_RT)));
            string reason = getApplyLoading.is_loading == 3 ? getApplyLoading.loading_reason : "";
            string is_loading = String.Format(@"[{0}] 是
              [{1}]	自動控制
              [{2}]	人工調控
            [{3}] 否,原因{4}", CheckType(getApplyLoading.is_loading == 1 || getApplyLoading.is_loading == 2), CheckType(getApplyLoading.is_loading == 1), CheckType(getApplyLoading.is_loading == 2), CheckType(getApplyLoading.is_loading == 3), reason);
            setParams.Add(new ReportParameter("is_loading", RNullForN(is_loading)));

            string loading_type = string.Format(@"[{0}]中央監控軟體
            [{1}]	PLC控制
            [{2}]	其他控制方式", CheckType(getApplyLoading.loading_type == 1), CheckType(getApplyLoading.loading_type == 2), CheckType(getApplyLoading.loading_type == 3));

            setParams.Add(new ReportParameter("loading_type", RNullForN(loading_type)));
            setParams.Add(new ReportParameter("memo", RNullForN(getApplyLoading.memo)));

            db0.Dispose();

            ReportViewer rptvw = new ReportViewer();
            rptvw.ProcessingMode = ProcessingMode.Local;

            rptvw.LocalReport.DataSources.Clear();
            rptvw.LocalReport.ReportPath = @"_Code\RPTFile\" + rpt.ReportName;
            rptvw.LocalReport.SetParameters(setParams);
            rptvw.LocalReport.Refresh();

            Warning[] warnings;
            string[] streamIds;
            string mimeType = string.Empty;
            string encoding = string.Empty;
            string extension = string.Empty;
            byte[] bytes = rptvw.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamIds, out warnings);

            Stream outputStream = new MemoryStream(bytes);
            string setFileName = "申報表-冰水機負載調控-" + DateTime.Now.Ticks + ".pdf";
            return File(outputStream, "application/pdf", setFileName);
        }
        public FileResult OpenPDF_Evaporate(int Y, int equipment_id)
        {
            string DBConnectionCode = CommSetup.CommWebSetup.DB0_CodeString;
            ReportCenter logicCenter = new ReportCenter(DBConnectionCode);
            db0 = ReportCenter.getDB0;

            //var getUserIdCK = Request.Cookies["user_id"];
            //string getUserId = string.Empty;

            Apply_User getUserData = null;
            if (this.UserId != null)
            {
                getUserData = db0.Apply_User.Where(x => x.USERID == this.UserId).FirstOrDefault();
            }

            var getApply = db0.Apply.Where(x => x.userid == this.UserId && x.y == Y).FirstOrDefault();
            var getApplyEvaporate = db0.Apply_Detail_Evaporate.Where(x => x.userid == this.UserId && x.y == Y && x.equipment_id == equipment_id && x.apply_id == getApply.apply_id).FirstOrDefault();
            var getEquipment = db0.Equipment_Chiller.Find(equipment_id);

            ReportData rpt = new ReportData() { ReportName = "Equipment_Evapotate.rdlc" };

            List<ReportParameter> setParams = new List<ReportParameter>();
            setParams.Add(new ReportParameter("applyYear", Y.ToString()));
            setParams.Add(new ReportParameter("applyName", getUserData.USERNAME));

            setParams.Add(new ReportParameter("doc_name", getApply.doc_name));
            setParams.Add(new ReportParameter("doc_rank", getApply.doc_rank));
            setParams.Add(new ReportParameter("doc_tel", getApply.doc_tel));
            setParams.Add(new ReportParameter("mng_name", getApply.mng_name));
            setParams.Add(new ReportParameter("mng_rank", getApply.mng_rank));
            setParams.Add(new ReportParameter("mng_tel", getApply.mng_tel));
            setParams.Add(new ReportParameter("equipment_sn", getEquipment.equipment_sn));
            setParams.Add(new ReportParameter("td_evaporate_set", RNull(getEquipment.td_evaporate_set)));

            setParams.Add(new ReportParameter("td_value_01", RNull(getApplyEvaporate.td_value_01)));
            setParams.Add(new ReportParameter("td_value_02", RNull(getApplyEvaporate.td_value_02)));
            setParams.Add(new ReportParameter("td_value_03", RNull(getApplyEvaporate.td_value_03)));
            setParams.Add(new ReportParameter("td_value_04", RNull(getApplyEvaporate.td_value_04)));
            setParams.Add(new ReportParameter("td_value_05", RNull(getApplyEvaporate.td_value_05)));
            setParams.Add(new ReportParameter("td_value_06", RNull(getApplyEvaporate.td_value_06)));
            setParams.Add(new ReportParameter("td_value_07", RNull(getApplyEvaporate.td_value_07)));
            setParams.Add(new ReportParameter("td_value_08", RNull(getApplyEvaporate.td_value_08)));
            setParams.Add(new ReportParameter("td_value_09", RNull(getApplyEvaporate.td_value_09)));
            setParams.Add(new ReportParameter("td_value_10", RNull(getApplyEvaporate.td_value_10)));
            setParams.Add(new ReportParameter("td_value_11", RNull(getApplyEvaporate.td_value_11)));
            setParams.Add(new ReportParameter("td_value_12", RNull(getApplyEvaporate.td_value_12)));

            setParams.Add(new ReportParameter("abnormal_01", getApplyEvaporate.abnormal_01));
            setParams.Add(new ReportParameter("abnormal_02", getApplyEvaporate.abnormal_02));
            setParams.Add(new ReportParameter("abnormal_03", getApplyEvaporate.abnormal_03));
            setParams.Add(new ReportParameter("abnormal_04", getApplyEvaporate.abnormal_04));
            setParams.Add(new ReportParameter("abnormal_05", getApplyEvaporate.abnormal_05));
            setParams.Add(new ReportParameter("abnormal_06", getApplyEvaporate.abnormal_06));
            setParams.Add(new ReportParameter("abnormal_07", getApplyEvaporate.abnormal_07));
            setParams.Add(new ReportParameter("abnormal_08", getApplyEvaporate.abnormal_08));
            setParams.Add(new ReportParameter("abnormal_09", getApplyEvaporate.abnormal_09));
            setParams.Add(new ReportParameter("abnormal_10", getApplyEvaporate.abnormal_10));
            setParams.Add(new ReportParameter("abnormal_11", getApplyEvaporate.abnormal_11));
            setParams.Add(new ReportParameter("abnormal_12", getApplyEvaporate.abnormal_12));
            db0.Dispose();

            ReportViewer rptvw = new ReportViewer();
            rptvw.ProcessingMode = ProcessingMode.Local;

            rptvw.LocalReport.DataSources.Clear();
            rptvw.LocalReport.ReportPath = @"_Code\RPTFile\" + rpt.ReportName;
            rptvw.LocalReport.SetParameters(setParams);
            rptvw.LocalReport.Refresh();

            Warning[] warnings;
            string[] streamIds;
            string mimeType = string.Empty;
            string encoding = string.Empty;
            string extension = string.Empty;
            byte[] bytes = rptvw.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamIds, out warnings);

            Stream outputStream = new MemoryStream(bytes);
            string setFileName = "申報表-蒸發器-" + DateTime.Now.Ticks + ".pdf";
            return File(outputStream, "application/pdf", setFileName);
        }
        public FileResult OpenPDF_ThermalTemperature(int Y, int user_id, int equipment_id)
        {
            string DBConnectionCode = CommSetup.CommWebSetup.DB0_CodeString;
            ReportCenter logicCenter = new ReportCenter(DBConnectionCode);
            db0 = ReportCenter.getDB0;

            string getUserId = this.UserId;
            Apply_User getUserData = db0.Apply_User.Where(x => x.userid == getUserId).FirstOrDefault();

            var getApply = db0.Apply.Where(x => x.userid == getUserData.userid && x.y == Y).FirstOrDefault();
            var getApplyEvaporate = db0.Apply_MonthAverage.Where(x => x.userid == getUserData.userid && x.y == Y && x.equipment_id == equipment_id).FirstOrDefault();
            var getEquipment = db0.Equipment_Thermal_Oil.Find(equipment_id);
            int getApplyDetailThermalOilId = db0.Apply_Detail_Thermal_Oil.Where(x => x.userid == getUserId & x.y == Y & x.equipment_id == equipment_id).FirstOrDefault().apply_detail_thermal_oil_id;
            var getFuel = db0.Fuel_Apply.Where(x => x.apply_detail_thermal_oil_id == getApplyDetailThermalOilId & x.y == Y).ToList();

            ReportData rpt = new ReportData() { ReportName = "ThermalTemperature.rdlc" };

            List<ReportParameter> setParams = new List<ReportParameter>();
            setParams.Add(new ReportParameter("applyYear", Y.ToString()));
            setParams.Add(new ReportParameter("applyName", getUserData.username));

            setParams.Add(new ReportParameter("doc_name", getApply.doc_name));
            setParams.Add(new ReportParameter("doc_rank", getApply.doc_rank));
            setParams.Add(new ReportParameter("doc_tel", getApply.doc_tel));
            setParams.Add(new ReportParameter("mng_name", getApply.mng_name));
            setParams.Add(new ReportParameter("mng_rank", getApply.mng_rank));
            setParams.Add(new ReportParameter("mng_tel", getApply.mng_tel));
            setParams.Add(new ReportParameter("equipment_sn", getEquipment.equipment_sn));
            setParams.Add(new ReportParameter("setup_amount", RNull(getEquipment.setup_amount)));
            string FuelS = string.Empty;
            foreach (var i in getFuel)
            {
                FuelS += CodeSheet_C.GetStateVal(i.fuel_category) + ":" + i.fuel_name + "、";
            }
            if (FuelS.Length > 1)
                FuelS = FuelS.Substring(0, FuelS.Length - 1);
            setParams.Add(new ReportParameter("fuel_category", FuelS));

            //setParams.Add(new ReportParameter("td_evaporate_set", RNull(0)));

            setParams.Add(new ReportParameter("td_value_01", RNull_decimal(getApplyEvaporate.temperature_01)));
            setParams.Add(new ReportParameter("td_value_02", RNull_decimal(getApplyEvaporate.temperature_02)));
            setParams.Add(new ReportParameter("td_value_03", RNull_decimal(getApplyEvaporate.temperature_03)));
            setParams.Add(new ReportParameter("td_value_04", RNull_decimal(getApplyEvaporate.temperature_04)));
            setParams.Add(new ReportParameter("td_value_05", RNull_decimal(getApplyEvaporate.temperature_05)));
            setParams.Add(new ReportParameter("td_value_06", RNull_decimal(getApplyEvaporate.temperature_06)));
            setParams.Add(new ReportParameter("td_value_07", RNull_decimal(getApplyEvaporate.temperature_07)));
            setParams.Add(new ReportParameter("td_value_08", RNull_decimal(getApplyEvaporate.temperature_08)));
            setParams.Add(new ReportParameter("td_value_09", RNull_decimal(getApplyEvaporate.temperature_09)));
            setParams.Add(new ReportParameter("td_value_10", RNull_decimal(getApplyEvaporate.temperature_10)));
            setParams.Add(new ReportParameter("td_value_11", RNull_decimal(getApplyEvaporate.temperature_11)));
            setParams.Add(new ReportParameter("td_value_12", RNull_decimal(getApplyEvaporate.temperature_12)));

            setParams.Add(new ReportParameter("oxygen_c_01", RNull(getApplyEvaporate.oxygen_concentration_01)));
            setParams.Add(new ReportParameter("oxygen_c_02", RNull(getApplyEvaporate.oxygen_concentration_02)));
            setParams.Add(new ReportParameter("oxygen_c_03", RNull(getApplyEvaporate.oxygen_concentration_03)));
            setParams.Add(new ReportParameter("oxygen_c_04", RNull(getApplyEvaporate.oxygen_concentration_04)));
            setParams.Add(new ReportParameter("oxygen_c_05", RNull(getApplyEvaporate.oxygen_concentration_05)));
            setParams.Add(new ReportParameter("oxygen_c_06", RNull(getApplyEvaporate.oxygen_concentration_06)));
            setParams.Add(new ReportParameter("oxygen_c_07", RNull(getApplyEvaporate.oxygen_concentration_07)));
            setParams.Add(new ReportParameter("oxygen_c_08", RNull(getApplyEvaporate.oxygen_concentration_08)));
            setParams.Add(new ReportParameter("oxygen_c_09", RNull(getApplyEvaporate.oxygen_concentration_09)));
            setParams.Add(new ReportParameter("oxygen_c_10", RNull(getApplyEvaporate.oxygen_concentration_10)));
            setParams.Add(new ReportParameter("oxygen_c_11", RNull(getApplyEvaporate.oxygen_concentration_11)));
            setParams.Add(new ReportParameter("oxygen_c_12", RNull(getApplyEvaporate.oxygen_concentration_12)));

            setParams.Add(new ReportParameter("abnormal_01", getApplyEvaporate.abnormal_t_01));
            setParams.Add(new ReportParameter("abnormal_02", getApplyEvaporate.abnormal_t_02));
            setParams.Add(new ReportParameter("abnormal_03", getApplyEvaporate.abnormal_t_03));
            setParams.Add(new ReportParameter("abnormal_04", getApplyEvaporate.abnormal_t_04));
            setParams.Add(new ReportParameter("abnormal_05", getApplyEvaporate.abnormal_t_05));
            setParams.Add(new ReportParameter("abnormal_06", getApplyEvaporate.abnormal_t_06));
            setParams.Add(new ReportParameter("abnormal_07", getApplyEvaporate.abnormal_t_07));
            setParams.Add(new ReportParameter("abnormal_08", getApplyEvaporate.abnormal_t_08));
            setParams.Add(new ReportParameter("abnormal_09", getApplyEvaporate.abnormal_t_09));
            setParams.Add(new ReportParameter("abnormal_10", getApplyEvaporate.abnormal_t_10));
            setParams.Add(new ReportParameter("abnormal_11", getApplyEvaporate.abnormal_t_11));
            setParams.Add(new ReportParameter("abnormal_12", getApplyEvaporate.abnormal_t_12));
            db0.Dispose();

            //rpt.Data = logicCenter.reportAply_Detail(getApplyData.apply_id, equipment_category_id);

            ReportViewer rptvw = new ReportViewer();
            rptvw.ProcessingMode = ProcessingMode.Local;
            //ReportDataSource rds = new ReportDataSource("MasterData", rpt.Data);

            rptvw.LocalReport.DataSources.Clear();
            rptvw.LocalReport.ReportPath = @"_Code\RPTFile\" + rpt.ReportName;
            //rptvw.LocalReport.DataSources.Add(rds);
            rptvw.LocalReport.SetParameters(setParams);
            //rptvw.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
            rptvw.LocalReport.Refresh();

            Warning[] warnings;
            string[] streamIds;
            string mimeType = string.Empty;
            string encoding = string.Empty;
            string extension = string.Empty;
            byte[] bytes = rptvw.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamIds, out warnings);

            Stream outputStream = new MemoryStream(bytes);
            string setFileName = "熱煤鍋爐煙氣出口溫度-" + DateTime.Now.Ticks + ".pdf";
            if (Request.Browser.Browser == "IE" && Request.Browser.Version == "8.0")
            {
                Response.Clear();
                Response.ContentType = "application/pdf";
                Response.AddHeader("content-disposition", "attachment;filename=" + Server.UrlEncode(setFileName));
                Response.BinaryWrite(bytes);
                Response.End();
            }
            return File(outputStream, "application/pdf", setFileName);
        }
        public FileResult OpenPDF_Evaporate(int Y, int user_id, int equipment_id)
        {
            string DBConnectionCode = CommSetup.CommWebSetup.DB0_CodeString;
            ReportCenter logicCenter = new ReportCenter(DBConnectionCode);
            db0 = ReportCenter.getDB0;

            string getUserId = this.UserId;
            Apply_User getUserData = db0.Apply_User.Where(x => x.userid == getUserId).FirstOrDefault();

            var getApply = db0.Apply.Where(x => x.userid == getUserData.userid && x.y == Y).FirstOrDefault();
            var getApplyEvaporate = db0.Apply_Detail_Evaporate.Where(x => x.userid == getUserData.userid && x.y == Y && x.equipment_id == equipment_id && x.apply_id == getApply.apply_id).FirstOrDefault();
            var getEquipment = db0.Equipment_Chiller.Find(equipment_id);

            ReportData rpt = new ReportData() { ReportName = "Equipment_Evapotate.rdlc" };

            List<ReportParameter> setParams = new List<ReportParameter>();
            setParams.Add(new ReportParameter("applyYear", Y.ToString()));
            setParams.Add(new ReportParameter("applyName", getUserData.username));

            setParams.Add(new ReportParameter("doc_name", getApply.doc_name));
            setParams.Add(new ReportParameter("doc_rank", getApply.doc_rank));
            setParams.Add(new ReportParameter("doc_tel", getApply.doc_tel));
            setParams.Add(new ReportParameter("mng_name", getApply.mng_name));
            setParams.Add(new ReportParameter("mng_rank", getApply.mng_rank));
            setParams.Add(new ReportParameter("mng_tel", getApply.mng_tel));
            setParams.Add(new ReportParameter("equipment_sn", getEquipment.equipment_sn));
            setParams.Add(new ReportParameter("td_evaporate_set", RNull_decimal(getEquipment.td_evaporate_set)));

            setParams.Add(new ReportParameter("td_value_01", RNull_decimal(getApplyEvaporate.td_value_01)));
            setParams.Add(new ReportParameter("td_value_02", RNull_decimal(getApplyEvaporate.td_value_02)));
            setParams.Add(new ReportParameter("td_value_03", RNull_decimal(getApplyEvaporate.td_value_03)));
            setParams.Add(new ReportParameter("td_value_04", RNull_decimal(getApplyEvaporate.td_value_04)));
            setParams.Add(new ReportParameter("td_value_05", RNull_decimal(getApplyEvaporate.td_value_05)));
            setParams.Add(new ReportParameter("td_value_06", RNull_decimal(getApplyEvaporate.td_value_06)));
            setParams.Add(new ReportParameter("td_value_07", RNull_decimal(getApplyEvaporate.td_value_07)));
            setParams.Add(new ReportParameter("td_value_08", RNull_decimal(getApplyEvaporate.td_value_08)));
            setParams.Add(new ReportParameter("td_value_09", RNull_decimal(getApplyEvaporate.td_value_09)));
            setParams.Add(new ReportParameter("td_value_10", RNull_decimal(getApplyEvaporate.td_value_10)));
            setParams.Add(new ReportParameter("td_value_11", RNull_decimal(getApplyEvaporate.td_value_11)));
            setParams.Add(new ReportParameter("td_value_12", RNull_decimal(getApplyEvaporate.td_value_12)));

            setParams.Add(new ReportParameter("abnormal_01", getApplyEvaporate.abnormal_01));
            setParams.Add(new ReportParameter("abnormal_02", getApplyEvaporate.abnormal_02));
            setParams.Add(new ReportParameter("abnormal_03", getApplyEvaporate.abnormal_03));
            setParams.Add(new ReportParameter("abnormal_04", getApplyEvaporate.abnormal_04));
            setParams.Add(new ReportParameter("abnormal_05", getApplyEvaporate.abnormal_05));
            setParams.Add(new ReportParameter("abnormal_06", getApplyEvaporate.abnormal_06));
            setParams.Add(new ReportParameter("abnormal_07", getApplyEvaporate.abnormal_07));
            setParams.Add(new ReportParameter("abnormal_08", getApplyEvaporate.abnormal_08));
            setParams.Add(new ReportParameter("abnormal_09", getApplyEvaporate.abnormal_09));
            setParams.Add(new ReportParameter("abnormal_10", getApplyEvaporate.abnormal_10));
            setParams.Add(new ReportParameter("abnormal_11", getApplyEvaporate.abnormal_11));
            setParams.Add(new ReportParameter("abnormal_12", getApplyEvaporate.abnormal_12));
            db0.Dispose();

            //rpt.Data = logicCenter.reportAply_Detail(getApplyData.apply_id, equipment_category_id);

            ReportViewer rptvw = new ReportViewer();
            rptvw.ProcessingMode = ProcessingMode.Local;
            //ReportDataSource rds = new ReportDataSource("MasterData", rpt.Data);

            rptvw.LocalReport.DataSources.Clear();
            rptvw.LocalReport.ReportPath = @"_Code\RPTFile\" + rpt.ReportName;
            //rptvw.LocalReport.DataSources.Add(rds);
            rptvw.LocalReport.SetParameters(setParams);
            //rptvw.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
            rptvw.LocalReport.Refresh();

            Warning[] warnings;
            string[] streamIds;
            string mimeType = string.Empty;
            string encoding = string.Empty;
            string extension = string.Empty;
            byte[] bytes = rptvw.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension, out streamIds, out warnings);

            Stream outputStream = new MemoryStream(bytes);
            string setFileName = "冰水機蒸發器申報表" + DateTime.Now.Ticks + ".pdf";
            if (Request.Browser.Browser == "IE" && Request.Browser.Version == "8.0")
            {
                Response.Clear();
                Response.ContentType = "application/pdf";
                Response.AddHeader("content-disposition", "attachment;filename=" + Server.UrlEncode(setFileName));
                Response.BinaryWrite(bytes);
                Response.End();
            }
            return File(outputStream, "application/pdf", setFileName);
        }