forked from ddrilling/AsbCloudServer
176 lines
8.3 KiB
C#
176 lines
8.3 KiB
C#
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("Бурение");
|
||
sheet.Cell(AddressFlushing)
|
||
._SetValue("Промывка");
|
||
sheet.Cell(AddressBuilding)
|
||
._SetValue("Наращивание");
|
||
sheet.Cell(AddressElaboration)
|
||
._SetValue("Проработка");
|
||
sheet.Cell(AddressExtension)
|
||
._SetValue("Расширка");
|
||
sheet.Cell(AddressRepair)
|
||
._SetValue("Ремонт");
|
||
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}");
|
||
}
|
||
}
|
||
|
||
}
|
||
|