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. 8
      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. 67
      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 @Resource
private IDataStatisticsService dataStatisticsService; 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 @MustLogin
@ApiOperation(value = "静脉溶栓率统计", notes = "") @ApiOperation(value = "静脉溶栓率统计", notes = "")
@RequestMapping(value = "/jmrs", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @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); log.info("静脉溶栓率统计开始{}",params);
StatisticsVo.JmrsUpResult result = dataStatisticsService.statisticsJmrs(params.getUserId()); StatisticsVo.JmrsUpResult result = dataStatisticsService.statisticsJmrs(params.getParam(),params.getUserId());
log.info("静脉溶栓率统计结束:{}",result); log.info("静脉溶栓率统计结束:{}",result);
return JsonResponse.newInstance().ok(result); return JsonResponse.newInstance().ok(result);
} }
@ -67,9 +77,9 @@ public class DataStatisticsController {
@MustLogin @MustLogin
@ApiOperation(value = "DNT总统计数据", notes = "") @ApiOperation(value = "DNT总统计数据", notes = "")
@RequestMapping(value = "/dntTotalStatistics", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @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); log.info("DNT总统计数据开始{}",params);
StatisticsVo.DntTotalStatistics result = dataStatisticsService.dntTotalStatistics(params.getUserId()); StatisticsVo.DntTotalStatistics result = dataStatisticsService.dntTotalStatistics(params.getParam(),params.getUserId());
log.info("DNT总统计数据结束:{}",result); log.info("DNT总统计数据结束:{}",result);
return JsonResponse.newInstance().ok(result); return JsonResponse.newInstance().ok(result);
} }
@ -97,9 +107,9 @@ public class DataStatisticsController {
@MustLogin @MustLogin
@ApiOperation(value = "sich发生率总统计", notes = "") @ApiOperation(value = "sich发生率总统计", notes = "")
@RequestMapping(value = "/sichTotal", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @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); log.info("sich发生率总统计开始{}",params);
StatisticsVo.SichTotal result = dataStatisticsService.sichTotal(params.getUserId()); StatisticsVo.SichTotal result = dataStatisticsService.sichTotal(params.getParam(),params.getUserId());
log.info("sich发生率总统计结束:{}",result); log.info("sich发生率总统计结束:{}",result);
return JsonResponse.newInstance().ok(result); return JsonResponse.newInstance().ok(result);
} }
@ -127,9 +137,9 @@ public class DataStatisticsController {
@MustLogin @MustLogin
@ApiOperation(value = "血管内治疗率的总统计", notes = "") @ApiOperation(value = "血管内治疗率的总统计", notes = "")
@RequestMapping(value = "/xgzlTotal", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @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); log.info("血管内治疗率的总统计开始{}",params);
StatisticsVo.XgzlTotal result = dataStatisticsService.xgzlTotal(params.getUserId()); StatisticsVo.XgzlTotal result = dataStatisticsService.xgzlTotal(params.getParam(),params.getUserId());
log.info("血管内治疗率的总统计结束:{}",result); log.info("血管内治疗率的总统计结束:{}",result);
return JsonResponse.newInstance().ok(result); return JsonResponse.newInstance().ok(result);
} }
@ -157,9 +167,9 @@ public class DataStatisticsController {
@MustLogin @MustLogin
@ApiOperation(value = "DPT总统计", notes = "") @ApiOperation(value = "DPT总统计", notes = "")
@RequestMapping(value = "/dptTotal", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @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); log.info("DPT总统计开始{}",params);
StatisticsVo.DptTotal result = dataStatisticsService.dptTotal(params.getUserId()); StatisticsVo.DptTotal result = dataStatisticsService.dptTotal(params.getParam(),params.getUserId());
log.info("DPT总统计结束:{}",result); log.info("DPT总统计结束:{}",result);
return JsonResponse.newInstance().ok(result); return JsonResponse.newInstance().ok(result);
} }
@ -187,9 +197,9 @@ public class DataStatisticsController {
@MustLogin @MustLogin
@ApiOperation(value = "PRT总统计", notes = "") @ApiOperation(value = "PRT总统计", notes = "")
@RequestMapping(value = "/prtTotal", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @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); log.info("PRT总统计开始{}",params);
StatisticsVo.PrtTotal result = dataStatisticsService.prtTotal(params.getUserId()); StatisticsVo.PrtTotal result = dataStatisticsService.prtTotal(params.getParam(),params.getUserId());
log.info("PRT总统计结束:{}",result); log.info("PRT总统计结束:{}",result);
return JsonResponse.newInstance().ok(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 @Data
@ApiModel("查询项目详情--请求") @ApiModel("查询项目详情--请求")
public static class Project{ public static class Project{
@ApiModelProperty("项目ID") // @ApiModelProperty("项目ID")
private Long projectId; // 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 @Data
@ApiModel("批量查询急救记录") @ApiModel("批量查询急救记录")
public static class QueryAidRecord{ public static class QueryAidRecord{
@NotNull(message = "项目id不能为空") // @NotNull(message = "项目id不能为空")
@ApiModelProperty("项目id") // @ApiModelProperty("项目id")
private Long projectId; // private Long projectId;
@NotNull(message = "急救id不能为空")
@ApiModelProperty("急救id")
private Long firstAidId;
@ApiModelProperty("code列表") @ApiModelProperty("code列表")
private List<String> codeList; private List<String> codeList;
} }
@ -89,9 +92,12 @@ public class PatientDto {
@Data @Data
@ApiModel("添加急救记录信息") @ApiModel("添加急救记录信息")
public static class SaveAidRecordN{ public static class SaveAidRecordN{
@NotNull(message = "项目id不能为空") // @NotNull(message = "项目id不能为空")
@ApiModelProperty("项目id") // @ApiModelProperty("项目id")
private Long projectId; // private Long projectId;
@NotNull(message = "急救id不能为空")
@ApiModelProperty("急救id")
private Long firstAidId;
@Max(value=1,message = "请查询正确的提交人类型") @Max(value=1,message = "请查询正确的提交人类型")
@ApiModelProperty("提交人类型(0平车 1人)") @ApiModelProperty("提交人类型(0平车 1人)")
private byte userType = 1; private byte userType = 1;
@ -136,9 +142,12 @@ public class PatientDto {
@Data @Data
@ApiModel("项目id") @ApiModel("项目id")
public static class ProjectId{ public static class ProjectId{
@NotNull(message = "请传入项目id") // @NotNull(message = "请传入项目id")
@ApiModelProperty("项目id") // @ApiModelProperty("项目id")
private Long projectId; // private Long projectId;
@NotNull(message = "请传入急救id")
@ApiModelProperty("急救id")
private Long firstAidId;
} }
@Data @Data

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

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

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

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

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

@ -315,4 +315,17 @@ public class StatisticsVo {
@ApiModelProperty("PRT>60min例数") @ApiModelProperty("PRT>60min例数")
private String prt61Number; 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 静脉溶栓统计 * @return 静脉溶栓统计
*/ */
StatisticsVo.JmrsUpResult statisticsJmrs(); StatisticsVo.JmrsUpResult statisticsJmrs(@Param("qid") Long qid);
/** /**
* 查询各医院溶栓率 * 查询各医院溶栓率
@ -22,27 +22,27 @@ public interface DataStatisticsDao {
* @param areaId 市id * @param areaId 市id
* @return 二级医院溶栓率 * @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-二级) * @param type 查询类型(0-三级,1-二级)
* @return 三级医院溶栓率 * @return 三级医院溶栓率
*/ */
List<StatisticsVo.AreaResult> queryJmrslForCity(@Param("type") Byte type); List<StatisticsVo.AreaResult> queryJmrslForCity(@Param("type") Byte type,@Param("qid") Long qid);
/** /**
* DNT总统记(DNT60min的比例/DNT45min的比例) * DNT总统记(DNT60min的比例/DNT45min的比例)
* @return DNT总统记(DNT60min的比例/DNT45min的比例) * @return DNT总统记(DNT60min的比例/DNT45min的比例)
*/ */
StatisticsVo.DntTotalStatistics dntTotalStatistics(); StatisticsVo.DntTotalStatistics dntTotalStatistics(@Param("qid") Long qid);
/** /**
* 查询DNT概要统计 * 查询DNT概要统计
* *
* @return 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统计(城市) * 查询具体DNT统计(城市)
@ -62,7 +62,7 @@ public interface DataStatisticsDao {
* 查询sich总统计率 * 查询sich总统计率
* @return sich总统计率 * @return sich总统计率
*/ */
StatisticsVo.SichTotal sichTotal(); StatisticsVo.SichTotal sichTotal(@Param("qid") Long qid);
/** /**
* 查询sich概要统计 * 查询sich概要统计
@ -71,7 +71,7 @@ public interface DataStatisticsDao {
* @param areaId 市id * @param areaId 市id
* @return 查询sich概要统计 * @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具体统计率 * 查询sich具体统计率
@ -90,7 +90,7 @@ public interface DataStatisticsDao {
* 查询血管治疗总统记 * 查询血管治疗总统记
* @return 血管治疗总统记 * @return 血管治疗总统记
*/ */
StatisticsVo.XgzlTotal xgzlTotal(); StatisticsVo.XgzlTotal xgzlTotal(@Param("qid") Long qid);
/** /**
* 查询血管治疗具体统计 * 查询血管治疗具体统计
@ -117,7 +117,7 @@ public interface DataStatisticsDao {
* 查询DPT总统记 * 查询DPT总统记
* @return DPT总统记 * @return DPT总统记
*/ */
StatisticsVo.DptTotal dptTotal(); StatisticsVo.DptTotal dptTotal(@Param("qid") Long qid);
/** /**
* DPT概要统计 * DPT概要统计
@ -144,7 +144,7 @@ public interface DataStatisticsDao {
* 查询PRT总统记 * 查询PRT总统记
* @return PRT总统记 * @return PRT总统记
*/ */
StatisticsVo.PrtTotal prtTotal(); StatisticsVo.PrtTotal prtTotal(@Param("qid") Long qid);
/** /**
* PRT概要统计 * PRT概要统计

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

@ -77,4 +77,13 @@ public interface FirstAidDao extends FirstAidMapper {
* @return 四家医院的病例列表 * @return 四家医院的病例列表
*/ */
List<FirstAidVo.NeedHospital> queryNeedHospital(@Param("startTime") Long startTime); 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是 * @return 0否,1是
*/ */
Integer queryUserIsExist(@Param("departmentName") String departmentName,@Param("positionName") String positionName,@Param("name") String name,@Param("userId") Long userId); 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查询记录信息 * 根据急救id查询记录信息
* @param projectId 急救id * @param firstAidId 急救id
* @param codeList code * @param codeList code
* @return 返回急救信息 * @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下的总数量和完成数据 * 查找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.dto.QuestionnaireDto;
import com.ccsens.carbasics.bean.vo.QuestionnaireVo; import com.ccsens.carbasics.bean.vo.QuestionnaireVo;
import com.ccsens.carbasics.bean.vo.StatisticsVo;
import com.ccsens.carbasics.persist.mapper.QuestionnaireMapper; import com.ccsens.carbasics.persist.mapper.QuestionnaireMapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@ -43,4 +44,10 @@ public interface QuestionnaireDao extends QuestionnaireMapper {
* @return 是否提交 * @return 是否提交
*/ */
Long countSubmit(@Param("type") Byte type, @Param("time") long time, @Param("userId") Long userId); Long countSubmit(@Param("type") Byte type, @Param("time") long time, @Param("userId") Long userId);
/**
* 查询卒中统计的问卷列表
* @return 卒中统计的问卷列表
*/
List<StatisticsVo.QuestionnaireInfo> queryStatistics();
} }

67
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.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.carbasics.bean.dto.StatisticsDto; import com.ccsens.carbasics.bean.dto.StatisticsDto;
import com.ccsens.carbasics.bean.po.QuestionnaireDataDatumLine; import com.ccsens.carbasics.bean.po.QuestionnaireDataDatumLine;
import com.ccsens.carbasics.bean.vo.StatisticsVo; import com.ccsens.carbasics.bean.vo.StatisticsVo;
import com.ccsens.carbasics.persist.dao.DataStatisticsDao; import com.ccsens.carbasics.persist.dao.DataStatisticsDao;
import com.ccsens.carbasics.persist.dao.QuestionnaireDao;
import com.ccsens.carbasics.persist.dao.QuestionnaireDataDatumLineDao; import com.ccsens.carbasics.persist.dao.QuestionnaireDataDatumLineDao;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -29,11 +31,14 @@ public class DataStatisticsService implements IDataStatisticsService {
private DataStatisticsDao dataStatisticsDao; private DataStatisticsDao dataStatisticsDao;
@Resource @Resource
private QuestionnaireDataDatumLineDao dataDatumLineDao; private QuestionnaireDataDatumLineDao dataDatumLineDao;
@Resource
private QuestionnaireDao questionnaireDao;
@Override @Override
public StatisticsVo.JmrsUpResult statisticsJmrs(Long userId) { public StatisticsVo.JmrsUpResult statisticsJmrs(StatisticsDto.QueryTotal param,Long userId) {
return dataStatisticsDao.statisticsJmrs(); 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<>(); List<StatisticsVo.AreaResult> areaResults = new ArrayList<>();
if (0 == param.getQueryType()) { if (0 == param.getQueryType()) {
areaResults = dataStatisticsDao.queryJmrslForCity(param.getQueryLevel()); areaResults = dataStatisticsDao.queryJmrslForCity(param.getQueryLevel(),param.getQid());
} }
if (1 == param.getQueryType()) { if (1 == param.getQueryType()) {
areaResults = dataStatisticsDao.queryJmrsForHospital(param.getQueryLevel(),param.getAreaId()); areaResults = dataStatisticsDao.queryJmrsForHospital(param.getQueryLevel(),param.getAreaId(),param.getQid());
} }
int arrive = 0; int arrive = 0;
int unArrive = 0; int unArrive = 0;
@ -85,8 +90,8 @@ public class DataStatisticsService implements IDataStatisticsService {
List<StatisticsVo.AreaResult> areaResults = new ArrayList<>(); List<StatisticsVo.AreaResult> areaResults = new ArrayList<>();
if (0 == param.getQueryType()) { if (0 == param.getQueryType()) {
areaResults = dataStatisticsDao.queryJmrslForCity(param.getQueryLevel()); areaResults = dataStatisticsDao.queryJmrslForCity(param.getQueryLevel(),param.getQid());
List<StatisticsVo.AreaResult> cityJmsrl = dataStatisticsDao.queryJmrslForCity(null); List<StatisticsVo.AreaResult> cityJmsrl = dataStatisticsDao.queryJmrslForCity(null,param.getQid());
for (StatisticsVo.AreaResult areaResult : areaResults) { for (StatisticsVo.AreaResult areaResult : areaResults) {
for (StatisticsVo.AreaResult result : cityJmsrl) { for (StatisticsVo.AreaResult result : cityJmsrl) {
if (areaResult.getName().equals(result.getName())) { if (areaResult.getName().equals(result.getName())) {
@ -96,7 +101,7 @@ public class DataStatisticsService implements IDataStatisticsService {
} }
} }
if (1 == param.getQueryType()) { if (1 == param.getQueryType()) {
areaResults = dataStatisticsDao.queryJmrsForHospital(param.getQueryLevel(),param.getAreaId()); areaResults = dataStatisticsDao.queryJmrsForHospital(param.getQueryLevel(),param.getAreaId(),param.getQid());
} }
areaResults.addAll(dataDatumLineList); areaResults.addAll(dataDatumLineList);
List<StatisticsVo.AreaResult> results = areaResults.stream().sorted(Comparator.comparing(StatisticsVo.AreaResult::getValue).reversed()).collect(Collectors.toList()); 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 @Override
public StatisticsVo.DntTotalStatistics dntTotalStatistics(Long userId) { public StatisticsVo.DntTotalStatistics dntTotalStatistics(StatisticsDto.QueryTotal param,Long userId) {
return dataStatisticsDao.dntTotalStatistics(); StatisticsVo.DntTotalStatistics dntTotalStatistics = dataStatisticsDao.dntTotalStatistics(param.getQid());
return ObjectUtil.isNull(dntTotalStatistics) ? new StatisticsVo.DntTotalStatistics() : dntTotalStatistics;
} }
@Override @Override
public StatisticsVo.DntSynopsis dntSynopsis(StatisticsDto.QueryStandards param, Long userId) { public StatisticsVo.DntSynopsis dntSynopsis(StatisticsDto.QueryStandards param, Long userId) {
log.info("参数:{},{},{}",param.getQueryType(),param.getQueryLevel(),param.getAreaId()); 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 @Override
@ -130,8 +137,9 @@ public class DataStatisticsService implements IDataStatisticsService {
} }
@Override @Override
public StatisticsVo.SichTotal sichTotal(Long userId) { public StatisticsVo.SichTotal sichTotal(StatisticsDto.QueryTotal param,Long userId) {
return dataStatisticsDao.sichTotal(); 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++; moreThan5++;
} }
} }
StatisticsVo.SichSynopsis sichSynopsis = dataStatisticsDao.sichSynopsis(param.getQueryType(), param.getQueryLevel(), param.getAreaId()); StatisticsVo.SichSynopsis sichSynopsis = dataStatisticsDao.sichSynopsis(param.getQueryType(), param.getQueryLevel(), param.getAreaId(),param.getQid());
if (ObjectUtil.isNotNull(sichSynopsis)) {
sichSynopsis.setMoreThan5(moreThan5); sichSynopsis.setMoreThan5(moreThan5);
return sichSynopsis; }
return ObjectUtil.isNull(sichSynopsis) ? new StatisticsVo.SichSynopsis() : sichSynopsis;
} }
@ -194,8 +204,9 @@ public class DataStatisticsService implements IDataStatisticsService {
@Override @Override
public StatisticsVo.XgzlTotal xgzlTotal(Long userId) { public StatisticsVo.XgzlTotal xgzlTotal(StatisticsDto.QueryTotal param,Long userId) {
return dataStatisticsDao.xgzlTotal(); StatisticsVo.XgzlTotal xgzlTotal = dataStatisticsDao.xgzlTotal(param.getQid());
return ObjectUtil.isNull(xgzlTotal) ? new StatisticsVo.XgzlTotal() : xgzlTotal;
} }
@Override @Override
@ -248,8 +259,7 @@ public class DataStatisticsService implements IDataStatisticsService {
} }
} }
} }
return ObjectUtil.isNull(xgzlSynopsis) ? new StatisticsVo.XgzlSynopsis() : xgzlSynopsis;
return xgzlSynopsis;
} }
@ -270,13 +280,15 @@ public class DataStatisticsService implements IDataStatisticsService {
} }
@Override @Override
public StatisticsVo.DptTotal dptTotal(Long userId) { public StatisticsVo.DptTotal dptTotal(StatisticsDto.QueryTotal param,Long userId) {
return dataStatisticsDao.dptTotal(); StatisticsVo.DptTotal dptTotal = dataStatisticsDao.dptTotal(param.getQid());
return ObjectUtil.isNull(dptTotal) ? new StatisticsVo.DptTotal() : dptTotal;
} }
@Override @Override
public StatisticsVo.DptSynopsis dptSynopsis(StatisticsDto.QueryStandards param, Long userId) { 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 @Override
public StatisticsVo.PrtTotal prtTotal(Long userId) { public StatisticsVo.PrtTotal prtTotal(StatisticsDto.QueryTotal param,Long userId) {
return dataStatisticsDao.prtTotal(); StatisticsVo.PrtTotal prtTotal = dataStatisticsDao.prtTotal(param.getQid());
return ObjectUtil.isNull(prtTotal) ? new StatisticsVo.PrtTotal() : prtTotal;
} }
@Override @Override
public StatisticsVo.PrtSynopsis prtSynopsis(StatisticsDto.QueryStandards param, Long userId) { 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; 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); list.add(firstCells);
//查询数据 //查询数据
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); 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(); long time = parse.getTime();
List<FirstAidVo.NeedHospital> hospitalData = firstAidDao.queryNeedHospital(time); 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(hospitalDatum.getHospitalName()));
data.add(new PoiUtil.PoiUtilCell(simpleDateFormat.format(hospitalDatum.getCreatedAt()))); data.add(new PoiUtil.PoiUtilCell(simpleDateFormat.format(hospitalDatum.getCreatedAt())));
data.add(new PoiUtil.PoiUtilCell(hospitalDatum.getId().toString())); 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(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.getGender())?"未填写":hospitalDatum.getGender().toString()));
data.add(new PoiUtil.PoiUtilCell(ObjectUtil.isNull(hospitalDatum.getAge())?"未填写":hospitalDatum.getAge().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(DesensitizedUtils.idCardNum(hospitalDatum.getIdcard())));
data.add(new PoiUtil.PoiUtilCell(hospitalDatum.getSaveType().toString())); data.add(new PoiUtil.PoiUtilCell(hospitalDatum.getSaveType() == 0 ?"手动添加":"平车自动添加"));
data.add(new PoiUtil.PoiUtilCell(hospitalDatum.getDataStatus().toString())); data.add(new PoiUtil.PoiUtilCell(getDataStatusName(hospitalDatum.getDataStatus())));
list.add(data); list.add(data);
} }
} }
@ -321,4 +322,23 @@ public class ExportService implements IExportService{
// excelUrl.setPdfUrl(url); // excelUrl.setPdfUrl(url);
return wbs; 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(); PatientVo.QueryAidRecordN queryAidRecord = new PatientVo.QueryAidRecordN();
Map<String,List<String>> recordMap = new HashMap<>(16); 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)){ if(CollectionUtil.isNotEmpty(aidRecords)){
//封装进map内 //封装进map内
aidRecords.forEach(aidRecord -> { aidRecords.forEach(aidRecord -> {
@ -88,25 +88,26 @@ public class FirstAidRecordService implements IFirstAidRecordService {
@Override @Override
public void saveAidRecordN(PatientDto.SaveAidRecordN param, Long userId) { public void saveAidRecordN(PatientDto.SaveAidRecordN param, Long userId) {
//验证急救信息 //验证急救信息
FirstAidExample aidExample = new FirstAidExample(); // FirstAidExample aidExample = new FirstAidExample();
aidExample.createCriteria().andProjectIdEqualTo(param.getProjectId()); // aidExample.createCriteria().andProjectIdEqualTo(param.getProjectId());
aidExample.setOrderByClause("id desc limit 1"); // aidExample.setOrderByClause("id desc limit 1");
List<FirstAid> firstAids = firstAidDao.selectByExample(aidExample); // List<FirstAid> firstAids = firstAidDao.selectByExample(aidExample);
FirstAid firstAids = firstAidDao.selectByPrimaryKey(param.getFirstAidId());
log.info("急救信息:{}", firstAids); log.info("急救信息:{}", firstAids);
if(CollectionUtil.isEmpty(firstAids)) { if(ObjectUtil.isNull(firstAids)) {
throw new BaseException(DefaultCodeError.NOT_FIRST_AID_ID); throw new BaseException(DefaultCodeError.NOT_FIRST_AID_ID);
} }
if(CollectionUtil.isEmpty(param.getCodeAndAnswerList())){ if(CollectionUtil.isEmpty(param.getCodeAndAnswerList())){
return; return;
} }
FirstAid firstAid = firstAids.get(0); // FirstAid firstAid = firstAids.get(0);
// 判断权限状态 // 判断权限状态
aidStatus(param, firstAid); aidStatus(param, firstAids);
//遍历传入的code //遍历传入的code
// 时间校验 // 时间校验
checkTime(param, firstAid); checkTime(param, firstAids);
// 保存 // 保存
param.getCodeAndAnswerList().forEach(codeAndAnswer -> { param.getCodeAndAnswerList().forEach(codeAndAnswer -> {
if(StrUtil.isEmpty(codeAndAnswer.getQuestionCode())) { if(StrUtil.isEmpty(codeAndAnswer.getQuestionCode())) {
@ -115,7 +116,7 @@ public class FirstAidRecordService implements IFirstAidRecordService {
} }
//添加记录表,需要查找之前的记录,删除后重新添加 //添加记录表,需要查找之前的记录,删除后重新添加
FirstAidRecordExample recordExample = new FirstAidRecordExample(); 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); List<FirstAidRecord> firstAidRecords = firstAidRecordDao.selectByExample(recordExample);
if (CollectionUtil.isNotEmpty(firstAidRecords)) { if (CollectionUtil.isNotEmpty(firstAidRecords)) {
firstAidRecords.forEach(firstAidRecord -> { firstAidRecords.forEach(firstAidRecord -> {
@ -126,14 +127,14 @@ public class FirstAidRecordService implements IFirstAidRecordService {
//判断答案是否为空 //判断答案是否为空
if(CollectionUtil.isNotEmpty(codeAndAnswer.getAnswer())){ 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 { }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()) if (Constant.QuestionCode.QZSJ.equals(codeAndAnswer.getQuestionCode())
|| Constant.QuestionCode.THSJ.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) { public PatientVo.GetPatient getPatient(PatientDto.ProjectId param, Long userId) {
PatientVo.GetPatient getPatient = new PatientVo.GetPatient(); PatientVo.GetPatient getPatient = new PatientVo.GetPatient();
//通过项目id查找急救信息 //通过项目id查找急救信息
FirstAidExample firstAidExample = new FirstAidExample(); // FirstAidExample firstAidExample = new FirstAidExample();
firstAidExample.createCriteria().andProjectIdEqualTo(param.getProjectId()); // firstAidExample.createCriteria().andProjectIdEqualTo(param.getProjectId());
List<FirstAid> firstAids = firstAidDao.selectByExample(firstAidExample); // List<FirstAid> firstAids = firstAidDao.selectByExample(firstAidExample);
if(CollectionUtil.isNotEmpty(firstAids)){ FirstAid firstAid = firstAidDao.selectByPrimaryKey(param.getFirstAidId());
getPatient.setFirstAidId(firstAids.get(0).getId()); if(ObjectUtil.isNotNull(firstAid)){
getPatient.setName(firstAids.get(0).getName()); getPatient.setFirstAidId(firstAid.getId());
getPatient.setGender(firstAids.get(0).getGender()); getPatient.setName(firstAid.getName());
getPatient.setNation(firstAids.get(0).getNation()); getPatient.setGender(firstAid.getGender());
getPatient.setIdcard(firstAids.get(0).getIdcard()); getPatient.setNation(firstAid.getNation());
getPatient.setProjectId(firstAids.get(0).getProjectId()); getPatient.setIdcard(firstAid.getIdcard());
getPatient.setAge(firstAids.get(0).getAge()); getPatient.setProjectId(firstAid.getProjectId());
getPatient.setAge(firstAid.getAge());
// 查找疑似病例 // 查找疑似病例
FirstAidRecordExample recordExample = new FirstAidRecordExample(); 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"); recordExample.setOrderByClause("id desc limit 1");
List<FirstAidRecord> firstAidRecords = firstAidRecordMapper.selectByExample(recordExample); List<FirstAidRecord> firstAidRecords = firstAidRecordMapper.selectByExample(recordExample);
if (CollectionUtil.isNotEmpty(firstAidRecords)) { if (CollectionUtil.isNotEmpty(firstAidRecords)) {
@ -348,14 +349,18 @@ public class FirstAidService implements IFirstAidService{
// templateList.forEach(template -> { // templateList.forEach(template -> {
// templates.add(template.getTemplate()); // templates.add(template.getTemplate());
// }); // });
OrganizationVo.Template template = organizationDao.queryTemplate(param.getProjectId(), userId); // OrganizationVo.Template template = organizationDao.queryTemplate(param.getProjectId(), userId);
log.info("模板:{}", template); // log.info("模板:{}", template);
if (template == null || CollectionUtil.isEmpty(template.getTemplates())) { // if (template == null || CollectionUtil.isEmpty(template.getTemplates())) {
throw new BaseException(DefaultCodeError.NOT_TEMPLATE); // 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()); 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); return new PageInfo<>(patientList);
} }
@ -662,18 +667,18 @@ public class FirstAidService implements IFirstAidService{
@Override @Override
public FirstAidVo.FirstAidBase getDetail(FirstAidDto.Project param, Long userId) { public FirstAidVo.FirstAidBase getDetail(FirstAidDto.Project param, Long userId) {
FirstAidExample example = new FirstAidExample(); // FirstAidExample example = new FirstAidExample();
example.createCriteria().andProjectIdEqualTo(param.getProjectId()); // example.createCriteria().andProjectIdEqualTo(param.getProjectId());
example.setOrderByClause("id desc limit 1"); // example.setOrderByClause("id desc limit 1");
List<FirstAid> firstAids = firstAidDao.selectByExample(example); // List<FirstAid> firstAids = firstAidDao.selectByExample(example);
if (CollectionUtil.isEmpty(firstAids)) { FirstAid firstAids = firstAidDao.selectByPrimaryKey(param.getFirstAidId());
if (ObjectUtil.isNull(firstAids)) {
return null; return null;
} }
FirstAid firstAid = firstAids.get(0);
FirstAidVo.FirstAidBase detail = new FirstAidVo.FirstAidBase(); FirstAidVo.FirstAidBase detail = new FirstAidVo.FirstAidBase();
detail.setProjectId(firstAid.getProjectId()); detail.setProjectId(firstAids.getProjectId());
detail.setType(firstAid.getType()); detail.setType(firstAids.getType());
detail.setValueType(firstAid.getValueType()); detail.setValueType(firstAids.getValueType());
return detail; return detail;
} }

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

@ -15,7 +15,7 @@ public interface IDataStatisticsService {
* @param userId 用户id * @param userId 用户id
* @return 静脉溶栓率,/三级医院静脉溶栓率 * @return 静脉溶栓率,/三级医院静脉溶栓率
*/ */
StatisticsVo.JmrsUpResult statisticsJmrs(Long userId); StatisticsVo.JmrsUpResult statisticsJmrs(StatisticsDto.QueryTotal param,Long userId);
/** /**
* 查询静脉溶栓达标率 * 查询静脉溶栓达标率
@ -38,7 +38,7 @@ public interface IDataStatisticsService {
* @param userId 用户id * @param userId 用户id
* @return DNT总统记 * @return DNT总统记
*/ */
StatisticsVo.DntTotalStatistics dntTotalStatistics(Long userId); StatisticsVo.DntTotalStatistics dntTotalStatistics(StatisticsDto.QueryTotal param,Long userId);
/** /**
* 查询DNT概要统计 * 查询DNT概要统计
@ -61,7 +61,7 @@ public interface IDataStatisticsService {
* @param userId 用户id * @param userId 用户id
* @return sich 总统记 * @return sich 总统记
*/ */
StatisticsVo.SichTotal sichTotal(Long userId); StatisticsVo.SichTotal sichTotal(StatisticsDto.QueryTotal param,Long userId);
/** /**
* sich概要统计 * sich概要统计
@ -84,7 +84,7 @@ public interface IDataStatisticsService {
* @param userId 用户id * @param userId 用户id
* @return 血管治疗总统记 * @return 血管治疗总统记
*/ */
StatisticsVo.XgzlTotal xgzlTotal(Long userId); StatisticsVo.XgzlTotal xgzlTotal(StatisticsDto.QueryTotal param,Long userId);
/** /**
* 血管治疗概要统计 * 血管治疗概要统计
@ -107,7 +107,7 @@ public interface IDataStatisticsService {
* @param userId 用户id * @param userId 用户id
* @return DPT 总统记 * @return DPT 总统记
*/ */
StatisticsVo.DptTotal dptTotal(Long userId); StatisticsVo.DptTotal dptTotal(StatisticsDto.QueryTotal param,Long userId);
/** /**
* dpt 概要统计 * dpt 概要统计
@ -130,7 +130,7 @@ public interface IDataStatisticsService {
* @param userId 用户id * @param userId 用户id
* @return prt 总统记 * @return prt 总统记
*/ */
StatisticsVo.PrtTotal prtTotal(Long userId); StatisticsVo.PrtTotal prtTotal(StatisticsDto.QueryTotal param,Long userId);
/** /**
* prt概要统计 * prt概要统计
@ -147,4 +147,11 @@ public interface IDataStatisticsService {
* @return prt 具体统计 * @return prt 具体统计
*/ */
List<StatisticsVo.PrtData> prtData(StatisticsDto.QueryStandards param, Long userId); 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: spring:
profiles: profiles:
active: prod active: test
include: common, util-prod include: common, util-test

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

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

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

@ -256,8 +256,112 @@
AND op.rec_status = 0 AND op.rec_status = 0
AND f.rec_status = 0 AND f.rec_status = 0
<if test="startTime != null and startTime != ''"> <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> </if>
ORDER BY f.created_at DESC ORDER BY f.created_at DESC
</select> </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> </mapper>

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

@ -846,4 +846,21 @@
AND `name` = #{positionName} AND `name` = #{positionName}
) )
</select> </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> </mapper>

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

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