Esempio n. 1
0
        public List <BangBaoCao> GetDanhSachBaoCao(int IdDonVi, int IdPrecious)
        {
            List <BangBaoCao>        bangBaoCaos      = new List <BangBaoCao>();
            tongcuclamnghiepEntities tongcuclamnghiep = new tongcuclamnghiepEntities();
            var _Precious = tongcuclamnghiep.m_precious.Where(a => a.id == IdPrecious).FirstOrDefault();
            var _Unit     = tongcuclamnghiep.m_unit.Where(a => a.id == IdDonVi).FirstOrDefault();

            if (_Precious != null && _Unit == null)
            {
                tongcuclamnghiep.m_reporttable.Where(a => a.status == true).OrderBy(a => a.order).ToList().ForEach(a =>
                {
                    BangBaoCao bangBaoCao        = new BangBaoCao();
                    bangBaoCao.Loai              = a.autorow == true ? 1 : 0;
                    bangBaoCao.SapXep            = a.order.Value;
                    bangBaoCao.TieuDe            = a.title;
                    bangBaoCao.Id                = a.id;
                    bangBaoCao.DanhSachTieuDeCol = GetDanhSachTieuDeHienThi(1, 0, a.id);

                    List <TieuDeBaoCao> tieuDeBaoCaos = new List <TieuDeBaoCao>();

                    a.m_header.OrderBy(b => b.level).ThenBy(b => b.order).ToList().ForEach(b => {
                        TieuDeBaoCao tieuDeBaoCao   = new TieuDeBaoCao();
                        tieuDeBaoCao.Bold           = b.is_bold.Value;
                        tieuDeBaoCao.ColSpan        = b.colspan.Value;
                        tieuDeBaoCao.HeaderId       = b.header_id;
                        tieuDeBaoCao.Id             = b.id;
                        tieuDeBaoCao.IsComponent    = b.is_component.Value;
                        tieuDeBaoCao.IsNo           = b.is_no.Value;
                        tieuDeBaoCao.Level          = b.level.Value;
                        tieuDeBaoCao.Order          = b.order.Value;
                        tieuDeBaoCao.RowSpan        = b.rowspan.Value;
                        tieuDeBaoCao.TextAlignValue = b.valuetextalign;
                        tieuDeBaoCao.TextBoldValue  = b.is_valuebold.Value;
                        tieuDeBaoCao.TextUpperValue = b.is_valueupper.Value;
                        tieuDeBaoCao.TieuDe         = b.headername;
                        tieuDeBaoCao.Upper          = b.is_upper.Value;
                        tieuDeBaoCaos.Add(tieuDeBaoCao);
                    });
                    bangBaoCao.DanhSachTieuDe     = tieuDeBaoCaos;
                    List <DongBaoCao> dongBaoCaos = new List <DongBaoCao>();
                    if (a.autorow == false)
                    {
                        a.m_component.OrderBy(b => b.orderrow).GroupBy(b => b.orderrow).ToList().ForEach(b =>
                        {
                            DongBaoCao dongBaoCao       = new DongBaoCao();
                            dongBaoCao.RowId            = b.Key.Value;
                            List <DuLieuCot> duLieuCots = new List <DuLieuCot>();
                            bangBaoCao.DanhSachTieuDeCol.ToList().ForEach(c =>
                            {
                                DuLieuCot duLieuCot = new DuLieuCot();
                                var TieuDeCot       = tieuDeBaoCaos.Where(d => d.Id == c.Id).FirstOrDefault();
                                duLieuCot.TieuDeCot = TieuDeCot;
                                var DataCell        = b.Where(d => d.header_id == TieuDeCot.Id).FirstOrDefault();
                                if (DataCell != null)
                                {
                                    duLieuCot.Id         = DataCell.id;
                                    duLieuCot.DuLieuText = DataCell.componentname;
                                    duLieuCot.TypeValue  = DataCell.typevalue.Value;
                                    if (!(TieuDeCot.IsComponent == true || TieuDeCot.IsNo == true))
                                    {
                                        if (duLieuCot.TypeValue == 1)
                                        {
                                            List <DataTongStringDonVi> dataTongStringDonVis = new List <DataTongStringDonVi>();
                                            DataCell.m_unit_datareport.Where(d => d.m_unit_precious.completedate != null && d.m_unit_precious.precious_id == _Precious.id).ToList().ForEach(d => {
                                                dataTongStringDonVis.Add(new DataTongStringDonVi()
                                                {
                                                    Data     = d.data_text,
                                                    IdUnit   = d.m_unit_precious.unit_id.Value,
                                                    UnitName = d.m_unit_precious.m_unit.unitname
                                                });
                                            });
                                            duLieuCot.DuLieuTextTong = dataTongStringDonVis;
                                        }
                                        else
                                        {
                                            List <DataTongNumberDonVi> dataTongNumberDonVis = new List <DataTongNumberDonVi>();
                                            DataCell.m_unit_datareport.Where(d => d.m_unit_precious.completedate != null && d.m_unit_precious.precious_id == _Precious.id).ToList().ForEach(d => {
                                                dataTongNumberDonVis.Add(new DataTongNumberDonVi()
                                                {
                                                    Data     = string.IsNullOrEmpty(d.data_text) ? 0 : double.Parse(d.data_text),
                                                    IdUnit   = d.m_unit_precious.unit_id.Value,
                                                    UnitName = d.m_unit_precious.m_unit.unitname
                                                });
                                            });
                                            duLieuCot.TongDuLieuInt = dataTongNumberDonVis;
                                        }
                                    }
                                }
                                duLieuCots.Add(duLieuCot);
                            });
                            dongBaoCao.DanhSachCot = duLieuCots;
                            dongBaoCaos.Add(dongBaoCao);
                        });
                    }
                    else
                    {
                        tongcuclamnghiep.m_unit_datereport_autorows.Where(b => b.reporttable_id == a.id && b.m_unit_precious.precious_id == _Precious.id && b.m_unit_precious.completedate != null).GroupBy(b => b.orderrow).ToList().ForEach(b =>
                        {
                            DongBaoCao dongBaoCao       = new DongBaoCao();
                            dongBaoCao.RowId            = b.Key.Value;
                            List <DuLieuCot> duLieuCots = new List <DuLieuCot>();
                            bangBaoCao.DanhSachTieuDeCol.ToList().ForEach(c =>
                            {
                                DuLieuCot duLieuCot = new DuLieuCot();
                                duLieuCot.TieuDeCot = c;
                                List <DataTongStringDonVi> dataTongStringDonVis = new List <DataTongStringDonVi>();
                                b.Where(d => d.header_id == c.Id).ToList().ForEach(d => {
                                    dataTongStringDonVis.Add(new DataTongStringDonVi()
                                    {
                                        Data     = d.datatext,
                                        IdUnit   = d.m_unit_precious.unit_id.Value,
                                        UnitName = d.m_unit_precious.m_unit.unitname
                                    });
                                });
                                duLieuCot.DuLieuTextTong = dataTongStringDonVis;
                                duLieuCots.Add(duLieuCot);
                            });
                            dongBaoCao.DanhSachCot = duLieuCots;
                            dongBaoCaos.Add(dongBaoCao);
                        });
                    }
                    bangBaoCao.DanhSachDong = dongBaoCaos;
                    bangBaoCaos.Add(bangBaoCao);
                });
            }
            else
            {
                if (_Precious != null && _Unit != null)
                {
                    var _UnitPrecious = tongcuclamnghiep.m_unit_precious.Where(a => a.precious_id == _Precious.id && a.unit_id == _Unit.id && a.completedate != null).FirstOrDefault();
                    tongcuclamnghiep.m_reporttable.Where(a => a.status == true).OrderBy(a => a.order).ToList().ForEach(a =>
                    {
                        BangBaoCao bangBaoCao        = new BangBaoCao();
                        bangBaoCao.Loai              = a.autorow == true ? 1 : 0;
                        bangBaoCao.SapXep            = a.order.Value;
                        bangBaoCao.TieuDe            = a.title;
                        bangBaoCao.Id                = a.id;
                        bangBaoCao.DanhSachTieuDeCol = GetDanhSachTieuDeHienThi(1, 0, a.id);

                        List <TieuDeBaoCao> tieuDeBaoCaos = new List <TieuDeBaoCao>();

                        a.m_header.OrderBy(b => b.level).ThenBy(b => b.order).ToList().ForEach(b => {
                            TieuDeBaoCao tieuDeBaoCao   = new TieuDeBaoCao();
                            tieuDeBaoCao.Bold           = b.is_bold.Value;
                            tieuDeBaoCao.ColSpan        = b.colspan.Value;
                            tieuDeBaoCao.HeaderId       = b.header_id;
                            tieuDeBaoCao.Id             = b.id;
                            tieuDeBaoCao.IsComponent    = b.is_component.Value;
                            tieuDeBaoCao.IsNo           = b.is_no.Value;
                            tieuDeBaoCao.Level          = b.level.Value;
                            tieuDeBaoCao.Order          = b.order.Value;
                            tieuDeBaoCao.RowSpan        = b.rowspan.Value;
                            tieuDeBaoCao.TextAlignValue = b.valuetextalign;
                            tieuDeBaoCao.TextBoldValue  = b.is_valuebold.Value;
                            tieuDeBaoCao.TextUpperValue = b.is_valueupper.Value;
                            tieuDeBaoCao.TieuDe         = b.headername;
                            tieuDeBaoCao.Upper          = b.is_upper.Value;
                            tieuDeBaoCaos.Add(tieuDeBaoCao);
                        });
                        bangBaoCao.DanhSachTieuDe     = tieuDeBaoCaos;
                        List <DongBaoCao> dongBaoCaos = new List <DongBaoCao>();
                        if (a.autorow == false)
                        {
                            a.m_component.OrderBy(b => b.orderrow).GroupBy(b => b.orderrow).ToList().ForEach(b =>
                            {
                                DongBaoCao dongBaoCao       = new DongBaoCao();
                                dongBaoCao.RowId            = b.Key.Value;
                                List <DuLieuCot> duLieuCots = new List <DuLieuCot>();
                                bangBaoCao.DanhSachTieuDeCol.ToList().ForEach(c =>
                                {
                                    DuLieuCot duLieuCot = new DuLieuCot();
                                    var TieuDeCot       = tieuDeBaoCaos.Where(d => d.Id == c.Id).FirstOrDefault();
                                    duLieuCot.TieuDeCot = TieuDeCot;
                                    var DataCell        = b.Where(d => d.header_id == TieuDeCot.Id).FirstOrDefault();
                                    if (DataCell != null)
                                    {
                                        duLieuCot.Id         = DataCell.id;
                                        duLieuCot.DuLieuText = DataCell.componentname;
                                        duLieuCot.TypeValue  = DataCell.typevalue.Value;
                                        if (!(TieuDeCot.IsComponent == true || TieuDeCot.IsNo == true) && _UnitPrecious != null)
                                        {
                                            var DataCellUnit = DataCell.m_unit_datareport.Where(d => d.m_unit_precious.completedate != null && d.unit_precious_id == _UnitPrecious.id).FirstOrDefault();
                                            if (DataCellUnit != null)
                                            {
                                                duLieuCot.DuLieuText = DataCellUnit.data_text;
                                            }
                                        }
                                    }
                                    duLieuCots.Add(duLieuCot);
                                });
                                dongBaoCao.DanhSachCot = duLieuCots;
                                dongBaoCaos.Add(dongBaoCao);
                            });
                        }
                        else
                        {
                            if (_UnitPrecious != null)
                            {
                                tongcuclamnghiep.m_unit_datereport_autorows.Where(b => b.reporttable_id == a.id && b.unit_precious_id == _UnitPrecious.id).GroupBy(b => b.orderrow).ToList().ForEach(b =>
                                {
                                    DongBaoCao dongBaoCao       = new DongBaoCao();
                                    dongBaoCao.RowId            = b.Key.Value;
                                    List <DuLieuCot> duLieuCots = new List <DuLieuCot>();
                                    bangBaoCao.DanhSachTieuDeCol.ToList().ForEach(c =>
                                    {
                                        DuLieuCot duLieuCot = new DuLieuCot();
                                        duLieuCot.TieuDeCot = c;
                                        var DataCell        = b.Where(d => d.header_id == c.Id).FirstOrDefault();
                                        if (DataCell != null)
                                        {
                                            duLieuCot.DuLieuText = DataCell.datatext;
                                        }
                                        duLieuCots.Add(duLieuCot);
                                    });
                                    dongBaoCao.DanhSachCot = duLieuCots;
                                    dongBaoCaos.Add(dongBaoCao);
                                });
                            }
                        }
                        bangBaoCao.DanhSachDong = dongBaoCaos;
                        bangBaoCaos.Add(bangBaoCao);
                    });
                }
            }

            return(bangBaoCaos);
        }
Esempio n. 2
0
        public List <BangBaoCao> GetDanhSachBaoCaoUnitNew(AccountCookie accountCookie)
        {
            List <BangBaoCao>        bangBaoCaos      = new List <BangBaoCao>();
            tongcuclamnghiepEntities tongcuclamnghiep = new tongcuclamnghiepEntities();
            var _Precious = tongcuclamnghiep.m_precious.Where(a => a.status == false).FirstOrDefault();
            var _Unit     = tongcuclamnghiep.m_unit.Where(a => a.account_id == accountCookie.Id).FirstOrDefault();

            if (_Precious != null && _Unit != null)
            {
                bool CheckView     = true;
                var  _UnitPrecious = tongcuclamnghiep.m_unit_precious.Where(a => a.unit_id == _Unit.id && a.precious_id == _Precious.id).FirstOrDefault();
                if (_UnitPrecious != null)
                {
                    if (_UnitPrecious.completedate != null)
                    {
                        CheckView = false;
                    }
                }
                if (CheckView)
                {
                    int Precious_Id_Before = 0;
                    int UnitPrecious_Id    = 0;
                    if (tongcuclamnghiep.m_precious.Any(a => a.status == false && a.id != _Precious.id))
                    {
                        Precious_Id_Before = tongcuclamnghiep.m_precious.Where(a => a.status == true && a.id != _Precious.id).OrderByDescending(a => a.completedate).Select(a => a.id).FirstOrDefault();
                    }
                    if (_UnitPrecious != null)
                    {
                        UnitPrecious_Id = tongcuclamnghiep.m_unit_precious.Where(a => a.unit_id == _Unit.id && a.precious_id == Precious_Id_Before).Select(a => a.id).FirstOrDefault();
                    }
                    tongcuclamnghiep.m_reporttable.Where(a => a.status == true).OrderBy(a => a.order).ToList().ForEach(a =>
                    {
                        BangBaoCao bangBaoCao        = new BangBaoCao();
                        bangBaoCao.Loai              = a.autorow == true ? 1 : 0;
                        bangBaoCao.SapXep            = a.order.Value;
                        bangBaoCao.Id                = a.id;
                        bangBaoCao.TieuDe            = a.title;
                        bangBaoCao.DanhSachTieuDeCol = GetDanhSachTieuDeHienThi(1, 0, a.id);

                        List <TieuDeBaoCao> tieuDeBaoCaos = new List <TieuDeBaoCao>();

                        a.m_header.OrderBy(b => b.level).ThenBy(b => b.order).ToList().ForEach(b => {
                            TieuDeBaoCao tieuDeBaoCao   = new TieuDeBaoCao();
                            tieuDeBaoCao.Bold           = b.is_bold.Value;
                            tieuDeBaoCao.ColSpan        = b.colspan.Value;
                            tieuDeBaoCao.HeaderId       = b.header_id;
                            tieuDeBaoCao.Id             = b.id;
                            tieuDeBaoCao.IsComponent    = b.is_component.Value;
                            tieuDeBaoCao.IsNo           = b.is_no.Value;
                            tieuDeBaoCao.Level          = b.level.Value;
                            tieuDeBaoCao.Order          = b.order.Value;
                            tieuDeBaoCao.RowSpan        = b.rowspan.Value;
                            tieuDeBaoCao.TextAlignValue = b.valuetextalign;
                            tieuDeBaoCao.TextBoldValue  = b.is_valuebold.Value;
                            tieuDeBaoCao.TextUpperValue = b.is_valueupper.Value;
                            tieuDeBaoCao.TieuDe         = b.headername;
                            tieuDeBaoCao.Upper          = b.is_upper.Value;
                            tieuDeBaoCaos.Add(tieuDeBaoCao);
                        });
                        bangBaoCao.DanhSachTieuDe     = tieuDeBaoCaos;
                        List <DongBaoCao> dongBaoCaos = new List <DongBaoCao>();
                        if (a.autorow == false)
                        {
                            a.m_component.OrderBy(b => b.orderrow).GroupBy(b => b.orderrow).ToList().ForEach(b =>
                            {
                                DongBaoCao dongBaoCao       = new DongBaoCao();
                                dongBaoCao.RowId            = b.Key.Value;
                                List <DuLieuCot> duLieuCots = new List <DuLieuCot>();
                                bangBaoCao.DanhSachTieuDeCol.ToList().ForEach(c =>
                                {
                                    DuLieuCot duLieuCot = new DuLieuCot();
                                    var TieuDeCot       = tieuDeBaoCaos.Where(d => d.Id == c.Id).FirstOrDefault();
                                    duLieuCot.TieuDeCot = TieuDeCot;
                                    var DataCell        = b.Where(d => d.header_id == TieuDeCot.Id).FirstOrDefault();
                                    if (DataCell != null)
                                    {
                                        duLieuCot.Id         = DataCell.id;
                                        duLieuCot.DuLieuText = DataCell.componentname;
                                        duLieuCot.TypeValue  = DataCell.typevalue.Value;
                                        if (!(TieuDeCot.IsComponent == true || TieuDeCot.IsNo == true) && _UnitPrecious != null)
                                        {
                                            var DataCellUnit = DataCell.m_unit_datareport.Where(d => d.unit_precious_id == _UnitPrecious.id).FirstOrDefault();
                                            if (DataCellUnit != null)
                                            {
                                                duLieuCot.DuLieuText = DataCellUnit.data_text;
                                                duLieuCot.Save       = true;
                                            }
                                        }
                                        if (!(TieuDeCot.IsComponent == true || TieuDeCot.IsNo == true) && _UnitPrecious == null)
                                        {
                                            if (Precious_Id_Before > 0 && tongcuclamnghiep.m_unit_precious.Any(d => d.precious_id == Precious_Id_Before && d.unit_id == _Unit.id))
                                            {
                                                int IdUnitPreciousBF = tongcuclamnghiep.m_unit_precious.Where(d => d.precious_id == Precious_Id_Before && d.unit_id == _Unit.id).Select(d => d.id).FirstOrDefault();
                                                var DataCellUnit     = tongcuclamnghiep.m_unit_datareport.Where(d => d.unit_precious_id == IdUnitPreciousBF && d.component_id == DataCell.id).FirstOrDefault();

                                                if (DataCellUnit != null)
                                                {
                                                    duLieuCot.DuLieuText = DataCellUnit.data_text;
                                                }
                                            }
                                        }
                                    }
                                    duLieuCots.Add(duLieuCot);
                                });
                                dongBaoCao.DanhSachCot = duLieuCots;
                                dongBaoCaos.Add(dongBaoCao);
                            });
                        }
                        else
                        {
                            if (_UnitPrecious != null)
                            {
                                tongcuclamnghiep.m_unit_datereport_autorows.Where(b => b.reporttable_id == a.id && b.unit_precious_id == _UnitPrecious.id).GroupBy(b => b.orderrow).ToList().ForEach(b =>
                                {
                                    DongBaoCao dongBaoCao       = new DongBaoCao();
                                    dongBaoCao.RowId            = b.Key.Value;
                                    List <DuLieuCot> duLieuCots = new List <DuLieuCot>();
                                    bangBaoCao.DanhSachTieuDeCol.ToList().ForEach(c =>
                                    {
                                        DuLieuCot duLieuCot = new DuLieuCot();
                                        duLieuCot.TieuDeCot = c;

                                        var DataCell = b.Where(d => d.header_id == c.Id).FirstOrDefault();
                                        if (DataCell != null)
                                        {
                                            duLieuCot.Id         = DataCell.id;
                                            duLieuCot.DuLieuText = DataCell.datatext;
                                        }
                                        duLieuCots.Add(duLieuCot);
                                    });
                                    dongBaoCao.DanhSachCot = duLieuCots;
                                    dongBaoCaos.Add(dongBaoCao);
                                });
                            }
                        }
                        bangBaoCao.DanhSachDong = dongBaoCaos;
                        bangBaoCaos.Add(bangBaoCao);
                    });
                }
            }

            return(bangBaoCaos);
        }
Esempio n. 3
0
        public BangBaoCao GetBangBaoCao(int IdBaoCao)
        {
            BangBaoCao bangBaoCao = new BangBaoCao();
            tongcuclamnghiepEntities tongcuclamnghiep = new tongcuclamnghiepEntities();
            var _BangCao = tongcuclamnghiep.m_reporttable.Where(a => a.id == IdBaoCao && a.autorow == false).FirstOrDefault();

            if (_BangCao != null)
            {
                bangBaoCao.Loai              = _BangCao.autorow == true ? 1 : 0;
                bangBaoCao.SapXep            = _BangCao.order.Value;
                bangBaoCao.TieuDe            = _BangCao.title;
                bangBaoCao.Id                = _BangCao.id;
                bangBaoCao.DanhSachTieuDeCol = GetDanhSachTieuDeHienThi(1, 0, _BangCao.id);

                List <TieuDeBaoCao> tieuDeBaoCaos = new List <TieuDeBaoCao>();

                _BangCao.m_header.OrderBy(b => b.level).ThenBy(b => b.order).ToList().ForEach(b => {
                    TieuDeBaoCao tieuDeBaoCao   = new TieuDeBaoCao();
                    tieuDeBaoCao.Bold           = b.is_bold.Value;
                    tieuDeBaoCao.ColSpan        = b.colspan.Value;
                    tieuDeBaoCao.HeaderId       = b.header_id;
                    tieuDeBaoCao.Id             = b.id;
                    tieuDeBaoCao.IsComponent    = b.is_component.Value;
                    tieuDeBaoCao.IsNo           = b.is_no.Value;
                    tieuDeBaoCao.Level          = b.level.Value;
                    tieuDeBaoCao.Order          = b.order.Value;
                    tieuDeBaoCao.RowSpan        = b.rowspan.Value;
                    tieuDeBaoCao.TextAlignValue = b.valuetextalign;
                    tieuDeBaoCao.TextBoldValue  = b.is_valuebold.Value;
                    tieuDeBaoCao.TextUpperValue = b.is_valueupper.Value;
                    tieuDeBaoCao.TieuDe         = b.headername;
                    tieuDeBaoCao.Upper          = b.is_upper.Value;
                    tieuDeBaoCaos.Add(tieuDeBaoCao);
                });
                bangBaoCao.DanhSachTieuDe = tieuDeBaoCaos;
                List <DongBaoCao> dongBaoCaos = new List <DongBaoCao>();
                _BangCao.m_component.OrderBy(b => b.orderrow).GroupBy(b => b.orderrow).ToList().ForEach(b =>
                {
                    DongBaoCao dongBaoCao       = new DongBaoCao();
                    dongBaoCao.RowId            = b.Key.Value;
                    List <DuLieuCot> duLieuCots = new List <DuLieuCot>();
                    bangBaoCao.DanhSachTieuDeCol.ToList().ForEach(c =>
                    {
                        DuLieuCot duLieuCot = new DuLieuCot();
                        var TieuDeCot       = tieuDeBaoCaos.Where(d => d.Id == c.Id).FirstOrDefault();
                        duLieuCot.TieuDeCot = TieuDeCot;
                        var DataCell        = b.Where(d => d.header_id == TieuDeCot.Id).FirstOrDefault();
                        if (DataCell != null)
                        {
                            duLieuCot.Id         = DataCell.id;
                            duLieuCot.DuLieuText = DataCell.componentname;
                            duLieuCot.TypeValue  = DataCell.typevalue.Value;
                        }
                        duLieuCots.Add(duLieuCot);
                    });
                    dongBaoCao.DanhSachCot = duLieuCots;
                    dongBaoCaos.Add(dongBaoCao);
                });
                bangBaoCao.DanhSachDong = dongBaoCaos;
            }
            return(bangBaoCao);
        }