fix:修改档案表crud

This commit is contained in:
cheche
2023-12-28 15:37:49 +08:00
parent a32d66b77e
commit 25f7b3270c
8 changed files with 342 additions and 67 deletions

View File

@@ -44,7 +44,7 @@ namespace Dlhis.Basic.MealUser.Controllers;
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("page")]
public async Task<Pagination<GainfoEntity>> GetPageAsync([FromQuery] GainfoPageRequest request)
public async Task<Pagination<GainfoPageResponse>> GetPageAsync([FromQuery] GainfoPageRequest request)
{
//var enums = await _enumSettingApi.GetEnums();
return await _gainfoService.GetPageAsync(request);
@@ -60,7 +60,26 @@ namespace Dlhis.Basic.MealUser.Controllers;
{
await _gainfoService.UpdateAsync(request);
}
/// <summary>
/// 离职
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("dimission")]
public async Task DimissionAsync(GainfoDImissionRequest request)
{
await _gainfoService.DimissionAsync(request);
}
/// <summary>
/// 入职
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("Onboarding")]
public async Task OnboardingAsync(GainfoDImissionRequest request)
{
await _gainfoService.OnboardingAsync(request);
}
}

View File

@@ -1,4 +1,5 @@
using Dlhis.Entity.Basic.Entity;
using Dlhis.Basic.MealUser.Response;
using Dlhis.Entity.Basic.Entity;
using Dlhis.Entity.Basic.Enums;
using Dlhis.Entity.Canteen.Enums;
using System.ComponentModel.DataAnnotations;
@@ -7,10 +8,7 @@ namespace Dlhis.Basic.MealUser.Request
{
public class GainfoAddSaveRequest
{
[EnumDataType(typeof(GainfoStatusEnumType))]
public GainfoStatusEnumType gainfoStatus { get; set; }
public GainfoEntity gainfoEntity { get; set; }
public GainfoPageResponse gainfoPageResponse { get; set; }
}
}

View File

@@ -0,0 +1,13 @@
using System.ComponentModel.DataAnnotations;
namespace Dlhis.Basic.MealUser.Request
{
public class GainfoDImissionRequest
{
/// <summary>
/// 档案号
/// </summary>
[Required(ErrorMessage = "档案号不能为空")]
public string UserId { get; set; }
}
}

View File

@@ -0,0 +1,148 @@
using SqlSugar;
namespace Dlhis.Basic.MealUser.Response
{
public class GainfoPageResponse
{
/// <summary>
/// 档案号
/// </summary>
[SugarColumn(ColumnDescription = "档案号")]
public Guid Guestno { get; set; }
/// <summary>
/// SAP内部编号
/// </summary>
[SugarColumn(ColumnDescription = "SAP内部编号")]
public string Ano { get; set; }
/// <summary>
/// 人员类型
/// </summary>
[SugarColumn(ColumnDescription = "人员类型")]
public string Class { get; set; }
/// <summary>
/// 姓名
/// </summary>
[SugarColumn(ColumnDescription = "姓名")]
public string Gname { get; set; }
/// <summary>
/// 工号
/// </summary>
[SugarColumn(ColumnDescription = "工号")]
public string Ename { get; set; }
/// <summary>
/// 国家代码
/// </summary>
[SugarColumn(ColumnDescription = "国家代码")]
public string Country { get; set; }
/// <summary>
/// 证件类型代码
/// </summary>
[SugarColumn(ColumnDescription = "证件类型代码")]
public string Idcls { get; set; }
/// <summary>
/// 身份证号
/// </summary>
[SugarColumn(ColumnDescription = "身份证号")]
public string IdNO { get; set; }
/// <summary>
/// 身份证籍贯区域代码
/// </summary>
[SugarColumn(ColumnDescription = "身份证籍贯区域代码")]
public string Native { get; set; }
/// <summary>
/// 性别
/// </summary>
[SugarColumn(ColumnDescription = "性别")]
public string Sex { get; set; }
/// <summary>
/// 生日
/// </summary>
[SugarColumn(ColumnDescription = "生日")]
public DateTime Birthday { get; set; }
/// <summary>
/// 身份证地址
/// </summary>
[SugarColumn(ColumnDescription = "身份证地址")]
public string Address { get; set; }
/// <summary>
/// 已婚/未婚
/// </summary>
[SugarColumn(ColumnDescription = "已婚/未婚")]
public string Postcode { get; set; }
/// <summary>
/// 部门编码
/// </summary>
[SugarColumn(ColumnDescription = "部门编码")]
public string Appellation { get; set; }
/// <summary>
/// 民族代码
/// </summary>
[SugarColumn(ColumnDescription = "民族代码")]
public string Nation { get; set; }
/// <summary>
/// 手机号码
/// </summary>
[SugarColumn(ColumnDescription = "手机号码")]
public string Phone { get; set; }
/// <summary>
/// 联系电话
/// </summary>
[SugarColumn(ColumnDescription = "联系电话")]
public string Mobile { get; set; }
/// <summary>
/// 学历
/// </summary>
[SugarColumn(ColumnDescription = "学历")]
public string Degree { get; set; }
/// <summary>
/// 岗位
/// </summary>
[SugarColumn(ColumnDescription = "岗位")]
public string Web { get; set; }
/// <summary>
/// 备注
/// </summary>
[SugarColumn(ColumnDescription = "备注")]
public string Remark { get; set; }
/// <summary>
/// 操作账号
/// </summary>
[SugarColumn(ColumnDescription = "操作账号")]
public string Log_id { get; set; }
/// <summary>
/// 操作班次
/// </summary>
[SugarColumn(ColumnDescription = "操作班次")]
public string Log_shift { get; set; }
/// <summary>
/// 操作时间
/// </summary>
[SugarColumn(ColumnDescription = "操作时间")]
public DateTime Log_date { get; set; }
/// <summary>
/// 操作IP
/// </summary>
[SugarColumn(ColumnDescription = "操作IP")]
public string Log_ip { get; set; }
/// <summary>
/// 是否在职 F 在职 T离职
/// </summary>
[SugarColumn(ColumnDescription = "是否在职 F 在职 T离职")]
public string Isowner { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[SugarColumn(ColumnDescription = "创建时间")]
public DateTime Createdate { get; set; }
/// <summary>
/// 外文名字
/// </summary>
[SugarColumn(ColumnDescription = "外文名字")]
public string Gname_en { get; set; }
/// <summary>
/// 卡号
/// </summary>
[SugarColumn(ColumnDescription = "卡号")]
public string CarNo { get; set; }
}
}

View File

@@ -1,4 +1,5 @@
using Dlhis.Basic.MealUser.Request;
using Dlhis.Basic.MealUser.Response;
using Dlhis.Entity.Basic.Entity;
using Kurisu.Core.DataAccess.Dto;
using Microsoft.AspNetCore.Mvc;
@@ -8,8 +9,11 @@ namespace Dlhis.Basic.MealUser.Services
public interface IGainfoService : IScopeDependency
{
Task SaveAsync(GainfoAddSaveRequest request);
Task<Pagination<GainfoEntity>> GetPageAsync(GainfoPageRequest request);
Task<Pagination<GainfoPageResponse>> GetPageAsync(GainfoPageRequest request);
Task UpdateAsync(GainfoAddSaveRequest request);
Task DimissionAsync(GainfoDImissionRequest request);
Task OnboardingAsync(GainfoDImissionRequest request);
}
}

View File

@@ -1,11 +1,15 @@
using Dlhis.Basic.BusinessPlace.Response;
using Dlhis.Basic.MealUser.Request;
using Dlhis.Basic.MealUser.Response;
using Dlhis.Basic.Organization.Services;
using Dlhis.Entity.Basic.Entity;
using Dlhis.Entity.Basic.Enums;
using Kurisu.AspNetCore.Utils.Extensions;
using Kurisu.Core.DataAccess.Dto;
using Kurisu.SqlSugar.Attributes;
using Kurisu.SqlSugar.Extensions;
using Kurisu.SqlSugar.Services;
using Mapster;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Basic.MealUser.Services.Implements
@@ -15,9 +19,8 @@ namespace Dlhis.Basic.MealUser.Services.Implements
private readonly IGainfoStore _gainfoStore;
public GainfoService(IDbContext dbContext, IGainfoStore gainfoStore)
public GainfoService(IGainfoStore gainfoStore)
{
_gainfoStore = gainfoStore;
}
/// <summary>
@@ -30,18 +33,20 @@ namespace Dlhis.Basic.MealUser.Services.Implements
await CheckGainfoGuestnoAsync(request);//档案号是否重复
var gainfos = new List<GainfoEntity>();
gainfos.Add(request.gainfoEntity);
await _gainfoStore.InsertAsync(request.gainfoStatus,gainfos);
GainfoEntity aginfoEntity = request.gainfoPageResponse.Adapt<GainfoEntity>();
aginfoEntity.Guestno = new Guid("F" + Guid.NewGuid().ToString());
gainfos.Add(aginfoEntity);
await _gainfoStore.InsertAsync(GainfoStatusEnumType.Working, gainfos);
}
/// <summary>
/// 档案分页
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public Task<Pagination<GainfoEntity>> GetPageAsync( GainfoPageRequest request)
public Task<Pagination<GainfoPageResponse>> GetPageAsync( GainfoPageRequest request)
{
var page = _gainfoStore.Queryable(request.gainfoStatus)
.Select<GainfoEntity>()
.Select<GainfoPageResponse>()
.ToPageListAsync(request);
return page;
}
@@ -53,11 +58,49 @@ namespace Dlhis.Basic.MealUser.Services.Implements
public async Task UpdateAsync(GainfoAddSaveRequest request)
{
var gainfos = new List<GainfoEntity>();
gainfos.Add(request.gainfoEntity);
await _gainfoStore.UpdateAsync(request.gainfoStatus,gainfos);
GainfoEntity aginfoEntity = request.gainfoPageResponse.Adapt<GainfoEntity>();
gainfos.Add(aginfoEntity);
await _gainfoStore.UpdateAsync(GainfoStatusEnumType.Working, gainfos);
}
/// <summary>
/// 正式转离职
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
[Transactional]
public async Task DimissionAsync(GainfoDImissionRequest request)
{
var gainfo = await _gainfoStore.Queryable(GainfoStatusEnumType.Working)
.Where(x => x.Guestno.ToString() == request.UserId)
.FirstAsync();
gainfo.ThrowIfNull($"该档案不存在");
//添加到离职表
var gainfos = new List<GainfoEntity>();
gainfos.Add(gainfo);
await _gainfoStore.InsertAsync(GainfoStatusEnumType.Leave, gainfos);
//删除原数据
await _gainfoStore.DeleteAsync(GainfoStatusEnumType.Working, gainfos);
}
/// <summary>
/// 临时转正式
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
[Transactional]
public async Task OnboardingAsync(GainfoDImissionRequest request)
{
var gainfo = await _gainfoStore.Queryable(GainfoStatusEnumType.External)
.Where(x => x.Guestno.ToString() == request.UserId)
.FirstAsync();
gainfo.ThrowIfNull($"该档案不存在");
//添加到正式表
var gainfos = new List<GainfoEntity>();
gainfos.Add(gainfo);
await _gainfoStore.InsertAsync(GainfoStatusEnumType.Working, gainfos);
//保留原数据
}
//-------------------------------------------help methods ------------------------------------------------
/// <summary>
@@ -68,10 +111,15 @@ namespace Dlhis.Basic.MealUser.Services.Implements
private async Task CheckGainfoGuestnoAsync(GainfoAddSaveRequest request)
{
var checkGainfoGuestno = await _gainfoStore.Queryable(request.gainfoStatus)
.Where(x => x.Guestno == request.gainfoEntity.Guestno)
var checkGainfoGuestno = await _gainfoStore.Queryable(GainfoStatusEnumType.Working)
.Where(x => x.Guestno == request.gainfoPageResponse.Guestno)
.AnyAsync();
checkGainfoGuestno.ThrowIfTrue($"档案号[{request.gainfoEntity.Guestno}]已存在");
checkGainfoGuestno.ThrowIfTrue($"档案号[{request.gainfoPageResponse.Guestno}]已存在");
}
public Task OnboardingAsync(GainfoDImissionRequest request)
{
throw new NotImplementedException();
}
}
}

View File

@@ -35,10 +35,10 @@ public class MealUserService : IMealUserService
//todo 获取档案信息
var gainfoEntity = await _gainfoStore.Queryable(GainfoStatusEnumType.Working)
.Where(x => x.Guestno == request.UserId)
.Where(x => x.Guestno.ToString() == request.UserId)
.FirstAsync();
var b = gainfoEntity == null ? true : false;
b.ThrowIfTrue($"档案[{request.UserId}]不存在");
gainfoEntity.ThrowIfNull($"档案[{request.UserId}]不存在");
var entity = new CanteenUserEntity
{

View File

@@ -9,99 +9,144 @@ namespace Dlhis.Entity.Basic.Entity;
[SugarTable(TableName = "Gainfo", TableDescription = "档案表")]
public class GainfoEntity : SugarBaseEntity
{
/// <summary>
/// 档案号
/// </summary>
[SugarColumn(ColumnDescription = "档案号")]
public string Guestno { get; set; }
public Guid Guestno { get; set; }
/// <summary>
/// SAP内部编号
/// </summary>
[SugarColumn(ColumnDescription = "SAP内部编号")]
public string Ano { get; set; }
/// <summary>
/// 人员类型
/// </summary>
[SugarColumn(ColumnDescription = "人员类型")]
public string Class { get; set; }
/// <summary>
/// 姓名
/// </summary>
[SugarColumn(ColumnDescription = "姓名")]
public string Gname { get; set; }
/// <summary>
/// 工号
/// </summary>
[SugarColumn(ColumnDescription = "工号")]
public string Ename { get; set; }
/// <summary>
/// 国家代码
/// </summary>
[SugarColumn(ColumnDescription = "国家代码")]
public string Country { get; set; }
/// <summary>
/// 证件类型代码
/// </summary>
[SugarColumn(ColumnDescription = "证件类型代码")]
public string Idcls { get; set; }
/// <summary>
/// 身份证号
/// </summary>
[SugarColumn(ColumnDescription = "身份证号")]
public string IdNO { get; set; }
/// <summary>
/// 身份证籍贯区域代码
/// </summary>
[SugarColumn(ColumnDescription = "身份证籍贯区域代码")]
public string Native { get; set; }
/// <summary>
/// 性别
/// </summary>
[SugarColumn(ColumnDescription = "性别")]
public string Sex { get; set; }
/// <summary>
/// 生日
/// </summary>
[SugarColumn(ColumnDescription = "生日")]
public DateTime Birthday { get; set; }
/// <summary>
/// 身份证地址
/// </summary>
[SugarColumn(ColumnDescription = "身份证地址")]
public string Address { get; set; }
/// <summary>
/// 已婚/未婚
/// </summary>
[SugarColumn(ColumnDescription = "已婚/未婚")]
public string Postcode { get; set; }
/// <summary>
/// 部门编码
/// </summary>
[SugarColumn(ColumnDescription = "部门编码")]
public string Appellation { get; set; }
/// <summary>
/// 民族代码
/// </summary>
[SugarColumn(ColumnDescription = "民族代码")]
public string Nation { get; set; }
/// <summary>
/// 手机号码
/// </summary>
[SugarColumn(ColumnDescription = "手机号码")]
public string Phone { get; set; }
/// <summary>
/// 联系电话
/// </summary>
[SugarColumn(ColumnDescription = "联系电话")]
public string Mobile { get; set; }
/// <summary>
/// 学历
/// </summary>
[SugarColumn(ColumnDescription = "学历")]
public string Email { get; set; }
public string Degree { get; set; }
/// <summary>
/// 岗位
/// </summary>
[SugarColumn(ColumnDescription = "岗位")]
public string Web { get; set; }
/// <summary>
/// 备注
/// </summary>
[SugarColumn(ColumnDescription = "备注")]
public string Remark { get; set; }
/// <summary>
/// 操作账号
/// </summary>
[SugarColumn(ColumnDescription = "操作账号")]
public string Log_id { get; set; }
/// <summary>
/// 操作班次
/// </summary>
[SugarColumn(ColumnDescription = "操作班次")]
public string Log_shift { get; set; }
/// <summary>
/// 操作时间
/// </summary>
[SugarColumn(ColumnDescription = "操作时间")]
public DateTime Log_date { get; set; }
/// <summary>
/// 操作IP
/// </summary>
[SugarColumn(ColumnDescription = "操作IP")]
public string Log_ip { get; set; }
/// <summary>
/// 是否在职 F 在职 T离职
/// </summary>
[SugarColumn(ColumnDescription = "是否在职 F 在职 T离职")]
public string Isowner { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[SugarColumn(ColumnDescription = "创建时间")]
public DateTime Createdate { get; set; }
/// <summary>
/// 外文名字
/// </summary>
[SugarColumn(ColumnDescription = "外文名字")]
public string Gname_en { get; set; }
[SugarColumn(ColumnDescription = "人脸门禁权限代码")]
public string Face_door { get; set; }
[SugarColumn(ColumnDescription = "人脸考勤权限")]
public string Face_kq { get; set; }
[SugarColumn(ColumnDescription = "人脸就餐权限")]
public string Face_dinner { get; set; }
[SugarColumn(ColumnDescription = "人事范围")]
public string Werks { get; set; }
/// <summary>
/// 卡号
/// </summary>
[SugarColumn(ColumnDescription = "卡号")]
public string CarNo { get; set; }
}