Exemplo n.º 1
0
        public DataTable GetItemcodeData(ReportQueryModelNew model)
        {
            int       objectid;
            float     total = 0;
            DataTable dt    = CreateTable.CreateBaseDataTable();

            //if (!new CreateTable().ObjectIsConfig(model, out objectid))
            //{
            //    return null;
            //}
            try
            {
                string objectname   = Getobjectname(model.objectid);
                string itemcodename = Getitemcodename(model.itemcode);

                BaseDataModelNew DataModel = new BaseDataModelNew();
                DataModel.Starttime = model.startime;
                DataModel.Endtime   = model.endtime;
                DataModel.ObjectId  = int.Parse(model.objectid);
                DataModel.ItemCode  = model.itemcode;
                DataModel.Unit      = CreateTable.ConvertBaseCountType(model.timeunit).ToString();
                // Datamodel.timeunit = CreateTable.ConvertBaseCountType(model.timeunit).ToString(); //
                #region 处理加工

                DataTable dtdata = DataCommon.GetBaseDataItem(DataModel);



                #region 非年
                if (model.timeunit != ReportStyleNew.YearStyle) // 非年
                {
                    //if (model.timeunit == ReportStyleNew.DayStyle)
                    //{
                    //    model.startime = model.startime.AddHours(1);
                    //}
                    for (DateTime i = model.startime; i <= model.endtime; i = (model.timeunit == ReportStyleNew.DayStyle) ? i.AddHours(1) : i.AddDays(1))
                    {
                        //if (model.timeunit == ReportStyleNew.DayStyle && i.Hour==0)
                        //{
                        //    continue;

                        //}

                        DataRow dr = dt.NewRow();
                        dr[1] = CreateTable.ReportFormatDate(i.ToString(), model.timeunit);
                        dr[2] = model.objectid;
                        dr[3] = objectname;
                        dr[4] = i;
                        dr[5] = i.AddDays(1);
                        dr[6] = itemcodename;
                        dr[7] = 0;


                        if (dtdata.Rows.Count > 0)
                        {
                            for (int j = 0; j < dtdata.Rows.Count; j++)
                            {
                                if (model.timeunit == ReportStyleNew.DayStyle)
                                {
                                    if (Convert.ToDateTime(dtdata.Rows[j]["Starttime"]).Hour == i.Hour)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[7]  = Math.Round(float.Parse(dtdata.Rows[j]["CountValue"].ToString()), 2);
                                        total += float.Parse(dr[7].ToString());
                                        break;
                                    }
                                }
                                else
                                {
                                    if (Convert.ToDateTime(dtdata.Rows[j]["Starttime"]).Date == i.Date)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[7]  = Math.Round(float.Parse(dtdata.Rows[j]["CountValue"].ToString()), 2);
                                        total += float.Parse(dr[7].ToString());
                                        break;
                                    }
                                }
                            }
                        }
                        dt.Rows.Add(dr);
                    }
                }
                #endregion

                #region 年
                else // 年
                {
                    for (DateTime i = model.startime; i <= model.endtime; i = i.AddMonths(1))
                    {
                        DataRow dr = dt.NewRow();
                        dr[1] = CreateTable.ReportFormatDate(i.ToString(), model.timeunit);
                        dr[2] = model.objectid;
                        dr[3] = objectname;
                        dr[4] = i;
                        dr[5] = i.AddDays(1);
                        dr[6] = itemcodename;
                        dr[7] = 0;


                        if (dtdata.Rows.Count > 0)
                        {
                            for (int j = 0; j < dtdata.Rows.Count; j++)
                            {
                                if (model.timeunit == ReportStyleNew.DayStyle)
                                {
                                    if (Convert.ToDateTime(dtdata.Rows[j]["Starttime"]).Hour == i.Hour)
                                    {
                                        //dr[1] = CreateTable.ReportFormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[7]  = Math.Round(float.Parse(dtdata.Rows[j]["CountValue"].ToString()), 2);
                                        total += float.Parse(dr[7].ToString());
                                        break;
                                    }
                                }
                                else
                                {
                                    if (Convert.ToDateTime(dtdata.Rows[j]["Starttime"]).Date == i.Date)
                                    {
                                        //dr[1] = CreateTable.ReportFormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[7]  = Math.Round(float.Parse(dtdata.Rows[j]["CountValue"].ToString()), 2);
                                        total += float.Parse(dr[7].ToString());
                                        break;
                                    }
                                }
                            }
                        }
                        dt.Rows.Add(dr);
                    }
                }

                #endregion
                DataRow totaldr = dt.NewRow();
                totaldr[1] = CreateTable.ReportFormatDate(model.startime.ToString(), model.timeunit) + "-" +
                             CreateTable.ReportFormatDate(model.endtime.ToString(),
                                                          model.timeunit);
                totaldr[2] = model.objectid;
                totaldr[3] = objectname;
                totaldr[4] = "-";
                totaldr[5] = "-";
                totaldr[6] = itemcodename;
                totaldr[7] = Math.Round(total, 2).ToString();
                dt.Rows.Add(totaldr);



                #endregion

                return(dt);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
                //return null;
            }
        }
Exemplo n.º 2
0
        public DataTable GetItemcodeDataAll(ReportQueryModelNew model, DataTable dtItemCode)
        {
            int   objectid;
            float total1 = 0;
            float total2 = 0;
            float total3 = 0;
            float total4 = 0;


            // 电
            float decITEMCOAL1 = 0;
            // 水
            float decITEMCOAL2 = 0;
            // 气
            float decITEMCOAL3 = 0;
            // 煤
            float decITEMCOAL4 = 0;

            if (dtItemCode.Rows[0]["ITEMCOAL"] != DBNull.Value)
            {
                decITEMCOAL1 = float.Parse(dtItemCode.Rows[0]["ITEMCOAL"].ToString());
            }
            if (dtItemCode.Rows[1]["ITEMCOAL"] != DBNull.Value)
            {
                decITEMCOAL2 = float.Parse(dtItemCode.Rows[1]["ITEMCOAL"].ToString());
            }
            if (dtItemCode.Rows[2]["ITEMCOAL"] != DBNull.Value)
            {
                decITEMCOAL3 = float.Parse(dtItemCode.Rows[2]["ITEMCOAL"].ToString());
            }
            if (dtItemCode.Rows[3]["ITEMCOAL"] != DBNull.Value)
            {
                decITEMCOAL4 = float.Parse(dtItemCode.Rows[3]["ITEMCOAL"].ToString());
            }

            float     totalzhm = 0;
            DataTable dt       = CreateTable.CreateBaseDataTableAll();

            //if (!new CreateTable().ObjectIsConfigAll(model, out objectid))
            //{
            //    return null;
            //}
            try
            {
                string objectname   = Getobjectname(model.objectid);
                string itemcodename = Getitemcodename(model.itemcode);
                ////List<int> lstCountId = new List<int>();
                ////for (int jCount = 0; jCount < dtItemCode.Rows.Count; jCount++)
                ////{
                ////    int countId = GetObjectCountId(model.objectid, model.objecttype, CreateTable.ConvertBaseCountType(model.timeunit), int.Parse(dtItemCode.Rows[jCount]["ItemCodeId"].ToString()));
                ////    lstCountId.Add(countId);
                ////}

                BaseDataModelNew DataModel = new BaseDataModelNew();
                DataModel.Starttime = model.startime;
                DataModel.Endtime   = model.endtime;
                DataModel.ObjectId  = int.Parse(model.objectid);
                DataModel.Unit      = CreateTable.ConvertBaseCountType(model.timeunit).ToString();

                #region 处理加工

                DataTable[] dtdata = DataCommon.GetBaseDataAll(DataModel, dtItemCode);


                #endregion

                if (model.timeunit != ReportStyleNew.YearStyle)
                {
                    #region 日月
                    for (DateTime i = model.startime; i <= model.endtime; i = (model.timeunit == ReportStyleNew.DayStyle) ? i.AddHours(1) : i.AddDays(1))
                    {
                        //if (model.timeunit == ReportStyleNew.DayStyle && i.Hour==0)
                        //{
                        //    continue;

                        //}

                        DataRow dr = dt.NewRow();
                        dr[1] = CreateTable.ReportFormatDate(i.ToString(), model.timeunit);
                        dr[2] = model.objectid;
                        dr[3] = objectname;
                        dr[4] = i;
                        dr[5] = i.AddDays(1);
                        //dr[6] = itemcodename;
                        //dr[7] = 0;
                        dr[6]  = 0;
                        dr[7]  = 0;
                        dr[8]  = 0;
                        dr[9]  = 0;
                        dr[10] = 0;

                        DataTable dt1 = dtdata[0];
                        DataTable dt2 = dtdata[1];
                        DataTable dt3 = dtdata[2];
                        DataTable dt4 = dtdata[3];


                        #region  电
                        if (dt1.Rows.Count > 0)
                        {
                            for (int j = 0; j < dt1.Rows.Count; j++)
                            {
                                if (model.timeunit == ReportStyleNew.DayStyle)
                                {
                                    if (Convert.ToDateTime(dt1.Rows[j]["Starttime"]).Hour == i.Hour)
                                    {
                                        //dr[1] = CreateTable.ReportFormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[6]   = Math.Round(float.Parse(dt1.Rows[j]["CountValue"].ToString()), 2);
                                        total1 += float.Parse(dr[6].ToString());
                                    }
                                }
                                else
                                {
                                    if (Convert.ToDateTime(dt1.Rows[j]["Starttime"]).Date == i.Date)
                                    {
                                        //dr[1] = CreateTable.ReportFormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[6]   = Math.Round(float.Parse(dt1.Rows[j]["CountValue"].ToString()), 2);
                                        total1 += float.Parse(dr[6].ToString());
                                        break;
                                    }
                                }
                            }
                        }

                        #endregion
                        #region  水
                        if (dt2.Rows.Count > 0)
                        {
                            for (int j = 0; j < dt2.Rows.Count; j++)
                            {
                                if (model.timeunit == ReportStyleNew.DayStyle)
                                {
                                    if (Convert.ToDateTime(dt2.Rows[j]["Starttime"]).Hour == i.Hour)
                                    {
                                        dr[7]   = Math.Round(float.Parse(dt2.Rows[j]["CountValue"].ToString()), 2);
                                        total2 += float.Parse(dr[7].ToString());
                                        break;
                                    }
                                }
                                else
                                {
                                    if (Convert.ToDateTime(dt2.Rows[j]["Starttime"]).Date == i.Date)
                                    {
                                        //dr[1] = CreateTable.ReportFormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[7]   = Math.Round(float.Parse(dt2.Rows[j]["CountValue"].ToString()), 2);
                                        total2 += float.Parse(dr[7].ToString());
                                        break;
                                    }
                                }
                            }
                        }

                        #endregion
                        #region  气
                        if (dt3.Rows.Count > 0)
                        {
                            for (int j = 0; j < dt3.Rows.Count; j++)
                            {
                                if (model.timeunit == ReportStyleNew.DayStyle)
                                {
                                    if (Convert.ToDateTime(dt3.Rows[j]["Starttime"]).Hour == i.Hour)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[8]   = Math.Round(float.Parse(dt3.Rows[j]["CountValue"].ToString()), 2);
                                        total3 += float.Parse(dr[8].ToString());

                                        break;
                                    }
                                }
                                else
                                {
                                    if (Convert.ToDateTime(dt3.Rows[j]["Starttime"]).Date == i.Date)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[8]   = Math.Round(float.Parse(dt3.Rows[j]["CountValue"].ToString()), 2);
                                        total3 += float.Parse(dr[8].ToString());
                                        break;
                                    }
                                }
                            }
                        }

                        #endregion
                        #region  供暖
                        if (dt4.Rows.Count > 0)
                        {
                            for (int j = 0; j < dt4.Rows.Count; j++)
                            {
                                if (model.timeunit == ReportStyleNew.DayStyle)
                                {
                                    if (Convert.ToDateTime(dt4.Rows[j]["Starttime"]).Hour == i.Hour)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[9]   = Math.Round(float.Parse(dt4.Rows[j]["CountValue"].ToString()), 2);
                                        total4 += float.Parse(dr[9].ToString());

                                        break;
                                    }
                                }
                                else
                                {
                                    if (Convert.ToDateTime(dt4.Rows[j]["Starttime"]).Date == i.Date)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[9]   = Math.Round(float.Parse(dt4.Rows[j]["CountValue"].ToString()), 2);
                                        total4 += float.Parse(dr[9].ToString());

                                        break;
                                    }
                                }
                            }
                        }

                        dr[10] = float.Parse(dr[6].ToString()) * decITEMCOAL1 +
                                 float.Parse(dr[7].ToString()) * decITEMCOAL2 +
                                 float.Parse(dr[8].ToString()) * decITEMCOAL3 +
                                 float.Parse(dr[9].ToString()) * decITEMCOAL4;

                        #endregion
                        dt.Rows.Add(dr);
                    }
                    #endregion
                }
                else
                {
                    #region 年

                    for (DateTime i = model.startime; i <= model.endtime; i = i.AddMonths(1))
                    {
                        //if (model.timeunit == ReportStyleNew.DayStyle && i.Hour==0)
                        //{
                        //    continue;

                        //}

                        DataRow dr = dt.NewRow();
                        dr[1] = CreateTable.ReportFormatDate(i.ToString(), model.timeunit);
                        dr[2] = model.objectid;
                        dr[3] = objectname;
                        dr[4] = i;
                        dr[5] = i.AddDays(1);
                        //dr[6] = itemcodename;
                        //dr[7] = 0;
                        dr[6] = 0;
                        dr[7] = 0;
                        dr[8] = 0;
                        dr[9] = 0;

                        DataTable dt1 = dtdata[0];
                        DataTable dt2 = dtdata[1];
                        DataTable dt3 = dtdata[2];
                        DataTable dt4 = dtdata[3];


                        #region  电
                        if (dt1.Rows.Count > 0)
                        {
                            for (int j = 0; j < dt1.Rows.Count; j++)
                            {
                                if (model.timeunit == ReportStyleNew.DayStyle)
                                {
                                    if (Convert.ToDateTime(dt1.Rows[j]["ENDTIME"]).Hour == i.Hour)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[6]   = Math.Round(float.Parse(dt1.Rows[j]["CountValue"].ToString()), 2);
                                        total1 += float.Parse(dr[6].ToString());
                                        break;
                                    }
                                }
                                else
                                {
                                    if (Convert.ToDateTime(dt1.Rows[j]["Starttime"]).Date == i.Date)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[6]   = Math.Round(float.Parse(dt1.Rows[j]["CountValue"].ToString()), 2);
                                        total1 += float.Parse(dr[6].ToString());
                                        break;
                                    }
                                }
                            }
                        }

                        #endregion
                        #region  水
                        if (dt2.Rows.Count > 0)
                        {
                            for (int j = 0; j < dt2.Rows.Count; j++)
                            {
                                if (model.timeunit == ReportStyleNew.DayStyle)
                                {
                                    if (Convert.ToDateTime(dt2.Rows[j]["ENDTIME"]).Hour == i.Hour)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[7]   = Math.Round(float.Parse(dt2.Rows[j]["CountValue"].ToString()), 2);
                                        total2 += float.Parse(dr[7].ToString());
                                        break;
                                    }
                                }
                                else
                                {
                                    if (Convert.ToDateTime(dt2.Rows[j]["Starttime"]).Date == i.Date)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[7]   = Math.Round(float.Parse(dt2.Rows[j]["CountValue"].ToString()), 2);
                                        total2 += float.Parse(dr[7].ToString());
                                        break;
                                    }
                                }
                            }
                        }

                        #endregion
                        #region  气
                        if (dt3.Rows.Count > 0)
                        {
                            for (int j = 0; j < dt3.Rows.Count; j++)
                            {
                                if (model.timeunit == ReportStyleNew.DayStyle)
                                {
                                    if (Convert.ToDateTime(dt3.Rows[j]["ENDTIME"]).Hour == i.Hour)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[8]   = Math.Round(float.Parse(dt3.Rows[j]["CountValue"].ToString()), 2);
                                        total3 += float.Parse(dr[8].ToString());
                                        break;
                                    }
                                }
                                else
                                {
                                    if (Convert.ToDateTime(dt3.Rows[j]["Starttime"]).Date == i.Date)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[8]   = Math.Round(float.Parse(dt3.Rows[j]["CountValue"].ToString()), 2);
                                        total3 += float.Parse(dr[8].ToString());
                                        break;
                                    }
                                }
                            }
                        }

                        #endregion
                        #region  供暖
                        if (dt4.Rows.Count > 0)
                        {
                            for (int j = 0; j < dt4.Rows.Count; j++)
                            {
                                if (model.timeunit == ReportStyleNew.DayStyle)
                                {
                                    if (Convert.ToDateTime(dt4.Rows[j]["ENDTIME"]).Hour == i.Hour)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[9]   = Math.Round(float.Parse(dt4.Rows[j]["CountValue"].ToString()), 2);
                                        total4 += float.Parse(dr[9].ToString());
                                        break;
                                    }
                                }
                                else
                                {
                                    if (Convert.ToDateTime(dt4.Rows[j]["Starttime"]).Date == i.Date)
                                    {
                                        //dr[1] = CreateTable.FormatDate(dtdata.Rows[j]["Starttime"].ToString(), model.timeunit);
                                        dr[9]   = Math.Round(float.Parse(dt4.Rows[j]["CountValue"].ToString()), 2);
                                        total4 += float.Parse(dr[9].ToString());
                                        break;
                                    }
                                }
                            }
                        }

                        #endregion

                        dr[10] = float.Parse(dr[6].ToString()) * decITEMCOAL1 +
                                 float.Parse(dr[7].ToString()) * decITEMCOAL2 +
                                 float.Parse(dr[8].ToString()) * decITEMCOAL3 +
                                 float.Parse(dr[9].ToString()) * decITEMCOAL4;

                        dt.Rows.Add(dr);
                    }
                    #endregion
                }



                #region
                DataRow totaldr = dt.NewRow();
                totaldr[1] = CreateTable.ReportFormatDate(model.startime.ToString(), model.timeunit) + "-" +
                             CreateTable.ReportFormatDate(model.endtime.ToString(),
                                                          model.timeunit);
                totaldr[2] = model.objectid;
                totaldr[3] = objectname;
                totaldr[4] = "-";
                totaldr[5] = "-";
                //totaldr[6] = itemcodename;
                totaldr[6] = Math.Round(total1, 2).ToString();
                totaldr[7] = Math.Round(total2, 2).ToString();
                totaldr[8] = Math.Round(total3, 2).ToString();
                totaldr[9] = Math.Round(total4, 2).ToString();
                // 加转换煤



                totaldr[10] = Math.Round((total1 * decITEMCOAL1 + total2 * decITEMCOAL2 + total3 * decITEMCOAL3 + total4 * decITEMCOAL4), 2).ToString();
                dt.Rows.Add(totaldr);



                #endregion

                return(dt);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
                //return null;
            }
        }