Commit a46c75de by lcx

新增数据

parent 06d34934
......@@ -453,6 +453,34 @@
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.GetDepttypeList(Performance.DtoModels.DrugpropRequest)">
<summary>
获取 药占比类型信息列表
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.DepttypeInsert(Performance.DtoModels.DrugpropRequest)">
<summary>
新增药占比类型
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.DepttypeUpdate(Performance.DtoModels.DrugpropRequest)">
<summary>
修改药占比类型
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.DepttypeDelete(Performance.DtoModels.DrugpropRequest)">
<summary>
删除药占比类型
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.WorkHeader(Performance.DtoModels.WorkItemRequest)">
<summary>
获取工作量绩效列头
......
......@@ -67,6 +67,9 @@
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_check">
<summary> 上传excel文件校验配置 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_depttype">
<summary> 科室类型 </summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_director">
<summary> 规模绩效、效率绩效计算系数配置 </summary>
</member>
......@@ -1130,6 +1133,31 @@
单元格列头名称
</summary>
</member>
<member name="T:Performance.EntityModels.cof_depttype">
<summary>
科室类型
</summary>
</member>
<member name="P:Performance.EntityModels.cof_depttype.ID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_depttype.AllotID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_depttype.Charge">
<summary>
科室
</summary>
</member>
<member name="P:Performance.EntityModels.cof_depttype.ChargeType">
<summary>
可是分类
</summary>
</member>
<member name="T:Performance.EntityModels.cof_director">
<summary>
规模绩效、效率绩效计算系数配置
......@@ -1615,6 +1643,16 @@
工作量倾斜系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.UpdateDate">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.im_accountbasic.UpdateUser">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.im_data">
<summary>
......@@ -1700,6 +1738,16 @@
</summary>
</member>
<member name="P:Performance.EntityModels.im_data.UpdateDate">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.im_data.UpdateUser">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.im_employee">
<summary>
......@@ -1815,6 +1863,16 @@
发放系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee.UpdateDate">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee.UpdateUser">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.im_employee_clinic">
<summary>
......@@ -1935,6 +1993,16 @@
发放系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.UpdateDate">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.im_employee_clinic.UpdateUser">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.im_header">
<summary>
......@@ -2000,6 +2068,16 @@
1 汇总 2原始数据
</summary>
</member>
<member name="P:Performance.EntityModels.im_header.UpdateDate">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.im_header.UpdateUser">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.im_specialunit">
<summary>
特殊科室核算
......@@ -2070,6 +2148,16 @@
调节系数
</summary>
</member>
<member name="P:Performance.EntityModels.im_specialunit.UpdateDate">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.im_specialunit.UpdateUser">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.log_check">
<summary>
......
......@@ -5,6 +5,7 @@
using Performance.EntityModels;
using Performance.Infrastructure;
using Performance.Repository;
using Remotion.Linq.Clauses.ResultOperators;
using System;
using System.Collections.Generic;
using System.Linq;
......@@ -146,99 +147,111 @@ private void SetValue<TEntity>(TEntity entity, Cell cell)
private bool EditFeeData(int userId, OriginalRequest request)
{
var result = false;
var allData = imdataRepository.GetEntities(t => t.SheetID == request.SheetId);
if (allData == null || !allData.Any(t => t.RowNumber == request.RowNumber))
var header = imheaderRepository.GetEntity(t => t.SheetID == request.SheetId && t.PointCell == request.Cell.PointCell);
if (string.IsNullOrEmpty(request.Cell.FieldName))
{
if (header == null)
throw new PerformanceException("提交数据无效");
var updateData = request.Cell;
if (updateData != null)
else
request.Cell.FieldName = header.CellValue;
}
var publicTypes = new string[] { "核算单元(医技组)", "核算单元(医生组)", "核算单元(护理组)", "科室名称" };
if (publicTypes.Contains(request.Cell.FieldName))
result = ImDataPublic(request);
else
{
var data = allData.Where(t => t.RowNumber == request.RowNumber).ToList();
ImDataPublic(request.Cell, data);
var publicTypes = new string[] { "核算单元(医技组)", "核算单元(医生组)", "核算单元(护理组)", "科室名称", "核算单元", "核算单元类型" };
if (!publicTypes.Contains(updateData.FieldName))
if (request.Cell.Id > 0)
{
var type = updateData.CellValue.GetType();
var type = request.Cell.CellValue.GetType();
if (type.Name != "String")
{
var entity = data.FirstOrDefault(w => w.ID == updateData.Id);
entity.CellValue = ConvertHelper.To<decimal?>(updateData.CellValue);
var entity = imdataRepository.GetEntity(w => w.ID == request.Cell.Id);
entity.CellValue = ConvertHelper.To<decimal?>(request.Cell.CellValue);
entity.UpdateDate = DateTime.Now;
entity.UpdateUser = userId;
result = imdataRepository.Update(entity);
}
}
result = imdataRepository.UpdateRange(data.ToArray());
else
result = ImDataInsert(userId, request, header);
}
result = ImDataInsert(userId, request, allData);
return result;
}
private void ImDataPublic(Cell cell, List<im_data> allData)
{
Dictionary<int, string> publicTypes = new Dictionary<int, string>
private bool ImDataPublic(OriginalRequest request)
{
{ (int)UnitType.医技组, "核算单元(医技组)" },
{ (int)UnitType.医生组, "核算单元(医生组)" },
{ (int)UnitType.护理组, "核算单元(护理组)" },
};
foreach (var item in publicTypes)
{
if (cell.FieldName != item.Value)
continue;
var allData = imdataRepository.GetEntities(t => t.SheetID == request.SheetId && t.RowNumber == request.RowNumber);
if (request.Cell == null || allData == null || !allData.Any())
throw new PerformanceException("提交数据无效");
var cellvalue = cell.CellValue.ToString();
var unitType = allData.FirstOrDefault(t => t.UnitType == item.Key).AccountingUnit;
if (cellvalue != unitType)
if (request.Cell.FieldName == "科室名称")
{
var department = allData.FirstOrDefault().Department;
if (request.Cell.CellValue.ToString() != department)
{
allData.Where(t => t.UnitType == item.Key).ToList().ForEach(t =>
allData.ForEach(t =>
{
t.AccountingUnit = cellvalue;
t.Department = request.Cell.CellValue.ToString();
});
}
}
if (cell.FieldName == "科室名称")
else
{
var department = allData.FirstOrDefault().Department;
if (cell.CellValue.ToString() != department)
Dictionary<string, int> publicTypes = new Dictionary<string, int>
{
allData.ForEach(t =>
{ "核算单元(医技组)", (int)UnitType.医技组 },
{ "核算单元(医生组)", (int)UnitType.医生组 },
{ "核算单元(护理组)", (int)UnitType.护理组 },
};
var cellvalue = request.Cell.CellValue.ToString();
var accountingUnit = allData.FirstOrDefault(t => t.UnitType == publicTypes[request.Cell.FieldName]).AccountingUnit;
if (cellvalue != accountingUnit)
{
allData.Where(t => t.UnitType == publicTypes[request.Cell.FieldName]).ToList().ForEach(t =>
{
t.Department = cell.CellValue.ToString();
t.AccountingUnit = cellvalue;
});
}
}
return imdataRepository.UpdateRange(allData.ToArray());
}
private bool ImDataInsert(int userId, OriginalRequest request, List<im_data> allData)
private bool ImDataInsert(int userId, OriginalRequest request, im_header header)
{
if (request.Cell.Id == 0)
return true;
// 列
var header = imheaderRepository.GetEntity(t => t.SheetID == request.SheetId && t.CellValue == request.Cell.FieldName);
var allData = imdataRepository.GetEntities(t => t.SheetID == request.SheetId);
if (request.Cell == null || allData == null || !allData.Any())
throw new PerformanceException("提交数据无效");
// 核算单元、科室
var publicData = allData.First();
var publicData = allData.Where(t => t.RowNumber == request.RowNumber).GroupBy(t => t.UnitType).Select(t => new
{
UnitType = t.Key,
AccountingUnit = t.Max(group => group.AccountingUnit),
Department = t.Max(group => group.Department),
});
// rownumber含有的核算类型
var unittype = allData.Where(t => t.RowNumber == request.RowNumber).Select(t => t.UnitType).Distinct();
var factor = allData.Where(t => unittype.Contains(t.UnitType)).GroupBy(t => new { t.UnitType, t.TypeName }).Select(t => new
var factor = allData.Where(t => unittype.Contains(t.UnitType) && t.TypeName == request.Cell.FieldName)
.GroupBy(t => new { t.UnitType, t.TypeName }).Select(t => new
{
UnitType = t.Key.UnitType,
TypeName = t.Key.TypeName,
t.Key.UnitType,
t.Key.TypeName,
FactorValue = t.Max(group => group.FactorValue)
});
var allotid = allData.First().AllotID;
var newData = factor.Select(t => new im_data
{
RowNumber = request.RowNumber,
AccountingUnit = publicData.AccountingUnit,
Department = publicData.Department,
AccountingUnit = publicData.FirstOrDefault(w => w.UnitType == t.UnitType)?.AccountingUnit,
Department = publicData.FirstOrDefault(w => w.UnitType == t.UnitType)?.Department,
UnitType = t.UnitType,
TypeName = request.Cell.FieldName,
CellValue = ConvertHelper.To<decimal>(request.Cell.CellValue),
IsFactor = 1,
FactorValue = t.FactorValue,
SignID = header.SignID,
SheetID = request.SheetId,
AllotID = allotid,
UpdateDate = DateTime.Now,
UpdateUser = userId,
});
......
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