Commit 673ca699 by lcx

划拨数据写入

parent 0cb685da
using Microsoft.Extensions.Logging;
using NPOI.SS.UserModel;
using Performance.DtoModels;
using Performance.Repository;
using System;
using System.Collections.Generic;
using System.Linq;
namespace Performance.Services.ExtractExcelService.SheetDataWrite
{
public class CostTransferDataWrite
{
private readonly ILogger logger;
private readonly PerforCosttransferRepository costtransferRepository;
private readonly PerforCosttransferitemRepository costtransferitemRepository;
public CostTransferDataWrite(ILogger<CostTransferDataWrite> logger,
PerforCosttransferRepository costtransferRepository,
PerforCosttransferitemRepository costtransferitemRepository)
{
this.logger = logger;
this.costtransferRepository = costtransferRepository;
this.costtransferitemRepository = costtransferitemRepository;
}
public void WriteSheetData(ISheet sheet, PerSheetPoint point, SheetType sheetType, ExcelStyle style, int allotId)
{
try
{
var costTransfers = costtransferRepository.GetEntities(t => t.AllotId == allotId);
if (costTransfers == null || !costTransfers.Any()) return;
var costTransferItems = costtransferitemRepository.GetEntities(t => costTransfers.Select(c => c.Id).Contains(t.TransferId));
if (costTransferItems == null || !costTransferItems.Any()) return;
var header = sheet.GetRow(point.HeaderFirstRowNum.Value);
if (header == null) return;
List<string> fixedColumns = new List<string> { "划拨(出)收入", "划拨(入)收入", "划拨收入(医技)", "划拨收入(医生)", "划拨收入(护理)" };
for (int i = point.HeaderFirstCellNum.Value; i < header.LastCellNum; i++)
{
var column = header.GetCell(i)?.GetDecodeEscapes().Replace("(", "(").Replace(")", ")");
if (!string.IsNullOrEmpty(column) && fixedColumns.Any(t => t == column))
{
fixedColumns.Remove(column);
}
}
if (fixedColumns != null && fixedColumns.Any())
{
var index = point.HeaderFirstCellNum.Value + 1;
foreach (var column in fixedColumns)
{
var cell = header.CreateCell(index);
cell.SetCellValue(column);
}
}
var columns = header.GetCellValues();
}
catch (Exception ex)
{
logger.LogError("写入划拨数据异常:" + ex);
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment