ソースを参照

求职管理沟通记录

yanliming 4 年 前
コミット
9f6f8d9aa7
16 ファイル変更255 行追加31 行削除
  1. 4 0
      common/src/main/java/com/jpsoft/employment/modules/job/dao/ResumeDeliverDAO.java
  2. 3 0
      common/src/main/java/com/jpsoft/employment/modules/job/dto/JobUserDTO.java
  3. 1 0
      common/src/main/java/com/jpsoft/employment/modules/job/dto/ResumeDeliverRecordDTO.java
  4. 20 0
      common/src/main/java/com/jpsoft/employment/modules/job/entity/ResumeDeliverRecord.java
  5. 1 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/ResumeDeliverRecordService.java
  6. 7 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/ResumeDeliverService.java
  7. 1 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/impl/RecruitmentServiceImpl.java
  8. 74 2
      common/src/main/java/com/jpsoft/employment/modules/job/service/impl/ResumeDeliverRecordServiceImpl.java
  9. 7 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/impl/ResumeDeliverServiceImpl.java
  10. 10 0
      common/src/main/java/com/jpsoft/employment/modules/sys/entity/User.java
  11. 8 0
      common/src/main/resources/mapper/job/ResumeDeliver.xml
  12. 1 0
      web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentCollectionController.java
  13. 1 1
      web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentController.java
  14. 114 28
      web/src/main/java/com/jpsoft/employment/modules/job/controller/ResumeDeliverController.java
  15. 1 0
      web/src/main/java/com/jpsoft/employment/modules/job/controller/UserBrowseController.java
  16. 2 0
      web/src/main/java/com/jpsoft/employment/modules/job/controller/UserBrowseHrController.java

+ 4 - 0
common/src/main/java/com/jpsoft/employment/modules/job/dao/ResumeDeliverDAO.java

@@ -1,6 +1,8 @@
 package com.jpsoft.employment.modules.job.dao;
 
 import java.util.List;
+
+import com.jpsoft.employment.modules.job.entity.Recruitment;
 import org.springframework.stereotype.Repository;
 import com.jpsoft.employment.modules.job.entity.ResumeDeliver;
 import java.util.Map;
@@ -19,4 +21,6 @@ public interface ResumeDeliverDAO {
 	List<ResumeDeliver> search(@Param("searchParams") Map<String,Object> searchParams, @Param("sortList")List<Sort> sortList);
 
 	ResumeDeliver findByUserIdAndRecruitmentId(String userId,String recuitmentId,String chatStatus);
+
+	List<ResumeDeliver> listBySearch(@Param("resumeId")String resumeId,@Param("recruitmentList")List<Recruitment> recruitmentList);
 }

+ 3 - 0
common/src/main/java/com/jpsoft/employment/modules/job/dto/JobUserDTO.java

@@ -18,6 +18,9 @@ public class JobUserDTO {
     @ApiModelProperty(value = "入职工作地")
     private String area;
 
+    @ApiModelProperty(value = "入职工作地")
+    private String areaN;
+
     //只做显示作用不保存数据库
     private String resumeDeliverId;
 

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

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

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

@@ -50,4 +50,24 @@ public class ResumeDeliverRecord {
 	@ApiModelProperty(value = "备注")
 	private String remark;
 
+
+	//以下字段作为显示使用不存入数据库
+	@ApiModelProperty(value = "日期")
+	private String ChatDateStr;
+
+	@ApiModelProperty(value = "开始时间")
+	private String beginTime;
+
+	@ApiModelProperty(value = "结束时间")
+	private String endTime;
+
+
+	@ApiModelProperty(value = "用户Id")
+	private String jobUserId;
+
+    @ApiModelProperty(value = "岗位")
+    private String entryPosition;
+
+    @ApiModelProperty(value = "部门")
+    private String entryDepartment;
 }

+ 1 - 0
common/src/main/java/com/jpsoft/employment/modules/job/service/ResumeDeliverRecordService.java

@@ -10,6 +10,7 @@ public interface ResumeDeliverRecordService {
 	ResumeDeliverRecord get(String id);
 	boolean exist(String id);
 	int insert(ResumeDeliverRecord model);
+	int insertAndResumeDeliver(ResumeDeliverRecord model,String chatType);
 	int update(ResumeDeliverRecord model);
 	int delete(String id);
 	List<ResumeDeliverRecord> list();

+ 7 - 0
common/src/main/java/com/jpsoft/employment/modules/job/service/ResumeDeliverService.java

@@ -2,6 +2,8 @@ package com.jpsoft.employment.modules.job.service;
 
 import java.util.List;
 import java.util.Map;
+
+import com.jpsoft.employment.modules.job.entity.Recruitment;
 import com.jpsoft.employment.modules.job.entity.ResumeDeliver;
 import com.github.pagehelper.Page;
 import com.jpsoft.employment.modules.common.dto.Sort;
@@ -17,4 +19,9 @@ public interface ResumeDeliverService {
 	Page<ResumeDeliver> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
 
 	ResumeDeliver findByUserIdAndRecruitmentId(String userId,String recuitmentId,String chatStatus);
+
+
+	List<ResumeDeliver> listBySearch(String resumeId,List<Recruitment> recruitmentList);
+
+
 }

+ 1 - 0
common/src/main/java/com/jpsoft/employment/modules/job/service/impl/RecruitmentServiceImpl.java

@@ -79,6 +79,7 @@ public class RecruitmentServiceImpl implements RecruitmentService {
 	public int countByCompanyId(String companyId){
 		return recruitmentDAO.countByCompanyId(companyId);
 	}
+
 		
 	@Override
 	public Page<Recruitment> pageSearch(Map<String, Object> searchParams, int pageNumber, int pageSize,boolean count,List<Sort> sortList) {

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

@@ -4,10 +4,12 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 import javax.annotation.Resource;
+
+import com.jpsoft.employment.modules.job.dao.*;
+import com.jpsoft.employment.modules.job.entity.*;
+import com.jpsoft.employment.modules.job.service.RecruitmentService;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
-import com.jpsoft.employment.modules.job.dao.ResumeDeliverRecordDAO;
-import com.jpsoft.employment.modules.job.entity.ResumeDeliverRecord;
 import com.jpsoft.employment.modules.job.service.ResumeDeliverRecordService;
 import com.github.pagehelper.Page;
 import com.jpsoft.employment.modules.common.dto.Sort;
@@ -19,6 +21,18 @@ public class ResumeDeliverRecordServiceImpl implements ResumeDeliverRecordServic
 	@Resource(name="resumeDeliverRecordDAO")
 	private ResumeDeliverRecordDAO resumeDeliverRecordDAO;
 
+	@Resource(name="resumeDeliverContentDAO")
+	private ResumeDeliverContentDAO resumeDeliverContentDAO;
+
+	@Resource(name="resumeDeliverDAO")
+	private ResumeDeliverDAO resumeDeliverDAO;
+
+    @Resource(name="recruitmentDAO")
+    private RecruitmentDAO recruitmentDAO;
+
+    @Resource(name="resumeDAO")
+    private ResumeDAO resumeDAO;
+
 	@Override
 	public ResumeDeliverRecord get(String id) {
 		// TODO Auto-generated method stub
@@ -33,6 +47,64 @@ public class ResumeDeliverRecordServiceImpl implements ResumeDeliverRecordServic
 		return resumeDeliverRecordDAO.insert(model);
 	}
 
+	@Override
+	public int insertAndResumeDeliver(ResumeDeliverRecord model,String chatType) {
+		// TODO Auto-generated method stub
+		int affectCount = 0;
+
+		int count = resumeDeliverRecordDAO.insert(model);
+
+		if(count>0){
+			ResumeDeliverContent resumeDeliverContent = new ResumeDeliverContent();
+			resumeDeliverContent.setId(UUID.randomUUID().toString());
+			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());
+                }
+
+				if(chatType.equals("2")) {
+					resumeDeliverContent.setChatStatus(resumeDeliver.getChatStatus());
+					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);
+		}
+
+
+		return affectCount;
+	}
+
 	@Override
 	public int update(ResumeDeliverRecord model) {
 		// TODO Auto-generated method stub

+ 7 - 0
common/src/main/java/com/jpsoft/employment/modules/job/service/impl/ResumeDeliverServiceImpl.java

@@ -4,6 +4,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 import javax.annotation.Resource;
+
+import com.jpsoft.employment.modules.job.entity.Recruitment;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 import com.jpsoft.employment.modules.job.dao.ResumeDeliverDAO;
@@ -77,4 +79,9 @@ public class ResumeDeliverServiceImpl implements ResumeDeliverService {
 	public ResumeDeliver findByUserIdAndRecruitmentId(String userId,String recuitmentId,String chatStatus){
 		return resumeDeliverDAO.findByUserIdAndRecruitmentId(userId,recuitmentId,chatStatus);
 	}
+
+	@Override
+	public List<ResumeDeliver> listBySearch(String resumeId,List<Recruitment> recruitmentList){
+		return resumeDeliverDAO.listBySearch(resumeId,recruitmentList);
+	}
 }

+ 10 - 0
common/src/main/java/com/jpsoft/employment/modules/sys/entity/User.java

@@ -33,6 +33,16 @@ public class User {
 	//只做显示作用不保存数据库
 	private String resumeDeliverId;
 
+	//只做显示作用不保存数据库
+	private String resumeId;
+
+	public String getResumeId() {
+		return resumeId;
+	}
+
+	public void setResumeId(String resumeId) {
+		this.resumeId = resumeId;
+	}
 
 	public String getResumeDeliverId() {
 		return resumeDeliverId;

+ 8 - 0
common/src/main/resources/mapper/job/ResumeDeliver.xml

@@ -126,4 +126,12 @@
 			</if>
 		limit 1
 	</select>
+
+	<select id="listBySearch" parameterType="string" resultMap="ResumeDeliverMap">
+		select * from job_resume_deliver WHERE del_flag = false and job_resume_id = #{resumeId}
+		<foreach collection="recruitmentList" index="index" item="item" open="and job_recruitment_id in("
+				 separator="," close=")">
+			#{item.id}
+		</foreach>
+	</select>
 </mapper>

+ 1 - 0
web/src/main/java/com/jpsoft/employment/modules/job/controller/RecruitmentCollectionController.java

@@ -293,6 +293,7 @@ public class RecruitmentCollectionController {
             String positionName = "";
 
             if(resume!=null){
+                dto.setResumeId(resume.getId());
                 DataDictionary dataDictionary = dataDictionaryService.get(resume.getWorkExp());
 
                 if(dataDictionary!=null){

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

@@ -231,7 +231,7 @@ public class RecruitmentController {
                 }
 
                 if(StringUtils.isNotEmpty(recruitment.getPositionSex())){
-                    recruitment.setPositionSexN(dataDictionaryService.getName(recruitment.getPositionSex()));
+                    recruitment.setPositionSexN(dataDictionaryService.findNameByCatalogNameAndValue("性别",recruitment.getPositionSex()));
                 }
                 else{
                     recruitment.setPositionSexN("男女不限");

+ 114 - 28
web/src/main/java/com/jpsoft/employment/modules/job/controller/ResumeDeliverController.java

@@ -3,7 +3,9 @@ package com.jpsoft.employment.modules.job.controller;
 import cn.hutool.core.util.IdcardUtil;
 import com.github.pagehelper.Page;
 import com.jpsoft.employment.config.OSSConfig;
+import com.jpsoft.employment.modules.base.entity.City;
 import com.jpsoft.employment.modules.base.entity.Company;
+import com.jpsoft.employment.modules.base.service.CityService;
 import com.jpsoft.employment.modules.base.service.CompanyService;
 import com.jpsoft.employment.modules.common.dto.MessageResult;
 import com.jpsoft.employment.modules.common.dto.Sort;
@@ -53,7 +55,7 @@ public class ResumeDeliverController {
     private RecruitmentService recruitmentService;
 
     @Autowired
-    private ResumeService rsumeService;
+    private ResumeService resumeService;
 
     @Autowired
     private WorkCategoryService workCategoryService;
@@ -76,6 +78,9 @@ public class ResumeDeliverController {
     @Autowired
     private ResumeWorkExperienceService resumeWorkExperienceService;
 
+    @Autowired
+    private CityService cityService;
+
     @ApiOperation(value="添加信息")
     @PostMapping("add")
     public MessageResult<ResumeDeliverRecord> add(@RequestBody ResumeDeliverRecordDTO resumeDeliverRecordDTO,@RequestAttribute String subject){
@@ -90,6 +95,7 @@ public class ResumeDeliverController {
             resumeDeliverRecord.setCreateTime(now);
 
             resumeDeliverRecord.setDelFlag(false);
+
             resumeDeliverRecord.setResumeDeliverId(resumeDeliverRecordDTO.getResumeDeliverId());
 
             String chatStatusN = dataDictionaryService.findNameByCatalogNameAndValue("沟通状态",resumeDeliverRecordDTO.getChatType());
@@ -118,6 +124,10 @@ public class ResumeDeliverController {
                 }
 
                 resumeDeliverRecord.setRemark("沟通时间:" + ChatDateStr + " " + beginTime + "-" + endTime);
+
+                resumeDeliverRecord.setChatDateStr(ChatDateStr);
+                resumeDeliverRecord.setBeginTime(beginTime);
+                resumeDeliverRecord.setEndTime(endTime);
             }
             else if(resumeDeliverRecordDTO.getChatType().equals("3")){
                 //邀请面试
@@ -147,6 +157,11 @@ public class ResumeDeliverController {
                     }
 
                     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")){
@@ -154,36 +169,40 @@ public class ResumeDeliverController {
                 resumeDeliverRecord.setRemark("拒绝理由:" + resumeDeliverRecordDTO.getRemark());
             }
 
-            int affectCount = resumeDeliverRecordService.insert(resumeDeliverRecord);
+            int affectCount = resumeDeliverRecordService.insertAndResumeDeliver(resumeDeliverRecord,resumeDeliverRecordDTO.getChatType());
 
             if (affectCount > 0) {
-                ResumeDeliver resumeDeliver = resumeDeliverService.get(resumeDeliverRecordDTO.getResumeDeliverId());
-
-                if(resumeDeliver!=null){
-                    resumeDeliver.setChatStatus(resumeDeliverRecordDTO.getChatType());
-                    resumeDeliver.setUpdateBy(subject);
-                    resumeDeliver.setUpdateTime(now);
-
-                    //更改沟通状态
-                    int count = resumeDeliverService.update(resumeDeliver);
+                msgResult.setResult(true);
+                msgResult.setData(resumeDeliverRecord);
 
-                    if(count>0){
-                        msgResult.setResult(true);
-                        msgResult.setData(resumeDeliverRecord);
-                    }
-                    else{
-                        msgResult.setResult(false);
-                        msgResult.setMessage("数据库添加失败");
-                    }
-                }
-                else{
-                    msgResult.setResult(false);
-                    msgResult.setMessage("数据库添加失败");
-                }
             } else {
                 msgResult.setResult(false);
                 msgResult.setMessage("数据库添加失败");
             }
+
+//                ResumeDeliver resumeDeliver = resumeDeliverService.get(resumeDeliverRecordDTO.getResumeDeliverId());
+//
+//                if(resumeDeliver!=null){
+//                    resumeDeliver.setChatStatus(resumeDeliverRecordDTO.getChatType());
+//                    resumeDeliver.setUpdateBy(subject);
+//                    resumeDeliver.setUpdateTime(now);
+//
+//                    //更改沟通状态
+//                    int count = resumeDeliverService.update(resumeDeliver);
+//
+//                    if(count>0){
+//                        msgResult.setResult(true);
+//                        msgResult.setData(resumeDeliverRecord);
+//                    }
+//                    else{
+//                        msgResult.setResult(false);
+//                        msgResult.setMessage("数据库添加失败");
+//                    }
+//                }
+//                else{
+//                    msgResult.setResult(false);
+//                    msgResult.setMessage("数据库添加失败");
+//                }
         }
         catch(Exception ex){
             logger.error(ex.getMessage(),ex);
@@ -261,7 +280,12 @@ public class ResumeDeliverController {
 
                     }
                     dto.setArea(recruitment.getArea());
-
+                    if(StringUtils.isNotEmpty(recruitment.getArea())) {
+                        City zone = cityService.get(Integer.parseInt(recruitment.getArea()));
+                        if(zone!=null){
+                            dto.setAreaN(zone.getCityName());
+                        }
+                    }
                 }
 
                 msgResult.setResult(true);
@@ -282,6 +306,68 @@ public class ResumeDeliverController {
         return msgResult;
     }
 
+
+    @ApiOperation(value="由简历管理跳转获取邀请面试信息")
+    @GetMapping("resumeEdit/{resumeId}")
+    public MessageResult<User> resumeEdit(@PathVariable("resumeId") String resumeId,@RequestAttribute String subject){
+        MessageResult<User> msgResult = new MessageResult<>();
+
+        try {
+
+            User user = userService.get(subject);
+
+            Resume resume = resumeService.get(resumeId);
+
+            Company company = companyService.get(user.getCompanyId());
+
+            List<ResumeDeliver> resumeDeliverList = new ArrayList<>();
+
+            if(company!=null){
+                List<Recruitment> recruitmentList = recruitmentService.findByCompanyId(company.getId());
+
+                resumeDeliverList = resumeDeliverService.listBySearch(resume.getId(),recruitmentList);
+            }
+
+            ResumeDeliver resumeDeliver;
+
+            if(resumeDeliverList.size()==1){
+                //只有一条投递记录
+                resumeDeliver = resumeDeliverList.get(0);
+                user.setResumeDeliverId(resumeDeliver.getId());
+            }
+            else if(resumeDeliverList.size()>1){
+                //有1条以上的投递记录
+            }
+            else{
+                //没有投递记录
+                resumeDeliver = new ResumeDeliver();
+            }
+
+            if (user != null) {
+                user.setResumeId(resumeId);
+                if(company!=null){
+                    user.setCompanyName(company.getName());
+                }
+
+                msgResult.setResult(true);
+                msgResult.setData(user);
+            }
+            else{
+                msgResult.setResult(true);
+                msgResult.setMessage("用户未登录或登录过期,请重新登录!");
+            }
+
+        }
+        catch(Exception ex){
+            logger.error(ex.getMessage(),ex);
+
+            msgResult.setResult(false);
+            msgResult.setMessage(ex.getMessage());
+        }
+
+        return msgResult;
+    }
+
     @ApiOperation(value="更新用户")
     @PostMapping("update")
     public MessageResult<ResumeDeliver> update(@ModelAttribute ResumeDeliver resumeDeliver){
@@ -409,7 +495,7 @@ public class ResumeDeliverController {
 
             }
 
-            Resume resume = rsumeService.get(resumeDeliver.getJobResumeId());
+            Resume resume = resumeService.get(resumeDeliver.getJobResumeId());
 
             if(resume!=null){
                 dto.setDreamMoney(dataDictionaryService.getName(resume.getDreamMoney()));
@@ -624,7 +710,7 @@ public class ResumeDeliverController {
                 map.put("position",workCategory.getName());
             }
 
-            Resume resume = rsumeService.get(resumeDeliver.getJobResumeId());
+            Resume resume = resumeService.get(resumeDeliver.getJobResumeId());
 
             if(resume!=null){
                 map.put("dreamMoney",resume.getDreamMoney());
@@ -736,7 +822,7 @@ public class ResumeDeliverController {
                 }
             }
 
-            Resume resume = rsumeService.get(resumeDeliver.getJobResumeId());
+            Resume resume = resumeService.get(resumeDeliver.getJobResumeId());
 
             String workExpName="";
             String dreamMoneyName="";

+ 1 - 0
web/src/main/java/com/jpsoft/employment/modules/job/controller/UserBrowseController.java

@@ -382,6 +382,7 @@ public class UserBrowseController {
                 String educationName="";
 
                 if(resume!=null){
+                    dto.setResumeId(resume.getId());
                     DataDictionary dataDictionary = dataDictionaryService.get(resume.getWorkExp());
 
                     if(dataDictionary!=null){

+ 2 - 0
web/src/main/java/com/jpsoft/employment/modules/job/controller/UserBrowseHrController.java

@@ -288,6 +288,8 @@ public class UserBrowseHrController {
 
 
             if(resume!=null){
+                dto.setResumeId(resume.getId());
+
                 DataDictionary dataDictionary = dataDictionaryService.get(resume.getWorkExp());
 
                 if(dataDictionary!=null){