12 changed files with 664 additions and 10 deletions
@ -0,0 +1,36 @@ |
|||||
|
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); |
||||
|
} |
@ -0,0 +1,48 @@ |
|||||
|
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); |
||||
|
} |
@ -0,0 +1,102 @@ |
|||||
|
package com.ccsens.carbasics.service; |
||||
|
|
||||
|
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.vo.QuestionnaireVo; |
||||
|
import com.ccsens.carbasics.bean.vo.StatisticalVo; |
||||
|
import com.ccsens.carbasics.persist.dao.ManageStatisticalDao; |
||||
|
import com.ccsens.carbasics.persist.dao.QuestionnaireDao; |
||||
|
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; |
||||
|
|
||||
|
@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; |
||||
|
} |
||||
|
} |
@ -0,0 +1,254 @@ |
|||||
|
<?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> |
||||
|
</mapper> |
Loading…
Reference in new issue