小程序问卷字段新增

This commit is contained in:
zhangheng 2024-12-04 17:56:58 +08:00
parent 9c702e514d
commit cc338442dc
4 changed files with 25 additions and 18 deletions

View File

@ -628,6 +628,8 @@ public class AIOBServiceImpl implements IAIOBService {
patientQuestionOptionResults.add(patientQuestionOptionResult); patientQuestionOptionResults.add(patientQuestionOptionResult);
}); });
//判断问卷 满意项与异常项 //判断问卷 满意项与异常项
patientQuestionSubmitResult.setRemarkableFlag(ContentedAndRemarkableFlagEnum.ROUTINE.getInfo());
patientQuestionSubmitResult.setContentedFlag(ContentedAndRemarkableFlagEnum.CONTENTED.getInfo());
if (CollectionUtils.isNotEmpty(patientQuestionOptionResults)) { if (CollectionUtils.isNotEmpty(patientQuestionOptionResults)) {
List<PatientQuestionOptionResult> remarkableFlag = patientQuestionOptionResults.stream().filter(Objects::nonNull).filter(item -> org.apache.commons.lang3.StringUtils.isNotBlank(item.getRemarkableFlag()) && Objects.nonNull(item.getOptionChooseSign()) && item.getOptionChooseSign().equals(0) && ContentedAndRemarkableFlagEnum.REMARKABLE.getInfo().equals(item.getRemarkableFlag())).collect(Collectors.toList()); List<PatientQuestionOptionResult> remarkableFlag = patientQuestionOptionResults.stream().filter(Objects::nonNull).filter(item -> org.apache.commons.lang3.StringUtils.isNotBlank(item.getRemarkableFlag()) && Objects.nonNull(item.getOptionChooseSign()) && item.getOptionChooseSign().equals(0) && ContentedAndRemarkableFlagEnum.REMARKABLE.getInfo().equals(item.getRemarkableFlag())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(remarkableFlag)) { if (CollectionUtils.isNotEmpty(remarkableFlag)) {
@ -639,7 +641,6 @@ public class AIOBServiceImpl implements IAIOBService {
} }
} }
questionSubmitResultMapper.updatePatientQuestionSubmitResult(patientQuestionSubmitResult); questionSubmitResultMapper.updatePatientQuestionSubmitResult(patientQuestionSubmitResult);
patientQuestionOptionResultMapper.saveQuestionOptionList(patientQuestionOptionResults); patientQuestionOptionResultMapper.saveQuestionOptionList(patientQuestionOptionResults);
totalScore[0] = totalScore[0].add(questionSubjectVO.getQuestionScore() == null ? BigDecimal.ZERO : questionSubjectVO.getQuestionScore()); totalScore[0] = totalScore[0].add(questionSubjectVO.getQuestionScore() == null ? BigDecimal.ZERO : questionSubjectVO.getQuestionScore());
} else { } else {

View File

@ -51,13 +51,13 @@ public class PatientQuestionSubmitResultVO {
* 冗余:整个问卷中是否包含不满意项;DISCONTENTED:不满意;CONTENTED:满意;默认CONTENTED; * 冗余:整个问卷中是否包含不满意项;DISCONTENTED:不满意;CONTENTED:满意;默认CONTENTED;
* 2024/12/2 * 2024/12/2
*/ */
private String contentedFlag; private String submitContentedFlag;
/** /**
* 冗余:整个问卷中是否包含异常项;REMARKABLE:异常的;ROUTINE:正常的;默认ROUTINE * 冗余:整个问卷中是否包含异常项;REMARKABLE:异常的;ROUTINE:正常的;默认ROUTINE
* 2024/12/2 * 2024/12/2
*/ */
private String remarkableFlag; private String submitRemarkableFlag;
List<PatientQuestionSubjectResultVO> subjectResultList; List<PatientQuestionSubjectResultVO> subjectResultList;

View File

@ -41,8 +41,8 @@
<result property="questionnaireDescription" column="questionnaire_description"/> <result property="questionnaireDescription" column="questionnaire_description"/>
<result property="questionnaireTotalScore" column="questionnaire_total_score"/> <result property="questionnaireTotalScore" column="questionnaire_total_score"/>
<result property="totalScore" column="total_score"/> <result property="totalScore" column="total_score"/>
<result property="contentedFlag" column="contented_flag"/> <result property="submitContentedFlag" column="submitContentedFlag"/>
<result property="remarkableFlag" column="remarkable_flag"/> <result property="submitRemarkableFlag" column="submitRemarkableFlag"/>
<collection property="subjectResultList" javaType="java.util.List" <collection property="subjectResultList" javaType="java.util.List"
resultMap="PatientQuestionSubjectResultResult"/> resultMap="PatientQuestionSubjectResultResult"/>
</resultMap> </resultMap>
@ -417,8 +417,8 @@
pqsm.questionnaire_description, pqsm.questionnaire_description,
pqsm.questionnaire_total_score, pqsm.questionnaire_total_score,
pqsm.total_score, pqsm.total_score,
pqsm.contented_flag, pqsm.contented_flag submitContentedFlag,
pqsm.remarkable_flag, pqsm.remarkable_flag submitRemarkableFlag,
pqsj.id subjectResult, pqsj.id subjectResult,
pqsj.question_submit_result_id, pqsj.question_submit_result_id,
pqsj.question_info_id, pqsj.question_info_id,

View File

@ -4,11 +4,7 @@ import com.alibaba.fastjson2.JSONObject;
import com.xinelu.common.constant.TaskStatisticsTypeConstants; import com.xinelu.common.constant.TaskStatisticsTypeConstants;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.core.page.TableDataInfo; import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.common.enums.NodeExecuteStatusEnum; import com.xinelu.common.enums.*;
import com.xinelu.common.enums.QuestionTypeEnum;
import com.xinelu.common.enums.QuestionnaireStatusEnum;
import com.xinelu.common.enums.RouteNodeNameEnum;
import com.xinelu.common.enums.TaskContentEnum;
import com.xinelu.common.exception.ServiceException; import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.utils.PageServiceUtil; import com.xinelu.common.utils.PageServiceUtil;
import com.xinelu.common.utils.bean.BeanUtils; import com.xinelu.common.utils.bean.BeanUtils;
@ -59,12 +55,6 @@ import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/** /**
* 小程序首页ServiceImpl * 小程序首页ServiceImpl
@ -223,6 +213,20 @@ public class HomePageServiceImpl implements HomePageService {
patientQuestionSubmitResult.setManageRouteId(patientTaskExecuteRecord.getManageRouteId()); patientQuestionSubmitResult.setManageRouteId(patientTaskExecuteRecord.getManageRouteId());
patientQuestionSubmitResult.setManageRouteName(patientTaskExecuteRecord.getManageRouteName()); patientQuestionSubmitResult.setManageRouteName(patientTaskExecuteRecord.getManageRouteName());
patientQuestionSubmitResult.setCreateTime(time); patientQuestionSubmitResult.setCreateTime(time);
List<PatientQuestionOptionResultDTO> patientQuestionOptionResultsFlag = new ArrayList<>();
patientQuestionSubmitResult.setRemarkableFlag(ContentedAndRemarkableFlagEnum.ROUTINE.getInfo());
patientQuestionSubmitResult.setContentedFlag(ContentedAndRemarkableFlagEnum.CONTENTED.getInfo());
dto.getSubjectResultDTOList().forEach(item -> patientQuestionOptionResultsFlag.addAll(item.getOptionResultList()));
if (CollectionUtils.isNotEmpty(patientQuestionOptionResultsFlag)) {
List<PatientQuestionOptionResultDTO> remarkableFlag = patientQuestionOptionResultsFlag.stream().filter(Objects::nonNull).filter(item -> StringUtils.isNotBlank(item.getRemarkableFlag()) && Objects.nonNull(item.getOptionChooseSign()) && item.getOptionChooseSign().equals(0) && ContentedAndRemarkableFlagEnum.REMARKABLE.getInfo().equals(item.getRemarkableFlag())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(remarkableFlag)) {
patientQuestionSubmitResult.setRemarkableFlag(ContentedAndRemarkableFlagEnum.REMARKABLE.getInfo());
}
List<PatientQuestionOptionResultDTO> contentedFlag = patientQuestionOptionResultsFlag.stream().filter(Objects::nonNull).filter(item -> StringUtils.isNotBlank(item.getContentedFlag()) && Objects.nonNull(item.getOptionChooseSign()) && item.getOptionChooseSign().equals(0) && ContentedAndRemarkableFlagEnum.DISCONTENTED.getInfo().equals(item.getRemarkableFlag())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(contentedFlag)) {
patientQuestionSubmitResult.setContentedFlag(ContentedAndRemarkableFlagEnum.DISCONTENTED.getInfo());
}
}
// 新增患者问卷提交结果 // 新增患者问卷提交结果
if (patientQuestionSubmitResultMapper.insertPatientQuestionSubmitResult(patientQuestionSubmitResult) <= 0) { if (patientQuestionSubmitResultMapper.insertPatientQuestionSubmitResult(patientQuestionSubmitResult) <= 0) {
log.info("新增任务记录表失败"); log.info("新增任务记录表失败");
@ -239,6 +243,7 @@ public class HomePageServiceImpl implements HomePageService {
BeanUtils.copyBeanProp(saveQuestionSubject, questionSubjectResult); BeanUtils.copyBeanProp(saveQuestionSubject, questionSubjectResult);
saveQuestionSubject.setQuestionSubmitResultId(patientQuestionSubmitResult.getId()); saveQuestionSubject.setQuestionSubmitResultId(patientQuestionSubmitResult.getId());
saveQuestionSubject.setCreateTime(time); saveQuestionSubject.setCreateTime(time);
saveQuestionSubject.setQuestionSubjectId(questionSubjectResult.getId());
patientQuestionSubjectResults.add(saveQuestionSubject); patientQuestionSubjectResults.add(saveQuestionSubject);
if (CollectionUtils.isNotEmpty(questionSubjectResult.getOptionResultList())) { if (CollectionUtils.isNotEmpty(questionSubjectResult.getOptionResultList())) {
patientQuestionOptionResults.addAll(questionSubjectResult.getOptionResultList()); patientQuestionOptionResults.addAll(questionSubjectResult.getOptionResultList());
@ -261,6 +266,7 @@ public class HomePageServiceImpl implements HomePageService {
PatientQuestionSubjectResult patientQuestionSubjectResult = patientQuestionSubjectResults.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getQuestionNumber()) && patientQuestionOptionResult.getQuestionNumber().compareTo(item.getQuestionNumber()) == 0).findFirst().orElse(new PatientQuestionSubjectResult()); PatientQuestionSubjectResult patientQuestionSubjectResult = patientQuestionSubjectResults.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getQuestionNumber()) && patientQuestionOptionResult.getQuestionNumber().compareTo(item.getQuestionNumber()) == 0).findFirst().orElse(new PatientQuestionSubjectResult());
saveQuestionOption.setQuestionSubjectResultId(patientQuestionSubjectResult.getId()); saveQuestionOption.setQuestionSubjectResultId(patientQuestionSubjectResult.getId());
saveQuestionOption.setCreateTime(time); saveQuestionOption.setCreateTime(time);
saveQuestionOption.setQuestionSubjectOptionId(patientQuestionOptionResult.getId());
saveQuestionSubjectOptions.add(saveQuestionOption); saveQuestionSubjectOptions.add(saveQuestionOption);
} }
// 新增患者问卷题目选项提交结果 // 新增患者问卷题目选项提交结果