Browse Source

查询用户是否提交问卷

master
zhizhi wu 5 years ago
parent
commit
d8fa81978d
  1. 10
      src/main/java/com/ccsens/carbasics/api/QuestionnaireController.java
  2. 8
      src/main/java/com/ccsens/carbasics/bean/dto/QuestionnaireDto.java
  3. 9
      src/main/java/com/ccsens/carbasics/bean/vo/QuestionnaireVo.java
  4. 9
      src/main/java/com/ccsens/carbasics/persist/dao/QuestionnaireDao.java
  5. 2
      src/main/java/com/ccsens/carbasics/service/AsyncService.java
  6. 9
      src/main/java/com/ccsens/carbasics/service/IQuestionnaireService.java
  7. 14
      src/main/java/com/ccsens/carbasics/service/QuestionnaireService.java
  8. 16
      src/main/resources/mapper_dao/QuestionnaireDao.xml

10
src/main/java/com/ccsens/carbasics/api/QuestionnaireController.java

@ -101,4 +101,14 @@ public class QuestionnaireController {
log.info("创建问卷详情结束");
return JsonResponse.newInstance().ok(detailInfo);
}
@MustLogin
@ApiOperation(value = "用户是否提交了当前类型的问卷", notes = "")
@RequestMapping(value = "/isSubmit", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"})
public JsonResponse<QuestionnaireVo.Submit> isSubmit(@ApiParam @Validated @RequestBody QueryDto<QuestionnaireDto.Submit> params) throws Exception{
log.info("用户是否提交了当前类型的问卷{}",params);
QuestionnaireVo.Submit submit = questionnaireService.isSubmit(params.getParam(),params.getUserId());
log.info("用户是否提交了当前类型的问卷结束");
return JsonResponse.newInstance().ok(submit);
}
}

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

@ -65,4 +65,12 @@ public class QuestionnaireDto {
@ApiModelProperty("问卷类型(0-卒中)")
private Byte type;
}
@Data
@ApiModel("判断是否提交了问卷-请求")
public static class Submit {
@NotNull(message = "问卷类型不能为空")
@ApiModelProperty("问卷类型(0-卒中)")
private Byte type;
}
}

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

@ -72,6 +72,15 @@ public class QuestionnaireVo {
private Long id;
}
@Data
@ApiModel("是否提交问卷-返回")
public static class Submit {
@ApiModelProperty("问卷详情id 0:未提交 1:已提交")
private Byte submit;
@ApiModelProperty("机构信息")
private OrganizationMemberVo.Organization organization;
}
@Data
@ApiModel("提交后的提示信息")
public static class SubmitInfo {

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

@ -34,4 +34,13 @@ public interface QuestionnaireDao extends QuestionnaireMapper {
* @return 问卷列表
*/
List<QuestionnaireVo.WriteStatus> queryByTime(@Param("time") Long time);
/**
* 统计是否提交了问卷
* @param type 类型
* @param time 时间
* @param userId 用户ID
* @return 是否提交
*/
Long countSubmit(@Param("type") Byte type, @Param("time") long time, @Param("userId") Long userId);
}

2
src/main/java/com/ccsens/carbasics/service/AsyncService.java

@ -49,8 +49,6 @@ public class AsyncService implements IAsyncService {
@Override
public void switchProject(QueryDto<ProjectDto.SwitchProject> params) throws Exception {
log.info("开始接受切换项目");
Thread.sleep(1000);
log.info("切换项目");
Set<String> userIds = new HashSet<>();
userIds.add(params.getUserId().toString());

9
src/main/java/com/ccsens/carbasics/service/IQuestionnaireService.java

@ -6,7 +6,6 @@ import com.ccsens.carbasics.bean.vo.QuestionnaireVo;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public interface IQuestionnaireService {
/**
@ -63,4 +62,12 @@ public interface IQuestionnaireService {
* @return 问卷id与问卷详情id
*/
QuestionnaireVo.DetailInfo createDetail(QuestionnaireDto.CreateDetail param, Long userId);
/**
* 统计用户在是否提交当前进行的这一类型的问卷
* @param param 类型
* @param userId 用户
* @return 是否提交
*/
QuestionnaireVo.Submit isSubmit(QuestionnaireDto.Submit param, Long userId);
}

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

@ -7,6 +7,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.ccsens.carbasics.bean.dto.PatientDto;
import com.ccsens.carbasics.bean.dto.QuestionnaireDto;
import com.ccsens.carbasics.bean.po.*;
import com.ccsens.carbasics.bean.vo.OrganizationMemberVo;
import com.ccsens.carbasics.bean.vo.QuestionnaireVo;
import com.ccsens.carbasics.persist.dao.*;
import com.ccsens.carbasics.util.Constant;
@ -222,6 +223,19 @@ public class QuestionnaireService implements IQuestionnaireService{
return detailInfo;
}
@Override
public QuestionnaireVo.Submit isSubmit(QuestionnaireDto.Submit param, Long userId) {
long count = questionnaireDao.countSubmit(param.getType(), System.currentTimeMillis(), userId);
QuestionnaireVo.Submit submit = new QuestionnaireVo.Submit();
submit.setSubmit((byte)count);
if (count > 0) {
OrganizationMemberVo.Organization organization = organizationMemberDao.getHospital(userId);
submit.setOrganization(organization);
}
log.info("{}提交类型:{}的数量:{}", userId, param.getType(), submit);
return submit;
}
/**
* 提交问卷后的后续操作

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

@ -132,6 +132,22 @@
AND q.write_start_time &lt; #{time}
AND q.write_end_time &gt; #{time}
</select>
<select id="countSubmit" resultType="Long">
SELECT
count(*)
FROM
t_qcp_questionnaire q,
t_qcp_questionnaire_detail d
WHERE
q.id = d.questionnaire_id
AND q.type = #{type}
AND q.write_start_time &lt;= #{time}
AND q.write_end_time &gt;= #{time}
AND d.user_id = #{userId}
AND d.submit_status = 1
AND q.rec_status = 0
AND d.rec_status = 0
</select>
</mapper>
Loading…
Cancel
Save