计算修改2

parent f76984c7
...@@ -802,6 +802,11 @@ ...@@ -802,6 +802,11 @@
材料占比奖罚 材料占比奖罚
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.Extra">
<summary>
医院奖罚
</summary>
</member>
<member name="P:Performance.DtoModels.PerDataAccountBaisc.ScoringAverage"> <member name="P:Performance.DtoModels.PerDataAccountBaisc.ScoringAverage">
<summary> <summary>
考核对分率 考核对分率
...@@ -1202,6 +1207,16 @@ ...@@ -1202,6 +1207,16 @@
核算单元类型 核算单元类型
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.AccountingUnit.EmpNameCellNum">
<summary>
人员名称
</summary>
</member>
<member name="P:Performance.DtoModels.AccountingUnit.JobCellNum">
<summary>
人员工号
</summary>
</member>
<member name="P:Performance.DtoModels.ReportData.ChartType"> <member name="P:Performance.DtoModels.ReportData.ChartType">
<summary> <summary>
......
...@@ -4524,6 +4524,16 @@ ...@@ -4524,6 +4524,16 @@
医院奖罚 医院奖罚
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.res_specialunit.MedicineExtra">
<summary>
药占比奖罚
</summary>
</member>
<member name="P:Performance.EntityModels.res_specialunit.MaterialsExtra">
<summary>
材料占比奖罚
</summary>
</member>
<member name="P:Performance.EntityModels.res_specialunit.Adjust"> <member name="P:Performance.EntityModels.res_specialunit.Adjust">
<summary> <summary>
调节系数 调节系数
......
...@@ -78,10 +78,10 @@ public class PerDataAccountBaisc : IPerData ...@@ -78,10 +78,10 @@ public class PerDataAccountBaisc : IPerData
/// </summary> /// </summary>
public decimal MaterialsExtra { get; set; } public decimal MaterialsExtra { get; set; }
///// <summary> /// <summary>
///// 医院奖罚 /// 医院奖罚
///// </summary> /// </summary>
//public decimal Extra { get; set; } public decimal Extra { get; set; }
/// <summary> /// <summary>
/// 考核对分率 /// 考核对分率
......
...@@ -41,7 +41,7 @@ public class PerSheetHeader ...@@ -41,7 +41,7 @@ public class PerSheetHeader
("职务分类", (t) => t.JobTitle, 1, 1, false, true, false, "JobTitle"), ("职务分类", (t) => t.JobTitle, 1, 1, false, true, false, "JobTitle"),
//("岗位系数", (t) => t.PostCoefficient, 1, 1, false, true, false, "PostCoefficient"), //("岗位系数", (t) => t.PostCoefficient, 1, 1, false, true, false, "PostCoefficient"),
("基础绩效系数", (t) => Math.Round(t.Basics.Value * 100, 2), 1, 1, false, true, false, "Basics"), ("基础绩效系数", (t) => Math.Round(t.Basics.Value * 100, 2), 1, 1, false, true, false, "Basics"),
("效率绩效人数", (t) => Math.Round(t.PermanentStaff.Value * 100, 2), 1, 1, false, true, true, "PermanentStaff"), ("效率绩效人数", (t) => Math.Round((t.PermanentStaff ?? 0) * 100, 2), 1, 1, false, true, true, "PermanentStaff"),
("效率绩效系数", (t) => Math.Round(t.Efficiency.Value * 100, 2), 1, 1, false, true, true, "Efficiency"), ("效率绩效系数", (t) => Math.Round(t.Efficiency.Value * 100, 2), 1, 1, false, true, true, "Efficiency"),
("规模绩效系数", (t) => Math.Round(t.Scale.Value * 100, 2), 1, 1, false, true, true, "Scale"), ("规模绩效系数", (t) => Math.Round(t.Scale.Value * 100, 2), 1, 1, false, true, true, "Scale"),
("管理绩效发放系数", (t) => Math.Round(t.Management.Value * 100, 2), 1, 1, false, true, true, "Management"), ("管理绩效发放系数", (t) => Math.Round(t.Management.Value * 100, 2), 1, 1, false, true, true, "Management"),
......
...@@ -51,5 +51,13 @@ public class AccountingUnit ...@@ -51,5 +51,13 @@ public class AccountingUnit
/// 核算单元类型 /// 核算单元类型
/// </summary> /// </summary>
public string UnitType { get; set; } public string UnitType { get; set; }
/// <summary>
/// 人员名称
/// </summary>
public int? EmpNameCellNum { get; set; }
/// <summary>
/// 人员工号
/// </summary>
public int? JobCellNum { get; set; }
} }
} }
...@@ -77,6 +77,16 @@ public class res_specialunit ...@@ -77,6 +77,16 @@ public class res_specialunit
public Nullable<decimal> Punishment { get; set; } public Nullable<decimal> Punishment { get; set; }
/// <summary> /// <summary>
/// 药占比奖罚
/// </summary>
public decimal MedicineExtra { get; set; }
/// <summary>
/// 材料占比奖罚
/// </summary>
public decimal MaterialsExtra { get; set; }
/// <summary>
/// 调节系数 /// 调节系数
/// </summary> /// </summary>
public Nullable<decimal> Adjust { get; set; } public Nullable<decimal> Adjust { get; set; }
......
...@@ -245,7 +245,8 @@ public void Save(List<PerSheet> perSheets, int allotId) ...@@ -245,7 +245,8 @@ public void Save(List<PerSheet> perSheets, int allotId)
/// <param name="excel"></param> /// <param name="excel"></param>
/// <param name="perSheet"></param> /// <param name="perSheet"></param>
/// <returns></returns> /// <returns></returns>
public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, IEnumerable<AccountUnitTotal> extras) public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, IEnumerable<AccountUnitTotal> extras,
IEnumerable<AccountUnitTotal> drugExtras, IEnumerable<AccountUnitTotal> materialsExtras)
{ {
var accountList = excel.PerSheet.FirstOrDefault(t => t.SheetType == SheetType.AccountBasic)?.PerData?.Select(t => (PerDataAccountBaisc)t); var accountList = excel.PerSheet.FirstOrDefault(t => t.SheetType == SheetType.AccountBasic)?.PerData?.Select(t => (PerDataAccountBaisc)t);
var economicData = perSheet.FirstOrDefault(t => t.SheetType == SheetType.ComputeEconomic)?.PerData?.Select(t => (PerData)t); var economicData = perSheet.FirstOrDefault(t => t.SheetType == SheetType.ComputeEconomic)?.PerData?.Select(t => (PerData)t);
...@@ -270,6 +271,8 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, IEnumerab ...@@ -270,6 +271,8 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, IEnumerab
{ {
//科室奖罚汇总结果 //科室奖罚汇总结果
var extra = extras.FirstOrDefault(w => w.UnitType == unitType.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue; var extra = extras.FirstOrDefault(w => w.UnitType == unitType.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue;
var drugExtra = drugExtras.FirstOrDefault(w => w.UnitType == unitType.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue;
var materialsExtra = materialsExtras.FirstOrDefault(w => w.UnitType == unitType.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue;
var econDoctor = economicData.FirstOrDefault(t => t.UnitType == unitType.ToString() && t.AccountingUnit == dept.AccountingUnit); var econDoctor = economicData.FirstOrDefault(t => t.UnitType == unitType.ToString() && t.AccountingUnit == dept.AccountingUnit);
var workDoctor = info.Data.FirstOrDefault(t => t.UnitType == unitType.ToString() && t.AccountingUnit == dept.AccountingUnit); var workDoctor = info.Data.FirstOrDefault(t => t.UnitType == unitType.ToString() && t.AccountingUnit == dept.AccountingUnit);
...@@ -286,6 +289,9 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, IEnumerab ...@@ -286,6 +289,9 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, IEnumerab
dept.AdjustFactor = dept.AdjustFactor == 0m ? 1 : dept.AdjustFactor; dept.AdjustFactor = dept.AdjustFactor == 0m ? 1 : dept.AdjustFactor;
dept.Income = econDoctor?.CellValue ?? 0; dept.Income = econDoctor?.CellValue ?? 0;
dept.WorkloadFee = workDoctor?.CellValue ?? 0; dept.WorkloadFee = workDoctor?.CellValue ?? 0;
dept.Extra = (extra ?? 0);
dept.MedicineExtra = (drugExtra ?? 0);
dept.MaterialsExtra = (materialsExtra ?? 0);
dept.PerforFee = dept.Income * dept.BasicFactor; dept.PerforFee = dept.Income * dept.BasicFactor;
dept.PerforTotal = Math.Round((dept.PerforFee + dept.WorkloadFee + dept.OtherPerfor1) ?? 0); dept.PerforTotal = Math.Round((dept.PerforFee + dept.WorkloadFee + dept.OtherPerfor1) ?? 0);
dept.RealGiveFee = Math.Round(((dept.PerforTotal * dept.ScoringAverage + dept.MedicineExtra + dept.MaterialsExtra + dept.OtherPerfor2 + (extra ?? 0)) * dept.AdjustFactor) ?? 0); dept.RealGiveFee = Math.Round(((dept.PerforTotal * dept.ScoringAverage + dept.MedicineExtra + dept.MaterialsExtra + dept.OtherPerfor2 + (extra ?? 0)) * dept.AdjustFactor) ?? 0);
...@@ -303,10 +309,10 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, IEnumerab ...@@ -303,10 +309,10 @@ public List<PerSheet> Compute(PerExcel excel, List<PerSheet> perSheet, IEnumerab
/// 获取科室奖罚汇总结果 /// 获取科室奖罚汇总结果
/// </summary> /// </summary>
/// <param name="excel"></param> /// <param name="excel"></param>
public IEnumerable<AccountUnitTotal> GetAccountExtra(PerExcel excel) public IEnumerable<AccountUnitTotal> GetAccountExtra(PerExcel excel, SheetType sheetType)
{ {
var assessList = excel.PerSheet var assessList = excel.PerSheet
.FirstOrDefault(t => t.SheetType == SheetType.AccountExtra) .FirstOrDefault(t => t.SheetType == sheetType)
?.PerData ?.PerData
?.Select(t => (PerData)t); ?.Select(t => (PerData)t);
......
...@@ -105,7 +105,8 @@ public class ResultComputeService : IAutoInjection ...@@ -105,7 +105,8 @@ public class ResultComputeService : IAutoInjection
/// <param name="excel"></param> /// <param name="excel"></param>
/// <param name="allot"></param> /// <param name="allot"></param>
public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<PerSheet> sheetLast, List<res_baiscnorm> baiscnormList, public void SpecialUnitCompute(PerExcel excel, per_allot allot, List<PerSheet> sheetLast, List<res_baiscnorm> baiscnormList,
IEnumerable<AccountUnitTotal> accountExtras, IEnumerable<EmpolyeeTotal> employeeExtra) IEnumerable<AccountUnitTotal> accountExtras, IEnumerable<AccountUnitTotal> drugExtras, IEnumerable<AccountUnitTotal> materialsExtras,
IEnumerable<EmpolyeeTotal> employeeExtra)
{ {
var isBudget = budgetService.GetAdjustAndGrant(allot, out decimal adjust, out decimal grant); var isBudget = budgetService.GetAdjustAndGrant(allot, out decimal adjust, out decimal grant);
var typeList = EnumHelper.GetItems<PerforType>(); var typeList = EnumHelper.GetItems<PerforType>();
...@@ -149,6 +150,11 @@ public class ResultComputeService : IAutoInjection ...@@ -149,6 +150,11 @@ public class ResultComputeService : IAutoInjection
var groupAdjust = isBudget ? adjust : (dept?.AdjustFactor ?? 0); var groupAdjust = isBudget ? adjust : (dept?.AdjustFactor ?? 0);
foreach (var item in accountDataList) foreach (var item in accountDataList)
{ {
//科室奖罚汇总结果
var extra = accountExtras.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue;
var drugExtra = drugExtras.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue;
var materialsExtra = materialsExtras.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue;
var res = new res_specialunit var res = new res_specialunit
{ {
AllotID = allot.ID, AllotID = allot.ID,
...@@ -160,11 +166,11 @@ public class ResultComputeService : IAutoInjection ...@@ -160,11 +166,11 @@ public class ResultComputeService : IAutoInjection
QuantitativeIndicatorsValue = item.QuantitativeIndicatorsValue, QuantitativeIndicatorsValue = item.QuantitativeIndicatorsValue,
ScoringAverage = dept?.ScoringAverage, ScoringAverage = dept?.ScoringAverage,
//OtherPerfor = dept?.OtherPerfor, //OtherPerfor = dept?.OtherPerfor,
//Punishment = group.Punishment, Punishment = (extra ?? 0),
MedicineExtra = (drugExtra ?? 0),
MaterialsExtra = (materialsExtra ?? 0),
Adjust = (groupAdjust == 0) ? 1 : groupAdjust, Adjust = (groupAdjust == 0) ? 1 : groupAdjust,
}; };
//科室奖罚汇总结果
var extra = accountExtras.FirstOrDefault(w => w.UnitType == UnitType.特殊核算组.ToString() && w.AccountingUnit == dept.AccountingUnit)?.TotelValue;
res.GiveFee = Math.Round((sumValue + (extra ?? 0)) ?? 0); res.GiveFee = Math.Round((sumValue + (extra ?? 0)) ?? 0);
res.RealGiveFee = Math.Round(res.GiveFee * (res.ScoringAverage ?? 0) * (groupAdjust == 0 ? 1 : groupAdjust) ?? 0); res.RealGiveFee = Math.Round(res.GiveFee * (res.ScoringAverage ?? 0) * (groupAdjust == 0 ? 1 : groupAdjust) ?? 0);
......
...@@ -341,9 +341,15 @@ public void Generate(per_allot allot, string mail) ...@@ -341,9 +341,15 @@ public void Generate(per_allot allot, string mail)
//logManageService.WriteMsg("计算保底绩效参考标准值", "保存保底绩效参考标准", 1, allot.ID, "ReceiveMessage", true); //logManageService.WriteMsg("计算保底绩效参考标准值", "保存保底绩效参考标准", 1, allot.ID, "ReceiveMessage", true);
//perforResbaiscnormRepository.AddRange(minimumBaiscnorm.ToArray()); //perforResbaiscnormRepository.AddRange(minimumBaiscnorm.ToArray());
//科室奖罚汇总 // 科室奖罚汇总
logManageService.WriteMsg("正在生成绩效", "科室奖罚汇总", 1, allot.ID, "ReceiveMessage", true); logManageService.WriteMsg("正在生成绩效", "科室奖罚汇总", 1, allot.ID, "ReceiveMessage", true);
var accountExtras = processComputService.GetAccountExtra(excel); var accountExtras = processComputService.GetAccountExtra(excel, SheetType.AccountExtra);
// 科室药占比考核
logManageService.WriteMsg("正在生成绩效", "科室药占比考核", 1, allot.ID, "ReceiveMessage", true);
var drugExtras = processComputService.GetAccountExtra(excel, SheetType.AccountDrugAssess);
// 科室材料占比考核
logManageService.WriteMsg("正在生成绩效", "科室材料占比考核", 1, allot.ID, "ReceiveMessage", true);
var materialsExtras = processComputService.GetAccountExtra(excel, SheetType.AccountMaterialsAssess);
////科室药占比考核 ////科室药占比考核
//logManageService.WriteMsg("正在生成绩效", "科室奖罚汇总", 1, allot.ID, "ReceiveMessage", true); //logManageService.WriteMsg("正在生成绩效", "科室奖罚汇总", 1, allot.ID, "ReceiveMessage", true);
...@@ -355,7 +361,7 @@ public void Generate(per_allot allot, string mail) ...@@ -355,7 +361,7 @@ public void Generate(per_allot allot, string mail)
//重新计算科室业绩(含所有提供保底金额) //重新计算科室业绩(含所有提供保底金额)
logManageService.WriteMsg("正在生成绩效", "计算科室业绩分", 1, allot.ID, "ReceiveMessage", true); logManageService.WriteMsg("正在生成绩效", "计算科室业绩分", 1, allot.ID, "ReceiveMessage", true);
var sheetLast = processComputService.Compute(excel, mergeSheets, accountExtras); var sheetLast = processComputService.Compute(excel, mergeSheets, accountExtras, drugExtras, materialsExtras);
//保存计算过程数据 //保存计算过程数据
logManageService.WriteMsg("正在生成绩效", "保存科室业绩结果及计算过程中产生的数据", 1, allot.ID, "ReceiveMessage", true); logManageService.WriteMsg("正在生成绩效", "保存科室业绩结果及计算过程中产生的数据", 1, allot.ID, "ReceiveMessage", true);
...@@ -371,7 +377,7 @@ public void Generate(per_allot allot, string mail) ...@@ -371,7 +377,7 @@ public void Generate(per_allot allot, string mail)
// 计算特殊科室 // 计算特殊科室
logManageService.WriteMsg("正在生成绩效", "计算最终特殊科室绩效数据", 1, allot.ID, "ReceiveMessage", true); logManageService.WriteMsg("正在生成绩效", "计算最终特殊科室绩效数据", 1, allot.ID, "ReceiveMessage", true);
resultComputeService.SpecialUnitCompute(excel, allot, sheetLast, baiscnormList, accountExtras, employeeExtra); resultComputeService.SpecialUnitCompute(excel, allot, sheetLast, baiscnormList, accountExtras, drugExtras, materialsExtras, employeeExtra);
logManageService.WriteMsg("正在生成绩效", "保存最终特殊科室绩效数据", 1, allot.ID, "ReceiveMessage", true); logManageService.WriteMsg("正在生成绩效", "保存最终特殊科室绩效数据", 1, allot.ID, "ReceiveMessage", true);
//保存 绩效人均参考标准 //保存 绩效人均参考标准
......
...@@ -62,7 +62,7 @@ public static IPerSheetDataRead GetDataRead(SheetType sheetType, bool isnew = fa ...@@ -62,7 +62,7 @@ public static IPerSheetDataRead GetDataRead(SheetType sheetType, bool isnew = fa
break; break;
case SheetType.PersonExtra: case SheetType.PersonExtra:
//dataread = new PerSheetDataReadPersonExtra(); // 业务中层行政中高层医院奖罚 //dataread = new PerSheetDataReadPersonExtra(); // 业务中层行政中高层医院奖罚
dataread = new PerSheetDataReadAccountExtra(); dataread = new PerSheetDataReadPersonExtra();
break; break;
case SheetType.AccountDrugAssess: case SheetType.AccountDrugAssess:
dataread = new PerSheetDataReadAccountExtra(); dataread = new PerSheetDataReadAccountExtra();
......
...@@ -25,7 +25,7 @@ public class PerSheetDataReadAccountExtra : IPerSheetDataRead ...@@ -25,7 +25,7 @@ public class PerSheetDataReadAccountExtra : IPerSheetDataRead
{ {
UnitTypeNum = 1, UnitTypeNum = 1,
AccountingUnitCellNum = 2, AccountingUnitCellNum = 2,
DeptCellNum = 3, //DeptCellNum = 3,
} }
} }
}; };
...@@ -56,13 +56,19 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader) ...@@ -56,13 +56,19 @@ public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
SignID = athead.SignID, SignID = athead.SignID,
UnitType = NopiSevice.GetCellStringValue(row.GetCell(unit.UnitTypeNum.Value)), UnitType = NopiSevice.GetCellStringValue(row.GetCell(unit.UnitTypeNum.Value)),
AccountingUnit = NopiSevice.GetCellStringValue(row.GetCell(unit.AccountingUnitCellNum.Value)), AccountingUnit = NopiSevice.GetCellStringValue(row.GetCell(unit.AccountingUnitCellNum.Value)),
Department = NopiSevice.GetCellStringValue(row.GetCell(unit.DeptCellNum.Value)),
TypeName = athead?.CellValue, TypeName = athead?.CellValue,
CellValue = cellValue, CellValue = cellValue,
Annotation = row.GetCell(athead.PointCell)?.CellComment?.String?.String, Annotation = row.GetCell(athead.PointCell)?.CellComment?.String?.String,
FactorValue = 1, FactorValue = 1,
IsFactor = true, IsFactor = true,
}; };
if (unit.DeptCellNum.HasValue)
data.Department = NopiSevice.GetCellStringValue(row.GetCell(unit.DeptCellNum.Value));
if (unit.EmpNameCellNum.HasValue)
data.EmployeeName = NopiSevice.GetCellStringValue(row.GetCell(unit.EmpNameCellNum.Value));
if (unit.JobCellNum.HasValue)
data.JobNumber = NopiSevice.GetCellStringValue(row.GetCell(unit.JobCellNum.Value));
if (string.IsNullOrEmpty(data.AccountingUnit) && string.IsNullOrEmpty(data.Department)) if (string.IsNullOrEmpty(data.AccountingUnit) && string.IsNullOrEmpty(data.Department))
continue; continue;
......
using NPOI.SS.UserModel;
using Performance.DtoModels;
using Performance.Infrastructure;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Performance.Services
{
/// <summary>
/// 科室奖罚
/// </summary>
public class PerSheetDataReadPersonExtra : IPerSheetDataRead
{
public PerSheetPoint Point => new PerSheetPoint
{
HeaderFirstRowNum = 1,
HeaderLastRowNum = 1,
HeaderFirstCellNum = 0,
DataFirstRowNum = 2,
AccountingUnit = new List<AccountingUnit>
{
new AccountingUnit
{
UnitTypeNum = 1,
AccountingUnitCellNum = 2,
JobCellNum = 3,
EmpNameCellNum = 4,
}
}
};
public List<IPerData> ReadData(ISheet sheet, List<PerHeader> perHeader)
{
List<IPerData> dataList = new List<IPerData>();
var unit = Point.AccountingUnit.First();
//查询除了 核算单元 科室名称 有效数据列头位置
var vhead = perHeader.Where(t => t.PointCell != unit.UnitTypeNum && t.PointCell != unit.AccountingUnitCellNum && t.PointCell != unit.DeptCellNum).OrderBy(t => t.PointCell);
for (int r = Point.DataFirstRowNum.Value; r < sheet.LastRowNum + 1; r++)
{
var row = sheet.GetRow(r);
if (row == null) continue;
for (int c = 1; c < vhead.Count(); c++)
{
var athead = vhead.ElementAt(c);
var cellValue = NopiSevice.GetCellValue(row.GetCell(athead.PointCell));
if (!cellValue.HasValue || cellValue.Value == 0)
continue;
PerData data = new PerData
{
RowNumber = r,
SignID = athead.SignID,
UnitType = NopiSevice.GetCellStringValue(row.GetCell(unit.UnitTypeNum.Value)),
AccountingUnit = NopiSevice.GetCellStringValue(row.GetCell(unit.AccountingUnitCellNum.Value)),
TypeName = athead?.CellValue,
CellValue = cellValue,
Annotation = row.GetCell(athead.PointCell)?.CellComment?.String?.String,
FactorValue = 1,
IsFactor = true,
};
if (unit.DeptCellNum.HasValue)
data.Department = NopiSevice.GetCellStringValue(row.GetCell(unit.DeptCellNum.Value));
if (unit.EmpNameCellNum.HasValue)
data.EmployeeName = NopiSevice.GetCellStringValue(row.GetCell(unit.EmpNameCellNum.Value));
if (unit.JobCellNum.HasValue)
data.JobNumber = NopiSevice.GetCellStringValue(row.GetCell(unit.JobCellNum.Value));
if (string.IsNullOrEmpty(data.AccountingUnit) && string.IsNullOrEmpty(data.Department))
continue;
dataList.Add(data);
}
}
return dataList;
}
}
}
...@@ -232,7 +232,8 @@ private void CommonExport(int sheetID, SheetExportResponse response) ...@@ -232,7 +232,8 @@ private void CommonExport(int sheetID, SheetExportResponse response)
if (head.CellValue.Contains("核算单元类型")) if (head.CellValue.Contains("核算单元类型"))
{ {
var value = dataList.FirstOrDefault(t => t.RowNumber == rowNumber).UnitType; var value = dataList.FirstOrDefault(t => t.RowNumber == rowNumber).UnitType;
rowbody.Data.Add(new Cell(head.PointCell.Value, ((UnitType)value).ToString(), 1, 1, false, false)); var unitType = value.HasValue ? ((UnitType)value).ToString() : "";
rowbody.Data.Add(new Cell(head.PointCell.Value, unitType, 1, 1, false, false));
} }
else if (head.CellValue.Contains("核算单元人员数量")) else if (head.CellValue.Contains("核算单元人员数量"))
{ {
......
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