From 25f7b3270c3e3256eb3e2651af4b77dd6ebb8566 Mon Sep 17 00:00:00 2001
From: cheche <717840555@qq.com>
Date: Thu, 28 Dec 2023 15:37:49 +0800
Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E4=BF=AE=E6=94=B9=E6=A1=A3?=
=?UTF-8?q?=E6=A1=88=E8=A1=A8crud?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../MealUser/Controllers/GainfoController.cs | 23 ++-
.../MealUser/Request/GainfoAddSaveRequest.cs | 10 +-
.../Request/GainfoDImissionRequest.cs | 13 ++
.../MealUser/Response/GainfoPageResponse.cs | 148 ++++++++++++++++++
.../MealUser/Services/IGainfoService.cs | 8 +-
.../Services/Implements/GainfoService.cs | 74 +++++++--
.../Services/Implements/MealUserService.cs | 6 +-
Src/Dlhis.Entity/Basic/Entity/GainfoEntity.cs | 127 ++++++++++-----
8 files changed, 342 insertions(+), 67 deletions(-)
create mode 100644 Src/Dlhis.Basic/MealUser/Request/GainfoDImissionRequest.cs
create mode 100644 Src/Dlhis.Basic/MealUser/Response/GainfoPageResponse.cs
diff --git a/Src/Dlhis.Basic/MealUser/Controllers/GainfoController.cs b/Src/Dlhis.Basic/MealUser/Controllers/GainfoController.cs
index 7bbc54de..94717b06 100644
--- a/Src/Dlhis.Basic/MealUser/Controllers/GainfoController.cs
+++ b/Src/Dlhis.Basic/MealUser/Controllers/GainfoController.cs
@@ -44,7 +44,7 @@ namespace Dlhis.Basic.MealUser.Controllers;
///
///
[HttpGet("page")]
- public async Task> GetPageAsync([FromQuery] GainfoPageRequest request)
+ public async Task> 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);
}
+ ///
+ /// 离职
+ ///
+ ///
+ ///
+ [HttpPost("dimission")]
+ public async Task DimissionAsync(GainfoDImissionRequest request)
+ {
+ await _gainfoService.DimissionAsync(request);
+ }
-
+ ///
+ /// 入职
+ ///
+ ///
+ ///
+ [HttpPost("Onboarding")]
+ public async Task OnboardingAsync(GainfoDImissionRequest request)
+ {
+ await _gainfoService.OnboardingAsync(request);
+ }
}
diff --git a/Src/Dlhis.Basic/MealUser/Request/GainfoAddSaveRequest.cs b/Src/Dlhis.Basic/MealUser/Request/GainfoAddSaveRequest.cs
index 654f6b58..8484d7a1 100644
--- a/Src/Dlhis.Basic/MealUser/Request/GainfoAddSaveRequest.cs
+++ b/Src/Dlhis.Basic/MealUser/Request/GainfoAddSaveRequest.cs
@@ -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; }
}
}
diff --git a/Src/Dlhis.Basic/MealUser/Request/GainfoDImissionRequest.cs b/Src/Dlhis.Basic/MealUser/Request/GainfoDImissionRequest.cs
new file mode 100644
index 00000000..697e795e
--- /dev/null
+++ b/Src/Dlhis.Basic/MealUser/Request/GainfoDImissionRequest.cs
@@ -0,0 +1,13 @@
+using System.ComponentModel.DataAnnotations;
+
+namespace Dlhis.Basic.MealUser.Request
+{
+ public class GainfoDImissionRequest
+ {
+ ///
+ /// 档案号
+ ///
+ [Required(ErrorMessage = "档案号不能为空")]
+ public string UserId { get; set; }
+ }
+}
diff --git a/Src/Dlhis.Basic/MealUser/Response/GainfoPageResponse.cs b/Src/Dlhis.Basic/MealUser/Response/GainfoPageResponse.cs
new file mode 100644
index 00000000..f7496625
--- /dev/null
+++ b/Src/Dlhis.Basic/MealUser/Response/GainfoPageResponse.cs
@@ -0,0 +1,148 @@
+using SqlSugar;
+
+namespace Dlhis.Basic.MealUser.Response
+{
+ public class GainfoPageResponse
+ {
+ ///
+ /// 档案号
+ ///
+ [SugarColumn(ColumnDescription = "档案号")]
+ public Guid Guestno { get; set; }
+ ///
+ /// SAP内部编号
+ ///
+ [SugarColumn(ColumnDescription = "SAP内部编号")]
+ public string Ano { get; set; }
+ ///
+ /// 人员类型
+ ///
+ [SugarColumn(ColumnDescription = "人员类型")]
+ public string Class { get; set; }
+ ///
+ /// 姓名
+ ///
+ [SugarColumn(ColumnDescription = "姓名")]
+ public string Gname { get; set; }
+ ///
+ /// 工号
+ ///
+ [SugarColumn(ColumnDescription = "工号")]
+ public string Ename { get; set; }
+ ///
+ /// 国家代码
+ ///
+ [SugarColumn(ColumnDescription = "国家代码")]
+ public string Country { get; set; }
+ ///
+ /// 证件类型代码
+ ///
+ [SugarColumn(ColumnDescription = "证件类型代码")]
+ public string Idcls { get; set; }
+ ///
+ /// 身份证号
+ ///
+ [SugarColumn(ColumnDescription = "身份证号")]
+ public string IdNO { get; set; }
+ ///
+ /// 身份证籍贯区域代码
+ ///
+ [SugarColumn(ColumnDescription = "身份证籍贯区域代码")]
+ public string Native { get; set; }
+ ///
+ /// 性别
+ ///
+ [SugarColumn(ColumnDescription = "性别")]
+ public string Sex { get; set; }
+ ///
+ /// 生日
+ ///
+ [SugarColumn(ColumnDescription = "生日")]
+ public DateTime Birthday { get; set; }
+ ///
+ /// 身份证地址
+ ///
+ [SugarColumn(ColumnDescription = "身份证地址")]
+ public string Address { get; set; }
+ ///
+ /// 已婚/未婚
+ ///
+ [SugarColumn(ColumnDescription = "已婚/未婚")]
+ public string Postcode { get; set; }
+ ///
+ /// 部门编码
+ ///
+ [SugarColumn(ColumnDescription = "部门编码")]
+ public string Appellation { get; set; }
+ ///
+ /// 民族代码
+ ///
+ [SugarColumn(ColumnDescription = "民族代码")]
+ public string Nation { get; set; }
+ ///
+ /// 手机号码
+ ///
+ [SugarColumn(ColumnDescription = "手机号码")]
+ public string Phone { get; set; }
+ ///
+ /// 联系电话
+ ///
+ [SugarColumn(ColumnDescription = "联系电话")]
+ public string Mobile { get; set; }
+ ///
+ /// 学历
+ ///
+ [SugarColumn(ColumnDescription = "学历")]
+ public string Degree { get; set; }
+ ///
+ /// 岗位
+ ///
+ [SugarColumn(ColumnDescription = "岗位")]
+ public string Web { get; set; }
+ ///
+ /// 备注
+ ///
+ [SugarColumn(ColumnDescription = "备注")]
+ public string Remark { get; set; }
+ ///
+ /// 操作账号
+ ///
+ [SugarColumn(ColumnDescription = "操作账号")]
+ public string Log_id { get; set; }
+ ///
+ /// 操作班次
+ ///
+ [SugarColumn(ColumnDescription = "操作班次")]
+ public string Log_shift { get; set; }
+ ///
+ /// 操作时间
+ ///
+ [SugarColumn(ColumnDescription = "操作时间")]
+ public DateTime Log_date { get; set; }
+ ///
+ /// 操作IP
+ ///
+ [SugarColumn(ColumnDescription = "操作IP")]
+ public string Log_ip { get; set; }
+ ///
+ /// 是否在职 F 在职 T离职
+ ///
+ [SugarColumn(ColumnDescription = "是否在职 F 在职 T离职")]
+ public string Isowner { get; set; }
+ ///
+ /// 创建时间
+ ///
+ [SugarColumn(ColumnDescription = "创建时间")]
+ public DateTime Createdate { get; set; }
+ ///
+ /// 外文名字
+ ///
+ [SugarColumn(ColumnDescription = "外文名字")]
+ public string Gname_en { get; set; }
+ ///
+ /// 卡号
+ ///
+ [SugarColumn(ColumnDescription = "卡号")]
+ public string CarNo { get; set; }
+ }
+}
diff --git a/Src/Dlhis.Basic/MealUser/Services/IGainfoService.cs b/Src/Dlhis.Basic/MealUser/Services/IGainfoService.cs
index c3af9c94..f650735e 100644
--- a/Src/Dlhis.Basic/MealUser/Services/IGainfoService.cs
+++ b/Src/Dlhis.Basic/MealUser/Services/IGainfoService.cs
@@ -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> GetPageAsync(GainfoPageRequest request);
+ Task> GetPageAsync(GainfoPageRequest request);
Task UpdateAsync(GainfoAddSaveRequest request);
-
+ Task DimissionAsync(GainfoDImissionRequest request);
+ Task OnboardingAsync(GainfoDImissionRequest request);
+
+
}
}
diff --git a/Src/Dlhis.Basic/MealUser/Services/Implements/GainfoService.cs b/Src/Dlhis.Basic/MealUser/Services/Implements/GainfoService.cs
index db9b223a..679d99e4 100644
--- a/Src/Dlhis.Basic/MealUser/Services/Implements/GainfoService.cs
+++ b/Src/Dlhis.Basic/MealUser/Services/Implements/GainfoService.cs
@@ -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;
}
///
@@ -30,18 +33,20 @@ namespace Dlhis.Basic.MealUser.Services.Implements
await CheckGainfoGuestnoAsync(request);//档案号是否重复
var gainfos = new List();
- gainfos.Add(request.gainfoEntity);
- await _gainfoStore.InsertAsync(request.gainfoStatus,gainfos);
+ GainfoEntity aginfoEntity = request.gainfoPageResponse.Adapt();
+ aginfoEntity.Guestno = new Guid("F" + Guid.NewGuid().ToString());
+ gainfos.Add(aginfoEntity);
+ await _gainfoStore.InsertAsync(GainfoStatusEnumType.Working, gainfos);
}
///
/// 档案分页
///
///
///
- public Task> GetPageAsync( GainfoPageRequest request)
+ public Task> GetPageAsync( GainfoPageRequest request)
{
var page = _gainfoStore.Queryable(request.gainfoStatus)
- .Select()
+ .Select()
.ToPageListAsync(request);
return page;
}
@@ -53,11 +58,49 @@ namespace Dlhis.Basic.MealUser.Services.Implements
public async Task UpdateAsync(GainfoAddSaveRequest request)
{
var gainfos = new List();
- gainfos.Add(request.gainfoEntity);
- await _gainfoStore.UpdateAsync(request.gainfoStatus,gainfos);
+ GainfoEntity aginfoEntity = request.gainfoPageResponse.Adapt();
+ gainfos.Add(aginfoEntity);
+ await _gainfoStore.UpdateAsync(GainfoStatusEnumType.Working, gainfos);
+ }
+ ///
+ /// 正式转离职
+ ///
+ ///
+ ///
+ ///
+ [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();
+ gainfos.Add(gainfo);
+ await _gainfoStore.InsertAsync(GainfoStatusEnumType.Leave, gainfos);
+ //删除原数据
+ await _gainfoStore.DeleteAsync(GainfoStatusEnumType.Working, gainfos);
+ }
+ ///
+ /// 临时转正式
+ ///
+ ///
+ ///
+ ///
+ [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();
+ gainfos.Add(gainfo);
+ await _gainfoStore.InsertAsync(GainfoStatusEnumType.Working, gainfos);
+ //保留原数据
}
-
-
//-------------------------------------------help methods ------------------------------------------------
///
@@ -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();
}
}
}
diff --git a/Src/Dlhis.Basic/MealUser/Services/Implements/MealUserService.cs b/Src/Dlhis.Basic/MealUser/Services/Implements/MealUserService.cs
index 74b7d26f..22f0f6ce 100644
--- a/Src/Dlhis.Basic/MealUser/Services/Implements/MealUserService.cs
+++ b/Src/Dlhis.Basic/MealUser/Services/Implements/MealUserService.cs
@@ -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
{
diff --git a/Src/Dlhis.Entity/Basic/Entity/GainfoEntity.cs b/Src/Dlhis.Entity/Basic/Entity/GainfoEntity.cs
index 3b3bd3d9..15ff34a2 100644
--- a/Src/Dlhis.Entity/Basic/Entity/GainfoEntity.cs
+++ b/Src/Dlhis.Entity/Basic/Entity/GainfoEntity.cs
@@ -9,99 +9,144 @@ namespace Dlhis.Entity.Basic.Entity;
[SugarTable(TableName = "Gainfo", TableDescription = "档案表")]
public class GainfoEntity : SugarBaseEntity
{
+ ///
+ /// 档案号
+ ///
[SugarColumn(ColumnDescription = "档案号")]
- public string Guestno { get; set; }
-
+ public Guid Guestno { get; set; }
+ ///
+ /// SAP内部编号
+ ///
[SugarColumn(ColumnDescription = "SAP内部编号")]
public string Ano { get; set; }
-
+ ///
+ /// 人员类型
+ ///
[SugarColumn(ColumnDescription = "人员类型")]
public string Class { get; set; }
-
+ ///
+ /// 姓名
+ ///
[SugarColumn(ColumnDescription = "姓名")]
public string Gname { get; set; }
-
+ ///
+ /// 工号
+ ///
[SugarColumn(ColumnDescription = "工号")]
public string Ename { get; set; }
-
+ ///
+ /// 国家代码
+ ///
[SugarColumn(ColumnDescription = "国家代码")]
public string Country { get; set; }
-
+ ///
+ /// 证件类型代码
+ ///
[SugarColumn(ColumnDescription = "证件类型代码")]
public string Idcls { get; set; }
-
+ ///
+ /// 身份证号
+ ///
[SugarColumn(ColumnDescription = "身份证号")]
public string IdNO { get; set; }
-
+ ///
+ /// 身份证籍贯区域代码
+ ///
[SugarColumn(ColumnDescription = "身份证籍贯区域代码")]
public string Native { get; set; }
-
+ ///
+ /// 性别
+ ///
[SugarColumn(ColumnDescription = "性别")]
public string Sex { get; set; }
-
+ ///
+ /// 生日
+ ///
[SugarColumn(ColumnDescription = "生日")]
public DateTime Birthday { get; set; }
-
+ ///
+ /// 身份证地址
+ ///
[SugarColumn(ColumnDescription = "身份证地址")]
public string Address { get; set; }
-
+ ///
+ /// 已婚/未婚
+ ///
[SugarColumn(ColumnDescription = "已婚/未婚")]
public string Postcode { get; set; }
-
+ ///
+ /// 部门编码
+ ///
[SugarColumn(ColumnDescription = "部门编码")]
public string Appellation { get; set; }
-
+ ///
+ /// 民族代码
+ ///
[SugarColumn(ColumnDescription = "民族代码")]
public string Nation { get; set; }
-
+ ///
+ /// 手机号码
+ ///
[SugarColumn(ColumnDescription = "手机号码")]
public string Phone { get; set; }
-
+ ///
+ /// 联系电话
+ ///
[SugarColumn(ColumnDescription = "联系电话")]
public string Mobile { get; set; }
-
+ ///
+ /// 学历
+ ///
[SugarColumn(ColumnDescription = "学历")]
- public string Email { get; set; }
-
+ public string Degree { get; set; }
+ ///
+ /// 岗位
+ ///
[SugarColumn(ColumnDescription = "岗位")]
public string Web { get; set; }
-
+ ///
+ /// 备注
+ ///
[SugarColumn(ColumnDescription = "备注")]
public string Remark { get; set; }
-
+ ///
+ /// 操作账号
+ ///
[SugarColumn(ColumnDescription = "操作账号")]
public string Log_id { get; set; }
-
+ ///
+ /// 操作班次
+ ///
[SugarColumn(ColumnDescription = "操作班次")]
public string Log_shift { get; set; }
-
+ ///
+ /// 操作时间
+ ///
[SugarColumn(ColumnDescription = "操作时间")]
public DateTime Log_date { get; set; }
-
+ ///
+ /// 操作IP
+ ///
[SugarColumn(ColumnDescription = "操作IP")]
public string Log_ip { get; set; }
-
+ ///
+ /// 是否在职 F 在职 T离职
+ ///
[SugarColumn(ColumnDescription = "是否在职 F 在职 T离职")]
public string Isowner { get; set; }
-
+ ///
+ /// 创建时间
+ ///
[SugarColumn(ColumnDescription = "创建时间")]
public DateTime Createdate { get; set; }
-
+ ///
+ /// 外文名字
+ ///
[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; }
-
+ ///
+ /// 卡号
+ ///
[SugarColumn(ColumnDescription = "卡号")]
public string CarNo { get; set; }
}