Browse Source

Merge branch 'bfyMa'

# Conflicts:
#	src/main/java/com/ccsens/carbasics/service/DataStatisticsService.java
#	src/main/resources/mapper_dao/DataStatisticsDao.xml
master
ma 4 years ago
parent
commit
02b40ca468
  1. 34
      src/main/java/com/ccsens/carbasics/api/DataStatisticsController.java
  2. 6
      src/main/java/com/ccsens/carbasics/bean/dto/FirstAidDto.java
  3. 27
      src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java
  4. 10
      src/main/java/com/ccsens/carbasics/bean/dto/StatisticsDto.java
  5. 22
      src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java
  6. 13
      src/main/java/com/ccsens/carbasics/bean/vo/StatisticsVo.java
  7. 20
      src/main/java/com/ccsens/carbasics/persist/dao/DataStatisticsDao.java
  8. 9
      src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java
  9. 8
      src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDao.java
  10. 4
      src/main/java/com/ccsens/carbasics/persist/dao/PatientDao.java
  11. 7
      src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDao.java
  12. 69
      src/main/java/com/ccsens/carbasics/service/DataStatisticsService.java
  13. 28
      src/main/java/com/ccsens/carbasics/service/ExportService.java
  14. 27
      src/main/java/com/ccsens/carbasics/service/FirstAidRecordService.java
  15. 59
      src/main/java/com/ccsens/carbasics/service/FirstAidService.java
  16. 19
      src/main/java/com/ccsens/carbasics/service/IDataStatisticsService.java
  17. 4
      src/main/resources/application.yml
  18. 230
      src/main/resources/mapper_dao/DataStatisticsDao.xml
  19. 106
      src/main/resources/mapper_dao/FirstAidDao.xml
  20. 17
      src/main/resources/mapper_dao/OrganizationDao.xml
  21. 2
      src/main/resources/mapper_dao/PatientDao.xml
  22. 13
      src/main/resources/mapper_dao/QuestionnaireDao.xml

34
src/main/java/com/ccsens/carbasics/api/DataStatisticsController.java

@ -33,12 +33,22 @@ public class DataStatisticsController {
@Resource
private IDataStatisticsService dataStatisticsService;
@MustLogin
@ApiOperation(value = "查询统计的问卷", notes = "")
@RequestMapping(value = "/queryQuestionnaire", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<List<StatisticsVo.QuestionnaireInfo>> queryQuestionnaire(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{
log.info("查询统计的问卷开始{}",params);
List<StatisticsVo.QuestionnaireInfo> result = dataStatisticsService.queryQuestionnaire(params.getUserId());
log.info("查询统计的问卷结束:{}",result);
return JsonResponse.newInstance().ok(result);
}
@MustLogin
@ApiOperation(value = "静脉溶栓率统计", notes = "")
@RequestMapping(value = "/jmrs", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<StatisticsVo.JmrsUpResult> statisticsJmrs(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{
public JsonResponse<StatisticsVo.JmrsUpResult> statisticsJmrs(@ApiParam @Validated @RequestBody QueryDto<StatisticsDto.QueryTotal> params) throws Exception{
log.info("静脉溶栓率统计开始{}",params);
StatisticsVo.JmrsUpResult result = dataStatisticsService.statisticsJmrs(params.getUserId());
StatisticsVo.JmrsUpResult result = dataStatisticsService.statisticsJmrs(params.getParam(),params.getUserId());
log.info("静脉溶栓率统计结束:{}",result);
return JsonResponse.newInstance().ok(result);
}
@ -67,9 +77,9 @@ public class DataStatisticsController {
@MustLogin
@ApiOperation(value = "DNT总统计数据", notes = "")
@RequestMapping(value = "/dntTotalStatistics", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<StatisticsVo.DntTotalStatistics> dntTotalStatistics(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{
public JsonResponse<StatisticsVo.DntTotalStatistics> dntTotalStatistics(@ApiParam @Validated @RequestBody QueryDto<StatisticsDto.QueryTotal> params) throws Exception{
log.info("DNT总统计数据开始{}",params);
StatisticsVo.DntTotalStatistics result = dataStatisticsService.dntTotalStatistics(params.getUserId());
StatisticsVo.DntTotalStatistics result = dataStatisticsService.dntTotalStatistics(params.getParam(),params.getUserId());
log.info("DNT总统计数据结束:{}",result);
return JsonResponse.newInstance().ok(result);
}
@ -97,9 +107,9 @@ public class DataStatisticsController {
@MustLogin
@ApiOperation(value = "sich发生率总统计", notes = "")
@RequestMapping(value = "/sichTotal", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<StatisticsVo.SichTotal> sichTotal(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{
public JsonResponse<StatisticsVo.SichTotal> sichTotal(@ApiParam @Validated @RequestBody QueryDto<StatisticsDto.QueryTotal> params) throws Exception{
log.info("sich发生率总统计开始{}",params);
StatisticsVo.SichTotal result = dataStatisticsService.sichTotal(params.getUserId());
StatisticsVo.SichTotal result = dataStatisticsService.sichTotal(params.getParam(),params.getUserId());
log.info("sich发生率总统计结束:{}",result);
return JsonResponse.newInstance().ok(result);
}
@ -127,9 +137,9 @@ public class DataStatisticsController {
@MustLogin
@ApiOperation(value = "血管内治疗率的总统计", notes = "")
@RequestMapping(value = "/xgzlTotal", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<StatisticsVo.XgzlTotal> xgzlTotal(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{
public JsonResponse<StatisticsVo.XgzlTotal> xgzlTotal(@ApiParam @Validated @RequestBody QueryDto<StatisticsDto.QueryTotal> params) throws Exception{
log.info("血管内治疗率的总统计开始{}",params);
StatisticsVo.XgzlTotal result = dataStatisticsService.xgzlTotal(params.getUserId());
StatisticsVo.XgzlTotal result = dataStatisticsService.xgzlTotal(params.getParam(),params.getUserId());
log.info("血管内治疗率的总统计结束:{}",result);
return JsonResponse.newInstance().ok(result);
}
@ -157,9 +167,9 @@ public class DataStatisticsController {
@MustLogin
@ApiOperation(value = "DPT总统计", notes = "")
@RequestMapping(value = "/dptTotal", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<StatisticsVo.DptTotal> dptTotal(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{
public JsonResponse<StatisticsVo.DptTotal> dptTotal(@ApiParam @Validated @RequestBody QueryDto<StatisticsDto.QueryTotal> params) throws Exception{
log.info("DPT总统计开始{}",params);
StatisticsVo.DptTotal result = dataStatisticsService.dptTotal(params.getUserId());
StatisticsVo.DptTotal result = dataStatisticsService.dptTotal(params.getParam(),params.getUserId());
log.info("DPT总统计结束:{}",result);
return JsonResponse.newInstance().ok(result);
}
@ -187,9 +197,9 @@ public class DataStatisticsController {
@MustLogin
@ApiOperation(value = "PRT总统计", notes = "")
@RequestMapping(value = "/prtTotal", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<StatisticsVo.PrtTotal> prtTotal(@ApiParam @Validated @RequestBody QueryDto params) throws Exception{
public JsonResponse<StatisticsVo.PrtTotal> prtTotal(@ApiParam @Validated @RequestBody QueryDto<StatisticsDto.QueryTotal> params) throws Exception{
log.info("PRT总统计开始{}",params);
StatisticsVo.PrtTotal result = dataStatisticsService.prtTotal(params.getUserId());
StatisticsVo.PrtTotal result = dataStatisticsService.prtTotal(params.getParam(),params.getUserId());
log.info("PRT总统计结束:{}",result);
return JsonResponse.newInstance().ok(result);
}

6
src/main/java/com/ccsens/carbasics/bean/dto/FirstAidDto.java

@ -54,7 +54,9 @@ public class FirstAidDto {
@Data
@ApiModel("查询项目详情--请求")
public static class Project{
@ApiModelProperty("项目ID")
private Long projectId;
// @ApiModelProperty("项目ID")
// private Long projectId;
@ApiModelProperty("急救ID")
private Long firstAidId;
}
}

27
src/main/java/com/ccsens/carbasics/bean/dto/PatientDto.java

@ -66,9 +66,12 @@ public class PatientDto {
@Data
@ApiModel("批量查询急救记录")
public static class QueryAidRecord{
@NotNull(message = "项目id不能为空")
@ApiModelProperty("项目id")
private Long projectId;
// @NotNull(message = "项目id不能为空")
// @ApiModelProperty("项目id")
// private Long projectId;
@NotNull(message = "急救id不能为空")
@ApiModelProperty("急救id")
private Long firstAidId;
@ApiModelProperty("code列表")
private List<String> codeList;
}
@ -89,9 +92,12 @@ public class PatientDto {
@Data
@ApiModel("添加急救记录信息")
public static class SaveAidRecordN{
@NotNull(message = "项目id不能为空")
@ApiModelProperty("项目id")
private Long projectId;
// @NotNull(message = "项目id不能为空")
// @ApiModelProperty("项目id")
// private Long projectId;
@NotNull(message = "急救id不能为空")
@ApiModelProperty("急救id")
private Long firstAidId;
@Max(value=1,message = "请查询正确的提交人类型")
@ApiModelProperty("提交人类型(0平车 1人)")
private byte userType = 1;
@ -136,9 +142,12 @@ public class PatientDto {
@Data
@ApiModel("项目id")
public static class ProjectId{
@NotNull(message = "请传入项目id")
@ApiModelProperty("项目id")
private Long projectId;
// @NotNull(message = "请传入项目id")
// @ApiModelProperty("项目id")
// private Long projectId;
@NotNull(message = "请传入急救id")
@ApiModelProperty("急救id")
private Long firstAidId;
}
@Data

10
src/main/java/com/ccsens/carbasics/bean/dto/StatisticsDto.java

@ -32,6 +32,14 @@ public class StatisticsDto {
private Long id;
}
@Data
@ApiModel("查询总统计-入参")
public static class QueryTotal {
@ApiModelProperty("问卷id")
private Long qid;
}
@Data
@ApiModel("查询静脉溶栓达标率")
public static class QueryStandards {
@ -45,5 +53,7 @@ public class StatisticsDto {
private Byte queryLevel;
@ApiModelProperty("市id")
private Long areaId;
@ApiModelProperty("问卷id")
private Long qid;
}
}

22
src/main/java/com/ccsens/carbasics/bean/vo/PatientVo.java

@ -1,5 +1,6 @@
package com.ccsens.carbasics.bean.vo;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.carbasics.util.Constant;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.github.pagehelper.PageInfo;
@ -170,15 +171,20 @@ public class PatientVo {
private Long projectId;
@ApiModelProperty("上报情况 0:未上报 1:上报成功")
private Byte reported;
public int getDataStatus() {
if(dataStatus == Constant.DataStatus.FirstAidPass.status && times >= Constant.MAX_UPDATE_NUMBER){
return 100;
public Integer getDataStatus() {
if (ObjectUtil.isNull(times)) {
return dataStatus;
}
if(dataStatus == Constant.DataStatus.DischargePass.status && times >= Constant.MAX_UPDATE_NUMBER){
return 100;
}
if(dataStatus == Constant.DataStatus.ApplyForRefuse.status && times >= Constant.MAX_UPDATE_NUMBER){
return 101;
if (ObjectUtil.isNotNull(dataStatus)) {
if(dataStatus == Constant.DataStatus.FirstAidPass.status && times >= Constant.MAX_UPDATE_NUMBER){
return 100;
}
if(dataStatus == Constant.DataStatus.DischargePass.status && times >= Constant.MAX_UPDATE_NUMBER){
return 100;
}
if(dataStatus == Constant.DataStatus.ApplyForRefuse.status && times >= Constant.MAX_UPDATE_NUMBER){
return 101;
}
}
return dataStatus;
}

13
src/main/java/com/ccsens/carbasics/bean/vo/StatisticsVo.java

@ -315,4 +315,17 @@ public class StatisticsVo {
@ApiModelProperty("PRT>60min例数")
private String prt61Number;
}
@Data
@ApiModel("统计的问卷信息-返参")
public static class QuestionnaireInfo {
@ApiModelProperty("问卷id")
private Long qid;
@ApiModelProperty("问卷名称")
private String questionnaireName;
@ApiModelProperty("开始时间")
private Long startTime;
@ApiModelProperty("结束时间")
private Long endTime;
}
}

20
src/main/java/com/ccsens/carbasics/persist/dao/DataStatisticsDao.java

@ -14,7 +14,7 @@ public interface DataStatisticsDao {
* 静脉溶栓统计(全部/二级/三级)
* @return 静脉溶栓统计
*/
StatisticsVo.JmrsUpResult statisticsJmrs();
StatisticsVo.JmrsUpResult statisticsJmrs(@Param("qid") Long qid);
/**
* 查询各医院溶栓率
@ -22,27 +22,27 @@ public interface DataStatisticsDao {
* @param areaId 市id
* @return 二级医院溶栓率
*/
List<StatisticsVo.AreaResult> queryJmrsForHospital(@Param("type")Byte type,@Param("areaId") Long areaId);
List<StatisticsVo.AreaResult> queryJmrsForHospital(@Param("type")Byte type,@Param("areaId") Long areaId,@Param("qid") Long qid);
/**
* 查询各市溶栓率
* @param type 查询类型(0-三级,1-二级)
* @return 三级医院溶栓率
*/
List<StatisticsVo.AreaResult> queryJmrslForCity(@Param("type") Byte type);
List<StatisticsVo.AreaResult> queryJmrslForCity(@Param("type") Byte type,@Param("qid") Long qid);
/**
* DNT总统记(DNT60min的比例/DNT45min的比例)
* @return DNT总统记(DNT60min的比例/DNT45min的比例)
*/
StatisticsVo.DntTotalStatistics dntTotalStatistics();
StatisticsVo.DntTotalStatistics dntTotalStatistics(@Param("qid") Long qid);
/**
* 查询DNT概要统计
*
* @return DNT概要统计
*/
StatisticsVo.DntSynopsis dntSynopsis(@Param("queryType") Byte queryType,@Param("queryLevel") Byte queryLevel,@Param("areaId") Long areaId);
StatisticsVo.DntSynopsis dntSynopsis(@Param("queryType") Byte queryType,@Param("queryLevel") Byte queryLevel,@Param("areaId") Long areaId,@Param("qid") Long qid);
/**
* 查询具体DNT统计(城市)
@ -62,7 +62,7 @@ public interface DataStatisticsDao {
* 查询sich总统计率
* @return sich总统计率
*/
StatisticsVo.SichTotal sichTotal();
StatisticsVo.SichTotal sichTotal(@Param("qid") Long qid);
/**
* 查询sich概要统计
@ -71,7 +71,7 @@ public interface DataStatisticsDao {
* @param areaId 市id
* @return 查询sich概要统计
*/
StatisticsVo.SichSynopsis sichSynopsis(@Param("queryType") Byte queryType,@Param("queryLevel") Byte queryLevel,@Param("areaId") Long areaId);
StatisticsVo.SichSynopsis sichSynopsis(@Param("queryType") Byte queryType,@Param("queryLevel") Byte queryLevel,@Param("areaId") Long areaId,@Param("qid") Long qid);
/**
* 查询sich具体统计率
@ -90,7 +90,7 @@ public interface DataStatisticsDao {
* 查询血管治疗总统记
* @return 血管治疗总统记
*/
StatisticsVo.XgzlTotal xgzlTotal();
StatisticsVo.XgzlTotal xgzlTotal(@Param("qid") Long qid);
/**
* 查询血管治疗具体统计
@ -117,7 +117,7 @@ public interface DataStatisticsDao {
* 查询DPT总统记
* @return DPT总统记
*/
StatisticsVo.DptTotal dptTotal();
StatisticsVo.DptTotal dptTotal(@Param("qid") Long qid);
/**
* DPT概要统计
@ -144,7 +144,7 @@ public interface DataStatisticsDao {
* 查询PRT总统记
* @return PRT总统记
*/
StatisticsVo.PrtTotal prtTotal();
StatisticsVo.PrtTotal prtTotal(@Param("qid") Long qid);
/**
* PRT概要统计

9
src/main/java/com/ccsens/carbasics/persist/dao/FirstAidDao.java

@ -77,4 +77,13 @@ public interface FirstAidDao extends FirstAidMapper {
* @return 四家医院的病例列表
*/
List<FirstAidVo.NeedHospital> queryNeedHospital(@Param("startTime") Long startTime);
/**
* 质检员查看急救列表
* @param departmentIdList 部门idList
* @param departmentIdStr 部门id字符串
* @param param 参数
* @return 急救列表
*/
List<PatientVo.PatientListByQuality> queryPatientListByQualityNew(@Param("departmentIdList") List<Long> departmentIdList,@Param("departmentIdStr") String departmentIdStr,@Param("param") PatientDto.QueryListByQuality param);
}

8
src/main/java/com/ccsens/carbasics/persist/dao/OrganizationDao.java

@ -127,4 +127,12 @@ public interface OrganizationDao extends OrganizationMapper {
* @return 0否,1是
*/
Integer queryUserIsExist(@Param("departmentName") String departmentName,@Param("positionName") String positionName,@Param("name") String name,@Param("userId") Long userId);
/**
* 查询用户所在的部门及下级部门
* @param projectId 项目id
* @param userId 用户id
* @return 用户所在的部门及下级部门Id
*/
List<Long> queryDepartmentByUser(@Param("projectId") Long projectId,@Param("userId") Long userId);
}

4
src/main/java/com/ccsens/carbasics/persist/dao/PatientDao.java

@ -14,11 +14,11 @@ public interface PatientDao extends FirstAidRecordMapper {
/**
* 根据急救id查询记录信息
* @param projectId 急救id
* @param firstAidId 急救id
* @param codeList code
* @return 返回急救信息
*/
List<PatientVo.AidRecord> queryRecordByAidId(@Param("projectId") Long projectId, @Param("codeList") List<String> codeList);
List<PatientVo.AidRecord> queryRecordByAidId(@Param("firstAidId") Long firstAidId, @Param("codeList") List<String> codeList);
/**
* 查找code下的总数量和完成数据

7
src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDao.java

@ -2,6 +2,7 @@ package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.bean.dto.QuestionnaireDto;
import com.ccsens.carbasics.bean.vo.QuestionnaireVo;
import com.ccsens.carbasics.bean.vo.StatisticsVo;
import com.ccsens.carbasics.persist.mapper.QuestionnaireMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
@ -43,4 +44,10 @@ public interface QuestionnaireDao extends QuestionnaireMapper {
* @return 是否提交
*/
Long countSubmit(@Param("type") Byte type, @Param("time") long time, @Param("userId") Long userId);
/**
* 查询卒中统计的问卷列表
* @return 卒中统计的问卷列表
*/
List<StatisticsVo.QuestionnaireInfo> queryStatistics();
}

69
src/main/java/com/ccsens/carbasics/service/DataStatisticsService.java

@ -3,10 +3,12 @@ package com.ccsens.carbasics.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.carbasics.bean.dto.StatisticsDto;
import com.ccsens.carbasics.bean.po.QuestionnaireDataDatumLine;
import com.ccsens.carbasics.bean.vo.StatisticsVo;
import com.ccsens.carbasics.persist.dao.DataStatisticsDao;
import com.ccsens.carbasics.persist.dao.QuestionnaireDao;
import com.ccsens.carbasics.persist.dao.QuestionnaireDataDatumLineDao;
import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j;
@ -29,11 +31,14 @@ public class DataStatisticsService implements IDataStatisticsService {
private DataStatisticsDao dataStatisticsDao;
@Resource
private QuestionnaireDataDatumLineDao dataDatumLineDao;
@Resource
private QuestionnaireDao questionnaireDao;
@Override
public StatisticsVo.JmrsUpResult statisticsJmrs(Long userId) {
return dataStatisticsDao.statisticsJmrs();
public StatisticsVo.JmrsUpResult statisticsJmrs(StatisticsDto.QueryTotal param,Long userId) {
StatisticsVo.JmrsUpResult jmrsUpResult = dataStatisticsDao.statisticsJmrs(param.getQid());
return ObjectUtil.isNull(jmrsUpResult) ? new StatisticsVo.JmrsUpResult():jmrsUpResult;
}
@ -56,10 +61,10 @@ public class DataStatisticsService implements IDataStatisticsService {
}
List<StatisticsVo.AreaResult> areaResults = new ArrayList<>();
if (0 == param.getQueryType()) {
areaResults = dataStatisticsDao.queryJmrslForCity(param.getQueryLevel());
areaResults = dataStatisticsDao.queryJmrslForCity(param.getQueryLevel(),param.getQid());
}
if (1 == param.getQueryType()) {
areaResults = dataStatisticsDao.queryJmrsForHospital(param.getQueryLevel(),param.getAreaId());
areaResults = dataStatisticsDao.queryJmrsForHospital(param.getQueryLevel(),param.getAreaId(),param.getQid());
}
int arrive = 0;
int unArrive = 0;
@ -85,8 +90,8 @@ public class DataStatisticsService implements IDataStatisticsService {
List<StatisticsVo.AreaResult> areaResults = new ArrayList<>();
if (0 == param.getQueryType()) {
areaResults = dataStatisticsDao.queryJmrslForCity(param.getQueryLevel());
List<StatisticsVo.AreaResult> cityJmsrl = dataStatisticsDao.queryJmrslForCity(null);
areaResults = dataStatisticsDao.queryJmrslForCity(param.getQueryLevel(),param.getQid());
List<StatisticsVo.AreaResult> cityJmsrl = dataStatisticsDao.queryJmrslForCity(null,param.getQid());
for (StatisticsVo.AreaResult areaResult : areaResults) {
for (StatisticsVo.AreaResult result : cityJmsrl) {
if (areaResult.getName().equals(result.getName())) {
@ -96,7 +101,7 @@ public class DataStatisticsService implements IDataStatisticsService {
}
}
if (1 == param.getQueryType()) {
areaResults = dataStatisticsDao.queryJmrsForHospital(param.getQueryLevel(),param.getAreaId());
areaResults = dataStatisticsDao.queryJmrsForHospital(param.getQueryLevel(),param.getAreaId(),param.getQid());
}
areaResults.addAll(dataDatumLineList);
List<StatisticsVo.AreaResult> results = areaResults.stream().sorted(Comparator.comparing(StatisticsVo.AreaResult::getValue).reversed()).collect(Collectors.toList());
@ -105,15 +110,17 @@ public class DataStatisticsService implements IDataStatisticsService {
@Override
public StatisticsVo.DntTotalStatistics dntTotalStatistics(Long userId) {
return dataStatisticsDao.dntTotalStatistics();
public StatisticsVo.DntTotalStatistics dntTotalStatistics(StatisticsDto.QueryTotal param,Long userId) {
StatisticsVo.DntTotalStatistics dntTotalStatistics = dataStatisticsDao.dntTotalStatistics(param.getQid());
return ObjectUtil.isNull(dntTotalStatistics) ? new StatisticsVo.DntTotalStatistics() : dntTotalStatistics;
}
@Override
public StatisticsVo.DntSynopsis dntSynopsis(StatisticsDto.QueryStandards param, Long userId) {
log.info("参数:{},{},{}",param.getQueryType(),param.getQueryLevel(),param.getAreaId());
return dataStatisticsDao.dntSynopsis(param.getQueryType(),param.getQueryLevel(),param.getAreaId());
StatisticsVo.DntSynopsis dntSynopsis = dataStatisticsDao.dntSynopsis(param.getQueryType(), param.getQueryLevel(), param.getAreaId(),param.getQid());
return ObjectUtil.isNull(dntSynopsis) ? new StatisticsVo.DntSynopsis() : dntSynopsis;
}
@Override
@ -130,8 +137,9 @@ public class DataStatisticsService implements IDataStatisticsService {
}
@Override
public StatisticsVo.SichTotal sichTotal(Long userId) {
return dataStatisticsDao.sichTotal();
public StatisticsVo.SichTotal sichTotal(StatisticsDto.QueryTotal param,Long userId) {
StatisticsVo.SichTotal sichTotal = dataStatisticsDao.sichTotal(param.getQid());
return ObjectUtil.isNull(sichTotal) ? new StatisticsVo.SichTotal() : sichTotal;
}
@ -159,9 +167,11 @@ public class DataStatisticsService implements IDataStatisticsService {
moreThan5++;
}
}
StatisticsVo.SichSynopsis sichSynopsis = dataStatisticsDao.sichSynopsis(param.getQueryType(), param.getQueryLevel(), param.getAreaId());
sichSynopsis.setMoreThan5(moreThan5);
return sichSynopsis;
StatisticsVo.SichSynopsis sichSynopsis = dataStatisticsDao.sichSynopsis(param.getQueryType(), param.getQueryLevel(), param.getAreaId(),param.getQid());
if (ObjectUtil.isNotNull(sichSynopsis)) {
sichSynopsis.setMoreThan5(moreThan5);
}
return ObjectUtil.isNull(sichSynopsis) ? new StatisticsVo.SichSynopsis() : sichSynopsis;
}
@ -194,8 +204,9 @@ public class DataStatisticsService implements IDataStatisticsService {
@Override
public StatisticsVo.XgzlTotal xgzlTotal(Long userId) {
return dataStatisticsDao.xgzlTotal();
public StatisticsVo.XgzlTotal xgzlTotal(StatisticsDto.QueryTotal param,Long userId) {
StatisticsVo.XgzlTotal xgzlTotal = dataStatisticsDao.xgzlTotal(param.getQid());
return ObjectUtil.isNull(xgzlTotal) ? new StatisticsVo.XgzlTotal() : xgzlTotal;
}
@Override
@ -248,8 +259,7 @@ public class DataStatisticsService implements IDataStatisticsService {
}
}
}
return xgzlSynopsis;
return ObjectUtil.isNull(xgzlSynopsis) ? new StatisticsVo.XgzlSynopsis() : xgzlSynopsis;
}
@ -270,13 +280,15 @@ public class DataStatisticsService implements IDataStatisticsService {
}
@Override
public StatisticsVo.DptTotal dptTotal(Long userId) {
return dataStatisticsDao.dptTotal();
public StatisticsVo.DptTotal dptTotal(StatisticsDto.QueryTotal param,Long userId) {
StatisticsVo.DptTotal dptTotal = dataStatisticsDao.dptTotal(param.getQid());
return ObjectUtil.isNull(dptTotal) ? new StatisticsVo.DptTotal() : dptTotal;
}
@Override
public StatisticsVo.DptSynopsis dptSynopsis(StatisticsDto.QueryStandards param, Long userId) {
return dataStatisticsDao.dptSynopsis(param);
StatisticsVo.DptSynopsis dptSynopsis = dataStatisticsDao.dptSynopsis(param);
return ObjectUtil.isNull(dptSynopsis) ? new StatisticsVo.DptSynopsis() : dptSynopsis;
}
@ -293,14 +305,16 @@ public class DataStatisticsService implements IDataStatisticsService {
}
@Override
public StatisticsVo.PrtTotal prtTotal(Long userId) {
return dataStatisticsDao.prtTotal();
public StatisticsVo.PrtTotal prtTotal(StatisticsDto.QueryTotal param,Long userId) {
StatisticsVo.PrtTotal prtTotal = dataStatisticsDao.prtTotal(param.getQid());
return ObjectUtil.isNull(prtTotal) ? new StatisticsVo.PrtTotal() : prtTotal;
}
@Override
public StatisticsVo.PrtSynopsis prtSynopsis(StatisticsDto.QueryStandards param, Long userId) {
return dataStatisticsDao.prtSynopsis(param);
StatisticsVo.PrtSynopsis prtSynopsis = dataStatisticsDao.prtSynopsis(param);
return ObjectUtil.isNull(prtSynopsis) ? new StatisticsVo.PrtSynopsis() : prtSynopsis;
}
@ -316,4 +330,9 @@ public class DataStatisticsService implements IDataStatisticsService {
return null;
}
@Override
public List<StatisticsVo.QuestionnaireInfo> queryQuestionnaire(Long userId) {
return questionnaireDao.queryStatistics();
}
}

28
src/main/java/com/ccsens/carbasics/service/ExportService.java

@ -281,7 +281,8 @@ public class ExportService implements IExportService{
list.add(firstCells);
//查询数据
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date parse = simpleDateFormat.parse(startTime);
SimpleDateFormat timeParam = new SimpleDateFormat("yyyy-MM-dd");
Date parse = timeParam.parse(startTime);
long time = parse.getTime();
List<FirstAidVo.NeedHospital> hospitalData = firstAidDao.queryNeedHospital(time);
@ -291,13 +292,13 @@ public class ExportService implements IExportService{
data.add(new PoiUtil.PoiUtilCell(hospitalDatum.getHospitalName()));
data.add(new PoiUtil.PoiUtilCell(simpleDateFormat.format(hospitalDatum.getCreatedAt())));
data.add(new PoiUtil.PoiUtilCell(hospitalDatum.getId().toString()));
data.add(new PoiUtil.PoiUtilCell(hospitalDatum.getValueType().toString()));
data.add(new PoiUtil.PoiUtilCell(hospitalDatum.getValueType() == 0 ? "正式":"演示"));
data.add(new PoiUtil.PoiUtilCell(StrUtil.isNotBlank(hospitalDatum.getName())?hospitalDatum.getName():"未填写"));
data.add(new PoiUtil.PoiUtilCell(ObjectUtil.isNull(hospitalDatum.getGender())?"未填写":hospitalDatum.getGender().toString()));
data.add(new PoiUtil.PoiUtilCell(ObjectUtil.isNull(hospitalDatum.getAge())?"未填写":hospitalDatum.getAge().toString()));
data.add(new PoiUtil.PoiUtilCell(DesensitizedUtils.idCardNum(hospitalDatum.getIdcard())));
data.add(new PoiUtil.PoiUtilCell(hospitalDatum.getSaveType().toString()));
data.add(new PoiUtil.PoiUtilCell(hospitalDatum.getDataStatus().toString()));
data.add(new PoiUtil.PoiUtilCell(hospitalDatum.getSaveType() == 0 ?"手动添加":"平车自动添加"));
data.add(new PoiUtil.PoiUtilCell(getDataStatusName(hospitalDatum.getDataStatus())));
list.add(data);
}
}
@ -321,4 +322,23 @@ public class ExportService implements IExportService{
// excelUrl.setPdfUrl(url);
return wbs;
}
private String getDataStatusName(Byte dataStatus) {
switch (dataStatus) {
case 0:
return "急救审核通过";
case 1:
return "急救审核拒绝";
case 2:
return "出院审核通过";
case 3:
return "出院审核拒绝";
case 4:
return "申请修改";
case 5:
return "申请拒绝";
default:
return "";
}
}
}

27
src/main/java/com/ccsens/carbasics/service/FirstAidRecordService.java

@ -67,7 +67,7 @@ public class FirstAidRecordService implements IFirstAidRecordService {
PatientVo.QueryAidRecordN queryAidRecord = new PatientVo.QueryAidRecordN();
Map<String,List<String>> recordMap = new HashMap<>(16);
//查询记录信息
List<PatientVo.AidRecord> aidRecords = patientDao.queryRecordByAidId(param.getProjectId(),param.getCodeList());
List<PatientVo.AidRecord> aidRecords = patientDao.queryRecordByAidId(param.getFirstAidId(),param.getCodeList());
if(CollectionUtil.isNotEmpty(aidRecords)){
//封装进map内
aidRecords.forEach(aidRecord -> {
@ -88,25 +88,26 @@ public class FirstAidRecordService implements IFirstAidRecordService {
@Override
public void saveAidRecordN(PatientDto.SaveAidRecordN param, Long userId) {
//验证急救信息
FirstAidExample aidExample = new FirstAidExample();
aidExample.createCriteria().andProjectIdEqualTo(param.getProjectId());
aidExample.setOrderByClause("id desc limit 1");
List<FirstAid> firstAids = firstAidDao.selectByExample(aidExample);
// FirstAidExample aidExample = new FirstAidExample();
// aidExample.createCriteria().andProjectIdEqualTo(param.getProjectId());
// aidExample.setOrderByClause("id desc limit 1");
// List<FirstAid> firstAids = firstAidDao.selectByExample(aidExample);
FirstAid firstAids = firstAidDao.selectByPrimaryKey(param.getFirstAidId());
log.info("急救信息:{}", firstAids);
if(CollectionUtil.isEmpty(firstAids)) {
if(ObjectUtil.isNull(firstAids)) {
throw new BaseException(DefaultCodeError.NOT_FIRST_AID_ID);
}
if(CollectionUtil.isEmpty(param.getCodeAndAnswerList())){
return;
}
FirstAid firstAid = firstAids.get(0);
// FirstAid firstAid = firstAids.get(0);
// 判断权限状态
aidStatus(param, firstAid);
aidStatus(param, firstAids);
//遍历传入的code
// 时间校验
checkTime(param, firstAid);
checkTime(param, firstAids);
// 保存
param.getCodeAndAnswerList().forEach(codeAndAnswer -> {
if(StrUtil.isEmpty(codeAndAnswer.getQuestionCode())) {
@ -115,7 +116,7 @@ public class FirstAidRecordService implements IFirstAidRecordService {
}
//添加记录表,需要查找之前的记录,删除后重新添加
FirstAidRecordExample recordExample = new FirstAidRecordExample();
recordExample.createCriteria().andFirstAidIdEqualTo(firstAid.getId()).andQuestionCodeEqualTo(codeAndAnswer.getQuestionCode());
recordExample.createCriteria().andFirstAidIdEqualTo(firstAids.getId()).andQuestionCodeEqualTo(codeAndAnswer.getQuestionCode());
List<FirstAidRecord> firstAidRecords = firstAidRecordDao.selectByExample(recordExample);
if (CollectionUtil.isNotEmpty(firstAidRecords)) {
firstAidRecords.forEach(firstAidRecord -> {
@ -126,14 +127,14 @@ public class FirstAidRecordService implements IFirstAidRecordService {
//判断答案是否为空
if(CollectionUtil.isNotEmpty(codeAndAnswer.getAnswer())){
//循环答案
codeAndAnswer.getAnswer().forEach(answer -> saveRecord(param.getUserType(), userId, firstAid.getId(), codeAndAnswer.getQuestionCode(), StrUtil.isBlank(answer) ? "" : answer,param.getProjectId()));
codeAndAnswer.getAnswer().forEach(answer -> saveRecord(param.getUserType(), userId, firstAids.getId(), codeAndAnswer.getQuestionCode(), StrUtil.isBlank(answer) ? "" : answer,firstAids.getProjectId()));
}else {
saveRecord(param.getUserType(), userId, firstAid.getId(), codeAndAnswer.getQuestionCode(), "",param.getProjectId());
saveRecord(param.getUserType(), userId, firstAids.getId(), codeAndAnswer.getQuestionCode(), "",firstAids.getProjectId());
}
if (Constant.QuestionCode.QZSJ.equals(codeAndAnswer.getQuestionCode())
|| Constant.QuestionCode.THSJ.equals(codeAndAnswer.getQuestionCode())) {
sendQcp(firstAid.getHospitalId(), codeAndAnswer, userId);
sendQcp(firstAids.getHospitalId(), codeAndAnswer, userId);
}
});

59
src/main/java/com/ccsens/carbasics/service/FirstAidService.java

@ -224,20 +224,21 @@ public class FirstAidService implements IFirstAidService{
public PatientVo.GetPatient getPatient(PatientDto.ProjectId param, Long userId) {
PatientVo.GetPatient getPatient = new PatientVo.GetPatient();
//通过项目id查找急救信息
FirstAidExample firstAidExample = new FirstAidExample();
firstAidExample.createCriteria().andProjectIdEqualTo(param.getProjectId());
List<FirstAid> firstAids = firstAidDao.selectByExample(firstAidExample);
if(CollectionUtil.isNotEmpty(firstAids)){
getPatient.setFirstAidId(firstAids.get(0).getId());
getPatient.setName(firstAids.get(0).getName());
getPatient.setGender(firstAids.get(0).getGender());
getPatient.setNation(firstAids.get(0).getNation());
getPatient.setIdcard(firstAids.get(0).getIdcard());
getPatient.setProjectId(firstAids.get(0).getProjectId());
getPatient.setAge(firstAids.get(0).getAge());
// FirstAidExample firstAidExample = new FirstAidExample();
// firstAidExample.createCriteria().andProjectIdEqualTo(param.getProjectId());
// List<FirstAid> firstAids = firstAidDao.selectByExample(firstAidExample);
FirstAid firstAid = firstAidDao.selectByPrimaryKey(param.getFirstAidId());
if(ObjectUtil.isNotNull(firstAid)){
getPatient.setFirstAidId(firstAid.getId());
getPatient.setName(firstAid.getName());
getPatient.setGender(firstAid.getGender());
getPatient.setNation(firstAid.getNation());
getPatient.setIdcard(firstAid.getIdcard());
getPatient.setProjectId(firstAid.getProjectId());
getPatient.setAge(firstAid.getAge());
// 查找疑似病例
FirstAidRecordExample recordExample = new FirstAidRecordExample();
recordExample.createCriteria().andFirstAidIdEqualTo(firstAids.get(0).getId()).andQuestionCodeEqualTo(Constant.QuestionCode.CJBL_YSBL);
recordExample.createCriteria().andFirstAidIdEqualTo(firstAid.getId()).andQuestionCodeEqualTo(Constant.QuestionCode.CJBL_YSBL);
recordExample.setOrderByClause("id desc limit 1");
List<FirstAidRecord> firstAidRecords = firstAidRecordMapper.selectByExample(recordExample);
if (CollectionUtil.isNotEmpty(firstAidRecords)) {
@ -348,14 +349,18 @@ public class FirstAidService implements IFirstAidService{
// templateList.forEach(template -> {
// templates.add(template.getTemplate());
// });
OrganizationVo.Template template = organizationDao.queryTemplate(param.getProjectId(), userId);
log.info("模板:{}", template);
if (template == null || CollectionUtil.isEmpty(template.getTemplates())) {
throw new BaseException(DefaultCodeError.NOT_TEMPLATE);
}
// OrganizationVo.Template template = organizationDao.queryTemplate(param.getProjectId(), userId);
// log.info("模板:{}", template);
// if (template == null || CollectionUtil.isEmpty(template.getTemplates())) {
// throw new BaseException(DefaultCodeError.NOT_TEMPLATE);
// }
//查找用户所在的部门及下级部门
List<Long> departmentIdList = organizationDao.queryDepartmentByUser(param.getProjectId(),userId);
String departmentIdStr = StrUtil.join(",", departmentIdList);
//查找病例信息
PageHelper.startPage(param.getPageNum(),param.getPageSize());
List<PatientVo.PatientListByQuality> patientList = firstAidDao.queryPatientListByQuality(template.getTemplates(),template.getOrganizationId(),param);
// List<PatientVo.PatientListByQuality> patientList = firstAidDao.queryPatientListByQuality(template.getTemplates(),template.getOrganizationId(),param);
List<PatientVo.PatientListByQuality> patientList = firstAidDao.queryPatientListByQualityNew(departmentIdList,departmentIdStr,param);
return new PageInfo<>(patientList);
}
@ -662,18 +667,18 @@ public class FirstAidService implements IFirstAidService{
@Override
public FirstAidVo.FirstAidBase getDetail(FirstAidDto.Project param, Long userId) {
FirstAidExample example = new FirstAidExample();
example.createCriteria().andProjectIdEqualTo(param.getProjectId());
example.setOrderByClause("id desc limit 1");
List<FirstAid> firstAids = firstAidDao.selectByExample(example);
if (CollectionUtil.isEmpty(firstAids)) {
// FirstAidExample example = new FirstAidExample();
// example.createCriteria().andProjectIdEqualTo(param.getProjectId());
// example.setOrderByClause("id desc limit 1");
// List<FirstAid> firstAids = firstAidDao.selectByExample(example);
FirstAid firstAids = firstAidDao.selectByPrimaryKey(param.getFirstAidId());
if (ObjectUtil.isNull(firstAids)) {
return null;
}
FirstAid firstAid = firstAids.get(0);
FirstAidVo.FirstAidBase detail = new FirstAidVo.FirstAidBase();
detail.setProjectId(firstAid.getProjectId());
detail.setType(firstAid.getType());
detail.setValueType(firstAid.getValueType());
detail.setProjectId(firstAids.getProjectId());
detail.setType(firstAids.getType());
detail.setValueType(firstAids.getValueType());
return detail;
}

19
src/main/java/com/ccsens/carbasics/service/IDataStatisticsService.java

@ -15,7 +15,7 @@ public interface IDataStatisticsService {
* @param userId 用户id
* @return 静脉溶栓率,/三级医院静脉溶栓率
*/
StatisticsVo.JmrsUpResult statisticsJmrs(Long userId);
StatisticsVo.JmrsUpResult statisticsJmrs(StatisticsDto.QueryTotal param,Long userId);
/**
* 查询静脉溶栓达标率
@ -38,7 +38,7 @@ public interface IDataStatisticsService {
* @param userId 用户id
* @return DNT总统记
*/
StatisticsVo.DntTotalStatistics dntTotalStatistics(Long userId);
StatisticsVo.DntTotalStatistics dntTotalStatistics(StatisticsDto.QueryTotal param,Long userId);
/**
* 查询DNT概要统计
@ -61,7 +61,7 @@ public interface IDataStatisticsService {
* @param userId 用户id
* @return sich 总统记
*/
StatisticsVo.SichTotal sichTotal(Long userId);
StatisticsVo.SichTotal sichTotal(StatisticsDto.QueryTotal param,Long userId);
/**
* sich概要统计
@ -84,7 +84,7 @@ public interface IDataStatisticsService {
* @param userId 用户id
* @return 血管治疗总统记
*/
StatisticsVo.XgzlTotal xgzlTotal(Long userId);
StatisticsVo.XgzlTotal xgzlTotal(StatisticsDto.QueryTotal param,Long userId);
/**
* 血管治疗概要统计
@ -107,7 +107,7 @@ public interface IDataStatisticsService {
* @param userId 用户id
* @return DPT 总统记
*/
StatisticsVo.DptTotal dptTotal(Long userId);
StatisticsVo.DptTotal dptTotal(StatisticsDto.QueryTotal param,Long userId);
/**
* dpt 概要统计
@ -130,7 +130,7 @@ public interface IDataStatisticsService {
* @param userId 用户id
* @return prt 总统记
*/
StatisticsVo.PrtTotal prtTotal(Long userId);
StatisticsVo.PrtTotal prtTotal(StatisticsDto.QueryTotal param,Long userId);
/**
* prt概要统计
@ -147,4 +147,11 @@ public interface IDataStatisticsService {
* @return prt 具体统计
*/
List<StatisticsVo.PrtData> prtData(StatisticsDto.QueryStandards param, Long userId);
/**
* 查询需统计的问卷列表
* @param userId 用户id
* @return 需统计的问卷列表
*/
List<StatisticsVo.QuestionnaireInfo> queryQuestionnaire(Long userId);
}

4
src/main/resources/application.yml

@ -1,4 +1,4 @@
spring:
profiles:
active: prod
include: common, util-prod
active: test
include: common, util-test

230
src/main/resources/mapper_dao/DataStatisticsDao.xml

@ -13,8 +13,12 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'actual-Nnt') AS allActual,
@ -23,8 +27,12 @@
FROM
t_qcp_questionnaire_record AS ais
LEFT JOIN t_qcp_questionnaire_detail AS qd ON ais.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
WHERE
ais.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status =0
AND qd.submit_status = 1
AND ais.question_code = 'AIS-Nnt') AS allAis,
@ -34,8 +42,12 @@
t_qcp_questionnaire_record AS twoActual
LEFT JOIN t_qcp_questionnaire_record AS twoActual2 ON twoActual.questionnaire_detail_id = twoActual2.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_detail AS qd ON qd.id = twoActual.questionnaire_detail_id AND qd.id = twoActual2.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
WHERE
twoActual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND twoActual2.rec_status = 0
AND twoActual2.answer = '二级'
AND twoActual.question_code = 'actual-Nnt'
@ -46,8 +58,12 @@
t_qcp_questionnaire_record AS twoAis
LEFT JOIN t_qcp_questionnaire_record AS twoAis2 ON twoAis.questionnaire_detail_id = twoAis2.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_detail AS qd ON qd.id = twoAis2.questionnaire_detail_id AND qd.id = twoAis.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
WHERE
twoAis.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND twoAis2.rec_status = 0
AND twoAis2.answer = '二级'
AND twoAis.question_code = 'AIS-Nnt'
@ -58,8 +74,12 @@
t_qcp_questionnaire_record AS threeActual
LEFT JOIN t_qcp_questionnaire_record AS threeActual2 ON threeActual.questionnaire_detail_id = threeActual2.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_detail AS qd ON qd.id = threeActual.questionnaire_detail_id AND qd.id = threeActual2.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
WHERE
threeActual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND threeActual2.rec_status = 0
AND threeActual2.answer = '三级'
AND threeActual.question_code = 'actual-Nnt'
@ -70,8 +90,12 @@
t_qcp_questionnaire_record AS threeAis
LEFT JOIN t_qcp_questionnaire_record AS threeAis2 ON threeAis.questionnaire_detail_id = threeAis2.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_detail AS qd ON qd.id = threeAis.questionnaire_detail_id AND qd.id = threeAis2.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
WHERE
threeAis.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND threeAis2.rec_status = 0
AND threeAis2.answer = '三级'
AND threeAis.question_code = 'AIS-Nnt'
@ -91,6 +115,7 @@
FROM
t_qcp_questionnaire_record AS qr
LEFT JOIN t_qcp_questionnaire_detail AS qd ON qr.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS qr2 ON qr2.questionnaire_detail_id = qr.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS qr3 ON qr3.questionnaire_detail_id = qr.questionnaire_detail_id
<if test="type == 0 or type == 1">
@ -98,6 +123,9 @@
</if>
WHERE
qr.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qr.question_code = 'CITY-COUNTY'
AND qd.rec_status = 0
AND qd.submit_status = 1
@ -124,11 +152,15 @@
FROM
t_qcp_questionnaire_record AS qr
LEFT JOIN t_qcp_questionnaire_detail AS qd ON qr.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS qr2 ON qr2.questionnaire_detail_id = qr.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS qr3 ON qr3.questionnaire_detail_id = qr.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS qr4 ON qr4.questionnaire_detail_id = qr.questionnaire_detail_id
WHERE
qr.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qr.question_code = 'CITY-COUNTY'
AND qd.rec_status = 0
AND qd.submit_status = 1
@ -155,7 +187,7 @@
SELECT
a.id AS areaId,
a.area_name AS `name`,
IFNULL(round(gediRszs.`value` * 100 / gediAis.`value`,1),0) AS `value`
IFNULL(round(gediRszs.`value` * 100 / gediAis.`value`,1),0.0) AS `value`
FROM
(SELECT
qr.answer AS area,
@ -163,12 +195,16 @@
FROM
t_qcp_questionnaire_record AS qr
LEFT JOIN t_qcp_questionnaire_detail AS qd ON qr.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS qr2 ON qr2.questionnaire_detail_id = qr.questionnaire_detail_id
<if test="type == 0 or type == 1">
LEFT JOIN t_qcp_questionnaire_record AS qr3 ON qr3.questionnaire_detail_id = qr.questionnaire_detail_id
</if>
WHERE
qr.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qr.question_code = 'CITY-COUNTY'
AND qd.rec_status = 0
AND qd.submit_status = 1
@ -192,12 +228,16 @@
FROM
t_qcp_questionnaire_record AS qr
LEFT JOIN t_qcp_questionnaire_detail AS qd ON qr.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS qr2 ON qr2.questionnaire_detail_id = qr.questionnaire_detail_id
<if test="type == 0 or type == 1">
LEFT JOIN t_qcp_questionnaire_record AS qr3 ON qr3.questionnaire_detail_id = qr.questionnaire_detail_id
</if>
WHERE
qr.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qr.question_code = 'CITY-COUNTY'
AND qd.rec_status = 0
AND qd.submit_status = 1
@ -232,8 +272,12 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '45-Nnt'
@ -244,8 +288,12 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '60-Nnt'
@ -256,8 +304,12 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '61-Nnt'
@ -284,12 +336,16 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
<if test="areaId != null">
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
</if>
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '45-Nnt'
@ -319,23 +375,25 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
<if test="areaId != null">
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
</if>
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '60-Nnt'
<if test="queryLevel == 0">
AND `level`.rec_status = 0
AND `level`.question_code = 'HOS-LEVEL'
AND `level`.answer = '三级'
</if>
<if test="queryLevel == 1">
AND `level`.rec_status = 0
AND `level`.question_code = 'HOS-LEVEL'
AND `level`.answer = '二级'
@ -353,12 +411,16 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
<if test="areaId != null">
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
</if>
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '61-Nnt'
@ -403,10 +465,14 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '45-Nnt'
@ -435,10 +501,14 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '60-Nnt'
@ -467,10 +537,14 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '61-Nnt'
@ -500,9 +574,13 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '45-Nnt'
@ -518,9 +596,13 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '60-Nnt'
@ -536,9 +618,13 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '61-Nnt'
@ -576,11 +662,15 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS hospital ON hospital.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '45-Nnt'
@ -614,11 +704,15 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS hospital ON hospital.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '60-Nnt'
@ -652,11 +746,15 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS hospital ON hospital.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = '61-Nnt'
@ -693,8 +791,12 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'sICH-Nnt'
@ -705,8 +807,12 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'actual-Nnt'
@ -729,10 +835,14 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'sICH-Nnt'
@ -760,10 +870,14 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'actual-Nnt'
@ -815,10 +929,14 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'sICH-Nnt'
@ -846,10 +964,14 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'actual-Nnt'
@ -887,10 +1009,14 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'sICH-Nnt'
@ -906,10 +1032,14 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'actual-Nnt'
@ -940,11 +1070,15 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS hospital ON hospital.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'sICH-Nnt'
@ -975,10 +1109,14 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = qd.id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'actual-Nnt'
@ -1020,9 +1158,13 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS yes ON qd.id = yes.questionnaire_detail_id
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'XGZL-sICH-Nnt'
@ -1036,9 +1178,13 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS yes ON qd.id = yes.questionnaire_detail_id
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'XGZL-actual-Nnt'
@ -1052,9 +1198,13 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS yes ON qd.id = yes.questionnaire_detail_id
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'XGZL-RSH-Nnt'
@ -1068,9 +1218,13 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS yes ON qd.id = yes.questionnaire_detail_id
WHERE
actual.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'XGZL-FIT-Nnt'
@ -1094,7 +1248,7 @@
a.area_name AS name,
answer1.qjxgnzlzs,
answer2.fqjxgnzlzs,
IFNULL(round((answer1.qjxgnzlzs+answer2.fqjxgnzlzs)*100/(answer3.rshfhxgnzlzzzrs+answer4.fhxgnzlzzzrs),1),0.00)
IFNULL(round((answer1.qjxgnzlzs+answer2.fqjxgnzlzs)*100/(answer3.rshfhxgnzlzzzrs+answer4.fhxgnzlzzzrs),1),0.0)
AS zxgnzll
FROM
(
@ -1104,11 +1258,15 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS yes ON qd.id = yes.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS level ON qd.id = level.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS area ON qd.id = area.questionnaire_detail_id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'XGZL-sICH-Nnt'
@ -1138,11 +1296,15 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS yes ON qd.id = yes.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS level ON qd.id = level.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS area ON qd.id = area.questionnaire_detail_id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'XGZL-actual-Nnt'
@ -1172,11 +1334,15 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS yes ON qd.id = yes.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS level ON qd.id = level.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS area ON qd.id = area.questionnaire_detail_id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'XGZL-RSH-Nnt'
@ -1206,11 +1372,15 @@
FROM
t_qcp_questionnaire_record AS actual
LEFT JOIN t_qcp_questionnaire_detail AS qd ON actual.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS yes ON qd.id = yes.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS level ON qd.id = level.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS area ON qd.id = area.questionnaire_detail_id
WHERE
actual.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND actual.question_code = 'XGZL-FIT-Nnt'
@ -1248,6 +1418,7 @@
FROM
t_qcp_questionnaire_record AS answer1
LEFT JOIN t_qcp_questionnaire_detail AS qd ON answer1.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS yes ON qd.id = yes.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS area ON qd.id = area.questionnaire_detail_id
LEFT JOIN t_area AS a ON SUBSTRING_INDEX(area.answer,',',1) = a.id
@ -1257,6 +1428,9 @@
LEFT JOIN t_qcp_questionnaire_record AS answer4 ON qd.id = answer4.questionnaire_detail_id
WHERE
answer1.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND answer1.question_code = 'XGZL-sICH-Nnt'
@ -1287,6 +1461,7 @@
FROM
t_qcp_questionnaire_record AS answer1
LEFT JOIN t_qcp_questionnaire_detail AS qd ON answer1.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS yes ON qd.id = yes.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS level ON qd.id = level.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS area ON qd.id = area.questionnaire_detail_id
@ -1297,6 +1472,9 @@
LEFT JOIN t_qcp_questionnaire_record AS answer4 ON qd.id = answer4.questionnaire_detail_id
WHERE
answer1.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND answer1.question_code = 'XGZL-sICH-Nnt'
@ -1335,6 +1513,7 @@
FROM
t_qcp_questionnaire_record AS answer1
LEFT JOIN t_qcp_questionnaire_detail AS qd ON answer1.questionnaire_detail_id = qd.id
LEFT JOIN t_qcp_questionnaire AS q ON qd.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS answer2 ON qd.id = answer2.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS answer3 ON qd.id = answer3.questionnaire_detail_id
LEFT JOIN t_qcp_questionnaire_record AS answer4 ON qd.id = answer4.questionnaire_detail_id
@ -1346,6 +1525,9 @@
</if>
WHERE
answer1.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND qd.rec_status = 0
AND qd.submit_status = 1
AND answer1.question_code = 'XGZL-sICH-Nnt'
@ -1382,11 +1564,15 @@
FROM
t_qcp_questionnaire_record AS dpt59
LEFT JOIN t_qcp_questionnaire_detail AS d ON dpt59.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire AS q ON d.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS dpt89 ON dpt89.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS dpt91 ON dpt91.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS xgzl ON xgzl.questionnaire_detail_id = d.id
WHERE
dpt59.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND dpt59.question_code = 'XGZL-DPT-60'
AND d.rec_status = 0
AND d.submit_status = 1
@ -1408,6 +1594,7 @@
FROM
t_qcp_questionnaire_record AS dpt59
LEFT JOIN t_qcp_questionnaire_detail AS d ON dpt59.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire AS q ON d.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS dpt89 ON dpt89.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS dpt91 ON dpt91.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = d.id
@ -1415,6 +1602,9 @@
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = d.id
LEFT JOIN t_area AS a ON a.id = SUBSTRING_INDEX(area.answer,',',1)
WHERE dpt59.rec_status = 0 AND dpt59.question_code = 'XGZL-DPT-60'
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND d.rec_status = 0 AND d.submit_status = 1
AND dpt89.rec_status = 0
AND dpt89.question_code = 'XGZL-DPT-89'
@ -1450,6 +1640,7 @@
FROM
t_qcp_questionnaire_record AS dpt59
LEFT JOIN t_qcp_questionnaire_detail AS d ON dpt59.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire AS q ON d.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS dpt89 ON dpt89.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS dpt91 ON dpt91.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS xgzl ON xgzl.questionnaire_detail_id = d.id
@ -1457,6 +1648,9 @@
LEFT JOIN t_area AS a ON a.id = SUBSTRING_INDEX(area.answer,',',1)
WHERE
dpt59.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND dpt59.question_code = 'XGZL-DPT-60'
AND d.rec_status = 0
AND d.submit_status = 1
@ -1481,6 +1675,7 @@
FROM
t_qcp_questionnaire_record AS dpt59
LEFT JOIN t_qcp_questionnaire_detail AS d ON dpt59.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire AS q ON d.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS dpt89 ON dpt89.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS dpt91 ON dpt91.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS xgzl ON xgzl.questionnaire_detail_id = d.id
@ -1489,6 +1684,9 @@
LEFT JOIN t_area AS a ON a.id = SUBSTRING_INDEX(area.answer,',',1)
WHERE
dpt59.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND dpt59.question_code = 'XGZL-DPT-60'
AND d.rec_status = 0
AND d.submit_status = 1
@ -1524,6 +1722,7 @@
FROM
t_qcp_questionnaire_record AS dpt59
LEFT JOIN t_qcp_questionnaire_detail AS d ON dpt59.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire AS q ON d.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS dpt89 ON dpt89.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS dpt91 ON dpt91.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS xgzl ON xgzl.questionnaire_detail_id = d.id
@ -1533,6 +1732,9 @@
LEFT JOIN t_area AS a ON a.id = SUBSTRING_INDEX(area.answer,',',1)
WHERE
dpt59.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND dpt59.question_code = 'XGZL-DPT-60'
AND d.rec_status = 0
AND d.submit_status = 1
@ -1566,11 +1768,15 @@
FROM
t_qcp_questionnaire_record AS prt29
LEFT JOIN t_qcp_questionnaire_detail AS d ON prt29.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire AS q ON d.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS prt59 ON prt59.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS prt61 ON prt61.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS xgzl ON xgzl.questionnaire_detail_id = d.id
WHERE
prt29.rec_status = 0
<if test="qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND prt29.question_code = 'XGZL-PRT-29'
AND d.rec_status = 0
AND d.submit_status = 1
@ -1592,6 +1798,7 @@
FROM
t_qcp_questionnaire_record AS prt29
LEFT JOIN t_qcp_questionnaire_detail AS d ON prt29.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire AS q ON d.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS prt59 ON prt59.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS prt61 ON prt61.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS `level` ON `level`.questionnaire_detail_id = d.id
@ -1599,6 +1806,9 @@
LEFT JOIN t_qcp_questionnaire_record AS area ON area.questionnaire_detail_id = d.id
LEFT JOIN t_area AS a ON a.id = SUBSTRING_INDEX(area.answer,',',1)
WHERE prt29.rec_status = 0 AND prt29.question_code = 'XGZL-PRT-29'
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND d.rec_status = 0 AND d.submit_status = 1
AND prt59.rec_status = 0
AND prt59.question_code = 'XGZL-PRT-59'
@ -1635,6 +1845,7 @@
FROM
t_qcp_questionnaire_record AS prt29
LEFT JOIN t_qcp_questionnaire_detail AS d ON prt29.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire AS q ON d.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS prt59 ON prt59.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS prt61 ON prt61.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS xgzl ON xgzl.questionnaire_detail_id = d.id
@ -1642,6 +1853,9 @@
LEFT JOIN t_area AS a ON a.id = SUBSTRING_INDEX(area.answer,',',1)
WHERE
prt29.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND prt29.question_code = 'XGZL-PRT-29'
AND d.rec_status = 0
AND d.submit_status = 1
@ -1666,6 +1880,7 @@
FROM
t_qcp_questionnaire_record AS prt29
LEFT JOIN t_qcp_questionnaire_detail AS d ON prt29.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire AS q ON d.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS prt59 ON prt59.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS prt61 ON prt61.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS xgzl ON xgzl.questionnaire_detail_id = d.id
@ -1674,6 +1889,9 @@
LEFT JOIN t_area AS a ON a.id = SUBSTRING_INDEX(area.answer,',',1)
WHERE
prt29.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND prt29.question_code = 'XGZL-PRT-29'
AND d.rec_status = 0
AND d.submit_status = 1
@ -1709,6 +1927,7 @@
FROM
t_qcp_questionnaire_record AS prt29
LEFT JOIN t_qcp_questionnaire_detail AS d ON prt29.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire AS q ON d.questionnaire_id = q.id
LEFT JOIN t_qcp_questionnaire_record AS prt59 ON prt59.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS prt61 ON prt61.questionnaire_detail_id = d.id
LEFT JOIN t_qcp_questionnaire_record AS xgzl ON xgzl.questionnaire_detail_id = d.id
@ -1718,6 +1937,9 @@
LEFT JOIN t_area AS a ON a.id = SUBSTRING_INDEX(area.answer,',',1)
WHERE
prt29.rec_status = 0
<if test="param.qid != null">
AND q.id = #{qid} AND q.rec_status = 0
</if>
AND prt29.question_code = 'XGZL-PRT-29'
AND d.rec_status = 0
AND d.submit_status = 1

106
src/main/resources/mapper_dao/FirstAidDao.xml

@ -256,8 +256,112 @@
AND op.rec_status = 0
AND f.rec_status = 0
<if test="startTime != null and startTime != ''">
AND f.created_at > FROM_UNIXTIME(#{startTime}/1000,'%Y-%m-%d %H:%i:%s')
AND f.created_at > FROM_UNIXTIME(#{startTime}/1000,'%Y-%m-%d %H:%i:%S')
</if>
ORDER BY f.created_at DESC
</select>
<select id="queryPatientListByQualityNew"
resultType="com.ccsens.carbasics.bean.vo.PatientVo$PatientListByQuality">
SELECT
t.id AS firstAidId,
t.`name`,
t.gender,
t.age,
t.type,
t.nation,
t.idcard,
t.reported,
t.data_status,
t.project_id,
t.updated_at,
t1.answer AS hospitalNumber,
t2.answer AS arriveHospitalTime
FROM
t_qcp_first_aid AS t
LEFT JOIN t_qcp_first_aid_record t1 ON t.id = t1.first_aid_id
AND t1.question_code = 'JBXX-ZYH'
AND t1.rec_status = 0
LEFT JOIN t_qcp_first_aid_record t2 ON t.id = t2.first_aid_id
AND t2.question_code = 'JBXX-DYSJ'
AND t2.rec_status = 0
WHERE
t.rec_status = 0
<if test="param.dataStatus != null"> and data_status = #{param.dataStatus}</if>
<if test="param.reported != null"> and reported = #{param.reported}</if>
<if test="param.name!=null and param.name!=''">
AND `name` LIKE concat('%',#{param.name},'%')
</if>
<if test="param.idcard!=null and param.idcard!=''">
AND idcard LIKE concat('%',#{param.idcard},'%')
</if>
<if test="param.hospitalNumber!=null and param.hospitalNumber!=''">
AND t1.answer LIKE concat('%',#{param.hospitalNumber},'%')
</if>
<if test="param.startTime!=null and param.startTime!=0">
AND t2.answer + 0 &gt;= #{param.startTime}
</if>
<if test="param.endTime!=null and param.endTime!=0">
AND t2.answer + 0 &lt; #{param.endTime}
</if>
AND t.id IN (
SELECT
first_aid_id
FROM
t_qcp_first_aid_member
WHERE
rec_status = 0
AND record_user_id IN (
SELECT
user_id
FROM
t_organization_member
WHERE
rec_status = 0
AND id IN (
SELECT
member_id
FROM
t_organization_member_position AS omp
WHERE
rec_status = 0
AND department_id IN (
SELECT
id
FROM
(
SELECT
t1.*,
IF (
find_in_set(parent_id, @pids) > 0
<if test="departmentIdList.size() > 0">
<foreach collection="departmentIdList" item="item">
OR id = #{item}
</foreach>
</if>
,@pids := concat(@pids, ',', id),
0
) AS ischild
FROM
(
SELECT
*
FROM
t_organization_department t
WHERE
t.rec_status = 0
ORDER BY
parent_id,
id
) t1,
(SELECT @pids := #{departmentIdStr}) t2
) t3
WHERE
ischild != 0
)
)
)
)
</select>
</mapper>

17
src/main/resources/mapper_dao/OrganizationDao.xml

@ -846,4 +846,21 @@
AND `name` = #{positionName}
)
</select>
<select id="queryDepartmentByUser" resultType="java.lang.Long">
SELECT
d.id
FROM
t_organization_member m,
t_organization_member_position p,
t_organization_department d
WHERE
m.id = p.member_id
AND p.department_id = d.id
AND m.rec_status = 0
AND p.rec_status = 0
AND d.rec_status = 0
AND m.user_id = #{userId}
AND d.organization_id = (SELECT organization_id FROM t_organization_project WHERE rec_status = 0 AND project_id = #{projectId})
</select>
</mapper>

2
src/main/resources/mapper_dao/PatientDao.xml

@ -11,7 +11,7 @@
t_qcp_first_aid a LEFT JOIN
t_qcp_first_aid_record r on a.id = r.first_aid_id and r.rec_status = 0
WHERE
a.project_id = #{projectId}
a.id = #{firstAidId}
<if test="codeList != null and codeList.size() > 0">
AND r.question_code in
<foreach collection="codeList" item="code" separator="," open="(" close=")">

13
src/main/resources/mapper_dao/QuestionnaireDao.xml

@ -149,5 +149,18 @@
AND d.rec_status = 0
</select>
<select id="queryStatistics" resultType="com.ccsens.carbasics.bean.vo.StatisticsVo$QuestionnaireInfo">
SELECT
id AS qid,
questionnaire_name,
start_time,
end_time
FROM
t_qcp_questionnaire
WHERE
rec_status = 0
AND type = 0
</select>
</mapper>
Loading…
Cancel
Save