浏览代码

接口及调整

shuzhan 3 年之前
父节点
当前提交
ed424cf92c
共有 17 个文件被更改,包括 255 次插入14 次删除
  1. 2 0
      common/src/main/java/com/jpsoft/employment/modules/base/dao/CompanyDAO.java
  2. 1 0
      common/src/main/java/com/jpsoft/employment/modules/base/service/CompanyService.java
  3. 5 0
      common/src/main/java/com/jpsoft/employment/modules/base/service/impl/CompanyServiceImpl.java
  4. 3 3
      common/src/main/java/com/jpsoft/employment/modules/job/dao/RecruitmentDAO.java
  5. 2 0
      common/src/main/java/com/jpsoft/employment/modules/job/dao/WorkCategoryDAO.java
  6. 5 0
      common/src/main/java/com/jpsoft/employment/modules/job/entity/ResumeDeliver.java
  7. 2 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/WorkCategoryService.java
  8. 5 0
      common/src/main/java/com/jpsoft/employment/modules/job/service/impl/WorkCategoryServiceImpl.java
  9. 2 0
      common/src/main/java/com/jpsoft/employment/modules/manage/dao/SeatManageDAO.java
  10. 2 0
      common/src/main/java/com/jpsoft/employment/modules/manage/service/SeatManageService.java
  11. 5 0
      common/src/main/java/com/jpsoft/employment/modules/manage/service/impl/SeatManageServiceImpl.java
  12. 6 0
      common/src/main/resources/mapper/base/Company.xml
  13. 13 0
      common/src/main/resources/mapper/job/WorkCategory.xml
  14. 10 3
      common/src/main/resources/mapper/manage/JobFairCompany.xml
  15. 8 0
      common/src/main/resources/mapper/manage/SeatManage.xml
  16. 2 0
      web/src/main/java/com/jpsoft/employment/config/WebMvcConfig.java
  17. 182 8
      web/src/main/java/com/jpsoft/employment/modules/mobile/controller/DataScreenApiController.java

+ 2 - 0
common/src/main/java/com/jpsoft/employment/modules/base/dao/CompanyDAO.java

@@ -16,4 +16,6 @@ public interface CompanyDAO {
 	int delete(String id);
 	List<Company> list();
 	List<Company> search(Map<String, Object> searchParams, List<Sort> sortList);
+
+	List<Company> findByAll();
 }

+ 1 - 0
common/src/main/java/com/jpsoft/employment/modules/base/service/CompanyService.java

@@ -14,4 +14,5 @@ public interface CompanyService {
 	int delete(String id);
 	List<Company> list();
 	Page<Company> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
+	List<Company> findByAll();
 }

+ 5 - 0
common/src/main/java/com/jpsoft/employment/modules/base/service/impl/CompanyServiceImpl.java

@@ -69,4 +69,9 @@ public class CompanyServiceImpl implements CompanyService {
         
         return page;
 	}
+
+	@Override
+	public List<Company> findByAll(){
+		return companyDAO.findByAll();
+	}
 }

+ 3 - 3
common/src/main/java/com/jpsoft/employment/modules/job/dao/RecruitmentDAO.java

@@ -51,9 +51,9 @@ public interface RecruitmentDAO {
 
 	List<Recruitment> listByApproved();
 
-	int findNumber(String companyId);
+	int findNumber(@Param("companyId") String companyId);
 
-	int findPositionNumber(String companyId);
+	int findPositionNumber(@Param("companyId") String companyId);
 
-	int findSexNumber(String sex,String companyId);
+	int findSexNumber(@Param("sex")String sex,@Param("companyId") String companyId);
 }

+ 2 - 0
common/src/main/java/com/jpsoft/employment/modules/job/dao/WorkCategoryDAO.java

@@ -17,4 +17,6 @@ public interface WorkCategoryDAO {
 	List<WorkCategory> list();
 	List<WorkCategory> search(@Param("searchParams") Map<String,Object> searchParams, @Param("sortList")List<Sort> sortList);
 	List<WorkCategory> findListByParentId(String parentId);
+
+	List<WorkCategory> findByCompany(String companyId);
 }

+ 5 - 0
common/src/main/java/com/jpsoft/employment/modules/job/entity/ResumeDeliver.java

@@ -57,4 +57,9 @@ public class ResumeDeliver {
 	@ApiModelProperty(value = "沟通状态")
 	private String chatStatus;
 
+	@ApiModelProperty(value = "投递用户的姓名")
+	private String jobUserName;
+
+	@ApiModelProperty(value = "投递用户的性别")
+	private String jobUserSex;
 }

+ 2 - 0
common/src/main/java/com/jpsoft/employment/modules/job/service/WorkCategoryService.java

@@ -15,4 +15,6 @@ public interface WorkCategoryService {
 	List<WorkCategory> list();
 	Page<WorkCategory> pageSearch(Map<String, Object> searchParams,int pageNum,int pageSize,boolean count,List<Sort> sortList);
 	List<WorkCategory> findListByParentId(String parentId);
+
+	List<WorkCategory> findByCompany(String companyId);
 }

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

@@ -73,4 +73,9 @@ public class WorkCategoryServiceImpl implements WorkCategoryService {
 		// TODO Auto-generated method stub
 		return workCategoryDAO.findListByParentId(parentId);
 	}
+
+	@Override
+	public List<WorkCategory> findByCompany(String companyId){
+		return workCategoryDAO.findByCompany(companyId);
+	}
 }

+ 2 - 0
common/src/main/java/com/jpsoft/employment/modules/manage/dao/SeatManageDAO.java

@@ -16,4 +16,6 @@ public interface SeatManageDAO {
 	int delete(String id);
 	List<SeatManage> list();
 	List<SeatManage> search(Map<String, Object> searchParams, List<Sort> sortList);
+
+	SeatManage findByNum(String seatNum);
 }

+ 2 - 0
common/src/main/java/com/jpsoft/employment/modules/manage/service/SeatManageService.java

@@ -14,4 +14,6 @@ public interface SeatManageService {
 	int delete(String id);
 	List<SeatManage> list();
 	Page<SeatManage> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);
+
+	SeatManage findByNum(String seatNum);
 }

+ 5 - 0
common/src/main/java/com/jpsoft/employment/modules/manage/service/impl/SeatManageServiceImpl.java

@@ -68,4 +68,9 @@ public class SeatManageServiceImpl implements SeatManageService {
         
         return page;
 	}
+
+	@Override
+	public SeatManage findByNum(String seatNum){
+		return seatManageDAO.findByNum(seatNum);
+	}
 }

+ 6 - 0
common/src/main/resources/mapper/base/Company.xml

@@ -188,4 +188,10 @@
 	        ${sort.name} ${sort.order}
 	 	</foreach>
 	</select>
+
+	<select id="findByAll" resultMap="CompanyMap">
+		select * from base_company where del_flag = 0
+		and is_certification = 2
+		order by sort_no
+	</select>
 </mapper>

+ 13 - 0
common/src/main/resources/mapper/job/WorkCategory.xml

@@ -114,4 +114,17 @@
 	<select id="findListByParentId" parameterType="string" resultMap="WorkCategoryMap">
 		select * from job_work_category where del_flag=0 and parent_id=#{0} order by sort_no asc
 	</select>
+
+	<select id="findByCompany" resultMap="WorkCategoryMap">
+		SELECT DISTINCT
+		position_ as id_,
+		b.name_
+		FROM
+		job_recruitment a
+		LEFT JOIN job_work_category b ON a.position_ = b.id_
+		WHERE
+		a.del_flag = 0
+		and company_id = #{companyId}
+	</select>
+
 </mapper>

+ 10 - 3
common/src/main/resources/mapper/manage/JobFairCompany.xml

@@ -124,9 +124,16 @@
 	 	</foreach>
 	</select>
 	<select id="findByFairId" resultMap="JobFairCompanyMap">
-		select * from manage_job_fair_company
-			where del_flag = 0
-			and job_fair_id =#{fairId}
+		SELECT
+			a.*,
+			b.name_ AS company_name,
+			c.name_ AS job_fair_name
+		FROM
+			manage_job_fair_company a
+			LEFT JOIN base_company b ON a.company_id = b.id_
+			LEFT JOIN manage_job_fair c ON a.job_fair_id = c.id_
+			where a.del_flag = 0
+			and a.job_fair_id =#{fairId}
 		order by create_time
 	</select>
 </mapper>

+ 8 - 0
common/src/main/resources/mapper/manage/SeatManage.xml

@@ -127,4 +127,12 @@
 	        ${sort.name} ${sort.order}
 	 	</foreach>
 	</select>
+
+	<select id="findByNum" resultMap="SeatManageMap">
+		select * from manage_seat_manage
+		where
+			del_flag = 0
+			and seat_num = #{seatNum}
+
+	</select>
 </mapper>

+ 2 - 0
web/src/main/java/com/jpsoft/employment/config/WebMvcConfig.java

@@ -68,6 +68,8 @@ public class WebMvcConfig implements WebMvcConfigurer {
 				.excludePathPatterns("/mobile/dataScreenApi/employmentOnlineData")
 				.excludePathPatterns("/mobile/dataScreenApi/companyData")
 				.excludePathPatterns("/mobile/dataScreenApi/recruitmentData")
+				.excludePathPatterns("/mobile/dataScreenApi/seatData")
+				.excludePathPatterns("/mobile/dataScreenApi/resumeDeliverData")
 		;
 
 

+ 182 - 8
web/src/main/java/com/jpsoft/employment/modules/mobile/controller/DataScreenApiController.java

@@ -9,14 +9,15 @@ import com.jpsoft.employment.modules.common.dto.Sort;
 import com.jpsoft.employment.modules.common.utils.MapUtils;
 import com.jpsoft.employment.modules.common.utils.PojoUtils;
 import com.jpsoft.employment.modules.common.utils.StringUtils;
-import com.jpsoft.employment.modules.job.entity.Recruitment;
-import com.jpsoft.employment.modules.job.service.RecruitmentService;
-import com.jpsoft.employment.modules.job.service.UserBrowseService;
-import com.jpsoft.employment.modules.job.service.UserCollectionService;
+import com.jpsoft.employment.modules.job.entity.*;
+import com.jpsoft.employment.modules.job.service.*;
 import com.jpsoft.employment.modules.manage.entity.JobFair;
 import com.jpsoft.employment.modules.manage.entity.JobFairCompany;
+import com.jpsoft.employment.modules.manage.entity.SeatManage;
 import com.jpsoft.employment.modules.manage.service.JobFairCompanyService;
 import com.jpsoft.employment.modules.manage.service.JobFairService;
+import com.jpsoft.employment.modules.manage.service.SeatManageService;
+import com.jpsoft.employment.modules.sys.service.DataDictionaryService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -52,6 +53,24 @@ public class DataScreenApiController {
     @Autowired
     private RecruitmentService recruitmentService;
 
+    @Autowired
+    private SeatManageService seatManageService;
+
+    @Autowired
+    private WorkCategoryService workCategoryService;
+
+    @Autowired
+    private ResumeDeliverService resumeDeliverService;
+
+    @Autowired
+    private DataDictionaryService dataDictionaryService;
+
+    @Autowired
+    private ResumeService resumeService;
+
+    @Autowired
+    private JobUserService jobUserService;
+
     @PostMapping("jobFairScreenData")
     @ApiOperation(value = "招聘会大屏")
     @ApiImplicitParams({
@@ -70,15 +89,37 @@ public class DataScreenApiController {
             }
 
             List<JobFairCompany> jobFairCompanyList = jobFairCompanyService.findByFairId(jobFairId);
+
+            int recruitmentNum = 0;
+            int recruitsNum = 0;//招聘人数
+            int totalNum = 0;//总入场人数
+            int todayNum = 0;//今日入场数
+            int resumeNum = 0;//简历投递数
+
+            int manNum = 0;
+            int womanNum = 0;
+            //简历投递数
             for(JobFairCompany jobFairCompany : jobFairCompanyList){
                 String[] recruitmentIds = jobFairCompany.getRecruitmentIds().split(",");
                 jobFairCompany.setRecruitmentNums(recruitmentIds.length);
+                recruitmentNum = recruitmentNum + recruitmentIds.length;
+                recruitsNum = recruitsNum + recruitmentService.findPositionNumber(jobFairCompany.getCompanyId());
+                manNum = manNum + recruitmentService.findSexNumber("1",jobFairCompany.getCompanyId());
+                womanNum = womanNum + recruitmentService.findSexNumber("0",jobFairCompany.getCompanyId());
             }
 
 
+
+
             Map<String, Object> dataMap = new HashMap<String, Object>();
-            dataMap.put("jobFair", jobFair);
-            dataMap.put("jobFairCompanyList", jobFairCompanyList);
+            dataMap.put("jobFair", jobFair);//招聘会信息
+            dataMap.put("jobFairCompanyList", jobFairCompanyList);//招聘企业信息
+            dataMap.put("jobFairCompanyNum", jobFairCompanyList.size());//入场企业数
+            dataMap.put("recruitmentNum", recruitmentNum);//招聘岗位数
+            dataMap.put("recruitsNum", recruitsNum);//招聘人数
+            dataMap.put("totalNum", totalNum);//总入场人数
+            dataMap.put("todayNum", todayNum);//今日入场数
+            dataMap.put("resumeNum", resumeNum);//简历投递数
 
             jobFairService.get(jobFairId);
 
@@ -107,7 +148,7 @@ public class DataScreenApiController {
             int shortageRecruitNum = 0;
 
 
-            List<Company> companyList = companyService.list();
+
             List<Recruitment> recruitmentList = recruitmentService.listByApproved();
 
             recruitsNum = recruitmentService.findPositionNumber(null);
@@ -116,8 +157,21 @@ public class DataScreenApiController {
 
             womanNum = recruitmentService.findSexNumber("0",null);
 
+            //List<Company> companyList = companyService.list();
+            List<Company> companyList = companyService.findByAll();
+            //List<Company> companyList = new ArrayList<>();
+            for(Company company : companyList){
+                int postNum = recruitmentService.findNumber(company.getId());
+                int peopleNum = recruitmentService.findPositionNumber(company.getId());
+
+                company.setPostNum(postNum);
+                company.setPeopleNum(peopleNum);
+                //companyList.add(company);
+            }
 
             Map<String, Object> dataMap = new HashMap<String, Object>();
+            //入住企业
+            dataMap.put("companyList", companyList);
             //入住企业数
             dataMap.put("companyNum", companyList.size());
             //招聘岗位数
@@ -170,7 +224,6 @@ public class DataScreenApiController {
 
             }
 
-
             messageResult.setData(PojoUtils.pageWrapper(page));
             messageResult.setResult(true);
             messageResult.setCode(200);
@@ -200,7 +253,127 @@ public class DataScreenApiController {
             searchParams.put("approveStatus","3");
 
             Page<Recruitment> page = recruitmentService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+            for(Recruitment recruitment : page.getResult()){
+                WorkCategory workCategory = workCategoryService.get(recruitment.getPosition());
+                if(workCategory != null) {
+                    recruitment.setPositionName(workCategory.getName());
+                }
+                recruitment.setWorkYearName(dataDictionaryService.getName(recruitment.getWorkYear()));
+                recruitment.setPositionSexN(dataDictionaryService.findNameByCatalogNameAndValue("性别",recruitment.getPositionSex()));
+                recruitment.setEducationName(dataDictionaryService.getName(recruitment.getEducation()));
+                recruitment.setWageTypeName(dataDictionaryService.getName(recruitment.getWageType()));
+
+                //recruitmentList.add(recruitment);
+            }
+
+
+            messageResult.setData(PojoUtils.pageWrapper(page));
+            messageResult.setResult(true);
+            messageResult.setCode(200);
+        }
+        catch(Exception ex){
+            log.error(ex.getMessage());
+            messageResult.setResult(false);
+            messageResult.setMessage(ex.getMessage());
+        }
+
+        return messageResult;
+    }
 
+    @PostMapping("seatData")
+    @ApiOperation(value = "席位")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "seatNumber", value = "席位编号", required = true, paramType = "form")
+    })
+    public MessageResult<Map> seatData( String seatNumber){
+        MessageResult<Map> messageResult = new MessageResult<>();
+        try{
+            if(StringUtils.isEmpty(seatNumber)){
+                throw new Exception("查询错误");
+            }
+
+            SeatManage seatManage = seatManageService.findByNum(seatNumber);
+
+            if(seatManage == null || StringUtils.isEmpty(seatManage.getCompanyId())){
+                throw new Exception("该席位目前未绑定企业");
+            }
+
+            Company company = companyService.get(seatManage.getCompanyId());
+            if(company == null){
+                throw new Exception("企业有误");
+            }
+
+            //List<WorkCategory> workCategoryList = workCategoryService.findByCompany(company.getId());
+            List<Recruitment> recruitmentList = recruitmentService.findByCompanyId(company.getId());
+            //List<Recruitment> recruitmentList = new ArrayList<>();
+            for(Recruitment recruitment : recruitmentList){
+                WorkCategory workCategory = workCategoryService.get(recruitment.getPosition());
+                if(workCategory != null) {
+                    recruitment.setPositionName(workCategory.getName());
+                }
+                recruitment.setWorkYearName(dataDictionaryService.getName(recruitment.getWorkYear()));
+                recruitment.setPositionSexN(dataDictionaryService.findNameByCatalogNameAndValue("性别",recruitment.getPositionSex()));
+                recruitment.setEducationName(dataDictionaryService.getName(recruitment.getEducation()));
+                //recruitmentList.add(recruitment);
+            }
+
+            String scale = dataDictionaryService.getName(company.getScale());
+            String industry = dataDictionaryService.getName(company.getIndustry());
+
+            Map<String, Object> dataMap = new HashMap<String, Object>();
+            dataMap.put("company", company);
+            dataMap.put("companyId", company.getId());
+            dataMap.put("scale", scale);//规模
+            dataMap.put("industry", industry);//行业
+            dataMap.put("introduction", company.getIntroduction());//介绍
+            dataMap.put("videoUrl", "http://xpgj.oss-cn-shanghai.aliyuncs.com/xpgj/test/VID_20220105_144821.mp4");//视频
+            dataMap.put("recruitmentList", recruitmentList);
+
+            messageResult.setData(dataMap);
+            messageResult.setResult(true);
+            messageResult.setCode(200);
+        }
+        catch(Exception ex){
+            log.error(ex.getMessage());
+            messageResult.setResult(false);
+            messageResult.setMessage(ex.getMessage());
+        }
+
+        return messageResult;
+    }
+
+    @PostMapping("resumeDeliverData")
+    @ApiOperation(value = "简历投递记录")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "companyId", value = "企业编号", required = true, paramType = "form")
+    })
+    public MessageResult<Map> resumeDeliverData( String companyId,
+                         @RequestParam(value="pageIndex",defaultValue="1") int pageIndex,
+                         @RequestParam(value="pageSize",defaultValue="10") int pageSize){
+        MessageResult<Map> messageResult = new MessageResult<>();
+        try{
+
+            List<Sort> sortList = new ArrayList<>();
+            sortList.add(new Sort("a.create_time","desc"));
+
+            Map<String,Object> searchParams = new HashMap<>();
+            searchParams.put("companyId",companyId);
+
+            Page<ResumeDeliver> page = resumeDeliverService.pageSearch(searchParams,pageIndex,pageSize,true,sortList);
+            String userSex = "先生";
+            for(ResumeDeliver rd : page.getResult()){
+                Recruitment recruitment = recruitmentService.get(rd.getJobRecruitmentId());
+                WorkCategory workCategory = workCategoryService.get(recruitment.getPosition());
+                if(workCategory != null) {
+                    recruitment.setPositionName(workCategory.getName());
+                }
+                rd.setJobRecruitment(recruitment);
+                JobUser jobUser = jobUserService.get(rd.getJobUserId());
+                Resume resume = resumeService.get(rd.getJobResumeId());
+
+                rd.setJobUserSex(resume.getSex());
+                rd.setJobUserName(jobUser.getRealName());
+            }
 
             messageResult.setData(PojoUtils.pageWrapper(page));
             messageResult.setResult(true);
@@ -214,4 +387,5 @@ public class DataScreenApiController {
 
         return messageResult;
     }
+
 }