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;
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |