209 lines
7.2 KiB
Java
209 lines
7.2 KiB
Java
package com.example.caseData.controller;
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.example.caseData.common.Response;
|
|
import com.example.caseData.dao.*;
|
|
import com.example.caseData.dto.caseClinicalArticle.CaseClinicalArticleDto;
|
|
import com.example.caseData.dto.caseClinicalVideo.CaseClinicalVideoDto;
|
|
import com.example.caseData.dto.caseExchange.CaseExchangeDto;
|
|
import com.example.caseData.dto.statsCaseClinical.StatsCaseClinicalDto;
|
|
import com.example.caseData.dto.statsCaseClinicalDoctor.StatsCaseClinicalDoctorDto;
|
|
import com.example.caseData.dto.statsCaseClinicalHospital.StatsCaseClinicalHospitalDto;
|
|
import com.example.caseData.dto.statsCaseClinicalLabel.StatsCaseClinicalLabelDto;
|
|
import com.example.caseData.model.*;
|
|
import com.example.caseData.request.StatsCaseClinicalRequest.getClinicalStatsLabel;
|
|
import com.example.caseData.request.caseLabelRequest.getCaseLabel;
|
|
import jakarta.annotation.Resource;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import java.util.List;
|
|
|
|
@RestController
|
|
@RequestMapping("/api")
|
|
public class StatsCaseClinicalController extends BaseController {
|
|
@Resource
|
|
private StatsCaseClinicalDao statsCaseClinicalDao;
|
|
|
|
@Resource
|
|
private StatsCaseClinicalHospitalDao statsCaseClinicalHospitalDao;
|
|
|
|
@Resource
|
|
private StatsCaseClinicalDoctorDao statsCaseClinicalDoctorDao;
|
|
|
|
@Resource
|
|
private StatsCaseClinicalLabelDao statsCaseClinicalLabelDao;
|
|
|
|
@Resource
|
|
private CaseClinicalArticleDao caseClinicalArticleDao;
|
|
|
|
@Resource
|
|
private CaseClinicalVideoDao caseClinicalVideoDao;
|
|
|
|
/**
|
|
* 临床病例库-统计
|
|
*/
|
|
@GetMapping("/clinical/stats")
|
|
public Response<StatsCaseClinicalDto> getClinicalStats(){
|
|
// 统计表-病例库-临床
|
|
LambdaQueryWrapper<StatsCaseClinicalModel> statsCaseClinicalQueryWrapper = new LambdaQueryWrapper<>();
|
|
StatsCaseClinicalModel statsCaseClinical = statsCaseClinicalDao.selectOne(statsCaseClinicalQueryWrapper);
|
|
|
|
StatsCaseClinicalDto g = StatsCaseClinicalDto.GetDto(statsCaseClinical);
|
|
|
|
if (g == null){
|
|
return Response.success(new StatsCaseClinicalDto());
|
|
}
|
|
|
|
return Response.success(g);
|
|
}
|
|
|
|
/**
|
|
* 临床病例库-统计-医院
|
|
*/
|
|
@GetMapping("/clinical/stats/hospital/{hospital_id}")
|
|
public Response<StatsCaseClinicalHospitalDto> getClinicalStatsHospital(
|
|
@PathVariable("hospital_id") String hospitalId
|
|
){
|
|
|
|
Integer articleReadNum = 0;
|
|
Integer videoReadNum = 0;
|
|
|
|
// 获取该标签下文章数据
|
|
List<CaseClinicalArticleDto> caseClinicalArticles = caseClinicalArticleDao.getCaseClinicalArticleSearchList(
|
|
"",
|
|
hospitalId,
|
|
"",
|
|
"",
|
|
null
|
|
);
|
|
for (CaseClinicalArticleDto article : caseClinicalArticles){
|
|
articleReadNum += article.getReadNum();
|
|
}
|
|
|
|
// 获取该标签下视频数据
|
|
List<CaseClinicalVideoDto> caseClinicalVideos = caseClinicalVideoDao.getCaseClinicalVideoSearchList(
|
|
"",
|
|
hospitalId,
|
|
"",
|
|
"",
|
|
null
|
|
);
|
|
for (CaseClinicalVideoDto video : caseClinicalVideos){
|
|
videoReadNum += video.getReadNum();
|
|
}
|
|
|
|
|
|
StatsCaseClinicalHospitalDto g = new StatsCaseClinicalHospitalDto();
|
|
g.setStatsId("1");
|
|
g.setArticleNum(caseClinicalArticles.size());
|
|
g.setArticleReadNum(articleReadNum);
|
|
g.setVideoNum(caseClinicalVideos.size());
|
|
g.setVideoReadNum(videoReadNum);
|
|
|
|
//
|
|
// // 统计表-病例库-临床
|
|
// LambdaQueryWrapper<StatsCaseClinicalHospitalModel> statsCaseClinicalHospitalQueryWrapper = new LambdaQueryWrapper<>();
|
|
// statsCaseClinicalHospitalQueryWrapper.eq(StatsCaseClinicalHospitalModel::getHospitalId, hospitalId);
|
|
// StatsCaseClinicalHospitalModel statsCaseClinicalHospital = statsCaseClinicalHospitalDao.selectOne(statsCaseClinicalHospitalQueryWrapper);
|
|
//
|
|
// StatsCaseClinicalHospitalDto g = StatsCaseClinicalHospitalDto.GetDto(statsCaseClinicalHospital);
|
|
//
|
|
// if (g == null){
|
|
// return Response.success(new StatsCaseClinicalHospitalDto());
|
|
// }
|
|
|
|
return Response.success(g);
|
|
}
|
|
|
|
/**
|
|
* 临床病例库-统计-医生
|
|
*/
|
|
@GetMapping("/clinical/stats/doctor/{doctor_id}")
|
|
public Response<StatsCaseClinicalDoctorDto> getClinicalStatsDoctor(
|
|
@PathVariable("doctor_id") String doctorId
|
|
){
|
|
Integer articleReadNum = 0;
|
|
Integer videoReadNum = 0;
|
|
|
|
// 获取该标签下文章数据
|
|
List<CaseClinicalArticleDto> caseClinicalArticles = caseClinicalArticleDao.getCaseClinicalArticleSearchList(
|
|
"",
|
|
"",
|
|
doctorId,
|
|
"",
|
|
null
|
|
);
|
|
for (CaseClinicalArticleDto article : caseClinicalArticles){
|
|
articleReadNum += article.getReadNum();
|
|
}
|
|
|
|
// 获取该标签下视频数据
|
|
List<CaseClinicalVideoDto> caseClinicalVideos = caseClinicalVideoDao.getCaseClinicalVideoSearchList(
|
|
"",
|
|
"",
|
|
doctorId,
|
|
"",
|
|
null
|
|
);
|
|
for (CaseClinicalVideoDto video : caseClinicalVideos){
|
|
videoReadNum += video.getReadNum();
|
|
}
|
|
|
|
|
|
StatsCaseClinicalDoctorDto g = new StatsCaseClinicalDoctorDto();
|
|
g.setStatsId("1");
|
|
g.setArticleNum(caseClinicalArticles.size());
|
|
g.setArticleReadNum(articleReadNum);
|
|
g.setVideoNum(caseClinicalVideos.size());
|
|
g.setVideoReadNum(videoReadNum);
|
|
|
|
return Response.success(g);
|
|
}
|
|
|
|
/**
|
|
* 临床病例库-统计-疾病标签
|
|
*/
|
|
@GetMapping("/clinical/stats/label")
|
|
public Response<StatsCaseClinicalLabelDto> getClinicalStatsLabel(
|
|
@Validated() @ModelAttribute getClinicalStatsLabel request
|
|
){
|
|
Integer articleReadNum = 0;
|
|
Integer videoReadNum = 0;
|
|
|
|
// 获取该标签下文章数据
|
|
List<CaseClinicalArticleDto> caseClinicalArticles = caseClinicalArticleDao.getCaseClinicalArticleSearchList(
|
|
"",
|
|
"",
|
|
"",
|
|
request.getLabel_iden(),
|
|
null
|
|
);
|
|
for (CaseClinicalArticleDto article : caseClinicalArticles){
|
|
articleReadNum += article.getReadNum();
|
|
}
|
|
|
|
// 获取该标签下视频数据
|
|
List<CaseClinicalVideoDto> caseClinicalVideos = caseClinicalVideoDao.getCaseClinicalVideoSearchList(
|
|
"",
|
|
"",
|
|
"",
|
|
request.getLabel_iden(),
|
|
null
|
|
);
|
|
for (CaseClinicalVideoDto video : caseClinicalVideos){
|
|
videoReadNum += video.getReadNum();
|
|
}
|
|
|
|
|
|
StatsCaseClinicalLabelDto g = new StatsCaseClinicalLabelDto();
|
|
g.setStatsId("1");
|
|
g.setArticleNum(caseClinicalArticles.size());
|
|
g.setArticleReadNum(articleReadNum);
|
|
g.setVideoNum(caseClinicalVideos.size());
|
|
g.setVideoReadNum(videoReadNum);
|
|
|
|
return Response.success(g);
|
|
}
|
|
}
|