Commit 13115d59 by wyc

考核结果视图查看/修改考核表字段 自定义表加载上月/解除限制 科室详情和管理详情总额来源修改

parent 84b17e38
...@@ -557,9 +557,12 @@ public IActionResult SchemeEnterDownload([FromBody] QuerySchemeEnterDetailList q ...@@ -557,9 +557,12 @@ public IActionResult SchemeEnterDownload([FromBody] QuerySchemeEnterDetailList q
new ExcelDownloadHeads { Alias = "考核项目", Name = nameof(AssessSchemeEnterDetaiListResponse.ItemName2) }, new ExcelDownloadHeads { Alias = "考核项目", Name = nameof(AssessSchemeEnterDetaiListResponse.ItemName2) },
new ExcelDownloadHeads { Alias = "考核标准", Name = nameof(AssessSchemeEnterDetaiListResponse.AssessNorm) }, new ExcelDownloadHeads { Alias = "考核标准", Name = nameof(AssessSchemeEnterDetaiListResponse.AssessNorm) },
new ExcelDownloadHeads { Alias = "考核分值", Name = nameof(AssessSchemeEnterDetaiListResponse.AssessScore) }, new ExcelDownloadHeads { Alias = "考核分值", Name = nameof(AssessSchemeEnterDetaiListResponse.AssessScore) },
new ExcelDownloadHeads { Alias = "考核加/减分", Name = nameof(AssessSchemeEnterDetaiListResponse.Score) }, new ExcelDownloadHeads { Alias = "考核加分", Name = nameof(AssessSchemeEnterDetaiListResponse.BonusPoint) },
new ExcelDownloadHeads { Alias = "加/减分原因", Name = nameof(AssessSchemeEnterDetaiListResponse.ScoreRemark) }, new ExcelDownloadHeads { Alias = "加分原因", Name = nameof(AssessSchemeEnterDetaiListResponse.BonusPointRemark) },
new ExcelDownloadHeads { Alias = "考核扣分", Name = nameof(AssessSchemeEnterDetaiListResponse.Deduction) },
new ExcelDownloadHeads { Alias = "扣分原因", Name = nameof(AssessSchemeEnterDetaiListResponse.DeductionRemark) },
}; };
query.Page = 1; query.Page = 1;
query.PageSize = int.MaxValue; query.PageSize = int.MaxValue;
var result = _service.SchemeEnterDetailList(query).Data; var result = _service.SchemeEnterDetailList(query).Data;
...@@ -585,7 +588,7 @@ public IActionResult SchemeEnterDownload([FromBody] QuerySchemeEnterDetailList q ...@@ -585,7 +588,7 @@ public IActionResult SchemeEnterDownload([FromBody] QuerySchemeEnterDetailList q
/// <param name="itemId"></param> /// <param name="itemId"></param>
/// <param name="form"></param> /// <param name="form"></param>
/// <remarks> /// <remarks>
/// 上传文件中只有考核扣分、扣分原因有效,其他只做展示不参与修改操作 /// 上传文件中只有考核加分/扣分、加分/扣分原因有效,其他只做展示不参与修改操作
/// </remarks> /// </remarks>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
......
using FluentValidation.AspNetCore; using FluentValidation.AspNetCore;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.ApiExplorer; using Microsoft.AspNetCore.Mvc.ApiExplorer;
using Microsoft.AspNetCore.StaticFiles; using Microsoft.AspNetCore.StaticFiles;
...@@ -964,7 +965,26 @@ public ApiResponse BatchSaveCustom([FromBody] SaveCustomData request) ...@@ -964,7 +965,26 @@ public ApiResponse BatchSaveCustom([FromBody] SaveCustomData request)
} }
/// <summary> /// <summary>
/// 自定义表显示 /// 自定义表数据(加载上月)
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[Route("customnewcopy")]
[AllowAnonymous]
[HttpPost]
public ApiResponse CustomNewcopy([FromBody] CustomNewcopyData request)
{
var allot = _allotService.GetAllot(request.AllotId);
if (allot == null)
return new ApiResponse(ResponseType.ParameterError, "AllotID错误");
else if (string.IsNullOrEmpty(request.TableName))
return new ApiResponse(ResponseType.ParameterError, "表名为空");
return _configService.CustomNewcopy(request);
}
/// <summary>
/// 自定义表导出
/// </summary> /// </summary>
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
......
...@@ -533,7 +533,7 @@ ...@@ -533,7 +533,7 @@
<param name="itemId"></param> <param name="itemId"></param>
<param name="form"></param> <param name="form"></param>
<remarks> <remarks>
上传文件中只有考核扣分、扣分原因有效,其他只做展示不参与修改操作 上传文件中只有考核加分/扣分、加分/扣分原因有效,其他只做展示不参与修改操作
</remarks> </remarks>
<returns></returns> <returns></returns>
</member> </member>
...@@ -1524,9 +1524,16 @@ ...@@ -1524,9 +1524,16 @@
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.ConfigController.CustomNewcopy(Performance.DtoModels.CustomNewcopyData)">
<summary>
自定义表数据(加载上月)
</summary>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.ConfigController.CustomDownload(Performance.DtoModels.CustomPagingRequest)"> <member name="M:Performance.Api.Controllers.ConfigController.CustomDownload(Performance.DtoModels.CustomPagingRequest)">
<summary> <summary>
自定义表显示 自定义表导出
</summary> </summary>
<param name="request"></param> <param name="request"></param>
<returns></returns> <returns></returns>
......
...@@ -2138,12 +2138,22 @@ ...@@ -2138,12 +2138,22 @@
审核或驳回原因 审核或驳回原因
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.Request.EditAssessSchemeEnterRequest.Score"> <member name="P:Performance.DtoModels.Request.EditAssessSchemeEnterRequest.BonusPoint">
<summary>
考核加分
</summary>
</member>
<member name="P:Performance.DtoModels.Request.EditAssessSchemeEnterRequest.BonusPointRemark">
<summary>
加分原因
</summary>
</member>
<member name="P:Performance.DtoModels.Request.EditAssessSchemeEnterRequest.Deduction">
<summary> <summary>
考核扣分 考核扣分
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.Request.EditAssessSchemeEnterRequest.ScoreRemark"> <member name="P:Performance.DtoModels.Request.EditAssessSchemeEnterRequest.DeductionRemark">
<summary> <summary>
扣分原因 扣分原因
</summary> </summary>
...@@ -3427,12 +3437,22 @@ ...@@ -3427,12 +3437,22 @@
考核分值 考核分值
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.Score"> <member name="P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.BonusPoint">
<summary>
考核加分
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.BonusPointRemark">
<summary>
加分原因
</summary>
</member>
<member name="P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.Deduction">
<summary> <summary>
考核扣分 考核扣分
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.ScoreRemark"> <member name="P:Performance.DtoModels.AssessSchemeEnterDetaiListResponse.DeductionRemark">
<summary> <summary>
扣分原因 扣分原因
</summary> </summary>
......
...@@ -6831,12 +6831,22 @@ ...@@ -6831,12 +6831,22 @@
修改时间 修改时间
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.per_assess_issue_scheme.Score"> <member name="P:Performance.EntityModels.per_assess_issue_scheme.BonusPoint">
<summary>
考核加分
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_issue_scheme.BonusPointRemark">
<summary>
加分原因
</summary>
</member>
<member name="P:Performance.EntityModels.per_assess_issue_scheme.Deduction">
<summary> <summary>
考核扣分 考核扣分
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.per_assess_issue_scheme.ScoreRemark"> <member name="P:Performance.EntityModels.per_assess_issue_scheme.DeductionRemark">
<summary> <summary>
扣分原因 扣分原因
</summary> </summary>
......
...@@ -63,13 +63,21 @@ public class EditAssessSchemeEnterRequest ...@@ -63,13 +63,21 @@ public class EditAssessSchemeEnterRequest
{ {
public int IssueId { get; set; } public int IssueId { get; set; }
/// <summary> /// <summary>
/// 考核加分
/// </summary>
public decimal? BonusPoint { get; set; }
/// <summary>
/// 加分原因
/// </summary>
public string? BonusPointRemark { get; set; }
/// <summary>
/// 考核扣分 /// 考核扣分
/// </summary> /// </summary>
public decimal? Score { get; set; } public decimal? Deduction { get; set; }
/// <summary> /// <summary>
/// 扣分原因 /// 扣分原因
/// </summary> /// </summary>
public string? ScoreRemark { get; set; } public string? DeductionRemark { get; set; }
} }
} }
...@@ -11,6 +11,8 @@ public class CustomRequest ...@@ -11,6 +11,8 @@ public class CustomRequest
public string TableName { get; set; } public string TableName { get; set; }
public string QuerySearch { get; set; } public string QuerySearch { get; set; }
public int Limit { get; set; }
} }
public class CustomPagingRequest : CustomRequest public class CustomPagingRequest : CustomRequest
......
...@@ -238,13 +238,21 @@ public class AssessSchemeEnterDetaiListResponse ...@@ -238,13 +238,21 @@ public class AssessSchemeEnterDetaiListResponse
/// </summary> /// </summary>
public decimal AssessScore { get; set; } public decimal AssessScore { get; set; }
/// <summary> /// <summary>
/// 考核加分
/// </summary>
public decimal? BonusPoint { get; set; }
/// <summary>
/// 加分原因
/// </summary>
public string? BonusPointRemark { get; set; }
/// <summary>
/// 考核扣分 /// 考核扣分
/// </summary> /// </summary>
public decimal? Score { get; set; } public decimal? Deduction { get; set; }
/// <summary> /// <summary>
/// 扣分原因 /// 扣分原因
/// </summary> /// </summary>
public string? ScoreRemark { get; set; } public string? DeductionRemark { get; set; }
/// <summary> /// <summary>
/// 状态 未提交 = 1,待审核 = 2,审核通过 = 3,驳回 = 4, /// 状态 未提交 = 1,待审核 = 2,审核通过 = 3,驳回 = 4,
/// </summary> /// </summary>
......
...@@ -38,4 +38,11 @@ public class SaveGatherData ...@@ -38,4 +38,11 @@ public class SaveGatherData
public string[] ColHeaders { get; set; } public string[] ColHeaders { get; set; }
public string[][] Data { get; set; } public string[][] Data { get; set; }
} }
public class CustomNewcopyData
{
public int AllotId { get; set; }
public string TableName { get; set; }
}
} }
...@@ -106,13 +106,21 @@ public class per_assess_issue_scheme ...@@ -106,13 +106,21 @@ public class per_assess_issue_scheme
/// </summary> /// </summary>
public DateTime? UpdateTime { get; set; } public DateTime? UpdateTime { get; set; }
/// <summary> /// <summary>
/// 考核加分
/// </summary>
public decimal? BonusPoint { get; set; }
/// <summary>
/// 加分原因
/// </summary>
public string? BonusPointRemark { get; set; }
/// <summary>
/// 考核扣分 /// 考核扣分
/// </summary> /// </summary>
public decimal? Score { get; set; } public decimal? Deduction { get; set; }
/// <summary> /// <summary>
/// 扣分原因 /// 扣分原因
/// </summary> /// </summary>
public string? ScoreRemark { get; set; } public string? DeductionRemark { get; set; }
/// <summary> /// <summary>
/// 考核目标核算单元编码 /// 考核目标核算单元编码
/// </summary> /// </summary>
......
...@@ -523,5 +523,29 @@ public void PerAssessIssueSchemeBackup(int allotId) ...@@ -523,5 +523,29 @@ public void PerAssessIssueSchemeBackup(int allotId)
} }
} }
/// <summary>
/// 自定义表数据(加载上月)
/// </summary>
/// <param name="allot"></param>
public void ProcCustomTableNewcopy(string tableName, int allotId, int previousAllotId)
{
using (var connection = context.Database.GetDbConnection())
{
if (connection.State != ConnectionState.Open) connection.Open();
try
{
connection.Execute("call proc_custom_table_newcopy(@tableName,@allotId,@previousAllotId);", new { tableName, allotId, previousAllotId }, commandTimeout: 60 * 60);
}
catch (Exception)
{
throw;
}
}
}
} }
} }
\ No newline at end of file
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
using Performance.EntityModels; using Performance.EntityModels;
using Performance.EntityModels.Other; using Performance.EntityModels.Other;
using System; using System;
using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Data; using System.Data;
using System.Linq; using System.Linq;
...@@ -500,6 +501,9 @@ public List<dynamic> QueryComputeByDateAndTotal(string viewName, HospitalGrantSu ...@@ -500,6 +501,9 @@ public List<dynamic> QueryComputeByDateAndTotal(string viewName, HospitalGrantSu
public List<dynamic> QueryCustom(string tableName, int allotId, string accountingUnit, string[] unitType) public List<dynamic> QueryCustom(string tableName, int allotId, string accountingUnit, string[] unitType)
{ {
string querySql = $@"select * from {tableName} where allotid = @allotid "; string querySql = $@"select * from {tableName} where allotid = @allotid ";
if (string.IsNullOrEmpty(accountingUnit) && unitType==null)
return DapperQuery<dynamic>(querySql, new { allotId }, commandTimeout: 60 * 10)?.ToList();
if (!string.IsNullOrEmpty(accountingUnit)) if (!string.IsNullOrEmpty(accountingUnit))
querySql += " and accountingunit = @accountingunit"; querySql += " and accountingunit = @accountingunit";
...@@ -579,17 +583,23 @@ public CustonPagingData QueryCustom(CustomPagingRequest request, bool IsHead, bo ...@@ -579,17 +583,23 @@ public CustonPagingData QueryCustom(CustomPagingRequest request, bool IsHead, bo
return result; return result;
} }
public bool QueryIsAllotId(string tableName, params string[] columns) public bool QueryIsAllotId(string tableName, int limit)
{
string[] columns;
if (limit == 1)
{
columns = new string[] { "allotid" };
}
else
{ {
columns = new string[] { "allotid", "accountingunit", "unittype" };
}
var database = context.Database.GetDbConnection().Database; var database = context.Database.GetDbConnection().Database;
var sql = $@"SELECT column_name FROM information_schema.COLUMNS s var sql = $@"SELECT column_name FROM information_schema.COLUMNS s
WHERE table_name = @table_name AND TABLE_SCHEMA = @database AND lower(column_name) in @columns;"; WHERE table_name = @table_name AND TABLE_SCHEMA = @database AND lower(column_name) in @columns;";
var result = DapperQuery<string>(sql, new { database = database, table_name = tableName, columns }, commandTimeout: 60 * 10); var result = DapperQuery<string>(sql, new { database = database, table_name = tableName, columns }, commandTimeout: 60 * 10);
var isExist = result?.Count() == columns?.Count(); var isExist = result?.Count() == columns?.Count();
return isExist; return isExist;
} }
public List<ColumnEntity> QueryCustomColumn(string tableName) public List<ColumnEntity> QueryCustomColumn(string tableName)
......
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using static Performance.DtoModels.Attendance;
namespace Performance.Services namespace Performance.Services
{ {
...@@ -238,8 +239,10 @@ public ApiResponse CategoryIssueConfirm(UpdateAssessCategoryRequest request, int ...@@ -238,8 +239,10 @@ public ApiResponse CategoryIssueConfirm(UpdateAssessCategoryRequest request, int
AssessNorm = item.AssessNorm, AssessNorm = item.AssessNorm,
UnitCode = item.UnitCode, UnitCode = item.UnitCode,
UnitType = item.UnitType, UnitType = item.UnitType,
Score = null, BonusPoint = null,
ScoreRemark = "", BonusPointRemark = "",
Deduction = null,
DeductionRemark = "",
AccountingUnit = item.AccountingUnit, AccountingUnit = item.AccountingUnit,
TargetUnitCode = item.TargetUnitCode, TargetUnitCode = item.TargetUnitCode,
TargetUnitType = item.TargetUnitType, TargetUnitType = item.TargetUnitType,
...@@ -276,8 +279,10 @@ public ApiResponse CategoryIssueConfirm(UpdateAssessCategoryRequest request, int ...@@ -276,8 +279,10 @@ public ApiResponse CategoryIssueConfirm(UpdateAssessCategoryRequest request, int
data.AssessNorm = item.AssessNorm; data.AssessNorm = item.AssessNorm;
data.UnitCode = item.UnitCode; data.UnitCode = item.UnitCode;
data.UnitType = item.UnitType; data.UnitType = item.UnitType;
data.Score = null; data.BonusPoint = null;
data.ScoreRemark = ""; data.BonusPointRemark = "";
data.Deduction = null;
data.DeductionRemark = "";
data.AccountingUnit = item.AccountingUnit; data.AccountingUnit = item.AccountingUnit;
data.TargetUnitCode = item.TargetUnitCode; data.TargetUnitCode = item.TargetUnitCode;
data.TargetUnitType = item.TargetUnitType; data.TargetUnitType = item.TargetUnitType;
...@@ -997,8 +1002,10 @@ public ApiResponse SchemeEnterEdit(EditAssessSchemeEnterRequest request, int use ...@@ -997,8 +1002,10 @@ public ApiResponse SchemeEnterEdit(EditAssessSchemeEnterRequest request, int use
var issueSchemes = perforPerAssessIssueSchemeRepository.GetEntity(w => w.Id == request.IssueId); var issueSchemes = perforPerAssessIssueSchemeRepository.GetEntity(w => w.Id == request.IssueId);
if (issueSchemes == null) if (issueSchemes == null)
throw new PerformanceException("未找到需要修改的数据,请刷新"); throw new PerformanceException("未找到需要修改的数据,请刷新");
issueSchemes.Score = request.Score; issueSchemes.BonusPoint = request.BonusPoint == 0 ? null : request.BonusPoint;
issueSchemes.ScoreRemark = request.ScoreRemark; issueSchemes.BonusPointRemark = request.BonusPointRemark;
issueSchemes.Deduction = request.Deduction == 0 ? null : request.Deduction;
issueSchemes.DeductionRemark = request.DeductionRemark;
issueSchemes.UpdateBy = userid; issueSchemes.UpdateBy = userid;
issueSchemes.State = (int)Assess.AssessState.未提交; issueSchemes.State = (int)Assess.AssessState.未提交;
issueSchemes.UpdateTime = DateTime.Now; issueSchemes.UpdateTime = DateTime.Now;
...@@ -1059,7 +1066,7 @@ public ApiResponse SchemeEnterUpload(int itemId, IFormCollection form, int useri ...@@ -1059,7 +1066,7 @@ public ApiResponse SchemeEnterUpload(int itemId, IFormCollection form, int useri
var datas = ToListDictionary(dt); var datas = ToListDictionary(dt);
if (datas.Count == 0 || !datas.Any()) if (datas.Count == 0 || !datas.Any())
throw new PerformanceException("未在文件中找到数据"); throw new PerformanceException("未在文件中找到数据");
Tables error = new Tables("行", "核算组别", "核算单元名称", "一级指标名称", "考核项目", "考核分值", "考核加/减分", "加/减分原因", "原因"); Tables error = new Tables("行", "核算组别", "核算单元名称", "一级指标名称", "考核项目", "考核分值", "考核加分", "加分原因", "考核扣分", "扣分原因", "原因");
var issues = new List<per_assess_issue_scheme>(); var issues = new List<per_assess_issue_scheme>();
foreach (var item in datas.Select((value, i) => new { value, index = $"第{i + 1}行" })) foreach (var item in datas.Select((value, i) => new { value, index = $"第{i + 1}行" }))
{ {
...@@ -1069,21 +1076,28 @@ public ApiResponse SchemeEnterUpload(int itemId, IFormCollection form, int useri ...@@ -1069,21 +1076,28 @@ public ApiResponse SchemeEnterUpload(int itemId, IFormCollection form, int useri
var eItemName1 = item.value.GetOrAdd("一级指标名称", "")?.ToString() ?? ""; var eItemName1 = item.value.GetOrAdd("一级指标名称", "")?.ToString() ?? "";
var eItemName2 = item.value.GetOrAdd("考核项目", "")?.ToString() ?? ""; var eItemName2 = item.value.GetOrAdd("考核项目", "")?.ToString() ?? "";
var eAssessScore = item.value.GetOrAdd("考核分值", "")?.ToString() ?? ""; var eAssessScore = item.value.GetOrAdd("考核分值", "")?.ToString() ?? "";
var eScore = item.value.GetOrAdd("考核加/减分", "")?.ToString() ?? ""; var eBonusPoint = item.value.GetOrAdd("考核加分", "")?.ToString() ?? "";
var eScoreRemark = item.value.GetOrAdd("加/减分原因", "")?.ToString() ?? ""; var eBonusPointRemark = item.value.GetOrAdd("加分原因", "")?.ToString() ?? "";
eScore = String.IsNullOrEmpty(eScore) ? "0" : eScore; var eDeduction = item.value.GetOrAdd("考核扣分", "")?.ToString() ?? "";
var eDeductionRemark = item.value.GetOrAdd("扣分原因", "")?.ToString() ?? "";
eBonusPoint = String.IsNullOrEmpty(eBonusPoint) ? "0" : eBonusPoint;
eDeduction = String.IsNullOrEmpty(eDeduction) ? "0" : eDeduction;
eAssessScore = String.IsNullOrEmpty(eAssessScore) ? "0" : eAssessScore; eAssessScore = String.IsNullOrEmpty(eAssessScore) ? "0" : eAssessScore;
decimal.TryParse(eAssessScore, out decimal eAScore); decimal.TryParse(eAssessScore, out decimal eAScore);
error.AddIf(string.IsNullOrEmpty(eTargetAccountingUnit), item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eScore, eScoreRemark, "核算单元空值无效,请检查后重试!"); error.AddIf(string.IsNullOrEmpty(eTargetAccountingUnit), item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eBonusPoint, eBonusPointRemark, eDeduction, eDeductionRemark, "核算单元空值无效,请检查后重试!");
error.AddIf(string.IsNullOrEmpty(eTargetUnitType), item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eScore, eScoreRemark, "核算单元空值无效,请检查后重试!"); error.AddIf(string.IsNullOrEmpty(eTargetUnitType), item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eBonusPoint, eBonusPointRemark, eDeduction, eDeductionRemark, "核算单元空值无效,请检查后重试!");
error.AddIf(!decimal.TryParse(eScore, out decimal escore), item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eScore, eScoreRemark, "考核扣分值无效,请检查后重试!"); error.AddIf(!decimal.TryParse(eBonusPoint, out decimal ebonusPoint), item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eBonusPoint, eBonusPointRemark, eDeduction, eDeductionRemark, "考核加分值无效,请检查后重试!");
error.AddIf(escore > eAScore, item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eScore, eScoreRemark, "考核加/减分大于考核分值,请检查后重试!"); error.AddIf(!decimal.TryParse(eDeduction, out decimal ededuction), item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eBonusPoint, eBonusPointRemark, eDeduction, eDeductionRemark, "考核扣分值无效,请检查后重试!");
error.AddIf(ebonusPoint<0, item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eBonusPoint, eBonusPointRemark, eDeduction, eDeductionRemark, "考核加分值无效,请检查后重试!");
error.AddIf(ededuction>0, item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eBonusPoint, eBonusPointRemark, eDeduction, eDeductionRemark, "考核扣分值无效,请检查后重试!");
var issueData = issueDatas.FirstOrDefault(w => w.ItemId == itemId && w.TargetAccountingUnit == eTargetAccountingUnit && w.TargetUnitType == eTargetUnitType); var issueData = issueDatas.FirstOrDefault(w => w.ItemId == itemId && w.TargetAccountingUnit == eTargetAccountingUnit && w.TargetUnitType == eTargetUnitType);
error.AddIf(issueData == null, item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eScore, eScoreRemark, "未找到部门,请检查后重试!"); error.AddIf(issueData == null, item.index, eTargetAccountingUnit, eTargetUnitType, eItemName1, eItemName2, eAssessScore, eBonusPoint, eBonusPointRemark, eDeduction, eDeductionRemark, "未找到部门,请检查后重试!");
if (issueData == null) continue; if (issueData == null) continue;
issueData.Score = escore == 0 ? null : escore; issueData.BonusPoint = ebonusPoint == 0 ? null : ebonusPoint;
issueData.ScoreRemark = eScoreRemark; issueData.BonusPointRemark = eBonusPointRemark;
issueData.Deduction = ededuction == 0 ? null : ededuction;
issueData.DeductionRemark = eDeductionRemark;
issueData.UpdateBy = userid; issueData.UpdateBy = userid;
issueData.UpdateTime = DateTime.Now; issueData.UpdateTime = DateTime.Now;
issues.Add(issueData); issues.Add(issueData);
......
...@@ -391,8 +391,8 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s ...@@ -391,8 +391,8 @@ public UniteDeptDetailResponse UniteDeptDetail(int allotId, UnitType unitType, s
items.Add(row); items.Add(row);
} }
DeleteBlankColumn(items); DeleteBlankColumn(items);
var amount = basicData?.Where(t => t.SheetID == sheet.ID && t.UnitType == (int)type && t.IsTotal == 1)?.FirstOrDefault()?.CellValue ?? 0; //var amount = basicData?.Where(t => t.SheetID == sheet.ID && t.UnitType == (int)type && t.IsTotal == 1)?.FirstOrDefault()?.CellValue ?? 0;
detail.Total = amount; //detail.Total = amount;
detail.Items = items; detail.Items = items;
} }
} }
...@@ -1278,8 +1278,8 @@ public List<UniteDeptDetailResponse> EmpDetail(EmpDetailRequest request, int use ...@@ -1278,8 +1278,8 @@ public List<UniteDeptDetailResponse> EmpDetail(EmpDetailRequest request, int use
items.Add(row); items.Add(row);
} }
DeleteBlankColumn(items); DeleteBlankColumn(items);
var amount = basicData?.Where(t => t.SheetID == sheet.ID && t.UnitType == (int)type && t.IsTotal == 1)?.FirstOrDefault()?.CellValue ?? 0; //var amount = basicData?.Where(t => t.SheetID == sheet.ID && t.UnitType == (int)type && t.IsTotal == 1)?.FirstOrDefault()?.CellValue ?? 0;
detail.Total = amount; //detail.Total = amount;
detail.Items = items; detail.Items = items;
} }
} }
......
using AutoMapper; using AutoMapper;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using MySqlX.XDevAPI.Common;
using NPOI.SS.Formula.Functions; using NPOI.SS.Formula.Functions;
using NPOI.SS.UserModel; using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel; using NPOI.XSSF.UserModel;
...@@ -1333,7 +1335,7 @@ public HandsonTableBase QueryHandsCustom(CustomPagingRequest request) ...@@ -1333,7 +1335,7 @@ public HandsonTableBase QueryHandsCustom(CustomPagingRequest request)
var isView = custom.FirstOrDefault(w => !string.IsNullOrEmpty(w.TableType))?.TableType == "VIEW"; var isView = custom.FirstOrDefault(w => !string.IsNullOrEmpty(w.TableType))?.TableType == "VIEW";
if (isView) return new HandsonTableBase(); //如果是视图,不加载HandsonTable,则直接跳过 if (isView) return new HandsonTableBase(); //如果是视图,不加载HandsonTable,则直接跳过
var isExist = _perforReport.QueryIsAllotId(request.TableName, "allotid", "accountingunit", "unittype"); var isExist = _perforReport.QueryIsAllotId(request.TableName, request.Limit);
if (isExist == false) return null; if (isExist == false) return null;
var skip = new string[] { "allotid" }; var skip = new string[] { "allotid" };
...@@ -1470,14 +1472,20 @@ public ApiResponse SaveCustomTable(SaveCustomData request) ...@@ -1470,14 +1472,20 @@ public ApiResponse SaveCustomTable(SaveCustomData request)
return new ApiResponse(ResponseType.OK); return new ApiResponse(ResponseType.OK);
} }
public ApiResponse CustomNewcopy(CustomNewcopyData request)
{
var allot = _perallotRepository.GetEntity(t => t.ID == request.AllotId);
var prevAllotId = _perallotRepository.GetPrevAllot(allot);
_perallotRepository.ProcCustomTableNewcopy(request.TableName, request.AllotId, prevAllotId);
return new ApiResponse(ResponseType.OK);
}
public ApiResponse QueryCustom(int userId, CustomPagingRequest request) public ApiResponse QueryCustom(int userId, CustomPagingRequest request)
{ {
var heads = _perforReport.QueryCustomColumn(request.TableName); var heads = _perforReport.QueryCustomColumn(request.TableName);
if (heads == null || !heads.Any()) return null; if (heads == null || !heads.Any()) return null;
var isView = heads.FirstOrDefault(w => !string.IsNullOrEmpty(w.TableType))?.TableType == "VIEW"; var isView = heads.FirstOrDefault(w => !string.IsNullOrEmpty(w.TableType))?.TableType == "VIEW";
var isExist = _perforReport.QueryIsAllotId(request.TableName, "allotid", "accountingunit", "unittype"); var isExist = _perforReport.QueryIsAllotId(request.TableName, request.Limit);
if (!isView && isExist == false) if (!isView && isExist == false)
return new ApiResponse(ResponseType.ParameterError, "表不符合规范,请补全注释或修改重复注释"); return new ApiResponse(ResponseType.ParameterError, "表不符合规范,请补全注释或修改重复注释");
if (heads.Count > 50) if (heads.Count > 50)
...@@ -1499,12 +1507,21 @@ public ApiResponse QueryCustom(int userId, CustomPagingRequest request) ...@@ -1499,12 +1507,21 @@ public ApiResponse QueryCustom(int userId, CustomPagingRequest request)
{ {
Heads = headList.ToList() Heads = headList.ToList()
}; };
if (request.Limit == 1)
{
request.QuerySearch = null;
result.Datas = _perforReport.QueryCustom(request, true, isView);
}
else
{
var unitTypes = UnitTypeUtil.GetMaps(roleType); var unitTypes = UnitTypeUtil.GetMaps(roleType);
if (unitTypes.Any()) if (unitTypes.Any())
result.Datas = _perforReport.QueryCustom(request.TableName, request.AllotId, user?.Department ?? "", unitTypes, request.PageIndex, request.PageSize, isView); result.Datas = _perforReport.QueryCustom(request.TableName, request.AllotId, user?.Department ?? "", unitTypes, request.PageIndex, request.PageSize, isView);
else else
result.Datas = _perforReport.QueryCustom(request, false, isView); result.Datas = _perforReport.QueryCustom(request, false, isView);
}
return new ApiResponse(ResponseType.OK, result); return new ApiResponse(ResponseType.OK, result);
} }
...@@ -1557,8 +1574,18 @@ public string CustomDownloadFile(int userId, CustomPagingRequest request, per_al ...@@ -1557,8 +1574,18 @@ public string CustomDownloadFile(int userId, CustomPagingRequest request, per_al
if (heads != null && heads.Any(w => string.IsNullOrEmpty(w.Comment))) if (heads != null && heads.Any(w => string.IsNullOrEmpty(w.Comment)))
heads.RemoveAll(w => string.IsNullOrEmpty(w.Comment)); heads.RemoveAll(w => string.IsNullOrEmpty(w.Comment));
var data = new List<dynamic>();
if (request.Limit == 1)
{
request.QuerySearch = null;
data = _perforReport.QueryCustom(request.TableName, request.AllotId, null, null) ?? new List<dynamic>();
}
else
{
var unitTypes = UnitTypeUtil.GetMaps(roleType); var unitTypes = UnitTypeUtil.GetMaps(roleType);
var data = _perforReport.QueryCustom(request.TableName, request.AllotId, user?.Department ?? "", unitTypes) ?? new List<dynamic>(); data = _perforReport.QueryCustom(request.TableName, request.AllotId, user?.Department ?? "", unitTypes) ?? new List<dynamic>();
}
try try
{ {
......
...@@ -508,8 +508,10 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat ...@@ -508,8 +508,10 @@ public void Copy_AssessType(per_allot allot, int prevAllotId, bool delHistotyDat
CreateTime = dateTimeNow, CreateTime = dateTimeNow,
UpdateBy = t.UpdateBy, UpdateBy = t.UpdateBy,
UpdateTime = dateTimeNow, UpdateTime = dateTimeNow,
Score = null, BonusPoint = null,
ScoreRemark = null, BonusPointRemark = null,
Deduction = null,
DeductionRemark = null,
TargetUnitCode = t.TargetUnitCode, TargetUnitCode = t.TargetUnitCode,
TargetUnitType = t.TargetUnitType, TargetUnitType = t.TargetUnitType,
TargetAccountingUnit = t.TargetAccountingUnit, TargetAccountingUnit = t.TargetAccountingUnit,
......
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