Commit 352a09da by lcx

绩效生成方式修改、原始数据修改

parent a46c75de
...@@ -52,7 +52,7 @@ public class AllotController : Controller ...@@ -52,7 +52,7 @@ public class AllotController : Controller
/// <returns></returns> /// <returns></returns>
[Route("list")] [Route("list")]
[HttpPost] [HttpPost]
public ApiResponse List([FromBody]AllotRequest request) public ApiResponse List([FromBody] AllotRequest request)
{ {
List<AllotResponse> allots = _allotService.GetAllotList(request.HospitalId); List<AllotResponse> allots = _allotService.GetAllotList(request.HospitalId);
return new ApiResponse(ResponseType.OK, allots); return new ApiResponse(ResponseType.OK, allots);
...@@ -65,7 +65,7 @@ public ApiResponse List([FromBody]AllotRequest request) ...@@ -65,7 +65,7 @@ public ApiResponse List([FromBody]AllotRequest request)
/// <returns></returns> /// <returns></returns>
[Route("list/success")] [Route("list/success")]
[HttpPost] [HttpPost]
public ApiResponse Success([FromBody]AllotRequest request) public ApiResponse Success([FromBody] AllotRequest request)
{ {
List<AllotResponse> allots = _allotService.GetSuccAllotList(request.HospitalId); List<AllotResponse> allots = _allotService.GetSuccAllotList(request.HospitalId);
return new ApiResponse(ResponseType.OK, allots); return new ApiResponse(ResponseType.OK, allots);
...@@ -78,7 +78,7 @@ public ApiResponse Success([FromBody]AllotRequest request) ...@@ -78,7 +78,7 @@ public ApiResponse Success([FromBody]AllotRequest request)
/// <returns></returns> /// <returns></returns>
[Route("insert")] [Route("insert")]
[HttpPost] [HttpPost]
public ApiResponse Insert([CustomizeValidator(RuleSet = "Insert"), FromBody]AllotRequest request) public ApiResponse Insert([CustomizeValidator(RuleSet = "Insert"), FromBody] AllotRequest request)
{ {
var userId = _claim.GetUserId(); var userId = _claim.GetUserId();
var result = _allotService.InsertAllot(request, userId); var result = _allotService.InsertAllot(request, userId);
...@@ -93,7 +93,7 @@ public ApiResponse Insert([CustomizeValidator(RuleSet = "Insert"), FromBody]Allo ...@@ -93,7 +93,7 @@ public ApiResponse Insert([CustomizeValidator(RuleSet = "Insert"), FromBody]Allo
/// <returns></returns> /// <returns></returns>
[Route("update")] [Route("update")]
[HttpPost] [HttpPost]
public ApiResponse<AllotResponse> Update([CustomizeValidator(RuleSet = "Update"), FromBody]AllotRequest request) public ApiResponse<AllotResponse> Update([CustomizeValidator(RuleSet = "Update"), FromBody] AllotRequest request)
{ {
var result = _allotService.UpdateAllot(request); var result = _allotService.UpdateAllot(request);
return new ApiResponse<AllotResponse>(ResponseType.OK, result); return new ApiResponse<AllotResponse>(ResponseType.OK, result);
...@@ -106,7 +106,7 @@ public ApiResponse<AllotResponse> Update([CustomizeValidator(RuleSet = "Update") ...@@ -106,7 +106,7 @@ public ApiResponse<AllotResponse> Update([CustomizeValidator(RuleSet = "Update")
/// <returns></returns> /// <returns></returns>
[Route("delete")] [Route("delete")]
[HttpPost] [HttpPost]
public ApiResponse Delete([CustomizeValidator(RuleSet = "Delete"), FromBody]AllotRequest request) public ApiResponse Delete([CustomizeValidator(RuleSet = "Delete"), FromBody] AllotRequest request)
{ {
bool result = _allotService.DeleteAllot(request.ID); bool result = _allotService.DeleteAllot(request.ID);
return new ApiResponse(ResponseType.OK); return new ApiResponse(ResponseType.OK);
...@@ -150,6 +150,7 @@ public ApiResponse Import([FromForm] IFormCollection form) ...@@ -150,6 +150,7 @@ public ApiResponse Import([FromForm] IFormCollection form)
allot.States = (int)AllotStates.FileUploaded; allot.States = (int)AllotStates.FileUploaded;
allot.Remark = EnumHelper.GetDescription(AllotStates.FileUploaded); allot.Remark = EnumHelper.GetDescription(AllotStates.FileUploaded);
allot.UploadDate = DateTime.Now; allot.UploadDate = DateTime.Now;
allot.Generate = (int)AllotGenerate.Init;
if (!_allotService.Update(allot)) if (!_allotService.Update(allot))
return new ApiResponse(ResponseType.Fail, $"{file.FileName}上传成功,修改状态失败"); return new ApiResponse(ResponseType.Fail, $"{file.FileName}上传成功,修改状态失败");
_configService.Clear(allot.ID); _configService.Clear(allot.ID);
...@@ -165,7 +166,7 @@ public ApiResponse Import([FromForm] IFormCollection form) ...@@ -165,7 +166,7 @@ public ApiResponse Import([FromForm] IFormCollection form)
/// <returns></returns> /// <returns></returns>
[Route("generate")] [Route("generate")]
[HttpPost] [HttpPost]
public ApiResponse Generate([CustomizeValidator(RuleSet = "Delete"), FromBody]AllotRequest request) public ApiResponse Generate([CustomizeValidator(RuleSet = "Delete"), FromBody] AllotRequest request)
{ {
var allot = _allotService.GetAllot(request.ID); var allot = _allotService.GetAllot(request.ID);
if (null == allot || string.IsNullOrEmpty(allot.Path)) if (null == allot || string.IsNullOrEmpty(allot.Path))
...@@ -193,7 +194,7 @@ public ApiResponse Generate([CustomizeValidator(RuleSet = "Delete"), FromBody]Al ...@@ -193,7 +194,7 @@ public ApiResponse Generate([CustomizeValidator(RuleSet = "Delete"), FromBody]Al
/// <returns></returns> /// <returns></returns>
[Route("pigeonhole")] [Route("pigeonhole")]
[HttpPost] [HttpPost]
public ApiResponse Pigeonhole([CustomizeValidator(RuleSet = "Delete"), FromBody]AllotRequest request) public ApiResponse Pigeonhole([CustomizeValidator(RuleSet = "Delete"), FromBody] AllotRequest request)
{ {
var allot = _allotService.GetAllot(request.ID); var allot = _allotService.GetAllot(request.ID);
if (null == allot) if (null == allot)
...@@ -209,7 +210,7 @@ public ApiResponse Pigeonhole([CustomizeValidator(RuleSet = "Delete"), FromBody] ...@@ -209,7 +210,7 @@ public ApiResponse Pigeonhole([CustomizeValidator(RuleSet = "Delete"), FromBody]
/// <returns></returns> /// <returns></returns>
[Route("checkrecord")] [Route("checkrecord")]
[HttpPost] [HttpPost]
public ApiResponse CheckRecord([CustomizeValidator(RuleSet = "Delete"), FromBody]AllotRequest request) public ApiResponse CheckRecord([CustomizeValidator(RuleSet = "Delete"), FromBody] AllotRequest request)
{ {
var allot = _allotService.GetAllot(request.ID); var allot = _allotService.GetAllot(request.ID);
if (null == allot) if (null == allot)
...@@ -226,7 +227,7 @@ public ApiResponse CheckRecord([CustomizeValidator(RuleSet = "Delete"), FromBody ...@@ -226,7 +227,7 @@ public ApiResponse CheckRecord([CustomizeValidator(RuleSet = "Delete"), FromBody
/// <returns></returns> /// <returns></returns>
[Route("allotcheckresult")] [Route("allotcheckresult")]
[HttpPost] [HttpPost]
public ApiResponse AllotCheckResult([CustomizeValidator(RuleSet = "Delete"), FromBody]AllotRequest request) public ApiResponse AllotCheckResult([CustomizeValidator(RuleSet = "Delete"), FromBody] AllotRequest request)
{ {
var allot = _allotService.GetAllot(request.ID); var allot = _allotService.GetAllot(request.ID);
if (null == allot) if (null == allot)
...@@ -242,7 +243,7 @@ public ApiResponse AllotCheckResult([CustomizeValidator(RuleSet = "Delete"), Fro ...@@ -242,7 +243,7 @@ public ApiResponse AllotCheckResult([CustomizeValidator(RuleSet = "Delete"), Fro
/// <returns></returns> /// <returns></returns>
[Route("allotlog")] [Route("allotlog")]
[HttpPost] [HttpPost]
public ApiResponse AllotLog([CustomizeValidator(RuleSet = "Delete"), FromBody]AllotRequest request) public ApiResponse AllotLog([CustomizeValidator(RuleSet = "Delete"), FromBody] AllotRequest request)
{ {
var allot = _allotService.GetAllot(request.ID); var allot = _allotService.GetAllot(request.ID);
if (null == allot) if (null == allot)
...@@ -258,7 +259,7 @@ public ApiResponse AllotLog([CustomizeValidator(RuleSet = "Delete"), FromBody]Al ...@@ -258,7 +259,7 @@ public ApiResponse AllotLog([CustomizeValidator(RuleSet = "Delete"), FromBody]Al
/// <returns></returns> /// <returns></returns>
[Route("issued")] [Route("issued")]
[HttpPost] [HttpPost]
public ApiResponse Issued([FromBody]AllotRequest request) public ApiResponse Issued([FromBody] AllotRequest request)
{ {
var allot = _allotService.GetAllot(request.ID); var allot = _allotService.GetAllot(request.ID);
if (null == allot) if (null == allot)
...@@ -274,7 +275,7 @@ public ApiResponse Issued([FromBody]AllotRequest request) ...@@ -274,7 +275,7 @@ public ApiResponse Issued([FromBody]AllotRequest request)
/// <returns></returns> /// <returns></returns>
[Route("update/showformula")] [Route("update/showformula")]
[HttpPost] [HttpPost]
public ApiResponse UpdateAllotShowFormula([FromBody]AllotRequest request) public ApiResponse UpdateAllotShowFormula([FromBody] AllotRequest request)
{ {
if (request.ID < 1) if (request.ID < 1)
return new ApiResponse(ResponseType.ParameterError, "绩效信息无效"); return new ApiResponse(ResponseType.ParameterError, "绩效信息无效");
......
...@@ -17,12 +17,15 @@ public class OriginalController : Controller ...@@ -17,12 +17,15 @@ public class OriginalController : Controller
{ {
private readonly ClaimService claim; private readonly ClaimService claim;
private readonly OriginalService originalService; private readonly OriginalService originalService;
private readonly AllotService allotService;
public OriginalController(ClaimService claim, public OriginalController(ClaimService claim,
OriginalService originalService) OriginalService originalService,
AllotService allotService)
{ {
this.claim = claim; this.claim = claim;
this.originalService = originalService; this.originalService = originalService;
this.allotService = allotService;
} }
/// <summary> /// <summary>
......
...@@ -47,7 +47,7 @@ public ApiResponse List() ...@@ -47,7 +47,7 @@ public ApiResponse List()
/// <returns></returns> /// <returns></returns>
[Route("api/second/savevalue/{secondid}")] [Route("api/second/savevalue/{secondid}")]
[HttpPost] [HttpPost]
public ApiResponse SaveValue(int secondid, [FromBody]List<ag_fixatitem> request) public ApiResponse SaveValue(int secondid, [FromBody] List<ag_fixatitem> request)
{ {
if (secondid != 0 && (request == null || request.Count == 0)) if (secondid != 0 && (request == null || request.Count == 0))
secondAllotService.DelValue(secondid, request); secondAllotService.DelValue(secondid, request);
...@@ -82,7 +82,7 @@ public ApiResponse SaveValue(int secondid, [FromBody]List<ag_fixatitem> request) ...@@ -82,7 +82,7 @@ public ApiResponse SaveValue(int secondid, [FromBody]List<ag_fixatitem> request)
/// <returns></returns> /// <returns></returns>
[Route("api/second/savecompute")] [Route("api/second/savecompute")]
[HttpPost] [HttpPost]
public ApiResponse SaveCompute([FromBody]List<ag_compute> request) public ApiResponse SaveCompute([FromBody] List<ag_compute> request)
{ {
var allotCount = request.Where(t => t.AllotId > 0).Select(t => t.AllotId).Distinct().Count(); var allotCount = request.Where(t => t.AllotId > 0).Select(t => t.AllotId).Distinct().Count();
if (allotCount != 1 || request.Any(t => t.AllotId == 0)) if (allotCount != 1 || request.Any(t => t.AllotId == 0))
...@@ -110,7 +110,7 @@ public ApiResponse SaveCompute([FromBody]List<ag_compute> request) ...@@ -110,7 +110,7 @@ public ApiResponse SaveCompute([FromBody]List<ag_compute> request)
/// <returns></returns> /// <returns></returns>
[Route("api/second/detail")] [Route("api/second/detail")]
[HttpPost] [HttpPost]
public ApiResponse SecondDetail([CustomizeValidator(RuleSet = "Refresh"), FromBody]UseTempRequest request) public ApiResponse SecondDetail([CustomizeValidator(RuleSet = "Refresh"), FromBody] UseTempRequest request)
{ {
var result = secondAllotService.GetSecondDetail(request); var result = secondAllotService.GetSecondDetail(request);
return new ApiResponse(ResponseType.OK, result); return new ApiResponse(ResponseType.OK, result);
...@@ -136,7 +136,7 @@ public ApiResponse SecondDetail([CustomizeValidator(RuleSet = "Refresh"), FromBo ...@@ -136,7 +136,7 @@ public ApiResponse SecondDetail([CustomizeValidator(RuleSet = "Refresh"), FromBo
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("api/temp/list")] [Route("api/temp/list")]
public ApiResponse<List<SecondTempResponse>> Temp([FromBody]AllotDeptRequest request) public ApiResponse<List<SecondTempResponse>> Temp([FromBody] AllotDeptRequest request)
{ {
var userId = claimService.GetUserId(); var userId = claimService.GetUserId();
var result = secondAllotService.GetTemp(request.HospitalId, request.Department, userId); var result = secondAllotService.GetTemp(request.HospitalId, request.Department, userId);
...@@ -149,7 +149,7 @@ public ApiResponse<List<SecondTempResponse>> Temp([FromBody]AllotDeptRequest req ...@@ -149,7 +149,7 @@ public ApiResponse<List<SecondTempResponse>> Temp([FromBody]AllotDeptRequest req
/// <returns></returns> /// <returns></returns>
[Route("api/temp/usetemp")] [Route("api/temp/usetemp")]
[HttpPost] [HttpPost]
public ApiResponse UseTemp([CustomizeValidator(RuleSet = "Use"), FromBody]UseTempRequest request) public ApiResponse UseTemp([CustomizeValidator(RuleSet = "Use"), FromBody] UseTempRequest request)
{ {
var result = secondAllotService.UseTemp(request); var result = secondAllotService.UseTemp(request);
return result ? new ApiResponse(ResponseType.OK, "选择成功") : new ApiResponse(ResponseType.Fail, "选择失败"); return result ? new ApiResponse(ResponseType.OK, "选择成功") : new ApiResponse(ResponseType.Fail, "选择失败");
...@@ -161,7 +161,7 @@ public ApiResponse UseTemp([CustomizeValidator(RuleSet = "Use"), FromBody]UseTem ...@@ -161,7 +161,7 @@ public ApiResponse UseTemp([CustomizeValidator(RuleSet = "Use"), FromBody]UseTem
/// <returns></returns> /// <returns></returns>
[Route("api/second/refreshtemp")] [Route("api/second/refreshtemp")]
[HttpPost] [HttpPost]
public ApiResponse RefreshTemp([CustomizeValidator(RuleSet = "Refresh"), FromBody]UseTempRequest request) public ApiResponse RefreshTemp([CustomizeValidator(RuleSet = "Refresh"), FromBody] UseTempRequest request)
{ {
secondAllotService.RefreshTemp(request); secondAllotService.RefreshTemp(request);
return new ApiResponse(ResponseType.OK); return new ApiResponse(ResponseType.OK);
...@@ -175,7 +175,7 @@ public ApiResponse RefreshTemp([CustomizeValidator(RuleSet = "Refresh"), FromBod ...@@ -175,7 +175,7 @@ public ApiResponse RefreshTemp([CustomizeValidator(RuleSet = "Refresh"), FromBod
/// <returns></returns> /// <returns></returns>
[Route("api/second/workload/list")] [Route("api/second/workload/list")]
[HttpPost] [HttpPost]
public ApiResponse WorkloadList([CustomizeValidator(RuleSet = "Query"), FromBody]WorkloadRequest request) public ApiResponse WorkloadList([CustomizeValidator(RuleSet = "Query"), FromBody] WorkloadRequest request)
{ {
var result = secondAllotService.GetWorkloadList(request); var result = secondAllotService.GetWorkloadList(request);
return new ApiResponse(ResponseType.OK, result); return new ApiResponse(ResponseType.OK, result);
...@@ -187,7 +187,7 @@ public ApiResponse WorkloadList([CustomizeValidator(RuleSet = "Query"), FromBody ...@@ -187,7 +187,7 @@ public ApiResponse WorkloadList([CustomizeValidator(RuleSet = "Query"), FromBody
/// <returns></returns> /// <returns></returns>
[Route("api/second/workload/add")] [Route("api/second/workload/add")]
[HttpPost] [HttpPost]
public ApiResponse WorkloadAdd([CustomizeValidator(RuleSet = "Add"), FromBody]WorkloadRequest request) public ApiResponse WorkloadAdd([CustomizeValidator(RuleSet = "Add"), FromBody] WorkloadRequest request)
{ {
var result = secondAllotService.WorkloadAdd(request); var result = secondAllotService.WorkloadAdd(request);
return new ApiResponse(result ? ResponseType.OK : ResponseType.Fail); return new ApiResponse(result ? ResponseType.OK : ResponseType.Fail);
...@@ -199,7 +199,7 @@ public ApiResponse WorkloadAdd([CustomizeValidator(RuleSet = "Add"), FromBody]Wo ...@@ -199,7 +199,7 @@ public ApiResponse WorkloadAdd([CustomizeValidator(RuleSet = "Add"), FromBody]Wo
/// <returns></returns> /// <returns></returns>
[Route("api/second/workload/update")] [Route("api/second/workload/update")]
[HttpPost] [HttpPost]
public ApiResponse WorkloadUpdate([CustomizeValidator(RuleSet = "Update"), FromBody]WorkloadRequest request) public ApiResponse WorkloadUpdate([CustomizeValidator(RuleSet = "Update"), FromBody] WorkloadRequest request)
{ {
var result = secondAllotService.WorkloadUpdate(request); var result = secondAllotService.WorkloadUpdate(request);
return new ApiResponse(result ? ResponseType.OK : ResponseType.Fail); return new ApiResponse(result ? ResponseType.OK : ResponseType.Fail);
...@@ -211,7 +211,7 @@ public ApiResponse WorkloadUpdate([CustomizeValidator(RuleSet = "Update"), FromB ...@@ -211,7 +211,7 @@ public ApiResponse WorkloadUpdate([CustomizeValidator(RuleSet = "Update"), FromB
/// <returns></returns> /// <returns></returns>
[Route("api/second/workload/delete")] [Route("api/second/workload/delete")]
[HttpPost] [HttpPost]
public ApiResponse WorkloadDelete([CustomizeValidator(RuleSet = "Delete"), FromBody]WorkloadRequest request) public ApiResponse WorkloadDelete([CustomizeValidator(RuleSet = "Delete"), FromBody] WorkloadRequest request)
{ {
var result = secondAllotService.WorkloadDelete(request.Id); var result = secondAllotService.WorkloadDelete(request.Id);
return new ApiResponse(result ? ResponseType.OK : ResponseType.Fail); return new ApiResponse(result ? ResponseType.OK : ResponseType.Fail);
...@@ -223,7 +223,7 @@ public ApiResponse WorkloadDelete([CustomizeValidator(RuleSet = "Delete"), FromB ...@@ -223,7 +223,7 @@ public ApiResponse WorkloadDelete([CustomizeValidator(RuleSet = "Delete"), FromB
/// <returns></returns> /// <returns></returns>
[Route("api/second/single/list")] [Route("api/second/single/list")]
[HttpPost] [HttpPost]
public ApiResponse SingleAwards([FromBody]WorkloadRequest request) public ApiResponse SingleAwards([FromBody] WorkloadRequest request)
{ {
var result = secondAllotService.GetSingleList(request); var result = secondAllotService.GetSingleList(request);
return new ApiResponse(ResponseType.OK, result); return new ApiResponse(ResponseType.OK, result);
...@@ -235,9 +235,9 @@ public ApiResponse SingleAwards([FromBody]WorkloadRequest request) ...@@ -235,9 +235,9 @@ public ApiResponse SingleAwards([FromBody]WorkloadRequest request)
/// <returns></returns> /// <returns></returns>
[Route("api/second/worktype/list")] [Route("api/second/worktype/list")]
[HttpPost] [HttpPost]
public ApiResponse WorkTypeList([FromBody]WorkloadRequest request) public ApiResponse WorkTypeList([FromBody] WorkloadRequest request)
{ {
var result = secondAllotService.WorkTypeList(request); var result = secondAllotService.WorkTypeList(request, claimService.GetUserId());
return new ApiResponse(ResponseType.OK, result); return new ApiResponse(ResponseType.OK, result);
} }
...@@ -247,14 +247,14 @@ public ApiResponse WorkTypeList([FromBody]WorkloadRequest request) ...@@ -247,14 +247,14 @@ public ApiResponse WorkTypeList([FromBody]WorkloadRequest request)
/// <returns></returns> /// <returns></returns>
[Route("api/second/worktype/save")] [Route("api/second/worktype/save")]
[HttpPost] [HttpPost]
public ApiResponse SingleSave([FromBody]ag_workload_type request) public ApiResponse SingleSave([FromBody] ag_workload_type request)
{ {
if (request.HospitalId == 0) if (request.HospitalId == 0)
return new ApiResponse(ResponseType.ParameterError, "医院信息无效"); return new ApiResponse(ResponseType.ParameterError, "医院信息无效");
if (string.IsNullOrEmpty(request.TypeName)) if (string.IsNullOrEmpty(request.TypeName))
return new ApiResponse(ResponseType.ParameterError, "填写参数无效"); return new ApiResponse(ResponseType.ParameterError, "填写参数无效");
var result = secondAllotService.SaveWorkType(request); var result = secondAllotService.SaveWorkType(request, claimService.GetUserId());
return new ApiResponse(ResponseType.OK, result); return new ApiResponse(ResponseType.OK, result);
} }
...@@ -264,7 +264,7 @@ public ApiResponse SingleSave([FromBody]ag_workload_type request) ...@@ -264,7 +264,7 @@ public ApiResponse SingleSave([FromBody]ag_workload_type request)
/// <returns></returns> /// <returns></returns>
[Route("api/second/worktype/delete")] [Route("api/second/worktype/delete")]
[HttpPost] [HttpPost]
public ApiResponse SingleDelete([CustomizeValidator(RuleSet = "Delete"), FromBody]WorkloadRequest request) public ApiResponse SingleDelete([CustomizeValidator(RuleSet = "Delete"), FromBody] WorkloadRequest request)
{ {
var result = secondAllotService.DeleteWorkType(request); var result = secondAllotService.DeleteWorkType(request);
return result ? new ApiResponse(ResponseType.OK, "删除成功") : new ApiResponse(ResponseType.Fail, "删除失败"); return result ? new ApiResponse(ResponseType.OK, "删除成功") : new ApiResponse(ResponseType.Fail, "删除失败");
...@@ -298,7 +298,7 @@ public ApiResponse SubmitAudit(SubmitAuditRequest request) ...@@ -298,7 +298,7 @@ public ApiResponse SubmitAudit(SubmitAuditRequest request)
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
[Route("/api/second/audit/list")] [Route("/api/second/audit/list")]
public ApiResponse<List<ag_secondallot>> AuditList([FromBody]AllotDeptRequest request) public ApiResponse<List<ag_secondallot>> AuditList([FromBody] AllotDeptRequest request)
{ {
var userid = claimService.GetUserId(); var userid = claimService.GetUserId();
var list = secondAllotService.AuditList(userid, request.AllotId); var list = secondAllotService.AuditList(userid, request.AllotId);
...@@ -326,7 +326,7 @@ public ApiResponse AuditResult([FromBody] SecondAuditRequest request) ...@@ -326,7 +326,7 @@ public ApiResponse AuditResult([FromBody] SecondAuditRequest request)
/// <returns></returns> /// <returns></returns>
[Route("api/second/other/list")] [Route("api/second/other/list")]
[HttpPost] [HttpPost]
public ApiResponse OtherList([FromBody]AgOtherRequest request) public ApiResponse OtherList([FromBody] AgOtherRequest request)
{ {
var result = secondAllotService.OtherList(request.SecondId); var result = secondAllotService.OtherList(request.SecondId);
return new ApiResponse(ResponseType.OK, result); return new ApiResponse(ResponseType.OK, result);
...@@ -338,7 +338,7 @@ public ApiResponse OtherList([FromBody]AgOtherRequest request) ...@@ -338,7 +338,7 @@ public ApiResponse OtherList([FromBody]AgOtherRequest request)
/// <returns></returns> /// <returns></returns>
[Route("api/second/other/save")] [Route("api/second/other/save")]
[HttpPost] [HttpPost]
public ApiResponse OtherSave([FromBody]AgOtherRequest request) public ApiResponse OtherSave([FromBody] AgOtherRequest request)
{ {
var result = secondAllotService.OtherSave(request.SecondId, request.Othersources); var result = secondAllotService.OtherSave(request.SecondId, request.Othersources);
return new ApiResponse(ResponseType.OK, result); return new ApiResponse(ResponseType.OK, result);
......
...@@ -948,6 +948,16 @@ ...@@ -948,6 +948,16 @@
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.ag_workload_type.Department">
<summary>
科室
</summary>
</member>
<member name="P:Performance.EntityModels.ag_workload_type.UnitType">
<summary>
科室类型
</summary>
</member>
<member name="T:Performance.EntityModels.as_assess"> <member name="T:Performance.EntityModels.as_assess">
<summary> <summary>
考核类别 考核类别
......
//----------------------------------------------------------------------- //-----------------------------------------------------------------------
// <copyright file=" ag_workload_type.cs"> // <copyright file=" ag_workload_type.cs">
// * FileName: .cs // * FileName: .cs
// </copyright> // </copyright>
...@@ -30,5 +30,15 @@ public class ag_workload_type ...@@ -30,5 +30,15 @@ public class ag_workload_type
/// ///
/// </summary> /// </summary>
public string TypeName { get; set; } public string TypeName { get; set; }
/// <summary>
/// 科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 科室类型
/// </summary>
public string UnitType { get; set; }
} }
} }
...@@ -20,14 +20,12 @@ namespace Performance.Repository ...@@ -20,14 +20,12 @@ namespace Performance.Repository
/// </summary> /// </summary>
public partial class PerforPerallotRepository : PerforRepository<per_allot> public partial class PerforPerallotRepository : PerforRepository<per_allot>
{ {
public bool UpdateAllotStates(int allotId, int states, string remark, bool success) public bool UpdateAllotStates(int allotId, int states, string remark, int generate)
{ {
var allot = GetEntity(t => t.ID == allotId); var allot = GetEntity(t => t.ID == allotId);
allot.States = states; allot.States = states;
allot.Remark = remark; allot.Remark = remark;
allot.Generate = generate;
if (success && allot.Generate == 1)
allot.Generate = 2;
return Update(allot); return Update(allot);
} }
......
...@@ -243,9 +243,9 @@ public bool Update(per_allot allot) ...@@ -243,9 +243,9 @@ public bool Update(per_allot allot)
} }
#endregion #endregion
public void UpdateAllotStates(int allotId, int states, string remark, bool success = false) public void UpdateAllotStates(int allotId, int states, string remark, int generate = 0)
{ {
_allotRepository.UpdateAllotStates(allotId, states, remark, success); _allotRepository.UpdateAllotStates(allotId, states, remark, generate);
} }
public per_allot UpdateAllotShowFormula(int allotId) public per_allot UpdateAllotShowFormula(int allotId)
...@@ -271,8 +271,10 @@ public void Generate(per_allot allot, string mail) ...@@ -271,8 +271,10 @@ public void Generate(per_allot allot, string mail)
logManageService.WriteMsg("绩效开始执行", $"正在生成{allot.Year}-{allot.Month.ToString().PadLeft(2, '0')}月份绩效!", 1, allot.ID, "ReceiveMessage", true); logManageService.WriteMsg("绩效开始执行", $"正在生成{allot.Year}-{allot.Month.ToString().PadLeft(2, '0')}月份绩效!", 1, allot.ID, "ReceiveMessage", true);
var excel = new PerExcel(); var excel = new PerExcel();
if (allot.Generate == 1) int generate = allot.Generate;
if (new int[] { (int)AllotGenerate.OriginalDataEdited, (int)AllotGenerate.PersonnelOffice }.Contains(allot.Generate))
{ {
generate = (int)AllotGenerate.Success;
configService.ClearResData(allot.ID); configService.ClearResData(allot.ID);
excel = queryDataService.QueryDataAndHeader(allot); excel = queryDataService.QueryDataAndHeader(allot);
} }
...@@ -351,7 +353,7 @@ public void Generate(per_allot allot, string mail) ...@@ -351,7 +353,7 @@ public void Generate(per_allot allot, string mail)
logManageService.WriteMsg("正在生成绩效", "保存绩效人均参考标准", 1, allot.ID, "ReceiveMessage", true); logManageService.WriteMsg("正在生成绩效", "保存绩效人均参考标准", 1, allot.ID, "ReceiveMessage", true);
perforResbaiscnormRepository.AddRange(baiscnormList.ToArray()); perforResbaiscnormRepository.AddRange(baiscnormList.ToArray());
UpdateAllotStates(allot.ID, (int)AllotStates.GenerateAccomplish, EnumHelper.GetDescription(AllotStates.GenerateAccomplish), true); UpdateAllotStates(allot.ID, (int)AllotStates.GenerateAccomplish, EnumHelper.GetDescription(AllotStates.GenerateAccomplish), generate);
perforCofdirectorRepository.SupplementaryData(allot.ID); perforCofdirectorRepository.SupplementaryData(allot.ID);
logManageService.WriteMsg("正在生成报表数据", "正在生成报表数据", 1, allot.ID, "ReceiveMessage", true); logManageService.WriteMsg("正在生成报表数据", "正在生成报表数据", 1, allot.ID, "ReceiveMessage", true);
......
...@@ -257,7 +257,7 @@ public bool Audit(int allotId) ...@@ -257,7 +257,7 @@ public bool Audit(int allotId)
if (allot == null || !new List<int> { (int)AllotStates.GenerateSucceed, (int)AllotStates.Archive }.Contains(allot.States)) if (allot == null || !new List<int> { (int)AllotStates.GenerateSucceed, (int)AllotStates.Archive }.Contains(allot.States))
throw new PerformanceException("绩效信息错误"); throw new PerformanceException("绩效信息错误");
allot.Generate = 1; allot.Generate = (int)AllotGenerate.PersonnelOffice;
return perforPerallotRepository.Update(allot); return perforPerallotRepository.Update(allot);
} }
} }
......
...@@ -17,6 +17,7 @@ namespace Performance.Services ...@@ -17,6 +17,7 @@ namespace Performance.Services
public class OriginalService : IAutoInjection public class OriginalService : IAutoInjection
{ {
private readonly PerforPersheetRepository persheetRepository; private readonly PerforPersheetRepository persheetRepository;
private readonly PerforPerallotRepository perallotRepository;
private readonly PerforImheaderRepository imheaderRepository; private readonly PerforImheaderRepository imheaderRepository;
private readonly PerforImemployeeRepository imemployeeRepository; private readonly PerforImemployeeRepository imemployeeRepository;
private readonly PerforImemployeeclinicRepository imemployeeclinicRepository; private readonly PerforImemployeeclinicRepository imemployeeclinicRepository;
...@@ -24,6 +25,7 @@ public class OriginalService : IAutoInjection ...@@ -24,6 +25,7 @@ public class OriginalService : IAutoInjection
private readonly PerforImspecialunitRepository imspecialunitRepository; private readonly PerforImspecialunitRepository imspecialunitRepository;
public OriginalService(PerforPersheetRepository persheetRepository, public OriginalService(PerforPersheetRepository persheetRepository,
PerforPerallotRepository perallotRepository,
PerforImheaderRepository imheaderRepository, PerforImheaderRepository imheaderRepository,
PerforImemployeeRepository imemployeeRepository, PerforImemployeeRepository imemployeeRepository,
PerforImemployeeclinicRepository imemployeeclinicRepository, PerforImemployeeclinicRepository imemployeeclinicRepository,
...@@ -31,6 +33,7 @@ public class OriginalService : IAutoInjection ...@@ -31,6 +33,7 @@ public class OriginalService : IAutoInjection
PerforImspecialunitRepository imspecialunitRepository) PerforImspecialunitRepository imspecialunitRepository)
{ {
this.persheetRepository = persheetRepository; this.persheetRepository = persheetRepository;
this.perallotRepository = perallotRepository;
this.imheaderRepository = imheaderRepository; this.imheaderRepository = imheaderRepository;
this.imemployeeRepository = imemployeeRepository; this.imemployeeRepository = imemployeeRepository;
this.imemployeeclinicRepository = imemployeeclinicRepository; this.imemployeeclinicRepository = imemployeeclinicRepository;
...@@ -77,24 +80,46 @@ public bool EditSheetData(int userId, OriginalRequest request) ...@@ -77,24 +80,46 @@ public bool EditSheetData(int userId, OriginalRequest request)
{ {
var sheet = persheetRepository.GetEntity(t => t.ID == request.SheetId); var sheet = persheetRepository.GetEntity(t => t.ID == request.SheetId);
if (sheet == null) if (sheet == null)
throw new PerformanceException("参数sheetid无效"); throw new PerformanceException("提交数据无效");
var allot = perallotRepository.GetEntity(t => t.ID == sheet.AllotID);
if (allot == null)
throw new PerformanceException("绩效信息错误");
var result = false;
try
{
switch (sheet.SheetType) switch (sheet.SheetType)
{ {
case (int)SheetType.Employee: case (int)SheetType.Employee:
return EditEmployee(userId, request); result = EditEmployee(userId, request);
break;
case (int)SheetType.ClinicEmployee: case (int)SheetType.ClinicEmployee:
return EditEmployeeClinic(userId, request); result = EditEmployeeClinic(userId, request);
break;
case (int)SheetType.SpecialUnit: case (int)SheetType.SpecialUnit:
return EditSpecialUnit(userId, request); result = EditSpecialUnit(userId, request);
break;
case (int)SheetType.OtherIncome: case (int)SheetType.OtherIncome:
case (int)SheetType.Income: case (int)SheetType.Income:
case (int)SheetType.Expend: case (int)SheetType.Expend:
case (int)SheetType.Workload: case (int)SheetType.Workload:
case (int)SheetType.AccountBasic: case (int)SheetType.AccountBasic:
return EditFeeData(userId, request); result = EditFeeData(userId, request);
break;
} }
return false; }
catch (ArgumentException ex)
{
throw new PerformanceException("提交参数不合规范");
}
if (result && new int[] { (int)AllotGenerate.Init, (int)AllotGenerate.Success }.Contains(allot.Generate))
{
allot.Generate = (int)AllotGenerate.OriginalDataEdited;
perallotRepository.Update(allot);
}
return result;
} }
#region employee specialunit #region employee specialunit
...@@ -137,7 +162,10 @@ private bool EditSpecialUnit(int userId, OriginalRequest request) ...@@ -137,7 +162,10 @@ private bool EditSpecialUnit(int userId, OriginalRequest request)
private void SetValue<TEntity>(TEntity entity, Cell cell) private void SetValue<TEntity>(TEntity entity, Cell cell)
{ {
typeof(TEntity).GetProperty(cell.FieldName).SetValue(entity, cell.CellValue); var value = cell.CellValue;
if (value.ToString().IndexOf("%") > -1)
value = ConvertHelper.To<decimal>(value.ToString().Replace("%", "")) / 100;
typeof(TEntity).GetProperty(cell.FieldName).SetValue(entity, value);
} }
#endregion #endregion
...@@ -171,6 +199,8 @@ private bool EditFeeData(int userId, OriginalRequest request) ...@@ -171,6 +199,8 @@ private bool EditFeeData(int userId, OriginalRequest request)
entity.UpdateUser = userId; entity.UpdateUser = userId;
result = imdataRepository.Update(entity); result = imdataRepository.Update(entity);
} }
else
throw new ArgumentException("提交参数不合规范");
} }
else else
result = ImDataInsert(userId, request, header); result = ImDataInsert(userId, request, header);
...@@ -261,4 +291,12 @@ private bool ImDataInsert(int userId, OriginalRequest request, im_header header) ...@@ -261,4 +291,12 @@ private bool ImDataInsert(int userId, OriginalRequest request, im_header header)
#endregion #endregion
} }
public enum AllotGenerate
{
Init = 0,
PersonnelOffice = 1,
Success = 2,
OriginalDataEdited = 3,
}
} }
...@@ -308,7 +308,7 @@ public SecondResponse GetSecondDetail(UseTempRequest request) ...@@ -308,7 +308,7 @@ public SecondResponse GetSecondDetail(UseTempRequest request)
//检验 二次绩效配置 数据是否 有值,无则补充带出 //检验 二次绩效配置 数据是否 有值,无则补充带出
FillData(second, result.BodyItems); FillData(second, result.BodyItems);
SupplyHeaderByWorkItem(request, result); SupplyHeaderByWorkItem(request, result, second);
return new SecondResponse return new SecondResponse
{ {
...@@ -433,7 +433,7 @@ private void FillData(ag_secondallot second, List<BodyItem> bodyItems) ...@@ -433,7 +433,7 @@ private void FillData(ag_secondallot second, List<BodyItem> bodyItems)
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <param name="result"></param> /// <param name="result"></param>
private void SupplyHeaderByWorkItem(UseTempRequest request, SecondResponse result) private void SupplyHeaderByWorkItem(UseTempRequest request, SecondResponse result, ag_secondallot second)
{ {
var workitem = perforAgworkloadRepository.GetEntities(t => t.HospitalId == request.HospitalId && t.Department == request.Department var workitem = perforAgworkloadRepository.GetEntities(t => t.HospitalId == request.HospitalId && t.Department == request.Department
&& t.UnitType == request.UnitType && !EnumHelper.GetItems<AgWorkloadType>().Select(type => type.Value).Contains(t.WorkTypeId)); && t.UnitType == request.UnitType && !EnumHelper.GetItems<AgWorkloadType>().Select(type => type.Value).Contains(t.WorkTypeId));
...@@ -441,7 +441,8 @@ private void SupplyHeaderByWorkItem(UseTempRequest request, SecondResponse resul ...@@ -441,7 +441,8 @@ private void SupplyHeaderByWorkItem(UseTempRequest request, SecondResponse resul
if (workitem == null || !workitem.Any(t => t.Id > 0)) if (workitem == null || !workitem.Any(t => t.Id > 0))
return; return;
var deptHeader = perforAgworkloadtypeRepository.GetEntities(t => new List<int> { request.HospitalId, 0 }.Contains(t.HospitalId)); var unit = second.UnitType == UnitType.医技组.ToString() ? UnitType.医生组.ToString() : second.UnitType;
var deptHeader = perforAgworkloadtypeRepository.GetEntities(t => request.HospitalId == t.HospitalId && t.Department == second.Department && t.UnitType == unit);
if (deptHeader == null || !deptHeader.Any()) if (deptHeader == null || !deptHeader.Any())
return; return;
...@@ -488,9 +489,11 @@ private void SupplyHeaderByWorkItem(UseTempRequest request, SecondResponse resul ...@@ -488,9 +489,11 @@ private void SupplyHeaderByWorkItem(UseTempRequest request, SecondResponse resul
sortindex++; sortindex++;
} }
} }
var defauleHeader = new List<ag_workload_type>
var defauleHeader = deptHeader.Where(t => t.HospitalId == 0).ToList(); {
defauleHeader.Add(new ag_workload_type { Id = 2, TypeName = "工作量分配绩效金额" }); new ag_workload_type { Id = 2, TypeName = "工作量绩效占比" },
new ag_workload_type { Id = 2, TypeName = "工作量分配绩效金额" },
};
foreach (var item in defauleHeader) foreach (var item in defauleHeader)
{ {
result.HeadItems.Where(t => t.FiledName == item.TypeName).ToList()?.ForEach(t => t.WorkType = item.Id); result.HeadItems.Where(t => t.FiledName == item.TypeName).ToList()?.ForEach(t => t.WorkType = item.Id);
...@@ -867,9 +870,10 @@ public List<ag_workload> GetSingleList(WorkloadRequest request) ...@@ -867,9 +870,10 @@ public List<ag_workload> GetSingleList(WorkloadRequest request)
/// </summary> /// </summary>
/// <param name="secondId"></param> /// <param name="secondId"></param>
/// <returns></returns> /// <returns></returns>
public List<TitleValue<int>> WorkTypeList(WorkloadRequest request) public List<TitleValue<int>> WorkTypeList(WorkloadRequest request, int userId)
{ {
var worktypes = perforAgworkloadtypeRepository.GetEntities(t => new List<int> { 0, request.HospitalId.Value }.Contains(t.HospitalId)); var (unit, dept) = GetDeptAndUnit(userId);
var worktypes = perforAgworkloadtypeRepository.GetEntities(t => request.HospitalId.Value == t.HospitalId && t.Department == dept && t.UnitType == unit);
if (worktypes != null && worktypes.Any()) if (worktypes != null && worktypes.Any())
{ {
return worktypes.Select(t => new TitleValue<int> return worktypes.Select(t => new TitleValue<int>
...@@ -886,9 +890,10 @@ public List<TitleValue<int>> WorkTypeList(WorkloadRequest request) ...@@ -886,9 +890,10 @@ public List<TitleValue<int>> WorkTypeList(WorkloadRequest request)
/// </summary> /// </summary>
/// <param name="secondId"></param> /// <param name="secondId"></param>
/// <returns></returns> /// <returns></returns>
public ag_workload_type SaveWorkType(ag_workload_type request) public ag_workload_type SaveWorkType(ag_workload_type request, int userId)
{ {
var entity = perforAgworkloadtypeRepository.GetEntity(t => new List<int> { 0, request.HospitalId }.Contains(t.HospitalId) && t.TypeName == request.TypeName); var (unit, dept) = GetDeptAndUnit(userId);
var entity = perforAgworkloadtypeRepository.GetEntity(t => request.HospitalId == t.HospitalId && t.Department == dept && t.UnitType == unit && t.TypeName == request.TypeName);
if (entity == null) if (entity == null)
{ {
if (request.Id > 0) if (request.Id > 0)
...@@ -905,6 +910,8 @@ public ag_workload_type SaveWorkType(ag_workload_type request) ...@@ -905,6 +910,8 @@ public ag_workload_type SaveWorkType(ag_workload_type request)
{ {
HospitalId = request.HospitalId, HospitalId = request.HospitalId,
TypeName = request.TypeName, TypeName = request.TypeName,
Department = dept,
UnitType = unit,
}; };
perforAgworkloadtypeRepository.Add(entity); perforAgworkloadtypeRepository.Add(entity);
} }
...@@ -931,6 +938,20 @@ public bool DeleteWorkType(WorkloadRequest request) ...@@ -931,6 +938,20 @@ public bool DeleteWorkType(WorkloadRequest request)
else else
return false; return false;
} }
public (string, string) GetDeptAndUnit(int userId)
{
var user = perforUserRepository.GetEntity(t => t.ID == userId);
var userrole = userroleRepository.GetEntity(t => t.UserID == userId);
var role = roleRepository.GetEntity(t => t.ID == userrole.RoleID);
if (role.Type == application.DirectorRole)
return (UnitType.医生组.ToString(), user.Department);
else if (role.Type == application.NurseRole)
return (UnitType.护理组.ToString(), user.Department);
else
return ("", user.Department);
}
#endregion #endregion
#region 二次绩效考核 #region 二次绩效考核
......
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