12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- namespace app\common\model;
- use think\Db;
- class AttendanceLeave extends Base{
- public function updates(){
- $data = request()->post();
- $result = validate('AttendanceLeave')->check($data,[],'');
- if(true !== $result){
- $this->error = validate('AttendanceLeave')->getError();
- return false;
- }
- if($data['start_time'] > $data['end_time']){
- $this->error = '开始时间不能小于结束时间';
- return false;
- }
- //当天上午
- if($data['start_time'] == $data['start_time'] && $data['apm1']== $data['apm2'] && $data['apm1']==1){
- $start_time = $data['start_time'].' 00:00:00';
- $end_time = $data['end_time'].' 11:59:59';
- }
- //当天下午
- if($data['start_time'] == $data['start_time'] && $data['apm1']== $data['apm2'] && $data['apm1']==2){
- $start_time = $data['start_time'].' 12:00:00';
- $end_time = $data['end_time'].' 23:59:59';
- }
- //当天
- if($data['start_time'] == $data['start_time']&& $data['apm1'] != $data['apm2']){
- $start_time = $data['start_time'].' 00:00:00';
- $end_time = $data['end_time'].' 23:59:59';
- }
- //跨天上午
- if($data['start_time'] < $data['end_time'] && $data['apm1'] == $data['apm2'] && $data['apm1']==1){
- $start_time = $data['start_time'].' 00:00:00';
- $end_time = $data['end_time'].' 11:59:59';
- }
- //跨天下午
- if($data['start_time'] < $data['end_time'] && $data['apm1'] == $data['apm2'] && $data['apm1']==2){
- $start_time = $data['start_time'].' 12:00:00';
- $end_time = $data['end_time'].' 23:59:59';
- }
- //跨天整天
- if($data['start_time'] < $data['end_time'] && $data['apm1'] != $data['apm2']){
- $start_time = $data['start_time'].' 00:00:00';
- $end_time = $data['end_time'].' 23:59:59';
- }
- $startdate = strtotime($start_time);
- $enddate = strtotime($end_time);
- $curDays = round(($enddate-$startdate)/3600/24,1) ;
- $curData = [
- 'user_id'=>$data['user_id'],
- 'org_id'=>cur_org_id(),
- 'start_time'=>$start_time,
- 'end_time'=>$end_time,
- 'leave_type'=>$data['leave_type'],
- 'days'=>$data['days'],
- 'cur_days'=>$curDays,
- 'status'=>0,
- ];
- $id = $data['id'];
- unset($data['id']);
- if($id > 0){
- $curData['update_time'] = date('Y-m-d H:i:s');
- $ret = $this->allowField(true)->save($curData,['id'=>$id]);
- }else{
- $curData['create_time'] = date('Y-m-d H:i:s');
- $ret = $this->allowField(true)->save($curData);
- }
- if(!$ret){
- $this->error = '操作失败';
- return false;
- }
- return true;
- }
- }
|