123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 |
- <?php
- namespace app\api\controller\report;
- use app\api\controller\Report;
- use app\api\controller\ZskkDefaultController;
- use app\api\validate\report\ReportValidate;
- use app\api\servies\report\ReportService;
- class ReportController extends ZskkDefaultController
- {
- protected $needToken = true;
- protected $logName = "ReportController";
- /**
- * 报告详情
- * @author liuguiyan
- */
- public function details(ReportService $service)
- {
- $params = $this->getParams();
- ReportValidate::check($params);
- $token = $this->getToken();
- $ra_id = $params['ra_id'] ?? '';
- $user = $service->getReportDetail($params['exam_id'],$params['is_remote'],$token,$ra_id);
- return $this->success($user);
- }
- /*
- * 报告权限判断
- */
- public function checkPurview(ReportService $service)
- {
- $params = $this->getParams();
- $token = $this->getToken();
- $data = $service->check($token,$params['status']);
- return $this->success($data);
- }
- /**
- * 写报告
- * @author liuguiyan
- */
- public function save(ReportService $service)
- {
- // try {
- $params = $this->getParams();
- ReportValidate::checkSave($params);
- $token = $this->getToken();
- $result = $service->updateReport($params['exam_id'], $params,'save','2',$token);
- return $this->success($result);
- // } catch (\Exception $exception){
- // $this->throwError($exception->getMessage(),0001);
- // }
- }
- /**
- *
- * 审核报告
- * @author liuguiyan
- */
- public function audit(ReportService $service)
- {
- // try {
- $params = $this->getParams();
- ReportValidate::checkSave($params);
- $token = $this->getToken();
- // 开始修改
- $result = $service->updateReport($params['exam_id'], $params,'audit','2',$token);
- // 返回
- return $this->success($result);
- // } catch (\Exception $exception){
- // $this->throwError($exception->getMessage(),0001);
- // }
- }
- /*
- * 审核驳回
- */
- public function reject_audit(ReportService $service)
- {
- $params = $this->getParams();
- $token = $this->getToken();
- $user = $this->getCache($token);
- // 开始修改
- $result = $service->rejectAudit($params['report_id'], $params['reject_reason'],$user);
- // 返回
- return $this->success($result);
- }
- /**
- * 确认报告
- */
- public function confirm(ReportService $service)
- {
- $params = $this->getParams();
- ReportValidate::checkConfirm($params);
- $token = $this->getToken();
- $ra_id = $params['ra_id'] ?? null;
- // 开始修改
- $result = $service->updateReport($params['exam_id'], $params,'confirm',$params['is_remote'], $token,$ra_id);
- if($ra_id){
- $service->save_progress($ra_id,$token,'确认结束了远程申请',6);
- }
- // 返回
- return $this->success($result);
- }
- /**
- * 暂存报告
- */
- public function stage(ReportService $service)
- {
- $params = $this->getParams();
- ReportValidate::stageConfirm($params);
- $token = $this->getToken();
- $key = $service->stageReport($params['examId'], $token, $params,$params['isRemote'],$params['report_id']);
- // 返回
- return $this->success($key);
- }
- /**
- * 获取打印所需的数据
- */
- public function printReport(ReportService $service)
- {
- $params = $this->getParams();
- ReportValidate::checkPrint($params);
- // 存储报告
- $data = $service->getPrintData($params['report_id'],$params['is_remote']);
- // 返回
- return $this->success($data);
- }
- /**
- * 远程书写报告
- */
- public function remote_save(ReportService $service)
- {
- $params = $this->getParams();
- ReportValidate::checkSave($params);
- $token = $this->getToken();
- $result = $service->updateReport($params['exam_id'], $params,'save','1',$token , $params['ra_id']);
- return $this->success($result);
- }
- /**
- * 远程审核报告
- */
- public function remote_audit(ReportService $service)
- {
- $params = $this->getParams();
- ReportValidate::checkSave($params);
- $token = $this->getToken();
- // 开始修改
- $result = $service->updateReport($params['exam_id'], $params,'audit','1',$token , $params['ra_id']);
- // 返回
- return $this->success($result);
- }
- /**
- * @param ReportService $service
- * @return false|string
- * 视频存储保存
- */
- public function save_video(ReportService $service)
- {
- $params = $this->getParams();
- ReportValidate::checkVideo($params);
- $info = $service->save_video_url($params);
- return $this->success($info);
- }
- public function cancel_video(ReportService $service)
- {
- $params = $this->getParams();
- $info = $service->cancel_video($params['id']);
- return $this->success($info);
- }
- public function getVideo(ReportService $service)
- {
- $params = $this->getParams();
- $info = $service->getVideo($params);
- return $this->success($info);
- }
- //检查当前报告是否有医生进入页面
- public function checkWrite(ReportService $service)
- {
- $params = $this->getParams();
- $doctor = $this->getCache($this->getToken());
- $data = $this->getCache($params['report_id'].'_local');
- $info = $service->checkWrite($params,$doctor,$data);
- return $this->success($info);
- }
- //清除
- public function delWriting()
- {
- $params = $this->getParams();
- $info = $this->delCache($params['report_id'].'_local');
- return $this->success($info);
- }
- public function downDcm(ReportService $service)
- {
- $params = $this->getParams();
- $service->getDcmZip($params['study_id']);
- }
- public function changeReport(ReportService $service)
- {
- $params = $this->getParams();
- $info = $service->changeReport($params,$this->getToken());
- return $this->success($info);
- }
- public function checkLock(ReportService $service)
- {
- $params = $this->getParams();
- $info = $service->checkLock($params,$this->getToken());
- return $this->success($info);
- }
- public function getAiReport(ReportService $service)
- {
- $params = $this->getParams();
- $info = $service->getAiReport($params);
- return $this->success($info);
- }
- public function deleteAiReport(ReportService $service)
- {
- $params = $this->getParams();
- $info = $service->deleteAiReport($params);
- return $this->success($info);
- }
- }
|