Browse Source

调查问卷接口修改

master
ma 4 years ago
parent
commit
a61e9ab6b9
  1. 4
      src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java
  2. 3
      src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java
  3. 5
      src/main/java/com/ccsens/carbasics/persist/dao/AreaDao.java
  4. 15
      src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDao.java
  5. 12
      src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java
  6. 36
      src/main/resources/mapper_dao/AreaDao.xml
  7. 45
      src/main/resources/mapper_dao/QuestionnaireDao.xml

4
src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java

@ -20,15 +20,11 @@ public class QuestionnaireDto {
@Data
@ApiModel("查询问卷信息")
public static class QueryQuestionnaire {
@NotNull(message = "时间不能为空")
@ApiModelProperty("当前时间")
private Long time = System.currentTimeMillis();
@NotNull(message = "请选择类型")
@ApiModelProperty("类型(0-卒中)")
private Byte type;
@NotNull(message = "医院名称不能为空")
@ApiModelProperty("医院名称")
private String hospitalName;
}
@Data

3
src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java

@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class QuestionnaireVo {
@ -17,6 +18,8 @@ public class QuestionnaireVo {
private Long id;
@ApiModelProperty("地区名称")
private String name;
@ApiModelProperty("子地区")
private List<AreaInfo> child;
}
@Data

5
src/main/java/com/ccsens/carbasics/persist/dao/AreaDao.java

@ -3,6 +3,7 @@ package com.ccsens.carbasics.persist.dao;
import com.ccsens.carbasics.bean.dto.QuestionnaireDto;
import com.ccsens.carbasics.bean.vo.QuestionnaireVo;
import com.ccsens.carbasics.persist.mapper.AreaMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import java.util.List;
@ -12,8 +13,8 @@ public interface AreaDao extends AreaMapper {
/**
* 根据父id查询地区信息
* @param param 父id
* @param id 父id
* @return 地区列表
*/
List<QuestionnaireVo.AreaInfo> queryByParentId(QuestionnaireDto.QueryArea param);
List<QuestionnaireVo.AreaInfo> queryByParentId(@Param("id") Long id);
}

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

@ -13,10 +13,12 @@ public interface QuestionnaireDao extends QuestionnaireMapper {
/**
* 查询问卷信息
* @param param 时间/类型/医院名称
* @param time 当前时间
* @param type 问卷类型
* @param userId 用户id
* @return 问卷信息
*/
QuestionnaireVo.QuestionnaireInfo queryQuestionnaire(QuestionnaireDto.QueryQuestionnaire param);
QuestionnaireVo.QuestionnaireInfo queryQuestionnaire(@Param("time") Long time,@Param("type") Byte type,@Param("userId") Long userId);
/**
* 查询医院是否填写问卷调查
@ -25,4 +27,13 @@ public interface QuestionnaireDao extends QuestionnaireMapper {
* @return 问卷调查列表
*/
List<QuestionnaireVo.WriteStatus> queryNotWrite(@Param("name") String name,@Param("time") Long time);
/**
* 查询医院是否重复提交
* @param hospitalName 医院名称
* @param time 当前时间
* @param type
* @return 数据
*/
QuestionnaireVo.QuestionnaireInfo queryRepeat(@Param("name") String hospitalName,@Param("time") Long time,@Param("type") Byte type);
}

12
src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java

@ -1,6 +1,7 @@
package com.ccsens.carbasics.service;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil;
import com.ccsens.carbasics.bean.dto.QuestionnaireDto;
@ -45,23 +46,20 @@ public class QuestionnaireService implements IQuestionnaireService{
if (ObjectUtil.isNull(param.getId())){
param.setId(0L);
}
return areaDao.queryByParentId(param);
return areaDao.queryByParentId(param.getId());
}
@Override
public QuestionnaireVo.QuestionnaireInfo queryQuestionnaire(QuestionnaireDto.QueryQuestionnaire param, Long userId) {
return questionnaireDao.queryQuestionnaire(param);
return questionnaireDao.queryQuestionnaire(param.getTime(),param.getType(),userId);
}
@Override
public void saveQuestionnaire(QuestionnaireDto.SaveQuestionnaire param, Long userId) {
//查询是否重复提交
QuestionnaireDto.QueryQuestionnaire queryQuestionnaire = new QuestionnaireDto.QueryQuestionnaire();
queryQuestionnaire.setHospitalName(param.getHospitalName());
queryQuestionnaire.setTime(System.currentTimeMillis());
queryQuestionnaire.setType(param.getType());
QuestionnaireVo.QuestionnaireInfo questionnaireInfo = queryQuestionnaire(queryQuestionnaire, userId);
Long time = System.currentTimeMillis();
QuestionnaireVo.QuestionnaireInfo questionnaireInfo = questionnaireDao.queryRepeat(param.getHospitalName(),time,param.getType());
if (ObjectUtil.isNotNull(questionnaireInfo.getDetail())) {
throw new BaseException(DefaultCodeError.HOSPITAL_REPEAT_SUBMIT);
}

36
src/main/resources/mapper_dao/AreaDao.xml

@ -2,16 +2,38 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ccsens.carbasics.persist.dao.AreaDao">
<select id="queryByParentId" resultType="com.ccsens.carbasics.bean.vo.QuestionnaireVo$AreaInfo">
<resultMap id="area" type="com.ccsens.carbasics.bean.vo.QuestionnaireVo$AreaInfo">
<id column="shengid" property="id"/>
<result column="sheng" property="name"/>
<collection property="child" ofType="com.ccsens.carbasics.bean.vo.QuestionnaireVo$AreaInfo">
<id column="shiid" property="id"/>
<result column="shiname" property="name"/>
<collection property="child" ofType="com.ccsens.carbasics.bean.vo.QuestionnaireVo$AreaInfo">
<id column="quid" property="id"/>
<result column="quname" property="name"/>
</collection>
</collection>
</resultMap>
<select id="queryByParentId" resultMap="area">
SELECT
id,
area_name AS `name`
a.id AS shengid,
a.area_name AS sheng,
a1.id AS shiid,
a1.area_parent_id AS shif,
a1.area_name AS shiname,
a2.id AS quid,
a2.area_parent_id AS quf,
a2.area_name AS quname
FROM
t_area
t_area AS a
LEFT JOIN t_area AS a1 ON a.id = a1.area_parent_id
LEFT JOIN t_area AS a2 ON a1.id = a2.area_parent_id
WHERE
rec_status = 0
AND area_type = 0
AND area_parent_id = #{id}
a.area_parent_id = 0
AND a.area_type = 0
AND a1.area_type = 0
AND a2.area_type = 0
</select>
</mapper>

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

@ -72,7 +72,7 @@
FROM
t_qcp_questionnaire AS q
LEFT JOIN t_qcp_questionnaire_detail AS qd ON q.id = qd.questionnaire_id
AND qd.hospital_name = #{hospitalName} AND qd.rec_status = 0
AND qd.user_id = #{userId} AND qd.rec_status = 0
WHERE
q.write_start_time &lt; #{time}
AND q.write_end_time &gt; #{time}
@ -100,5 +100,48 @@
AND q.rec_status = 0
</select>
<select id="queryRepeat" resultType="com.ccsens.carbasics.bean.vo.QuestionnaireVo$QuestionnaireInfo">
SELECT
q.id,
q.questionnaire_name AS questionnaire_name,
q.start_time AS `start`,
q.end_time AS `end`,
q.type,
qd.city,
qd.county,
qd.hospital_level,
qd.hospital_name,
qd.departments,
qd.`name`,
qd.phone,
qd.advanced_stroke_center,
qd.stroke_center,
qd.map_hospital,
qd.stroke_number,
qd.ais_number_four,
qd.jmrs_number_four,
qd.rtpa_number,
qd.dnt_number,
qd.dnt_number_four,
qd.dnt_number_six,
qd.sich_number,
qd.jmrs_number_one,
qd.ais_number_six,
qd.should_directly,
qd.dpt_median_number,
qd.prt_median_number,
qd.jmrs_number_two,
qd.death_number
FROM
t_qcp_questionnaire AS q
LEFT JOIN t_qcp_questionnaire_detail AS qd ON q.id = qd.questionnaire_id
AND qd.user_id = #{name} AND qd.rec_status = 0
WHERE
q.write_start_time &lt; #{time}
AND q.write_end_time &gt; #{time}
AND type = #{type}
AND q.rec_status = 0
</select>
</mapper>
Loading…
Cancel
Save