人员查询添加部门查询
diff --git a/src/main/java/com/supwisdom/dlpay/customer/controller/CustomerController.java b/src/main/java/com/supwisdom/dlpay/customer/controller/CustomerController.java
index 6cd7f45..a8f6bb1 100644
--- a/src/main/java/com/supwisdom/dlpay/customer/controller/CustomerController.java
+++ b/src/main/java/com/supwisdom/dlpay/customer/controller/CustomerController.java
@@ -69,7 +69,7 @@
public PageResult<TCustomerInfo> getDataList(@RequestParam("page") Integer pageNo,
@RequestParam("limit") Integer pageSize,
@RequestParam(value = "custname", required = false) String custname,
- // @RequestParam(value = "deptcode", required = false) String deptcode,
+ @RequestParam(value = "deptcode", required = false) String deptcode,
@AuthenticationPrincipal TOperator operUser) {
try {
if (null == pageNo || pageNo < 1) pageNo = WebConstant.PAGENO_DEFAULT;
@@ -78,7 +78,6 @@
searchBean.setPageNo(pageNo);
searchBean.setCustname(custname);
searchBean.setPageSize(pageSize);
- String deptcode="";
if (StringUtil.isEmpty(deptcode)&&!"S".equals(operUser.getOpertype())) {
deptcode = operUser.getDeptcode();
}
@@ -137,8 +136,12 @@
@GetMapping("/depttree")
@ResponseBody
- public List<TreeSelectNode> searchDeptTree() {
- List<TreeSelectNode> tree = systemService.getDeptSelectTree();
+ public List<TreeSelectNode> searchDeptTree(@AuthenticationPrincipal TOperator operUser) {
+ String deptcode="";
+ if (!"S".equals(operUser.getOpertype())) {
+ deptcode = operUser.getDeptcode();
+ }
+ List<TreeSelectNode> tree = systemService.getDeptSelectTree(deptcode);
return tree;
}
diff --git a/src/main/java/com/supwisdom/dlpay/framework/filter/CrosXssFilter.java b/src/main/java/com/supwisdom/dlpay/framework/filter/CrosXssFilter.java
index eafa20c..fa7024a 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/filter/CrosXssFilter.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/filter/CrosXssFilter.java
@@ -40,7 +40,7 @@
//sql,xss过滤
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
- logger.info("CrosXssFilter.......orignal url:{},ParameterMap:{}",httpServletRequest.getRequestURI(), new Gson().toJson(httpServletRequest.getParameterMap()));
+ // logger.info("CrosXssFilter.......orignal url:{},ParameterMap:{}",httpServletRequest.getRequestURI(), new Gson().toJson(httpServletRequest.getParameterMap()));
XssHttpServletRequestWrapper xssHttpServletRequestWrapper = new XssHttpServletRequestWrapper(
httpServletRequest);
chain.doFilter(xssHttpServletRequestWrapper, response);
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java b/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
index 12a2bba..c4fe2c8 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/SystemService.java
@@ -242,6 +242,6 @@
TDept getDeptByDeptno(String deptno);
@Transactional(rollbackFor = Exception.class, readOnly = true)
- List<TreeSelectNode> getDeptSelectTree();
+ List<TreeSelectNode> getDeptSelectTree(String deptcode);
}
diff --git a/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java b/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java
index ef8b1a0..6bea91e 100644
--- a/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java
+++ b/src/main/java/com/supwisdom/dlpay/system/service/impl/SystemServiceImpl.java
@@ -1,6 +1,7 @@
package com.supwisdom.dlpay.system.service.impl;
import com.supwisdom.dlpay.api.bean.JsonResult;
+import com.supwisdom.dlpay.customer.bean.TCustomerExportBean;
import com.supwisdom.dlpay.framework.util.DateUtil;
import com.supwisdom.dlpay.framework.util.PageResult;
import com.supwisdom.dlpay.framework.util.StringUtil;
@@ -11,6 +12,8 @@
import com.supwisdom.dlpay.system.domain.*;
import com.supwisdom.dlpay.system.page.Pagination;
import com.supwisdom.dlpay.system.service.SystemService;
+import org.hibernate.query.internal.NativeQueryImpl;
+import org.hibernate.transform.Transformers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
@@ -19,6 +22,9 @@
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+import javax.persistence.Query;
import java.util.ArrayList;
import java.util.List;
@@ -41,6 +47,10 @@
@Autowired
private CustomerDao customerDao;
+ @PersistenceContext
+ EntityManager entityManager;
+
+
@Override
@CacheEvict(cacheNames = "door_dictionary_cache", key = "'.*'", allEntries = true)
public void refreshCache() {
@@ -390,21 +400,30 @@
return dept.size()>0?dept.get(0):null;
}
- public List<TreeSelectNode> getDeptSelectTree() {
- List<TDept> groupList = deptDao.findAll();
+ public List<TreeSelectNode> getDeptSelectTree(String deptcode) {
+ List<TDept> groupList;
+ String pid;
+ if(StringUtil.isEmpty(deptcode)){
+ groupList = deptDao.findAll();
+ pid="-1";
+ }else{
+ groupList=getChildDeptlist(deptcode);
+ pid="0";
+ }
+
if (StringUtil.isEmpty(groupList)) return new ArrayList<>(0);
- return getDeptTree(groupList, "-1");
+ return getDeptTree(groupList, pid);
}
private List<TreeSelectNode> getDeptTree(List<TDept> groupList, String pid) {
List<TreeSelectNode> result = new ArrayList<>(0);
for (TDept gp : groupList) {
- if (("-1".equals(pid) && "-1".equals(gp.getFdeptcode())) || (null != pid && pid.equals(gp.getFdeptcode()))) {
+ // if (("-1".equals(pid) && "-1".equals(gp.getFdeptcode())) || (null != pid && pid.equals(gp.getFdeptcode()))) {
+ if ( (null != pid && pid.equals(gp.getFdeptcode()))) {
TreeSelectNode node = new TreeSelectNode();
node.setId(gp.getDeptcode());
node.setName(gp.getDeptname());
node.setOpen(true);
- // node.setGrouptype(gp.getGrouptype());
node.setChecked(false);
List<TreeSelectNode> children = getDeptTree(groupList, gp.getDeptcode());
if (!StringUtil.isEmpty(children)) {
@@ -417,4 +436,21 @@
}
return result;
}
+
+
+ private List<TDept> getChildDeptlist( String deptcode) {
+ List<TDept> childdplist=null;
+ if (!StringUtil.isEmpty(deptcode)) {
+ Query query = entityManager.createNativeQuery("WITH RECURSIVE r AS(" +
+ "SELECT * FROM tb_dept WHERE deptcode =:deptcode " +
+ "union ALL " +
+ "SELECT t.* FROM tb_dept t, r WHERE t.fdeptcode = r.deptcode) " +
+ "select * from r order by deptno");
+ query.setParameter("deptcode", deptcode);
+
+ query.unwrap(NativeQueryImpl.class).setResultTransformer(Transformers.aliasToBean(TDept.class));
+ childdplist = query.getResultList();
+ }
+ return childdplist;
+ }
}
diff --git a/src/main/resources/templates/doorlist/customer/index.html b/src/main/resources/templates/doorlist/customer/index.html
index ebab5f3..2f6513a 100644
--- a/src/main/resources/templates/doorlist/customer/index.html
+++ b/src/main/resources/templates/doorlist/customer/index.html
@@ -9,10 +9,14 @@
<div class="layui-card-body">
<div class="layui-form toolbar">
搜索:
- <input id="customer-search-value" class="layui-input search-input" type="text" placeholder="输入姓名"/>
- <!-- <input id="search-customer-deptcode" type="text"
- lay-filter="search-customer-deptcode-filter" autocomplete="off"
- class="layui-input search-input"/>-->
+ <div class="layui-inline" style="margin-right: 20px;">
+ <input id="customer-search-value" class="layui-input search-input" type="text" placeholder="输入姓名"
+ style="margin-right: 20px"/>
+ <input id="search-customer-deptcode" type="text"
+ lay-filter="search-customer-deptcode-filter" autocomplete="off"
+ class="layui-input search-input"/>
+ </div>
+
<button id="customer-btn-search" class="layui-btn icon-btn" data-type="search"><i class="layui-icon"></i>搜索
</button>
<button id="customer-btn-add" class="layui-btn icon-btn" data-type="add"><i class="layui-icon"></i>添加人员</button>
@@ -34,11 +38,12 @@
let form = layui.form;
let table = layui.table;
let admin = layui.admin;
- // var treeSelect = layui.treeSelect;
var $ = layui.$;
form.render("select");
- /* treeSelect.render({
+
+ var treeSelect=layui.treeSelect;
+ treeSelect.render({
elem: '#search-customer-deptcode',
data: '[[@{/customer/depttree}]]',
type: 'get',
@@ -61,7 +66,8 @@
success: function (d) {
console.log(d); // 加载完成后的回调函数
}
- });*/
+ });
+
// 渲染表格
table.render({
elem: '#customer-table',
@@ -144,9 +150,9 @@
// 搜索按钮点击事件
$('#customer-btn-search').click(function () {
let key = $('#customer-search-value').val().trim();
- // let deptcode=$('#customer-deptcode').val();
+ let deptcode=$('#search-customer-deptcode').val();
- table.reload('customer-table', {where: {custname: key}, page: {curr: 1}});
+ table.reload('customer-table', {where: {custname: key,deptcode:deptcode}, page: {curr: 1}});
});
$('#customer-btn-add').click(function () {
showModel();