Browse Source

调查问卷接口修改

master
ma 5 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 @Data
@ApiModel("查询问卷信息") @ApiModel("查询问卷信息")
public static class QueryQuestionnaire { public static class QueryQuestionnaire {
@NotNull(message = "时间不能为空")
@ApiModelProperty("当前时间") @ApiModelProperty("当前时间")
private Long time = System.currentTimeMillis(); private Long time = System.currentTimeMillis();
@NotNull(message = "请选择类型") @NotNull(message = "请选择类型")
@ApiModelProperty("类型(0-卒中)") @ApiModelProperty("类型(0-卒中)")
private Byte type; private Byte type;
@NotNull(message = "医院名称不能为空")
@ApiModelProperty("医院名称")
private String hospitalName;
} }
@Data @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 lombok.Data;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.List;
@Data @Data
public class QuestionnaireVo { public class QuestionnaireVo {
@ -17,6 +18,8 @@ public class QuestionnaireVo {
private Long id; private Long id;
@ApiModelProperty("地区名称") @ApiModelProperty("地区名称")
private String name; private String name;
@ApiModelProperty("子地区")
private List<AreaInfo> child;
} }
@Data @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.dto.QuestionnaireDto;
import com.ccsens.carbasics.bean.vo.QuestionnaireVo; import com.ccsens.carbasics.bean.vo.QuestionnaireVo;
import com.ccsens.carbasics.persist.mapper.AreaMapper; import com.ccsens.carbasics.persist.mapper.AreaMapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List; import java.util.List;
@ -12,8 +13,8 @@ public interface AreaDao extends AreaMapper {
/** /**
* 根据父id查询地区信息 * 根据父id查询地区信息
* @param param 父id * @param id 父id
* @return 地区列表 * @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 问卷信息 * @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 问卷调查列表 * @return 问卷调查列表
*/ */
List<QuestionnaireVo.WriteStatus> queryNotWrite(@Param("name") String name,@Param("time") Long time); 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; 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.lang.Snowflake; import cn.hutool.core.lang.Snowflake;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.ccsens.carbasics.bean.dto.QuestionnaireDto; import com.ccsens.carbasics.bean.dto.QuestionnaireDto;
@ -45,23 +46,20 @@ public class QuestionnaireService implements IQuestionnaireService{
if (ObjectUtil.isNull(param.getId())){ if (ObjectUtil.isNull(param.getId())){
param.setId(0L); param.setId(0L);
} }
return areaDao.queryByParentId(param); return areaDao.queryByParentId(param.getId());
} }
@Override @Override
public QuestionnaireVo.QuestionnaireInfo queryQuestionnaire(QuestionnaireDto.QueryQuestionnaire param, Long userId) { public QuestionnaireVo.QuestionnaireInfo queryQuestionnaire(QuestionnaireDto.QueryQuestionnaire param, Long userId) {
return questionnaireDao.queryQuestionnaire(param); return questionnaireDao.queryQuestionnaire(param.getTime(),param.getType(),userId);
} }
@Override @Override
public void saveQuestionnaire(QuestionnaireDto.SaveQuestionnaire param, Long userId) { public void saveQuestionnaire(QuestionnaireDto.SaveQuestionnaire param, Long userId) {
//查询是否重复提交 //查询是否重复提交
QuestionnaireDto.QueryQuestionnaire queryQuestionnaire = new QuestionnaireDto.QueryQuestionnaire(); Long time = System.currentTimeMillis();
queryQuestionnaire.setHospitalName(param.getHospitalName()); QuestionnaireVo.QuestionnaireInfo questionnaireInfo = questionnaireDao.queryRepeat(param.getHospitalName(),time,param.getType());
queryQuestionnaire.setTime(System.currentTimeMillis());
queryQuestionnaire.setType(param.getType());
QuestionnaireVo.QuestionnaireInfo questionnaireInfo = queryQuestionnaire(queryQuestionnaire, userId);
if (ObjectUtil.isNotNull(questionnaireInfo.getDetail())) { if (ObjectUtil.isNotNull(questionnaireInfo.getDetail())) {
throw new BaseException(DefaultCodeError.HOSPITAL_REPEAT_SUBMIT); 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"> <!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"> <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 SELECT
id, a.id AS shengid,
area_name AS `name` 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 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 WHERE
rec_status = 0 a.area_parent_id = 0
AND area_type = 0 AND a.area_type = 0
AND area_parent_id = #{id} AND a1.area_type = 0
AND a2.area_type = 0
</select> </select>
</mapper> </mapper>

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

@ -72,7 +72,7 @@
FROM FROM
t_qcp_questionnaire AS q t_qcp_questionnaire AS q
LEFT JOIN t_qcp_questionnaire_detail AS qd ON q.id = qd.questionnaire_id 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 WHERE
q.write_start_time &lt; #{time} q.write_start_time &lt; #{time}
AND q.write_end_time &gt; #{time} AND q.write_end_time &gt; #{time}
@ -100,5 +100,48 @@
AND q.rec_status = 0 AND q.rec_status = 0
</select> </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> </mapper>
Loading…
Cancel
Save