Forráskód Böngészése

Merge branch 'hr_728'

yonge 4 éve
szülő
commit
06c46378e2
24 módosított fájl, 524 hozzáadás és 32 törlés
  1. 18 4
      cms/src/main/java/com/ym/mec/cms/controller/NewsController.java
  2. 10 0
      cms/src/main/java/com/ym/mec/cms/controller/queryinfo/NewsInformationQueryInfo.java
  3. 1 1
      cms/src/main/java/com/ym/mec/cms/service/impl/SysNewsInformationServiceImpl.java
  4. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/handler/BaseAuthenticationSuccessEventHandler.java
  5. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java
  6. 1 1
      mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java
  7. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/EmployeeInfoDao.java
  8. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/EmployeeVisitDao.java
  9. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/EmployeeInfoDto.java
  10. 66 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/EmployeeInfo.java
  11. 91 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/EmployeeVisit.java
  12. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/enums/StaffStatusEnum.java
  13. 20 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/EmployeeInfoQueryInfo.java
  14. 2 0
      mec-biz/src/main/java/com/ym/mec/biz/service/EmployeeInfoService.java
  15. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/EmployeeVisitService.java
  16. 6 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeInfoServiceImpl.java
  17. 48 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeVisitServiceImpl.java
  18. 2 1
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java
  19. 45 4
      mec-biz/src/main/resources/config/mybatis/EmployeeInfoMapper.xml
  20. 84 0
      mec-biz/src/main/resources/config/mybatis/EmployeeVisitMapper.xml
  21. 8 6
      mec-client-api/src/main/java/com/ym/mec/web/WebFeignService.java
  22. 7 3
      mec-client-api/src/main/java/com/ym/mec/web/fallback/WebFeignServiceFallback.java
  23. 43 8
      mec-web/src/main/java/com/ym/mec/web/controller/APIController.java
  24. 27 0
      mec-web/src/main/java/com/ym/mec/web/controller/EmployeeInfoController.java

+ 18 - 4
cms/src/main/java/com/ym/mec/cms/controller/NewsController.java

@@ -8,6 +8,7 @@ import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -26,6 +27,7 @@ import com.ym.mec.cms.service.SysNewsInformationService;
 import com.ym.mec.cms.service.SysNewsTypeService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.web.WebFeignService;
 import com.yonge.log.model.AuditLogAnnotation;
 
 @RestController
@@ -44,16 +46,28 @@ public class NewsController extends BaseController {
 	
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
-
+	
+	@Autowired
+	private WebFeignService webFeignService;
+	
 	@ApiOperation("资讯列表分页查询")
 	@GetMapping(value = "/list")
 	public Object getList(NewsInformationQueryInfo queryInfo) {
+
 		SysUser user = sysUserFeignService.queryUserInfo();
-		if (user == null || user.getId() == null) {
-			queryInfo.setOrganId(43);
+		
+		String clientId = queryInfo.getClientId();
+		
+		if (!StringUtils.equalsIgnoreCase("student", clientId)) {
+			queryInfo.setOrganIdList(webFeignService.queryOrganIdByUserId(user.getId(), clientId));
 		} else {
-			queryInfo.setOrganId(user.getOrganId());
+			if (user == null || user.getId() == null) {
+				queryInfo.setOrganId(43);
+			} else {
+				queryInfo.setOrganId(user.getOrganId());
+			}
 		}
+		
 		Map<String, Object> params = new HashMap<String, Object>();
 		MapUtil.populateMap(params, queryInfo);
 		int count = sysNewsInformationDao.queryCount(params);

+ 10 - 0
cms/src/main/java/com/ym/mec/cms/controller/queryinfo/NewsInformationQueryInfo.java

@@ -35,6 +35,8 @@ public class NewsInformationQueryInfo extends QueryInfo {
 	
 	private String clientName;
 	
+	private String clientId;
+	
 	private String organIdList;
 	
 	private Date date;
@@ -126,4 +128,12 @@ public class NewsInformationQueryInfo extends QueryInfo {
 	public void setOrganIdList(String organIdList) {
 		this.organIdList = organIdList;
 	}
+
+	public String getClientId() {
+		return clientId;
+	}
+
+	public void setClientId(String clientId) {
+		this.clientId = clientId;
+	}
 }

+ 1 - 1
cms/src/main/java/com/ym/mec/cms/service/impl/SysNewsInformationServiceImpl.java

@@ -23,8 +23,8 @@ import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
-import com.ym.mec.im.WebFeignService;
 import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.web.WebFeignService;
 
 @Service
 public class SysNewsInformationServiceImpl extends BaseServiceImpl<Long, SysNewsInformation> implements SysNewsInformationService {

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/core/handler/BaseAuthenticationSuccessEventHandler.java

@@ -12,7 +12,7 @@ import javax.servlet.http.HttpServletResponse;
 import com.ym.mec.common.entity.ImResult;
 import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.im.ImFeignService;
-import com.ym.mec.im.WebFeignService;
+import com.ym.mec.web.WebFeignService;
 
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.StringUtils;

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/SysUserServiceImpl.java

@@ -23,7 +23,7 @@ import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.im.ImFeignService;
-import com.ym.mec.im.WebFeignService;
+import com.ym.mec.web.WebFeignService;
 
 @Service
 public class SysUserServiceImpl extends BaseServiceImpl<Integer, SysUser> implements SysUserService {

+ 1 - 1
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/web/controller/UserController.java

@@ -1,6 +1,5 @@
 package com.ym.mec.auth.web.controller;
 
-import com.ym.mec.im.WebFeignService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -40,6 +39,7 @@ import com.ym.mec.thirdparty.eseal.ESealPlugin;
 import com.ym.mec.thirdparty.user.realname.RealnameAuthenticationPluginContext;
 import com.ym.mec.thirdparty.user.realname.provider.LinkfaceRealnameAuthenticationPlugin;
 import com.ym.mec.util.date.DateUtil;
+import com.ym.mec.web.WebFeignService;
 
 @RestController()
 @RequestMapping("user")

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/EmployeeInfoDao.java

@@ -1,9 +1,10 @@
 package com.ym.mec.biz.dal.dao;
 
+import com.ym.mec.biz.dal.dto.EmployeeInfoDto;
 import com.ym.mec.biz.dal.entity.EmployeeInfo;
 import com.ym.mec.common.dal.BaseDAO;
 
 public interface EmployeeInfoDao extends BaseDAO<Long, EmployeeInfo> {
 
-	
+	EmployeeInfoDto queryDetail(Long id);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/EmployeeVisitDao.java

@@ -0,0 +1,11 @@
+package com.ym.mec.biz.dal.dao;
+
+import java.util.List;
+
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.biz.dal.entity.EmployeeVisit;
+
+public interface EmployeeVisitDao extends BaseDAO<Long, EmployeeVisit> {
+
+	List<EmployeeVisit> queryByEmployeeInfoId(Long employeeInfoId);
+}

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/EmployeeInfoDto.java

@@ -0,0 +1,20 @@
+package com.ym.mec.biz.dal.dto;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.ym.mec.biz.dal.entity.EmployeeInfo;
+import com.ym.mec.biz.dal.entity.EmployeeVisit;
+
+public class EmployeeInfoDto extends EmployeeInfo {
+
+	private List<EmployeeVisit> employeeVisitList = new ArrayList<EmployeeVisit>();
+
+	public List<EmployeeVisit> getEmployeeVisitList() {
+		return employeeVisitList;
+	}
+
+	public void setEmployeeVisitList(List<EmployeeVisit> employeeVisitList) {
+		this.employeeVisitList = employeeVisitList;
+	}
+}

+ 66 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/EmployeeInfo.java

@@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
 
 import org.apache.commons.lang3.builder.ToStringBuilder;
 
+import com.ym.mec.biz.dal.enums.JobNatureEnum;
 import com.ym.mec.biz.dal.enums.JobTypeEnum;
 import com.ym.mec.biz.dal.enums.StaffStatusEnum;
 
@@ -56,6 +57,9 @@ public class EmployeeInfo {
 
 	@ApiModelProperty(value = "声部", required = false)
 	private String subjectIdList;
+
+	@ApiModelProperty(value = "入职声部", required = false)
+	private String jobSubjectIdList;
 	
 	private String subjectName;
 
@@ -91,6 +95,9 @@ public class EmployeeInfo {
 	@ApiModelProperty(value = "离职日期", required = false)
 	private java.util.Date resignationDate;
 
+	@ApiModelProperty(value = "离职原因", required = false)
+	private String resignationReason;
+
 	@ApiModelProperty(value = "操作人编号", required = false)
 	private Integer operatorId;
 	
@@ -98,6 +105,17 @@ public class EmployeeInfo {
 
 	@ApiModelProperty(value = "信息来源", required = false)
 	private String sourceFrom;
+	
+	@ApiModelProperty(value = "岗位类别", required = false)
+	private JobTypeEnum jobType;
+	
+	@ApiModelProperty(value = "意向合作方式", required = false)
+	private JobNatureEnum jobNature;
+	
+	private String hrbp;
+	
+	/** 下次回访时间 */
+	private java.util.Date nextVisitDate;
 
 	/**  */
 	private java.util.Date createTime;
@@ -361,6 +379,54 @@ public class EmployeeInfo {
 		this.operatorName = operatorName;
 	}
 
+	public String getJobSubjectIdList() {
+		return jobSubjectIdList;
+	}
+
+	public void setJobSubjectIdList(String jobSubjectIdList) {
+		this.jobSubjectIdList = jobSubjectIdList;
+	}
+
+	public String getResignationReason() {
+		return resignationReason;
+	}
+
+	public void setResignationReason(String resignationReason) {
+		this.resignationReason = resignationReason;
+	}
+
+	public JobTypeEnum getJobType() {
+		return jobType;
+	}
+
+	public void setJobType(JobTypeEnum jobType) {
+		this.jobType = jobType;
+	}
+
+	public JobNatureEnum getJobNature() {
+		return jobNature;
+	}
+
+	public void setJobNature(JobNatureEnum jobNature) {
+		this.jobNature = jobNature;
+	}
+
+	public java.util.Date getNextVisitDate() {
+		return nextVisitDate;
+	}
+
+	public void setNextVisitDate(java.util.Date nextVisitDate) {
+		this.nextVisitDate = nextVisitDate;
+	}
+
+	public String getHrbp() {
+		return hrbp;
+	}
+
+	public void setHrbp(String hrbp) {
+		this.hrbp = hrbp;
+	}
+
 	@Override
 	public String toString() {
 		return ToStringBuilder.reflectionToString(this);

+ 91 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/EmployeeVisit.java

@@ -0,0 +1,91 @@
+package com.ym.mec.biz.dal.entity;
+
+import org.apache.commons.lang3.builder.ToStringBuilder;
+
+/**
+ * 对应数据库表(employee_visit):
+ */
+public class EmployeeVisit {
+
+	/**  */
+	private Long id;
+	
+	/**  */
+	private Long employeeInfoId;
+	
+	/** 回访人 */
+	private Integer operatorId;
+	
+	private String operatorName;
+	
+	/** 回访内容 */
+	private String content;
+	
+	/** 下次回访时间 */
+	private java.util.Date nextVisitDate;
+	
+	/**  */
+	private java.util.Date createTime;
+	
+	public void setId(Long id){
+		this.id = id;
+	}
+	
+	public Long getId(){
+		return this.id;
+	}
+			
+	public void setEmployeeInfoId(Long employeeInfoId){
+		this.employeeInfoId = employeeInfoId;
+	}
+	
+	public Long getEmployeeInfoId(){
+		return this.employeeInfoId;
+	}
+			
+	public void setOperatorId(Integer operatorId){
+		this.operatorId = operatorId;
+	}
+	
+	public Integer getOperatorId(){
+		return this.operatorId;
+	}
+			
+	public void setContent(String content){
+		this.content = content;
+	}
+	
+	public String getContent(){
+		return this.content;
+	}
+			
+	public void setNextVisitDate(java.util.Date nextVisitDate){
+		this.nextVisitDate = nextVisitDate;
+	}
+	
+	public java.util.Date getNextVisitDate(){
+		return this.nextVisitDate;
+	}
+			
+	public void setCreateTime(java.util.Date createTime){
+		this.createTime = createTime;
+	}
+	
+	public java.util.Date getCreateTime(){
+		return this.createTime;
+	}
+			
+	public String getOperatorName() {
+		return operatorName;
+	}
+
+	public void setOperatorName(String operatorName) {
+		this.operatorName = operatorName;
+	}
+
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
+
+}

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/enums/StaffStatusEnum.java

@@ -4,7 +4,7 @@ import com.ym.mec.common.enums.BaseEnum;
 
 public enum StaffStatusEnum implements BaseEnum<String, StaffStatusEnum> {
 
-	NOT_EMPLOYED("未录用"), INTERVIEWING("面试中"), RESERVE("储备"), PART_TIME("兼职"), FULL_TIME("全职"), DIMISSION("离职");
+	NOT_EMPLOYED("未录用"), INTERVIEWING("面试中"), RESERVE("储备"), PART_TIME("兼职"), FULL_TIME("全职"), DIMISSION("离职"), BLACK_LIST("黑名单");
 
 	private String desc;
 

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/EmployeeInfoQueryInfo.java

@@ -36,6 +36,10 @@ public class EmployeeInfoQueryInfo extends QueryInfo {
 	private Date startDate;
 	
 	private Date endDate;
+	
+	private Date visitStartDate;
+	
+	private Date visitEndDate;
 
 	public String getUserNameOrIdOrMobile() {
 		return userNameOrIdOrMobile;
@@ -116,4 +120,20 @@ public class EmployeeInfoQueryInfo extends QueryInfo {
 	public void setIntentionCity(String intentionCity) {
 		this.intentionCity = intentionCity;
 	}
+
+	public Date getVisitStartDate() {
+		return visitStartDate;
+	}
+
+	public void setVisitStartDate(Date visitStartDate) {
+		this.visitStartDate = visitStartDate;
+	}
+
+	public Date getVisitEndDate() {
+		return visitEndDate;
+	}
+
+	public void setVisitEndDate(Date visitEndDate) {
+		this.visitEndDate = visitEndDate;
+	}
 }

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/EmployeeInfoService.java

@@ -1,8 +1,10 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.dto.EmployeeInfoDto;
 import com.ym.mec.biz.dal.entity.EmployeeInfo;
 import com.ym.mec.common.service.BaseService;
 
 public interface EmployeeInfoService extends BaseService<Long, EmployeeInfo> {
 
+	EmployeeInfoDto queryDetail(Long id);
 }

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

@@ -0,0 +1,9 @@
+package com.ym.mec.biz.service;
+
+import com.ym.mec.biz.dal.entity.EmployeeVisit;
+import com.ym.mec.common.service.BaseService;
+
+public interface EmployeeVisitService extends BaseService<Long, EmployeeVisit> {
+
+	long insert(EmployeeVisit employeeVisit);
+}

+ 6 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeInfoServiceImpl.java

@@ -4,6 +4,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.ym.mec.biz.dal.dao.EmployeeInfoDao;
+import com.ym.mec.biz.dal.dto.EmployeeInfoDto;
 import com.ym.mec.biz.dal.entity.EmployeeInfo;
 import com.ym.mec.biz.service.EmployeeInfoService;
 import com.ym.mec.common.dal.BaseDAO;
@@ -19,5 +20,10 @@ public class EmployeeInfoServiceImpl extends BaseServiceImpl<Long, EmployeeInfo>
 	public BaseDAO<Long, EmployeeInfo> getDAO() {
 		return employeeInfoDao;
 	}
+
+	@Override
+	public EmployeeInfoDto queryDetail(Long id) {
+		return employeeInfoDao.queryDetail(id);
+	}
 	
 }

+ 48 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/EmployeeVisitServiceImpl.java

@@ -0,0 +1,48 @@
+package com.ym.mec.biz.service.impl;
+
+import java.util.Date;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.ym.mec.biz.dal.dao.EmployeeInfoDao;
+import com.ym.mec.biz.dal.dao.EmployeeVisitDao;
+import com.ym.mec.biz.dal.entity.EmployeeInfo;
+import com.ym.mec.biz.dal.entity.EmployeeVisit;
+import com.ym.mec.biz.service.EmployeeVisitService;
+import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.exception.BizException;
+import com.ym.mec.common.service.impl.BaseServiceImpl;
+
+@Service
+public class EmployeeVisitServiceImpl extends BaseServiceImpl<Long, EmployeeVisit>  implements EmployeeVisitService {
+	
+	@Autowired
+	private EmployeeVisitDao employeeVisitDao;
+	
+	@Autowired
+	private EmployeeInfoDao employeeInfoDao; 
+
+	@Override
+	public BaseDAO<Long, EmployeeVisit> getDAO() {
+		return employeeVisitDao;
+	}
+
+	@Override
+    @Transactional(rollbackFor = Exception.class)
+	public long insert(EmployeeVisit bean) {
+		
+		EmployeeInfo employeeInfo = employeeInfoDao.get(bean.getEmployeeInfoId());
+		if(employeeInfo == null){
+			throw new BizException("用户信息查询失败");
+		}
+		
+		employeeInfo.setNextVisitDate(bean.getNextVisitDate());
+		employeeInfo.setUpdateTime(new Date());
+		employeeInfoDao.update(employeeInfo);
+		
+		return super.insert(bean);
+	}
+	
+}

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentManageServiceImpl.java

@@ -22,9 +22,10 @@ import com.ym.mec.common.entity.ImUserModel;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.im.ImFeignService;
-import com.ym.mec.im.WebFeignService;
 import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
+import com.ym.mec.web.WebFeignService;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;

+ 45 - 4
mec-biz/src/main/resources/config/mybatis/EmployeeInfoMapper.xml

@@ -19,6 +19,7 @@
 		<result column="intention_city_" property="intentionCity" />
 		<result column="educational_background_" property="educationalBackground" />
 		<result column="subject_id_list_" property="subjectIdList" />
+		<result column="job_subject_id_list_" property="jobSubjectIdList" />
 		<result column="assessment_result_" property="assessmentResult" />
 		<result column="other_comment_" property="otherComment" />
 		<result column="entry_date_" property="entryDate" />
@@ -28,20 +29,36 @@
 		<result column="bank_card_no_" property="bankCardNo" />
 		<result column="bank_address_" property="bankAddress" />
 		<result column="resignation_date_" property="resignationDate" />
+		<result column="resignation_reason_" property="resignationReason" />
 		<result column="organ_id_" property="organId" />
 		<result column="operator_id_" property="operatorId" />
 		<result column="source_from_" property="sourceFrom" />
+		<result column="job_type_" property="jobType" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
+		<result column="job_nature_" property="jobNature" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler" />
+		<result column="hrbp_" property="hrbp" />
 		<result column="create_time_" property="createTime" />
 		<result column="update_time_" property="updateTime" />
 		<result column="organName" property="organName" />
 		<result column="subjectName" property="subjectName" />
 		<result column="operatorName" property="operatorName" />
+		<result column="next_visit_date_" property="nextVisitDate" />
+	</resultMap>
+	
+	<resultMap type="com.ym.mec.biz.dal.dto.EmployeeInfoDto" id="EmployeeInfoDto" extends="EmployeeInfo">
+		
+        <collection property="employeeVisitList"
+                     select="com.ym.mec.biz.dal.dao.EmployeeVisitDao.queryByEmployeeInfoId"
+                     column="id_" />
+        
 	</resultMap>
 
 	<!-- 根据主键查询一条记录 -->
 	<select id="get" resultMap="EmployeeInfo">
-		SELECT * FROM
-		employee_info WHERE id_ = #{id}
+		SELECT * FROM employee_info WHERE id_ = #{id}
+	</select>
+	
+	<select id="queryDetail" resultMap="EmployeeInfoDto">
+		SELECT * FROM employee_info WHERE id_ = #{id}
 	</select>
 
 	<!-- 全查询 -->
@@ -56,8 +73,8 @@
 		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
 			AS ID FROM DUAL </selectKey> -->
 		INSERT INTO employee_info
-		(id_,real_name_,mobile_no_,wechat_no_,id_card_,age_,gender_,birthdate_,emergency_contact_name_,emergency_contact_relation_,emergency_contact_phone_,live_city_,intention_city_,educational_background_,subject_id_list_,assessment_result_,other_comment_,entry_date_,organ_id_,position_,status_,is_probation_period_,bank_card_no_,bank_address_,resignation_date_,operator_id_,source_from_,create_time_,update_time_)
-		VALUES(#{id},#{realName},#{mobileNo},#{wechatNo},#{idCard},#{age},#{gender},#{birthdate},#{emergencyContactName},#{emergencyContactRelation},#{emergencyContactPhone},#{liveCity},#{intentionCity},#{educationalBackground},#{subjectIdList},#{assessmentResult},#{otherComment},#{entryDate},#{organId},#{position,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{isProbationPeriod},#{bankCardNo},#{bankAddress},#{resignationDate},#{operatorId},#{sourceFrom},#{createTime},#{updateTime})
+		(id_,real_name_,mobile_no_,wechat_no_,id_card_,age_,gender_,birthdate_,emergency_contact_name_,emergency_contact_relation_,emergency_contact_phone_,live_city_,intention_city_,educational_background_,subject_id_list_,assessment_result_,other_comment_,entry_date_,organ_id_,position_,status_,is_probation_period_,bank_card_no_,bank_address_,resignation_date_,operator_id_,source_from_,create_time_,update_time_,job_subject_id_list_,resignation_reason_,job_type_,job_nature_,hrbp_)
+		VALUES(#{id},#{realName},#{mobileNo},#{wechatNo},#{idCard},#{age},#{gender},#{birthdate},#{emergencyContactName},#{emergencyContactRelation},#{emergencyContactPhone},#{liveCity},#{intentionCity},#{educationalBackground},#{subjectIdList},#{assessmentResult},#{otherComment},#{entryDate},#{organId},#{position,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{isProbationPeriod},#{bankCardNo},#{bankAddress},#{resignationDate},#{operatorId},#{sourceFrom},#{createTime},#{updateTime},#{jobSubjectIdList},#{resignationReason},#{jobType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{jobNature,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{hrbp})
 	</insert>
 
 	<!-- 根据主键查询一条记录 -->
@@ -108,6 +125,24 @@
 			<if test="operatorId != null">
 				operator_id_ = #{operatorId},
 			</if>
+			<if test="jobSubjectIdList != null">
+				job_subject_id_list_ = #{jobSubjectIdList},
+			</if>
+			<if test="resignationReason != null">
+				resignation_reason_ = #{resignationReason},
+			</if>
+			<if test="jobType != null">
+				job_type_ = #{jobType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+			</if>
+			<if test="jobNature != null">
+				job_nature_ = #{jobNature,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+			</if>
+			<if test="hrbp != null">
+				hrbp_ = #{hrbp},
+			</if>
+			<if test="nextVisitDate != null">
+				next_visit_date_ = #{nextVisitDate},
+			</if>
 				source_from_ = #{sourceFrom}
 		</set>
 		WHERE id_ = #{id}
@@ -147,6 +182,12 @@
 	        <if test="endDate != null">
 	            AND ei.update_time_ &lt;= #{endDate}
 	        </if>
+	        <if test="visitStartDate != null">
+	            AND ei.next_visit_date_ &gt;= #{visitStartDate}
+	        </if>
+	        <if test="visitEndDate != null">
+	            AND ei.next_visit_date_ &lt;= #{visitEndDate}
+	        </if>
 	        <if test="operator != null">
 	            AND (ei.operator_id_ like concat('%',#{operator},'%') or u.real_name_ like concat('%',#{operator},'%'))
 	        </if>

+ 84 - 0
mec-biz/src/main/resources/config/mybatis/EmployeeVisitMapper.xml

@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<!-- 这个文件是自动生成的。 不要修改此文件。所有改动将在下次重新自动生成时丢失。 -->
+<mapper namespace="com.ym.mec.biz.dal.dao.EmployeeVisitDao">
+
+	<resultMap type="com.ym.mec.biz.dal.entity.EmployeeVisit" id="EmployeeVisit">
+		<result column="id_" property="id" />
+		<result column="employee_info_id_" property="employeeInfoId" />
+		<result column="operator_id_" property="operatorId" />
+		<result column="operator_name_" property="operatorName" />
+		<result column="content_" property="content" />
+		<result column="next_visit_date_" property="nextVisitDate" />
+		<result column="create_time_" property="createTime" />
+	</resultMap>
+
+	<!-- 根据主键查询一条记录 -->
+	<select id="get" resultMap="EmployeeVisit">
+		SELECT * FROM
+		employee_visit WHERE id_ = #{id}
+	</select>
+
+	<!-- 全查询 -->
+	<select id="findAll" resultMap="EmployeeVisit">
+		SELECT * FROM employee_visit
+		ORDER BY id_
+	</select>
+
+	<!-- 向数据库增加一条记录 -->
+	<insert id="insert" parameterType="com.ym.mec.biz.dal.entity.EmployeeVisit"
+		useGeneratedKeys="true" keyColumn="id" keyProperty="id">
+		<!-- <selectKey resultClass="int" keyProperty="id" > SELECT SEQ_WSDEFINITION_ID.nextval 
+			AS ID FROM DUAL </selectKey> -->
+		INSERT INTO employee_visit
+		(id_,employee_info_id_,operator_id_,content_,next_visit_date_,create_time_)
+		VALUES(#{id},#{employeeInfoId},#{operatorId},#{content},#{nextVisitDate},#{createTime})
+	</insert>
+
+	<!-- 根据主键查询一条记录 -->
+	<update id="update" parameterType="com.ym.mec.biz.dal.entity.EmployeeVisit">
+		UPDATE employee_visit
+		<set>
+			<if test="operatorId != null">
+				operator_id_ = #{operatorId},
+			</if>
+			<if test="nextVisitDate != null">
+				next_visit_date_ = #{nextVisitDate},
+			</if>
+			<if test="employeeInfoId != null">
+				employee_info_id_ = #{employeeInfoId},
+			</if>
+			<if test="id != null">
+				id_ = #{id},
+			</if>
+			<if test="content != null">
+				content_ = #{content},
+			</if>
+			<if test="createTime != null">
+				create_time_ = #{createTime},
+			</if>
+		</set>
+		WHERE id_ = #{id}
+	</update>
+
+	<!-- 根据主键删除一条记录 -->
+	<delete id="delete">
+		DELETE FROM employee_visit WHERE id_ = #{id}
+	</delete>
+
+	<!-- 分页查询 -->
+	<select id="queryPage" resultMap="EmployeeVisit" parameterType="map">
+		SELECT * FROM employee_visit ORDER BY id_
+		<include refid="global.limit" />
+	</select>
+
+	<!-- 查询当前表的总记录数 -->
+	<select id="queryCount" resultType="int">
+		SELECT COUNT(*) FROM employee_visit
+	</select>
+	
+	<select id="queryByEmployeeInfoId" resultMap="EmployeeVisit">
+		SELECT ev.*,u.real_name_ operator_name_ FROM employee_visit ev left join sys_user u on ev.operator_id_ = u.id_
+		WHERE ev.employee_info_id_ = #{employeeInfoId} order by ev.id_ desc
+	</select>
+</mapper>

+ 8 - 6
mec-client-api/src/main/java/com/ym/mec/im/WebFeignService.java → mec-client-api/src/main/java/com/ym/mec/web/WebFeignService.java

@@ -1,25 +1,27 @@
-package com.ym.mec.im;
+package com.ym.mec.web;
 
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import com.ym.mec.common.config.FeignConfiguration;
-import com.ym.mec.im.fallback.WebFeignServiceFallback;
+import com.ym.mec.web.fallback.WebFeignServiceFallback;
 
 @FeignClient(name = "web-server", contextId = "WebFeignService", configuration = FeignConfiguration.class, fallback = WebFeignServiceFallback.class)
 public interface WebFeignService {
 
 	@RequestMapping(value = "api/createCashAccount")
 	Boolean createCashAccount(@RequestParam("userId") Integer userId);
-	
+
 	@RequestMapping(value = "api/queryTeacherOrganId")
 	public Integer queryTeacherOrganId(@RequestParam("userId") Integer userId);
-	
+
 	@RequestMapping(value = "api/isPurchasedPracticeCourse")
 	Boolean isPurchasedPracticeCourse(@RequestParam("userId") Integer userId);
 
 	@RequestMapping(value = "api/updateNickName")
-	int updateNickName(@RequestParam("userId") Integer userId,
-					   @RequestParam("nickName") String nickName);
+	int updateNickName(@RequestParam("userId") Integer userId, @RequestParam("nickName") String nickName);
+
+	@RequestMapping(value = "api/queryOrganIdByUserId")
+	String queryOrganIdByUserId(@RequestParam("userId") Integer userId, @RequestParam("clientId") String clientId);
 }

+ 7 - 3
mec-client-api/src/main/java/com/ym/mec/im/fallback/WebFeignServiceFallback.java → mec-client-api/src/main/java/com/ym/mec/web/fallback/WebFeignServiceFallback.java

@@ -1,9 +1,8 @@
-package com.ym.mec.im.fallback;
+package com.ym.mec.web.fallback;
 
 import org.springframework.stereotype.Component;
 
-import com.ym.mec.im.WebFeignService;
-import org.springframework.web.bind.annotation.RequestParam;
+import com.ym.mec.web.WebFeignService;
 
 @Component
 public class WebFeignServiceFallback implements WebFeignService {
@@ -27,4 +26,9 @@ public class WebFeignServiceFallback implements WebFeignService {
 	public int updateNickName(Integer userId, String nickName) {
 		return 0;
 	}
+
+	@Override
+	public String queryOrganIdByUserId(Integer userId, String clientId) {
+		return null;
+	}
 }

+ 43 - 8
mec-web/src/main/java/com/ym/mec/web/controller/APIController.java

@@ -1,7 +1,19 @@
 package com.ym.mec.web.controller;
 
+import io.swagger.annotations.Api;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.dao.EmployeeDao;
 import com.ym.mec.biz.dal.dao.SysUserCashAccountDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
+import com.ym.mec.biz.dal.entity.Employee;
 import com.ym.mec.biz.dal.entity.SysUserCashAccount;
 import com.ym.mec.biz.dal.entity.Teacher;
 import com.ym.mec.biz.service.ImGroupService;
@@ -9,13 +21,6 @@ import com.ym.mec.biz.service.PracticeGroupService;
 import com.ym.mec.biz.service.PracticeLessonApplyService;
 import com.ym.mec.common.controller.BaseController;
 
-import io.swagger.annotations.Api;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
 @RequestMapping("api")
 @Api(tags = "对外接口")
 @RestController
@@ -26,14 +31,21 @@ public class APIController extends BaseController {
 	
 	@Autowired
 	private TeacherDao teacherDao;
-
+	
+	@Autowired
+	private EmployeeDao employeeDao;
+	
 	@Autowired
 	private PracticeLessonApplyService practiceLessonApplyService;
 	
 	@Autowired
 	private PracticeGroupService practiceGroupService;
+	
 	@Autowired
 	private ImGroupService imGroupService;
+	
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
 
 	@GetMapping("/createCashAccount")
 	public Boolean createCashAccount(Integer userId) {
@@ -67,4 +79,27 @@ public class APIController extends BaseController {
 		return imGroupService.updateNickName(userId,nickName);
 	}
 
+	@GetMapping("/queryOrganIdByUserId")
+	public String queryOrganIdByUserId(Integer userId, String clientId) {
+
+		if (StringUtils.equalsIgnoreCase("system", clientId) || StringUtils.equalsIgnoreCase("education", clientId)) {
+			Employee employee = employeeDao.get(userId);
+			if (employee != null) {
+				return employee.getOrganIdList();
+			}
+
+		} else if (StringUtils.equalsIgnoreCase("teacher", clientId)) {
+			Teacher teacher = teacherDao.get(userId);
+			if (teacher != null) {
+				return teacher.getOrganId() + "";
+			}
+		} else {
+			SysUser user = sysUserFeignService.queryUserInfo();
+			if (user != null) {
+				return user.getOrganId() + "";
+			}
+		}
+		return null;
+	}
+
 }

+ 27 - 0
mec-web/src/main/java/com/ym/mec/web/controller/EmployeeInfoController.java

@@ -16,8 +16,10 @@ import org.springframework.web.bind.annotation.RestController;
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
 import com.ym.mec.biz.dal.entity.EmployeeInfo;
+import com.ym.mec.biz.dal.entity.EmployeeVisit;
 import com.ym.mec.biz.dal.page.EmployeeInfoQueryInfo;
 import com.ym.mec.biz.service.EmployeeInfoService;
+import com.ym.mec.biz.service.EmployeeVisitService;
 import com.ym.mec.common.controller.BaseController;
 
 @RequestMapping("employeeInfo")
@@ -28,6 +30,9 @@ public class EmployeeInfoController extends BaseController {
     @Autowired
     private EmployeeInfoService employeeInfoService;
     
+    @Autowired
+    private EmployeeVisitService employeeVisitService;
+    
 	@Autowired
 	private SysUserFeignService sysUserFeignService;
 
@@ -70,4 +75,26 @@ public class EmployeeInfoController extends BaseController {
         return succeed(employeeInfoService.queryPage(queryInfo));
     }
 
+    @ApiOperation(value = "查询员工信息")
+    @GetMapping("/queryDetail")
+    @PreAuthorize("@pcs.hasPermissions('employeeInfo/queryDetail')")
+    public Object queryDetail(Long id) {
+        return succeed(employeeInfoService.queryDetail(id));
+    }
+
+    @ApiOperation(value = "新增回访记录")
+    @PostMapping("/insertVisit")
+    @PreAuthorize("@pcs.hasPermissions('employeeInfo/insertVisit')")
+    public Object insertVisit(@RequestBody EmployeeVisit employeeVisit) {
+    	SysUser sysUser = sysUserFeignService.queryUserInfo();
+		if (sysUser == null) {
+			return failed("用户信息获取失败");
+		}
+		employeeVisit.setOperatorId(sysUser.getId());
+    	Date date = new Date();
+    	employeeVisit.setCreateTime(date);
+    	employeeVisitService.insert(employeeVisit);
+        return succeed();
+    }
+
 }