⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treedaoimpl.java

📁 jsf在线考试系统的实例
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
						List ltk = this.session.createQuery(hqlk).list();
						for (int k = 0; k < ltk.size(); k++) {
							Department deptk = (Department) ltk.get(k);

							TreeNodeChecked nodek = new TreeNodeChecked(
									"DepartmentLocate", deptk.getName(), deptk
											.getId()
											+ "", false, false);
							phql = "FROM Membership WHERE group.id = "
									+ deptk.getId();
							ltu = this.session.createQuery(phql).list();

							for (int s = 0; s < ltu.size(); s++) {
								ms = (Membership) ltu.get(s);
								userp = ms.getUser();

								TreeNodeChecked userB = new TreeNodeChecked(
										"DepartmentLocate", userp
												.getLocalName(), userp.getId()
												+ "", false, false);
								nodek.getChildren().add(userB);
							}
							hqlp = "FROM Department WHERE parent.id = "
									+ deptk.getId();
							List ltp = this.session.createQuery(hqlp).list();
							for (int p = 0; p < ltp.size(); p++) {
								Department deptp = (Department) ltp.get(p);

								TreeNodeChecked nodep = new TreeNodeChecked(
										"DepartmentLocate", deptp.getName(),
										deptp.getId() + "", false, false);
								phql = "FROM Membership WHERE group.id = "
										+ deptp.getId();
								ltu = this.session.createQuery(phql).list();

								for (int s = 0; s < ltu.size(); s++) {
									ms = (Membership) ltu.get(s);
									userp = ms.getUser();

									TreeNodeChecked userB = new TreeNodeChecked(
											"DepartmentLocate", userp
													.getLocalName(), userp
													.getId()
													+ "", false, false);
									nodep.getChildren().add(userB);
								}
								hqlq = "FROM Department WHERE parent.id = "
										+ deptp.getId();
								List ltq = this.session.createQuery(hqlq)
										.list();
								for (int q = 0; q < ltq.size(); q++) {
									Department deptq = (Department) ltq.get(q);

									TreeNodeChecked nodeq = new TreeNodeChecked(
											"DepartmentLocate",
											deptq.getName(),
											deptq.getId() + "", false, false);
									phql = "FROM Membership WHERE group.id = "
											+ deptq.getId();
									ltu = this.session.createQuery(phql).list();

									for (int s = 0; s < ltu.size(); s++) {
										ms = (Membership) ltu.get(s);
										userp = ms.getUser();

										TreeNodeChecked userB = new TreeNodeChecked(
												"DepartmentLocate", userp
														.getLocalName(), userp
														.getId()
														+ "", false, true);
										nodeq.getChildren().add(userB);
									}
									nodep.getChildren().add(nodeq);
								}
								nodek.getChildren().add(nodep);
							}
							noden.getChildren().add(nodek);
						}
						nodem.getChildren().add(noden);
					}
					nodej.getChildren().add(nodem);
				}
				treeData.getChildren().add(nodej);
			}
		}

		return treeData;
	}

	public TreeNode getQuestionBySubject() {
		String hql = " select G.*,level as Level_ \r\n"
				+ "            from (select id_, class_,parent_,name_,localname_,sort_,status_,type_ \r\n"
				+ "        	           from jot_id_group \r\n"
				+ "                   where id_ != parent_ \r\n"
				+ "                  ) G \r\n "
				+ "            start with parent_= -4 \r\n"
				+ "            connect by prior id_=parent_ ";

		if (this.session == null) {
			this.setSession(HibernateSessionFactory.getSession());
		}
		TreeNode treeData = new TreeNodeBase("Office", "系统功能", "2200",
				false);
		List lt = this.session.createSQLQuery(hql).addEntity(
				DepartmentTree.class).list();

		DepartmentTree[] department = new DepartmentTree[lt.size()];
		String type = null;
		if (lt.size() > 0) {
			int root = 0;
			int[] position = new int[lt.size()];
			position[0] = 0;
			TreeNode[] tree = new TreeNode[lt.size()];
			for (int i = 0; i < lt.size(); i++) {
				department[i] = (DepartmentTree) lt.get(i);

				tree[i] = new TreeNodeBase(
						((department[i].getLevel() == 1) ? "Office" : "Locate"),
						department[i].getLocalName(), department[i].getId()
								+ "", false);
				if (i > 0) {
					if (department[i].getLevel().equals(
							department[0].getLevel())) {
						root++;
						position[root] = i;
					}
				}
			}

			if (root > 0) {
				for (int i = 0; i < department.length; i++) {
					for (int j = 0; j < department.length; j++) {
						if (department[j].getParent().equals(
								department[i].getId())) {
							tree[i].getChildren().add(tree[j]);
						}
					}
				}

				for (int i = 0; i < root + 1; i++) {
					treeData.getChildren().add(tree[position[i]]);
				}
				return treeData;
			} else {

				tree[0] = new TreeNodeBase("Office", department[0]
						.getLocalName(), department[0].getId() + "", false);

				for (int i = 0; i < department.length; i++) {
					for (int j = i + 1; j < department.length; j++) {
						if (department[j].getParent().equals(
								department[i].getId())) {
							tree[i].getChildren().add(tree[j]);
						}
					}
				}
				return tree[0];
			}

		}
		return null;
	}

	// 按题型生成树
	public TreeNode getQuestionByType() {
		String hql = " Select T.* \r\n"
				+ "   From ( select G.*,level as Level_ \r\n"
				+ "            from (select id_, class_,parent_,name_,localname_,sort_,status_,type_ \r\n"
				+ "        	           from jot_id_group \r\n"
				+ "                   where id_ != parent_ \r\n"
				+ "                  ) G \r\n"
				+ "            start with parent_= -5 \r\n"
				+ "            connect by prior id_=parent_) T \r\n";

		if (this.session == null) {
			this.setSession(HibernateSessionFactory.getSession());
		}
		TreeNode treeData = new TreeNodeBase("Office", "题型", "-5", false);
		List lt = this.session.createSQLQuery(hql).addEntity(
				DepartmentTree.class).list();

		DepartmentTree[] department = new DepartmentTree[lt.size()];
		String type = null;
		if (lt.size() > 0) {
			int root = 0;
			int[] position = new int[lt.size()];
			position[0] = 0;
			TreeNode[] tree = new TreeNode[lt.size()];
			for (int i = 0; i < lt.size(); i++) {
				department[i] = (DepartmentTree) lt.get(i);

				tree[i] = new TreeNodeBase(
						((department[i].getLevel() == 1) ? "Office" : "Locate"),
						department[i].getLocalName(), department[i].getId()
								+ "", false);
				if (i > 0) {
					if (department[i].getLevel().equals(
							department[0].getLevel())) {
						root++;
						position[root] = i;
					}
				}
			}

			if (root > 0) {
				for (int i = 0; i < department.length; i++) {
					for (int j = 0; j < department.length; j++) {
						if (department[j].getParent().equals(
								department[i].getId())) {
							tree[i].getChildren().add(tree[j]);
						}
					}
				}

				for (int i = 0; i < root + 1; i++) {
					treeData.getChildren().add(tree[position[i]]);
				}
				return treeData;
			} else {

				tree[0] = new TreeNodeBase("Office", department[0]
						.getLocalName(), department[0].getId() + "", false);

				for (int i = 0; i < department.length; i++) {
					for (int j = i + 1; j < department.length; j++) {
						if (department[j].getParent().equals(
								department[i].getId())) {
							tree[i].getChildren().add(tree[j]);
						}
					}
				}
				return tree[0];
			}

		}
		return null;
	}

	public TreeNode getPaperTree() {
		String hql = " select G.*,level as Level_ \r\n"
				+ "            from (select id_, class_,parent_,name_,localname_,sort_,status_,type_ \r\n"
				+ "        	           from jot_id_group \r\n"
				+ "                   where id_ != parent_ \r\n"
				+ "                  ) G \r\n "
				+ "            start with parent_= 2200 \r\n"
				+ "            connect by prior id_=parent_";

		if (this.session == null) {
			this.setSession(HibernateSessionFactory.getSession());
		}
		TreeNode treeData = new TreeNodeBase("Office", "考试管理", "-2", false);
		List lt = this.session.createSQLQuery(hql).addEntity(
				DepartmentTree.class).list();

		DepartmentTree[] department = new DepartmentTree[lt.size()];
		String type = null;
		if (lt.size() > 0) {
			int root = 0;
			int[] position = new int[lt.size()];
			position[0] = 0;
			TreeNode[] tree = new TreeNode[lt.size()];
			for (int i = 0; i < lt.size(); i++) {
				department[i] = (DepartmentTree) lt.get(i);

				tree[i] = new TreeNodeBase(
						((department[i].getLevel() == 1) ? "Office" : "Locate"),
						department[i].getLocalName(), department[i].getId()
								+ "", false);
				if (i > 0) {
					if (department[i].getLevel().equals(
							department[0].getLevel())) {
						root++;
						position[root] = i;
					}
				}
			}

			if (root > 0) {
				for (int i = 0; i < department.length; i++) {
					for (int j = 0; j < department.length; j++) {
						if (department[j].getParent().equals(
								department[i].getId())) {
							tree[i].getChildren().add(tree[j]);
						}
					}
				}

				for (int i = 0; i < root + 1; i++) {
					treeData.getChildren().add(tree[position[i]]);
				}
				return treeData;
			} else {

				tree[0] = new TreeNodeBase("office", department[0]
						.getLocalName(), department[0].getId() + "", false);

				for (int i = 0; i < department.length; i++) {
					for (int j = i + 1; j < department.length; j++) {
						if (department[j].getParent().equals(
								department[i].getId())) {
							tree[i].getChildren().add(tree[j]);
						}
					}
				}
				return tree[0];
			}

		}
		return null;
	}

	public TreeNodeChecked getDepartmentAndUserTree(Long mid, User user) {
		String hql = "FROM Permissions WHERE entity = " + user.getId() + " AND name =" + mid;
		List lt = this.session.createQuery(hql).list();
		
		Permissions permissions = new Permissions();
		if(lt.size()>0){
			permissions = (Permissions)lt.get(0);
			permissions.setType(","+permissions.getType()+",");
		}
		
		hql = "select * from jot_view_DepartmentUser_Level";
		if (this.session == null) {
			this.setSession(HibernateSessionFactory.getSession());
		}
		this.session.clear();
		TreeNodeChecked treeData = new TreeNodeChecked("DepartmentOffice",
				"部门人员管理", "2001", false);
		lt = this.session.createSQLQuery(hql).addEntity(
				DepartmentTree.class).list();

		DepartmentTree[] department = new DepartmentTree[lt.size()];

		if (lt.size() > 0) {
			int root = 0;
			int[] position = new int[lt.size()];
			position[0] = 0;
			TreeNodeChecked[] tree = new TreeNodeChecked[lt.size()];
			for (int i = 0; i < lt.size(); i++) {
				department[i] = (DepartmentTree) lt.get(i);
				if (department[i].get_class().equals("U")) {
					hql = "FROM Permissions WHERE entity = "+department[i].getId() + " AND name = 11";
					List pl = this.session.createQuery(hql).list();
					Permissions pp = new Permissions();
					if(pl.size()>0){
						pp = (Permissions)pl.get(0);
					}
					tree[i] = new TreeNodeChecked("DepartmentUser",
							department[i].getLocalName(), department[i].getId()+"",
									(permissions.getType().indexOf(","+department[i].getId()+",")!=-1) ,false);
				} else {
					tree[i] = new TreeNodeChecked("DepartmentLocate",
							department[i].getLocalName(), department[i].getId()
									+ "", false);
				}

				if (i > 0) {
					if (department[i].getLevel().equals(
							department[0].getLevel())) {
						root++;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -