1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- namespace app\common\model;
- use app\hander\HelpHander;
- use think\Db;
- use think\Model;
- class AttendanceLeaveTerminate extends Model
- {
- // 请假审批时生成请假记录
- public function advancedStartLeaveTerminate($id,$orgId,$userId,$formJson){
- $formJson = json_decode($formJson,true);
- $data = [
- 'org_id' => $orgId,
- 'user_id' => $userId,
- 'apply_id' => $id,
- 'create_time' => date('Y-m-d H:i:s'),
- 'status' => 0
- ];
- foreach ($formJson as $k=>$v){
- if($v['componentName'] == 'ddleaveterminatefield'){
- foreach ($v['components'] as $key=>$val){
- switch ($val['idx']){
- case '0':
- $data['parent_apply_id'] = $val['values2'][0]['id'];
- break;
- case '1':
- $data['days'] = $val['values'];
- break;
- }
- }
- break;
- }
- }
- $ret = Db::name('attendance_leave_terminate')->insert($data);
- return $ret?true:false;
- }
- public function advancedEndLeaveTerminate($id,$orgId,$userId,$formJson){
- $data = [
- 'update_time' => date('Y-m-d H:i:s'),
- 'status' => 1
- ];
- $info = Db::name('attendance_leave_terminate')->where('apply_id',$id)->find();
- $ret = Db::name('attendance_leave_terminate')->where('apply_id',$id)->update($data);
- if($ret){
- $res = Db::name('attendance_leave')->where('apply_id',$info['parent_apply_id'])->setDec('cur_days',$info['days']);
- if(!$res){
- return false;
- }
- }
- return $ret?true:false;
- }
- public function advancedDisagreeLeaveTerminate($id){
- $info = Db::name('attendance_leave_terminate')->where('apply_id',$id)->find();
- $data = [
- 'update_time' => date('Y-m-d H:i:s'),
- 'status' => 2
- ];
- $pinfo = Db::name('attendance_leave')->where('apply_id',$info['parent_apply_id'])->find();
- if($pinfo['leave_type'] == 3){ // 年假
- $ret = Db::name('user_info')->where('user_id',$pinfo['user_id'])->setInc('annual_leave',$info['days']);
- if(!$ret){
- return false;
- }
- }
- $ret = Db::name('attendance_leave_terminate')->where('apply_id',$id)->update($data);
- if($ret){
- $res = Db::name('attendance_leave')->where('apply_id',$info['parent_apply_id'])->setDec('cur_days',$info['days']);
- if(!$res){
- return false;
- }
- }
- return $ret?true:false;
- }
- }
|