Просмотр исходного кода

分角色显示列表内容(如HR和管理员)

yanliming 4 лет назад
Родитель
Сommit
cfe1db9d3a

+ 3 - 0
common/src/main/resources/mapper/job/Recruitment.xml

@@ -206,6 +206,9 @@
 			<if test="searchParams.approveStatus != null">
 				and a.approve_status = #{searchParams.approveStatus}
 			</if>
+			<if test="searchParams.companyId != null">
+				and a.company_id = #{searchParams.companyId}
+			</if>
 			<if test="searchParams.positionList != null">
 				<foreach item="position" collection="searchParams.positionList"  open="and a.position_ in (" separator="," close=")">
 					#{position.id}

+ 5 - 1
common/src/main/resources/mapper/job/ResumeDeliver.xml

@@ -99,9 +99,10 @@
 	<select id="search" parameterType="hashmap" resultMap="ResumeDeliverMap">
 		<![CDATA[
 			select a.* from job_resume_deliver a inner join job_jobuser b on a.job_user_id = b.id_
+			inner join job_recruitment c on a.job_recruitment_id = c.id_
 		]]>
 		<where>
-			a.del_flag = false
+			a.del_flag = false and b.del_flag = false and c.del_flag = false
 			<if test="searchParams.chatStatus != null">
 				and a.chat_status = #{searchParams.chatStatus}
 			</if>
@@ -111,6 +112,9 @@
 			<if test="searchParams.userId != null">
 				and a.job_user_id = #{searchParams.userId}
 			</if>
+			<if test="searchParams.companyId != null">
+				and c.company_id = #{searchParams.companyId}
+			</if>
 		</where>
 		<foreach item="sort" collection="sortList"  open="order by" separator=",">
 	        ${sort.name} ${sort.order}

+ 55 - 30
web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentController.java

@@ -587,53 +587,78 @@ public class RecruitmentController {
 
         MessageResult<Map> msgResult = new MessageResult<>();
 
-        Map<String,Object> searchParams = new HashMap<>();
+        try {
 
-        List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("a.create_time","desc"));
+            User user = userService.get(subject);
 
-        if (StringUtils.isNotEmpty(status)) {
-            searchParams.put("status",status);
-        }
+            if (user == null) {
+                throw new Exception("用户未登录,请先登录!");
+            }
 
-        if (StringUtils.isNotEmpty(approveStatus)) {
-            searchParams.put("approveStatus",approveStatus);
-        }
+            Company company = companyService.get(user.getCompanyId());
 
-        if (StringUtils.isNotEmpty(position)) {
-            searchParams.put("position",position);
-        }
+            if (company == null) {
+                throw new Exception("未查询到登录人员所在公司!");
+            }
 
-        Page<Recruitment> page = recruitmentService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+            Map<String, Object> searchParams = new HashMap<>();
 
-        for(Recruitment recruitment : page.getResult()){
-            Company company = companyService.get(recruitment.getCompanyId());
-            recruitment.setCompanyName(company.getName());
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("a.create_time", "desc"));
 
-            recruitment.setWorkYearName(dataDictionaryService.getName(recruitment.getWorkYear()));
-            recruitment.setEducationName(dataDictionaryService.getName(recruitment.getEducation()));
-            recruitment.setWageTypeName(dataDictionaryService.getName(recruitment.getWageType()));
+            if(!userService.hasRole(user.getId(),"SYSADMIN")&&!userService.hasRole(user.getId(),"ADMIN")){
+                searchParams.put("companyId", company.getId());
+            }
+
+            if (StringUtils.isNotEmpty(status)) {
+                searchParams.put("status", status);
+            }
+
+            if (StringUtils.isNotEmpty(approveStatus)) {
+                searchParams.put("approveStatus", approveStatus);
+            }
 
-            WorkCategory workCategory = workCategoryService.get(recruitment.getPosition());
-            if(workCategory!=null){
-                recruitment.setPositionName(workCategory.getName());
+            if (StringUtils.isNotEmpty(position)) {
+                searchParams.put("position", position);
             }
 
-            String area = "";
+            Page<Recruitment> page = recruitmentService.pageSearch(searchParams, pageIndex, pageSize, true, sortList);
+
+            for (Recruitment recruitment : page.getResult()) {
+                Company curCompany = companyService.get(recruitment.getCompanyId());
+                recruitment.setCompanyName(curCompany.getName());
+
+                recruitment.setWorkYearName(dataDictionaryService.getName(recruitment.getWorkYear()));
+                recruitment.setEducationName(dataDictionaryService.getName(recruitment.getEducation()));
+                recruitment.setWageTypeName(dataDictionaryService.getName(recruitment.getWageType()));
+
+                WorkCategory workCategory = workCategoryService.get(recruitment.getPosition());
+                if (workCategory != null) {
+                    recruitment.setPositionName(workCategory.getName());
+                }
 
-            if(StringUtils.isNotEmpty(recruitment.getArea())){
+                String area = "";
 
-                City zoneItem = cityService.get(Integer.parseInt(recruitment.getArea()));
+                if (StringUtils.isNotEmpty(recruitment.getArea())) {
+
+                    City zoneItem = cityService.get(Integer.parseInt(recruitment.getArea()));
+
+                    area = zoneItem.getCityName();
+                }
 
-                area = zoneItem.getCityName();
+                recruitment.setArea(area);
             }
 
-            recruitment.setArea(area);
-        }
 
+            msgResult.setResult(true);
+            msgResult.setData(PojoUtils.pageWrapper(page));
+        }
+        catch(Exception ex){
+        logger.error(ex.getMessage(),ex);
 
-        msgResult.setResult(true);
-        msgResult.setData(PojoUtils.pageWrapper(page));
+        msgResult.setResult(false);
+        msgResult.setMessage(ex.getMessage());
+    }
 
         return msgResult;
     }

+ 86 - 61
web/src/main/java/com/jpsoft/employment/modules/job/controller/ResumeDeliverController.java

@@ -502,106 +502,131 @@ public class ResumeDeliverController {
             HttpServletRequest request){
         String subject = (String)request.getAttribute("subject");
 
-        //当前用户ID
-        System.out.println(subject);
-
         MessageResult<Map> msgResult = new MessageResult<>();
 
-        Map<String,Object> searchParams = new HashMap<>();
+        try {
 
-        List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("a.create_time","desc"));
+            //当前用户ID
+            System.out.println(subject);
 
-        if (!"0".equals(chatStatus)) {
-            searchParams.put("chatStatus",chatStatus);
-        }
-
-        if (StringUtils.isNotEmpty(name)) {
-            searchParams.put("name","%" + name + "%");
-        }
+            User user = userService.get(subject);
 
+            if (user == null) {
+                throw new Exception("用户未登录,请先登录!");
+            }
 
+            Company company = companyService.get(user.getCompanyId());
 
-        Page<ResumeDeliver> page = resumeDeliverService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+            if (company == null) {
+                throw new Exception("未查询到登录人员所在公司!");
+            }
 
-        Page<ResumeDeliverDTO> pageDto = new Page<>();
 
-        for (ResumeDeliver resumeDeliver:page) {
-            ResumeDeliverDTO dto = new ResumeDeliverDTO();
+            Map<String, Object> searchParams = new HashMap<>();
 
-            dto.setId(resumeDeliver.getId());
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("a.create_time", "desc"));
 
-            JobUser jobUser = jobUserService.get(resumeDeliver.getJobUserId());
+            if(!userService.hasRole(user.getId(),"SYSADMIN")&&!userService.hasRole(user.getId(),"ADMIN")){
+                searchParams.put("companyId", company.getId());
+            }
 
-            if(jobUser!=null){
-                dto.setJobUserId(jobUser.getId());
-                dto.setName(jobUser.getRealName());
+            if (!"0".equals(chatStatus)) {
+                searchParams.put("chatStatus", chatStatus);
+            }
 
-                if(StringUtils.isNotEmpty(jobUser.getJobStatus())) {
-                    String jobStatusN = dataDictionaryService.findNameByCatalogNameAndValue("工作在职状态", jobUser.getJobStatus());
-                    dto.setJobStatusN(jobStatusN);
-                }
+            if (StringUtils.isNotEmpty(name)) {
+                searchParams.put("name", "%" + name + "%");
             }
 
-            Recruitment recruitment = recruitmentService.get(resumeDeliver.getJobRecruitmentId());
 
-            if(recruitment!=null){
+            Page<ResumeDeliver> page = resumeDeliverService.pageSearch(searchParams, pageIndex, pageSize, true, sortList);
 
-                dto.setPositionNumber(recruitment.getPositionNumber());
+            Page<ResumeDeliverDTO> pageDto = new Page<>();
 
-                WorkCategory workCategory = workCategoryService.get(recruitment.getPosition());
+            for (ResumeDeliver resumeDeliver : page) {
+                ResumeDeliverDTO dto = new ResumeDeliverDTO();
+
+                dto.setId(resumeDeliver.getId());
+
+                JobUser jobUser = jobUserService.get(resumeDeliver.getJobUserId());
 
-                if(workCategory != null) {
-                    dto.setPosition(workCategory.getName());
+                if (jobUser != null) {
+                    dto.setJobUserId(jobUser.getId());
+                    dto.setName(jobUser.getRealName());
+
+                    if (StringUtils.isNotEmpty(jobUser.getJobStatus())) {
+                        String jobStatusN = dataDictionaryService.findNameByCatalogNameAndValue("工作在职状态", jobUser.getJobStatus());
+                        dto.setJobStatusN(jobStatusN);
+                    }
                 }
 
-            }
+                Recruitment recruitment = recruitmentService.get(resumeDeliver.getJobRecruitmentId());
 
-            Resume resume = resumeService.get(resumeDeliver.getJobResumeId());
+                if (recruitment != null) {
 
-            if(resume!=null){
-                dto.setDreamMoney(dataDictionaryService.getName(resume.getDreamMoney()));
-                dto.setWorkExp(dataDictionaryService.getName(resume.getWorkExp()));
-                dto.setEducation(dataDictionaryService.getName(resume.getEducation()));
-                dto.setBirthday(resume.getBirthday());
-                dto.setJobStatus(resume.getJobStatus());
+                    dto.setPositionNumber(recruitment.getPositionNumber());
 
-                dto.setResumeUrls(resume.getResumeUrls());
+                    WorkCategory workCategory = workCategoryService.get(recruitment.getPosition());
 
-            }
+                    if (workCategory != null) {
+                        dto.setPosition(workCategory.getName());
+                    }
 
-            dto.setChatStatus(resumeDeliver.getChatStatus());
+                }
 
-            if(StringUtils.isNotEmpty(resumeDeliver.getChatStatus())) {
-                String chatStatusN = dataDictionaryService.findNameByCatalogNameAndValue("沟通状态", resumeDeliver.getChatStatus());
-                dto.setChatStatusN(chatStatusN);
+                Resume resume = resumeService.get(resumeDeliver.getJobResumeId());
 
-                String curChatStatus = resumeDeliver.getChatStatus();
+                if (resume != null) {
+                    dto.setDreamMoney(dataDictionaryService.getName(resume.getDreamMoney()));
+                    dto.setWorkExp(dataDictionaryService.getName(resume.getWorkExp()));
+                    dto.setEducation(dataDictionaryService.getName(resume.getEducation()));
+                    dto.setBirthday(resume.getBirthday());
+                    dto.setJobStatus(resume.getJobStatus());
 
-                List<DataDictionary> dataDictionaryList = dataDictionaryService.findByCatalogName("沟通状态");
+                    dto.setResumeUrls(resume.getResumeUrls());
 
-                List<DataDictionary> newDataDictionaryList = new ArrayList<>();
+                }
 
-                for (DataDictionary dataDictionary:dataDictionaryList) {
-                    if(Integer.parseInt(dataDictionary.getValue())>Integer.parseInt(curChatStatus)&&!dataDictionary.getName().equals("接受入职")){
-                        newDataDictionaryList.add(dataDictionary);
+                dto.setChatStatus(resumeDeliver.getChatStatus());
+
+                if (StringUtils.isNotEmpty(resumeDeliver.getChatStatus())) {
+                    String chatStatusN = dataDictionaryService.findNameByCatalogNameAndValue("沟通状态", resumeDeliver.getChatStatus());
+                    dto.setChatStatusN(chatStatusN);
+
+                    String curChatStatus = resumeDeliver.getChatStatus();
+
+                    List<DataDictionary> dataDictionaryList = dataDictionaryService.findByCatalogName("沟通状态");
+
+                    List<DataDictionary> newDataDictionaryList = new ArrayList<>();
+
+                    for (DataDictionary dataDictionary : dataDictionaryList) {
+                        if (Integer.parseInt(dataDictionary.getValue()) > Integer.parseInt(curChatStatus) && !dataDictionary.getName().equals("接受入职")) {
+                            newDataDictionaryList.add(dataDictionary);
+                        }
                     }
-                }
 
-                dto.setChatStatusList(newDataDictionaryList);
+                    dto.setChatStatusList(newDataDictionaryList);
+
+                }
 
+                pageDto.add(dto);
             }
 
-            pageDto.add(dto);
-        }
+            pageDto.setPages(page.getPages());
+            pageDto.setTotal(page.getTotal());
+            pageDto.setPageNum(page.getPageNum());
 
-        pageDto.setPages(page.getPages());
-        pageDto.setTotal(page.getTotal());
-        pageDto.setPageNum(page.getPageNum());
 
+            msgResult.setResult(true);
+            msgResult.setData(PojoUtils.pageWrapper(pageDto));
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
 
-        msgResult.setResult(true);
-        msgResult.setData(PojoUtils.pageWrapper(pageDto));
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
 
         return msgResult;
     }