Преглед на файлове

招聘管理V2:数据统计录用比例算法调整

Qifeng-Wu преди 4 години
родител
ревизия
725232d7e8

+ 2 - 2
happy-job-base-system/src/main/webapp/webpage/modules/omcandidate/omCandidateForm.jsp

@@ -218,8 +218,8 @@
 		<div class="form-group col-sm-6">
 			<label class="col-sm-3 control-label">上传照片:</label>
 			<div class="col-sm-3">
-				<sys:imgUpload path="idCardFront" value="${omCandidate.idCardFront}" type="file" title="上传身份证正面照" uploadPath="/omcandidate" fileNumLimit="1"/>
-				<div style="float:right"><sys:imgUpload path="idCardBack" value="${omCandidate.idCardBack}" type="file" title="上传身份证反面照" uploadPath="/omcandidate" fileNumLimit="1"/></div>
+				<sys:imgUpload path="idCardBack" value="${omCandidate.idCardBack}" type="file" title="上传身份证反面照" uploadPath="/omcandidate" fileNumLimit="1"/>
+				<div style="float:left"><sys:imgUpload path="idCardFront" value="${omCandidate.idCardFront}" type="file" title="上传身份证正面照" uploadPath="/omcandidate" fileNumLimit="1"/></div>
 			</div>
 		</div>
 

+ 10 - 3
happy-job-base-system/src/main/webapp/webpage/modules/omcandidate/omCandidateList.jsp

@@ -158,9 +158,16 @@ $(document).ready(function() {
                     }else if(row.status == 5){//待入职
                     	//info = '--';
                 	}else if(row.status == 7){//已入职(在职)
-                		if(row.omCandidateTrack.cashbackDate){
-                			info = '<button disabled="disabled" class="btn btn-xs btn-new" style="color:#D40000;border:1px solid #D40000">返费</button>&nbsp;'+ 
-                			'<span style="color:#D40000">'+dateFormat(row.omCandidateTrack.cashbackDate)+'</span>';
+                		var recruitType = row.omCandidateTrack.recruitType;
+                		if(recruitType == 0 || recruitType == 1){//普工或小时工
+                			info = '<span style="color:#0F70E1">'+jp.getDictLabel(${fns:toJson(fns:getDictList('om_recruit_type'))}, recruitType, "—");+'</span>';
+                		}else if(recruitType == 2){//返费工
+                			if(row.omCandidateTrack.cashbackDetail && row.omCandidateTrack.cashbackDate){
+                				info = '<button disabled="disabled" class="btn btn-xs btn-new" style="color:#D40000;border:1px solid #D40000">返费</button>&nbsp;'+ 
+                    			'<span style="color:#D40000">'+dateFormat(row.omCandidateTrack.cashbackDate)+'</span>';
+                			}else{
+                				info = '<span style="color:#0F70E1">'+jp.getDictLabel(${fns:toJson(fns:getDictList('om_recruit_type'))}, recruitType, "—");+'</span>';
+                			}
                 		}
                 	}
                     return info;

+ 8 - 3
happy-job-base-system/src/main/webapp/webpage/modules/omcandidate/omOwnCandidateList.jsp

@@ -17,7 +17,6 @@
 	</style>
 	<script>
 $(document).ready(function() {
-	dataShow();//数据统计展示
 	$('#omOwnCandidateTable').bootstrapTable({
 		  //请求方法
                method: 'post',
@@ -164,8 +163,14 @@ $(document).ready(function() {
                 		if(recruitType == 0 || recruitType == 1){//普工或小时工
                 			info = '<div><a href="#" style="color:#0F70E1" onclick="entry('+row.omCandidateTrack.id+')">'+jp.getDictLabel(${fns:toJson(fns:getDictList('om_recruit_type'))}, recruitType, "—");+'</a></div>';
                 		}else if(recruitType == 2){//返费工
-                			info = '<button onclick="entry('+row.omCandidateTrack.id+')" class="btn btn-xs btn-new" style="color:#D40000;border:1px solid #D40000">返费</button>&nbsp;'+ 
-                			'<a style="color:#D40000" onclick="entry('+row.omCandidateTrack.id+')">'+dateFormat(row.omCandidateTrack.cashbackDate)+'</a>';
+                			if(row.omCandidateTrack.cashbackDetail && row.omCandidateTrack.cashbackDate){
+                				info = '<button onclick="entry('+row.omCandidateTrack.id+')" class="btn btn-xs btn-new" style="color:#D40000;border:1px solid #D40000">返费</button>&nbsp;'+ 
+                    			'<a style="color:#D40000" onclick="entry('+row.omCandidateTrack.id+')">'+dateFormat(row.omCandidateTrack.cashbackDate)+'</a>';
+                			}else{
+                				info = '<div><a href="#" style="color:#0F70E1" onclick="entry('+row.omCandidateTrack.id+')">'+jp.getDictLabel(${fns:toJson(fns:getDictList('om_recruit_type'))}, recruitType, "—");+'</a></div>';
+                			}
+                		}else{
+                    		info = '<div><a href="#" style="color:#0F70E1" onclick="entry('+row.omCandidateTrack.id+')">—</a></div>';
                 		}
                 	}
                     return info;

+ 5 - 3
happy-job-base-system/src/main/webapp/webpage/modules/omcandidate/status/omEntryForm.jsp

@@ -19,10 +19,12 @@
 		    });
 			validateForm = $("#inputForm").validate({
 			 	rules: {
+			 		recruitType: {required:true},
 			 		cashbackDate: {required:true},
 			 		onboardingDate: {required:true}
 					},
 				messages: {
+					recruitType: {required: "请选择用工类型"},
 					cashbackDate: {required: "请选择返费日期"},
 					onboardingDate: {required: "请选择入职日期"}
 				}, 
@@ -35,7 +37,7 @@
 				errorPlacement: function(error, element) {
 					$("#messageBox").text("输入有误,请先更正。");
 					if (element.is(":checkbox")||element.is(":radio")||element.parent().is(".input-append")){
-						error.appendTo(element.parent().parent());
+						error.appendTo(element.parent().parent().parent());
 					} else {
 						error.insertAfter(element);
 					}
@@ -48,7 +50,7 @@
 				if(value==2 && $("#cashbackDetail").val().length<=0){
 					$("#cashbackDateDiv").hide();
 					$("#actualCashbackDiv").hide();
-				}else if(value==2){
+				}else if(value==2 && $("#cashbackDetail").val().length>0){
 					$("#cashbackDateDiv").show();
 					$("#actualCashbackDiv").show();
 				}	
@@ -143,7 +145,7 @@
 					</div>
 				</div>
 			</div>	
-			<div id="actualCashbackDiv">
+			<div id="actualCashbackDiv" style="display:none">
 			<div class="form-group col-sm-6">
 				<label class="col-sm-3 control-label">实际返费金额:</label>
 				<div class="col-sm-3">

+ 5 - 1
happy-job-module-crm/src/main/java/com/jeeplus/modules/omcandidate/mapper/xml/OmCandidateMapper.xml

@@ -216,7 +216,11 @@
 		UNION ALL
 		SELECT COUNT(s.id) FROM (SELECT p.* FROM (SELECT b.* FROM om_candidate_belong b ORDER BY b.id DESC LIMIT 999999999) as p GROUP BY p.candidate_id HAVING p.type &lt;&gt; 2 AND p.belong_user = #{userName} ORDER BY p.id) AS s left join om_candidate o on o.id=s.candidate_id where o.status=7
 		UNION ALL
-		SELECT COUNT(d.id) FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE YEARWEEK(DATE_FORMAT(t.interview_time,'%Y-%m-%d')) = YEARWEEK(NOW()) AND (d.status = 2 OR d.status = 3) AND d.track_by = #{userName}
+		SELECT SUM(c.count) FROM 
+			(SELECT COUNT(d.id) AS count FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE YEARWEEK(DATE_FORMAT(t.interview_time,'%Y-%m-%d')) = YEARWEEK(NOW()) AND (d.status = 2 OR d.status = 3) AND d.track_by = #{userName}
+			UNION ALL
+			SELECT COUNT(d.id) AS count FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE t.interview_time &lt; DATE_FORMAT(SUBDATE(CURDATE(),DATE_FORMAT(CURDATE(),'%w')), '%Y-%m-%d 00:00:00') AND (d.status = 2 OR d.status = 3) AND d.track_by = #{userName} 
+			AND d.candidate_track_id IN (SELECT DISTINCT e.candidate_track_id FROM om_candidate_track_detail e WHERE YEARWEEK(DATE_FORMAT(e.track_time,'%Y-%m-%d')) = YEARWEEK(NOW()) AND e.status = 5 AND e.track_by = #{userName})) AS c
 		UNION ALL
 		SELECT COUNT(d.id) FROM om_candidate_track_detail d WHERE YEARWEEK(DATE_FORMAT(d.track_time,'%Y-%m-%d')) = YEARWEEK(NOW()) AND d.status = 5 AND d.track_by = #{userName}
 	</select>

+ 5 - 1
happy-job-module-crm/src/main/java/com/jeeplus/modules/omcandidate/mapper/xml/OmTeamManageMapper.xml

@@ -38,7 +38,11 @@
 	</select>
 	<!-- 根据时间获取所有招聘专员的候选人数据统计 -->
 	<select id="findAllCandidateDataByDate" parameterType="OmTeamManage" resultType="java.lang.Integer">
-		SELECT COUNT(d.id) FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE t.interview_time BETWEEN #{startSearchDate} AND #{endSearchDate} AND (d.status = 2 OR d.status = 3)
+		SELECT SUM(c.count) FROM 
+			(SELECT COUNT(d.id) AS count FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE t.interview_time BETWEEN #{startSearchDate} AND #{endSearchDate} AND (d.status = 2 OR d.status = 3)
+			UNION ALL
+			SELECT COUNT(d.id) AS count FROM om_candidate_track_detail d LEFT JOIN om_candidate_track t ON t.id=d.candidate_track_id WHERE t.interview_time &lt; #{startSearchDate} AND (d.status = 2 OR d.status = 3)
+			AND d.candidate_track_id IN (SELECT DISTINCT e.candidate_track_id FROM om_candidate_track_detail e WHERE e.track_time BETWEEN #{startSearchDate} AND #{endSearchDate} AND e.status = 5)) AS c
 		UNION ALL
 		SELECT COUNT(d.id) FROM om_candidate_track_detail d WHERE d.track_time BETWEEN #{startSearchDate} AND #{endSearchDate} AND d.status = 5
 		UNION ALL