|
@@ -59,50 +59,7 @@ public class AlgorithmFacade {
|
|
|
//计算得分
|
|
|
if (algorithmVO.getHospitalId().equals(1L)) {
|
|
|
//长兴医院的情况下
|
|
|
- List<QcResultAlgVO> qcResultAlgHomePage = new ArrayList<>();
|
|
|
- List<QcResultAlgVO> qcResultAlgHomePageExt = new ArrayList<>();
|
|
|
- for (QcResultAlgVO qcResultAlgVO : algorithmVO.getQcResultAlgVOList()) {
|
|
|
- //首页的情况
|
|
|
- if (qcResultAlgVO.getCasesId().equals(243L)) {
|
|
|
- qcResultAlgHomePage.add(qcResultAlgVO);
|
|
|
- } else {
|
|
|
- //非首页
|
|
|
- qcResultAlgHomePageExt.add(qcResultAlgVO);
|
|
|
- }
|
|
|
- }
|
|
|
- List<MedQcresultCasesVO> medQcresultCasesVOList = new ArrayList<>();
|
|
|
- //病案首页
|
|
|
- AlgorithmVO homePage = new AlgorithmVO();
|
|
|
- BeanUtil.copyProperties(algorithmVO, homePage);
|
|
|
- homePage.setQcResultAlgVOList(qcResultAlgHomePage);
|
|
|
- homePage.setIsHomePage(true);
|
|
|
- BigDecimal homePageRes = cal(homePage);
|
|
|
- String level = getHomePageLevel(homePageRes);
|
|
|
- MedQcresultCasesVO medQcresultCasesVOHp = new MedQcresultCasesVO();
|
|
|
- medQcresultCasesVOHp.setHospitalId(algorithmVO.getHospitalId());
|
|
|
- medQcresultCasesVOHp.setBehospitalCode(algorithmVO.getBehospitalCode());
|
|
|
- medQcresultCasesVOHp.setCasesId(243L);
|
|
|
- medQcresultCasesVOHp.setScoreRes(homePageRes);
|
|
|
- medQcresultCasesVOHp.setLevel(level);
|
|
|
- medQcresultCasesVOList.add(medQcresultCasesVOHp);
|
|
|
- //病案首页以外
|
|
|
- AlgorithmVO homePageExt = new AlgorithmVO();
|
|
|
- BeanUtil.copyProperties(algorithmVO, homePageExt);
|
|
|
- homePageExt.setQcResultAlgVOList(qcResultAlgHomePageExt);
|
|
|
- BigDecimal homePageExtRes = cal(homePageExt);
|
|
|
- MedQcresultCasesVO medQcresultCasesVOHpExt = new MedQcresultCasesVO();
|
|
|
- medQcresultCasesVOHpExt.setHospitalId(algorithmVO.getHospitalId());
|
|
|
- medQcresultCasesVOHpExt.setBehospitalCode(algorithmVO.getBehospitalCode());
|
|
|
- medQcresultCasesVOHpExt.setCasesId(0L);
|
|
|
- medQcresultCasesVOHpExt.setScoreRes(homePageExtRes);
|
|
|
- medQcresultCasesVOHpExt.setLevel("");
|
|
|
- medQcresultCasesVOList.add(medQcresultCasesVOHpExt);
|
|
|
- algorithmVO.setMedQcresultCasesVOList(medQcresultCasesVOList);
|
|
|
-
|
|
|
- res = homePageRes
|
|
|
- .add(homePageExtRes)
|
|
|
- .multiply(new BigDecimal(100))
|
|
|
- .divide(new BigDecimal(120), 1, RoundingMode.HALF_UP);
|
|
|
+ res = getScoreForCx(algorithmVO);
|
|
|
} else {
|
|
|
//非长兴医院的情况下
|
|
|
res = cal(algorithmVO);
|
|
@@ -110,6 +67,60 @@ public class AlgorithmFacade {
|
|
|
return res;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 评结果分数(长兴)
|
|
|
+ *
|
|
|
+ * @param algorithmVO 操作条目的所有信息
|
|
|
+ * @return 评结果分数
|
|
|
+ */
|
|
|
+ private BigDecimal getScoreForCx(AlgorithmVO algorithmVO) {
|
|
|
+ List<QcResultAlgVO> qcResultAlgHomePage = new ArrayList<>();
|
|
|
+ List<QcResultAlgVO> qcResultAlgHomePageExt = new ArrayList<>();
|
|
|
+ for (QcResultAlgVO qcResultAlgVO : algorithmVO.getQcResultAlgVOList()) {
|
|
|
+ //首页的情况
|
|
|
+ if (qcResultAlgVO.getCasesId().equals(243L)) {
|
|
|
+ qcResultAlgHomePage.add(qcResultAlgVO);
|
|
|
+ } else {
|
|
|
+ //非首页
|
|
|
+ qcResultAlgHomePageExt.add(qcResultAlgVO);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ List<MedQcresultCasesVO> medQcresultCasesVOList = new ArrayList<>();
|
|
|
+ //病案首页
|
|
|
+ AlgorithmVO homePage = new AlgorithmVO();
|
|
|
+ BeanUtil.copyProperties(algorithmVO, homePage);
|
|
|
+ homePage.setQcResultAlgVOList(qcResultAlgHomePage);
|
|
|
+ homePage.setIsHomePage(true);
|
|
|
+ BigDecimal homePageRes = cal(homePage);
|
|
|
+ String level = getHomePageLevel(homePageRes);
|
|
|
+ MedQcresultCasesVO medQcresultCasesVOHp = new MedQcresultCasesVO();
|
|
|
+ medQcresultCasesVOHp.setHospitalId(algorithmVO.getHospitalId());
|
|
|
+ medQcresultCasesVOHp.setBehospitalCode(algorithmVO.getBehospitalCode());
|
|
|
+ medQcresultCasesVOHp.setCasesId(243L);
|
|
|
+ medQcresultCasesVOHp.setScoreRes(homePageRes);
|
|
|
+ medQcresultCasesVOHp.setLevel(level);
|
|
|
+ medQcresultCasesVOList.add(medQcresultCasesVOHp);
|
|
|
+ //病案首页以外
|
|
|
+ AlgorithmVO homePageExt = new AlgorithmVO();
|
|
|
+ BeanUtil.copyProperties(algorithmVO, homePageExt);
|
|
|
+ homePageExt.setQcResultAlgVOList(qcResultAlgHomePageExt);
|
|
|
+ BigDecimal homePageExtRes = cal(homePageExt);
|
|
|
+ MedQcresultCasesVO medQcresultCasesVOHpExt = new MedQcresultCasesVO();
|
|
|
+ medQcresultCasesVOHpExt.setHospitalId(algorithmVO.getHospitalId());
|
|
|
+ medQcresultCasesVOHpExt.setBehospitalCode(algorithmVO.getBehospitalCode());
|
|
|
+ medQcresultCasesVOHpExt.setCasesId(0L);
|
|
|
+ medQcresultCasesVOHpExt.setScoreRes(homePageExtRes);
|
|
|
+ medQcresultCasesVOHpExt.setLevel("");
|
|
|
+ medQcresultCasesVOList.add(medQcresultCasesVOHpExt);
|
|
|
+ algorithmVO.setMedQcresultCasesVOList(medQcresultCasesVOList);
|
|
|
+ //计算分数
|
|
|
+ BigDecimal res = homePageRes
|
|
|
+ .add(homePageExtRes)
|
|
|
+ .multiply(new BigDecimal(100))
|
|
|
+ .divide(new BigDecimal(120), 1, RoundingMode.HALF_UP);
|
|
|
+ return res;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 根据分数评定等级(病案首页)
|
|
|
*
|