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

Merge remote-tracking branch 'origin/master'

jz.kai 4 лет назад
Родитель
Сommit
5d61f738bf

+ 1 - 0
common/src/main/java/com/jpsoft/employment/modules/job/dto/ResumeDeliverRecordDTO.java

@@ -15,5 +15,6 @@ public class ResumeDeliverRecordDTO {
     private String remark;
     private String resumeDeliverId;
     private String resumeId;
+    private String recruitmentId;
 
 }

+ 6 - 0
common/src/main/java/com/jpsoft/employment/modules/job/entity/ResumeDeliverRecord.java

@@ -70,4 +70,10 @@ public class ResumeDeliverRecord {
 
     @ApiModelProperty(value = "部门")
     private String entryDepartment;
+
+	@ApiModelProperty(value = "简历ID,用于显示,不保存数据库")
+    private String resumeId;
+
+	@ApiModelProperty(value = "招聘ID,用于显示,不保存数据库")
+	private String recruitmentId;
 }

+ 54 - 36
common/src/main/java/com/jpsoft/employment/modules/job/service/impl/ResumeDeliverRecordServiceImpl.java

@@ -5,6 +5,7 @@ import java.util.Map;
 import java.util.UUID;
 import javax.annotation.Resource;
 
+import com.jpsoft.employment.modules.common.utils.StringUtils;
 import com.jpsoft.employment.modules.job.dao.*;
 import com.jpsoft.employment.modules.job.entity.*;
 import com.jpsoft.employment.modules.job.service.RecruitmentService;
@@ -52,6 +53,29 @@ public class ResumeDeliverRecordServiceImpl implements ResumeDeliverRecordServic
 		// TODO Auto-generated method stub
 		int affectCount = 0;
 
+		ResumeDeliver resumeDeliver;
+
+		if(StringUtils.isEmpty(model.getResumeDeliverId())){
+			resumeDeliver = new ResumeDeliver();
+			resumeDeliver.setId(UUID.randomUUID().toString());
+			resumeDeliver.setCreateBy(model.getCreateBy());
+			resumeDeliver.setCreateTime(model.getCreateTime());
+			resumeDeliver.setDelFlag(false);
+			resumeDeliver.setJobUserId(model.getJobUserId());
+			resumeDeliver.setJobResumeId(model.getResumeId());
+			resumeDeliver.setChatStatus("3");//未投递岗位,直接邀请面试,所有状态直接设置为邀请面试
+			resumeDeliver.setJobRecruitmentId(model.getRecruitmentId());
+
+			int index = resumeDeliverDAO.insert(resumeDeliver);
+		}
+		else{
+			resumeDeliver = resumeDeliverDAO.get(model.getResumeDeliverId());
+		}
+
+		if(StringUtils.isEmpty(model.getResumeDeliverId())){
+			model.setResumeDeliverId(resumeDeliver.getId());
+		}
+
 		int count = resumeDeliverRecordDAO.insert(model);
 
 		if(count>0){
@@ -60,44 +84,38 @@ public class ResumeDeliverRecordServiceImpl implements ResumeDeliverRecordServic
 			resumeDeliverContent.setCreateBy(model.getCreateBy());
 			resumeDeliverContent.setCreateTime(model.getCreateTime());
 			resumeDeliverContent.setDelFlag(false);
-			resumeDeliverContent.setDeliverId(model.getResumeDeliverId());
-
-			ResumeDeliver resumeDeliver = resumeDeliverDAO.get(model.getResumeDeliverId());
-
-
-
-			if(resumeDeliver!=null){
-                Recruitment recruitment = recruitmentDAO.get(resumeDeliver.getJobRecruitmentId());
-
-                Resume resume = resumeDAO.get(resumeDeliver.getJobResumeId());
-
-                resumeDeliverContent.setJobUserId(model.getJobUserId());
-                if(recruitment!=null){
-                    resumeDeliverContent.setJobResumeId(recruitment.getId());
-                }
-                if(resume!=null){
-                    resumeDeliverContent.setJobResumeId(resume.getId());
-                }
-
-                resumeDeliverContent.setChatStatus(chatType);
-
-				if(chatType.equals("2")) {
-					resumeDeliverContent.setTodoTime(model.getChatDateStr());
-					resumeDeliverContent.setTodoMinuteStart(model.getBeginTime());
-					resumeDeliverContent.setTodoMinuteEnd(model.getEndTime());
-				}
-				else if(chatType.equals("3")){
-                    resumeDeliverContent.setAddress(model.getRemark());
-				}
-				else if(chatType.equals("4")){
-                    resumeDeliverContent.setEntryPost(model.getEntryPosition());
-                    resumeDeliverContent.setEntryDepartment(model.getEntryDepartment());
-				}
-				else if(chatType.equals("6")){
-					resumeDeliverContent.setRemark(model.getRemark());
-				}
+
+			resumeDeliverContent.setDeliverId(resumeDeliver.getId());
+
+			Recruitment recruitment = recruitmentDAO.get(resumeDeliver.getJobRecruitmentId());
+
+			Resume resume = resumeDAO.get(resumeDeliver.getJobResumeId());
+
+			resumeDeliverContent.setJobUserId(model.getJobUserId());
+			if(recruitment!=null){
+				resumeDeliverContent.setJobResumeId(recruitment.getId());
 			}
+			if(resume!=null){
+				resumeDeliverContent.setJobResumeId(resume.getId());
+			}
+
+			resumeDeliverContent.setChatStatus(chatType);
 
+			if(chatType.equals("2")) {
+				resumeDeliverContent.setTodoTime(model.getChatDateStr());
+				resumeDeliverContent.setTodoMinuteStart(model.getBeginTime());
+				resumeDeliverContent.setTodoMinuteEnd(model.getEndTime());
+			}
+			else if(chatType.equals("3")){
+				resumeDeliverContent.setAddress(model.getRemark());
+			}
+			else if(chatType.equals("4")){
+				resumeDeliverContent.setEntryPost(model.getEntryPosition());
+				resumeDeliverContent.setEntryDepartment(model.getEntryDepartment());
+			}
+			else if(chatType.equals("6")){
+				resumeDeliverContent.setRemark(model.getRemark());
+			}
 
             affectCount = resumeDeliverContentDAO.insert(resumeDeliverContent);
 		}

+ 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;
     }

+ 102 - 63
web/src/main/java/com/jpsoft/employment/modules/job/controller/ResumeDeliverController.java

@@ -87,6 +87,7 @@ public class ResumeDeliverController {
         MessageResult<ResumeDeliverRecord> msgResult = new MessageResult<>();
 
         try {
+
             ResumeDeliverRecord resumeDeliverRecord=new ResumeDeliverRecord();
             resumeDeliverRecord.setId(UUID.randomUUID().toString());
             resumeDeliverRecord.setCreateBy(subject);
@@ -96,7 +97,9 @@ public class ResumeDeliverController {
 
             resumeDeliverRecord.setDelFlag(false);
 
-            resumeDeliverRecord.setResumeDeliverId(resumeDeliverRecordDTO.getResumeDeliverId());
+            if(StringUtils.isNotEmpty(resumeDeliverRecordDTO.getResumeDeliverId())){
+                resumeDeliverRecord.setResumeDeliverId(resumeDeliverRecordDTO.getResumeDeliverId());
+            }
 
             String chatStatusN = dataDictionaryService.findNameByCatalogNameAndValue("沟通状态",resumeDeliverRecordDTO.getChatType());
 
@@ -131,6 +134,15 @@ public class ResumeDeliverController {
             }
             else if(resumeDeliverRecordDTO.getChatType().equals("3")){
                 //邀请面试
+                if(StringUtils.isEmpty(resumeDeliverRecordDTO.getResumeDeliverId())){
+                    resumeDeliverRecord.setResumeId(resumeDeliverRecordDTO.getResumeId());
+                    //resumeDeliverRecord.setRecruitmentId(resumeDeliverRecordDTO.getRecruitmentId());
+                    Resume resume = resumeService.get(resumeDeliverRecordDTO.getResumeId());
+                    if(resume!=null){
+                        resumeDeliverRecord.setJobUserId(resume.getJobUserId());
+                    }
+                }
+
                 if (resumeDeliverRecordDTO.getChatDate() != null) {
                     ChatDateStr = sdf.format(resumeDeliverRecordDTO.getChatDate());
                 }
@@ -156,19 +168,21 @@ public class ResumeDeliverController {
                         entryDepartment = ChatTimeArray[1];
                     }
 
-                    resumeDeliverRecord.setRemark("录用人:"+jobUser.getRealName()+",身份证号:"+jobUser.getIdCard()+",入职公司:"+company.getName()+",入职岗位:"+entryPosition+",入职部门:"+entryDepartment+",工作地点:"+recruitment.getArea());
+                    resumeDeliverRecord.setRemark("录用人:" + jobUser.getRealName() + ",身份证号:" + jobUser.getIdCard() + ",入职公司:" + company.getName() + ",入职岗位:" + entryPosition + ",入职部门:" + entryDepartment + ",工作地点:" + recruitment.getArea());
 
 
                     resumeDeliverRecord.setEntryPosition(entryPosition);
                     resumeDeliverRecord.setEntryDepartment(entryDepartment);
                     resumeDeliverRecord.setJobUserId(jobUser.getId());
                 }
+
             }
             else if(resumeDeliverRecordDTO.getChatType().equals("6")){
                 //拒绝/不合适
                 resumeDeliverRecord.setRemark("拒绝理由:" + resumeDeliverRecordDTO.getRemark());
             }
 
+
             int affectCount = resumeDeliverRecordService.insertAndResumeDeliver(resumeDeliverRecord,resumeDeliverRecordDTO.getChatType());
 
             if (affectCount > 0) {
@@ -488,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<>();
-
-        List<Sort> sortList = new ArrayList<>();
-        sortList.add(new Sort("a.create_time","desc"));
+        try {
 
-        if (!"0".equals(chatStatus)) {
-            searchParams.put("chatStatus",chatStatus);
-        }
+            //当前用户ID
+            System.out.println(subject);
 
-        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 (jobUser != null) {
+                    dto.setJobUserId(jobUser.getId());
+                    dto.setName(jobUser.getRealName());
 
-                if(workCategory != null) {
-                    dto.setPosition(workCategory.getName());
+                    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;
     }

+ 0 - 4
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/MessageNoticeApiController.java

@@ -262,16 +262,12 @@ public class MessageNoticeApiController {
                 messageRead.setMessageId(mc.getId());
                 messageRead.setUserId(subject);
                 messageRead.setIsRead(true);
-                messageRead.setIsAgree(false);
                 messageReadService.insert(messageRead);
                 isAgree = messageRead.getIsAgree();
             }else{
                 messageRead.setUpdateBy(subject);
                 messageRead.setUpdateTime(new Date());
                 messageRead.setIsRead(true);
-                if(messageRead.getIsAgree() == null){
-                    messageRead.setIsAgree(false);
-                }
                 messageReadService.update(messageRead);
                 isAgree = messageRead.getIsAgree();
             }