function save(&$AController) { $vDB = GetDB(); $vContainer =& $AController->container(); $vDefaults =& $vContainer['defaults']; $vValues =& $vContainer['values']; $vNumDates = count($vDefaults['surgeries']); $vBaseInfo =& $vValues['BaseInfo']; if ($vNumDates > 0) { $vFirstDate =& $vValues[DatePageName(0)]; $vFirstDateDefaults =& $vDefaults[DatePageName(0)]; $vLastDate =& $vValues[DatePageName($vNumDates - 1)]; } else { $vFirstDate = array(); $vFirstDateDefaults = array(); $vLastDate = array(); } $vBaseInfoRecord = array(); $vRecord = array(); CopyRecordRefValue($vRecord, $vBaseInfo, 'id'); $vRecord['modify_time'] = $vDB->ConvertToDateTime(time()); CopyRecordDateValue($vRecord, $vDefaults['BaseInfo'], 'create_time'); CopyRecordStrValue($vRecord, $vBaseInfo, 'last_name'); CopyRecordStrValue($vRecord, $vBaseInfo, 'first_name'); CopyRecordStrValue($vRecord, $vBaseInfo, 'patr_name'); CopyRecordBoolValue($vRecord, $vBaseInfo, 'is_male'); CopyRecordDateValue($vRecord, $vBaseInfo, 'born_date'); CopyRecordRefValue($vRecord, $vBaseInfo, 'doc_type_id'); CopyRecordStrValue($vRecord, $vBaseInfo, 'doc_series'); CopyRecordStrValue($vRecord, $vBaseInfo, 'doc_number'); CopyRecordRefValue($vRecord, $vBaseInfo, 'insurance_company_id'); CopyRecordStrValue($vRecord, $vBaseInfo, 'polis_series'); CopyRecordStrValue($vRecord, $vBaseInfo, 'polis_number'); CopyRecordDateValue($vRecord, $vValues, 'patient_polis_from'); CopyRecordDateValue($vRecord, $vValues, 'patient_polis_to'); CopyRecordStrValue($vRecord, $vBaseInfo, 'paytype'); CopyRecordStrValue($vRecord, $vBaseInfo, 'addr_reg_street'); CopyRecordStrValue($vRecord, $vBaseInfo, 'addr_reg_num'); CopyRecordStrValue($vRecord, $vBaseInfo, 'addr_reg_subnum'); CopyRecordStrValue($vRecord, $vBaseInfo, 'addr_reg_apartment'); CopyRecordStrValue($vRecord, $vBaseInfo, 'addr_phys_street'); CopyRecordStrValue($vRecord, $vBaseInfo, 'addr_phys_num'); CopyRecordStrValue($vRecord, $vBaseInfo, 'addr_phys_subnum'); CopyRecordStrValue($vRecord, $vBaseInfo, 'addr_phys_apartment'); CopyRecordStrValue($vRecord, $vBaseInfo, 'phone'); CopyRecordRefValue($vRecord, $vBaseInfo, 'employment_category_id'); CopyRecordStrValue($vRecord, $vBaseInfo, 'employment_place'); CopyRecordStrValue($vRecord, $vBaseInfo, 'profession'); CopyRecordRefValue($vRecord, $vBaseInfo, 'trauma_type_id'); CopyRecordStrValue($vRecord, $vBaseInfo, 'notes'); if ($vNumDates > 0) { $vRecord['first_doctor_id'] = @$vFirstDateDefaults['user_id']; CopyRecordStrValue($vRecord, $vFirstDate, 'accident'); CopyRecordDateTimeValue($vRecord, $vFirstDate, 'accident_datetime'); CopyRecordStrValue($vRecord, $vFirstDate, 'accident_place'); CopyRecordRefValue($vRecord, $vFirstDate, 'antitetanus_id'); CopyRecordStrValue($vRecord, $vFirstDate, 'antitetanus_series'); CopyRecordBoolValue($vRecord, $vFirstDate, 'phone_message_required'); CopyRecordBoolValue($vRecord, $vFirstDate, 'ice_trauma'); CopyRecordBoolValue($vRecord, $vFirstDate, 'animal_bite_trauma'); CopyRecordBoolValue($vRecord, $vFirstDate, 'ixodes_trauma'); CopyRecordStrValue($vRecord, $vFirstDate, 'message_number'); CopyRecordStrValue($vRecord, $vFirstDate, 'diagnosis'); CopyRecordStrValue($vRecord, $vFirstDate, 'diagnosis_mkb'); CopyRecordDateValue($vRecord, $vFirstDate, 'disability_from_date'); CopyRecordDateValue($vRecord, $vLastDate, 'next_visit_date'); CopyRecordRefValue($vRecord, $vLastDate, 'next_visit_target_id'); if (empty($vLastDate['clinical_outcome_id'])) { $vRecord['state'] = 'progress'; } else { $vRecord['state'] = 'done'; } } else { $vRecord['state'] = 'init'; } $vCaseID = $vDB->InsertOrUpdateById('emst_cases', $vRecord); $vBaseInfo['id'] = $vCaseID; $vEmptyRec = array('id' => ''); for ($i = 0; $i < $vNumDates; $i++) { $vDateValues =& $vValues[DatePageName($i)]; $vDateDefaults =& $vDefaults['surgeries'][$i]; $vRecord = array(); $vRecord['case_id'] = $vCaseID; // $vRecord['user_id'] = $_SESSION['User.ID']; $vRecord['user_id'] = $vDateDefaults['user_id']; $vRecord['date'] = $vDateDefaults['date']; $vRecord['id'] = @$vDateDefaults['id']; CopyRecordStrValue($vRecord, $vDateValues, 'complaints'); CopyRecordStrValue($vRecord, $vDateValues, 'objective'); CopyRecordStrValue($vRecord, $vDateValues, 'diagnosis'); CopyRecordStrValue($vRecord, $vDateValues, 'diagnosis_mkb'); CopyRecordRefValue($vRecord, $vDateValues, 'dynamic_id'); CopyRecordRefValue($vRecord, $vDateValues, 'manipulation_id'); CopyRecordStrValue($vRecord, $vDateValues, 'manipulation_text'); CopyRecordStrValue($vRecord, $vDateValues, 'cure'); CopyRecordStrValue($vRecord, $vDateValues, 'notes'); CopyRecordRefValue($vRecord, $vDateValues, 'disability'); if (empty($vRecord['disability'])) { $vRecord['disability'] = 0; } CopyRecordStrValue($vRecord, $vDateValues, 'ill_refused'); CopyRecordStrValue($vRecord, $vDateValues, 'ill_sertificat'); CopyRecordStrValue($vRecord, $vDateValues, 'ill_doc'); CopyRecordStrValue($vRecord, $vDateValues, 'ill_doc_closed'); CopyRecordStrValue($vRecord, $vDateValues, 'ill_doc_new'); CopyRecordBoolValue($vRecord, $vDateValues, 'ill_doc_is_continue'); CopyRecordDateValue($vRecord, $vDateValues, 'ill_beg_date'); CopyRecordDateValue($vRecord, $vDateValues, 'ill_end_date'); CopyRecordRefValue($vRecord, $vDateValues, 'clinical_outcome_id'); CopyRecordStrValue($vRecord, $vDateValues, 'clinical_outcome_notes'); CopyRecordDateValue($vRecord, $vDateValues, 'next_cec_date'); CopyRecordDateValue($vRecord, $vDateValues, 'next_visit_date'); CopyRecordRefValue($vRecord, $vDateValues, 'next_visit_target_id'); CopyRecordBoolValue($vRecord, $vDateValues, 'is_cec'); if ($vRecord['is_cec'] && empty($vDateDefaults['cec_number'])) { $vDateDefaults['cec_number'] = $vDB->Insert('reg_ceces', $vEmptyRec); } CopyRecordRefValue($vRecord, $vDateDefaults, 'cec_number'); // CopyRecordStrValue($vRecord, $vDateValues, 'cec_number'); CopyRecordDateValue($vRecord, $vDateValues, 'cec_cureup_date'); // CopyRecordStrValue($vRecord, $vDateValues, 'cec_members'); $vID = $vDB->InsertOrUpdateById('emst_surgeries', $vRecord); $vDateDefaults['id'] = $vID; } }
function Save() { if (!$this->validate()) { return FALSE; } $vDB = GetDB(); $vValues = $this->getSubmitValues(TRUE); $vId = @$vValues['id']; $vRecord = array(); if (!empty($vId)) { $vRecord['id'] = $vId; } else { $vRecord['create_time'] = $vDB->ConvertToDateTime(time()); $vRecord['next_visit_date'] = $vDB->ConvertToDate(time()); } $vRecord['modify_time'] = $vDB->ConvertToDateTime(time()); CopyRecordStrValue($vRecord, $vValues, 'last_name'); CopyRecordStrValue($vRecord, $vValues, 'first_name'); CopyRecordStrValue($vRecord, $vValues, 'patr_name'); CopyRecordBoolValue($vRecord, $vValues, 'is_male'); CopyRecordDateValue($vRecord, $vValues, 'born_date'); CopyRecordRefValue($vRecord, $vValues, 'doc_type_id'); CopyRecordStrValue($vRecord, $vValues, 'doc_series'); CopyRecordStrValue($vRecord, $vValues, 'doc_number'); CopyRecordRefValue($vRecord, $vValues, 'insurance_company_id'); CopyRecordStrValue($vRecord, $vValues, 'polis_series'); CopyRecordStrValue($vRecord, $vValues, 'polis_number'); CopyRecordDateValue($vRecord, $vValues, 'patient_polis_from'); CopyRecordDateValue($vRecord, $vValues, 'patient_polis_to'); CopyRecordStrValue($vRecord, $vValues, 'paytype'); CopyRecordStrValue($vRecord, $vValues, 'addr_reg_street'); CopyRecordStrValue($vRecord, $vValues, 'addr_reg_num'); CopyRecordStrValue($vRecord, $vValues, 'addr_reg_subnum'); CopyRecordStrValue($vRecord, $vValues, 'addr_reg_apartment'); CopyRecordStrValue($vRecord, $vValues, 'addr_phys_street'); CopyRecordStrValue($vRecord, $vValues, 'addr_phys_num'); CopyRecordStrValue($vRecord, $vValues, 'addr_phys_subnum'); CopyRecordStrValue($vRecord, $vValues, 'addr_phys_apartment'); CopyRecordStrValue($vRecord, $vValues, 'phone'); CopyRecordRefValue($vRecord, $vValues, 'employment_category_id'); CopyRecordStrValue($vRecord, $vValues, 'employment_place'); CopyRecordStrValue($vRecord, $vValues, 'profession'); CopyRecordRefValue($vRecord, $vValues, 'trauma_type_id'); CopyRecordStrValue($vRecord, $vValues, 'notes'); CopyRecordStrValue($vRecord, $vValues, 'accident'); CopyRecordDateTimeValue($vRecord, $vValues, 'accident_datetime'); CopyRecordStrValue($vRecord, $vValues, 'accident_place'); CopyRecordBoolValue($vRecord, $vValues, 'phone_message_required'); CopyRecordBoolValue($vRecord, $vValues, 'ice_trauma'); CopyRecordBoolValue($vRecord, $vValues, 'animal_bite_trauma'); CopyRecordBoolValue($vRecord, $vValues, 'ixodes_trauma'); CopyRecordStrValue($vRecord, $vValues, 'message_number'); /* Здесь нужна проверка введенных данных в поле ПОЛИС СМО*/ $vResult = $vDB->InsertOrUpdateById('emst_cases', $vRecord); // var_dump($vRecord); // var_dump($vDB); return $vResult; }