Commit 81c9ddee by wyc

‘考勤结果统计 ’支持按角色显示查询数据 ‘考勤下发’下发数据(增删改查)\确认或质疑\记录操作

parent 0671d0ba
......@@ -49,7 +49,7 @@ public class AccountController : Controller
/// {
/// "logintype": 2,
/// "account": "admin",
/// "password": "e10adc3949ba59abbe56e057f20f883e",
/// "password": "b59c67bf196a4758191e42f76670ceba",
/// "appname": "string",
/// "device": "web"
/// }
......
......@@ -9,6 +9,7 @@
using System;
using System.IO;
using Newtonsoft.Json;
using System.Threading.Tasks;
namespace Performance.Api.Controllers
{
......@@ -17,11 +18,13 @@ namespace Performance.Api.Controllers
public class AttendanceController : ControllerBase
{
private readonly AttendanceService _attendanceService;
private ClaimService claim;
public AttendanceController(
AttendanceService attendanceService
AttendanceService attendanceService, ClaimService claim
)
{
_attendanceService = attendanceService;
this.claim = claim;
}
/*
......@@ -41,7 +44,8 @@ AttendanceService attendanceService
public ApiResponse<List<AttendanceStatistics>> GetAttendance(int allotId)
{
// 查询考勤视图,并按照设计图做格式转换 仅查询开始结束
var result = _attendanceService.GetAttendance(allotId);
var userid = claim.GetUserId();
var result = _attendanceService.GetAttendance(allotId, userid);
return result;
}
......@@ -185,7 +189,8 @@ public ApiResponse AttendanceBatch(int allotId, int hospitalId, SaveCollectData
public ApiResponse<List<AttendanceStatistics>> GetAttendanceStatistics(int allotId)
{
// 返回结果参考接口 employee/apr/getdeptdetail
return _attendanceService.GetAttendanceStatistics(allotId);
var userid = claim.GetUserId();
return _attendanceService.GetAttendanceStatistics(allotId, userid);
}
#region 下载
......@@ -209,7 +214,8 @@ public IActionResult DownloadAttendance(int allotId)
new ExcelDownloadHeads { Alias = "在科开始时问", Name = nameof(AttendanceStatistics.BeginDate) },
new ExcelDownloadHeads { Alias = "在科结束时间", Name = nameof(AttendanceStatistics.EndDate) },
};
var result = _attendanceService.GetAttendance(allotId).Data;
var userid = claim.GetUserId();
var result = _attendanceService.GetAttendance(allotId, userid).Data;
var ser = JsonConvert.SerializeObject(result);
var rows = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(ser);
......@@ -327,8 +333,8 @@ public IActionResult DownloadStatistics(int allotId)
excelDownloadHeads.Add(new ExcelDownloadHeads() { Alias = item.AttendanceName, Name = item.AttendanceName });
}
excelDownloadHeads.Add(new ExcelDownloadHeads() { Alias = "考勤天数", Name = "AttendanceDays" });
var result = _attendanceService.GetAttendanceStatistics(allotId).Data;
var userid = claim.GetUserId();
var result = _attendanceService.GetAttendanceStatistics(allotId, userid).Data;
var ser = JsonConvert.SerializeObject(result);
var rows = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(ser);
......@@ -359,5 +365,64 @@ public IActionResult DownloadStatistics(int allotId)
}
#endregion
#region 最终考勤结果
//// 最终考勤结果下发
//// 判断一下,是否是首次下发
//// 如果首次下发
//// 存储到表中per_attendance_issue
//// 不是首次下发
//// 自动驳回检查(涉及哪些人哪些科)
///// <summary>
///// 最终考勤结果下发(预确认显示)
///// </summary>
///// <param name="allotId"></param>
///// <param name="userid"></param>
///// <returns></returns>
//[HttpPost]
//[Route("issue/statistics/PreConfirmationDisplay")]
//public ApiResponse<List<PerAttendanceIssueDto>> PreConfirmationDisplay(int allotId)
//{
// var userid = claim.GetUserId();
// return _attendanceService.PreConfirmationDisplay(allotId,userid);
//}
/// <summary>
/// 最终考勤结果下发
/// </summary>
/// <param name="allotId"></param>
/// <param name="hospitalId"></param>
/// <returns></returns>
[HttpPost]
[Route("issue/statistics/{allotId}")]
public ApiResponse IssueStatistics(int allotId, int hospitalId)
{
var userid = claim.GetUserId();
return _attendanceService.IssueStatistics(allotId, userid, hospitalId);
}
/// <summary>
/// 最终考勤结果质疑或确认无误((批量操作)
/// </summary>
/// <param name="allotId"></param>
/// <param name="issueid"></param>
/// <param name="choose"></param>
/// <returns></returns>
[HttpPost]
[Route("issue/statistics/choose")]
public ApiResponse ChooseStatistics(int allotId, int[] issueid, bool choose)
{
var userid = claim.GetUserId();
return _attendanceService.ChooseStatistics(allotId, userid, issueid, choose);
}
#endregion
}
}
}
\ No newline at end of file
......@@ -15,7 +15,7 @@
{
"logintype": 2,
"account": "admin",
"password": "e10adc3949ba59abbe56e057f20f883e",
"password": "b59c67bf196a4758191e42f76670ceba",
"appname": "string",
"device": "web"
}
......@@ -413,6 +413,31 @@
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.PreConfirmationDisplay(System.Int32)">
<summary>
最终考勤结果下发(预确认显示)
</summary>
<param name="allotId"></param>
<param name="hospitalId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.IssueStatistics(System.Int32,System.Int32)">
<summary>
最终考勤结果下发
</summary>
<param name="allotId"></param>
<param name="hospitalId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.ChooseStatistics(System.Int32,System.Int32[],System.Boolean)">
<summary>
最终考勤结果质疑或确认无误((批量操作)
</summary>
<param name="allotId"></param>
<param name="issueid"></param>
<param name="choose"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.BudgetController.Query(Performance.DtoModels.Request.BudgetRequest)">
<summary>
预算管理查询(包含金额、占比)
......
......@@ -4308,6 +4308,11 @@
用户科室
</summary>
</member>
<member name="P:Performance.DtoModels.UserIdentity.UnitType">
<summary>
核算组别
</summary>
</member>
<member name="P:Performance.DtoModels.UserIdentity.IsInitialPassword">
<summary>
初始密码 1 初始 2 改过
......
using AutoMapper;
using Performance.DtoModels.Request;
using Performance.EntityModels;
using Performance.EntityModels.Entity;
using Performance.Infrastructure;
using System.Linq;
......@@ -276,6 +277,9 @@ public AutoMapperConfigs()
.ReverseMap();
CreateMap<cof_again,CofAgainRequest>().ReverseMap();
CreateMap<per_attendance_issue_record, per_attendance_issue>().ReverseMap();
CreateMap<PerAttendanceIssueDto, per_attendance_issue>().ReverseMap();
CreateMap<PerAttendanceIssueDto, AttendanceStatistics>().ReverseMap();
}
}
}
......@@ -117,6 +117,16 @@ public enum Deduction
核减 = 1,
不核减 = 2,
}
public enum State
{
首次下发=1,
确认=2,
确认未修改=3,
确认已修改=4,
质疑=5,
质疑未修改=6,
质疑已修改=7,
}
}
public class SecondAllot
......
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Performance.DtoModels
{
public class PerAttendanceIssueDto
{
public int AllotId { get; set; } //绩效Id
public string Code { get; set; } //核算单元编码
public string UnitType { get; set; } //人员类别
public string AccountingUnit { get; set; } //核算单元
public string PersonnelNumber { get; set; } //工号
public string PersonnelName { get; set; } //姓名
public DateTime? BeginDate { get; set; } //在科开始时间
public DateTime? EndDate { get; set; } //在科结束时间
public int WorkFullDays { get; set; } //全勤天数
public int AttendanceDays { get; set; } //出勤天数
public int DeductionDays { get; set; } //核减天数
public int NoDeductionDays { get; set; } //不核减天数
public int OperationType { get; set; } //操作类型
}
}
......@@ -23,6 +23,10 @@ public class UserIdentity
/// 用户科室
/// </summary>
public string Department { get; set; }
/// <summary>
/// 核算组别
/// </summary>
public string UnitType { get; set; }
public List<HospitalResponse> Hospital { get; set; }
public List<RoleResponse> Role { get; set; }
/// <summary>
......
......@@ -254,6 +254,8 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
public virtual DbSet<sys_user_role> sys_user_role { get; set; }
public virtual DbSet<sys_version> sys_version { get; set; }
public virtual DbSet<per_attendance> per_attendance { get; set; }
public virtual DbSet<per_attendance_issue> per_attendance_issue { get; set; }
public virtual DbSet<per_attendance_issue_record> per_attendance_issue_record { get; set; }
public virtual DbSet<per_attendance_type> per_attendance_type { get; set; }
public virtual DbSet<per_attendance_vacation> per_attendance_vacation { get; set; }
public virtual DbSet<per_allot_action> per_allot_action { get; set; }
......
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Performance.EntityModels.Entity
{
[Table("per_attendance_issue")]
public class per_attendance_issue
{
[Key]
public int Id { get; set; }
public int HospitalId { get; set; } //医院Id
public int AllotId { get; set; } //绩效Id
public string Code { get; set; } //核算单元编码
public string UnitType { get; set; } //人员类别
public string AccountingUnit { get; set; } //核算单元
public string PersonnelNumber { get; set; } //工号
public string PersonnelName { get; set; } //姓名
public DateTime? BeginDate { get; set; } //在科开始时间
public DateTime? EndDate { get; set; } //在科结束时间
public int WorkFullDays { get; set; } //全勤天数
public int AttendanceDays { get; set; } //出勤天数
public int DeductionDays { get; set; } //核减天数
public int NoDeductionDays { get; set; } //不核减天数
public int State { get; set; } //状态
public int CreateUser { get; set; } //首次下发人
public int UpdateUser { get; set; } //更新人
public DateTime? CreationTime { get; set; } //首次下发时间
public DateTime? UpdateTime { get; set; } //更新时间
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Performance.EntityModels.Entity
{
[Table("per_attendance_issue_record")]
public class per_attendance_issue_record
{
[Key]
public int Id { get; set; }
public int HospitalId { get; set; } //医院Id
public int AllotId { get; set; } //绩效Id
public string Code { get; set; } //核算单元编码
public string UnitType { get; set; } //人员类别
public string AccountingUnit { get; set; } //核算单元
public string PersonnelNumber { get; set; } //工号
public string PersonnelName { get; set; } //姓名
public DateTime? BeginDate { get; set; } //在科开始时间
public DateTime? EndDate { get; set; } //在科结束时间
public int WorkFullDays { get; set; } //全勤天数
public int AttendanceDays { get; set; } //出勤天数
public int DeductionDays { get; set; } //核减天数
public int NoDeductionDays { get; set; } //不核减天数
public int State { get; set; } //状态
public string OperationType { get; set; } //操作类型
public int CreateUser { get; set; } //操作人
public DateTime? CreationTime { get; set; } //操作时间
}
}
......@@ -68,7 +68,7 @@ public bool Add(TEntity entity)
public bool AddRange(params TEntity[] entities)
{
context.Set<TEntity>().AddRange(entities);
context.Set<TEntity>().AddRange(entities);
return context.SaveChanges() > 0;
}
......
using Performance.EntityModels;
using Performance.EntityModels.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Performance.Repository.Repository
{
public partial class PerforPerAttendanceIssueRecordRepository : PerforRepository<per_attendance_issue_record>
{
/// <summary>
/// per_attendance_issue_record Repository
/// </summary>
public PerforPerAttendanceIssueRecordRepository(PerformanceDbContext context) : base(context)
{
}
}
}
using Performance.EntityModels;
using Performance.EntityModels.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Performance.Repository.Repository
{
public partial class PerforPerAttendanceIssueRepository : PerforRepository<per_attendance_issue>
{
/// <summary>
/// per_attendance_issue Repository
/// </summary>
public PerforPerAttendanceIssueRepository(PerformanceDbContext context) : base(context)
{
}
}
}
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