Exemplo n.º 1
0
        public List <Flow_Node> SearchInfoNiWenWhere(FlowNodeNiWenSearchViewModel flowNodeNiWenSearchViewModel)
        {
            //查询条件
            var predicate = SearchNodeNiWenWhere(flowNodeNiWenSearchViewModel);
            var result    = DbSet.Where(predicate).Where(s => s.User_Info.status != "1" &&
                                                         s.Pre_User_Info.status != "1" &&
                                                         s.Repair_Info.status != "1")
                            .OrderByDescending(o => o.Repair_Info.repairsDate).ToList();

            return(result);
        }
Exemplo n.º 2
0
        private Expression <Func <Flow_Node, bool> > SearchNodeNiWenWhere(FlowNodeNiWenSearchViewModel flowNodeNiWenSearchViewModel)
        {
            var predicate = WhereExtension.True <Flow_Node>();//初始化where表达式

            predicate = predicate.And(p => p.status == "0");
            predicate = predicate.And(p => p.operate == "2");
            predicate = predicate.And(p => p.Repair_InfoId == flowNodeNiWenSearchViewModel.Repair_InfoId);

            if (flowNodeNiWenSearchViewModel.Parent_Flow_NodeDefineId != null)
            {
                predicate = predicate.And(p => p.Parent_Flow_NodeDefineId == flowNodeNiWenSearchViewModel.Parent_Flow_NodeDefineId);
            }
            else
            {
                predicate = predicate.And(p => p.Parent_Flow_NodeDefineId == null);
            }
            return(predicate);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 根据节点查用户列表
        /// </summary>
        /// <param name="roleByNodeSearchViewModel"></param>
        /// <returns></returns>
        public List <UserSearchMiddlecs> User_By_Node_Search(RoleByNodeSearchViewModel roleByNodeSearchViewModel)
        {
            List <Flow_Relate_NodeRole> node_Relate_Info_Roles = _IRelateRoleByNodeRepository.SearchRoleInfoByWhere(roleByNodeSearchViewModel);
            List <int> RoleList = new List <int>();

            for (int i = 0; i < node_Relate_Info_Roles.Count; i++)
            {
                int User_RoleId = node_Relate_Info_Roles[i].User_RoleId;
                RoleList.Add(User_RoleId);
            }

            /***********************查询当前节点处理人的上一步处理人**************************/

            FlowNodeSearchViewModel flowNodeSearchViewModel = new FlowNodeSearchViewModel();

            if (roleByNodeSearchViewModel.Repair_InfoId != null)
            {
                flowNodeSearchViewModel.Repair_InfoId = roleByNodeSearchViewModel.Repair_InfoId.Value;
            }
            flowNodeSearchViewModel.operate = "1";
            if (roleByNodeSearchViewModel.user_InfoId != null)
            {
                flowNodeSearchViewModel.User_InfoId = roleByNodeSearchViewModel.user_InfoId.Value;
            }
            flowNodeSearchViewModel.status    = "0";
            flowNodeSearchViewModel.isHandler = roleByNodeSearchViewModel.isHandler;
            flowNodeSearchViewModel.pageViewModel.CurrentPageNum = 0;
            flowNodeSearchViewModel.pageViewModel.PageSize       = 99;
            List <Flow_Node> node_Infos = _IFlowNodeRepository.SearchInfoByNodeWhere(flowNodeSearchViewModel);

            /***********************查询当前节点处理人的上一步处理人**************************/


            //FlowNodeKeepSearchViewModel flowNodeKeepSearchViewModel = new FlowNodeKeepSearchViewModel();
            //flowNodeKeepSearchViewModel.Repair_InfoId = roleByNodeSearchViewModel.Repair_InfoId.Value;
            //flowNodeKeepSearchViewModel.Flow_NodeDefineId = roleByNodeSearchViewModel.Flow_NodeDefineId;
            //flowNodeKeepSearchViewModel.Flow_NextNodeDefineId = roleByNodeSearchViewModel.Flow_NextNodeDefineId;
            //List<Flow_Node> node_Infos4 = _IFlowNodeRepository.SearchInfoByNode2Where(flowNodeKeepSearchViewModel);



            /***********************查询当前表单ID查询拟文处理人**************************/
            FlowNodeNiWenSearchViewModel flowNodeNiWenSearchViewModel = new FlowNodeNiWenSearchViewModel();

            flowNodeNiWenSearchViewModel.Repair_InfoId = roleByNodeSearchViewModel.Repair_InfoId.Value;
            List <Flow_Node> node_Infos2 = _IFlowNodeRepository.SearchInfoNiWenWhere(flowNodeNiWenSearchViewModel);


            flowNodeNiWenSearchViewModel.Parent_Flow_NodeDefineId = node_Infos2[0].Flow_NodeDefineId;
            List <Flow_Node> node_Infos3 = _IFlowNodeRepository.SearchInfoNiWenWhere(flowNodeNiWenSearchViewModel);
            /*************************查询当前表单ID查询拟文处理人************************/
            int userId2 = node_Infos3[0].User_InfoId.Value;


            int userId = node_Infos[0].Pre_User_InfoId.Value;
            // int userId = node_Infos4[0].User_InfoId.Value;
            int departId = roleByNodeSearchViewModel.departId.Value;

            string nodeType = roleByNodeSearchViewModel.NodeKeep;


            List <User_Info> user_Relate_Info_Users = _IUserRelateInfoRoleRepository.SearchUserInfoByListWhere(RoleList);

            List <UserSearchMiddlecs> userSearchMiddlecs = new List <UserSearchMiddlecs>();
            var userLsit_Info = _IMapper.Map <List <User_Info>, List <UserSearchMiddlecs> >(user_Relate_Info_Users);

            if (nodeType == "部门保持")
            {
                for (int i = 0; i < userLsit_Info.Count; i++)
                {
                    if (userLsit_Info[i].user_DepartId == departId)
                    {
                        userSearchMiddlecs.Add(userLsit_Info[i]);
                    }
                }
            }
            else if (nodeType == "用户保持")
            {
                for (int i = 0; i < userLsit_Info.Count; i++)
                {
                    if (userLsit_Info[i].id == userId)
                    {
                        userSearchMiddlecs.Add(userLsit_Info[i]);
                    }
                }
            }
            else if (nodeType == "拟文保持")
            {
                for (int i = 0; i < userLsit_Info.Count; i++)
                {
                    if (userLsit_Info[i].id == userId2)
                    {
                        userSearchMiddlecs.Add(userLsit_Info[i]);
                    }
                }
            }
            else
            {
                userSearchMiddlecs = userLsit_Info; //无任何保持
            }
            return(userSearchMiddlecs);
        }