Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

yue 5 gadi atpakaļ
vecāks
revīzija
d86decb2b5

+ 16 - 1
src/main/java/com/jeeplus/modules/sys/entity/Office.java

@@ -174,6 +174,21 @@ public class Office extends TreeEntity<Office> {
 
 	@Override
 	public String toString() {
-		return name;
+		return "Office{" +
+				"area=" + area +
+				", code='" + code + '\'' +
+				", type='" + type + '\'' +
+				", grade='" + grade + '\'' +
+				", address='" + address + '\'' +
+				", zipCode='" + zipCode + '\'' +
+				", master='" + master + '\'' +
+				", phone='" + phone + '\'' +
+				", fax='" + fax + '\'' +
+				", email='" + email + '\'' +
+				", useable='" + useable + '\'' +
+				", primaryPerson=" + primaryPerson +
+				", deputyPerson=" + deputyPerson +
+				", childDeptList=" + childDeptList +
+				'}';
 	}
 }

+ 50 - 5
src/main/java/com/jeeplus/modules/sys/web/OfficeController.java

@@ -11,6 +11,7 @@ import com.jeeplus.common.utils.StringUtils;
 import com.jeeplus.core.web.BaseController;
 import com.jeeplus.modules.sys.entity.Office;
 import com.jeeplus.modules.sys.entity.User;
+import com.jeeplus.modules.sys.mapper.UserMapper;
 import com.jeeplus.modules.sys.service.OfficeService;
 import com.jeeplus.modules.sys.utils.DictUtils;
 import com.jeeplus.modules.sys.utils.UserUtils;
@@ -26,10 +27,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.servlet.mvc.support.RedirectAttributes;
 
 import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * 机构Controller
@@ -42,6 +40,9 @@ public class OfficeController extends BaseController {
 
 	@Autowired
 	private OfficeService officeService;
+
+	@Autowired
+	private UserMapper userMapper;
 	
 	@ModelAttribute("office")
 	public Office get(@RequestParam(required=false) String id) {
@@ -173,7 +174,51 @@ public class OfficeController extends BaseController {
 	public List<Map<String, Object>> treeData(@RequestParam(required=false) String extId, @RequestParam(required=false) String type,
 			@RequestParam(required=false) Long grade, @RequestParam(required=false) Boolean isAll, HttpServletResponse response) {
 		List<Map<String, Object>> mapList = Lists.newArrayList();
-		List<Office> list = officeService.findList(isAll);
+		List<Office> offices = officeService.findList(isAll);
+		List<Office> list = new ArrayList<Office>();
+		List<String> strings = new ArrayList<String>();//存放父类id
+		List<String> strings1 = new ArrayList<String>();//存放父类id
+		User user = new User();
+		Boolean flag = false;
+		String[] sts = {};//字符串数组
+		String str = "";
+		List<User> users = userMapper.findAllList(user);
+		for (Office office:offices){
+			flag = false;
+			for (User user1:users){
+				if (user1.getOffice().getId().equals(office.getId())){
+					flag = true;
+					break;
+				}
+			}
+			if (flag){
+				str = office.getParentIds();//得到父类节点
+				sts = str.split(",");//节点id截取
+				if (null!=sts&&sts.length>0){
+					for (String string:sts){
+						strings.add(string);
+						strings.add(office.getId());
+					}
+				}
+			}
+		}
+		//去重
+		Set<String> set = new HashSet<String>();
+		for (String string :strings){
+			if (set.add(string)){
+				strings1.add(string);
+			}
+		}
+		//得到最终的offic集合
+		for (String string:strings1){
+			for (Office office:offices){
+				if (string.equals(office.getId())){
+					list.add(office);
+					break;
+				}
+			}
+		}
+
 		HashSet existIds = new HashSet();
 		for(Office o : list){
 			existIds.add(o.getId());

+ 22 - 22
src/main/webapp/WEB-INF/tags/sys/itemselect.tag

@@ -1,19 +1,19 @@
-<%@ tag language="java" pageEncoding="UTF-8"%>
+<%@ tag language="java"  pageEncoding="GB2312"%>
 <%@ include file="/webpage/include/taglib.jsp"%>
-<%@ attribute name="id" type="java.lang.String" required="true" description="缂栧彿"%>
-<%@ attribute name="name" type="java.lang.String" required="true" description="隐藏域名称(ID)"%>
-<%@ attribute name="value" type="java.lang.String" required="true" description="隐藏域值(ID)"%>
-<%@ attribute name="labelName" type="java.lang.String" required="true" description="输入框名称(Name)"%>
-<%@ attribute name="labelValue" type="java.lang.String" required="true" description="输入框值(Value)"%>
-<%@ attribute name="fieldLabels" type="java.lang.String" required="true" description="琛ㄦ牸Th閲屾樉绀虹殑鍚嶅瓧"%>
-<%@ attribute name="fieldKeys" type="java.lang.String" required="true" description="表格Td里显示的值"%>
-<%@ attribute name="searchLabels" type="java.lang.String" required="true" description="妫€绱㈡�鏍囩�"%>
-<%@ attribute name="searchKeys" type="java.lang.String" required="true" description="妫€绱㈡�key"%>
-<%@ attribute name="title" type="java.lang.String" required="true" description="选择框标题"%>
-<%@ attribute name="url" type="java.lang.String" required="true" description="鏁版嵁鍦板潃"%>
-<%@ attribute name="cssClass" type="java.lang.String" required="false" description="css鏍峰紡"%>
-<%@ attribute name="isMultiSelected" type="java.lang.Boolean" required="false" description="是否允许多选"%>
-<%@ attribute name="disabled" type="java.lang.String" required="false" description="鏄�惁闄愬埗閫夋嫨锛屽�鏋滈檺鍒讹紝璁剧疆涓篸isabled"%>
+<%@ attribute name="id" type="java.lang.String" required="true" description="编号"%>
+<%@ attribute name="name" type="java.lang.String" required="true" description="隐藏域名称(ID)"%>
+<%@ attribute name="value" type="java.lang.String" required="true" description="隐藏域值(ID)"%>
+<%@ attribute name="labelName" type="java.lang.String" required="true" description="输入框名称(Name)"%>
+<%@ attribute name="labelValue" type="java.lang.String" required="true" description="输入框值(Value)"%>
+<%@ attribute name="fieldLabels" type="java.lang.String" required="true" description="表格Th里显示的名字"%>
+<%@ attribute name="fieldKeys" type="java.lang.String" required="true" description="表格Td里显示的值"%>
+<%@ attribute name="searchLabels" type="java.lang.String" required="true" description="检索框标签"%>
+<%@ attribute name="searchKeys" type="java.lang.String" required="true" description="检索框key"%>
+<%@ attribute name="title" type="java.lang.String" required="true" description="选择框标题"%>
+<%@ attribute name="url" type="java.lang.String" required="true" description="数据地址"%>
+<%@ attribute name="cssClass" type="java.lang.String" required="false" description="css样式"%>
+<%@ attribute name="isMultiSelected" type="java.lang.Boolean" required="false" description="是否允许多选"%>
+<%@ attribute name="disabled" type="java.lang.String" required="false" description="是否限制选择,如果限制,设置为disabled"%>
 	<input id="${id}Id" name="${name}"  type="hidden" value="${value}"/>
 	<div class="input-group" style="width: 100%">
 		<input id="${id}Name"  name="projectName" ${allowInput?'':'readonly="readonly"'}  type="text" value="${labelValue}" data-msg-required="${dataMsgRequired}"
@@ -21,7 +21,7 @@
        		 <span class="input-group-btn">
 	       		 <button type="button"  id="${id}Button" class="btn <c:if test="${fn:contains(cssClass, 'input-sm')}"> btn-sm </c:if><c:if test="${fn:contains(cssClass, 'input-lg')}"> btn-lg </c:if>  btn-primary ${disabled} ${hideBtn ? 'hide' : ''}"><i class="fa fa-search"></i>
 	             </button> 
-	               <button type="button" id="${id}DelButton" class="close" data-dismiss="alert" style="position: absolute; top: 5px; right: 53px; z-index: 999; display: block;"></button>
+	               <button type="button" id="${id}DelButton" class="close" data-dismiss="alert" style="position: absolute; top: 5px; right: 53px; z-index: 999; display: block;">×</button>
        		 </span>
        		
     </div>
@@ -40,12 +40,12 @@ $(document).ready(function(){
 		    auto:true,
 		    name:'friend',
 		    content: "${ctx}/tag/gridselect?url="+encodeURIComponent("${url}")+"&fieldLabels="+encodeURIComponent("${fieldLabels}")+"&fieldKeys="+encodeURIComponent("${fieldKeys}")+"&searchLabels="+encodeURIComponent("${searchLabels}")+"&searchKeys="+encodeURIComponent("${searchKeys}")+"&isMultiSelected=${isMultiSelected? true:false}",
-		    btn: ['纭�畾', '鍏抽棴'],
+		    btn: ['确定', '关闭'],
 		    yes: function(index, layero){
-		    	 var iframeWin = layero.find('iframe')[0].contentWindow; //寰楀埌iframe椤电殑绐楀彛瀵硅薄锛屾墽琛宨frame椤电殑鏂规硶锛歩frameWin.method();
+		    	 var iframeWin = layero.find('iframe')[0].contentWindow; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
 		    	 var items = iframeWin.getSelections();
 		    	 if(items == ""){
-			    	jp.warning("必须选择一条数据!");
+			    	jp.warning("必须选择一条数据!");
 			    	return;
 		    	 }
 		    	 var ids = [];
@@ -57,18 +57,18 @@ $(document).ready(function(){
 		    	 }
 		    	 $("#${id}Id").val(ids.join(","));
 		    	 $("#${id}Name").val(names.join(","));
-				 top.layer.close(index);//关闭对话框。
+				 top.layer.close(index);//关闭对话框。
 			  },
 			  cancel: function(index){ 
 		       }
 		}); 
 	})
 	$("#${id}DelButton").click(function(){
-		// 鏄�惁闄愬埗閫夋嫨锛屽�鏋滈檺鍒讹紝璁剧疆涓篸isabled
+		// 是否限制选择,如果限制,设置为disabled
 		if ($("#${id}Button").hasClass("disabled")){
 			return true;
 		}
-		// 娓呴櫎	
+		// 清除	
 		$("#${id}Id").val("");
 		$("#${id}Name").val("");
 		$("#${id}Name").focus();

+ 5 - 6
src/main/webapp/WEB-INF/tags/sys/userselect.tag

@@ -2,9 +2,9 @@
 <%@ include file="/webpage/include/taglib.jsp"%>
 <%@ attribute name="id" type="java.lang.String" required="true" description="编号"%>
 <%@ attribute name="name" type="java.lang.String" required="true" description="隐藏域名称(ID)"%>
-<%@ attribute name="value" type="java.lang.String" required="false" description="隐藏域值(ID)"%>
-<%@ attribute name="labelName" type="java.lang.String" required="fasle" description="输入框名称(Name)"%>
-<%@ attribute name="labelValue" type="java.lang.String" required="false" description="输入框值(Name)"%>
+<%@ attribute name="value" type="java.lang.String" required="true" description="隐藏域值(ID)"%>
+<%@ attribute name="labelName" type="java.lang.String" required="true" description="输入框名称(Name)"%>
+<%@ attribute name="labelValue" type="java.lang.String" required="true" description="输入框值(Name)"%>
 <%@ attribute name="isMultiSelected" type="java.lang.Boolean" required="false" description="是否允许多选"%>
 <%@ attribute name="cssClass" type="java.lang.String" required="false" description="css样式"%>
 <%@ attribute name="cssStyle" type="java.lang.String" required="false" description="css样式"%>
@@ -20,7 +20,7 @@
 	              </button>
 	             <button type="button" id="${id}DelButton" class="close" data-dismiss="alert" style="position: absolute; top: 5px; right: 53px; z-index: 999; display: block;">×</button>
        		 </span>
-       		
+
     </div>
 	 <label id="${id}Name-error" class="error" for="${id}Name" style="display:none"></label>
 <script type="text/javascript">
@@ -29,8 +29,7 @@
 		if ($("#${id}Button").hasClass("disabled")){
 			return true;
 		}
-		// 正常打开	
-		
+		// 正常打开
 		jp.openUserSelectDialog(${isMultiSelected? true:false},function(ids, names){
 			$("#${id}Id").val(ids.replace(/u_/ig,""));
 			$("#${id}Name").val(names);