927 lines
		
	
	
		
			38 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			927 lines
		
	
	
		
			38 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using APT.BaseData.Domain.Entities.FM;
 | 
						||
using Microsoft.AspNetCore.Mvc;
 | 
						||
using APT.Infrastructure.Api;
 | 
						||
using System;
 | 
						||
using System.Collections.Generic;
 | 
						||
using APT.Infrastructure.Core;
 | 
						||
using APT.BaseData.Domain.Enums;
 | 
						||
using APT.SC.WebApi.Controllers.Api.BIController;
 | 
						||
using Microsoft.Extensions.DependencyModel;
 | 
						||
using APT.BaseData.Domain.Entities.OP;
 | 
						||
using APT.Migrations;
 | 
						||
using NPOI.SS.Formula.Functions;
 | 
						||
using APT.MS.Domain.Entities.SE;
 | 
						||
using System.Linq;
 | 
						||
using System.Linq.Expressions;
 | 
						||
using APT.MS.Domain.Entities.BS;
 | 
						||
using APT.MS.Domain.Entities.HM;
 | 
						||
using APT.MS.Domain.Enums;
 | 
						||
using APT.MS.Domain.Entities.SK;
 | 
						||
using APT.BaseData.Domain.Enums.PF;
 | 
						||
using APT.Utility;
 | 
						||
 | 
						||
namespace APT.SC.WebApi.Controllers.Api.BI
 | 
						||
{
 | 
						||
    /// <summary>
 | 
						||
    ///  年度监测汇总
 | 
						||
    /// </summary>
 | 
						||
    [Route("api/BI/H5Controller")]
 | 
						||
    public class H5Controller : APTApiController<T_FM_USER>
 | 
						||
    {
 | 
						||
        public class DataReturn
 | 
						||
        {
 | 
						||
            public int code { get; set; }
 | 
						||
            public string msg { get; set; }
 | 
						||
            public object data { get; set; }
 | 
						||
        }
 | 
						||
        public class Menu
 | 
						||
        {
 | 
						||
            public string name { get; set; }
 | 
						||
            public string iconName { get; set; }
 | 
						||
            public string url { get; set; }
 | 
						||
            public Guid ORG_ID { get; set; }
 | 
						||
 | 
						||
            /// <summary>
 | 
						||
            /// 类型 5  10  15  20
 | 
						||
            /// </summary>
 | 
						||
            public int TYPE { get; set; }
 | 
						||
 | 
						||
        }
 | 
						||
        /// <summary>
 | 
						||
        /// 获取菜单
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="OrgId">分页过滤实体</param>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpGet, Route("GetMenu")]
 | 
						||
        public DataReturn GetMenu(string OrgId)
 | 
						||
        {
 | 
						||
            DataReturn DataReturn = new DataReturn()
 | 
						||
            {
 | 
						||
                msg = "",
 | 
						||
                code = 200
 | 
						||
            };
 | 
						||
            List<Menu> menus = new List<Menu>();
 | 
						||
            Guid ORG_ID = Guid.Empty;
 | 
						||
            if (string.IsNullOrEmpty(OrgId))
 | 
						||
            {
 | 
						||
                ORG_ID = new Guid("B043B28B-BBC3-C452-6052-4FBA1457ABFA");
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                ORG_ID = new Guid(OrgId);
 | 
						||
            }
 | 
						||
            Menu menu = new Menu();
 | 
						||
            menu.name = "新增用户";
 | 
						||
            menu.iconName = "man-add";
 | 
						||
            menu.url = "/pages/apply/index";
 | 
						||
            menu.ORG_ID = ORG_ID;
 | 
						||
            menu.TYPE = 2;
 | 
						||
            menus.Add(menu);
 | 
						||
 | 
						||
 | 
						||
            Menu menuPerson = new Menu();
 | 
						||
            menuPerson.name = "当班员工";
 | 
						||
            menuPerson.iconName = "order";
 | 
						||
            menuPerson.url = "/pages/apply/user";
 | 
						||
            menuPerson.ORG_ID = ORG_ID;
 | 
						||
            menuPerson.TYPE = 20;
 | 
						||
            menus.Add(menuPerson);
 | 
						||
 | 
						||
            Menu menuQrcode = new Menu();
 | 
						||
            menuQrcode.name = "二维码生成器";
 | 
						||
            menuQrcode.iconName = "scan";
 | 
						||
            menuQrcode.url = "/pages/apply/qrcodeMake";
 | 
						||
            menuQrcode.ORG_ID = ORG_ID;
 | 
						||
            menuQrcode.TYPE = 5;
 | 
						||
            menus.Add(menuQrcode);
 | 
						||
 | 
						||
            Menu menuEvaluation = new Menu();
 | 
						||
            menuEvaluation.name = "风险查看";
 | 
						||
            menuEvaluation.iconName = "eye";
 | 
						||
            menuEvaluation.url = "/pages/apply/viewEvaluation";
 | 
						||
            menuEvaluation.ORG_ID = ORG_ID;
 | 
						||
            menuEvaluation.TYPE = 10;
 | 
						||
            menus.Add(menuEvaluation);
 | 
						||
 | 
						||
            Menu menuRisk = new Menu();
 | 
						||
            menuRisk.name = "隐患查看";
 | 
						||
            menuRisk.iconName = "bell";
 | 
						||
            menuRisk.url = "/pages/apply/viewRisk";
 | 
						||
            menuRisk.ORG_ID = ORG_ID;
 | 
						||
            menuRisk.TYPE = 10;
 | 
						||
            menus.Add(menuRisk);
 | 
						||
 | 
						||
            //Menu menuCheck = new Menu();
 | 
						||
            //menuCheck.name = "检查库查看";
 | 
						||
            //menuCheck.iconName = "file-text";
 | 
						||
            //menuCheck.url = "/pages/apply/viewCheck";
 | 
						||
            //menuCheck.ORG_ID = ORG_ID;
 | 
						||
            //menuCheck.TYPE = 10;
 | 
						||
            //menus.Add(menuCheck);
 | 
						||
 | 
						||
            Menu menuVideo = new Menu();
 | 
						||
            menuVideo.name = "视频查看";
 | 
						||
            menuVideo.iconName = "eye";
 | 
						||
            menuVideo.url = "/pages/apply/viewVideo";
 | 
						||
            menuVideo.ORG_ID = ORG_ID;
 | 
						||
            menuVideo.TYPE = 10;
 | 
						||
            menus.Add(menuVideo);
 | 
						||
 | 
						||
            DataReturn.data = menus;
 | 
						||
            return DataReturn;
 | 
						||
        }
 | 
						||
        /// <summary>
 | 
						||
        /// 注册用户
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="model">分页过滤实体</param>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("RegisterUser")]
 | 
						||
        public DataReturn RegisterUser([FromBody] RegisterUserModel model)
 | 
						||
        {
 | 
						||
            DataReturn DataReturn = new DataReturn();
 | 
						||
            if (model.Name == null || model.Phone == null)
 | 
						||
            {
 | 
						||
                DataReturn.msg = "请填写信息!";
 | 
						||
                DataReturn.code = 500;
 | 
						||
                return DataReturn;
 | 
						||
            }
 | 
						||
            var Tenant = this.Request.Headers["Tenant"];
 | 
						||
            Guid orgId = getOrgIdByTenant(Tenant);
 | 
						||
            var isrepeat = GetEntity<T_FM_USER>(t => t.CODE == model.Phone);
 | 
						||
            if (isrepeat != null)
 | 
						||
            {
 | 
						||
                DataReturn.msg = "该账户已注册!";
 | 
						||
                DataReturn.code = 500;
 | 
						||
                return DataReturn;
 | 
						||
            }
 | 
						||
            T_FM_PERSON newPerson = new T_FM_PERSON();
 | 
						||
            newPerson.ID = Guid.NewGuid();
 | 
						||
            newPerson.CODE = model.Phone;
 | 
						||
            newPerson.NAME = model.Name;
 | 
						||
            newPerson.SEX = model.Sex;
 | 
						||
            newPerson.TEL = model.Phone;
 | 
						||
            newPerson.ORG_ID = orgId;
 | 
						||
            T_FM_USER newUser = new T_FM_USER();
 | 
						||
            newUser.ID = Guid.NewGuid();
 | 
						||
            newUser.CODE = model.Phone;
 | 
						||
            newUser.NAME = model.Name;
 | 
						||
            newUser.SEX = model.Sex;
 | 
						||
            newUser.PHONE = model.Phone;
 | 
						||
            newUser.ID_CARD = model.ID_CARD;
 | 
						||
            newUser.ENTRYTIME = model.InTime;
 | 
						||
            newUser.WORKINGYEAR = model.WORKINGYEAR;
 | 
						||
            newUser.PERSON_ID = newPerson.ID;
 | 
						||
            newUser.PASSWORD = "E10ADC3949BA59ABBE56E057F20F883E";
 | 
						||
            newUser.ORG_ID = orgId;
 | 
						||
            T_SE_USER_TEMP newTemp = new T_SE_USER_TEMP();
 | 
						||
            newTemp.ID = Guid.NewGuid();
 | 
						||
            newTemp.USER_ID = newUser.ID;
 | 
						||
            newTemp.ORG_ID = orgId;
 | 
						||
            var role1 = this.GetEntity<T_FM_ROLE>(t => t.NAME == "APP用户");
 | 
						||
            var role2 = this.GetEntity<T_FM_ROLE>(t => t.NAME == "作业员");
 | 
						||
            T_FM_USER_BELONG_ROLE belongRole1 = null;
 | 
						||
            T_FM_USER_BELONG_ROLE belongRole2 = null;
 | 
						||
            if (role1 != null)
 | 
						||
            {
 | 
						||
                belongRole1 = new T_FM_USER_BELONG_ROLE();
 | 
						||
                belongRole1.USER_ID = newUser.ID;
 | 
						||
                belongRole1.BELONG_ROLE_ID = role1.ID;
 | 
						||
                belongRole1.ORG_ID = orgId;
 | 
						||
            }
 | 
						||
            if (role2 != null)
 | 
						||
            {
 | 
						||
                belongRole2 = new T_FM_USER_BELONG_ROLE();
 | 
						||
                belongRole2.USER_ID = newUser.ID;
 | 
						||
                belongRole2.BELONG_ROLE_ID = role2.ID;
 | 
						||
                belongRole2.ORG_ID = orgId;
 | 
						||
            }
 | 
						||
            using (var context = new MigrationContext(ConfigurationManager.ConnectionStrings["default"]))
 | 
						||
            {
 | 
						||
                T_OP_ALLUSER alluser = new T_OP_ALLUSER();
 | 
						||
                alluser.CODE = model.Phone;
 | 
						||
                alluser.TENANT = Tenant;
 | 
						||
                alluser.ORG_ID = orgId;
 | 
						||
                alluser.PHONE = model.Phone;
 | 
						||
                context.AddEntity(alluser);
 | 
						||
                context.SaveChanges();
 | 
						||
            }
 | 
						||
            UnifiedCommit(() =>
 | 
						||
            {
 | 
						||
                if (newUser != null)
 | 
						||
                    AddEntityNoCommit(newUser);
 | 
						||
                if (newPerson != null)
 | 
						||
                    AddEntityNoCommit(newPerson);
 | 
						||
                if (belongRole1 != null)
 | 
						||
                    AddEntityNoCommit(belongRole1);
 | 
						||
                if (belongRole2 != null)
 | 
						||
                    AddEntityNoCommit(belongRole2);
 | 
						||
                if (newTemp != null)
 | 
						||
                    AddEntityNoCommit(newTemp);
 | 
						||
            });
 | 
						||
            DataReturn.msg = "";
 | 
						||
            DataReturn.code = 200;
 | 
						||
            return DataReturn;
 | 
						||
        }
 | 
						||
        //public DataReturn RegisterUser(string Name, int Sex, string Phone, string ID_CARD, DateTime InTime, int WORKINGYEAR)
 | 
						||
        //{
 | 
						||
        //    DataReturn DataReturn = new DataReturn();
 | 
						||
        //    if (Name == null || Phone == null)
 | 
						||
        //    {
 | 
						||
        //        DataReturn.msg = "请填写信息!";
 | 
						||
        //        DataReturn.code = 500;
 | 
						||
        //        return DataReturn;
 | 
						||
        //    }
 | 
						||
        //    var Tenant = this.Request.Headers["Tenant"];
 | 
						||
        //    Guid orgId = getOrgIdByTenant(Tenant);
 | 
						||
        //    var isrepeat = GetEntity<T_FM_USER>(t => t.CODE == Phone);
 | 
						||
        //    if (isrepeat != null)
 | 
						||
        //    {
 | 
						||
        //        DataReturn.msg = "该账户已注册!";
 | 
						||
        //        DataReturn.code = 500;
 | 
						||
        //        return DataReturn;
 | 
						||
        //    }
 | 
						||
        //    T_FM_PERSON newPerson = new T_FM_PERSON();
 | 
						||
        //    newPerson.ID = Guid.NewGuid();
 | 
						||
        //    newPerson.CODE = Phone;
 | 
						||
        //    newPerson.NAME = Name;
 | 
						||
        //    newPerson.SEX = Sex;
 | 
						||
        //    newPerson.TEL = Phone;
 | 
						||
        //    newPerson.ORG_ID = orgId;
 | 
						||
        //    T_FM_USER newUser = new T_FM_USER();
 | 
						||
        //    newUser.ID = Guid.NewGuid();
 | 
						||
        //    newUser.CODE = Phone;
 | 
						||
        //    newUser.NAME = Name;
 | 
						||
        //    newUser.SEX = Sex;
 | 
						||
        //    newUser.PHONE = Phone;
 | 
						||
        //    newUser.ID_CARD = ID_CARD;
 | 
						||
        //    newUser.ENTRYTIME = InTime;
 | 
						||
        //    newUser.WORKINGYEAR = WORKINGYEAR;
 | 
						||
        //    newUser.PERSON_ID = newPerson.ID;
 | 
						||
        //    newUser.PASSWORD = "E10ADC3949BA59ABBE56E057F20F883E";
 | 
						||
        //    newUser.ORG_ID = orgId;
 | 
						||
        //    T_SE_USER_TEMP newTemp = new T_SE_USER_TEMP();
 | 
						||
        //    newTemp.ID = Guid.NewGuid();
 | 
						||
        //    newTemp.USER_ID = newUser.ID;
 | 
						||
        //    newTemp.ORG_ID = orgId;
 | 
						||
        //    var role1 = this.GetEntity<T_FM_ROLE>(t => t.NAME == "APP用户");
 | 
						||
        //    var role2 = this.GetEntity<T_FM_ROLE>(t => t.NAME == "作业员");
 | 
						||
        //    T_FM_USER_BELONG_ROLE belongRole1 = null;
 | 
						||
        //    T_FM_USER_BELONG_ROLE belongRole2 = null;
 | 
						||
        //    if (role1 != null)
 | 
						||
        //    {
 | 
						||
        //        belongRole1 = new T_FM_USER_BELONG_ROLE();
 | 
						||
        //        belongRole1.USER_ID = newUser.ID;
 | 
						||
        //        belongRole1.BELONG_ROLE_ID = role1.ID;
 | 
						||
        //        belongRole1.ORG_ID = orgId;
 | 
						||
        //    }
 | 
						||
        //    if (role2 != null)
 | 
						||
        //    {
 | 
						||
        //        belongRole2 = new T_FM_USER_BELONG_ROLE();
 | 
						||
        //        belongRole2.USER_ID = newUser.ID;
 | 
						||
        //        belongRole2.BELONG_ROLE_ID = role2.ID;
 | 
						||
        //        belongRole2.ORG_ID = orgId;
 | 
						||
        //    }
 | 
						||
        //    using (var context = new MigrationContext(ConfigurationManager.ConnectionStrings["default"]))
 | 
						||
        //    {
 | 
						||
        //        T_OP_ALLUSER alluser = new T_OP_ALLUSER();
 | 
						||
        //        alluser.CODE = Phone;
 | 
						||
        //        alluser.TENANT = Tenant;
 | 
						||
        //        alluser.ORG_ID = orgId;
 | 
						||
        //        alluser.PHONE = Phone;
 | 
						||
        //        context.AddEntity(alluser);
 | 
						||
        //        context.SaveChanges();
 | 
						||
        //    }
 | 
						||
        //    UnifiedCommit(() =>
 | 
						||
        //    {
 | 
						||
        //        if (newUser != null)
 | 
						||
        //            AddEntityNoCommit(newUser);
 | 
						||
        //        if (newPerson != null)
 | 
						||
        //            AddEntityNoCommit(newPerson);
 | 
						||
        //        if (belongRole1 != null)
 | 
						||
        //            AddEntityNoCommit(belongRole1);
 | 
						||
        //        if (belongRole2 != null)
 | 
						||
        //            AddEntityNoCommit(belongRole2);
 | 
						||
        //        if (newTemp != null)
 | 
						||
        //            AddEntityNoCommit(newTemp);
 | 
						||
        //    });
 | 
						||
        //    DataReturn.msg = "";
 | 
						||
        //    DataReturn.code = 200;
 | 
						||
        //    return DataReturn;
 | 
						||
        //}
 | 
						||
        public class RegisterUserModel
 | 
						||
        {
 | 
						||
            public string Name { get; set; }
 | 
						||
            public int Sex { get; set; }
 | 
						||
            public string Phone { get; set; }
 | 
						||
            public string ID_CARD { get; set; }
 | 
						||
            public DateTime InTime { get; set; }
 | 
						||
            public int WORKINGYEAR { get; set; }
 | 
						||
        }
 | 
						||
 | 
						||
        private Guid getOrgIdByTenant(string Tenant)
 | 
						||
        {
 | 
						||
            Guid orgId = Guid.Empty;
 | 
						||
            if (Tenant.Equals("0001"))//XLK
 | 
						||
            {
 | 
						||
                orgId = Guid.Parse("b043b28b-bbc3-c452-6052-4fba1457abfa");
 | 
						||
            }
 | 
						||
            else if (Tenant.Equals("A0000024"))//豫鹭
 | 
						||
            {
 | 
						||
                orgId = Guid.Parse("d9871ba8-0eec-9e4a-bb87-7d5a540d8913");
 | 
						||
            }
 | 
						||
            else if (Tenant.Equals("A0000025"))//金鼎
 | 
						||
            {
 | 
						||
                orgId = Guid.Parse("8b3c41aa-51b1-7ce9-1879-248a038c1b5c");
 | 
						||
            }
 | 
						||
            else if (Tenant.Equals("0002"))//龙岩稀土
 | 
						||
            {
 | 
						||
                orgId = Guid.Parse("8f1cf418-8bf3-ea3f-7a6d-fc5d61247008");
 | 
						||
            }
 | 
						||
            return orgId;
 | 
						||
        }
 | 
						||
 | 
						||
 | 
						||
        #region     当班工作人员
 | 
						||
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 获取当班员工
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="filter"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("WorkerScheduling")]
 | 
						||
        public JsonActionResult<WorkerSchedulingResult> WorkerScheduling([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<WorkerSchedulingResult>(() =>
 | 
						||
            {
 | 
						||
                WorkerSchedulingResult result = new WorkerSchedulingResult();
 | 
						||
                Guid DEPARTMENT_ID = Guid.Empty;
 | 
						||
                if (!string.IsNullOrEmpty(filter.Keyword))
 | 
						||
                {
 | 
						||
                    try
 | 
						||
                    {
 | 
						||
                        DEPARTMENT_ID = new Guid(filter.Keyword);
 | 
						||
                    }
 | 
						||
                    catch
 | 
						||
                    {
 | 
						||
                        throw new Exception("传参有误!");
 | 
						||
                    }
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    throw new Exception("未获取到传参!");
 | 
						||
                }
 | 
						||
 | 
						||
                var dep = GetEntity<T_FM_DEPARTMENT>(DEPARTMENT_ID);
 | 
						||
                if (dep == null)
 | 
						||
                {
 | 
						||
                    throw new Exception("获取组织信息失败!");
 | 
						||
                }
 | 
						||
                else if (dep.DEPARTMENT_TYPE != 2)
 | 
						||
                {
 | 
						||
                    throw new Exception("当班员工查询只能查询班组级信息,该组织为:" + ((FMDepartmentType)dep.DEPARTMENT_TYPE).GetDescription() + "!");
 | 
						||
                }
 | 
						||
 | 
						||
                var team = GetEntity<T_FM_TEAM>(e => e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == DEPARTMENT_ID);
 | 
						||
                if (team == null)
 | 
						||
                {
 | 
						||
                    throw new Exception("未获取到该班组的排班表信息!");
 | 
						||
                }
 | 
						||
 | 
						||
                DateTime dtNow = DateTime.Now;
 | 
						||
                var listSCH = GetEntities<T_FM_DEPARTMENT_SCHEDULING>(e => e.TEAM_ID.HasValue && e.TEAM_ID.Value == team.ID && e.START_TIME != e.END_TIME && e.DATE_TIME >= dtNow.Date && e.ENABLE_STATUS == 0 && !e.IS_DELETED, null, null).ToList();
 | 
						||
                if (listSCH == null || listSCH.Count() < 1)
 | 
						||
                {
 | 
						||
                    throw new Exception("未获取到该班组的排班信息!");
 | 
						||
                }
 | 
						||
                var SCHEDULING = listSCH.FirstOrDefault(e => e.DATE_TIME == dtNow.Date);//当天排班
 | 
						||
                if (SCHEDULING == null)
 | 
						||
                {
 | 
						||
                    //未获取到当天的排班
 | 
						||
                    result.SchedulingType = "未排班";
 | 
						||
                }
 | 
						||
                else if (dtNow < SCHEDULING.START_TIME)
 | 
						||
                {
 | 
						||
                    //还没开始上班
 | 
						||
                    result.SchedulingType = "未开始上班";
 | 
						||
                }
 | 
						||
                else if (dtNow > SCHEDULING.END_TIME)
 | 
						||
                {
 | 
						||
                    //已经下班了
 | 
						||
                    result.SchedulingType = "已下班";
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    result.SchedulingType = "正常";
 | 
						||
                }
 | 
						||
                var listSCHafter = listSCH.Where(e => e.DATE_TIME != dtNow.Date).OrderBy(e => e.DATE_TIME);
 | 
						||
                if (listSCHafter != null && listSCHafter.Any())
 | 
						||
                {
 | 
						||
                    var listSCHNex = listSCHafter.ToList()[0];
 | 
						||
                    result.SchedulingNEXTTIME = listSCHNex.START_TIME.ToString("yyyy-MM-dd HH:mm") + " ~ " + (listSCHNex.START_TIME.Date == listSCHNex.END_TIME.Date ? (listSCHNex.END_TIME.ToString("HH:mm")) : (listSCHNex.END_TIME.ToString("MM-dd HH:mm")));
 | 
						||
                }
 | 
						||
 | 
						||
                List<Guid> listPersonID = null;
 | 
						||
                if (SCHEDULING != null)
 | 
						||
                {
 | 
						||
                    result.START_TIME = SCHEDULING.START_TIME;
 | 
						||
                    result.END_TIME = SCHEDULING.END_TIME;
 | 
						||
 | 
						||
                    var echdulingDetail = GetEntities<T_FM_DEPARTMENT_SCHEDULING_DETAIL>(e => e.DEPARTMENT_SCHEDULING_ID == SCHEDULING.ID && !e.IS_DELETED, null, "Nav_Person");
 | 
						||
                    if (echdulingDetail != null && echdulingDetail.Any())
 | 
						||
                    {
 | 
						||
                        result.LISTPERSON_SCHEDULING = new List<T_FM_PERSON>();
 | 
						||
                        foreach (var item in echdulingDetail)
 | 
						||
                        {
 | 
						||
                            result.LISTPERSON_SCHEDULING.Add(item.Nav_Person);
 | 
						||
                        }
 | 
						||
                    }
 | 
						||
                    listPersonID = result.LISTPERSON_SCHEDULING.Select(e => e.ID).ToList();
 | 
						||
                }
 | 
						||
                Expression<Func<T_FM_USER, bool>> expression = e => e.PERSON_ID.HasValue && e.DEPARTMENT_ID == DEPARTMENT_ID && !e.IS_DELETED && e.ENABLE_STATUS == 0;
 | 
						||
                if (listPersonID != null && listPersonID.Count > 0)
 | 
						||
                {
 | 
						||
                    expression = expression.And(e => !listPersonID.Contains(e.PERSON_ID.Value));
 | 
						||
                }
 | 
						||
                result.LISTUSER_LEAVE = GetEntities<T_FM_USER>(expression, null, null);
 | 
						||
 | 
						||
                result.DEPARTMENT_NAME = dep.NAME;
 | 
						||
                result.COUNT_WORKER = result.LISTPERSON_SCHEDULING.Count;
 | 
						||
                result.COUNT_LEVEL = result.LISTUSER_LEAVE.Count();
 | 
						||
                return result;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 查询班组
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pageFilter"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("PagedDep")]
 | 
						||
        public PagedActionResult<T_FM_DEPARTMENT> PagedDep([FromBody] KeywordPageFilter pageFilter)
 | 
						||
        {
 | 
						||
            return SafeGetPagedData(delegate (PagedActionResult<T_FM_DEPARTMENT> result)
 | 
						||
            {
 | 
						||
                PagedActionResult<T_FM_DEPARTMENT> orderPageEntities = GetOrderPageEntities<T_FM_DEPARTMENT>(e => e.DEPARTMENT_TYPE == 2 && e.ENABLE_STATUS == 0 && !e.IS_DELETED, pageFilter, null);
 | 
						||
                result.Data = orderPageEntities.Data;
 | 
						||
                result.TotalCount = orderPageEntities.TotalCount;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 当班工作人员信息
 | 
						||
        /// </summary>
 | 
						||
        public class WorkerSchedulingResult
 | 
						||
        {
 | 
						||
            /// <summary>
 | 
						||
            /// 部门名称
 | 
						||
            /// </summary>
 | 
						||
            public string DEPARTMENT_NAME { get; set; }
 | 
						||
            /// <summary>
 | 
						||
            /// 排班状态
 | 
						||
            /// </summary>
 | 
						||
            public string SchedulingType { get; set; }
 | 
						||
            /// <summary>
 | 
						||
            /// 当班人数
 | 
						||
            /// </summary>
 | 
						||
            public int COUNT_WORKER { get; set; }
 | 
						||
            /// <summary>
 | 
						||
            /// 组织人数
 | 
						||
            /// </summary>
 | 
						||
            public int COUNT_LEVEL { get; set; }
 | 
						||
            /// <summary>
 | 
						||
            /// 排班开始时间
 | 
						||
            /// </summary>
 | 
						||
            public DateTime? START_TIME { get; set; }
 | 
						||
 | 
						||
            /// <summary>
 | 
						||
            ///排班结束时间 
 | 
						||
            /// </summary>
 | 
						||
            public DateTime? END_TIME { get; set; }
 | 
						||
 | 
						||
            /// <summary>
 | 
						||
            /// 下次排班信息 年月日 开始时间 结束时间
 | 
						||
            /// </summary>
 | 
						||
            public string SchedulingNEXTTIME { get; set; }
 | 
						||
            /// <summary>
 | 
						||
            /// 当班人员
 | 
						||
            /// </summary>
 | 
						||
            public List<T_FM_PERSON> LISTPERSON_SCHEDULING { get; set; }
 | 
						||
 | 
						||
            /// <summary>
 | 
						||
            /// 请假人员
 | 
						||
            /// </summary>
 | 
						||
            public IEnumerable<T_FM_USER> LISTUSER_LEAVE { get; set; }
 | 
						||
        }
 | 
						||
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region    隐患查看
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 查询班组
 | 
						||
        /// T_SK_HIDDEN_DANGER_RECTIFY_RECORD => T_SK_HIDDEN_DANGER_RECTIFY_RECORD
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pageFilter"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("PagedRisk")]
 | 
						||
        public PagedActionResult<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> PagedRisk([FromBody] KeywordPageFilter pageFilter)
 | 
						||
        {
 | 
						||
            return SafeGetPagedData(delegate (PagedActionResult<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> result)
 | 
						||
            {
 | 
						||
                Guid? RISK_AREA_ID = null;
 | 
						||
                bool ISDOWN = false;
 | 
						||
                if (!string.IsNullOrEmpty(pageFilter.Keyword))
 | 
						||
                {
 | 
						||
                    try
 | 
						||
                    {
 | 
						||
                        RISK_AREA_ID = new Guid(pageFilter.Keyword);
 | 
						||
                    }
 | 
						||
                    catch { }
 | 
						||
                    pageFilter.Keyword = "";
 | 
						||
                }
 | 
						||
                if (pageFilter.Parameter1 != null && pageFilter.Parameter1 == "true")
 | 
						||
                {
 | 
						||
                    ISDOWN = true;
 | 
						||
                }
 | 
						||
 | 
						||
                Expression<Func<T_SK_HIDDEN_DANGER_RECTIFY_RECORD, bool>> expression = e => !e.IS_DELETED && e.STATUS != PFStandardStatus.Archived;
 | 
						||
                if (RISK_AREA_ID.HasValue)
 | 
						||
                {
 | 
						||
                    if (ISDOWN)
 | 
						||
                    {
 | 
						||
                        List<Guid> listResultID = new List<Guid>();
 | 
						||
                        List<Guid> listID = new List<Guid>() { RISK_AREA_ID.Value };
 | 
						||
                        GetDownRiskID(listID, ref listResultID);//递归获取区域ID
 | 
						||
                        expression = expression.And(e => e.RISK_AREA_ID.HasValue && listResultID.Contains(e.RISK_AREA_ID.Value));
 | 
						||
                    }
 | 
						||
                    else
 | 
						||
                    {
 | 
						||
                        expression = expression.And(e => e.RISK_AREA_ID.HasValue && e.RISK_AREA_ID.Value == RISK_AREA_ID.Value);
 | 
						||
                    }
 | 
						||
                }
 | 
						||
 | 
						||
                PagedActionResult<T_SK_HIDDEN_DANGER_RECTIFY_RECORD> orderPageEntities = GetOrderPageEntities(expression, pageFilter, null);
 | 
						||
 | 
						||
                //Expression<Func<T_BS_RISK_SUBMIT_CONTENT, bool>> expression = e => !e.IS_DELETED && e.RiskContentState != 12 && e.CHECKCONTENT != null;
 | 
						||
                //if (RISK_AREA_ID.HasValue)
 | 
						||
                //{
 | 
						||
                //    if (ISDOWN)
 | 
						||
                //    {
 | 
						||
                //        List<Guid> listResultID = new List<Guid>();
 | 
						||
                //        List<Guid> listID = new List<Guid>() { RISK_AREA_ID.Value };
 | 
						||
                //        GetDownRiskID(listID, ref listResultID);//递归获取区域ID
 | 
						||
                //        expression = expression.And(e => e.RISK_AREA_ID.HasValue && listResultID.Contains(e.RISK_AREA_ID.Value));
 | 
						||
                //    }
 | 
						||
                //    else
 | 
						||
                //    {
 | 
						||
                //        expression = expression.And(e => e.RISK_AREA_ID.HasValue && e.RISK_AREA_ID.Value == RISK_AREA_ID.Value);
 | 
						||
                //    }
 | 
						||
                //}
 | 
						||
                //PagedActionResult<T_BS_RISK_SUBMIT_CONTENT> orderPageEntities = GetOrderPageEntities(expression, pageFilter, null);
 | 
						||
 | 
						||
                result.Data = orderPageEntities.Data;
 | 
						||
                result.TotalCount = orderPageEntities.TotalCount;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 底肥获取区域的下级
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="listPARENT_ID"></param>
 | 
						||
        /// <param name="listResult"></param>
 | 
						||
        private void GetDownRiskID(IEnumerable<Guid> listPARENT_ID, ref List<Guid> listResult)
 | 
						||
        {
 | 
						||
            List<Guid> ids = new List<Guid>();
 | 
						||
            //var listAreaIDDown = GetEntities<T_HM_RISK_AREA>(e => e.PARENT_ID.HasValue && listPARENT_ID.Contains(e.PARENT_ID.Value) && !e.IS_DELETED, null, null);
 | 
						||
            var listAreaIDDown = GetEntities<T_SK_RISK_AREA>(e => e.PARENT_ID.HasValue && listPARENT_ID.Contains(e.PARENT_ID.Value) && !e.IS_DELETED, null, null);
 | 
						||
            if (listResult == null)
 | 
						||
            {
 | 
						||
                listResult = new List<Guid>();
 | 
						||
            }
 | 
						||
            listResult.AddRange(listPARENT_ID);//每次把入参存起来
 | 
						||
            if (listAreaIDDown != null && listAreaIDDown.Count() > 0)
 | 
						||
            {
 | 
						||
                var listIDPass = listAreaIDDown.Select(e => e.ID);
 | 
						||
                GetDownRiskID(listIDPass, ref listResult);
 | 
						||
            }
 | 
						||
            else
 | 
						||
            {
 | 
						||
                return;
 | 
						||
            }
 | 
						||
        }
 | 
						||
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 排序分页查询数据 T_HM_RISK_AREA => T_SK_RISK_AREA
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pageFilter">分页过滤实体</param>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("OrderPagedRiskArea")]
 | 
						||
        public PagedActionResult<T_SK_RISK_AREA> OrderPagedRiskArea([FromBody] KeywordPageFilter pageFilter)
 | 
						||
        {
 | 
						||
            return SafeGetPagedData(delegate (PagedActionResult<T_SK_RISK_AREA> result)
 | 
						||
            {
 | 
						||
                PagedActionResult<T_SK_RISK_AREA> orderPageEntities = GetOrderPageEntities<T_SK_RISK_AREA>(null, pageFilter, null);
 | 
						||
                result.Data = orderPageEntities.Data;
 | 
						||
                result.TotalCount = orderPageEntities.TotalCount;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 查询班组
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pageFilter"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("PagedCheckMain")]
 | 
						||
        public PagedActionResult<T_BS_CHECK_MAIN> PagedCheckMain([FromBody] KeywordPageFilter pageFilter)
 | 
						||
        {
 | 
						||
            return SafeGetPagedData(delegate (PagedActionResult<T_BS_CHECK_MAIN> result)
 | 
						||
            {
 | 
						||
                Guid? RISK_AREA_ID = null;
 | 
						||
                bool ISDOWN = false;
 | 
						||
                if (!string.IsNullOrEmpty(pageFilter.Keyword))
 | 
						||
                {
 | 
						||
                    try
 | 
						||
                    {
 | 
						||
                        RISK_AREA_ID = new Guid(pageFilter.Keyword);
 | 
						||
                    }
 | 
						||
                    catch { }
 | 
						||
                    pageFilter.Keyword = "";
 | 
						||
                }
 | 
						||
                if (pageFilter.Parameter1 != null && pageFilter.Parameter1 == "true")
 | 
						||
                {
 | 
						||
                    ISDOWN = true;
 | 
						||
                }
 | 
						||
                Expression<Func<T_BS_CHECK_MAIN, bool>> expression = e => !e.IS_DELETED && e.ENABLE_STATUS == 0 && e.CHECKCONTENT != null;
 | 
						||
                if (RISK_AREA_ID.HasValue)
 | 
						||
                {
 | 
						||
                    if (ISDOWN)
 | 
						||
                    {
 | 
						||
                        List<Guid> listResultID = new List<Guid>();
 | 
						||
                        List<Guid> listID = new List<Guid>() { RISK_AREA_ID.Value };
 | 
						||
                        GetDownRiskID(listID, ref listResultID);//递归获取区域ID
 | 
						||
                        expression = expression.And(e => e.RISK_AREA_ID.HasValue && listResultID.Contains(e.RISK_AREA_ID.Value));
 | 
						||
                    }
 | 
						||
                    else
 | 
						||
                    {
 | 
						||
                        expression = expression.And(e => e.RISK_AREA_ID.HasValue && e.RISK_AREA_ID.Value == RISK_AREA_ID.Value);
 | 
						||
                    }
 | 
						||
                }
 | 
						||
                PagedActionResult<T_BS_CHECK_MAIN> orderPageEntities = GetOrderPageEntities(expression, pageFilter, null);
 | 
						||
                result.Data = orderPageEntities.Data;
 | 
						||
 | 
						||
                foreach (var item in result.Data)
 | 
						||
                {
 | 
						||
                    if (item.QUESTION_LEVEL > 0)
 | 
						||
                    {
 | 
						||
                        item.QUESTION_LEVE_DESCRIPTION = ((BSQuestionLevelEnum)item.QUESTION_LEVEL).GetDescription();
 | 
						||
                    }
 | 
						||
                }
 | 
						||
                result.TotalCount = orderPageEntities.TotalCount;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 风险查看  T_HM_EVALUATE_RISK => T_SK_ENTERPRISE_LIBRARY
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pageFilter"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("PagedEvaluateRisk")]
 | 
						||
        public PagedActionResult<T_SK_ENTERPRISE_LIBRARY> PagedEvaluateRisk([FromBody] KeywordPageFilter pageFilter)
 | 
						||
        {
 | 
						||
            return SafeGetPagedData(delegate (PagedActionResult<T_SK_ENTERPRISE_LIBRARY> result)
 | 
						||
            {
 | 
						||
                Guid? AREA_ID = null;
 | 
						||
                bool ISDOWN = false;
 | 
						||
                if (!string.IsNullOrEmpty(pageFilter.Keyword))
 | 
						||
                {
 | 
						||
                    try
 | 
						||
                    {
 | 
						||
                        AREA_ID = new Guid(pageFilter.Keyword);
 | 
						||
                    }
 | 
						||
                    catch { }
 | 
						||
                    pageFilter.Keyword = "";
 | 
						||
                }
 | 
						||
                if (pageFilter.Parameter1 != null && pageFilter.Parameter1 == "true")
 | 
						||
                {
 | 
						||
                    ISDOWN = true;
 | 
						||
                }
 | 
						||
                Expression<Func<T_SK_ENTERPRISE_LIBRARY, bool>> expression = e => !e.IS_DELETED;
 | 
						||
                if (AREA_ID.HasValue)
 | 
						||
                {
 | 
						||
                    if (ISDOWN)
 | 
						||
                    {
 | 
						||
                        List<Guid> listResultID = new List<Guid>();
 | 
						||
                        List<Guid> listID = new List<Guid>() { AREA_ID.Value };
 | 
						||
                        GetDownRiskID(listID, ref listResultID);//递归获取区域ID
 | 
						||
                        expression = expression.And(e => e.AREA_ID.HasValue && listResultID.Contains(e.AREA_ID.Value));
 | 
						||
                    }
 | 
						||
                    else
 | 
						||
                    {
 | 
						||
                        expression = expression.And(e => e.AREA_ID.HasValue && e.AREA_ID.Value == AREA_ID.Value);
 | 
						||
                    }
 | 
						||
                }
 | 
						||
                PagedActionResult<T_SK_ENTERPRISE_LIBRARY> orderPageEntities = GetOrderPageEntities(expression, pageFilter, null);
 | 
						||
                //Expression<Func<T_HM_EVALUATE_RISK, bool>> expression = e => !e.IS_DELETED;
 | 
						||
                //if (AREA_ID.HasValue)
 | 
						||
                //{
 | 
						||
                //    if (ISDOWN)
 | 
						||
                //    {
 | 
						||
                //        List<Guid> listResultID = new List<Guid>();
 | 
						||
                //        List<Guid> listID = new List<Guid>() { AREA_ID.Value };
 | 
						||
                //        GetDownRiskID(listID, ref listResultID);//递归获取区域ID
 | 
						||
                //        expression = expression.And(e => e.AREA_ID.HasValue && listResultID.Contains(e.AREA_ID.Value));
 | 
						||
                //    }
 | 
						||
                //    else
 | 
						||
                //    {
 | 
						||
                //        expression = expression.And(e => e.AREA_ID.HasValue && e.AREA_ID.Value == AREA_ID.Value);
 | 
						||
                //    }
 | 
						||
                //}
 | 
						||
                //PagedActionResult<T_HM_EVALUATE_RISK> orderPageEntities = GetOrderPageEntities(expression, pageFilter, null);
 | 
						||
 | 
						||
                result.Data = orderPageEntities.Data;
 | 
						||
                foreach (var item in result.Data)
 | 
						||
                {
 | 
						||
                    try
 | 
						||
                    {
 | 
						||
                        item.EVALUATE_LEVEL_SHOW = item.EVALUATE_LEVEL.GetDescription();
 | 
						||
                    }
 | 
						||
                    catch
 | 
						||
                    {
 | 
						||
                        item.EVALUATE_LEVEL_SHOW = "";
 | 
						||
                    }
 | 
						||
                }
 | 
						||
                result.TotalCount = orderPageEntities.TotalCount;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 视频查看  T_SK_VIDEO_AREA
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pageFilter"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("PagedVideo")]
 | 
						||
        public PagedActionResult<T_SK_VIDEO_AREA> PagedVideo([FromBody] KeywordPageFilter pageFilter)
 | 
						||
        {
 | 
						||
            return SafeGetPagedData(delegate (PagedActionResult<T_SK_VIDEO_AREA> result)
 | 
						||
            {
 | 
						||
                Guid? AREA_ID = null;
 | 
						||
                bool ISDOWN = false;
 | 
						||
                if (!string.IsNullOrEmpty(pageFilter.Keyword))
 | 
						||
                {
 | 
						||
                    try
 | 
						||
                    {
 | 
						||
                        AREA_ID = new Guid(pageFilter.Keyword);
 | 
						||
                    }
 | 
						||
                    catch { }
 | 
						||
                    pageFilter.Keyword = "";
 | 
						||
                }
 | 
						||
                if (pageFilter.Parameter1 != null && pageFilter.Parameter1 == "true")
 | 
						||
                {
 | 
						||
                    ISDOWN = true;
 | 
						||
                }
 | 
						||
                Expression<Func<T_SK_VIDEO_AREA, bool>> expression = e => !e.IS_DELETED;
 | 
						||
                if (AREA_ID.HasValue)
 | 
						||
                {
 | 
						||
                    if (ISDOWN)
 | 
						||
                    {
 | 
						||
                        List<Guid> listResultID = new List<Guid>();
 | 
						||
                        List<Guid> listID = new List<Guid>() { AREA_ID.Value };
 | 
						||
                        GetDownRiskID(listID, ref listResultID);//递归获取区域ID
 | 
						||
                        expression = expression.And(e => listResultID.Contains(e.AREA_ID));
 | 
						||
                    }
 | 
						||
                    else
 | 
						||
                    {
 | 
						||
                        expression = expression.And(e => e.AREA_ID == AREA_ID.Value);
 | 
						||
                    }
 | 
						||
                }
 | 
						||
                PagedActionResult<T_SK_VIDEO_AREA> orderPageEntities = GetOrderPageEntities(expression, pageFilter, null);
 | 
						||
                result.Data = orderPageEntities.Data;
 | 
						||
                //string signStr = string.Empty;
 | 
						||
                //string userid = "3cbccb39d9";
 | 
						||
                //string secretKey = "vlUAYy8sr4";
 | 
						||
                //if (orderPageEntities.Data != null && orderPageEntities.Data.Any())
 | 
						||
                //{
 | 
						||
                //    foreach (var item in orderPageEntities.Data)
 | 
						||
                //    {
 | 
						||
                //        if (!item.Nav_Viedo.ISLOCAL && item.Nav_Viedo.FILE_PATH.Contains('='))
 | 
						||
                //        {
 | 
						||
                //            //http://share.polyv.net/front/video/view?vid=3cbccb39d9c879ce2e82e9d8b8251822_3
 | 
						||
                //            signStr = string.Empty;
 | 
						||
                //            string ptime = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds().ToString();
 | 
						||
                //            signStr = string.Format("userid={0},ptime={1},requestId={2},vid={3}{4}", userid, ptime, Guid.NewGuid().ToString().Replace("-", ""), item.Nav_Viedo.FILE_PATH.Split('=')[1], secretKey);
 | 
						||
                //            var sign = PolyvSignatureHelper.GenerateSha1Signature(signStr);
 | 
						||
                //            item.Nav_Viedo.FILE_PATH = String.Format(item.Nav_Viedo.FILE_PATH + "&userid={0}&ptime={1}&sign={2}&playerId={3}", userid, ptime, sign, userid);
 | 
						||
                //        }
 | 
						||
                //    }
 | 
						||
                //}
 | 
						||
                result.TotalCount = orderPageEntities.TotalCount;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        #endregion
 | 
						||
 | 
						||
        #region    common
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 排序分页查询数据
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pageFilter">分页过滤实体</param>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("UserPostOrderPaged")]
 | 
						||
        public PagedActionResult<T_FM_USER_POST> UserPostOrderPaged([FromBody] KeywordPageFilter pageFilter)
 | 
						||
        {
 | 
						||
            return SafeGetPagedData(delegate (PagedActionResult<T_FM_USER_POST> result)
 | 
						||
            {
 | 
						||
                PagedActionResult<T_FM_USER_POST> orderPageEntities = GetOrderPageEntities<T_FM_USER_POST>(null, pageFilter, null);
 | 
						||
                result.Data = orderPageEntities.Data;
 | 
						||
                result.TotalCount = orderPageEntities.TotalCount;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 查询
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="pageFilter"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("DepartmentOrderPaged")]
 | 
						||
        public PagedActionResult<T_FM_DEPARTMENT> DepartmentOrderPaged([FromBody] KeywordPageFilter pageFilter)
 | 
						||
        {
 | 
						||
            return SafeGetPagedData(delegate (PagedActionResult<T_FM_DEPARTMENT> result)
 | 
						||
            {
 | 
						||
                PagedActionResult<T_FM_DEPARTMENT> orderPageEntities = GetOrderPageEntities<T_FM_DEPARTMENT>(null, pageFilter, null);
 | 
						||
                result.Data = orderPageEntities.Data;
 | 
						||
                result.TotalCount = orderPageEntities.TotalCount;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 查询
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="filter"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("DepartmentPostEntities")]
 | 
						||
        public JsonActionResult<IEnumerable<T_FM_USER_POST>> DepartmentPostEntities([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<IEnumerable<T_FM_USER_POST>>(() =>
 | 
						||
            {
 | 
						||
                List<T_FM_USER_POST> result = new List<T_FM_USER_POST>();
 | 
						||
                Guid? DEPARTMENT_ID = null;
 | 
						||
                if (!string.IsNullOrEmpty(filter.Keyword))
 | 
						||
                {
 | 
						||
                    try
 | 
						||
                    {
 | 
						||
                        DEPARTMENT_ID = new Guid(filter.Keyword);
 | 
						||
                    }
 | 
						||
                    catch
 | 
						||
                    {
 | 
						||
                        DEPARTMENT_ID = null;
 | 
						||
                    }
 | 
						||
                }
 | 
						||
 | 
						||
                if (DEPARTMENT_ID == null)
 | 
						||
                {
 | 
						||
                    result = GetEntities<T_FM_USER_POST>(e => e.STATUS == 1, null, null).OrderBy(e => e.NAME).ToList();//启用的岗位
 | 
						||
                }
 | 
						||
                else
 | 
						||
                {
 | 
						||
                    var listPersons = GetEntities<T_FM_PERSON>(e => e.DEPARTMENT_ID.HasValue && e.DEPARTMENT_ID.Value == DEPARTMENT_ID.Value && e.POST_ID.HasValue, null, null);
 | 
						||
                    var listPostID = listPersons.Select(e => e.POST_ID.Value).Distinct().ToList();
 | 
						||
                    result = GetEntities<T_FM_USER_POST>(e => listPostID.Contains(e.ID) && e.STATUS == 1, null, null).OrderBy(e => e.NAME).ToList();
 | 
						||
                }
 | 
						||
                return result;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        /// <summary>
 | 
						||
        /// 区域查询
 | 
						||
        /// </summary>
 | 
						||
        /// <param name="filter"></param>
 | 
						||
        /// <returns></returns>
 | 
						||
        [HttpPost, Route("AreaEntities")]
 | 
						||
        public JsonActionResult<IEnumerable<T_SK_RISK_AREA>> AreaEntities([FromBody] KeywordFilter filter)
 | 
						||
        {
 | 
						||
            return SafeExecute<IEnumerable<T_SK_RISK_AREA>>(() =>
 | 
						||
            {
 | 
						||
                List<T_SK_RISK_AREA> result = new List<T_SK_RISK_AREA>();
 | 
						||
                Expression<Func<T_SK_RISK_AREA, bool>> expression = e => !e.IS_DELETED;
 | 
						||
                if (!string.IsNullOrEmpty(filter.Keyword))
 | 
						||
                {
 | 
						||
                    try
 | 
						||
                    {
 | 
						||
                        Guid AREA_ID = new Guid(filter.Keyword);
 | 
						||
                        expression = expression.And(e => e.ID == AREA_ID);
 | 
						||
                    }
 | 
						||
                    catch { }
 | 
						||
                }
 | 
						||
                result = GetEntities(expression, filter, null).OrderBy(e => e.NAME).ToList();//启用的岗位
 | 
						||
                return result;
 | 
						||
            });
 | 
						||
        }
 | 
						||
 | 
						||
        #endregion
 | 
						||
    }
 | 
						||
}
 |