Commit 08837348 by lcx

抽取时更改,保存医护工作量详情(到医生),根据时间删除抽取数据(保留最近5次抽取记录),获取医护工作量详情

parent 0f429ee0
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using FluentValidation.AspNetCore;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Performance.DtoModels; using Performance.DtoModels;
using Performance.EntityModels; using Performance.EntityModels;
...@@ -156,5 +157,17 @@ public ApiResponse DeptDics(int hospitalId, int type) ...@@ -156,5 +157,17 @@ public ApiResponse DeptDics(int hospitalId, int type)
var result = personService.DeptDics(hospitalId, type); var result = personService.DeptDics(hospitalId, type);
return new ApiResponse(ResponseType.OK, result); return new ApiResponse(ResponseType.OK, result);
} }
/// <summary>
/// 科室工作量详情
/// </summary>
/// <returns></returns>
[HttpPost]
[Route("dept/workdetail")]
public ApiResponse DeptWorkloadDetail([CustomizeValidator(RuleSet = "Select"), FromBody] WorkDetailRequest request)
{
var data = personService.DeptWorkloadDetail(request);
return new ApiResponse(ResponseType.OK, data);
}
} }
} }
...@@ -866,6 +866,12 @@ ...@@ -866,6 +866,12 @@
<param name="type">1系统科室 2标准科室 3核算单元</param> <param name="type">1系统科室 2标准科室 3核算单元</param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.PersonController.DeptWorkloadDetail(Performance.DtoModels.WorkDetailRequest)">
<summary>
科室工作量详情
</summary>
<returns></returns>
</member>
<member name="T:Performance.Api.Controllers.ReportController"> <member name="T:Performance.Api.Controllers.ReportController">
<summary> <summary>
报表 报表
......
...@@ -1573,6 +1573,16 @@ ...@@ -1573,6 +1573,16 @@
科室 科室
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.ex_result.DoctorName">
<summary>
医生姓名
</summary>
</member>
<member name="P:Performance.EntityModels.ex_result.PersonnelNumber">
<summary>
人员工号
</summary>
</member>
<member name="P:Performance.EntityModels.ex_result.Category"> <member name="P:Performance.EntityModels.ex_result.Category">
<summary> <summary>
费用类型 费用类型
...@@ -1598,6 +1608,11 @@ ...@@ -1598,6 +1608,11 @@
数据库配置Id 数据库配置Id
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.ex_result.CreateTime">
<summary>
创建时间
</summary>
</member>
<member name="P:Performance.EntityModels.ex_result.IsDelete"> <member name="P:Performance.EntityModels.ex_result.IsDelete">
<summary> <summary>
1 删除 0 未删除 1 删除 0 未删除
...@@ -3393,6 +3408,71 @@ ...@@ -3393,6 +3408,71 @@
数据来源 1 excel 导入 2 计算 数据来源 1 excel 导入 2 计算
</summary> </summary>
</member> </member>
<member name="T:Performance.EntityModels.report_original_workload">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_workload.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_workload.AllotID">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_workload.Year">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_workload.Month">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_workload.HospitalID">
<summary>
医院ID
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_workload.SourceType">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_workload.AccountingUnit">
<summary>
科室核算单元
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_workload.Department">
<summary>
科室
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_workload.DoctorName">
<summary>
医生姓名
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_workload.PersonnelNumber">
<summary>
人员工号
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_workload.Category">
<summary>
费用类型
</summary>
</member>
<member name="P:Performance.EntityModels.report_original_workload.Fee">
<summary>
费用
</summary>
</member>
<member name="T:Performance.EntityModels.rep_group"> <member name="T:Performance.EntityModels.rep_group">
<summary> <summary>
......
...@@ -6,6 +6,8 @@ namespace Performance.DtoModels ...@@ -6,6 +6,8 @@ namespace Performance.DtoModels
{ {
public class ExtractDto public class ExtractDto
{ {
public string DoctorName { get; set; }
public string PersonnelNumber { get; set; }
public string Department { get; set; } public string Department { get; set; }
public string Category { get; set; } public string Category { get; set; }
public decimal Value { get; set; } public decimal Value { get; set; }
......
using FluentValidation;
using System;
using System.Collections.Generic;
using System.Text;
namespace Performance.DtoModels
{
public class WorkDetailRequest
{
public int AllotId { get; set; }
public string AccountingUnit { get; set; }
}
public class WorkDetailRequestValidator : AbstractValidator<WorkDetailRequest>
{
public WorkDetailRequestValidator()
{
RuleSet("Select", () =>
{
RuleFor(x => x.AllotId).NotNull().NotEmpty().GreaterThan(0);
RuleFor(x => x.AccountingUnit).NotNull().NotEmpty();
});
}
}
}
...@@ -32,6 +32,16 @@ public class ex_result ...@@ -32,6 +32,16 @@ public class ex_result
public string Department { get; set; } public string Department { get; set; }
/// <summary> /// <summary>
/// 医生姓名
/// </summary>
public string DoctorName { get; set; }
/// <summary>
/// 人员工号
/// </summary>
public string PersonnelNumber { get; set; }
/// <summary>
/// 费用类型 /// 费用类型
/// </summary> /// </summary>
public string Category { get; set; } public string Category { get; set; }
...@@ -57,6 +67,11 @@ public class ex_result ...@@ -57,6 +67,11 @@ public class ex_result
public int ConfigId { get; set; } public int ConfigId { get; set; }
/// <summary> /// <summary>
/// 创建时间
/// </summary>
public Nullable<DateTime> CreateTime { get; set; }
/// <summary>
/// 1 删除 0 未删除 /// 1 删除 0 未删除
/// </summary> /// </summary>
public int IsDelete { get; set; } public int IsDelete { get; set; }
......
//-----------------------------------------------------------------------
// <copyright file=" report_original_workload.cs">
// * FileName: .cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("report_original_workload")]
public class report_original_workload
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public Nullable<int> AllotID { get; set; }
/// <summary>
/// 年
/// </summary>
public int Year { get; set; }
/// <summary>
/// 月
/// </summary>
public int Month { get; set; }
/// <summary>
/// 医院ID
/// </summary>
public int HospitalID { get; set; }
/// <summary>
///
/// </summary>
public string SourceType { get; set; }
/// <summary>
/// 科室核算单元
/// </summary>
public string AccountingUnit { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 医生姓名
/// </summary>
public string DoctorName { get; set; }
/// <summary>
/// 人员工号
/// </summary>
public string PersonnelNumber { get; set; }
/// <summary>
/// 费用类型
/// </summary>
public string Category { get; set; }
/// <summary>
/// 费用
/// </summary>
public Nullable<decimal> Fee { get; set; }
}
}
...@@ -54,6 +54,6 @@ public class sys_role ...@@ -54,6 +54,6 @@ public class sys_role
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
public int Sort { get; set; } public Nullable<int> Sort { get; set; }
} }
} }
...@@ -21,12 +21,12 @@ namespace Performance.Extract.Api.Controllers ...@@ -21,12 +21,12 @@ namespace Performance.Extract.Api.Controllers
[Route("api/[controller]")] [Route("api/[controller]")]
public class ExtractController : Controller public class ExtractController : Controller
{ {
private readonly DFExtractService1 extractService; private readonly DFExtractService extractService;
private readonly HospitalService hospitalService; private readonly HospitalService hospitalService;
private readonly WebapiUrl url; private readonly WebapiUrl url;
private readonly ILogger<ExtractController> logger; private readonly ILogger<ExtractController> logger;
private readonly IHostingEnvironment evn; private readonly IHostingEnvironment evn;
public ExtractController(DFExtractService1 extractService, public ExtractController(DFExtractService extractService,
HospitalService hospitalService, HospitalService hospitalService,
IOptions<WebapiUrl> url, IOptions<WebapiUrl> url,
ILogger<ExtractController> logger, ILogger<ExtractController> logger,
......
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// <copyright file=" sys_allot.cs"> // <copyright file=" sys_allot.cs">
// * FileName: sys_allot.cs // * FileName: sys_allot.cs
// * history : Created by T4 2019-03-06 16:43:31 // * history : Created by T4 2019-03-06 16:43:31
...@@ -30,7 +30,7 @@ public bool UpdateAllotStates(int allotId, int states, string remark, int genera ...@@ -30,7 +30,7 @@ public bool UpdateAllotStates(int allotId, int states, string remark, int genera
} }
/// <summary> /// <summary>
/// 只支持EXCEL抽取报表数据 /// 只支持EXCEL抽取报表数据
/// </summary> /// </summary>
/// <param name="import"></param> /// <param name="import"></param>
/// <param name="pairs"></param> /// <param name="pairs"></param>
...@@ -46,7 +46,7 @@ public bool ImportData(rep_importconfig import, Dictionary<string, object> pairs ...@@ -46,7 +46,7 @@ public bool ImportData(rep_importconfig import, Dictionary<string, object> pairs
} }
/// <summary> /// <summary>
/// 指定数据源插入MYSQL /// 指定数据源插入MYSQL
/// </summary> /// </summary>
/// <param name="import"></param> /// <param name="import"></param>
/// <param name="pairs"></param> /// <param name="pairs"></param>
...@@ -97,5 +97,79 @@ public bool UpdateData(rep_importconfig import, Dictionary<string, object> pairs ...@@ -97,5 +97,79 @@ public bool UpdateData(rep_importconfig import, Dictionary<string, object> pairs
return flag > 0; return flag > 0;
} }
} }
/// <summary>
/// 清除历史抽取数据
/// </summary>
/// <param name="allotid"></param>
public void ClearResultData(int allotid)
{
using (var connection = context.Database.GetDbConnection())
{
if (connection.State != ConnectionState.Open) connection.Open();
try
{
string clear = "delete from ex_result where allotid = @allotid and isdelete = 1 and createtime < (select min(createtime) from (select distinct createtime from ex_result where allotid = @allotid and isdelete = 1 order by createtime desc limit 4) t);";
connection.Execute(clear, new { allotid }, commandTimeout: 60 * 60);
}
catch (Exception ex)
{
throw ex;
}
}
}
/// <summary>
/// 保存工作量数据
/// </summary>
/// <param name="allot"></param>
/// <param name="parameters"></param>
public void ImportWorkloadData(per_allot allot, object parameters)
{
using (var connection = context.Database.GetDbConnection())
{
if (connection.State != ConnectionState.Open) connection.Open();
using (var transaction = connection.BeginTransaction())
{
try
{
string clear = "delete from report_original_workload where allotid = @allotid and hospitalid = @hospitalid;";
connection.Execute(clear, new { allotid = allot.ID, hospitalid = allot.HospitalId }, commandTimeout: 60 * 60, transaction: transaction);
string insert = "insert into report_original_workload(allotid,year,month,hospitalid,accountingunit,department,doctorname,personnelnumber,category,fee) values(@allotid,@year,@month,@hospitalid,@accountingunit,@department,@doctorname,@personnelnumber,@category,@fee);";
connection.Execute(insert, parameters, commandTimeout: 60 * 60, transaction: transaction);
transaction.Commit();
}
catch (Exception ex)
{
transaction.Rollback();
throw ex;
}
}
}
}
/// <summary>
/// 查询工作量数据
/// </summary>
/// <param name="allotid"></param>
public IEnumerable<report_original_workload> QueryWorkloadData(int allotid, string accountingunit)
{
using (var connection = context.Database.GetDbConnection())
{
if (connection.State != ConnectionState.Open) connection.Open();
try
{
string clear = "select * from report_original_workload where allotid = @allotid and accountingunit = @accountingunit order by fee desc,convert(doctorname using gbk);";
return connection.Query<report_original_workload>(clear, new { allotid, accountingunit }, commandTimeout: 60 * 60);
}
catch (Exception ex)
{
throw ex;
}
}
}
} }
} }
...@@ -458,5 +458,25 @@ public List<TitleValue> DeptDics(int hospitalId, int type) ...@@ -458,5 +458,25 @@ public List<TitleValue> DeptDics(int hospitalId, int type)
} }
return result.Select(t => new TitleValue { Title = t, Value = t }).ToList(); return result.Select(t => new TitleValue { Title = t, Value = t }).ToList();
} }
/// <summary>
/// 科室工作量数据详情
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public object DeptWorkloadDetail(WorkDetailRequest request)
{
var data = perallotRepository.QueryWorkloadData(request.AllotId, request.AccountingUnit);
if (data != null && data.Any())
return data.Select(t => new
{
t.Department,
t.DoctorName,
t.PersonnelNumber,
t.Category,
t.Fee
});
return new string[] { };
}
} }
} }
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