Commit 73da2c94 by 纪旭 韦

考勤记录,考勤类型

parent b7dcdfdd
using Microsoft.AspNetCore.Mvc;
using Performance.DtoModels;
using Performance.EntityModels.Other;
using Performance.Services;
namespace Performance.Api.Controllers
{
[Route("api")]
[ApiController]
public class AttendanceController : ControllerBase
{
......@@ -32,7 +34,7 @@ AttendanceService attendanceService
public ApiResponse GetAttendance(int allotId)
{
// 查询考勤视图,并按照设计图做格式转换 仅查询开始结束
var result =_attendanceService.GetPerAttendance(allotId);
var result =_attendanceService.GetAttendance(allotId);
if (result != null )
{
return new ApiResponse(ResponseType.OK, result);
......@@ -51,29 +53,34 @@ public ApiResponse GetAttendance(int allotId)
public ApiResponse GetCallIn(int allotId)
{
// 查询考勤视图,并按照设计图做格式转换 仅查询调入
var result = _attendanceService.GetCallIn(allotId);
if (result != null)
{
return new ApiResponse(ResponseType.OK, result);
}
return new ApiResponse(ResponseType.Fail);
}
/// <summary>
/// 返回HandsonTable格式调动记录
/// </summary>
/// <param name="allotId"></param>
/// <returns></returns>
[HttpGet("CallIn/GetBatch/{allotId}")]
public ApiResponse GetBatchCallIn(int allotId)
[HttpGet("CallIn/GetBatch")]
public ApiResponse GetBatchCallInHandsonTable()
{
// 返回HandsonTable格式调动记录
return new ApiResponse(ResponseType.Fail);
return new ApiResponse(ResponseType.OK,_attendanceService.GetBatchCallInHandsonTable());
}
/// <summary>
/// 批量插入调动记录
/// </summary>
/// <param name="allotId"></param>
/// <param name="obj"></param>
/// <param name="hospitalId"></param>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("CallIn/Batch/{allotId}")]
public ApiResponse BatchCallIn(int allotId, object obj)
public ApiResponse BatchCallIn(int allotId,int hospitalId,SaveCollectData request)
{
// obj自己定义结构
// 批量插入调动记录,插入前需要删除所有后重新插入
......@@ -82,7 +89,7 @@ public ApiResponse BatchCallIn(int allotId, object obj)
// 需要验证核算组别和核算单元是否与“核算单元及组别”(cof_accounting)完全匹配,不匹配则返回表格错误提示
// 表格错误提醒参考PersonService.CreatePerson方法
return new ApiResponse(ResponseType.Fail);
return _attendanceService.BatchCallIn(allotId,hospitalId,request);
}
#endregion
......@@ -91,22 +98,25 @@ public ApiResponse BatchCallIn(int allotId, object obj)
/// 查询绩效考勤类型
/// </summary>
/// <param name="allotId"></param>
/// <param name="hospitalId"></param>
/// <returns></returns>
[HttpGet("Type/{allotId}")]
public ApiResponse GetAttendanceType(int allotId)
[HttpGet("Type/{allotId},{hospitalId}")]
public ApiResponse GetAttendanceType(int allotId, int hospitalId)
{
return new ApiResponse(ResponseType.Fail);
return new ApiResponse(ResponseType.OK,_attendanceService.GetAttendanceType(allotId,hospitalId));
}
/// <summary>
/// 新增或修改考勤类型
/// </summary>
/// <param name="allotId"></param>
/// <param name="hospitalId"></param>
/// <param name="attendanceType"></param>
/// <returns></returns>
[HttpPost("Type/Edit/{id}")]
public ApiResponse InsertAttendanceType(int allotId, object obj)
[HttpPost("Type/Edit/{allotId},{hospitalId}")]
public ApiResponse InsertAttendanceType(int allotId,int hospitalId, AttendanceType attendanceType)
{
// obj自己定义结构
return new ApiResponse(ResponseType.Fail);
return _attendanceService.InsertAttendanceType(allotId, hospitalId, attendanceType);
}
/// <summary>
/// 删除考勤类型
......@@ -117,7 +127,7 @@ public ApiResponse InsertAttendanceType(int allotId, object obj)
public ApiResponse DeleteAttendanceType(int id)
{
// 删除前需要验证当前类型是否被使用,如果被使用则禁止删除
return new ApiResponse(ResponseType.Fail);
return _attendanceService.DeleteAttendanceType(id);
}
#endregion
......@@ -125,17 +135,35 @@ public ApiResponse DeleteAttendanceType(int id)
/// <summary>
/// 返回HandsonTable格式考勤记录
/// </summary>
/// <returns></returns>
[HttpGet("Vacation")]
public ApiResponse GetAttendanceVacationHandsonTable()
{
// 返回HandsonTable格式考勤记录
return new ApiResponse(ResponseType.OK,_attendanceService.GetAttendanceVacationHandsonTable());
}
/// <summary>
/// 查询AttendanceVacation
/// </summary>
/// <param name="allotId"></param>
/// <param name="hospitalId"></param>
/// <returns></returns>
[HttpGet("Vacation/{allotId}")]
public ApiResponse GetAttendanceVacation(int allotId)
[HttpGet("Vacation/{allotId},{hospitalId}")]
public ApiResponse GetAttendanceVacation(int allotId,int hospitalId)
{
// 批量插入考勤记录,插入前需要删除所有后重新插入
return new ApiResponse(ResponseType.Fail);
return new ApiResponse(ResponseType.OK, _attendanceService.GetAttendanceVacation(allotId,hospitalId));
}
/// <summary>
/// 批量插入考勤记录,插入前需要删除所有后重新插入
/// </summary>
/// <param name="allotId"></param>
/// <param name="hospitalId"></param>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("Vacation/Batch/{allotId}")]
public ApiResponse AttendanceBatch(int allotId, object obj)
public ApiResponse AttendanceBatch(int allotId,int hospitalId, SaveCollectData request)
{
// obj自己定义结构
// 批量插入考勤记录,插入前需要删除所有后重新插入
......@@ -143,7 +171,7 @@ public ApiResponse AttendanceBatch(int allotId, object obj)
// 需要验证工号和姓名是否与“人员字典”(per_employee)完全匹配,不匹配则返回表格错误提示
// 表格错误提醒参考PersonService.CreatePerson方法
return new ApiResponse(ResponseType.Fail);
return new ApiResponse(ResponseType.OK,_attendanceService.AttendanceBatch(allotId,hospitalId,request));
}
#endregion
......
......@@ -326,33 +326,36 @@
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.GetBatchCallIn(System.Int32)">
<member name="M:Performance.Api.Controllers.AttendanceController.GetBatchCallInHandsonTable">
<summary>
返回HandsonTable格式调动记录
</summary>
<param name="allotId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.BatchCallIn(System.Int32,System.Object)">
<member name="M:Performance.Api.Controllers.AttendanceController.BatchCallIn(System.Int32,System.Int32,Performance.DtoModels.SaveCollectData)">
<summary>
批量插入调动记录
</summary>
<param name="allotId"></param>
<param name="obj"></param>
<param name="hospitalId"></param>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.GetAttendanceType(System.Int32)">
<member name="M:Performance.Api.Controllers.AttendanceController.GetAttendanceType(System.Int32,System.Int32)">
<summary>
查询绩效考勤类型
</summary>
<param name="allotId"></param>
<param name="hospitalId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.InsertAttendanceType(System.Int32,System.Object)">
<member name="M:Performance.Api.Controllers.AttendanceController.InsertAttendanceType(System.Int32,System.Int32,Performance.EntityModels.Other.AttendanceType)">
<summary>
新增或修改考勤类型
</summary>
<param name="allotId"></param>
<param name="hospitalId"></param>
<param name="attendanceType"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.DeleteAttendanceType(System.Int32)">
......@@ -362,11 +365,27 @@
<param name="id"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.GetAttendanceVacation(System.Int32)">
<member name="M:Performance.Api.Controllers.AttendanceController.GetAttendanceVacationHandsonTable">
<summary>
返回HandsonTable格式考勤记录
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.GetAttendanceVacation(System.Int32,System.Int32)">
<summary>
查询AttendanceVacation
</summary>
<param name="allotId"></param>
<param name="hospitalId"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.AttendanceBatch(System.Int32,System.Int32,Performance.DtoModels.SaveCollectData)">
<summary>
批量插入考勤记录,插入前需要删除所有后重新插入
</summary>
<param name="allotId"></param>
<param name="hospitalId"></param>
<param name="request"></param>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.AttendanceController.GetAttendanceStatistics(System.Int32)">
......
......@@ -202,7 +202,7 @@
<member name="F:Performance.DtoModels.DataFormat.分数">
<summary> 分数 </summary>
</member>
<member name="F:Performance.DtoModels.DataFormat.日期">
<member name="F:Performance.DtoModels.DataFormat.日期YYYYMMDD">
<summary> 日期 </summary>
</member>
<member name="M:Performance.DtoModels.HandsonTable.SetRowData(System.Collections.Generic.IEnumerable{Performance.DtoModels.HandsonRowData},System.Boolean)">
......
......@@ -116,7 +116,7 @@ public enum DataFormat
/// <summary> 分数 </summary>
分数,
/// <summary> 日期 </summary>
日期
日期YYYYMMDD
}
public enum Role
......
......@@ -127,6 +127,11 @@ public HandsonColumn(string data, bool readOnly = false, DataFormat format = Dat
Type = "text";
break;
case DataFormat.日期YYYYMMDD:
Type = "DateFormat";
DateFormat = "YYYY/MM/DD";
break;
case DataFormat.小数:
Type = "numeric";
NumericFormat = new NumericFormat { Pattern = "0,00.00" };
......@@ -152,6 +157,7 @@ public HandsonColumn(string data, bool readOnly = false, DataFormat format = Dat
public string Data { get; set; }
public bool ReadOnly { get; set; }
public string Type { get; set; }
public string DateFormat { get; set; }
public string[] Source { get; set; }
public bool Strict { get; set; } = false;
......
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;
using Performance.EntityModels.Entity;
using System;
namespace Performance.EntityModels
......@@ -245,5 +246,8 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
/// <summary> 用户角色关联表 </summary>
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_type> per_attendance_type { get; set; }
public virtual DbSet<per_attendance_vacation> per_attendance_vacation { get; set; }
}
}
using System;
using Performance.EntityModels.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
......@@ -30,6 +31,14 @@ public class InitialAttendance
public DateTime? EndDate { get; set; } //入科结束时间
public string Department { get; set; } //科室名称
}
public class RecordAttendcance: per_attendance_vacation
{
public int Days { get; set; }
public string AttendanceName { get; set; }
}
public class AttendaceHeads
{
public string Column { get; set; }
......@@ -37,6 +46,13 @@ public class AttendaceHeads
}
public class AttendanceType
{
public string AttendanceName { get; set; } //考勤类型名称
public string IsDeduction { get; set; } //是否核减出勤 1 核减 2 不核减
}
public class AttendanceResponse<T>
{
public List<AttendaceHeads> Heads { get; set; }
......
......@@ -37,7 +37,7 @@ public class RecognitionDataFormat
{ DataFormat.百分比, new[] { 9,10 } },
{ DataFormat.科学计数, new[] { 11 } },
{ DataFormat.分数, new[] { 12,13 } },
{ DataFormat.日期, new[] { 14,15,16,17 } },
{ DataFormat.日期YYYYMMDD, new[] { 14,15,16,17 } },
};
public static DataFormat GetDataFormat(short type)
......
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