Ver código fonte

新增部门查询

laowo 3 anos atrás
pai
commit
9d016c181d

+ 24 - 4
src/main/java/com/usky/controller/sys/DeptController.java

@@ -5,10 +5,7 @@ import com.usky.entity.sys.vo.SysDeptVO;
 import com.usky.entity.ztree.Ztree;
 import com.usky.service.sys.dept.DeptService;
 import com.usky.service.sys.user.UserService;
-import com.usky.utils.ListUtil;
-import com.usky.utils.Result;
-import com.usky.utils.ShiroUtils;
-import com.usky.utils.StringUtils;
+import com.usky.utils.*;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -117,4 +114,27 @@ public class DeptController {
         deptService.remove(deptId);
         return Result.OK();
     }
+
+    @ApiOperation(value = "部门查询")
+    @RequiresPermissions("system:dept:list")
+    @PostMapping("/listDept")
+    @ResponseBody
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "deptId", value = "部门id", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "parentId", value = "父级部门id", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "deptName", value = "部门名称", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "leader", value = "部门负责人", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "pageSize", value = "页数 默认20", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "pageNo", value = "页码默认1", required = false, paramType = "query"),
+            @ApiImplicitParam(name = "status", value = "部门状态 0 正常 1停用", required = false, paramType = "query")
+    })
+    public Page<?> listDept(@RequestParam(value = "pageSize", defaultValue = "20") Integer pageSize,
+                         @RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
+                         @Validated SysDeptDTO dept) {
+
+
+        return deptService.listDept(dept,pageSize,pageNo);
+    }
+
+
 }

+ 3 - 0
src/main/java/com/usky/service/sys/dept/DeptService.java

@@ -3,6 +3,7 @@ package com.usky.service.sys.dept;
 import com.usky.entity.sys.SysDeptDTO;
 import com.usky.entity.sys.vo.SysDeptVO;
 import com.usky.entity.ztree.Ztree;
+import com.usky.utils.Page;
 import com.usky.utils.Result;
 
 import java.util.List;
@@ -57,5 +58,7 @@ public interface DeptService {
      * @param dept
      */
     void updataDeptInfo(SysDeptDTO dept);
+
+    Page<?> listDept(SysDeptDTO dept, Integer pageSize, Integer pageNo);
 }
 

+ 30 - 1
src/main/java/com/usky/service/sys/dept/DeptServiceImpl.java

@@ -5,11 +5,12 @@ import com.usky.dao.impl.BaseDaoImpl;
 import com.usky.entity.sys.SysDeptDTO;
 import com.usky.entity.sys.vo.SysDeptVO;
 import com.usky.entity.ztree.Ztree;
-import com.usky.exception.CustomException;
 import com.usky.utils.ListUtil;
+import com.usky.utils.Page;
 import com.usky.utils.Result;
 import com.usky.utils.ShiroUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.hibernate.query.Query;
 import org.hibernate.transform.Transformers;
 import org.springframework.stereotype.Service;
 
@@ -104,6 +105,34 @@ public class DeptServiceImpl extends BaseDaoImpl implements DeptService {
         getSession().update(dept);
     }
 
+    @Override
+    public Page<?> listDept(SysDeptDTO dept, Integer pageSize, Integer pageNo) {
+        StringBuilder sb = new StringBuilder();
+        sb.append("from SysDeptDTO t where t.delFlag='0' ");
+        if (dept.getDeptId() != null) {
+            sb.append(" and t.deptId=").append(dept.getDeptId());
+        }
+        if (dept.getParentId() != null) {
+            sb.append(" and t.parentId=").append(dept.getParentId());
+        }
+        if (StringUtils.isNotBlank(dept.getDeptName())) {
+            sb.append(" and t.deptName like  '%").append(dept.getDeptName()).append("%'");
+        }
+        if (StringUtils.isNotBlank(dept.getLeader())) {
+            sb.append(" and t.leader like  '%").append(dept.getLeader()).append("%'");
+        }
+        if (StringUtils.isNotBlank(dept.getStatus())) {
+            sb.append(" and t.status=  '").append(dept.getStatus()).append("'");
+        }
+        Query query = getSession().createQuery(sb.toString());
+        Page<SysDeptVO> result = new Page<>(query.list().size(), pageSize);
+        query.setFirstResult((pageNo - 1) * pageSize);
+        query.setMaxResults(pageSize);
+        List<SysDeptVO> list = query.list();
+        result.setPageList(list);
+        return result;
+    }
+
 
     public SysDeptDTO queryDeptById(Integer deptId) {