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); }
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); }
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); }