Exemple #1
0
 private void ReSetDictIndexList()
 {
     _dictIndexList.Clear();
     for (int i = 0; i < dataSet.Tables[Text].Rows.Count; i++)
     {
         if (string.IsNullOrEmpty(txtPinYing.Text))
         {
             _dictIndexList.Add(i);
         }
         else
         {
             string itemName = "";
             if (dataSet.Tables[Text].Rows[i]["ITEM_NAME"] != System.DBNull.Value)
             {
                 itemName = dataSet.Tables[Text].Rows[i]["ITEM_NAME"].ToString();
                 if (!string.IsNullOrEmpty(itemName))
                 {
                     itemName = StringManage.GetPYString(itemName);
                 }
             }
             if (itemName.ToLower().Contains(txtPinYing.Text.ToLower()))
             {
                 _dictIndexList.Add(i);
             }
         }
     }
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="OrganizationCode"></param>
        /// <param name="UserType"></param>
        /// <param name="Page"></param>
        /// <param name="Size"></param>
        /// <returns></returns>
        public PagedList <RelationUserInfoDto> GetRelationUsers(string OrganizationCode, int UserType, int Page, int Size)
        {
            var    type  = typeof(TRelationUserOrganization);
            var    typeU = typeof(TUser);
            var    typeO = typeof(TOrganization);
            var    typeR = typeof(TRelationOrganization);
            string RelationOrganizationCode = this.DapperRepository.QueryFirstOrDefault <string>(
                $@"select [RelationOrganizationCode] from {typeR.PropName()} where [OrganizationCode]=@OrganizationCode",
                new { OrganizationCode });
            string sqlCount = $@"select count(*) from {type.PropName()} where [OrganizationCode]=@OrganizationCode and [UserType]=@UserType";
            int    Offset   = (Page - 1) * Size;
            string sql      = $@"select  t1.*,
                                    t2.*,
                                    t4.[Name] as [OrganizationName],
                                    t5.[Name] as [DepartmentName],
                                    t6.[Name] as [PositionName]
                                from 
                                (select [Id] as [RelationId],[OrganizationId],[DepartmentId],[PositionId],[OrganizationCode],[DepartmentCode],[PositionCode],[UserType],[UserId] 
                                from {type.PropName()} where [OrganizationCode]=@OrganizationCode and [UserType]=@UserType) t1
                                left join {typeU.PropName()} t2 on t1.[UserId]=t2.[Id]
                                left join (select [OrganizationId],[DepartmentId],[PositionId],[UserId] from {type.PropName()} where [UserType]=0 and [OrganizationCode]=@RelationOrganizationCode) t3 on t1.[UserId]=t3.[UserId]
                                left join {typeO.PropName()} t4 on t3.[OrganizationId]=t4.[Id] 
                                left join {typeO.PropName()} t5 on t3.[DepartmentId]=t5.[Id] 
                                left join {typeO.PropName()} t6 on t3.[PositionId]=t6.[Id] 
                                order by t1.[UserId] 
                                limit {Size} offset {Offset}";
            int    count    = this.DapperRepository.QueryFirstOrDefault <int>(sqlCount, new { OrganizationCode, UserType });
            var    data     = this.DapperRepository.QueryOriCommand <RelationUserInfoView>(sql, true, new { OrganizationCode, UserType, RelationOrganizationCode }).ToList();

            return(new PagedList <RelationUserInfoDto> {
                Index = Page, Size = Size, DataList = StringManage.UserViewToUserDto(data), Total = count
            });
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="passwordDto"></param>
        /// <param name="userId"></param>
        /// <returns></returns>
        public int UpdatePassword(UserUpdatePasswordNewDto passwordDto, string userId)
        {
            PagedList <UserInfoDto> pagedList = GetUsersOfInfo(new UserQueryPageDto
            {
                UserQuery = new UserQueryDto
                {
                    Id       = userId,
                    Password = passwordDto.OldPassword,
                    State    = 1
                },
                Page = 1,
                Size = 1
            });

            if (pagedList.Total == 0)
            {
                return(-1);
            }
            TUserUpdatePassword updatePassword = new TUserUpdatePassword {
                Id         = userId,
                Password   = StringManage.EncryptPassword(passwordDto.NewPassword),
                UpdateTime = DateTime.Now
            };

            return(IocUnity.Get <RepositoryUser>().Update(updatePassword));
        }
Exemple #4
0
 public CustomSelectionListItem(int index, string displayText, List <string> rowArray)
 {
     _index       = index;
     _displayText = displayText;
     _inputCode   = StringManage.GetPYString(displayText).ToLower();
     _rowArray    = rowArray;
 }
Exemple #5
0
        private static void popupMenu_KeyPress(object sender, KeyPressEventArgs e)
        {
            ContextMenuStrip popupMenu = sender as ContextMenuStrip;

            if (popupMenu == null)
            {
                return;
            }
            int height = popupMenu.Height;

            if (((int)e.KeyChar) == 32)
            {
                if (_filtString.Length > 0)
                {
                    _filtString = _filtString.Remove(_filtString.Length - 1);
                }
            }
            else
            {
                _filtString = _filtString + e.KeyChar;
            }
            foreach (ToolStripItem item in popupMenu.Items)
            {
                if (StringManage.GetPYString(item.Text).ToLower().Contains(_filtString.ToLower()))
                {
                    item.Visible = true;
                }
                else
                {
                    item.Visible = false;
                }
            }
            popupMenu.Show(_point);
        }
Exemple #6
0
 public CustomSelectionListItem(int index, string displayText, List <string> rowArray, string inputCode)
 {
     _index       = index;
     _displayText = displayText;
     _inputCode   = string.IsNullOrEmpty(inputCode) ? StringManage.GetPYString(displayText).ToLower() : inputCode;
     _rowArray    = rowArray;
 }
        /// <summary>
        ///
        /// </summary>
        /// <param name="userQueryDto"></param>
        /// <returns></returns>
        public PagedList <UserInfoDto> GetUsersOfInfo(UserQueryPageDto userQueryDto)
        {
            var    q        = Dynamic.Core.Runtime.SerializationUtility.ObjectToJson(userQueryDto);
            string password = userQueryDto.UserQuery.Password;

            if (userQueryDto.UserQuery.Password != null)
            {
                userQueryDto.UserQuery.Password = StringManage.EncryptPassword(password);
            }
            int?userType = userQueryDto.UserQuery.UserType;

            userQueryDto.UserQuery.UserType = null;
            var data = IocUnity.Get <RepositoryUser>().QueryInfo(userQueryDto.UserQuery, userQueryDto.Page, userQueryDto.Size);
            var d    = Dynamic.Core.Runtime.SerializationUtility.ObjectToJson(data);

            if (userQueryDto.UserQuery.Password != null && data.DataList.Count == 0)
            {
                userQueryDto.UserQuery.Password = SecurityHelper.Md5(password);
                data = IocUnity.Get <RepositoryUser>().QueryInfo(userQueryDto.UserQuery, userQueryDto.Page, userQueryDto.Size);
            }
            if (userQueryDto.UserQuery.Password != null && data.DataList.Count == 0)
            {
                userQueryDto.UserQuery.Password = SecurityHelper.Encrypt(password);
                data = IocUnity.Get <RepositoryUser>().QueryInfo(userQueryDto.UserQuery, userQueryDto.Page, userQueryDto.Size);
            }
            if (userType != null && (userType == (int)UserTypeEnum.Factory || userType == (int)UserTypeEnum.Dealer) && data.DataList != null && data.DataList.Count == 1)
            {
                IocUnity.Get <RepositoryUser>().VerifyUser(data.DataList[0].Id, (int)userType);
            }
            return(data);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="passwordDto"></param>
        /// <returns></returns>
        public int UpdatePassword(UserUpdatePasswordDto passwordDto)
        {
            TUserUpdatePassword updatePassword = passwordDto.MapTo <TUserUpdatePassword>();

            updatePassword.Id         = passwordDto.UserId;
            updatePassword.UpdateTime = DateTime.Now;
            updatePassword.Password   = StringManage.EncryptPassword(updatePassword.Password);
            return(IocUnity.Get <RepositoryUser>().Update(updatePassword));
        }
Exemple #9
0
        public virtual List <MED_EVENT_DICT> GetEventDictList()
        {
            List <MED_EVENT_DICT> eventDictList = dapper.Set <MED_EVENT_DICT>().Select();

            foreach (var item in eventDictList)
            {
                item.EventNamePY = StringManage.GetPYString(item.EVENT_ITEM_NAME);
            }
            return(eventDictList);
        }
Exemple #10
0
        public virtual List <MED_MONITOR_FUNCTION_CODE> GetMonitorFuctionCodeList()
        {
            List <MED_MONITOR_FUNCTION_CODE> codeList = dapper.Set <MED_MONITOR_FUNCTION_CODE>().Select();

            foreach (var item in codeList)
            {
                item.INPUT_CODE = StringManage.GetPYString(item.ITEM_NAME);
            }
            return(codeList);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="UserId"></param>
        /// <returns></returns>
        public IList <RoleDto> GetUserPositionRoles(string UserId)
        {
            var    type   = typeof(TRelationUserOrganization);
            var    typeRp = typeof(TRelationPositionRole);
            var    typeR  = typeof(TRole);
            string sql    = $@"select t3.* from (select [PositionId] from {type.PropName()} where [UserId]=@UserId) t1 left join {typeRp.PropName()}
                        t2 on t1.[PositionId]=t2.[PositionId] left join {typeR.PropName()} t3 on t2.[RoleId]=t3.[Id]";
            var    data   = this.DapperRepository.QueryOriCommand <RoleDto>(sql, true, new { UserId }).ToList();

            return(StringManage.RemoveNull(data));
        }
Exemple #12
0
        public IList <MED_PRICE_LIST> GetPriceList(string itemClass)
        {
            DapperContext         context   = new DapperContext("ChargeConnString");
            bool                  flag      = string.IsNullOrEmpty(itemClass);
            List <MED_PRICE_LIST> priceList = context.Set <MED_PRICE_LIST>().Select(d => flag || d.ITEM_CLASS.Contains(itemClass));

            foreach (MED_PRICE_LIST row in priceList)
            {
                row.INPUT_CODE = StringManage.GetPYString(row.ITEM_NAME);
            }
            return(priceList);
        }
Exemple #13
0
        public virtual List <MED_VALUATION_ITEM_LIST> GetValuationItemList()
        {
            List <MED_VALUATION_ITEM_LIST> dataList = dapper.Set <MED_VALUATION_ITEM_LIST>().Select();

            if (dataList != null)
            {
                foreach (MED_VALUATION_ITEM_LIST row in dataList)
                {
                    row.INPUT_CODE = StringManage.GetPYString(row.ITEM_NAME);
                }
            }
            return(dataList);
        }
Exemple #14
0
        public virtual List <MED_ANESTHESIA_DICT> GetAnesthesiaDictList()
        {
            List <MED_ANESTHESIA_DICT> dataList = dapper.Set <MED_ANESTHESIA_DICT>().Select();

            if (dataList != null && dataList.Count > 0)
            {
                foreach (var item in dataList)
                {
                    if (string.IsNullOrEmpty(item.INPUT_CODE))
                    {
                        item.INPUT_CODE = StringManage.GetPYString(item.ANAESTHESIA_CODE);
                    }
                }
            }
            return(dataList);
        }
Exemple #15
0
        public virtual List <MED_BILL_ITEM_CLASS_DICT> GetBillItemClassDictList()
        {
            List <MED_BILL_ITEM_CLASS_DICT> dataList = dapper.Set <MED_BILL_ITEM_CLASS_DICT>().Select();

            if (dataList != null && dataList.Count > 0)
            {
                foreach (var item in dataList)
                {
                    if (string.IsNullOrEmpty(item.INPUT_CODE))
                    {
                        item.INPUT_CODE = StringManage.GetPYString(item.BILL_CLASS_NAME);
                    }
                }
            }
            return(dataList);
        }
Exemple #16
0
        public virtual List <MED_DIAGNOSIS_DICT> GetDiagnosisDictList()
        {
            List <MED_DIAGNOSIS_DICT> dataList = dapper.Set <MED_DIAGNOSIS_DICT>().Select();

            if (dataList != null && dataList.Count > 0)
            {
                foreach (var item in dataList)
                {
                    if (string.IsNullOrEmpty(item.INPUT_CODE))
                    {
                        item.INPUT_CODE = StringManage.GetPYString(item.DIAGNOSIS_NAME);
                    }
                }
            }
            return(dataList);
        }
Exemple #17
0
        public virtual List <MED_HIS_USERS> GetHisUsersList(string UserJob)
        {
            List <MED_HIS_USERS> dataList = dapper.Set <MED_HIS_USERS>().Select(x => x.USER_JOB == UserJob);

            if (dataList != null && dataList.Count > 0)
            {
                foreach (var item in dataList)
                {
                    if (string.IsNullOrEmpty(item.INPUT_CODE))
                    {
                        item.INPUT_CODE = StringManage.GetPYString(item.USER_NAME);
                    }
                }
            }
            return(dataList);
        }
Exemple #18
0
        public virtual List <MED_OPERATION_DICT> GetOperationDictList()
        {
            List <MED_OPERATION_DICT> dataList = dapper.Set <MED_OPERATION_DICT>().Select();

            if (dataList != null && dataList.Count > 0)
            {
                foreach (var item in dataList)
                {
                    if (string.IsNullOrEmpty(item.INPUT_CODE))
                    {
                        item.INPUT_CODE = StringManage.GetPYString(item.OPER_NAME);
                    }
                }
            }
            return(dataList);
        }
Exemple #19
0
 private static DataTable TransTable(DataTable source, string ddd)
 {
     source.Columns.Add("aabbccdd");
     source.Columns.Add("globalIndex");
     for (int i = 0; i < source.Rows.Count; i++)
     {
         DataRow row = source.Rows[i];
         if (row[ddd] != System.DBNull.Value && !string.IsNullOrEmpty(row[ddd].ToString()))
         {
             row["aabbccdd"] = StringManage.GetPYString(row[ddd].ToString()).ToLower();
         }
         else
         {
             row["aabbccdd"] = "";
         }
         row["globalIndex"] = i;
     }
     return(source);
 }
Exemple #20
0
        public virtual List <MED_BILL_TEMPLET_MASTER> GetTempletMaster()
        {
            List <MED_BILL_TEMPLET_MASTER> dataList    = new List <MED_BILL_TEMPLET_MASTER>();
            List <MED_ANES_BILL_TEMPLET>   templetList = GetBillTempletList();

            foreach (MED_ANES_BILL_TEMPLET row in templetList)
            {
                MED_BILL_TEMPLET_MASTER bill = dataList.Where(x => x.TEMPLET == row.TEMPLET).FirstOrDefault();
                if (bill == null)
                {
                    bill               = new MED_BILL_TEMPLET_MASTER();
                    bill.TEMPLET       = row.TEMPLET;
                    bill.TEMPLET_CLASS = row.TEMPLET_CLASS;
                    bill.INPUT_CODE    = StringManage.GetPYString(bill.TEMPLET);
                    dataList.Add(bill);
                }
            }
            return(dataList);
        }
Exemple #21
0
 public void GetLeftStringTest()
 {
     string leftString  = StringManage.GetLeftString("kjshdfuiyh223的客服接口", 10);
     string RightString = StringManage.GetRightString("kjshdfuiyh223的客服接口", 10);
 }
        /// <summary>
        /// 添加用户
        /// </summary>
        /// <param name="vUser">用户信息</param>
        /// <returns></returns>
        public string AddUser(UserAddDto vUser)
        {
            vUser = StringManage.EmptyStringSetNull(vUser);
            if (vUser.Password != null && !vUser.IsNoEncryptPassword)
            {
                vUser.Password = StringManage.EncryptPassword(vUser.Password);
            }
            if (vUser.UserType == 1)
            {
                vUser.OrganizationIds = new List <UserPositionDto>();
                vUser.OrganizationIds.Add(new UserPositionDto
                {
                    OrganizationId   = IocUnity.Get <RepositoryOrganization>().GetOrganizationId("非机构", vUser.SystemCode, "APP"),
                    OrganizationName = "APP"
                });
            }
            else if (vUser.UserType == 2 || vUser.UserType == 4)
            {
                vUser.OrganizationIds = new List <UserPositionDto>();
                vUser.OrganizationIds.Add(new UserPositionDto
                {
                    OrganizationId   = IocUnity.Get <RepositoryOrganization>().GetOrganizationId("非机构", vUser.SystemCode, "微信"),
                    OrganizationName = "微信"
                });
            }
            else if (vUser.UserType == 3)
            {
                vUser.OrganizationIds = new List <UserPositionDto>();
                vUser.OrganizationIds.Add(new UserPositionDto
                {
                    OrganizationId   = IocUnity.Get <RepositoryOrganization>().GetOrganizationId("非机构", vUser.SystemCode, "QQ"),
                    OrganizationName = "QQ"
                });
            }

            vUser.OrganizationIds = CompleteUserPositionDto(vUser.OrganizationIds);
            TUser user = AutoMapperExtensions.MapTo <TUser>(vUser);
            Dictionary <string, object> keyValuePairs = new Dictionary <string, object>();

            if (vUser.ExtendAttribution != null)
            {
                foreach (KeyValueItem keyValue in vUser.ExtendAttribution)
                {
                    keyValuePairs.Add(keyValue.Key, keyValue.Value);
                }
            }
            user.ExtendAttribution = SerializationUtility.ObjectToJson(keyValuePairs);
            if (string.IsNullOrEmpty(user.Id))
            {
                user.Id = IdentityHelper.NewSequentialGuid().ToString("N");
            }
            if (string.IsNullOrEmpty(user.SystemId) && !string.IsNullOrEmpty(user.SystemCode))
            {
                user.SystemId = IocUnity.Get <RepositorySystem>().GetId(user.SystemCode);
            }
            if (!string.IsNullOrEmpty(user.SystemId) && string.IsNullOrEmpty(user.SystemCode))
            {
                user.SystemCode = IocUnity.Get <RepositorySystem>().GetCode(user.SystemId);
            }
            IList <TRelationUserOrganization> relationUserPositions = new List <TRelationUserOrganization>();

            if (vUser.OrganizationIds != null)
            {
                foreach (UserPositionDto od in vUser.OrganizationIds)
                {
                    TRelationUserOrganization relationUserOrganization = AutoMapperExtensions.MapTo <TRelationUserOrganization>(od);
                    relationUserOrganization.Id     = IdentityHelper.NewSequentialGuid().ToString("N");
                    relationUserOrganization.UserId = user.Id;
                    if (!string.IsNullOrEmpty(relationUserOrganization.OrganizationId) && !string.IsNullOrEmpty(relationUserOrganization.DepartmentId) && !string.IsNullOrEmpty(relationUserOrganization.PositionId))
                    {
                        relationUserOrganization.OrganizationIdO = relationUserOrganization.PositionId;
                    }
                    else if (!string.IsNullOrEmpty(relationUserOrganization.OrganizationId) && !string.IsNullOrEmpty(relationUserOrganization.DepartmentId) && string.IsNullOrEmpty(relationUserOrganization.PositionId))
                    {
                        relationUserOrganization.OrganizationIdO = relationUserOrganization.DepartmentId;
                    }
                    else if (!string.IsNullOrEmpty(relationUserOrganization.OrganizationId) && string.IsNullOrEmpty(relationUserOrganization.DepartmentId) && string.IsNullOrEmpty(relationUserOrganization.PositionId))
                    {
                        relationUserOrganization.OrganizationIdO = relationUserOrganization.OrganizationId;
                    }
                    else if (!string.IsNullOrEmpty(relationUserOrganization.OrganizationId) && string.IsNullOrEmpty(relationUserOrganization.DepartmentId) && !string.IsNullOrEmpty(relationUserOrganization.PositionId))
                    {
                        relationUserOrganization.OrganizationIdO = relationUserOrganization.PositionId;
                    }
                    relationUserPositions.Add(relationUserOrganization);
                }
            }
            IocUnity.Get <RepositoryUser>().DapperRepository.ExcuteTransaction(tranc =>
            {
                IocUnity.Get <RepositoryUser>().Insert(user);
                IocUnity.Get <RepositoryRelationUserOrganization>().Insert(relationUserPositions);
            });
            return(user.Id);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="userUpdateDto"></param>
        /// <returns></returns>
        public int UpdateUser(UserUpdateDto userUpdateDto)
        {
            userUpdateDto = StringManage.EmptyStringSetNull(userUpdateDto);

            if (userUpdateDto.UserType == 1)
            {
                userUpdateDto.OrganizationIds = new List <UserPositionDto>
                {
                    new UserPositionDto
                    {
                        OrganizationId = IocUnity.Get <RepositoryOrganization>().GetOrganizationId("非机构",
                                                                                                   IocUnity.Get <RepositoryUser>().GetUserSystemCode(userUpdateDto.Id), "APP"),
                        OrganizationName = "APP"
                    }
                };
            }
            else if (userUpdateDto.UserType == 2)
            {
                userUpdateDto.OrganizationIds = new List <UserPositionDto>
                {
                    new UserPositionDto
                    {
                        OrganizationId = IocUnity.Get <RepositoryOrganization>().GetOrganizationId("非机构",
                                                                                                   IocUnity.Get <RepositoryUser>().GetUserSystemCode(userUpdateDto.Id), "微信"),
                        OrganizationName = "微信"
                    }
                };
            }
            else if (userUpdateDto.UserType == 3)
            {
                userUpdateDto.OrganizationIds = new List <UserPositionDto>
                {
                    new UserPositionDto
                    {
                        OrganizationId = IocUnity.Get <RepositoryOrganization>().GetOrganizationId("非机构",
                                                                                                   IocUnity.Get <RepositoryUser>().GetUserSystemCode(userUpdateDto.Id), "QQ"),
                        OrganizationName = "QQ"
                    }
                };
            }

            userUpdateDto.OrganizationIds = CompleteUserPositionDto(userUpdateDto.OrganizationIds);
            TUserUpdate user = userUpdateDto.MapTo <TUserUpdate>();
            Dictionary <string, object> keyValuePairs = new Dictionary <string, object>();

            if (userUpdateDto.ExtendAttribution != null)
            {
                foreach (KeyValueItem keyValue in userUpdateDto.ExtendAttribution)
                {
                    keyValuePairs.Add(keyValue.Key, keyValue.Value);
                }
            }
            user.ExtendAttribution = SerializationUtility.ObjectToJson(keyValuePairs);
            IList <TRelationUserOrganization> relationUserPositions = new List <TRelationUserOrganization>();

            if (userUpdateDto.OrganizationIds != null)
            {
                foreach (UserPositionDto od in userUpdateDto.OrganizationIds)
                {
                    TRelationUserOrganization relationUserOrganization = od.MapTo <TRelationUserOrganization>();
                    relationUserOrganization.Id     = IdentityHelper.NewSequentialGuid().ToString("N");
                    relationUserOrganization.UserId = user.Id;
                    if (relationUserOrganization.OrganizationId != null && relationUserOrganization.DepartmentId != null && relationUserOrganization.PositionId != null)
                    {
                        relationUserOrganization.OrganizationIdO = relationUserOrganization.PositionId;
                    }
                    else if (relationUserOrganization.OrganizationId != null && relationUserOrganization.DepartmentId != null && relationUserOrganization.PositionId == null)
                    {
                        relationUserOrganization.OrganizationIdO = relationUserOrganization.DepartmentId;
                    }
                    else if (relationUserOrganization.OrganizationId != null && relationUserOrganization.DepartmentId == null && relationUserOrganization.PositionId == null)
                    {
                        relationUserOrganization.OrganizationIdO = relationUserOrganization.OrganizationId;
                    }
                    relationUserPositions.Add(relationUserOrganization);
                }
            }
            int count = 0;

            IocUnity.Get <RepositoryUser>().DapperRepository.ExcuteTransaction(tranc =>
            {
                IocUnity.Get <RepositoryRelationUserOrganization>().DeleteUserOrganization(userUpdateDto.Id);
                IocUnity.Get <RepositoryRelationUserOrganization>().Insert(relationUserPositions);
                count = IocUnity.Get <RepositoryUser>().UpdateUser(user);
            });
            return(count);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="RelationCode"></param>
        /// <param name="Page"></param>
        /// <param name="Size"></param>
        /// <param name="Name"></param>
        /// <param name="TypeId"></param>
        /// <param name="where"></param>
        /// <param name="RelationTypeId"></param>
        /// <returns></returns>
        public PagedList <RelationOrganizationDetailDto> GetRelationOrganizations(string RelationCode, string Name, int Page, int Size, string TypeId, string RelationTypeId, string where)
        {
            var    typeR     = typeof(TRelationOrganization);
            var    type      = typeof(TOrganization);
            var    typeP     = typeof(TOrganizationType);
            string condition = "";

            if (Name.IsNotNullOrEmpty())
            {
                condition += $" and t2.[Name] like '%{Name}%'";
            }
            if (TypeId.IsNotNullOrEmpty())
            {
                condition += $" and t2.[TypeId]='{TypeId}'";
            }
            if (RelationTypeId.IsNotNullOrEmpty() && RelationCode.IsNullOrEmpty())
            {
                condition += $" and t5.[TypeId]='{RelationTypeId}'";
            }
            condition = StringManage.RemovePrefix(condition, " and");
            if (condition.IsNotNullOrEmpty())
            {
                condition = "where " + condition;
            }


            if (where.IsNotNullOrEmpty() && condition.IsNullOrEmpty())
            {
                where     = StringManage.RemovePrefix(where, " and");
                condition = "where " + where;
            }
            else if (where.IsNotNullOrEmpty() && condition.IsNotNullOrEmpty())
            {
                condition = condition + where;
            }
            if (Page == 0 && Size == 0)
            {
                if (RelationCode.IsNotNullOrEmpty())
                {
                    string sql = $@"select t1.[Id] as [RelationId],t2.*,t3.[IsRelevancy],t4.[Name] as [ParentName] from (select [Id],[OrganizationId] from 
                            {typeR.PropName()} where [RelationAreaCode]=@RelationCode or ([RelationOrganizationCode]=@RelationCode and [RelationAreaCode] is null)) t1 left join
                            {type.PropName()} t2 
                            on t1.[OrganizationId]=t2.[Id] left join {typeP.PropName()} t3 on t2.[TypeId]=t3.[Id] 
                            left join {type.PropName()} t4 on t2.[ParentId]=t4.[Id] {condition}";
                    var    r   = this.DapperRepository.QueryOriCommand <RelationOrganizationDetailDto>(sql, true, new { RelationCode }).ToList();
                    sql = $@"select tt2.* from (select distinct t1.[RelationAreaId] from  (select [OrganizationId],[RelationAreaId] from 
                            {typeR.PropName()} where [RelationOrganizationCode]=@RelationCode and [RelationAreaCode] is not null) t1 left join {type.PropName()} t2 
                            on t1.[OrganizationId]=t2.[Id] where t2.[TypeId]=@TypeId) t left join {type.PropName()} tt2 
                            on t.[RelationAreaId]=tt2.[Id]";
                    var r2 = this.DapperRepository.QueryOriCommand <RelationOrganizationDetailDto>(sql, true, new { RelationCode, TypeId }).ToList();
                    r.AddRange(r2);
                    return(new PagedList <RelationOrganizationDetailDto> {
                        DataList = r
                    });
                }
                else if (RelationCode.IsNullOrEmpty() && RelationTypeId.IsNotNullOrEmpty())
                {
                    string sql = $@"select t1.[Id] as [RelationId],t2.*,t3.[IsRelevancy],t4.[Name] as [ParentName] from {typeR.PropName()} t1 left join
                            {type.PropName()} t2 
                            on t1.[OrganizationId]=t2.[Id] left join {typeP.PropName()} t3 on t2.[TypeId]=t3.[Id] 
                            left join {type.PropName()} t4 on t2.[ParentId]=t4.[Id] 
                            left join {type.PropName()} t5 on t1.[RelationOrganizationId]=t2.[Id] {condition}";
                    var    r   = this.DapperRepository.QueryOriCommand <RelationOrganizationDetailDto>(sql, true, new { RelationTypeId }).ToList();
                    return(new PagedList <RelationOrganizationDetailDto> {
                        DataList = r
                    });
                }
            }
            else
            {
                if (RelationCode.IsNotNullOrEmpty())
                {
                    string sql  = $@"select t1.[Id] as [RelationId],t2.*,t3.[IsRelevancy],t4.[Name] as [ParentName] from (select [Id],[OrganizationId] from 
                            {typeR.PropName()} where [RelationAreaCode]=@RelationCode or [RelationOrganizationCode]=@RelationCode) t1 left join 
                            {type.PropName()} t2 
                            on t1.[OrganizationId]=t2.[Id] 
                            left join {typeP.PropName()} t3 on t2.[TypeId]=t3.[Id] 
                            left join {type.PropName()} t4 on t2.[ParentId]=t4.[Id] 
                            {condition}";
                    var    data = this.DapperRepository.PagedList <RelationOrganizationDetailDto>(sql, Page, Size, new { RelationCode }) as PagedList <RelationOrganizationDetailDto>;
                    return(data);
                }
                else if (RelationCode.IsNullOrEmpty() && RelationTypeId.IsNotNullOrEmpty())
                {
                    string sql  = $@"select t1.[Id] as [RelationId],t2.*,t3.[IsRelevancy],t4.[Name] as [ParentName] from {typeR.PropName()} t1 left join 
                            {type.PropName()} t2 
                            on t1.[OrganizationId]=t2.[Id] 
                            left join {typeP.PropName()} t3 on t2.[TypeId]=t3.[Id] 
                            left join {type.PropName()} t4 on t2.[ParentId]=t4.[Id] 
                            left join {type.PropName()} t5 on t1.[RelationOrganizationId]=t5.[Id]
                            {condition}";
                    var    data = this.DapperRepository.PagedList <RelationOrganizationDetailDto>(sql, Page, Size, new { RelationTypeId }) as PagedList <RelationOrganizationDetailDto>;
                    return(data);
                }
            }
            return(null);
        }