Browse Source

Merge branch 'master' of http://192.168.1.12:3000/caipin/cld

caipin 8 years ago
parent
commit
74a48d38bd

+ 38 - 3
protected/controller/HolidayController.php

@@ -419,6 +419,14 @@ class HolidayController extends DooController {
 
 		$data['internstafflist'] = $staff->find(array('where' => 'nature=2', 'asArray' => TRUE));
 
+		//获取上月和本月,录用 实习生上班天数
+		$nowmonth = intval(date('m',time()));
+		$nowday = date('Y-m-d',time());
+		$lastmonth = intval(date('m',strtotime("-1 month")));
+		$lastmonthday = date('Y-m-d',strtotime("-1 month"));
+		$data['monthlist'] = '<option value="0">选择月份</option><option value="'.$lastmonthday.'">'.$lastmonth.'月</option><option value="'.$nowday.'">'.$nowmonth.'月</option>';
+
+
 		$data ['memu'] = 'holiday';
 		$data ['holidaymenu'] = 'close';
 		$data ['staff'] = $this->staff;
@@ -457,7 +465,7 @@ class HolidayController extends DooController {
 					return '/holidayclose';
 				}
 			}elseif($_POST['type'] == 14){
-				$thismonth = $this->getMonthTime(date('Y-m-d',time()));
+				$thismonth = $this->getMonthTime($_POST['monthselect']);
 				$holiday->uid = $_POST['uid'];
 				$holiday->type = $_POST['type'];
 				$holiday->starttime = $thismonth['start'];
@@ -697,7 +705,8 @@ class HolidayController extends DooController {
 					$cidstafflist = $staff->getStaffByCid($v['cid']);
 					foreach($cidstafflist as $ck => $cv){
 						$hstaffmsg = $hstaff->getOne(array('where' => 'uid='.$cv['sid'], 'asArray' => TRUE));
-						$cidstafflist[$ck]['yearnum'] = $cv['nature'] == 1 ? ($hstaffmsg['yearnum'] != 0.0 ? floatval($hstaffmsg['yearnum']) : '') : '';
+						$yearnum = $this->CheckAnnualLeave($cv);
+						$cidstafflist[$ck]['yearnum'] = floatval($yearnum) != 0 ? floatval($yearnum) : '';
 						$cidstafflist[$ck]['addnum'] = $hstaffmsg['addnum'] != 0.0 ? floatval($hstaffmsg['addnum']) : '';
 						$cidstafflist[$ck]['hunjianum'] = $hstaffmsg['hunjianum'] != 0.0 ? floatval($hstaffmsg['hunjianum']) : '';
 						$cidstafflist[$ck]['chanjianum'] = $hstaffmsg['chanjianum'] != 0.0 ? floatval($hstaffmsg['chanjianum']) : '';
@@ -717,7 +726,8 @@ class HolidayController extends DooController {
 				$cidstafflist = $staff->getStaffByCid($v['cid']);
 				foreach($cidstafflist as $ck => $cv){
 					$hstaffmsg = $hstaff->getOne(array('where' => 'uid='.$cv['sid'], 'asArray' => TRUE));
-					$cidstafflist[$ck]['yearnum'] = $cv['nature'] == 1 ? ($hstaffmsg['yearnum'] != 0.0 ? floatval($hstaffmsg['yearnum']) : '') : '';
+					$yearnum = $this->CheckAnnualLeave($cv);
+					$cidstafflist[$ck]['yearnum'] = floatval($yearnum) != 0 ? floatval($yearnum) : '';
 					$cidstafflist[$ck]['addnum'] = $hstaffmsg['addnum'] != 0.0 ? floatval($hstaffmsg['addnum']) : '';
 					$cidstafflist[$ck]['hunjianum'] = $hstaffmsg['hunjianum'] != 0.0 ? floatval($hstaffmsg['hunjianum']) : '';
 					$cidstafflist[$ck]['chanjianum'] = $hstaffmsg['chanjianum'] != 0.0 ? floatval($hstaffmsg['chanjianum']) : '';
@@ -879,6 +889,31 @@ class HolidayController extends DooController {
 		}
 	}
 
+	//检查年假是否过期并更新年假
+	private function CheckAnnualLeave($staff){
+		if($staff['nature'] == 2){
+			return 0;
+		}
+		$hiredate = $staff['hiredate'];
+		if($hiredate == ''){
+			return 0;
+		}
+		Doo::loadModel('holidaystaff');
+		$hstaff = new HStaff();
+		$hstaffmsg = $hstaff->getOne(array('where' => 'uid='.$staff['sid'],'asArray' => TRUE));
+		$hadyear = intval((time()-strtotime($hiredate))/(86400*365));
+		if($hadyear != $hstaffmsg['hadyear']){
+			$hstaff->uid = $staff['sid'];
+			$hstaff->hadyear = $hadyear;
+			$hstaff->yearnum = $hadyear == 0 ? 0 : (($hadyear < 10 && $hadyear >= 1) ? 5 : (($hadyear >= 10 && $hadyear < 20) ? 10 : 15));
+			$hstaff->update();
+			$daynum = $hadyear == 0 ? 0 : (($hadyear < 10 && $hadyear >= 1) ? 5 : (($hadyear >= 10 && $hadyear < 20) ? 10 : 15));
+		}else{
+			$daynum = $hstaffmsg['yearnum'];
+		}
+		return $daynum;
+	}
+
 }
 
 ?>

+ 6 - 1
protected/view/holiday-close.html

@@ -89,6 +89,7 @@
 									<!-- endloop -->
 								</select>
 								<select id="cidstaff" name="uid">
+									<option value="0">选择员工</option>
 									<!-- loop zongbu -->
 									<option value="{{zongbu' value.sid}}">{{zongbu' value.username}}</option>
 									<!-- endloop -->
@@ -146,7 +147,7 @@
 				success: function(result){
 					if(result.code == 200){
 						$('#cidstaff').html('');
-						var html = '';
+						var html = '<option value="0">选择员工</option>';
 						$.each(result.stafflist,function(k,v){
 							html +='<option value="'+v.sid+'">'+v.username+'</option>';
 						});
@@ -161,6 +162,10 @@
 	});
 
 	function addholiday(){
+		if($('#cidstaff').val() == 0){
+			alert('请选择员工');
+			return false;
+		}
 		if($('#holidayday').val() == ''){
 			alert('请选择日期');
 			return false;

+ 17 - 2
protected/view/holiday-close2.html

@@ -85,6 +85,7 @@
 							<td>
 								<select disabled><option>实习生</option></select>
 								<select id="cidstaff" name="uid">
+									<option value="0">选择员工</option>
 									<!-- loop internstafflist -->
 									<option value="{{internstafflist' value.sid}}">{{internstafflist' value.username}}</option>
 									<!-- endloop -->
@@ -107,7 +108,13 @@
 							<input type="date" name="day" id="holidayday" disabled="true"></td>
 						</tr>
 						<tr id="tr_14" class="changetr">
-							<th class="taC" width="100"><span class="colRed">*</span>上班天数</th><td><input placeholder="请输入本月上班天数" id="daynum" name="daynum" type="number" step="0.5"></td>
+							<th class="taC" width="100"><span class="colRed">*</span>上班天数</th>
+							<td>
+								<select id="selectmonth" name="monthselect">
+								{{monthlist}}
+								</select>
+								<input placeholder="请输入上班天数" id="daynum" name="daynum" type="number" step="0.5">
+							</td>
 						</tr>
 						<tr>
 							<th class="taC" width="100">备注</th><td><textarea class="span4" name="description" placeholder="选填"></textarea></td>
@@ -151,14 +158,22 @@
 		})
 	});
 	function addholiday(){
+		if($('#cidstaff').val() == 0){
+			alert('请选择员工');
+			return false;
+		}
 		if($('#selecttype').val() != 14){
 			if($('#holidayday').val() == ''){
 				alert('请选择日期');
 				return false;
 			}
 		}else {
+			if ($('#selectmonth').val() == 0) {
+				alert('请选择月份');
+				return false;
+			}
 			if ($('#daynum').val() == '') {
-				alert('请输入本月上班天数');
+				alert('请输入上班天数');
 				return false;
 			}
 		}

+ 6 - 1
protected/view/holiday-overtime.html

@@ -97,6 +97,7 @@
 							<!-- endloop -->
 						</select>
 						<select id="cidstaff" name="uid">
+							<option value="0">选择员工</option>
 							<!-- loop zongbu -->
 							<option value="{{zongbu' value.sid}}">{{zongbu' value.username}}</option>
 							<!-- endloop -->
@@ -177,7 +178,7 @@
 				success: function(result){
 					if(result.code == 200){
 						$('#cidstaff').html('');
-						var html = '';
+						var html = '<option value="0">选择员工</option>';
 						$.each(result.stafflist,function(k,v){
 							html +='<option value="'+v.sid+'">'+v.username+'</option>';
 						});
@@ -196,6 +197,10 @@
 	});
 
 	function addholiday(){
+		if($('#cidstaff').val() == 0){
+			alert('请选择员工');
+			return false;
+		}
 		if($('#selecttype').val() == 4){
 			if($('#jiaban').val() == ''){
 				alert('请选择加班日期');

+ 6 - 1
protected/view/holiday-vacation.html

@@ -91,6 +91,7 @@
 								<!-- endloop -->
 							</select>
 							<select id="cidstaff" name="uid">
+								<option value="0">选择员工</option>
 								<!-- loop zongbu -->
 								<option value="{{zongbu' value.sid}}">{{zongbu' value.username}}</option>
 								<!-- endloop -->
@@ -150,7 +151,7 @@
 				success: function(result){
 					if(result.code == 200){
 						$('#cidstaff').html('');
-						var html = '';
+						var html = '<option value="0">选择员工</option>';
 						$.each(result.stafflist,function(k,v){
 							html +='<option value="'+v.sid+'">'+v.username+'</option>';
 						});
@@ -193,6 +194,10 @@
 		});
 	});
 	function setholidaynum(){
+		if($('#cidstaff').val() == 0){
+			alert('请选择员工');
+			return false;
+		}
 		if($('#addnum').val() == ''){
 			alert('请输入增加天数');
 			return false;