80 lines
3.6 KiB
C#
80 lines
3.6 KiB
C#
|
|
using APT.Infrastructure.Core;
|
|||
|
|
using APT.BaseData.Domain.Entities.FM;
|
|||
|
|
using Microsoft.AspNetCore.Mvc;
|
|||
|
|
using System;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using System.Linq;
|
|||
|
|
using APT.Utility;
|
|||
|
|
using APT.BaseData.Domain.ApiModel.FM;
|
|||
|
|
using Newtonsoft.Json;
|
|||
|
|
using APT.BaseData.Domain.ApiModel.Platform;
|
|||
|
|
using APT.BaseData.Domain.Entities;
|
|||
|
|
using System.Linq.Expressions;
|
|||
|
|
|
|||
|
|
namespace APT.FM.WebApi.Controllers.Api.FM
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 企业基本信息
|
|||
|
|
/// </summary>
|
|||
|
|
[Route("api/FM/FMPersonalSchedule")]
|
|||
|
|
public class PersonalScheduleController : AuthorizeApiController<T_FM_DEPARTMENT_SCHEDULING>
|
|||
|
|
{
|
|||
|
|
class PersonalScheduleModel {
|
|||
|
|
public string NAME;
|
|||
|
|
public string DEPARTMENTNAME;
|
|||
|
|
public string TEAMNAME;
|
|||
|
|
public string POSTNAME;
|
|||
|
|
public DateTime DATE;
|
|||
|
|
public string CLASSNAME;
|
|||
|
|
public string REMARK;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 查询
|
|||
|
|
/// </summary>
|
|||
|
|
/// <param name="pageFilter"></param>
|
|||
|
|
/// <returns></returns>
|
|||
|
|
[HttpPost, Route("OrderPaged")]
|
|||
|
|
public JsonActionResult<dynamic> OrderPaged([FromBody] KeywordPageFilter pageFilter)
|
|||
|
|
{
|
|||
|
|
return SafeExecute<dynamic>(() =>
|
|||
|
|
{
|
|||
|
|
var OrgId = APT.Infrastructure.Api.AppContext.CurrentSession.OrgId;
|
|||
|
|
dynamic ret = new System.Dynamic.ExpandoObject();
|
|||
|
|
//pageFilter.SelectField = new string[] { "DATE_TIME", "Nav_Class.NAME", "Nav_Class.REMARK", "Nav_Team.NAME", "Nav_DepartMent.NAME" };
|
|||
|
|
//pageFilter.Include = new string[] { "Nav_Class", "Nav_Team", "Nav_DepartmentSchedulingDetail.Nav_Person","Nav_DepartMent" };
|
|||
|
|
//BaseFilter filter = new BaseFilter(OrgId);
|
|||
|
|
//filter.Include = new string[] { "Nav_Post" };
|
|||
|
|
|
|||
|
|
Expression<Func<T_FM_DEPARTMENT_SCHEDULING_DETAIL, bool>> express = t => true;
|
|||
|
|
if (!string.IsNullOrEmpty(pageFilter.Parameter1))
|
|||
|
|
{
|
|||
|
|
//express = express.And(t => t.Nav_DepartmentSchedulingDetail.Any(i => i.PERSON_ID==person.ID));
|
|||
|
|
express = express.And(i => i.Nav_Person.NAME.Contains(pageFilter.Parameter1));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
pageFilter.Include = new string[] { "Nav_Person.Nav_DepartMent", "Nav_Person.Nav_Post",
|
|||
|
|
"Nav_DepartmentScheduling.Nav_Team", "Nav_Person.Nav_DepartMent" ,"Nav_DepartmentScheduling.Nav_Class"};
|
|||
|
|
var result = this.GetOrderPageEntities<T_FM_DEPARTMENT_SCHEDULING_DETAIL>(express, pageFilter);
|
|||
|
|
List<PersonalScheduleModel> personalSchedules= new List< PersonalScheduleModel >();
|
|||
|
|
foreach(var item in result.Data)
|
|||
|
|
{
|
|||
|
|
PersonalScheduleModel personalSchedule = new PersonalScheduleModel();
|
|||
|
|
personalSchedule.NAME = item.Nav_Person.NAME;
|
|||
|
|
personalSchedule.DEPARTMENTNAME = item.Nav_Person.Nav_DepartMent.NAME;
|
|||
|
|
personalSchedule.TEAMNAME = item.Nav_DepartmentScheduling.Nav_Team.NAME;
|
|||
|
|
personalSchedule.POSTNAME = item.Nav_Person.Nav_Post.NAME;
|
|||
|
|
personalSchedule.DATE = item.Nav_DepartmentScheduling.DATE_TIME;
|
|||
|
|
personalSchedule.CLASSNAME = item.Nav_DepartmentScheduling.Nav_Class.NAME;
|
|||
|
|
personalSchedule.REMARK = item.Nav_DepartmentScheduling.Nav_Class.REMARK;
|
|||
|
|
personalSchedules.Add(personalSchedule);
|
|||
|
|
}
|
|||
|
|
ret.newData = personalSchedules;
|
|||
|
|
ret.TotalCount = result.TotalCount;
|
|||
|
|
return ret;
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|