DD.WellWorkover.Cloud/AsbCloudInfrastructure/Services/DailyReport/DailyReportBlocks/TimeBalanceBlock.cs

176 lines
8.3 KiB
C#
Raw Normal View History

using AsbCloudApp.Data.DailyReport;
using ClosedXML.Excel;
namespace AsbCloudInfrastructure.Services.DailyReport.DailyReportBlocks
{
class TimeBalanceBlock : BlockAbstract
{
private readonly TimeBalanceDto blockDto;
public CellAddress AddressTitle { get; }
public CellAddress AddressDrilling { get; set; }
public CellAddress AddressFlushing { get; set; }
public CellAddress AddressBuilding { get; set; }
public CellAddress AddressElaboration { get; set; }
public CellAddress AddressExtension { get; set; }
public CellAddress AddressRepair { get; set; }
public CellAddress AddressDrillingValue { get; set; }
public CellAddress AddressFlushingValue { get; set; }
public CellAddress AddressBuildingValue { get; set; }
public CellAddress AddressElaborationValue { get; set; }
public CellAddress AddressExtensionValue { get; set; }
public CellAddress AddressRepairValue { get; set; }
public CellAddress AddressKnbk { get; set; }
public CellAddress AddressSpo { get; set; }
public CellAddress AddressPzr { get; set; }
public CellAddress AddressPvo { get; set; }
public CellAddress AddressPgr { get; set; }
public CellAddress AddressGis { get; set; }
public CellAddress AddressKnbkValue { get; set; }
public CellAddress AddressSpoValue { get; set; }
public CellAddress AddressPzrValue { get; set; }
public CellAddress AddressPvoValue { get; set; }
public CellAddress AddressPgrValue { get; set; }
public CellAddress AddressGisValue { get; set; }
public CellAddress AddressOzc { get; set; }
public CellAddress AddressEngineeringWorks { get; set; }
public CellAddress AddressTakingMeasure { get; set; }
public CellAddress AddressCementing { get; set; }
public CellAddress AddressSimple { get; set; }
public CellAddress AddressNpv { get; set; }
public CellAddress AddressOzcValue { get; set; }
public CellAddress AddressEngineeringWorksValue { get; set; }
public CellAddress AddressTakingMeasureValue { get; set; }
public CellAddress AddressCementingValue { get; set; }
public CellAddress AddressSimpleValue { get; set; }
public CellAddress AddressNpvValue { get; set; }
public CellAddress[] AddressPeriodTableDataArray { get; }
public override CellAddress AddressBlockBegin { get; }
public override CellAddress AddressBlockEnd { get; }
public TimeBalanceBlock(CellAddress addressBlockBegin, TimeBalanceDto blockDto)
{
AddressBlockBegin = addressBlockBegin.Copy();
this.blockDto = blockDto;
AddressTitle = addressBlockBegin + (1, 3);
AddressDrilling = addressBlockBegin + (2, 1);
AddressFlushing = addressBlockBegin + (3, 1);
AddressBuilding = addressBlockBegin + (4, 1);
AddressElaboration = addressBlockBegin + (5, 1);
AddressExtension = addressBlockBegin + (6, 1);
AddressRepair = addressBlockBegin + (7, 1);
AddressDrillingValue = addressBlockBegin + (2, 2);
AddressFlushingValue = addressBlockBegin + (3, 2);
AddressBuildingValue = addressBlockBegin + (4, 2);
AddressElaborationValue = addressBlockBegin + (5, 2);
AddressExtensionValue = addressBlockBegin + (6, 2);
AddressRepairValue = addressBlockBegin + (7, 2);
AddressKnbk = addressBlockBegin + (2, 3);
AddressSpo = addressBlockBegin + (3, 3);
AddressPzr = addressBlockBegin + (4, 3);
AddressPvo = addressBlockBegin + (5, 3);
AddressPgr = addressBlockBegin + (6, 3);
AddressGis = addressBlockBegin + (7, 3);
AddressKnbkValue = addressBlockBegin + (2, 4);
AddressSpoValue = addressBlockBegin + (3, 4);
AddressPzrValue = addressBlockBegin + (4, 4);
AddressPvoValue = addressBlockBegin + (5, 4);
AddressPgrValue = addressBlockBegin + (6, 4);
AddressGisValue = addressBlockBegin + (7, 4);
AddressOzc = addressBlockBegin + (2, 5);
AddressEngineeringWorks = addressBlockBegin + (3, 5);
AddressTakingMeasure = addressBlockBegin + (4, 5);
AddressCementing = addressBlockBegin + (5, 5);
AddressSimple = addressBlockBegin + (6, 5);
AddressNpv = addressBlockBegin + (7, 5);
AddressOzcValue = addressBlockBegin + (2, 6);
AddressEngineeringWorksValue = addressBlockBegin + (3, 6);
AddressTakingMeasureValue = addressBlockBegin + (4, 6);
AddressCementingValue = addressBlockBegin + (5, 6);
AddressSimpleValue = addressBlockBegin + (6, 6);
AddressNpvValue = addressBlockBegin + (7, 6);
AddressBlockEnd = AddressNpvValue;
}
public override void Draw(IXLWorksheet sheet)
{
sheet.Range(AddressTitle.RowNumber, AddressTitle.ColumnNumber, AddressTitle.RowNumber, AddressTitle.ColumnNumber + 1)
.Merge()
.SetValue("БАЛАНС ВРЕМЕНИ");
sheet.Cell(AddressDrilling)
._SetValue("Бурение", true);
sheet.Cell(AddressFlushing)
._SetValue("Промывка", true);
sheet.Cell(AddressBuilding)
._SetValue("Наращивание", true);
sheet.Cell(AddressElaboration)
._SetValue("Проработка", true);
sheet.Cell(AddressExtension)
._SetValue("Расширка", true);
sheet.Cell(AddressRepair)
._SetValue("Ремонт", true);
sheet.Cell(AddressDrillingValue)
._SetValue($"{blockDto.Drilling}");
sheet.Cell(AddressFlushingValue)
._SetValue($"{blockDto.Flushing}");
sheet.Cell(AddressBuildingValue)
._SetValue($"{blockDto.Building}");
sheet.Cell(AddressElaborationValue)
._SetValue($"{blockDto.Elaboration}");
sheet.Cell(AddressExtensionValue)
._SetValue($"{blockDto.Extension}");
sheet.Cell(AddressRepairValue)
._SetValue($"{blockDto.Repair}");
sheet.Cell(AddressKnbk)
._SetValue("КНБК");
sheet.Cell(AddressSpo)
._SetValue("СПО");
sheet.Cell(AddressPzr)
._SetValue("ПЗР");
sheet.Cell(AddressPvo)
._SetValue("ПВО");
sheet.Cell(AddressPgr)
._SetValue("ПГР");
sheet.Cell(AddressGis)
._SetValue("ГИС");
sheet.Cell(AddressKnbkValue)
._SetValue($"{blockDto.Knbk}");
sheet.Cell(AddressSpoValue)
._SetValue($"{blockDto.Spo}");
sheet.Cell(AddressPzrValue)
._SetValue($"{blockDto.Pzr}");
sheet.Cell(AddressPvoValue)
._SetValue($"{blockDto.Pvo}");
sheet.Cell(AddressPgrValue)
._SetValue($"{blockDto.Pgr}");
sheet.Cell(AddressGisValue)
._SetValue($"{blockDto.Gis}");
sheet.Cell(AddressOzc)
._SetValue("ОЗЦ");
sheet.Cell(AddressEngineeringWorks)
._SetValue("Тех. работы");
sheet.Cell(AddressTakingMeasure)
._SetValue("Снятие замера");
sheet.Cell(AddressCementing)
._SetValue("Цементирование");
sheet.Cell(AddressSimple)
._SetValue("Простой");
sheet.Cell(AddressNpv)
._SetValue("НПВ");
sheet.Cell(AddressOzcValue)
._SetValue($"{blockDto.Ozc}");
sheet.Cell(AddressEngineeringWorksValue)
._SetValue($"{blockDto.EngineeringWorks}");
sheet.Cell(AddressTakingMeasureValue)
._SetValue($"{blockDto.TakingMeasure}");
sheet.Cell(AddressCementingValue)
._SetValue($"{blockDto.Cementing}");
sheet.Cell(AddressSimpleValue)
._SetValue($"{blockDto.Simple}");
sheet.Cell(AddressNpvValue)
._SetValue($"{blockDto.Npv}");
}
}
}