Commit 9d69a86e by 钟博

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

parent ab88fdff
......@@ -100,7 +100,7 @@ public ApiResponse Insert([FromBody] AllotRequest request)
var result = _allotService.InsertAllot(request, userId);
_configService.Copy(result);
//带出上月划拨记录
costTransferService.IntoLastTiemData(request.HospitalId.Value, request.ID);
costTransferService.IntoLastTiemData(request.HospitalId.Value, result.ID);
return new ApiResponse(ResponseType.OK, result);
}
......
......@@ -68,6 +68,22 @@ public ApiResponse Common(int hospitalId, int allotId, [FromBody] DepartmentDeta
}
/// <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>
/// <param name="allotId"></param>
......
......@@ -703,12 +703,19 @@
</summary>
<returns></returns>
</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>
<returns></returns>
</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)">
<summary>
审核列表
......
......@@ -2266,12 +2266,12 @@
</member>
<member name="P:Performance.EntityModels.cost_transfer.Status">
<summary>
0 未审核 1 全部通过 2 部分通过 3 全部驳回
0 未审核 1 全部通过 2 部分通过 3 全部驳回 4 含有下发驳回
</summary>
</member>
<member name="P:Performance.EntityModels.cost_transfer.AdminStatus">
<summary>
0 未审核 1 全部通过 2 部分通过 3 全部驳回
0 未审核 1 全部通过 2 部分通过 3 全部驳回 4 含有下发驳回
</summary>
</member>
<member name="T:Performance.EntityModels.cost_transfer_item">
......@@ -2319,19 +2319,29 @@
是否使用分割比例
</summary>
</member>
<member name="P:Performance.EntityModels.cost_transfer_item.Remark">
<member name="P:Performance.EntityModels.cost_transfer_item.ApplicationRemark">
<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>
</member>
<member name="P:Performance.EntityModels.cost_transfer_item.Status">
<summary>
0 默认 1 通过 2 驳回 3 下发驳回
0 默认 1 通过 2 驳回 3 下发驳回 4 撤回
</summary>
</member>
<member name="P:Performance.EntityModels.cost_transfer_item.AdminStatus">
<summary>
0 默认 1 通过 2 驳回 3 下发驳回
0 默认 1 通过 2 驳回 3 下发驳回 4 撤回
</summary>
</member>
<member name="P:Performance.EntityModels.cost_transfer_item.IsWrited">
......
......@@ -80,9 +80,6 @@ public enum AllotStates
/// <summary> 绩效结果解析成功 </summary>
[Description("数据验证通过")]
GenerateAccomplish = 10,
/// <summary> 下发 </summary>
[Description("下发")]
Issue = 11
}
public enum AgWorkloadType
......
......@@ -41,6 +41,8 @@ public class CostTransferResponse
public int AdminStatus { get; set; }
public decimal AmountSum { get; set; }
public List<Option> Items { get; set; }
}
......
......@@ -55,19 +55,29 @@ public class cost_transfer_item
/// 是否使用分割比例
/// </summary>
public int IsUseRatio { get; set; }
/// <summary>
/// 申请理由
/// </summary>
public string ApplicationRemark { get; set; }
/// <summary>
/// 备注
/// 科室备注
/// </summary>
public string Remark { get; set; }
public string DepartmentRemark { get; set; }
/// <summary>
/// 0 默认 1 通过 2 驳回 3 下发驳回
/// 管理员备注
/// </summary>
public string AdminRemark { get; set; }
/// <summary>
/// 0 默认 1 通过 2 驳回 3 下发驳回 4 撤回
/// </summary>
public int Status { get; set; }
/// <summary>
/// 0 默认 1 通过 2 驳回 3 下发驳回
/// 0 默认 1 通过 2 驳回 3 下发驳回 4 撤回
/// </summary>
public int AdminStatus { get; set; }
......
......@@ -99,6 +99,8 @@ public List<CostTransferResponse> GetAuditList(int allotId, int menuType, int ro
var costsId = costTransfers?.Select(w => w.Id);
//var transfer = costTransfers.FirstOrDefault();
var costItem = costtransferitemRepository.GetEntities(t => costsId.Contains(t.TransferId));
if (menuType != 1)
costItem = costItem?.FindAll(t => t.Status != 4);
//如果是绩效办显示已经被科室同意的数据
//if (roleTypes)
......@@ -108,7 +110,7 @@ public List<CostTransferResponse> GetAuditList(int allotId, int menuType, int ro
{
var result = new CostTransferResponse();
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,
TransferId = t.TransferId,
......@@ -116,10 +118,13 @@ public List<CostTransferResponse> GetAuditList(int allotId, int menuType, int ro
Category = t.Category,
Amount = t.Amount,
Ratio = t.Ratio,
IsUseRatio = t.IsUseRatio,
CalculationAmount = t.CalculationAmount,
Status = t.Status,
AdminStatus = t.AdminStatus,
Remark = t.Remark,
ApplicationRemark = t.ApplicationRemark,
DepartmentRemark = t.DepartmentRemark,
AdminRemark = t.AdminRemark,
options = new string[] { },
ApplicantDepartment = result.ApplicantDepartment,
AdoptedDepartment = result.AdoptedDepartment
......@@ -252,7 +257,7 @@ public bool Applicat(CostTransferRequest request)
throw new PerformanceException("参数错误,提交科室相同");
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))
throw new PerformanceException("绩效已下发");
......@@ -275,13 +280,13 @@ public bool Applicat(CostTransferRequest request)
var items = request.Items?.Select(t => new cost_transfer_item
{
TransferId = transfer.Id,
Source = t.Source,
Source = t.Source ?? "",
Category = t.Category,
Amount = t.Amount,
Ratio = t.Ratio,
CalculationAmount = t.CalculationAmount,
IsUseRatio = t.IsUseRatio,
Remark = t.Remark,
ApplicationRemark = t.Remark,
Status = 0,
AdminStatus = 0
}).ToArray();
......@@ -292,6 +297,19 @@ public bool Applicat(CostTransferRequest request)
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>
/// 申请划拨信息修改
......@@ -353,7 +371,7 @@ public void UpdateApplicat(CostTransferUpdateRequest request)
update.Ratio = item.Ratio;
update.CalculationAmount = item.CalculationAmount;
update.IsUseRatio = item.IsUseRatio;
update.Remark = item.Remark;
update.ApplicationRemark = item.ApplicationRemark;
update.Status = 0;
update.AdminStatus = 0;
hasPrimaryValueItmes.Remove(item);
......@@ -421,7 +439,7 @@ public bool CostTransferAudit(AuditRequest request, bool isAdmin)
costItems.ForEach(t =>
{
t.AdminStatus = request.Status;
t.Remark = request.Remake;
t.AdminRemark = request.Remake;
});
}
else
......@@ -431,7 +449,7 @@ public bool CostTransferAudit(AuditRequest request, bool isAdmin)
if (request.Status == 2 && t.AdminStatus != 0)
t.AdminStatus = 2;
t.Status = request.Status;
t.Remark = request.Remake;
t.DepartmentRemark = request.Remake;
});
}
......@@ -485,7 +503,16 @@ public bool RejectedApplicat(int allotId)
/// <param name="allotId"></param>
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;
var transfers = costtransferRepository.GetEntities(t => t.AllotId == prevAllot.ID);
......@@ -516,7 +543,7 @@ public void IntoLastTiemData(int hospitalId, int allotId)
Ratio = t.Ratio,
CalculationAmount = t.CalculationAmount,
IsUseRatio = t.IsUseRatio,
Remark = t.Remark,
ApplicationRemark = t.ApplicationRemark,
Status = 0,
AdminStatus = 0,
IsWrited = 0
......@@ -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)
{
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>();
var allot = allotList.FirstOrDefault(w => w.ID == allotId);
......@@ -633,5 +644,24 @@ public void UpdateCostTransferStatus(int transferId)
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