Commit 9d69a86e by 钟博

增加科室、绩效办备注,允许撤回,改正一些问题

parent ab88fdff
...@@ -100,7 +100,7 @@ public ApiResponse Insert([FromBody] AllotRequest request) ...@@ -100,7 +100,7 @@ public ApiResponse Insert([FromBody] AllotRequest request)
var result = _allotService.InsertAllot(request, userId); var result = _allotService.InsertAllot(request, userId);
_configService.Copy(result); _configService.Copy(result);
//带出上月划拨记录 //带出上月划拨记录
costTransferService.IntoLastTiemData(request.HospitalId.Value, request.ID); costTransferService.IntoLastTiemData(request.HospitalId.Value, result.ID);
return new ApiResponse(ResponseType.OK, result); return new ApiResponse(ResponseType.OK, result);
} }
......
...@@ -68,6 +68,22 @@ public ApiResponse Common(int hospitalId, int allotId, [FromBody] DepartmentDeta ...@@ -68,6 +68,22 @@ public ApiResponse Common(int hospitalId, int allotId, [FromBody] DepartmentDeta
} }
/// <summary> /// <summary>
/// 撤回提交
/// </summary>
/// <param name="itemId"></param>
/// <returns></returns>
[Route("withdrawsubmit/{itemId}")]
[HttpPost]
public ApiResponse WithdrawSubmit(int itemId)
{
if (itemId <= 0)
return new ApiResponse(ResponseType.ParameterError, "参数itemId无效!");
costTransferService.WithdrawSubmit(itemId);
return new ApiResponse(ResponseType.OK);
}
/// <summary>
/// 审核列表 /// 审核列表
/// </summary> /// </summary>
/// <param name="allotId"></param> /// <param name="allotId"></param>
......
...@@ -703,12 +703,19 @@ ...@@ -703,12 +703,19 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.CostTransferController.Common(System.Int32,System.Int32)"> <member name="M:Performance.Api.Controllers.CostTransferController.Common(System.Int32,System.Int32,Performance.DtoModels.DepartmentDetail)">
<summary> <summary>
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.CostTransferController.WithdrawSubmit(System.Int32)">
<summary>
撤回提交
</summary>
<param name="itemId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.CostTransferController.AuditList(System.Int32,System.Int32)"> <member name="M:Performance.Api.Controllers.CostTransferController.AuditList(System.Int32,System.Int32)">
<summary> <summary>
审核列表 审核列表
......
...@@ -2266,12 +2266,12 @@ ...@@ -2266,12 +2266,12 @@
</member> </member>
<member name="P:Performance.EntityModels.cost_transfer.Status"> <member name="P:Performance.EntityModels.cost_transfer.Status">
<summary> <summary>
0 未审核 1 全部通过 2 部分通过 3 全部驳回 0 未审核 1 全部通过 2 部分通过 3 全部驳回 4 含有下发驳回
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.cost_transfer.AdminStatus"> <member name="P:Performance.EntityModels.cost_transfer.AdminStatus">
<summary> <summary>
0 未审核 1 全部通过 2 部分通过 3 全部驳回 0 未审核 1 全部通过 2 部分通过 3 全部驳回 4 含有下发驳回
</summary> </summary>
</member> </member>
<member name="T:Performance.EntityModels.cost_transfer_item"> <member name="T:Performance.EntityModels.cost_transfer_item">
...@@ -2319,19 +2319,29 @@ ...@@ -2319,19 +2319,29 @@
是否使用分割比例 是否使用分割比例
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.cost_transfer_item.Remark"> <member name="P:Performance.EntityModels.cost_transfer_item.ApplicationRemark">
<summary> <summary>
备注 申请理由
</summary>
</member>
<member name="P:Performance.EntityModels.cost_transfer_item.DepartmentRemark">
<summary>
科室备注
</summary>
</member>
<member name="P:Performance.EntityModels.cost_transfer_item.AdminRemark">
<summary>
管理员备注
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.cost_transfer_item.Status"> <member name="P:Performance.EntityModels.cost_transfer_item.Status">
<summary> <summary>
0 默认 1 通过 2 驳回 3 下发驳回 0 默认 1 通过 2 驳回 3 下发驳回 4 撤回
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.cost_transfer_item.AdminStatus"> <member name="P:Performance.EntityModels.cost_transfer_item.AdminStatus">
<summary> <summary>
0 默认 1 通过 2 驳回 3 下发驳回 0 默认 1 通过 2 驳回 3 下发驳回 4 撤回
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.cost_transfer_item.IsWrited"> <member name="P:Performance.EntityModels.cost_transfer_item.IsWrited">
......
...@@ -80,9 +80,6 @@ public enum AllotStates ...@@ -80,9 +80,6 @@ public enum AllotStates
/// <summary> 绩效结果解析成功 </summary> /// <summary> 绩效结果解析成功 </summary>
[Description("数据验证通过")] [Description("数据验证通过")]
GenerateAccomplish = 10, GenerateAccomplish = 10,
/// <summary> 下发 </summary>
[Description("下发")]
Issue = 11
} }
public enum AgWorkloadType public enum AgWorkloadType
......
...@@ -41,6 +41,8 @@ public class CostTransferResponse ...@@ -41,6 +41,8 @@ public class CostTransferResponse
public int AdminStatus { get; set; } public int AdminStatus { get; set; }
public decimal AmountSum { get; set; }
public List<Option> Items { get; set; } public List<Option> Items { get; set; }
} }
......
...@@ -57,17 +57,27 @@ public class cost_transfer_item ...@@ -57,17 +57,27 @@ public class cost_transfer_item
public int IsUseRatio { get; set; } public int IsUseRatio { get; set; }
/// <summary> /// <summary>
/// 备注 /// 申请理由
/// </summary> /// </summary>
public string Remark { get; set; } public string ApplicationRemark { get; set; }
/// <summary> /// <summary>
/// 0 默认 1 通过 2 驳回 3 下发驳回 /// 科室备注
/// </summary>
public string DepartmentRemark { get; set; }
/// <summary>
/// 管理员备注
/// </summary>
public string AdminRemark { get; set; }
/// <summary>
/// 0 默认 1 通过 2 驳回 3 下发驳回 4 撤回
/// </summary> /// </summary>
public int Status { get; set; } public int Status { get; set; }
/// <summary> /// <summary>
/// 0 默认 1 通过 2 驳回 3 下发驳回 /// 0 默认 1 通过 2 驳回 3 下发驳回 4 撤回
/// </summary> /// </summary>
public int AdminStatus { get; set; } public int AdminStatus { get; set; }
......
...@@ -99,6 +99,8 @@ public List<CostTransferResponse> GetAuditList(int allotId, int menuType, int ro ...@@ -99,6 +99,8 @@ public List<CostTransferResponse> GetAuditList(int allotId, int menuType, int ro
var costsId = costTransfers?.Select(w => w.Id); var costsId = costTransfers?.Select(w => w.Id);
//var transfer = costTransfers.FirstOrDefault(); //var transfer = costTransfers.FirstOrDefault();
var costItem = costtransferitemRepository.GetEntities(t => costsId.Contains(t.TransferId)); var costItem = costtransferitemRepository.GetEntities(t => costsId.Contains(t.TransferId));
if (menuType != 1)
costItem = costItem?.FindAll(t => t.Status != 4);
//如果是绩效办显示已经被科室同意的数据 //如果是绩效办显示已经被科室同意的数据
//if (roleTypes) //if (roleTypes)
...@@ -108,7 +110,7 @@ public List<CostTransferResponse> GetAuditList(int allotId, int menuType, int ro ...@@ -108,7 +110,7 @@ public List<CostTransferResponse> GetAuditList(int allotId, int menuType, int ro
{ {
var result = new CostTransferResponse(); var result = new CostTransferResponse();
result = Mapper.Map<CostTransferResponse>(item); result = Mapper.Map<CostTransferResponse>(item);
result.Items = costItem.Where(t => t.TransferId == item.Id)?.Select(t => new Option result.Items = costItem?.Where(t => t.TransferId == item.Id)?.Select(t => new Option
{ {
Id = t.Id, Id = t.Id,
TransferId = t.TransferId, TransferId = t.TransferId,
...@@ -116,10 +118,13 @@ public List<CostTransferResponse> GetAuditList(int allotId, int menuType, int ro ...@@ -116,10 +118,13 @@ public List<CostTransferResponse> GetAuditList(int allotId, int menuType, int ro
Category = t.Category, Category = t.Category,
Amount = t.Amount, Amount = t.Amount,
Ratio = t.Ratio, Ratio = t.Ratio,
IsUseRatio = t.IsUseRatio,
CalculationAmount = t.CalculationAmount, CalculationAmount = t.CalculationAmount,
Status = t.Status, Status = t.Status,
AdminStatus = t.AdminStatus, AdminStatus = t.AdminStatus,
Remark = t.Remark, ApplicationRemark = t.ApplicationRemark,
DepartmentRemark = t.DepartmentRemark,
AdminRemark = t.AdminRemark,
options = new string[] { }, options = new string[] { },
ApplicantDepartment = result.ApplicantDepartment, ApplicantDepartment = result.ApplicantDepartment,
AdoptedDepartment = result.AdoptedDepartment AdoptedDepartment = result.AdoptedDepartment
...@@ -252,7 +257,7 @@ public bool Applicat(CostTransferRequest request) ...@@ -252,7 +257,7 @@ public bool Applicat(CostTransferRequest request)
throw new PerformanceException("参数错误,提交科室相同"); throw new PerformanceException("参数错误,提交科室相同");
var allot = perallotRepository.GetEntity(t => t.ID == request.AllotId); var allot = perallotRepository.GetEntity(t => t.ID == request.AllotId);
var allotStatus = new[] { (int)AllotStates.Issue, (int)AllotStates.Archive }; var allotStatus = new[] { (int)AllotStates.GenerateSucceed, (int)AllotStates.Archive };
if (allotStatus.Contains(allot.States)) if (allotStatus.Contains(allot.States))
throw new PerformanceException("绩效已下发"); throw new PerformanceException("绩效已下发");
...@@ -275,13 +280,13 @@ public bool Applicat(CostTransferRequest request) ...@@ -275,13 +280,13 @@ public bool Applicat(CostTransferRequest request)
var items = request.Items?.Select(t => new cost_transfer_item var items = request.Items?.Select(t => new cost_transfer_item
{ {
TransferId = transfer.Id, TransferId = transfer.Id,
Source = t.Source, Source = t.Source ?? "",
Category = t.Category, Category = t.Category,
Amount = t.Amount, Amount = t.Amount,
Ratio = t.Ratio, Ratio = t.Ratio,
CalculationAmount = t.CalculationAmount, CalculationAmount = t.CalculationAmount,
IsUseRatio = t.IsUseRatio, IsUseRatio = t.IsUseRatio,
Remark = t.Remark, ApplicationRemark = t.Remark,
Status = 0, Status = 0,
AdminStatus = 0 AdminStatus = 0
}).ToArray(); }).ToArray();
...@@ -292,6 +297,19 @@ public bool Applicat(CostTransferRequest request) ...@@ -292,6 +297,19 @@ public bool Applicat(CostTransferRequest request)
return result; return result;
} }
/// <summary>
/// 撤回提交
/// </summary>
/// <param name="itemId"></param>
public void WithdrawSubmit(int itemId)
{
var item = costtransferitemRepository.GetEntity(t => t.Id == itemId);
if (item == null) throw new PerformanceException("申请记录不存在");
item.Status = 4;
item.AdminStatus = 4;
costtransferitemRepository.Update(item);
}
/// <summary> /// <summary>
/// 申请划拨信息修改 /// 申请划拨信息修改
...@@ -353,7 +371,7 @@ public void UpdateApplicat(CostTransferUpdateRequest request) ...@@ -353,7 +371,7 @@ public void UpdateApplicat(CostTransferUpdateRequest request)
update.Ratio = item.Ratio; update.Ratio = item.Ratio;
update.CalculationAmount = item.CalculationAmount; update.CalculationAmount = item.CalculationAmount;
update.IsUseRatio = item.IsUseRatio; update.IsUseRatio = item.IsUseRatio;
update.Remark = item.Remark; update.ApplicationRemark = item.ApplicationRemark;
update.Status = 0; update.Status = 0;
update.AdminStatus = 0; update.AdminStatus = 0;
hasPrimaryValueItmes.Remove(item); hasPrimaryValueItmes.Remove(item);
...@@ -421,7 +439,7 @@ public bool CostTransferAudit(AuditRequest request, bool isAdmin) ...@@ -421,7 +439,7 @@ public bool CostTransferAudit(AuditRequest request, bool isAdmin)
costItems.ForEach(t => costItems.ForEach(t =>
{ {
t.AdminStatus = request.Status; t.AdminStatus = request.Status;
t.Remark = request.Remake; t.AdminRemark = request.Remake;
}); });
} }
else else
...@@ -431,7 +449,7 @@ public bool CostTransferAudit(AuditRequest request, bool isAdmin) ...@@ -431,7 +449,7 @@ public bool CostTransferAudit(AuditRequest request, bool isAdmin)
if (request.Status == 2 && t.AdminStatus != 0) if (request.Status == 2 && t.AdminStatus != 0)
t.AdminStatus = 2; t.AdminStatus = 2;
t.Status = request.Status; t.Status = request.Status;
t.Remark = request.Remake; t.DepartmentRemark = request.Remake;
}); });
} }
...@@ -485,7 +503,16 @@ public bool RejectedApplicat(int allotId) ...@@ -485,7 +503,16 @@ public bool RejectedApplicat(int allotId)
/// <param name="allotId"></param> /// <param name="allotId"></param>
public void IntoLastTiemData(int hospitalId, int allotId) public void IntoLastTiemData(int hospitalId, int allotId)
{ {
var prevAllot = PrevAllot(hospitalId, allotId); var allotList = perallotRepository.GetEntities(w => w.HospitalId == hospitalId)?.OrderBy(s => s.Year).ThenBy(s => s.Month).ToList();
if (allotList == null || !allotList.Any()) return;
var allot = allotList.FirstOrDefault(w => w.ID == allotId);
if (allot == null) return;
var index = allotList.IndexOf(allot);
if (index == 0) return;
var prevAllot = allotList[index - 1];
if (prevAllot == null) return; if (prevAllot == null) return;
var transfers = costtransferRepository.GetEntities(t => t.AllotId == prevAllot.ID); var transfers = costtransferRepository.GetEntities(t => t.AllotId == prevAllot.ID);
...@@ -516,7 +543,7 @@ public void IntoLastTiemData(int hospitalId, int allotId) ...@@ -516,7 +543,7 @@ public void IntoLastTiemData(int hospitalId, int allotId)
Ratio = t.Ratio, Ratio = t.Ratio,
CalculationAmount = t.CalculationAmount, CalculationAmount = t.CalculationAmount,
IsUseRatio = t.IsUseRatio, IsUseRatio = t.IsUseRatio,
Remark = t.Remark, ApplicationRemark = t.ApplicationRemark,
Status = 0, Status = 0,
AdminStatus = 0, AdminStatus = 0,
IsWrited = 0 IsWrited = 0
...@@ -527,25 +554,9 @@ public void IntoLastTiemData(int hospitalId, int allotId) ...@@ -527,25 +554,9 @@ public void IntoLastTiemData(int hospitalId, int allotId)
} }
private per_allot PrevAllot(int hospitalId, int allotId)
{
var allotList = perallotRepository.GetEntities(w => w.HospitalId == hospitalId)?.OrderBy(s => s.Year).ThenBy(s => s.Month).ToList();
if (allotList == null || !allotList.Any()) throw new PerformanceException("未查询到符合的绩效记录");
var allot = allotList.FirstOrDefault(w => w.ID == allotId);
if (allot == null) throw new PerformanceException("未查询到符合的绩效记录");
var index = allotList.IndexOf(allot);
if (index == 0) return null;
var prevAllot = allotList[index - 1];
return prevAllot;
}
private List<per_allot> PrevAllotList(int hospitalId, int allotId) private List<per_allot> PrevAllotList(int hospitalId, int allotId)
{ {
var allotList = perallotRepository.GetEntities(w => w.HospitalId == hospitalId)?.OrderBy(s => s.Year).ThenBy(s => s.Month).ToList(); var allotList = perallotRepository.GetEntities(w => w.HospitalId == hospitalId)?.OrderByDescending(s => s.Year).ThenByDescending(s => s.Month).ToList();
if (allotList == null || !allotList.Any()) return new List<per_allot>(); if (allotList == null || !allotList.Any()) return new List<per_allot>();
var allot = allotList.FirstOrDefault(w => w.ID == allotId); var allot = allotList.FirstOrDefault(w => w.ID == allotId);
...@@ -633,5 +644,24 @@ public void UpdateCostTransferStatus(int transferId) ...@@ -633,5 +644,24 @@ public void UpdateCostTransferStatus(int transferId)
logger.LogError($"修改申请记录的状态异常:{ex}"); logger.LogError($"修改申请记录的状态异常:{ex}");
} }
} }
#region 划拨报表
public void ApplicationContent(int allotId, int auditType)
{
var transfers = costtransferRepository.GetEntities(t => t.AllotId == allotId && t.Status != 3 && t.AdminStatus != 3);
if (transfers == null || !transfers.Any()) return;
var transferItems = costtransferitemRepository.GetEntities(t => transfers.Select(w => w.Id).Contains(t.TransferId)
&& t.Status == 1 && t.AdminStatus == 1);
if (transferItems == null || !transferItems.Any()) return;
}
#endregion
} }
} }
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