Ver código fonte

oa员工管理查询

zouxuan 2 meses atrás
pai
commit
fb47cda80a

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/FinancialExpenditureDao.java

@@ -91,4 +91,6 @@ public interface FinancialExpenditureDao extends BaseDAO<Long, FinancialExpendit
     * @date 2021/11/30 14:40
     */
     Integer getDeptId(Integer deptId);
+
+    List<Integer> queryEmployByDeptId(@Param("deptIds") String deptIds, @Param("deptId") Integer deptId);
 }

+ 6 - 46
mec-biz/src/main/java/com/ym/mec/biz/dal/page/EmployeeQueryInfo.java

@@ -2,11 +2,13 @@ package com.ym.mec.biz.dal.page;
 
 import com.ym.mec.common.page.QueryInfo;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
 /**
  * @Author Joburgess
  * @Date 2019/9/17
  */
+@Data
 public class EmployeeQueryInfo extends QueryInfo {
 
     @ApiModelProperty(value = "部门ID",required = true)
@@ -29,51 +31,9 @@ public class EmployeeQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "是否冻结",required = false)
     private Boolean lockFlag;
 
-    public Boolean getLockFlag() {
-        return lockFlag;
-    }
+    @ApiModelProperty(value = "社保分部",required = false)
+    private Integer deptId;
 
-    public void setLockFlag(Boolean lockFlag) {
-        this.lockFlag = lockFlag;
-    }
-
-    public Boolean getDemissionflag() {
-        return demissionflag;
-    }
-
-    public void setDemissionflag(Boolean demissionflag) {
-        this.demissionflag = demissionflag;
-    }
-
-    public String getJobNature() {
-        return jobNature;
-    }
-
-    public void setJobNature(String jobNature) {
-        this.jobNature = jobNature;
-    }
-
-    public String getOrganId() {
-        return organId;
-    }
-
-    public void setOrganId(String organId) {
-        this.organId = organId;
-    }
-
-    public Long getRoleId() {
-        return roleId;
-    }
-
-    public void setRoleId(Long roleId) {
-        this.roleId = roleId;
-    }
-
-    public Long getUserNameOrPhone() {
-        return userNameOrPhone;
-    }
-
-    public void setUserNameOrPhone(Long userNameOrPhone) {
-        this.userNameOrPhone = userNameOrPhone;
-    }
+    @ApiModelProperty(value = "所属部门",required = false)
+    private String deptIds;
 }

+ 7 - 64
mec-biz/src/main/java/com/ym/mec/biz/dal/page/TeacherQueryInfo.java

@@ -1,9 +1,10 @@
 package com.ym.mec.biz.dal.page;
 
-import io.swagger.annotations.ApiModelProperty;
-
 import com.ym.mec.common.page.QueryInfo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
 
+@Data
 public class TeacherQueryInfo extends QueryInfo {
 
     @ApiModelProperty(value = "科目编号")
@@ -30,67 +31,9 @@ public class TeacherQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "是否离职")
     private Boolean demissionFlag;
 
-    public Boolean getDemissionFlag() {
-        return demissionFlag;
-    }
-
-    public void setDemissionFlag(Boolean demissionFlag) {
-        this.demissionFlag = demissionFlag;
-    }
-
-    public Boolean getIsSettlementSalary() {
-        return isSettlementSalary;
-    }
-
-    public void setIsSettlementSalary(Boolean isSettlementSalary) {
-        this.isSettlementSalary = isSettlementSalary;
-    }
-
-    public Integer getSubjectId() {
-        return subjectId;
-    }
-
-    public void setSubjectId(Integer subjectId) {
-        this.subjectId = subjectId;
-    }
-
-    public String getOrganId() {
-        return organId;
-    }
-
-    public void setOrganId(String organId) {
-        this.organId = organId;
-    }
-
-    public String getJobNature() {
-        return jobNature;
-    }
-
-    public void setJobNature(String jobNature) {
-        this.jobNature = jobNature;
-    }
-
-    public String getIsProbationPeriod() {
-        return isProbationPeriod;
-    }
-
-    public void setIsProbationPeriod(String isProbationPeriod) {
-        this.isProbationPeriod = isProbationPeriod;
-    }
-
-    public String getLockFlag() {
-        return lockFlag;
-    }
-
-    public void setLockFlag(String lockFlag) {
-        this.lockFlag = lockFlag;
-    }
-
-	public Boolean getIsSupportExtraPracticeLesson() {
-		return isSupportExtraPracticeLesson;
-	}
+    @ApiModelProperty(value = "社保分部",required = false)
+    private Integer deptId;
 
-	public void setIsSupportExtraPracticeLesson(Boolean isSupportExtraPracticeLesson) {
-		this.isSupportExtraPracticeLesson = isSupportExtraPracticeLesson;
-	}
+    @ApiModelProperty(value = "所属部门",required = false)
+    private String deptIds;
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeServiceImpl.java

@@ -99,6 +99,8 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
     private ImPluginContext imPluginContext;
     @Resource
     private SysUserService sysUserService;
+    @Resource
+    private FinancialExpenditureDao financialExpenditureDao;
 
     private static final ExecutorService exportExecutorService = new ThreadPoolExecutor(
             5, 20, 0L, TimeUnit.MILLISECONDS,
@@ -337,6 +339,13 @@ public class EmployeeServiceImpl extends BaseServiceImpl<Integer, Employee> impl
         PageInfo<EmployeeDto> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
         Map<String, Object> params = new HashMap<>();
         MapUtil.populateMap(params, queryInfo);
+        if(queryInfo.getDeptIds() != null || queryInfo.getDeptId() != null){
+            List<Integer> userIds = financialExpenditureDao.queryEmployByDeptId(queryInfo.getDeptIds(), queryInfo.getDeptId());
+            if(CollectionUtils.isEmpty(userIds)){
+                return new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+            }
+            params.put("userIds", userIds);
+        }
         List<EmployeeDto> dataList = null;
         int count = employeeDao.queryEmployByOrganIdCount(params);
         if (count > 0) {

+ 11 - 17
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TeacherServiceImpl.java

@@ -4,20 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.auth.api.enums.YesOrNoEnum;
-import com.ym.mec.biz.dal.dao.ClassGroupDao;
-import com.ym.mec.biz.dal.dao.DemoGroupDao;
-import com.ym.mec.biz.dal.dao.ImGroupDao;
-import com.ym.mec.biz.dal.dao.ImUserFriendDao;
-import com.ym.mec.biz.dal.dao.MusicGroupDao;
-import com.ym.mec.biz.dal.dao.OrganizationDao;
-import com.ym.mec.biz.dal.dao.SchoolDao;
-import com.ym.mec.biz.dal.dao.StudentExtracurricularExercisesSituationDao;
-import com.ym.mec.biz.dal.dao.StudentPaymentOrderDao;
-import com.ym.mec.biz.dal.dao.StudentRegistrationDao;
-import com.ym.mec.biz.dal.dao.StudentTeacherMapperDao;
-import com.ym.mec.biz.dal.dao.SubjectDao;
-import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
-import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.dao.*;
 import com.ym.mec.biz.dal.dto.*;
 import com.ym.mec.biz.dal.entity.CourseHomework;
 import com.ym.mec.biz.dal.entity.ImUserFriend;
@@ -129,7 +116,7 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
     private SysUserService sysUserService;
 
     @Autowired
-    private RealnameAuthenticationPluginContext realnameAuthenticationPluginContext;
+    private FinancialExpenditureDao financialExpenditureDao;
 
     @Override
     public BaseDAO<Integer, Teacher> getDAO() {
@@ -631,10 +618,17 @@ public class TeacherServiceImpl extends BaseServiceImpl<Integer, Teacher> implem
     public PageInfo<Teacher> queryPageDetail(TeacherQueryInfo queryInfo) {
         Map<String, Object> params = new HashMap<>();
         MapUtil.populateMap(params, queryInfo);
+        if(queryInfo.getDeptIds() != null || queryInfo.getDeptId() != null){
+            List<Integer> userIds = financialExpenditureDao.queryEmployByDeptId(queryInfo.getDeptIds(), queryInfo.getDeptId());
+            if(org.apache.commons.collections.CollectionUtils.isEmpty(userIds)){
+                return new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+            }
+            params.put("userIds", userIds);
+        }
         PageInfo<Teacher> pageInfo = queryPage(queryInfo);
         List<Teacher> rows = pageInfo.getRows();
-        if (rows != null && rows.size() > 0) {
-            Set<Integer> teachers = rows.stream().map(e -> e.getId()).collect(Collectors.toSet());
+        if (!CollectionUtils.isEmpty(rows)) {
+            Set<Integer> teachers = rows.stream().map(SysUser::getId).collect(Collectors.toSet());
             //获取小课数量
             Map<Integer, Integer> vipNumMap = JSONObject.parseObject(JSONObject.toJSONString(MapUtil.convertIntegerMap(classGroupDao.countTeacherVipNum(teachers))), HashMap.class);
             //获取试听课数量

+ 12 - 0
mec-biz/src/main/resources/config/mybatis/EmployeeMapper.xml

@@ -270,6 +270,12 @@
             <if test="search != null">
                 AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%') or su.id_ like CONCAT('%',#{search},'%'))
             </if>
+            <if test="userIds != null and userIds.size() > 0">
+                AND e.user_id_ IN
+                <foreach collection="userIds" item="userId" separator="," open="(" close=")">
+                    #{userId}
+                </foreach>
+            </if>
         </where>
         ORDER BY e.create_time_ DESC <include refid="global.limit"/>) ue
         LEFT JOIN sys_user_role sur ON sur.user_id_ = ue.user_id_
@@ -303,6 +309,12 @@
             <if test="roleId != null">
                 AND sur.role_id_ = #{roleId}
             </if>
+            <if test="userIds != null and userIds.size() > 0">
+                AND e.user_id_ IN
+                <foreach collection="userIds" item="userId" separator="," open="(" close=")">
+                    #{userId}
+                </foreach>
+            </if>
         </where>
     </select>
     <select id="queryUserRole" resultType="java.lang.Integer">

+ 11 - 0
mec-biz/src/main/resources/config/mybatis/FinancialExpenditureMapper.xml

@@ -262,4 +262,15 @@
     <select id="getDeptId" resultType="java.lang.Integer">
         SELECT organ_id FROM oa_pro.sys_dept WHERE dept_id = #{deptId}
     </select>
+    <select id="queryEmployByDeptId" resultType="java.lang.Integer">
+        SELECT user_id FROM oa_pro.sys_user
+        <where>
+            <if test="deptIds != null">
+                AND dept_id = #{deptId}
+            </if>
+            <if test="deptIds != null">
+                AND JSON_CONTAINS(dept_ids, #{deptIds})
+            </if>
+        </where>
+    </select>
 </mapper>

+ 6 - 0
mec-biz/src/main/resources/config/mybatis/TeacherMapper.xml

@@ -457,6 +457,12 @@
             <if test="search != null">
                 AND (su.real_name_ LIKE CONCAT('%',#{search},'%') OR su.phone_ LIKE CONCAT('%',#{search},'%') OR t.id_ = #{search})
             </if>
+            <if test="userIds != null and userIds.size() > 0">
+                AND t.id_ IN
+                <foreach collection="userIds" item="userId" separator="," open="(" close=")">
+                    #{userId}
+                </foreach>
+            </if>
         </where>
     </sql>
 

+ 10 - 0
mec-client-api/src/main/java/com/ym/mec/oa/entity/PostDeptDto.java

@@ -0,0 +1,10 @@
+package com.ym.mec.oa.entity;
+
+import lombok.Data;
+
+@Data
+public class PostDeptDto {
+    private Integer postId;
+
+    private Integer deptIds;
+}