完整保存

parent 7835087f
...@@ -70,6 +70,7 @@ public AutoMapperConfigs() ...@@ -70,6 +70,7 @@ public AutoMapperConfigs()
.ForMember(dest => dest.UnitType, opt => opt.MapFrom(src => src.UnitType == "医生组" ? 1 : (src.UnitType == "护理组" ? 2 : 0))); .ForMember(dest => dest.UnitType, opt => opt.MapFrom(src => src.UnitType == "医生组" ? 1 : (src.UnitType == "护理组" ? 2 : 0)));
CreateMap<PerDataEmployee, im_employee>(); CreateMap<PerDataEmployee, im_employee>();
CreateMap<PerDataDeptAccounting, im_deptaccounting>();
} }
} }
} }
...@@ -30,6 +30,6 @@ public enum SheetType ...@@ -30,6 +30,6 @@ public enum SheetType
[Description("特殊核算单元")] [Description("特殊核算单元")]
SpecialUnit = 8, SpecialUnit = 8,
[Description("核算单元统一系数")] [Description("核算单元统一系数")]
UnifyUnit = 9, DeptAccounting = 9,
} }
} }
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
namespace Performance.DtoModels namespace Performance.DtoModels
{ {
public class PerDataUnifyUnit : IPerData public class PerDataDeptAccounting : IPerData
{ {
/// <summary> /// <summary>
/// 核算单元 /// 核算单元
......
...@@ -24,5 +24,6 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options) ...@@ -24,5 +24,6 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
public virtual DbSet<im_employee> Im_Employee { get; set; } public virtual DbSet<im_employee> Im_Employee { get; set; }
public virtual DbSet<im_header> Im_Header { get; set; } public virtual DbSet<im_header> Im_Header { get; set; }
public virtual DbSet<im_data> Im_Data { get; set; } public virtual DbSet<im_data> Im_Data { get; set; }
public virtual DbSet<im_deptaccounting> Im_DeptAccounting { get; set; }
} }
} }
//-----------------------------------------------------------------------
// <copyright file=" im_deptaccounting.cs">
// * FileName: im_deptaccounting.cs
// * history : 2019-03-19 13:24:29
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
namespace Performance.EntityModels
{
/// <summary>
/// im_deptaccounting Entity Model
/// </summary>
public class im_deptaccounting
{
/// <summary>
///
/// </summary>
[Key]
public int ID { get; set; }
/// <summary>
///
/// </summary>
public int SheetID { get; set; }
/// <summary>
/// 核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 核算单元医生数量
/// </summary>
public Nullable<int> DoctorNumber { get; set; }
/// <summary>
/// 医生预设总系数
/// </summary>
public Nullable<decimal> DoctorFactor { get; set; }
/// <summary>
/// 其他绩效1
/// </summary>
public Nullable<decimal> DoctorOtherPerfor1 { get; set; }
/// <summary>
/// 其他绩效2
/// </summary>
public Nullable<decimal> DoctorOtherPerfor2 { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public Nullable<decimal> DoctorExtra { get; set; }
/// <summary>
/// 考核对分率
/// </summary>
public Nullable<decimal> DoctorScoringAverage { get; set; }
/// <summary>
/// 核算单元护士数量
/// </summary>
public Nullable<int> NurseNumber { get; set; }
/// <summary>
/// 护理预设总系数
/// </summary>
public Nullable<decimal> NurseFactor { get; set; }
/// <summary>
/// 其他绩效1
/// </summary>
public Nullable<decimal> NurseOtherPerfor1 { get; set; }
/// <summary>
/// 其他绩效2
/// </summary>
public Nullable<decimal> NurseOtherPerfor2 { get; set; }
/// <summary>
/// 医院奖罚
/// </summary>
public Nullable<decimal> NurseExtra { get; set; }
/// <summary>
/// 考核对分率
/// </summary>
public Nullable<decimal> NurseScoringAverage { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file=" im_deptaccounting.cs">
// * FileName: im_deptaccounting.cs
// * history : Created by T4 2019-03-19 13:24:26
// </copyright>
//-----------------------------------------------------------------------
using Performance.EntityModels;
using System;
namespace Performance.Repository
{
/// <summary>
/// im_deptaccounting Repository
/// </summary>
public class PerforImDeptAccountingRepository : PerforRepository<im_deptaccounting>
{
public PerforImDeptAccountingRepository(PerformanceDbContext context) : base(context)
{
}
}
}
...@@ -22,12 +22,14 @@ public class PerExcelService : IAutoInjection ...@@ -22,12 +22,14 @@ public class PerExcelService : IAutoInjection
private PerforImDataRepository _perforImDataRepository; private PerforImDataRepository _perforImDataRepository;
private PerforImHeaderRepository _perforImHeaderRepository; private PerforImHeaderRepository _perforImHeaderRepository;
private PerforImEmployeeRepository _perforImEmployeeRepository; private PerforImEmployeeRepository _perforImEmployeeRepository;
private PerforImDeptAccountingRepository _perforImDeptAccountingRepository;
public PerExcelService(PerSheetService perSheetService, public PerExcelService(PerSheetService perSheetService,
PerHeaderService perHeaderService, PerHeaderService perHeaderService,
PerforImSheetRepository perforImSheetRepository, PerforImSheetRepository perforImSheetRepository,
PerforImDataRepository perforImDataRepository, PerforImDataRepository perforImDataRepository,
PerforImHeaderRepository perforImHeaderRepository, PerforImHeaderRepository perforImHeaderRepository,
PerforImEmployeeRepository perforImEmployeeRepository) PerforImEmployeeRepository perforImEmployeeRepository,
PerforImDeptAccountingRepository perforImDeptAccountingRepository)
{ {
_perSheetService = perSheetService; _perSheetService = perSheetService;
_perHeaderService = perHeaderService; _perHeaderService = perHeaderService;
...@@ -35,6 +37,7 @@ public class PerExcelService : IAutoInjection ...@@ -35,6 +37,7 @@ public class PerExcelService : IAutoInjection
_perforImDataRepository = perforImDataRepository; _perforImDataRepository = perforImDataRepository;
_perforImHeaderRepository = perforImHeaderRepository; _perforImHeaderRepository = perforImHeaderRepository;
_perforImEmployeeRepository = perforImEmployeeRepository; _perforImEmployeeRepository = perforImEmployeeRepository;
_perforImDeptAccountingRepository = perforImDeptAccountingRepository;
} }
/// <summary> /// <summary>
...@@ -98,20 +101,30 @@ public void Save(List<PerSheet> perSheets, int allotId, int source) ...@@ -98,20 +101,30 @@ public void Save(List<PerSheet> perSheets, int allotId, int source)
{ {
foreach (var sheet in perSheets) foreach (var sheet in perSheets)
{ {
var imsheet = new im_sheet { AllotID = allotId, SheetName = sheet.SheetName, Source = source, SheetType = (int)sheet.SheetType };
_perforImSheetRepository.Add(imsheet);
if (sheet.SheetType == SheetType.Employee) if (sheet.SheetType == SheetType.Employee)
{ {
var dataList = sheet.PerData.Select(t => (PerDataEmployee)t); var dataList = sheet.PerData.Select(t => (PerDataEmployee)t);
foreach (var data in dataList) foreach (var data in dataList)
{ {
var imdata = Mapper.Map<im_employee>(data); var imdata = Mapper.Map<im_employee>(data);
imdata.SheetID = imsheet.ID;
_perforImEmployeeRepository.Add(imdata); _perforImEmployeeRepository.Add(imdata);
} }
} }
else if (sheet.SheetType == SheetType.DeptAccounting)
{
var dataList = sheet.PerData.Select(t => (PerDataDeptAccounting)t);
foreach (var data in dataList)
{
var imdata = Mapper.Map<im_deptaccounting>(data);
imdata.SheetID = imsheet.ID;
_perforImDeptAccountingRepository.Add(imdata);
}
}
else else
{ {
var imsheet = new im_sheet { AllotID = allotId, SheetName = sheet.SheetName, Source = source, SheetType = (int)sheet.SheetType };
_perforImSheetRepository.Add(imsheet);
foreach (var header in sheet.PerHeader) foreach (var header in sheet.PerHeader)
{ {
var imheader = Mapper.Map<im_header>(header); var imheader = Mapper.Map<im_header>(header);
......
...@@ -38,8 +38,8 @@ public static IPerSheetDataRead GetDataRead(SheetType sheetType) ...@@ -38,8 +38,8 @@ public static IPerSheetDataRead GetDataRead(SheetType sheetType)
case SheetType.Workload: case SheetType.Workload:
dataread = new PerSheetDataReadWorkload(); dataread = new PerSheetDataReadWorkload();
break; break;
case SheetType.UnifyUnit: case SheetType.DeptAccounting:
dataread = new PerSheetDataReadUnifyUnit(); dataread = new PerSheetDataReadDeptAccountingt();
break; break;
} }
return dataread; return dataread;
......
...@@ -57,8 +57,8 @@ public SheetType GetSheetType(string sheetName) ...@@ -57,8 +57,8 @@ public SheetType GetSheetType(string sheetName)
return SheetType.Expend; return SheetType.Expend;
else if (sheetName.StartsWith("3.")) else if (sheetName.StartsWith("3."))
return SheetType.Workload; return SheetType.Workload;
//else if (sheetName.StartsWith("4.1")) else if (sheetName.StartsWith("4.1"))
// return SheetType.UnifyUnit; return SheetType.DeptAccounting;
return SheetType.Unidentifiable; return SheetType.Unidentifiable;
} }
......
...@@ -11,12 +11,8 @@ namespace Performance.Services ...@@ -11,12 +11,8 @@ namespace Performance.Services
/// <summary> /// <summary>
/// 临床科室单元核算表 /// 临床科室单元核算表
/// </summary> /// </summary>
public class PerSheetDataReadUnifyUnit : IPerSheetDataRead public class PerSheetDataReadDeptAccountingt : IPerSheetDataRead
{ {
public PerSheetDataReadUnifyUnit()
{
}
public PerSheetPoint Point => new PerSheetPoint public PerSheetPoint Point => new PerSheetPoint
{ {
HeaderFirstRowNum = 0, HeaderFirstRowNum = 0,
...@@ -36,7 +32,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader) ...@@ -36,7 +32,7 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
var accountingUnit = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "核算单元").PointCell).ToString(); var accountingUnit = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "核算单元").PointCell).ToString();
if (string.IsNullOrEmpty(accountingUnit)) if (string.IsNullOrEmpty(accountingUnit))
continue; continue;
PerDataUnifyUnit unifyUnit = new PerDataUnifyUnit PerDataDeptAccounting unifyUnit = new PerDataDeptAccounting
{ {
RowNumber = r, RowNumber = r,
AccountingUnit = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "核算单元").PointCell).ToString(), AccountingUnit = row.GetCell(perHeader.FirstOrDefault(p => p.CellValue == "核算单元").PointCell).ToString(),
......
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