570 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			570 lines
		
	
	
		
			24 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 
								 | 
							
								using APT.BaseData.Domain.Entities;
							 | 
						|||
| 
								 | 
							
								using APT.BaseData.Domain.Enums;
							 | 
						|||
| 
								 | 
							
								using APT.Infrastructure.Core;
							 | 
						|||
| 
								 | 
							
								using APT.MS.Domain.ApiModel;
							 | 
						|||
| 
								 | 
							
								using APT.BaseData.Domain.Entities.FM;
							 | 
						|||
| 
								 | 
							
								using APT.BaseData.Domain.IServices.EX;
							 | 
						|||
| 
								 | 
							
								using APT.Utility;
							 | 
						|||
| 
								 | 
							
								using Microsoft.AspNetCore.Mvc;
							 | 
						|||
| 
								 | 
							
								using System;
							 | 
						|||
| 
								 | 
							
								using System.Collections.Generic;
							 | 
						|||
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using System.Linq.Expressions;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								using APT.Utility;
							 | 
						|||
| 
								 | 
							
								using APT.BaseData.Domain.ApiModel;
							 | 
						|||
| 
								 | 
							
								using APT.BaseData.Domain.ApiModel.Platform;
							 | 
						|||
| 
								 | 
							
								using APT.Infrastructure.Api.Redis;
							 | 
						|||
| 
								 | 
							
								using System.Configuration;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace APT.FM.WebApi.Controllers.Api.FM
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    [Route("api/FM/UserCCQuery")]
							 | 
						|||
| 
								 | 
							
								    [APT.Infrastructure.Api.RootOrg]
							 | 
						|||
| 
								 | 
							
								    public class UserCCQueryController : AuthorizeApiController<T_FM_USER_C_C_QUERY>
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 查询
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="filter"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("Entities")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<IEnumerable<T_FM_USER_C_C_QUERY>> Entities([FromBody] KeywordFilter filter)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return WitEntities(null, filter);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 查询
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="filter"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        /// 
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("OrderEntities")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<IEnumerable<T_FM_USER_C_C_QUERY>> OrderEntities([FromBody] KeywordFilter filter)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return WitOrderEntities(null, filter);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 查询
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="pageFilter"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("Paged")]
							 | 
						|||
| 
								 | 
							
								        public PagedActionResult<T_FM_USER_C_C_QUERY> Paged([FromBody] KeywordPageFilter pageFilter)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return WitPaged(null, pageFilter);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 查询
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="pageFilter"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("OrderPaged")]
							 | 
						|||
| 
								 | 
							
								        public PagedActionResult<T_FM_USER_C_C_QUERY> OrderPaged([FromBody] KeywordPageFilter pageFilter)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return WitOrderPaged(null, pageFilter);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 删除
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="id"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpGet, Route("Delete")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<bool> Delete(string id)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return WitDelete(id);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 更新
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="id"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("Update")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<bool> Update([FromBody] T_FM_USER_C_C_QUERY entity)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return WitUpdate(entity);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 批量删除
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="ids"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpGet, Route("BatchDelete")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<bool> BatchDelete(string ids)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return WitBatchDelete(ids);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获得单条实体数据
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="filter"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("Get")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<T_FM_USER_C_C_QUERY> Get([FromBody] KeywordFilter filter)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return WitEntity(null, filter);
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 查询实体并获取枚举
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="filter"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("OrderEntitiesOnEnum")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<IEnumerable<T_FM_USER_C_C_QUERY>> OrderEntitiesOnEnum([FromBody] KeywordFilter filter)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return SafeExecute<IEnumerable<T_FM_USER_C_C_QUERY>>(() =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var tmps = this.GetOrderEntities<T_FM_USER_C_C_QUERY>(null, filter);
							 | 
						|||
| 
								 | 
							
								                var list = tmps.ToList();
							 | 
						|||
| 
								 | 
							
								                if (list != null && list.Any())
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    list.ForEach(t =>
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        if (t.Nav_Fields != null && t.Nav_Fields.Any())
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            t.Nav_Fields.Where(t1 => t1.DATA_TYPE == (int)PFDataTypeEnum.枚举 && !string.IsNullOrEmpty(t1.ENUM_NAME)).ForEach(t1 =>
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                t1.ENUM_NAME = DataHelper.EnumToString(t1.ENUM_NAME);
							 | 
						|||
| 
								 | 
							
								                            });
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    });
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                return list;
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        private void GetDeleteChildGroupId(List<T_FM_USER_C_C_QUERY_GROUP> list, List<Guid> deleteGroupIds)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var temps = list.Where(t => deleteGroupIds.Contains(t.PARENT_ID ?? Guid.Empty)).ToList();
							 | 
						|||
| 
								 | 
							
								            temps.ForEach(t =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                if (!deleteGroupIds.Contains(t.ID))
							 | 
						|||
| 
								 | 
							
								                    deleteGroupIds.Add(t.ID);
							 | 
						|||
| 
								 | 
							
								                this.GetDeleteChildGroupId(list, deleteGroupIds);
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        private void DoFullUpdate(T_FM_USER_C_C_QUERY entity)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var fields = entity.Nav_Fields;
							 | 
						|||
| 
								 | 
							
								            var groups = entity.Nav_Groups;
							 | 
						|||
| 
								 | 
							
								            entity.Nav_Groups = null;
							 | 
						|||
| 
								 | 
							
								            entity.Nav_Fields = null;
							 | 
						|||
| 
								 | 
							
								            if (fields != null && fields.Any())
							 | 
						|||
| 
								 | 
							
								                fields.ForEach(t => t.USER_C_C_QUERY_ID = entity.ID);
							 | 
						|||
| 
								 | 
							
								            if (groups != null && groups.Any())
							 | 
						|||
| 
								 | 
							
								                groups.ForEach(t => t.USER_C_C_QUERY_ID = entity.ID);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            List<Guid> deleteFieldIds = new List<Guid>();
							 | 
						|||
| 
								 | 
							
								            List<Guid> deleteGroupIds = new List<Guid>();
							 | 
						|||
| 
								 | 
							
								            var dbEntity = this.GetEntity<T_FM_USER_C_C_QUERY>(entity.ID.ToString(), new string[] { "Nav_Fields", "Nav_Groups" });
							 | 
						|||
| 
								 | 
							
								            if (dbEntity != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                if (dbEntity.Nav_Groups != null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    dbEntity.Nav_Groups.ForEach(item =>
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        var group = groups == null ? null : groups.FirstOrDefault(t => t.ID == item.ID);
							 | 
						|||
| 
								 | 
							
								                        if (group == null)
							 | 
						|||
| 
								 | 
							
								                            deleteGroupIds.Add(item.ID);
							 | 
						|||
| 
								 | 
							
								                        if (group != null)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            group.CREATER_ID = item.CREATER_ID;
							 | 
						|||
| 
								 | 
							
								                            group.CREATE_TIME = item.CREATE_TIME;
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    });
							 | 
						|||
| 
								 | 
							
								                    this.GetDeleteChildGroupId(dbEntity.Nav_Groups.ToList(), deleteGroupIds);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                if (dbEntity.Nav_Fields != null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    dbEntity.Nav_Fields.ForEach(item =>
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        var field = fields == null ? null : fields.FirstOrDefault(t => t.ID == item.ID);
							 | 
						|||
| 
								 | 
							
								                        if (field == null || deleteGroupIds.Any(t => t == item.USER_C_C_QUERY_GROUP_ID))
							 | 
						|||
| 
								 | 
							
								                            deleteFieldIds.Add(item.ID);
							 | 
						|||
| 
								 | 
							
								                        if (field != null)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            field.CREATER_ID = item.CREATER_ID;
							 | 
						|||
| 
								 | 
							
								                            field.CREATE_TIME = item.CREATE_TIME;
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                    });
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            if (deleteGroupIds != null && deleteGroupIds.Any())
							 | 
						|||
| 
								 | 
							
								                fields = fields.Where(t => !deleteGroupIds.Contains(t.USER_C_C_QUERY_GROUP_ID ?? Guid.Empty)).ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            List<T_FM_USER_C_C_QUERY> updateList = null;
							 | 
						|||
| 
								 | 
							
								            if (entity.IS_DEFAULT && (dbEntity == null || !dbEntity.IS_DEFAULT))
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                updateList = this.GetEntities<T_FM_USER_C_C_QUERY>(t => t.PAGE_FORM_ID == entity.PAGE_FORM_ID && t.ID != entity.ID, new BaseFilter()).ToList();
							 | 
						|||
| 
								 | 
							
								                if (updateList != null && updateList.Any())
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    updateList.ForEach(t =>
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        t.IS_DEFAULT = false;
							 | 
						|||
| 
								 | 
							
								                    });
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            UnifiedCommit(() =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                this.UpdateEntityNoCommit(entity);
							 | 
						|||
| 
								 | 
							
								                if (groups != null && groups.Any())
							 | 
						|||
| 
								 | 
							
								                    this.BantchSaveEntityNoCommit(groups);
							 | 
						|||
| 
								 | 
							
								                if (fields != null && fields.Any())
							 | 
						|||
| 
								 | 
							
								                    this.BantchSaveEntityNoCommit(fields);
							 | 
						|||
| 
								 | 
							
								                if (updateList != null && updateList.Any())
							 | 
						|||
| 
								 | 
							
								                    this.BantchUpdateEntityNoCommit(updateList);
							 | 
						|||
| 
								 | 
							
								                if (deleteFieldIds.Any())
							 | 
						|||
| 
								 | 
							
								                    this.DeleteEntityNoCommit<T_FM_USER_C_C_QUERY_FIELD>(t => deleteFieldIds.Contains(t.ID));
							 | 
						|||
| 
								 | 
							
								                if (deleteGroupIds.Any())
							 | 
						|||
| 
								 | 
							
								                    this.DeleteEntityNoCommit<T_FM_USER_C_C_QUERY_GROUP>(t => deleteGroupIds.Contains(t.ID));
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 更新
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="id"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("FullUpdate")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<bool> FullUpdate([FromBody] T_FM_USER_C_C_QUERY entity)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return SafeExecute<bool>(() =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                this.DoFullUpdate(entity);
							 | 
						|||
| 
								 | 
							
								                return true;
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 删除
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="id"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpGet, Route("FullDelete")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<bool> FullDelete(string id)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return SafeExecute<bool>(() =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                if (string.IsNullOrEmpty(id)) return false;
							 | 
						|||
| 
								 | 
							
								                var tmpsIds = this.GetEntities<T_FM_USER_C_C_QUERY_FIELD>(t => t.USER_C_C_QUERY_ID == new Guid(id), new BaseFilter()).
							 | 
						|||
| 
								 | 
							
								                        Select(t => t.ID).ToList();
							 | 
						|||
| 
								 | 
							
								                if (tmpsIds != null && tmpsIds.Any())
							 | 
						|||
| 
								 | 
							
								                    foreach (var item in tmpsIds)
							 | 
						|||
| 
								 | 
							
								                        this.DeleteEntity<T_FM_USER_C_C_QUERY_FIELD>(item.ToString());
							 | 
						|||
| 
								 | 
							
								                this.DeleteEntity<T_FM_USER_C_C_QUERY>(id);
							 | 
						|||
| 
								 | 
							
								                return true;
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        ///更新是否默认值
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="filter"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("UpdateIsDefault")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<bool> UpdateIsDefault([FromBody] KeywordFilter filter)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return SafeExecute<bool>(() =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                string id = filter.Keyword;//查询方案ID
							 | 
						|||
| 
								 | 
							
								                bool isDefault = string.IsNullOrEmpty(filter.Parameter1) ? false : LibUtils.ToBoolean(filter.Parameter1);//是否默认
							 | 
						|||
| 
								 | 
							
								                if (string.IsNullOrEmpty(id)) return false;
							 | 
						|||
| 
								 | 
							
								                var query = this.GetEntity<T_FM_USER_C_C_QUERY>(id);
							 | 
						|||
| 
								 | 
							
								                if (query == null) return false;
							 | 
						|||
| 
								 | 
							
								                query.IS_DEFAULT = isDefault;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<T_FM_USER_C_C_QUERY> updateList = null;
							 | 
						|||
| 
								 | 
							
								                if (isDefault)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    updateList = this.GetEntities<T_FM_USER_C_C_QUERY>(t => t.PAGE_FORM_ID == query.PAGE_FORM_ID && t.ID != query.ID, new BaseFilter()).ToList();
							 | 
						|||
| 
								 | 
							
								                    if (updateList != null && updateList.Any())
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        updateList.ForEach(t =>
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            t.IS_DEFAULT = false;
							 | 
						|||
| 
								 | 
							
								                        });
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                this.UpdateEntity(query);
							 | 
						|||
| 
								 | 
							
								                if (updateList != null && updateList.Any())
							 | 
						|||
| 
								 | 
							
								                    this.BantchUpdateEntity(updateList);
							 | 
						|||
| 
								 | 
							
								                return true;
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取用户查询配置并且查询字段
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="filter"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("GetQueryFieldByUserQuery")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<UserCCQueryModel> GetQueryFieldByUserQuery([FromBody] KeywordFilter filter)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return base.SafeExecute(() =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                string formIdStr = filter.Keyword;//表单ID;
							 | 
						|||
| 
								 | 
							
								                string queryId = filter.Parameter1;//用户自定义查询方案ID
							 | 
						|||
| 
								 | 
							
								                string userId = filter.Parameter2;//用户ID
							 | 
						|||
| 
								 | 
							
								                string code = filter.Parameter3;//编号
							 | 
						|||
| 
								 | 
							
								                bool isCopyFromSys = string.IsNullOrEmpty(filter.Parameter4) ? false : LibUtils.ToBoolean(filter.Parameter4);//从系统查询中拷贝
							 | 
						|||
| 
								 | 
							
								                string copyCCQueryId = filter.Parameter5;//拷贝Id
							 | 
						|||
| 
								 | 
							
								                UserCCQueryModel model = new UserCCQueryModel();
							 | 
						|||
| 
								 | 
							
								                if (string.IsNullOrEmpty(formIdStr))
							 | 
						|||
| 
								 | 
							
								                    throw new Exception("请选择表单ID");
							 | 
						|||
| 
								 | 
							
								                var redisCode = string.Format(RedisCacheKey.TableUserConfigRedisKey, queryId,filter.GetOrgId());
							 | 
						|||
| 
								 | 
							
								                bool isRedisConfig = true;
							 | 
						|||
| 
								 | 
							
								                var redisConfig =APT.Infrastructure.Api.ConfigurationManager.AppSettings["RedisFormConfig"];
							 | 
						|||
| 
								 | 
							
								                if (!string.IsNullOrEmpty(redisConfig))
							 | 
						|||
| 
								 | 
							
								                    isRedisConfig = bool.Parse(redisConfig);
							 | 
						|||
| 
								 | 
							
								                if (isRedisConfig)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    if (CsRedisManager.KeyExists(redisCode))
							 | 
						|||
| 
								 | 
							
								                        return CsRedisManager.GetClient().Get<UserCCQueryModel>(redisCode);
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                //var baseFilter = new BaseFilter();
							 | 
						|||
| 
								 | 
							
								                //baseFilter.SelectField = new string[] { "ID", "CODE" };
							 | 
						|||
| 
								 | 
							
								                //baseFilter.IsNoTranking = true;
							 | 
						|||
| 
								 | 
							
								                T_PF_FORM form = this.GetEntity<T_PF_FORM>(formIdStr);
							 | 
						|||
| 
								 | 
							
								                if (form == null)
							 | 
						|||
| 
								 | 
							
								                    throw new Exception("无效表单");
							 | 
						|||
| 
								 | 
							
								                var entityOperateService = APT.Infrastructure.Api.ServiceLocator.Instance.GetService<IEntityOperateService>();
							 | 
						|||
| 
								 | 
							
								                Dictionary<string, byte> existFields = new Dictionary<string, byte>();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                //Expression<Func<T_PF_FORM_QUERY, bool>> queryExpression = t => t.PAGE_FORM_ID == form.ID;
							 | 
						|||
| 
								 | 
							
								                var formQuerys = this.GetEntitiesByRedis<T_PF_FORM_QUERY>(null, new BaseFilter(filter.GetOrgId()), form.ID.ToString());
							 | 
						|||
| 
								 | 
							
								                var formQuery = formQuerys.FirstOrDefault();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                List<T_PF_QUERY> querys = null;
							 | 
						|||
| 
								 | 
							
								                filter.Sort = "NUM";
							 | 
						|||
| 
								 | 
							
								                if (formQuery != null)
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    //Expression<Func<T_PF_QUERY, bool>> expression = t => t.PAGE_FORM_QUERY_ID == formQuery.ID;
							 | 
						|||
| 
								 | 
							
								                    //if (!string.IsNullOrEmpty(code))
							 | 
						|||
| 
								 | 
							
								                    //    expression = expression.And(t => t.CODE == code);
							 | 
						|||
| 
								 | 
							
								                    //querys = this.GetEntities<T_PF_QUERY>(expression, new BaseFilter()).ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    querys = this.GetEntitiesByRedis<T_PF_QUERY>(null, new BaseFilter(filter.GetOrgId()), formQuery.ID.ToString())
							 | 
						|||
| 
								 | 
							
								                    .ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    if (!string.IsNullOrEmpty(code))
							 | 
						|||
| 
								 | 
							
								                        querys = querys.Where(t => t.CODE == code).ToList();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								                List<string> expandFields = null;
							 | 
						|||
| 
								 | 
							
								                if (!string.IsNullOrEmpty(queryId))
							 | 
						|||
| 
								 | 
							
								                {
							 | 
						|||
| 
								 | 
							
								                    //var userCCQuery = this.GetEntity<T_FM_USER_C_C_QUERY>(queryId, new string[] { "Nav_Fields", "Nav_Groups" });
							 | 
						|||
| 
								 | 
							
								                    T_FM_USER_C_C_QUERY userCCQuery = null;
							 | 
						|||
| 
								 | 
							
								                    userCCQuery = GetCCQueryByRedis(filter, queryId);
							 | 
						|||
| 
								 | 
							
								                    if (userCCQuery == null)
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        T_FM_USER_C_C_QUERY copyUserCCQuery = string.IsNullOrEmpty(copyCCQueryId) ? null :
							 | 
						|||
| 
								 | 
							
								                                GetCCQueryByRedis(filter, copyCCQueryId);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        userCCQuery = new T_FM_USER_C_C_QUERY();
							 | 
						|||
| 
								 | 
							
								                        userCCQuery.ID = new Guid(queryId);
							 | 
						|||
| 
								 | 
							
								                        userCCQuery.ORG_ID = filter.OrgId;
							 | 
						|||
| 
								 | 
							
								                        if (copyUserCCQuery != null)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            CopyUtils.CopyObject(userCCQuery, copyUserCCQuery);
							 | 
						|||
| 
								 | 
							
								                            userCCQuery.TITLE = userCCQuery.TITLE + "-副本";
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        userCCQuery.PAGE_FORM_ID = form.ID;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        //拷贝系统查询方案
							 | 
						|||
| 
								 | 
							
								                        if (isCopyFromSys && querys != null && querys.Any())
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            userCCQuery.Nav_Fields = new List<T_FM_USER_C_C_QUERY_FIELD>();
							 | 
						|||
| 
								 | 
							
								                            querys.ForEach(t =>
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                T_FM_USER_C_C_QUERY_FIELD field = new T_FM_USER_C_C_QUERY_FIELD();
							 | 
						|||
| 
								 | 
							
								                                field.ORG_ID = userCCQuery.ORG_ID;
							 | 
						|||
| 
								 | 
							
								                                field.USER_C_C_QUERY_ID = userCCQuery.ID;
							 | 
						|||
| 
								 | 
							
								                                CopyUtils.CopyObject(field, t);
							 | 
						|||
| 
								 | 
							
								                                if (!string.IsNullOrEmpty(code))
							 | 
						|||
| 
								 | 
							
								                                    field.CODE = code;
							 | 
						|||
| 
								 | 
							
								                                field.IS_SYS_QUERY_FIELD = true;
							 | 
						|||
| 
								 | 
							
								                                userCCQuery.Nav_Fields.Add(field);
							 | 
						|||
| 
								 | 
							
								                            });
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        Dictionary<Guid, Guid?> groupIdRelations = new Dictionary<Guid, Guid?>();//拷贝分组ID和新增分组ID对应关系列表
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        //拷贝已有的自定义查询方案 分组
							 | 
						|||
| 
								 | 
							
								                        if (copyUserCCQuery != null && copyUserCCQuery.Nav_Groups != null && copyUserCCQuery.Nav_Groups.Any())
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            var tmps = copyUserCCQuery.Nav_Groups.OrderBy(t => t.NUM).ToList();
							 | 
						|||
| 
								 | 
							
								                            userCCQuery.Nav_Groups = new List<T_FM_USER_C_C_QUERY_GROUP>();
							 | 
						|||
| 
								 | 
							
								                            this.GetGroupByList(tmps, null, null, userCCQuery, code, groupIdRelations);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        //拷贝已有的自定义查询方案 字段
							 | 
						|||
| 
								 | 
							
								                        if (copyUserCCQuery != null && copyUserCCQuery.Nav_Fields != null && copyUserCCQuery.Nav_Fields.Any())
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            var tmps = copyUserCCQuery.Nav_Fields.OrderBy(t => t.NUM).ToList();
							 | 
						|||
| 
								 | 
							
								                            userCCQuery.Nav_Fields = new List<T_FM_USER_C_C_QUERY_FIELD>();
							 | 
						|||
| 
								 | 
							
								                            tmps.ForEach(t =>
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                Guid? currGroupId = null;
							 | 
						|||
| 
								 | 
							
								                                if (t.USER_C_C_QUERY_GROUP_ID != null)
							 | 
						|||
| 
								 | 
							
								                                {
							 | 
						|||
| 
								 | 
							
								                                    if (!groupIdRelations.TryGetValue(t.USER_C_C_QUERY_GROUP_ID.Value, out currGroupId))
							 | 
						|||
| 
								 | 
							
								                                        return;
							 | 
						|||
| 
								 | 
							
								                                }
							 | 
						|||
| 
								 | 
							
								                                T_FM_USER_C_C_QUERY_FIELD field = new T_FM_USER_C_C_QUERY_FIELD();
							 | 
						|||
| 
								 | 
							
								                                field.ORG_ID = userCCQuery.ORG_ID;
							 | 
						|||
| 
								 | 
							
								                                CopyUtils.CopyObject(field, t);
							 | 
						|||
| 
								 | 
							
								                                field.USER_C_C_QUERY_ID = userCCQuery.ID;
							 | 
						|||
| 
								 | 
							
								                                field.USER_C_C_QUERY_GROUP_ID = currGroupId;
							 | 
						|||
| 
								 | 
							
								                                if (!string.IsNullOrEmpty(code))
							 | 
						|||
| 
								 | 
							
								                                    field.CODE = code;
							 | 
						|||
| 
								 | 
							
								                                userCCQuery.Nav_Fields.Add(field);
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                            });
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        var customConfigs = this.GetEntitiesByRedis<T_FM_USER_CUSTOM_CONFIG>(null, new BaseFilter(filter.GetOrgId()), userId);
							 | 
						|||
| 
								 | 
							
								                        var customConfig = customConfigs.FirstOrDefault();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                        if (customConfig == null)
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            customConfig = new T_FM_USER_CUSTOM_CONFIG();
							 | 
						|||
| 
								 | 
							
								                            customConfig.ORG_ID = filter.OrgId;
							 | 
						|||
| 
								 | 
							
								                            customConfig.USER_ID = new Guid(userId);
							 | 
						|||
| 
								 | 
							
								                            this.AddEntity(customConfig);
							 | 
						|||
| 
								 | 
							
								                        }
							 | 
						|||
| 
								 | 
							
								                        userCCQuery.USER_CUSTOM_CONFIG_ID = customConfig.ID;
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                    model.Nav_UserCCQuery = userCCQuery;
							 | 
						|||
| 
								 | 
							
								                    if (userCCQuery != null && userCCQuery.Nav_Fields != null && userCCQuery.Nav_Fields.Any())
							 | 
						|||
| 
								 | 
							
								                    {
							 | 
						|||
| 
								 | 
							
								                        Dictionary<string, byte> expandFieldDic = new Dictionary<string, byte>();
							 | 
						|||
| 
								 | 
							
								                        model.Nav_UserCCQuery.Nav_Fields.ForEach(t =>
							 | 
						|||
| 
								 | 
							
								                        {
							 | 
						|||
| 
								 | 
							
								                            if (t.IS_SYS_QUERY_FIELD || !string.IsNullOrEmpty(t.QUERY_NAME)) return;
							 | 
						|||
| 
								 | 
							
								                            var tmps = t.QUERY_NAME.Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries).ToList();
							 | 
						|||
| 
								 | 
							
								                            if (tmps.Count >= 1)
							 | 
						|||
| 
								 | 
							
								                            {
							 | 
						|||
| 
								 | 
							
								                                tmps.RemoveAt(tmps.Count - 1);
							 | 
						|||
| 
								 | 
							
								                                var expand = string.Join(".", tmps);
							 | 
						|||
| 
								 | 
							
								                                if (!expandFieldDic.ContainsKey(expand))
							 | 
						|||
| 
								 | 
							
								                                    expandFieldDic.Add(expand, 0);
							 | 
						|||
| 
								 | 
							
								                            }
							 | 
						|||
| 
								 | 
							
								                        });
							 | 
						|||
| 
								 | 
							
								                        expandFields = expandFieldDic.Keys.ToList();
							 | 
						|||
| 
								 | 
							
								                    }
							 | 
						|||
| 
								 | 
							
								                }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var fields = entityOperateService.GetEntityFieldsByQueryFormId(form.ID, code, string.Empty, string.Empty, expandFields, filter);
							 | 
						|||
| 
								 | 
							
								                if (fields != null && fields.Any())
							 | 
						|||
| 
								 | 
							
								                    fields.ForEach(t => model.Nav_Fields.Add(t));
							 | 
						|||
| 
								 | 
							
								                CsRedisManager.GetClient().Set(redisCode, model);
							 | 
						|||
| 
								 | 
							
								                return model;
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        private T_FM_USER_C_C_QUERY GetCCQueryByRedis(KeywordFilter filter, string queryId)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            T_FM_USER_C_C_QUERY userCCQuery = this.GetEntityByRedis<T_FM_USER_C_C_QUERY>(queryId, filter.GetOrgId());
							 | 
						|||
| 
								 | 
							
								            if (userCCQuery != null)
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var fileds = this.GetEntitiesByRedis<T_FM_USER_C_C_QUERY_FIELD>(filter)
							 | 
						|||
| 
								 | 
							
								                    .Where(t => t.USER_C_C_QUERY_ID == userCCQuery.ID).ToList();
							 | 
						|||
| 
								 | 
							
								                userCCQuery.Nav_Fields = fileds;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								                var groups = this.GetEntitiesByRedis<T_FM_USER_C_C_QUERY_GROUP>(filter)
							 | 
						|||
| 
								 | 
							
								                    .Where(t => t.USER_C_C_QUERY_ID == userCCQuery.ID).ToList();
							 | 
						|||
| 
								 | 
							
								                userCCQuery.Nav_Groups = groups;
							 | 
						|||
| 
								 | 
							
								            }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								            return userCCQuery;
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        private void GetGroupByList(List<T_FM_USER_C_C_QUERY_GROUP> list, Guid? parentId, Guid? currParentId, T_FM_USER_C_C_QUERY userCCQuery, string code, Dictionary<Guid, Guid?> groupIdRelations)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            var tmps = list == null ? null : list.Where(t => t.PARENT_ID == parentId).ToList();
							 | 
						|||
| 
								 | 
							
								            if (tmps == null || !tmps.Any()) return;
							 | 
						|||
| 
								 | 
							
								            tmps.ForEach(t =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                T_FM_USER_C_C_QUERY_GROUP group = new T_FM_USER_C_C_QUERY_GROUP();
							 | 
						|||
| 
								 | 
							
								                group.ORG_ID = userCCQuery.ORG_ID;
							 | 
						|||
| 
								 | 
							
								                CopyUtils.CopyObject(group, t);
							 | 
						|||
| 
								 | 
							
								                group.USER_C_C_QUERY_ID = userCCQuery.ID;
							 | 
						|||
| 
								 | 
							
								                if (!string.IsNullOrEmpty(code))
							 | 
						|||
| 
								 | 
							
								                    group.CODE = code;
							 | 
						|||
| 
								 | 
							
								                group.PARENT_ID = currParentId;
							 | 
						|||
| 
								 | 
							
								                userCCQuery.Nav_Groups.Add(group);
							 | 
						|||
| 
								 | 
							
								                groupIdRelations[t.ID] = group.ID;
							 | 
						|||
| 
								 | 
							
								                GetGroupByList(list, t.ID, group.ID, userCCQuery, code, groupIdRelations);
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 获取查询字段
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="filter"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("GetQueryFields")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<IEnumerable<EntityFieldByQueryFieldModel>> GetQueryFields([FromBody] KeywordFilter filter)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return SafeExecute<IEnumerable<EntityFieldByQueryFieldModel>>(() =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                string formIdStr = filter.Keyword;//表单ID;
							 | 
						|||
| 
								 | 
							
								                string curFieldName = filter.Parameter1;//当前字段名称
							 | 
						|||
| 
								 | 
							
								                string tableName = filter.Parameter2;//表名
							 | 
						|||
| 
								 | 
							
								                string lablePrefix = filter.Parameter3;//显示名称前缀
							 | 
						|||
| 
								 | 
							
								                var entityOperateService = APT.Infrastructure.Api.ServiceLocator.Instance.GetService<IEntityOperateService>();
							 | 
						|||
| 
								 | 
							
								                return entityOperateService.GetEntityFieldsByTableName(tableName, curFieldName, lablePrefix, null);
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								        /// <summary>
							 | 
						|||
| 
								 | 
							
								        /// 保存查询字段默认值
							 | 
						|||
| 
								 | 
							
								        /// </summary>
							 | 
						|||
| 
								 | 
							
								        /// <param name="entity"></param>
							 | 
						|||
| 
								 | 
							
								        /// <returns></returns>
							 | 
						|||
| 
								 | 
							
								        [HttpPost, Route("SaveQueryFieldDefaultValue")]
							 | 
						|||
| 
								 | 
							
								        public JsonActionResult<bool> SaveQueryFieldDefaultValue([FromBody] T_FM_USER_C_C_QUERY entity)
							 | 
						|||
| 
								 | 
							
								        {
							 | 
						|||
| 
								 | 
							
								            return SafeExecute<bool>(() =>
							 | 
						|||
| 
								 | 
							
								            {
							 | 
						|||
| 
								 | 
							
								                var dbEntity = this.GetEntity<T_FM_USER_C_C_QUERY>(entity.ID.ToString());
							 | 
						|||
| 
								 | 
							
								                dbEntity.Nav_Groups = entity.Nav_Groups;
							 | 
						|||
| 
								 | 
							
								                dbEntity.Nav_Fields = entity.Nav_Fields;
							 | 
						|||
| 
								 | 
							
								                this.DoFullUpdate(dbEntity);
							 | 
						|||
| 
								 | 
							
								                return true;
							 | 
						|||
| 
								 | 
							
								            });
							 | 
						|||
| 
								 | 
							
								        }
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |