讲师等级异动

master
xiaochanghai 9 months ago
parent 76b713e64a
commit 0472e43a54
  1. 25
      Model/Tiobon.Web.pdm
  2. 50
      Tiobon.Core.Api/Controllers/Ghre/Ghre_TeacherChangeController.cs
  3. 2
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  4. 8
      Tiobon.Core.Api/Tiobon.Core.xml
  5. 4
      Tiobon.Core.Common/Helper/DateTimeHelper.cs
  6. 6
      Tiobon.Core.IServices/Ghre/IGhre_TeacherChangeServices.cs
  7. 3
      Tiobon.Core.Model/Base/Ghre/Ghre_TeacherChange.Dto.Base.cs
  8. 5
      Tiobon.Core.Model/Models/Ghre/Ghre_TeacherChange.cs
  9. 6
      Tiobon.Core.Model/View/Ghre/Ghre_TeacherChange.Dto.View.cs
  10. 4
      Tiobon.Core.Services/CommonServices.cs
  11. 155
      Tiobon.Core.Services/Ghre/Ghre_TeacherChangeServices.cs
  12. 2
      Tiobon.Core/Tiobon.Core.Model.xml
  13. 8
      Tiobon.Core/Tiobon.Core.xml

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<?PowerDesigner AppLocale="UTF16" ID="{C294868A-C3F3-41AD-98CC-78B6D4E0CC40}" Label="" LastModificationDate="1727341328" Name="Tiobon" Objects="7640" Symbols="347" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="15.0.0.2613"?>
<?PowerDesigner AppLocale="UTF16" ID="{C294868A-C3F3-41AD-98CC-78B6D4E0CC40}" Label="" LastModificationDate="1727428742" Name="Tiobon" Objects="7639" Symbols="315" Target="Microsoft SQL Server 2008" Type="{CDE44E21-9669-11D1-9914-006097355D9B}" signature="PDM_DATA_MODEL_XML" version="15.0.0.2613"?>
<!-- do not edit this file -->
<Model xmlns:a="attribute" xmlns:c="collection" xmlns:o="object">
@ -105075,7 +105075,7 @@ Shadow=0</a:DisplayPreferences>
<a:CreationDate>1714101292</a:CreationDate>
<a:ModificationDate>1727336781</a:ModificationDate>
<a:CenterTextOffset>(1800, 1438)</a:CenterTextOffset>
<a:Rect>((-21934,18603), (-11734,21512))</a:Rect>
<a:Rect>((-21934,18603), (-11734,21562))</a:Rect>
<a:ListOfPoints>((-21934,18828),(-11734,18828))</a:ListOfPoints>
<a:CornerStyle>2</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
@ -105135,7 +105135,7 @@ Shadow=0</a:DisplayPreferences>
<o:ReferenceSymbol Id="o6300">
<a:CreationDate>1714109221</a:CreationDate>
<a:ModificationDate>1717481025</a:ModificationDate>
<a:Rect>((-11857,-7040), (-1057,-5479))</a:Rect>
<a:Rect>((-11857,-7040), (-1057,-5518))</a:Rect>
<a:ListOfPoints>((-1057,-6815),(-11857,-6815))</a:ListOfPoints>
<a:CornerStyle>2</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
@ -105256,7 +105256,7 @@ Shadow=0</a:DisplayPreferences>
<a:CreationDate>1717481682</a:CreationDate>
<a:ModificationDate>1727336872</a:ModificationDate>
<a:CenterTextOffset>(0, 1739)</a:CenterTextOffset>
<a:Rect>((-21750,-6964), (-11729,-3753))</a:Rect>
<a:Rect>((-21750,-6964), (-11729,-3703))</a:Rect>
<a:ListOfPoints>((-21750,-6739),(-11729,-6739))</a:ListOfPoints>
<a:CornerStyle>2</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
@ -105276,7 +105276,7 @@ Shadow=0</a:DisplayPreferences>
<o:ReferenceSymbol Id="o6324">
<a:CreationDate>1717726229</a:CreationDate>
<a:ModificationDate>1719381754</a:ModificationDate>
<a:Rect>((-42298,11400), (-39374,18375))</a:Rect>
<a:Rect>((-42299,11400), (-39375,18375))</a:Rect>
<a:ListOfPoints>((-40837,11400),(-40837,18375))</a:ListOfPoints>
<a:CornerStyle>2</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
@ -105296,7 +105296,7 @@ Shadow=0</a:DisplayPreferences>
<o:ReferenceSymbol Id="o6328">
<a:CreationDate>1719381914</a:CreationDate>
<a:ModificationDate>1719381932</a:ModificationDate>
<a:Rect>((-40875,18075), (-30150,19634))</a:Rect>
<a:Rect>((-40875,18075), (-30150,19596))</a:Rect>
<a:ListOfPoints>((-30150,18300),(-40875,18300))</a:ListOfPoints>
<a:CornerStyle>2</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
@ -105317,7 +105317,7 @@ Shadow=0</a:DisplayPreferences>
<a:CreationDate>1719468257</a:CreationDate>
<a:ModificationDate>1727336864</a:ModificationDate>
<a:CenterTextOffset>(300, 1650)</a:CenterTextOffset>
<a:Rect>((-40800,11175), (-30700,14296))</a:Rect>
<a:Rect>((-40800,11175), (-30700,14346))</a:Rect>
<a:ListOfPoints>((-30700,11400),(-40800,11400))</a:ListOfPoints>
<a:CornerStyle>2</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
@ -105358,7 +105358,7 @@ Shadow=0</a:DisplayPreferences>
<a:CreationDate>1721280189</a:CreationDate>
<a:ModificationDate>1727336851</a:ModificationDate>
<a:CenterTextOffset>(-150, 2039)</a:CenterTextOffset>
<a:Rect>((12000,-14850), (21750,-11339))</a:Rect>
<a:Rect>((12000,-14850), (21750,-11289))</a:Rect>
<a:ListOfPoints>((12000,-14625),(21750,-14625))</a:ListOfPoints>
<a:CornerStyle>2</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
@ -105379,7 +105379,7 @@ Shadow=0</a:DisplayPreferences>
<a:CreationDate>1721372603</a:CreationDate>
<a:ModificationDate>1727336854</a:ModificationDate>
<a:CenterTextOffset>(-75, 1889)</a:CenterTextOffset>
<a:Rect>((21750,-14925), (32550,-11564))</a:Rect>
<a:Rect>((21750,-14925), (32550,-11514))</a:Rect>
<a:ListOfPoints>((32550,-14700),(21750,-14700))</a:ListOfPoints>
<a:CornerStyle>2</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
@ -105419,7 +105419,7 @@ Shadow=0</a:DisplayPreferences>
<o:ReferenceSymbol Id="o6347">
<a:CreationDate>1727335554</a:CreationDate>
<a:ModificationDate>1727335611</a:ModificationDate>
<a:Rect>((-51600,11212), (-40800,12771))</a:Rect>
<a:Rect>((-51600,11212), (-40800,12733))</a:Rect>
<a:ListOfPoints>((-51600,11437),(-40800,11437))</a:ListOfPoints>
<a:CornerStyle>2</a:CornerStyle>
<a:ArrowStyle>1</a:ArrowStyle>
@ -124943,11 +124943,10 @@ LABL 0 Arial Unicode MS,8,N</a:FontList>
<a:Code>OriginChangeDate</a:Code>
<a:CreationDate>1727337543</a:CreationDate>
<a:Creator>Administrator</a:Creator>
<a:ModificationDate>1727337672</a:ModificationDate>
<a:ModificationDate>1727428742</a:ModificationDate>
<a:Modifier>Administrator</a:Modifier>
<a:Comment>原调动日期</a:Comment>
<a:DataType>nvarchar(32)</a:DataType>
<a:Length>32</a:Length>
<a:DataType>datetime</a:DataType>
</o:Column>
<o:Column Id="o7840">
<a:ObjectID>2FD9DA9A-8BC0-4A85-BA0F-5C7FBBB65C5E</a:ObjectID>

@ -11,4 +11,54 @@ public class Ghre_TeacherChangeController : BaseController<IGhre_TeacherChangeSe
public Ghre_TeacherChangeController(IGhre_TeacherChangeServices service) : base(service)
{
}
#region 查询
[HttpPost("QueryDisabled")]
public async Task<ServicePageResult<Ghre_TeacherChangeDto>> QueryDisabled([FromBody] QueryBody body)
{
return await _service.QueryFilterPage(body, null, false);
}
#endregion
#region 查询
/// <summary>
/// 根据条件查询数据
/// </summary>
/// <param name="body">条件</param>
/// <param name="status">status</param>
/// <returns></returns>
[HttpPost, Route("QueryList/{status}")]
public async Task<ServicePageResult<Ghre_TeacherChangeDto>> QueryByStatus([FromBody] QueryBody body, string status)
{
if (status == "Active")
return await _service.QueryFilterPage(body, $"(Status ='{status}' OR (WorkID IS NOT NULL AND WorkState IN (0,1)))");
else if (status == "Disable")
return await _service.QueryFilterPage(body, null, false);
else
return await _service.QueryFilterPage(body, $"Status ='{status}' AND WorkID IS NULL");
}
#endregion
#region 状态修改
[HttpPost("UpdateStatus/{status}")]
public async Task<ServiceResult> UpdateStatus(string status, [FromBody] InsertGhre_TeacherChangeInput input)
{
return await _service.UpdateStatus(input, status);
}
#endregion
#region 新增
[HttpPost("Insert/{status}")]
public async Task<ServiceResult<long>> InsertByStatus([FromBody] InsertGhre_TeacherChangeInput insertModel, string status)
{
return await _service.InsertByStatus(insertModel, status);
}
#endregion
#region 查询
[HttpPost("QueryLast/{teacherId}")]
public async Task<ServiceResult<Ghre_TeacherChangeDto>> QueryLast(int teacherId)
{
return await _service.QueryLast(teacherId);
}
#endregion
}

@ -13319,7 +13319,7 @@
<member name="P:Tiobon.Core.Model.Models.Ghre_TeacherChange.OriginChangeDate">
<summary>
原调动日期
</summary>
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_TeacherChange.ChangeDate">
<summary>

@ -1115,6 +1115,14 @@
培训讲师异动(Controller)
</summary>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_TeacherChangeController.QueryByStatus(Tiobon.Core.Common.QueryBody,System.String)">
<summary>
根据条件查询数据
</summary>
<param name="body">条件</param>
<param name="status">status</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_TeacherController">
<summary>
Ghre_Teacher(Controller)

@ -1,7 +1,7 @@
namespace Tiobon.Core.Common.Helper;
public class DateTimeHelper
{
{
public static string FriendlyDate(DateTime? date)
{
if (!date.HasValue) return string.Empty;
@ -148,6 +148,8 @@ public class DateTimeHelper
/// <returns></returns>
public static string ConvertToDayString(object dateTime)
{
if (dateTime is null)
return "";
if (string.IsNullOrEmpty(Convert.ToString(dateTime)))
{
return "";

@ -1,4 +1,5 @@
using Tiobon.Core.IServices.BASE;
using Tiobon.Core.Model;
using Tiobon.Core.Model.Models;
namespace Tiobon.Core.IServices
@ -8,5 +9,10 @@ namespace Tiobon.Core.IServices
/// </summary>
public interface IGhre_TeacherChangeServices :IBaseServices<Ghre_TeacherChange, Ghre_TeacherChangeDto, InsertGhre_TeacherChangeInput, EditGhre_TeacherChangeInput>
{
Task<ServiceResult> UpdateStatus(InsertGhre_TeacherChangeInput input, string status);
Task<ServiceResult<long>> InsertByStatus(InsertGhre_TeacherChangeInput insertModel, string status);
Task<ServiceResult<Ghre_TeacherChangeDto>> QueryLast(int teacherId);
}
}

@ -52,8 +52,7 @@ namespace Tiobon.Core.Model.Models
/// <summary>
/// 原调动日期
/// </summary>
[Display(Name = "OriginChangeDate"), Description("原调动日期"), MaxLength(32, ErrorMessage = "原调动日期 不能超过 32 个字符")]
public string OriginChangeDate { get; set; }
public DateTime? OriginChangeDate { get; set; }
/// <summary>
/// 调动日期

@ -53,9 +53,8 @@ namespace Tiobon.Core.Model.Models
/// <summary>
/// 原调动日期
/// </summary>
[Display(Name = "OriginChangeDate"), Description("原调动日期"), MaxLength(32, ErrorMessage = "原调动日期 不能超过 32 个字符")]
public string OriginChangeDate { get; set; }
/// </summary>
public DateTime? OriginChangeDate { get; set; }
/// <summary>
/// 调动日期

@ -35,9 +35,15 @@ public class Ghre_TeacherChangeDto : Ghre_TeacherChange
public string TeacherTypeLabel { get; set; }
public string OriginTeacherLevelLabel { get; set; }
public string TeacherLevelLabel { get; set; }
public string DeptOrSchoolName { get; set; }
public string GenderLabel { get; set; }
public string ChangeTypeLabel { get; set; }
public string OriginChangeTypeLabel { get; set; }
public string OriginChangeDate1 { get; set; }
public string ChangeDate1 { get; set; }
public List<Ghre_TeacherChangeAttachmentDto> TeacherAttachments { get; set; }
}

@ -1130,6 +1130,7 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
case "F_Training_Demand_ToDo":
case "F_TeacherManageTemporary":
case "F_TeacherChangeManageTemporary":
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "NewYN").FirstOrDefault();
if (toolbar != null) { toolbar.fnKey = "TBD1YN"; }
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "UpdateYN").FirstOrDefault();
@ -1182,6 +1183,8 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
case "F_Training_Demand_VoidQuery":
case "F_TeacherManage":
case "F_TeacherManageActive":
case "F_TeacherChangeManage":
case "F_TeacherChangeManageActive":
case "F_TeacherDisabled":
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "NewYN").FirstOrDefault();
if (toolbar != null) { toolbar.fnKey = "TBD1YN"; }
@ -1192,6 +1195,7 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "CopyYN").FirstOrDefault();
if (toolbar != null) toolbar.fnKey = "TBD4YN";
break;
case "F_TeacherChangeManageWaitConfirm":
case "F_TeacherManageWaitConfirm":
toolbar = result.JM_PageControlT1.Toolbar.Where(x => x.fnKey == "NewYN").FirstOrDefault();
if (toolbar != null) { toolbar.fnKey = "TBD1YN"; }

@ -5,12 +5,12 @@ using Tiobon.Core.Services.BASE;
using Tiobon.Core.IRepository.Base;
using Tiobon.Core.Common.Caches;
using Microsoft.AspNetCore.Http;
using Newtonsoft.Json.Linq;
using static Tiobon.Core.Model.Consts;
using Tiobon.Core.Common.UserManager;
using Tiobon.Core.Common;
using Tiobon.Core.Model;
using AgileObjects.AgileMapper;
using Tiobon.Core.Common.Helper;
namespace Tiobon.Core.Services;
@ -22,20 +22,49 @@ public class Ghre_TeacherChangeServices : BaseServices<Ghre_TeacherChange, Ghre_
private readonly IBaseRepository<Ghre_TeacherChange> _dal;
private IGhre_AttachmentServices _ghre_AttachmentServices;
private IGhre_TeacherChangeAttachmentServices _ghre_TeacherChangeAttachmentServices;
private IGhre_TeacherAttachmentServices _ghre_TeacherAttachmentServices;
public Ghre_TeacherChangeServices(ICaching caching,
IGhre_AttachmentServices ghre_AttachmentServices,
IGhre_TeacherChangeAttachmentServices ghre_TeacherChangeAttachmentServices, IBaseRepository<Ghre_TeacherChange> dal)
IGhre_TeacherChangeAttachmentServices ghre_TeacherChangeAttachmentServices,
IGhre_TeacherAttachmentServices ghre_TeacherAttachmentServices,
IBaseRepository<Ghre_TeacherChange> dal)
{
this._dal = dal;
base.BaseDal = dal;
base._caching = caching;
_ghre_AttachmentServices = ghre_AttachmentServices;
_ghre_TeacherChangeAttachmentServices = ghre_TeacherChangeAttachmentServices;
_ghre_TeacherAttachmentServices = ghre_TeacherAttachmentServices;
}
public override async Task<ServicePageResult<Ghre_TeacherChangeDto>> QueryFilterPage(QueryBody filter, string condition, bool? IsEnable = true)
{
var result = await base.QueryFilterPage(filter, condition, IsEnable);
var data = result.result.DT_TableDataT1;
var schoolIds = data.Where(x => x.SchoolId != null).Select(x => x.SchoolId.Value).Distinct().ToList();
var deptIDs = data.Where(x => x.DeptID != null).Select(x => x.DeptID).Distinct().ToList();
var teacherIds = data.Where(x => x.TeacherId != null).Select(x => x.TeacherId).Distinct().ToList();
var depts = await Db.Queryable<Ghro_Dept>().Where(x => deptIDs.Contains(x.DeptID)).Select(x => new { x.DeptID, x.DeptName }).ToListAsync();
var schools = await Db.Queryable<Ghre_School>().Where(x => schoolIds.Contains(x.Id)).Select(x => new { x.Id, x.SchoolName }).ToListAsync();
var teachers = await Db.Queryable<Ghre_Teacher>().Where(x => teacherIds.Contains(x.Id)).Select(x => new { x.Id, TeacherName = x.TeacherName + " (" + x.TeacherNo + ")" }).ToListAsync();
data.ForEach(async x =>
{
x.TeacherTypeLabel = await GetParaLabel("TrainingTeacherType", x.TeacherType);
x.TeacherLevelLabel = await GetParaLabel("TrainingTeacherLevel", x.TeacherLevel);
x.OriginTeacherLevelLabel = await GetParaLabel("TrainingTeacherLevel", x.OriginTeacherLevel);
x.ChangeTypeLabel = await GetParaLabel("TrainingTeacherChangeType", x.ChangeType);
x.OriginChangeTypeLabel = await GetParaLabel("TrainingTeacherChangeType", x.OriginChangeType);
x.DeptOrSchoolName = x.TeacherType == "Out" ? schools.FirstOrDefault(o => o.Id == x.SchoolId)?.SchoolName : depts.FirstOrDefault(o => o.DeptID == x.DeptID)?.DeptName;
x.TeacherName = teachers.FirstOrDefault(o => o.Id == x.TeacherId)?.TeacherName;
x.OriginChangeDate1 = DateTimeHelper.ConvertToDayString(x.OriginChangeDate);
x.ChangeDate1 = DateTimeHelper.ConvertToDayString(x.ChangeDate);
});
result.result.DT_TableDataT1 = data;
return result;
}
@ -63,22 +92,15 @@ public class Ghre_TeacherChangeServices : BaseServices<Ghre_TeacherChange, Ghre_
public override async Task<long> Add(InsertGhre_TeacherChangeInput entity)
{
#region 校验 当天是否能发起
if (await Db.Queryable<Ghre_TeacherChange>().AnyAsync(x => x.TeacherId == entity.TeacherId && ((x.Status == "Wait") || (x.Status != "Wait" && x.WorkState != 2))))
throw new Exception("讲师当天只能发起一笔有效异动!");
#endregion
if (entity.TeacherType == "In")
{
entity.SchoolId = null;
var staff = await Db.Queryable<Ghra_Staff>().FirstAsync(x => x.StaffID == entity.StaffId);
if (staff != null)
{
entity.TeacherNo = staff.StaffNo;
entity.TeacherName = staff.StaffName;
}
}
else
{
entity.DeptID = null;
entity.StaffId = null;
}
var teacher = await Db.Queryable<Ghre_Teacher>().FirstAsync(x => x.Id == entity.TeacherId);
entity.SchoolId = teacher.SchoolId;
entity.DeptID = teacher.DeptID;
var id = await base.Add(entity);
var sql = $"SELECT ISNULL(MAX(id)+1,1) FROM Ghre_TeacherChange WHERE Id !='{id}'";
@ -104,6 +126,7 @@ public class Ghre_TeacherChangeServices : BaseServices<Ghre_TeacherChange, Ghre_
}
}
}
return id;
}
@ -154,7 +177,44 @@ public class Ghre_TeacherChangeServices : BaseServices<Ghre_TeacherChange, Ghre_
data.Success = id > 0;
if (data.Success)
{
data.Data = id;
#region 状态是Wait 直接会写至主数据
if (status == "Wait")
{
var teacher = Mapper.Map(insertModel).ToANew<Ghre_Teacher>();
teacher.Id = insertModel.TeacherId.Value;
await Db.Updateable(teacher).UpdateColumns(it => new { it.TeacherLevel, it.Price, it.SkillPoints }).ExecuteCommandAsync();
var teacherAttachmentIds = await Db.Queryable<Ghre_TeacherAttachment>().Where(x => x.TeacherId == insertModel.TeacherId).Select(x => x.Id).ToListAsync();
if (teacherAttachmentIds.Any())
await Db.Updateable<Ghre_TeacherAttachment>()
.SetColumns(it => new Ghre_TeacherAttachment()
{
IsEnable = 0
})
.Where(it => teacherAttachmentIds.Contains(it.Id))
.ExecuteCommandAsync();
if (insertModel.TeacherAttachments != null && insertModel.TeacherAttachments.Any())
{
for (int i = 0; i < insertModel.TeacherAttachments.Count; i++)
{
var insert = Mapper.Map(insertModel.TeacherAttachments[i]).ToANew<InsertGhre_TeacherAttachmentInput>(); ;
insert.TeacherId = teacher.Id;
var teacherAttachmentId = await _ghre_TeacherAttachmentServices.Add(insert);
if (insertModel.TeacherAttachments[i].Attachments != null && insertModel.TeacherAttachments[i].Attachments.Any())
for (int j = 0; j < insertModel.TeacherAttachments[i].Attachments.Count; j++)
{
var attachment = await Db.Queryable<Ghre_Attachment>().FirstAsync(x => x.RelativePath == insert.Attachments[j].RelativePath);
attachment.TableName = teacherAttachmentId.ToString();
await Db.Insertable(attachment).ExecuteReturnSnowflakeIdAsync();
}
}
}
}
#endregion
}
else
return ServiceResult<long>.OprateFailed("发布成功!");
@ -201,4 +261,65 @@ public class Ghre_TeacherChangeServices : BaseServices<Ghre_TeacherChange, Ghre_
return ServiceResult.OprateSuccess("执行成功!");
}
public async Task<ServiceResult<Ghre_TeacherChangeDto>> QueryLast(int teacherId)
{
var change = new Ghre_TeacherChangeDto();
var change1 = await Db.Queryable<Ghre_TeacherChange>().OrderByDescending(x => x.CreateTime).FirstAsync(x => x.TeacherId == teacherId && (x.Status == "Active" || x.Status == "Wait"));
if (change1 != null)
{
change = Mapper.Map(change1).ToANew<Ghre_TeacherChangeDto>();
change.OriginChangeDate = change.ChangeDate;
change.OriginChangeType = change.ChangeType;
change.OriginPrice = change.Price;
change.OriginSkillPoints = change.SkillPoints;
change.OriginTeacherLevel = change.TeacherLevel;
change.ChangeDate = null;
change.ChangeType = null;
change.Price = null;
change.SkillPoints = null;
change.TeacherLevel = null;
change.RemarkSz = null;
change.DeptOrSchoolName = change.TeacherType == "Out" ? (await Db.Queryable<Ghre_School>().FirstAsync(o => o.Id == change.SchoolId))?.SchoolName : (await Db.Queryable<Ghro_Dept>().FirstAsync(o => o.DeptID == change.DeptID))?.DeptName;
var teacherAttachments = await Db.Queryable<Ghre_TeacherChangeAttachment>().Where(x => x.TeacherChangeId == change.Id).ToListAsync();
change.TeacherAttachments = Mapper.Map(teacherAttachments).ToANew<List<Ghre_TeacherChangeAttachmentDto>>();
var ids1 = teacherAttachments.Select(x => x.Id.ToString()).ToList();
var attachments = await _ghre_AttachmentServices.QueryDto(x => ids1.Contains(x.TableName));
change.TeacherAttachments.ForEach(x =>
{
x.Attachments = attachments.Where(o => o.TableName == x.Id.ToString()).ToList();
});
}
else
{
var teacher = await Db.Queryable<Ghre_Teacher>().FirstAsync(x => x.Id == teacherId);
if (teacher != null)
{
change.TeacherType = teacher.TeacherType;
change.OriginTeacherLevel = teacher.TeacherLevel;
change.OriginPrice = teacher.Price;
change.OriginSkillPoints = teacher.SkillPoints;
change.SchoolId = teacher.SchoolId;
change.DeptID = teacher.DeptID;
change.DeptOrSchoolName = change.OriginTeacherLevel == "Out" ? (await Db.Queryable<Ghre_School>().FirstAsync(o => o.Id == change.SchoolId))?.SchoolName : (await Db.Queryable<Ghro_Dept>().FirstAsync(o => o.DeptID == change.DeptID))?.DeptName;
change.PhotoUrl = teacher.PhotoUrl;
var teacherAttachments = await Db.Queryable<Ghre_TeacherAttachment>().Where(x => x.TeacherId == teacher.Id).ToListAsync();
change.TeacherAttachments = Mapper.Map(teacherAttachments).ToANew<List<Ghre_TeacherChangeAttachmentDto>>();
var ids1 = teacherAttachments.Select(x => x.Id.ToString()).ToList();
var attachments = await _ghre_AttachmentServices.QueryDto(x => ids1.Contains(x.TableName));
change.TeacherAttachments.ForEach(x =>
{
x.Attachments = attachments.Where(o => o.TableName == x.Id.ToString()).ToList();
});
}
}
return ServiceResult<Ghre_TeacherChangeDto>.OprateSuccess("执行成功!", change);
}
}

@ -13319,7 +13319,7 @@
<member name="P:Tiobon.Core.Model.Models.Ghre_TeacherChange.OriginChangeDate">
<summary>
原调动日期
</summary>
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghre_TeacherChange.ChangeDate">
<summary>

@ -1115,6 +1115,14 @@
培训讲师异动(Controller)
</summary>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Ghre_TeacherChangeController.QueryByStatus(Tiobon.Core.Common.QueryBody,System.String)">
<summary>
根据条件查询数据
</summary>
<param name="body">条件</param>
<param name="status">status</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_TeacherController">
<summary>
Ghre_Teacher(Controller)

Loading…
Cancel
Save