/** * newPatientCourseWithAllDetail * 一次创建1个病程 * ($userId, $patientCaseId, $clientId, $type, $courseSummary, array('categoryId'=>$categoryId, 'occurDate'=>$occurDate, 'courseContents'=>array('clientId'=>array('contentType'=>$contenType, 'content'=>$content) ), ....)) * @param mixed $patientCaseId * @param array $params * @access public * @return void */ public function newPatientCourseWithAllDetail($userId, $patientCaseId, $clientId, $type, $courseSummary, $occurDate, $mark, $courseDetails) {/*{{{*/ if(empty($clientId)) { return 0; } $doctorOwner = DAL::get()->find_by_userid('DoctorOwner',$userId); if($doctorOwner->isNull()) { return 0; } $patientCase = DAL::get()->find('PatientCase', $patientCaseId); if($patientCase->isNull() || $patientCase->doctorOwner->id != $doctorOwner->id) { return 0; } $canDoCreate = PatientCourse::isSameCourseSummary($patientCaseId, $courseSummary); if($canDoCreate == false) { return 0; } $patientCourseAsyncDto = PatientCourseAsyncDto::create($patientCase, $type, $courseSummary, $occurDate, $mark, $courseDetails); $patientCourseInfos = PatientCourseClient::getInstance()->createPatientCourseWithContent($patientCourseAsyncDto); $patientCourseId = $patientCourseInfos['courseId']; $patientCourseDetailInfos = $patientCourseInfos['detailInfos']; $patientCourse = DAL::get()->find('PatientCourse', $patientCourseId); $this->content = array('clientId'=>$clientId, 'patientCourseId'=>$patientCourse->id, 'ver'=>$patientCourse->ver, 'detailInfos' => $patientCourseDetailInfos); }/*}}}*/
private function createPatientCourse($patientCase, $request) { /*{{{*/ $courseType = XString::convertToGbk($request->courseType); $courseMark = XString::convertToGbk($request->courseMark); $courseDetails = XString::convertArrayToGbk($request->courseDetails); $courseSummary = md5($patientCase->doctorOwner->id . XString::convertToGbk($request->name) . time()); $patientCourseAsyncDto = PatientCourseAsyncDto::create($patientCase, $courseType, $courseSummary, $request->courseOccurDate, $courseMark, $courseDetails, 'INSPECTOR'); $patientCourseInfos = PatientCourseClient::getInstance()->createPatientCourseWithContent($patientCourseAsyncDto); $patientCourse = new NullEntity(); if (isset($patientCourseInfos['courseId']) && $patientCourseInfos['courseId']) { $patientCourse = DAL::get()->find('patientcourse', $patientCourseInfos['courseId']); PatientCourseClient::getInstance()->setPatientCoursePass($this->curInspector, $patientCourse); } return $patientCourse; }