Compare commits
3 Commits
3c785b919a
...
0f868e3da0
Author | SHA1 | Date |
---|---|---|
|
0f868e3da0 | 3 years ago |
|
b754986fbb | 3 years ago |
|
aa0feb328e | 3 years ago |
24 changed files with 1295 additions and 16 deletions
@ -0,0 +1,43 @@ |
|||||
|
package com.ccsens.carbasics.api.manage; |
||||
|
|
||||
|
import com.ccsens.carbasics.bean.dto.QuestionnaireDto; |
||||
|
import com.ccsens.carbasics.service.IManageQuestionnaireService; |
||||
|
import com.ccsens.cloudutil.annotation.MustLogin; |
||||
|
import com.ccsens.util.JsonResponse; |
||||
|
import com.ccsens.util.bean.dto.QueryDto; |
||||
|
import com.github.pagehelper.PageInfo; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import io.swagger.annotations.ApiOperation; |
||||
|
import io.swagger.annotations.ApiParam; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.validation.annotation.Validated; |
||||
|
import org.springframework.web.bind.annotation.RequestBody; |
||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||
|
import org.springframework.web.bind.annotation.RequestMethod; |
||||
|
import org.springframework.web.bind.annotation.RestController; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
@Api(tags = "问查调卷相关接口" , description = "") |
||||
|
@RestController |
||||
|
@RequestMapping("/manage/questionnaire") |
||||
|
@Slf4j |
||||
|
public class ManageQuestionnaireController { |
||||
|
|
||||
|
@Resource |
||||
|
private IManageQuestionnaireService manageQuestionnaireService; |
||||
|
|
||||
|
@MustLogin |
||||
|
@ApiOperation(value = "后台查看问卷填写记录", notes = "") |
||||
|
@RequestMapping(value = "/list", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) |
||||
|
public JsonResponse<PageInfo<Map<String, String>>> queryQuestionnaireDetail(@ApiParam @Validated @RequestBody QueryDto<QuestionnaireDto.BackQueryQuestionnaire> params) throws Exception{ |
||||
|
log.info("后台查看问卷填写记录{}", params); |
||||
|
// 未添加时间条件
|
||||
|
PageInfo<Map<String, String>> o = manageQuestionnaireService.queryQuestionnaireDetail(params.getParam(), params.getUserId()); |
||||
|
|
||||
|
return JsonResponse.newInstance().ok(o); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,100 @@ |
|||||
|
package com.ccsens.carbasics.api.manage; |
||||
|
|
||||
|
import com.ccsens.carbasics.bean.dto.QuestionnaireDto; |
||||
|
import com.ccsens.carbasics.bean.dto.StatisticalDto; |
||||
|
import com.ccsens.carbasics.bean.vo.QuestionnaireVo; |
||||
|
import com.ccsens.carbasics.bean.vo.StatisticalVo; |
||||
|
import com.ccsens.carbasics.service.IManageStatisticalService; |
||||
|
import com.ccsens.carbasics.service.IStatisticalService; |
||||
|
import com.ccsens.cloudutil.annotation.MustLogin; |
||||
|
import com.ccsens.util.JsonResponse; |
||||
|
import com.ccsens.util.bean.dto.QueryDto; |
||||
|
import io.swagger.annotations.Api; |
||||
|
import io.swagger.annotations.ApiOperation; |
||||
|
import io.swagger.annotations.ApiParam; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.validation.annotation.Validated; |
||||
|
import org.springframework.web.bind.annotation.RequestBody; |
||||
|
import org.springframework.web.bind.annotation.RequestMapping; |
||||
|
import org.springframework.web.bind.annotation.RequestMethod; |
||||
|
import org.springframework.web.bind.annotation.RestController; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @description: 统计查询 |
||||
|
* @author: whj |
||||
|
* @time: 2021/7/28 8:54 |
||||
|
*/ |
||||
|
@Api(tags = "后台统计查询") |
||||
|
@RestController |
||||
|
@RequestMapping("/manage/statistical") |
||||
|
@Slf4j |
||||
|
public class ManageStatisticalController { |
||||
|
|
||||
|
@Resource |
||||
|
private IManageStatisticalService manageStatisticalService; |
||||
|
|
||||
|
|
||||
|
@MustLogin |
||||
|
@ApiOperation(value = "查找卒中问卷", notes = "") |
||||
|
@RequestMapping(value = "/questionnaireByType", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) |
||||
|
public JsonResponse<List<QuestionnaireVo.QuestionnaireByType>> questionnaireByType(@ApiParam @Validated @RequestBody QueryDto<QuestionnaireDto.QueryQuestionnaireByType> params) { |
||||
|
log.info("查找卒中问卷:{}", params); |
||||
|
List<QuestionnaireVo.QuestionnaireByType> questionnaireByTypes = manageStatisticalService.questionnaireByType(params.getParam(), params.getUserId()); |
||||
|
log.info("查找卒中问卷结果:{}", questionnaireByTypes); |
||||
|
return JsonResponse.newInstance().ok(questionnaireByTypes); |
||||
|
} |
||||
|
|
||||
|
@MustLogin |
||||
|
@ApiOperation(value = "按医院等级-收治急性缺血性脑卒中(AIS)总例数", notes = "") |
||||
|
@RequestMapping(value = "/allLevel", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) |
||||
|
public JsonResponse<StatisticalVo.ComparisonAis> comparisonAllByLevel(@ApiParam @Validated @RequestBody QueryDto<StatisticalDto.Comparison> params) { |
||||
|
log.info("按医院等级-对比AIS患者数据:{}", params); |
||||
|
StatisticalVo.ComparisonAis comparisonAis = manageStatisticalService.comparisonAllByLevel(params.getParam(), params.getUserId()); |
||||
|
log.info("按医院等级-对比AIS患者数据结果:{}", comparisonAis); |
||||
|
return JsonResponse.newInstance().ok(comparisonAis); |
||||
|
} |
||||
|
|
||||
|
@MustLogin |
||||
|
@ApiOperation(value = "按地区-收治急性缺血性脑卒中(AIS)总例数", notes = "") |
||||
|
@RequestMapping(value = "/allArea", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) |
||||
|
public JsonResponse<StatisticalVo.ComparisonAis> comparisonAllByArea(@ApiParam @Validated @RequestBody QueryDto<StatisticalDto.Comparison> params) { |
||||
|
log.info("按地区-对比AIS患者数据:{}", params); |
||||
|
StatisticalVo.ComparisonAis comparisonAis = manageStatisticalService.comparisonAllByArea(params.getParam(), params.getUserId()); |
||||
|
log.info("按地区-对比AIS患者数据结果:{}", comparisonAis); |
||||
|
return JsonResponse.newInstance().ok(comparisonAis); |
||||
|
} |
||||
|
|
||||
|
@MustLogin |
||||
|
@ApiOperation(value = "按地区-AIS就诊患者总数", notes = "") |
||||
|
@RequestMapping(value = "/aisArea", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) |
||||
|
public JsonResponse<StatisticalVo.ComparisonAis> comparisonAisByArea(@ApiParam @Validated @RequestBody QueryDto<StatisticalDto.Comparison> params) { |
||||
|
log.info("按地区-对比AIS患者数据:{}", params); |
||||
|
StatisticalVo.ComparisonAis comparisonAis = manageStatisticalService.comparisonAisByArea(params.getParam(), params.getUserId()); |
||||
|
log.info("按地区-对比AIS患者数据结果:{}", comparisonAis); |
||||
|
return JsonResponse.newInstance().ok(comparisonAis); |
||||
|
} |
||||
|
|
||||
|
@MustLogin |
||||
|
@ApiOperation(value = "按地区-发病4.5h内AIS患者总数和百分比", notes = "") |
||||
|
@RequestMapping(value = "/aisPercentArea", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) |
||||
|
public JsonResponse<StatisticalVo.ComparisonAisPercent> comparisonAisPercentByArea(@ApiParam @Validated @RequestBody QueryDto<StatisticalDto.Comparison> params) { |
||||
|
log.info("按地区-发病4.5h内AIS患者总数和百分比:{}", params); |
||||
|
StatisticalVo.ComparisonAisPercent comparisonAis = manageStatisticalService.comparisonAisPercentByArea(params.getParam(), params.getUserId()); |
||||
|
log.info("按地区-发病4.5h内AIS患者总数和百分比结果:{}", comparisonAis); |
||||
|
return JsonResponse.newInstance().ok(comparisonAis); |
||||
|
} |
||||
|
|
||||
|
@MustLogin |
||||
|
@ApiOperation(value = "按地区-静脉溶栓率", notes = "") |
||||
|
@RequestMapping(value = "/thrombolysisByArea", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) |
||||
|
public JsonResponse<StatisticalVo.ComparisonThrombolysis> thrombolysisByArea(@ApiParam @Validated @RequestBody QueryDto<StatisticalDto.ComparisonThrombolysis> params) { |
||||
|
log.info("按地区-静脉溶栓率:{}", params); |
||||
|
StatisticalVo.ComparisonThrombolysis comparisonThrombolysis = manageStatisticalService.thrombolysisByArea(params.getParam(), params.getUserId()); |
||||
|
log.info("按地区-静脉溶栓率结果:{}", comparisonThrombolysis); |
||||
|
return JsonResponse.newInstance().ok(comparisonThrombolysis); |
||||
|
} |
||||
|
|
||||
|
} |
@ -0,0 +1,38 @@ |
|||||
|
package com.ccsens.carbasics.persist.dao; |
||||
|
|
||||
|
import com.ccsens.carbasics.bean.vo.StatisticalVo; |
||||
|
import org.apache.ibatis.annotations.Param; |
||||
|
import org.springframework.stereotype.Repository; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* @author 逗 |
||||
|
*/ |
||||
|
@Repository |
||||
|
public interface ManageStatisticalDao { |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @param oneId |
||||
|
* @param twoId |
||||
|
* @return |
||||
|
*/ |
||||
|
Map<String, Long> comparisonAllByLevel(@Param("oneId")Long oneId, @Param("twoId")Long twoId); |
||||
|
|
||||
|
List<StatisticalVo.ComparisonAis.Ais> comparisonAllByArea(@Param("oneId")Long oneId, @Param("twoId")Long twoId, @Param("desc")byte desc); |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @param oneId |
||||
|
* @param twoId |
||||
|
* @param desc |
||||
|
* @return |
||||
|
*/ |
||||
|
List<StatisticalVo.ComparisonAis.Ais> comparisonAisByArea(@Param("oneId")Long oneId, @Param("twoId")Long twoId, @Param("desc")byte desc); |
||||
|
|
||||
|
List<StatisticalVo.ComparisonAisPercent.Ais> comparisonAisPercentByArea(@Param("oneId")Long oneId, @Param("twoId")Long twoId, @Param("desc")byte desc); |
||||
|
|
||||
|
List<StatisticalVo.ComparisonThrombolysis.Thrombolysis> thrombolysisByArea(@Param("oneId")Long oneId, @Param("twoId")Long twoId, @Param("desc")byte desc); |
||||
|
} |
@ -0,0 +1,17 @@ |
|||||
|
package com.ccsens.carbasics.service; |
||||
|
|
||||
|
import com.ccsens.carbasics.bean.dto.QuestionnaireDto; |
||||
|
import com.github.pagehelper.PageInfo; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
public interface IManageQuestionnaireService { |
||||
|
|
||||
|
/** |
||||
|
* 后台查找问卷列表 |
||||
|
* @param param |
||||
|
* @param userId |
||||
|
*/ |
||||
|
PageInfo<Map<String, String>> queryQuestionnaireDetail(QuestionnaireDto.BackQueryQuestionnaire param, Long userId); |
||||
|
} |
@ -0,0 +1,50 @@ |
|||||
|
package com.ccsens.carbasics.service; |
||||
|
|
||||
|
import com.ccsens.carbasics.bean.dto.QuestionnaireDto; |
||||
|
import com.ccsens.carbasics.bean.dto.StatisticalDto; |
||||
|
import com.ccsens.carbasics.bean.vo.QuestionnaireVo; |
||||
|
import com.ccsens.carbasics.bean.vo.StatisticalVo; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
/** |
||||
|
* @author 逗 |
||||
|
*/ |
||||
|
public interface IManageStatisticalService { |
||||
|
|
||||
|
/** |
||||
|
* 通过type查找问卷 |
||||
|
* @param param |
||||
|
* @param userId |
||||
|
* @return |
||||
|
*/ |
||||
|
List<QuestionnaireVo.QuestionnaireByType> questionnaireByType(QuestionnaireDto.QueryQuestionnaireByType param, Long userId); |
||||
|
|
||||
|
/** |
||||
|
* 根据等级统计Ais数据 |
||||
|
* @param param |
||||
|
* @param userId |
||||
|
* @return |
||||
|
*/ |
||||
|
StatisticalVo.ComparisonAis comparisonAllByLevel(StatisticalDto.Comparison param, Long userId); |
||||
|
|
||||
|
/** |
||||
|
* 根据地区统计AIS数据 |
||||
|
* @param param |
||||
|
* @param userId |
||||
|
* @return |
||||
|
*/ |
||||
|
StatisticalVo.ComparisonAis comparisonAllByArea(StatisticalDto.Comparison param, Long userId); |
||||
|
|
||||
|
/** |
||||
|
* |
||||
|
* @param param |
||||
|
* @param userId |
||||
|
* @return |
||||
|
*/ |
||||
|
StatisticalVo.ComparisonAis comparisonAisByArea(StatisticalDto.Comparison param, Long userId); |
||||
|
|
||||
|
StatisticalVo.ComparisonAisPercent comparisonAisPercentByArea(StatisticalDto.Comparison param, Long userId); |
||||
|
|
||||
|
StatisticalVo.ComparisonThrombolysis thrombolysisByArea(StatisticalDto.ComparisonThrombolysis param, Long userId); |
||||
|
} |
@ -0,0 +1,74 @@ |
|||||
|
package com.ccsens.carbasics.service; |
||||
|
|
||||
|
import cn.hutool.core.util.StrUtil; |
||||
|
import com.ccsens.carbasics.bean.dto.QuestionnaireDto; |
||||
|
import com.ccsens.carbasics.bean.vo.CodeVo; |
||||
|
import com.ccsens.carbasics.bean.vo.QuestionnaireVo; |
||||
|
import com.ccsens.carbasics.persist.dao.AreaDao; |
||||
|
import com.ccsens.carbasics.persist.dao.CodeDictionariesDao; |
||||
|
import com.ccsens.carbasics.persist.dao.QuestionnaireRecordDao; |
||||
|
import com.ccsens.carbasics.util.Constant; |
||||
|
import com.ccsens.util.PoiUtil; |
||||
|
import com.github.pagehelper.PageHelper; |
||||
|
import com.github.pagehelper.PageInfo; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.apache.poi.ss.usermodel.Workbook; |
||||
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
import org.springframework.transaction.annotation.Propagation; |
||||
|
import org.springframework.transaction.annotation.Transactional; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
import java.util.ArrayList; |
||||
|
import java.util.HashMap; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
|
||||
|
/** |
||||
|
* @author 逗 |
||||
|
*/ |
||||
|
@Slf4j |
||||
|
@Service |
||||
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) |
||||
|
public class ManageQuestionnaireService implements IManageQuestionnaireService { |
||||
|
|
||||
|
@Resource |
||||
|
private CodeDictionariesDao codeDictionariesDao; |
||||
|
@Resource |
||||
|
private QuestionnaireRecordDao questionnaireRecordDao; |
||||
|
@Resource |
||||
|
private AreaDao areaDao; |
||||
|
|
||||
|
@Override |
||||
|
public PageInfo<Map<String, String>> queryQuestionnaireDetail(QuestionnaireDto.BackQueryQuestionnaire param, Long userId) { |
||||
|
String areaCode = "CITY-COUNTY"; |
||||
|
|
||||
|
List<String> parentCodes = new ArrayList<>(); |
||||
|
parentCodes.add("QXXWJ"); |
||||
|
parentCodes.add("XGZL"); |
||||
|
List<CodeVo.Basic> codes = codeDictionariesDao.query(parentCodes); |
||||
|
log.info("code数量:{}", codes.size()); |
||||
|
|
||||
|
PageHelper.startPage(param.getPageNum(),param.getPageSize()); |
||||
|
List<Map<String, String>> records = questionnaireRecordDao.backQueryRecordList(param,codes); |
||||
|
log.info("记录结束"); |
||||
|
records.forEach(record ->{ |
||||
|
String s = record.get(areaCode); |
||||
|
if (StrUtil.isNotBlank(s)) { |
||||
|
String[] split = s.split(Constant.STRING_REGEX); |
||||
|
List<Long> areaIds = new ArrayList<>(); |
||||
|
for(String id: split) { |
||||
|
areaIds.add(Long.parseLong(id)); |
||||
|
} |
||||
|
List<QuestionnaireVo.AreaBasic> areaBasics = areaDao.queryByIdArr(areaIds); |
||||
|
StringBuilder area = new StringBuilder(); |
||||
|
for (QuestionnaireVo.AreaBasic areaBasic : areaBasics) { |
||||
|
area.append(areaBasic.getName()); |
||||
|
} |
||||
|
record.put(areaCode,area.toString()); |
||||
|
} |
||||
|
}); |
||||
|
|
||||
|
return new PageInfo<>(records); |
||||
|
} |
||||
|
} |
@ -0,0 +1,151 @@ |
|||||
|
package com.ccsens.carbasics.service; |
||||
|
|
||||
|
import cn.hutool.core.bean.BeanUtil; |
||||
|
import cn.hutool.core.collection.CollectionUtil; |
||||
|
import cn.hutool.core.util.ArrayUtil; |
||||
|
import cn.hutool.core.util.ObjectUtil; |
||||
|
import com.ccsens.carbasics.bean.dto.QuestionnaireDto; |
||||
|
import com.ccsens.carbasics.bean.dto.StatisticalDto; |
||||
|
import com.ccsens.carbasics.bean.po.QuestionnaireDataDatumLine; |
||||
|
import com.ccsens.carbasics.bean.vo.QuestionnaireVo; |
||||
|
import com.ccsens.carbasics.bean.vo.StatisticalVo; |
||||
|
import com.ccsens.carbasics.persist.dao.ManageStatisticalDao; |
||||
|
import com.ccsens.carbasics.persist.dao.QuestionnaireDao; |
||||
|
import com.ccsens.carbasics.persist.dao.QuestionnaireDataDatumLineDao; |
||||
|
import javafx.print.Collation; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
import org.springframework.transaction.annotation.Propagation; |
||||
|
import org.springframework.transaction.annotation.Transactional; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
import java.util.*; |
||||
|
|
||||
|
/** |
||||
|
* @author 逗 |
||||
|
*/ |
||||
|
@Slf4j |
||||
|
@Service |
||||
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) |
||||
|
public class ManageStatisticalService implements IManageStatisticalService { |
||||
|
|
||||
|
@Resource |
||||
|
private QuestionnaireDao questionnaireDao; |
||||
|
@Resource |
||||
|
private ManageStatisticalDao manageStatisticalDao; |
||||
|
@Resource |
||||
|
private QuestionnaireDataDatumLineDao dataDatumLineDao; |
||||
|
|
||||
|
@Override |
||||
|
public List<QuestionnaireVo.QuestionnaireByType> questionnaireByType(QuestionnaireDto.QueryQuestionnaireByType param, Long userId) { |
||||
|
return questionnaireDao.questionnaireByType(param.getType()); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public StatisticalVo.ComparisonAis comparisonAllByLevel(StatisticalDto.Comparison param, Long userId) { |
||||
|
//查找“收治急性缺血性脑卒中(AIS)总例数”
|
||||
|
Map<String, Long> map = manageStatisticalDao.comparisonAllByLevel(param.getOneId(),param.getTwoId()); |
||||
|
|
||||
|
StatisticalVo.ComparisonAis comparisonAis = new StatisticalVo.ComparisonAis(); |
||||
|
List<StatisticalVo.ComparisonAis.Ais> aisList = new ArrayList<>(); |
||||
|
if(ObjectUtil.isNull(map)){ |
||||
|
aisList.add(new StatisticalVo.ComparisonAis.Ais("二级",0,0)); |
||||
|
aisList.add(new StatisticalVo.ComparisonAis.Ais("三级",0,0)); |
||||
|
aisList.add(new StatisticalVo.ComparisonAis.Ais("溶栓地图外",0,0)); |
||||
|
}else { |
||||
|
aisList.add(new StatisticalVo.ComparisonAis.Ais("二级", |
||||
|
map.get("secondLevel1") == null ? 0 : map.get("secondLevel1").intValue(), |
||||
|
map.get("secondLevel2") == null ? 0 : map.get("secondLevel2").intValue())); |
||||
|
aisList.add(new StatisticalVo.ComparisonAis.Ais("三级", |
||||
|
map.get("threeLevel1") == null ? 0 : map.get("threeLevel1").intValue(), |
||||
|
map.get("threeLevel2") == null ? 0 : map.get("threeLevel2").intValue())); |
||||
|
aisList.add(new StatisticalVo.ComparisonAis.Ais("溶栓地图外", |
||||
|
map.get("notMap1") == null ? 0 : map.get("notMap1").intValue(), |
||||
|
map.get("notMap2") == null ? 0 : map.get("notMap2").intValue())); |
||||
|
} |
||||
|
|
||||
|
comparisonAis.setAisList(aisList); |
||||
|
return comparisonAis; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public StatisticalVo.ComparisonAis comparisonAllByArea(StatisticalDto.Comparison param, Long userId) { |
||||
|
//查找“收治急性缺血性脑卒中(AIS)总例数”
|
||||
|
List<StatisticalVo.ComparisonAis.Ais> aisList = manageStatisticalDao.comparisonAllByArea(param.getOneId(),param.getTwoId(),param.getDesc()); |
||||
|
|
||||
|
StatisticalVo.ComparisonAis comparisonAis = new StatisticalVo.ComparisonAis(); |
||||
|
|
||||
|
comparisonAis.setAisList(aisList); |
||||
|
return comparisonAis; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
@Override |
||||
|
public StatisticalVo.ComparisonAis comparisonAisByArea(StatisticalDto.Comparison param, Long userId) { |
||||
|
//查找“收治急性缺血性脑卒中(AIS)总例数”
|
||||
|
List<StatisticalVo.ComparisonAis.Ais> aisList = manageStatisticalDao.comparisonAisByArea(param.getOneId(),param.getTwoId(),param.getDesc()); |
||||
|
StatisticalVo.ComparisonAis comparisonAis = new StatisticalVo.ComparisonAis(); |
||||
|
|
||||
|
comparisonAis.setAisList(aisList); |
||||
|
return comparisonAis; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public StatisticalVo.ComparisonAisPercent comparisonAisPercentByArea(StatisticalDto.Comparison param, Long userId) { |
||||
|
StatisticalVo.ComparisonAisPercent comparisonAis = new StatisticalVo.ComparisonAisPercent(); |
||||
|
|
||||
|
List<StatisticalVo.ComparisonAisPercent.Ais> aisList = manageStatisticalDao.comparisonAisPercentByArea(param.getOneId(),param.getTwoId(),param.getDesc()); |
||||
|
if(param.getDesc() == 4){ |
||||
|
CollectionUtil.sort(aisList, (o1, o2) -> o2.getOneHourPercent().compareTo(o1.getOneHourPercent())); |
||||
|
}else { |
||||
|
CollectionUtil.sort(aisList, (o1, o2) -> o2.getTowHourPercent().compareTo(o1.getTowHourPercent())); |
||||
|
} |
||||
|
comparisonAis.setAisList(aisList); |
||||
|
|
||||
|
return comparisonAis; |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public StatisticalVo.ComparisonThrombolysis thrombolysisByArea(StatisticalDto.ComparisonThrombolysis param, Long userId) { |
||||
|
StatisticalVo.ComparisonThrombolysis comparisonThrombolysis = new StatisticalVo.ComparisonThrombolysis(); |
||||
|
|
||||
|
List<StatisticalVo.ComparisonThrombolysis.Thrombolysis> thrombolyses = manageStatisticalDao.thrombolysisByArea(param.getOneId(),param.getTwoId(),param.getDesc()); |
||||
|
//排序
|
||||
|
switch (param.getDesc()){ |
||||
|
case 0: |
||||
|
CollectionUtil.sort(thrombolyses, (o1, o2) -> o2.getOneNum().compareTo(o1.getOneNum())); |
||||
|
break; |
||||
|
case 1: |
||||
|
CollectionUtil.sort(thrombolyses, (o1, o2) -> o2.getTowNum().compareTo(o1.getTowNum())); |
||||
|
break; |
||||
|
case 2: |
||||
|
CollectionUtil.sort(thrombolyses, (o1, o2) -> o2.getOneSecondLevelNum().compareTo(o1.getOneSecondLevelNum())); |
||||
|
break; |
||||
|
case 3: |
||||
|
CollectionUtil.sort(thrombolyses, (o1, o2) -> o2.getTowSecondLevelNum().compareTo(o1.getTowSecondLevelNum())); |
||||
|
break; |
||||
|
case 4: |
||||
|
CollectionUtil.sort(thrombolyses, (o1, o2) -> o2.getOneThreeLevelNum().compareTo(o1.getOneThreeLevelNum())); |
||||
|
break; |
||||
|
case 5: |
||||
|
CollectionUtil.sort(thrombolyses, (o1, o2) -> o2.getTowThreeLevelNum().compareTo(o1.getTowThreeLevelNum())); |
||||
|
break; |
||||
|
default: |
||||
|
break; |
||||
|
} |
||||
|
comparisonThrombolysis.setThrombolysisList(thrombolyses); |
||||
|
//查找标准
|
||||
|
List<QuestionnaireDataDatumLine> dataDatumLineList = dataDatumLineDao.queryAll((byte) 0); |
||||
|
if (CollectionUtil.isNotEmpty(dataDatumLineList)) { |
||||
|
for (QuestionnaireDataDatumLine dataDatumLine : dataDatumLineList) { |
||||
|
if ("基础目标".equals(dataDatumLine.getName())) { |
||||
|
comparisonThrombolysis.setBasicGoal(dataDatumLine.getDatumLine()); |
||||
|
} |
||||
|
if ("进阶目标".equals(dataDatumLine.getName())) { |
||||
|
comparisonThrombolysis.setAdvancedGoal(dataDatumLine.getDatumLine()); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
return comparisonThrombolysis; |
||||
|
} |
||||
|
} |
@ -1,4 +1,4 @@ |
|||||
spring: |
spring: |
||||
profiles: |
profiles: |
||||
active: prod |
active: test |
||||
include: common, util-prod |
include: common, util-test |
||||
|
@ -0,0 +1,314 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
<mapper namespace="com.ccsens.carbasics.persist.dao.ManageStatisticalDao"> |
||||
|
|
||||
|
|
||||
|
<select id="comparisonAllByLevel" resultType="java.util.Map"> |
||||
|
SELECT |
||||
|
cast(SUM(if(t1.map = '否', t1.num, null)) as SIGNED) as notMap1, |
||||
|
cast(SUM(if(t2.map = '否', t2.num, null)) as SIGNED) as notMap2, |
||||
|
cast(SUM(if(t1.map = '是' and t1.hospitalLevel = '二级', t1.num, null)) as SIGNED) as secondLevel1, |
||||
|
cast(SUM(if(t2.map = '是' and t2.hospitalLevel = '二级', t2.num, null)) as SIGNED) as secondLevel2, |
||||
|
cast(SUM(if(t1.map = '是' and t1.hospitalLevel = '三级', t1.num, null)) as SIGNED) as threeLevel1, |
||||
|
cast(SUM(if(t2.map = '是' and t2.hospitalLevel = '三级', t2.num, null)) as SIGNED) as threeLevel2 |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
d.id, |
||||
|
a.answer as num, |
||||
|
m.answer as map, |
||||
|
n.answer as hospitalName, |
||||
|
l.answer as hospitalLevel |
||||
|
FROM |
||||
|
(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'All-Nnt') a |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-MAP') m on a.questionnaire_detail_id = m.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-NAME') n on a.questionnaire_detail_id = n.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-LEVEL') l on a.questionnaire_detail_id = l.questionnaire_detail_id |
||||
|
LEFT JOIN t_qcp_questionnaire_detail d on d.id = a.questionnaire_detail_id |
||||
|
WHERE |
||||
|
d.rec_status = 0 |
||||
|
and a.rec_status = 0 |
||||
|
and m.rec_status = 0 |
||||
|
and n.rec_status = 0 |
||||
|
and l.rec_status = 0 |
||||
|
and d.questionnaire_id = #{oneId} |
||||
|
and d.submit_status = 1 |
||||
|
)t1, |
||||
|
( |
||||
|
SELECT |
||||
|
d.id, |
||||
|
a.answer as num, |
||||
|
m.answer as map, |
||||
|
n.answer as hospitalName, |
||||
|
l.answer as hospitalLevel |
||||
|
FROM |
||||
|
(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'All-Nnt') a |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-MAP') m on a.questionnaire_detail_id = m.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-NAME') n on a.questionnaire_detail_id = n.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-LEVEL') l on a.questionnaire_detail_id = l.questionnaire_detail_id |
||||
|
LEFT JOIN t_qcp_questionnaire_detail d on d.id = a.questionnaire_detail_id |
||||
|
WHERE |
||||
|
d.rec_status = 0 |
||||
|
and a.rec_status = 0 |
||||
|
and m.rec_status = 0 |
||||
|
and n.rec_status = 0 |
||||
|
and l.rec_status = 0 |
||||
|
and d.questionnaire_id = #{twoId} |
||||
|
and d.submit_status = 1 |
||||
|
)t2 |
||||
|
WHERE |
||||
|
t1.hospitalName = t2.hospitalName |
||||
|
</select> |
||||
|
<select id="comparisonAllByArea" resultType="com.ccsens.carbasics.bean.vo.StatisticalVo$ComparisonAis$Ais"> |
||||
|
SELECT |
||||
|
* |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
t1.area_name as name, |
||||
|
SUM(t1.num) as oneNum, |
||||
|
SUM(t2.num) as towNum |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
d.id, |
||||
|
a.answer as num, |
||||
|
n.answer as hospitalName, |
||||
|
c.area_name |
||||
|
FROM |
||||
|
(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'All-Nnt') a |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-NAME') n on a.questionnaire_detail_id = n.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT r.questionnaire_detail_id, a.`area_name` FROM t_qcp_questionnaire_record r, t_area a |
||||
|
WHERE r.`question_code` = 'CITY-COUNTY' and a.id = SUBSTRING_INDEX(r.answer,",",1)) c on a.questionnaire_detail_id = c.questionnaire_detail_id |
||||
|
LEFT JOIN t_qcp_questionnaire_detail d on d.id = a.questionnaire_detail_id |
||||
|
WHERE |
||||
|
d.rec_status = 0 |
||||
|
and a.rec_status = 0 |
||||
|
and n.rec_status = 0 |
||||
|
and d.questionnaire_id = #{oneId} |
||||
|
and d.submit_status = 1 |
||||
|
)t1, |
||||
|
( |
||||
|
SELECT |
||||
|
d.id, |
||||
|
a.answer as num, |
||||
|
n.answer as hospitalName, |
||||
|
c.area_name |
||||
|
FROM |
||||
|
(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'All-Nnt') a |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-NAME') n on a.questionnaire_detail_id = n.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT r.questionnaire_detail_id, a.`area_name` FROM t_qcp_questionnaire_record r, t_area a |
||||
|
WHERE r.`question_code` = 'CITY-COUNTY' and a.id = SUBSTRING_INDEX(r.answer,",",1)) c on a.questionnaire_detail_id = c.questionnaire_detail_id |
||||
|
LEFT JOIN t_qcp_questionnaire_detail d on d.id = a.questionnaire_detail_id |
||||
|
WHERE |
||||
|
d.rec_status = 0 |
||||
|
and a.rec_status = 0 |
||||
|
and n.rec_status = 0 |
||||
|
and d.questionnaire_id = #{twoId} |
||||
|
and d.submit_status = 1 |
||||
|
)t2 |
||||
|
WHERE |
||||
|
t1.hospitalName = t2.hospitalName |
||||
|
GROUP BY t1.area_name, t2.area_name |
||||
|
) a |
||||
|
<if test="desc == 0"> |
||||
|
ORDER BY a.oneNum DESC |
||||
|
</if> |
||||
|
<if test="desc == 1"> |
||||
|
ORDER BY a.towNum DESC |
||||
|
</if> |
||||
|
|
||||
|
</select> |
||||
|
|
||||
|
<select id="comparisonAisByArea" resultType="com.ccsens.carbasics.bean.vo.StatisticalVo$ComparisonAis$Ais"> |
||||
|
SELECT |
||||
|
* |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
t1.area_name as name, |
||||
|
SUM(t1.num) as oneNum, |
||||
|
SUM(t2.num) as towNum |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
d.id, |
||||
|
a.answer as num, |
||||
|
n.answer as hospitalName, |
||||
|
c.area_name |
||||
|
FROM |
||||
|
(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'AIS-Nnt') a |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-NAME') n on a.questionnaire_detail_id = n.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT r.questionnaire_detail_id, a.`area_name` FROM t_qcp_questionnaire_record r, t_area a |
||||
|
WHERE r.`question_code` = 'CITY-COUNTY' and a.id = SUBSTRING_INDEX(r.answer,",",1)) c on a.questionnaire_detail_id = c.questionnaire_detail_id |
||||
|
LEFT JOIN t_qcp_questionnaire_detail d on d.id = a.questionnaire_detail_id |
||||
|
WHERE |
||||
|
d.rec_status = 0 |
||||
|
and a.rec_status = 0 |
||||
|
and n.rec_status = 0 |
||||
|
and d.questionnaire_id = #{oneId} |
||||
|
and d.submit_status = 1 |
||||
|
)t1, |
||||
|
( |
||||
|
SELECT |
||||
|
d.id, |
||||
|
a.answer as num, |
||||
|
n.answer as hospitalName, |
||||
|
c.area_name |
||||
|
FROM |
||||
|
(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'AIS-Nnt') a |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-NAME') n on a.questionnaire_detail_id = n.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT r.questionnaire_detail_id, a.`area_name` FROM t_qcp_questionnaire_record r, t_area a |
||||
|
WHERE r.`question_code` = 'CITY-COUNTY' and a.id = SUBSTRING_INDEX(r.answer,",",1)) c on a.questionnaire_detail_id = c.questionnaire_detail_id |
||||
|
LEFT JOIN t_qcp_questionnaire_detail d on d.id = a.questionnaire_detail_id |
||||
|
WHERE |
||||
|
d.rec_status = 0 |
||||
|
and a.rec_status = 0 |
||||
|
and n.rec_status = 0 |
||||
|
and d.questionnaire_id = #{twoId} |
||||
|
and d.submit_status = 1 |
||||
|
)t2 |
||||
|
WHERE |
||||
|
t1.hospitalName = t2.hospitalName |
||||
|
GROUP BY t1.area_name, t2.area_name |
||||
|
) a |
||||
|
<if test="desc == 0"> |
||||
|
ORDER BY a.oneNum DESC |
||||
|
</if> |
||||
|
<if test="desc == 1"> |
||||
|
ORDER BY a.towNum DESC |
||||
|
</if> |
||||
|
</select> |
||||
|
<select id="comparisonAisPercentByArea" |
||||
|
resultType="com.ccsens.carbasics.bean.vo.StatisticalVo$ComparisonAisPercent$Ais"> |
||||
|
SELECT |
||||
|
* |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
t1.area_name as name, |
||||
|
SUM(t1.num) as oneNum, |
||||
|
SUM(t2.num) as towNum, |
||||
|
SUM(t1.aisNum) as oneHourNum, |
||||
|
SUM(t2.aisNum) as towHourNum |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
d.id, |
||||
|
a.answer as num, |
||||
|
ais.answer as aisNum, |
||||
|
n.answer as hospitalName, |
||||
|
c.area_name |
||||
|
FROM |
||||
|
(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'All-Nnt') a |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'AIS-Nnt') ais on a.questionnaire_detail_id = ais.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-NAME') n on a.questionnaire_detail_id = n.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT r.questionnaire_detail_id, a.`area_name` FROM t_qcp_questionnaire_record r, t_area a |
||||
|
WHERE r.`question_code` = 'CITY-COUNTY' and a.id = SUBSTRING_INDEX(r.answer,",",1)) c on a.questionnaire_detail_id = c.questionnaire_detail_id |
||||
|
LEFT JOIN t_qcp_questionnaire_detail d on d.id = a.questionnaire_detail_id |
||||
|
WHERE |
||||
|
d.rec_status = 0 |
||||
|
and a.rec_status = 0 |
||||
|
and n.rec_status = 0 |
||||
|
and d.questionnaire_id = #{oneId} |
||||
|
and d.submit_status = 1 |
||||
|
)t1, |
||||
|
( |
||||
|
SELECT |
||||
|
d.id, |
||||
|
a.answer as num, |
||||
|
ais.answer as aisNum, |
||||
|
n.answer as hospitalName, |
||||
|
c.area_name |
||||
|
FROM |
||||
|
(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'All-Nnt') a |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'AIS-Nnt') ais on a.questionnaire_detail_id = ais.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-NAME') n on a.questionnaire_detail_id = n.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT r.questionnaire_detail_id, a.`area_name` FROM t_qcp_questionnaire_record r, t_area a |
||||
|
WHERE r.`question_code` = 'CITY-COUNTY' and a.id = SUBSTRING_INDEX(r.answer,",",1)) c on a.questionnaire_detail_id = c.questionnaire_detail_id |
||||
|
LEFT JOIN t_qcp_questionnaire_detail d on d.id = a.questionnaire_detail_id |
||||
|
WHERE |
||||
|
d.rec_status = 0 |
||||
|
and a.rec_status = 0 |
||||
|
and n.rec_status = 0 |
||||
|
and d.questionnaire_id = #{twoId} |
||||
|
and d.submit_status = 1 |
||||
|
)t2 |
||||
|
WHERE |
||||
|
t1.hospitalName = t2.hospitalName |
||||
|
GROUP BY t1.area_name, t2.area_name |
||||
|
) a |
||||
|
<if test="desc == 0"> |
||||
|
ORDER BY a.oneNum DESC |
||||
|
</if> |
||||
|
<if test="desc == 1"> |
||||
|
ORDER BY a.towNum DESC |
||||
|
</if> |
||||
|
<if test="desc == 2"> |
||||
|
ORDER BY a.oneHourNum DESC |
||||
|
</if> |
||||
|
<if test="desc == 3"> |
||||
|
ORDER BY a.towHourNum DESC |
||||
|
</if> |
||||
|
</select> |
||||
|
<select id="thrombolysisByArea" |
||||
|
resultType="com.ccsens.carbasics.bean.vo.StatisticalVo$ComparisonThrombolysis$Thrombolysis"> |
||||
|
SELECT |
||||
|
t1.area_name as name, |
||||
|
SUM(t1.aisNum) as totalNum, |
||||
|
SUM(t1.num) as oneNum, |
||||
|
SUM(t2.num) as towNum, |
||||
|
SUM(CASE t1.hospitalLevel WHEN '二级' THEN t1.num ELSE 0 END) as 'oneSecondLevelNum', |
||||
|
SUM(CASE t1.hospitalLevel WHEN '二级' THEN t2.num ELSE 0 END) as 'towSecondLevelNum', |
||||
|
SUM(CASE t1.hospitalLevel WHEN '三级' THEN t1.num ELSE 0 END) as 'oneThreeLevelNum', |
||||
|
SUM(CASE t1.hospitalLevel WHEN '三级' THEN t2.num ELSE 0 END) as 'towThreeLevelNum' |
||||
|
FROM |
||||
|
( |
||||
|
SELECT |
||||
|
a.answer as num, |
||||
|
ais.answer as aisNum, |
||||
|
n.answer as hospitalName, |
||||
|
l.answer as hospitalLevel, |
||||
|
c.area_name |
||||
|
FROM |
||||
|
(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'actual-Nnt') a |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'AIS-Nnt') ais on a.questionnaire_detail_id = ais.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-NAME') n on a.questionnaire_detail_id = n.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT r.questionnaire_detail_id, a.`area_name` FROM t_qcp_questionnaire_record r, t_area a WHERE r.`question_code` = 'CITY-COUNTY' and a.id = SUBSTRING_INDEX(r.answer,",",1)) c on a.questionnaire_detail_id = c.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-LEVEL') l on a.questionnaire_detail_id = l.questionnaire_detail_id |
||||
|
LEFT JOIN t_qcp_questionnaire_detail d on d.id = a.questionnaire_detail_id |
||||
|
WHERE |
||||
|
d.rec_status = 0 |
||||
|
and a.rec_status = 0 |
||||
|
and n.rec_status = 0 |
||||
|
and d.questionnaire_id = #{oneId} |
||||
|
and d.submit_status = 1 |
||||
|
)t1, |
||||
|
( |
||||
|
SELECT |
||||
|
a.answer as num, |
||||
|
ais.answer as aisNum, |
||||
|
n.answer as hospitalName, |
||||
|
l.answer as hospitalLevel, |
||||
|
c.area_name |
||||
|
FROM |
||||
|
(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'actual-Nnt') a |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'AIS-Nnt') ais on a.questionnaire_detail_id = ais.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-NAME') n on a.questionnaire_detail_id = n.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT r.questionnaire_detail_id, a.`area_name` FROM t_qcp_questionnaire_record r, t_area a |
||||
|
WHERE r.`question_code` = 'CITY-COUNTY' and a.id = SUBSTRING_INDEX(r.answer,",",1)) c on a.questionnaire_detail_id = c.questionnaire_detail_id |
||||
|
LEFT JOIN(SELECT * FROM t_qcp_questionnaire_record WHERE `question_code` = 'HOS-LEVEL') l on a.questionnaire_detail_id = l.questionnaire_detail_id |
||||
|
LEFT JOIN t_qcp_questionnaire_detail d on d.id = a.questionnaire_detail_id |
||||
|
WHERE |
||||
|
d.rec_status = 0 |
||||
|
and a.rec_status = 0 |
||||
|
and n.rec_status = 0 |
||||
|
and d.questionnaire_id = #{twoId} |
||||
|
and d.submit_status = 1 |
||||
|
)t2 |
||||
|
WHERE |
||||
|
t1.hospitalName = t2.hospitalName |
||||
|
GROUP BY t1.area_name |
||||
|
|
||||
|
</select> |
||||
|
</mapper> |
Loading…
Reference in new issue