refactor 优化命名和结构,注释
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using Dlhis.Basic.Common.Message;
|
||||
using Dlhis.Basic.Common.Message.Requests;
|
||||
using Dlhis.Basic.Common.Message.Services;
|
||||
using Dlhis.Basic.Organization.Comparers;
|
||||
using Dlhis.Entity.Basic.Entity;
|
||||
using Dlhis.Entity.Basic.Enums;
|
||||
@@ -186,7 +187,7 @@ public class GainfoUpdateService : IGainfoUpdateService
|
||||
});
|
||||
}
|
||||
|
||||
private GainfoEntity GainfoSapToGainfo(GainfoSapEntity item)
|
||||
private static GainfoEntity GainfoSapToGainfo(GainfoSapEntity item)
|
||||
{
|
||||
var info = new GainfoEntity
|
||||
{
|
||||
@@ -319,20 +320,24 @@ public class GainfoUpdateService : IGainfoUpdateService
|
||||
{
|
||||
var resignationDate = DateOnly.FromDateTime(gainfo.ModifiedTime);
|
||||
|
||||
var workGridSchedules = await _dbContext.Queryable<WorkGridScheduleEntity>().Where(x => x.UserCode == gainfo.Code)
|
||||
var workGridSchedules = await _dbContext.Queryable<WorkGridScheduleEntity>()
|
||||
.Where(x => x.UserCode == gainfo.Code)
|
||||
.Where(x => x.Date >= resignationDate)
|
||||
.ToListAsync();
|
||||
|
||||
if (workGridSchedules.Any())
|
||||
{
|
||||
var dates = workGridSchedules.Select(x => $"{x.Date.ToString("yyyy年-MM月-dd日")}的{x.PeriodType.GetDescription()}").Join(",");
|
||||
var workGrid = await _dbContext.Queryable<WorkGridEntity>().Where(x => x.Code == workGridUser.WorkGridCode).Select(x => new
|
||||
{
|
||||
x.LeaderUserCode, x.Name
|
||||
}).SingleAsync();
|
||||
var content = $"{workGrid.Name}的网格长,你好,检测到你网格中 {gainfo.Name}({gainfo.Code}),因发生离职或者异动,现已经删除该员工{dates}的排班信息,请前往系统处理!";
|
||||
var workGrid = await _dbContext.Queryable<WorkGridEntity>()
|
||||
.Where(x => x.Code == workGridUser.WorkGridCode)
|
||||
.Select(x => new
|
||||
{
|
||||
x.LeaderUserCode, x.Name
|
||||
}).SingleAsync();
|
||||
|
||||
await _dingTalkApi.SendWorkMessageAsync(new JinkoSendWorkMessageRequest
|
||||
var content = $"{workGrid.Name}的网格长,你好,检测到你网格中 {gainfo.Name}({gainfo.Code}),因发生离职或者异动,现已经删除该员工{dates}的排班信息,请前往系统处理!";
|
||||
|
||||
await _dingTalkApi.SendWorkMessageAsync(new DingTalkWorkMessageRequest
|
||||
{
|
||||
Content = content,
|
||||
WorkCodes = new List<string> { workGrid.LeaderUserCode }
|
||||
@@ -364,30 +369,39 @@ public class GainfoUpdateService : IGainfoUpdateService
|
||||
await _dbContext.Client.Insertable(gainfo).AS("GainfoLeave").ExecuteCommandAsync();
|
||||
}
|
||||
|
||||
await _dbContext.Deleteable<GainfoGroupRelationshipEntity>().Where(x => x.UserNo == gainfo.No).ExecuteCommandAsync();
|
||||
await _dbContext.Deleteable<DevicePermissionEntity>().Where(x => x.AssignType == AssignTypeEnumType.User && x.AssignValue == gainfo.No).ExecuteCommandAsync();
|
||||
await _dbContext.Deleteable<GainfoGroupRelationshipEntity>()
|
||||
.Where(x => x.UserNo == gainfo.No)
|
||||
.ExecuteCommandAsync();
|
||||
await _dbContext.Deleteable<DevicePermissionEntity>()
|
||||
.Where(x => x.AssignType == AssignTypeEnumType.User && x.AssignValue == gainfo.No)
|
||||
.ExecuteCommandAsync();
|
||||
|
||||
var workGridUser = await _dbContext.Queryable<WorkGridUserEntity>().Where(x => x.UserCode == gainfo.Code).SingleAsync();
|
||||
var workGridUser = await _dbContext.Queryable<WorkGridUserEntity>()
|
||||
.Where(x => x.UserCode == gainfo.Code)
|
||||
.SingleAsync();
|
||||
if (workGridUser != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
var resignationDate = DateOnly.FromDateTime(gainfo.ResignationDate!.Value);
|
||||
|
||||
var workGridSchedules = await _dbContext.Queryable<WorkGridScheduleEntity>().Where(x => x.UserCode == gainfo.Code)
|
||||
var workGridSchedules = await _dbContext.Queryable<WorkGridScheduleEntity>()
|
||||
.Where(x => x.UserCode == gainfo.Code)
|
||||
.Where(x => x.Date >= resignationDate)
|
||||
.ToListAsync();
|
||||
|
||||
if (workGridSchedules.Any())
|
||||
{
|
||||
var dates = workGridSchedules.Select(x => $"{x.Date.ToString("yyyy年-MM月-dd日")}的{x.PeriodType.GetDescription()}").Join(",");
|
||||
var workGrid = await _dbContext.Queryable<WorkGridEntity>().Where(x => x.Code == workGridUser.WorkGridCode).Select(x => new
|
||||
{
|
||||
x.LeaderUserCode, x.Name
|
||||
}).SingleAsync();
|
||||
var workGrid = await _dbContext.Queryable<WorkGridEntity>()
|
||||
.Where(x => x.Code == workGridUser.WorkGridCode)
|
||||
.Select(x => new
|
||||
{
|
||||
x.LeaderUserCode, x.Name
|
||||
}).SingleAsync();
|
||||
var content = $"{workGrid.Name}的网格长,你好,检测到你网格中 {gainfo.Name}({gainfo.Code}),因发生离职或者异动,现已经删除该员工{dates}的排班信息,请前往系统处理!";
|
||||
|
||||
await _dingTalkApi.SendWorkMessageAsync(new JinkoSendWorkMessageRequest
|
||||
await _dingTalkApi.SendWorkMessageAsync(new DingTalkWorkMessageRequest
|
||||
{
|
||||
Content = content,
|
||||
WorkCodes = new List<string> { workGrid.LeaderUserCode }
|
||||
|
||||
Reference in New Issue
Block a user