public function setAttendanceType($id) { $attendance = new Hra_Model_Attendance(); $data = $attendance->fetchRow("id = " . $id)->toArray(); $type = $this->checkAttendanceType($data['number'], $data['time'], $id); $date = date('Y-m-d', strtotime($data['time'])); // 当类别不为0时,更新原有数据中(当天、当前用户)打卡类别为当前类别的数据为0(更新打卡类别) if ($type != 0) { try { $updateData = array('type' => 0, 'sec_late' => 0, 'sec_leave' => 0, 'sec_truancy_half' => 0, 'sec_truancy' => 0, 'clock_chk' => 0, 'clock_info' => null); $attendance->update($updateData, "id != " . $id . " and number = '" . $data['number'] . "' and DATE(time) = '" . $date . "' and type = " . $type); } catch (Exception $e) { $result['success'] = false; $result['info'] = $e->getMessage(); echo Zend_Json::encode($result); exit; } } try { $attendance->update(array('type' => $type), "id = " . $id); } catch (Exception $e) { $result['success'] = false; $result['info'] = $e->getMessage(); echo Zend_Json::encode($result); exit; } }