问卷新增字段

This commit is contained in:
zhangheng 2024-12-04 15:59:18 +08:00
parent efde030176
commit 4c44424fbf
16 changed files with 192 additions and 83 deletions

View File

@ -166,4 +166,6 @@ public class PatientPreHospitalization extends BaseEntity {
@ApiModelProperty("删除标识0未删除1已删除") @ApiModelProperty("删除标识0未删除1已删除")
private Integer delFlag; private Integer delFlag;
@ApiModelProperty(value = "年龄")
private Integer age;
} }

View File

@ -118,7 +118,7 @@ public class PatientQuestionOptionResult extends BaseEntity {
* 问卷题目选项表的ID * 问卷题目选项表的ID
* 2024/12/2 * 2024/12/2
*/ */
private String questionSubjectOptionId; private Long questionSubjectOptionId;
@Override @Override
public String toString() { public String toString() {

View File

@ -143,7 +143,7 @@ public class PatientQuestionSubjectResult extends BaseEntity {
* 问卷题目选项表的ID * 问卷题目选项表的ID
* 2024/12/2 * 2024/12/2
*/ */
private String questionSubjectOptionId; private Long questionSubjectId;
@Override @Override
public String toString() { public String toString() {

View File

@ -7,18 +7,9 @@ import com.alibaba.fastjson2.JSONObject;
import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.exceptions.ClientException;
import com.xinelu.common.config.AliYunSmsTwoConfig; import com.xinelu.common.config.AliYunSmsTwoConfig;
import com.xinelu.common.config.SystemBusinessConfig; import com.xinelu.common.config.SystemBusinessConfig;
import com.xinelu.common.constant.AiobTaskTypeContant; import com.xinelu.common.constant.*;
import com.xinelu.common.constant.Constants;
import com.xinelu.common.constant.PhoneMessageRemindConstants;
import com.xinelu.common.constant.TaskCreateTypeConstant;
import com.xinelu.common.constant.TaskStatisticsTypeConstants;
import com.xinelu.common.core.redis.RedisCache; import com.xinelu.common.core.redis.RedisCache;
import com.xinelu.common.enums.ErrorStatusEnum; import com.xinelu.common.enums.*;
import com.xinelu.common.enums.NodeExecuteResultStatusEnum;
import com.xinelu.common.enums.NodeExecuteStatusEnum;
import com.xinelu.common.enums.PhoneDialMethodEnum;
import com.xinelu.common.enums.PhoneRedialTimesEnum;
import com.xinelu.common.enums.TaskNodeTypeEnum;
import com.xinelu.common.exception.ServiceException; import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.utils.StringUtils; import com.xinelu.common.utils.StringUtils;
import com.xinelu.manage.domain.patientinfo.PatientInfo; import com.xinelu.manage.domain.patientinfo.PatientInfo;
@ -36,12 +27,7 @@ import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode; import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
import com.xinelu.manage.domain.signpatientrecord.SignPatientRecord; import com.xinelu.manage.domain.signpatientrecord.SignPatientRecord;
import com.xinelu.manage.domain.textmessage.TextMessage; import com.xinelu.manage.domain.textmessage.TextMessage;
import com.xinelu.manage.dto.aiob.ActualTimeTaskDto; import com.xinelu.manage.dto.aiob.*;
import com.xinelu.manage.dto.aiob.AiobRecord;
import com.xinelu.manage.dto.aiob.CreateTaskDto;
import com.xinelu.manage.dto.aiob.CustomerInfoDto;
import com.xinelu.manage.dto.aiob.ImportTaskDto;
import com.xinelu.manage.dto.aiob.TaskCallbackDataDto;
import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO; import com.xinelu.manage.dto.patientquestionsubmitresult.PatientQuestionSubmitResultDTO;
import com.xinelu.manage.dto.smssend.SmsInfoDTO; import com.xinelu.manage.dto.smssend.SmsInfoDTO;
import com.xinelu.manage.mapper.labelfieldcontent.LabelFieldContentMapper; import com.xinelu.manage.mapper.labelfieldcontent.LabelFieldContentMapper;
@ -68,41 +54,29 @@ import com.xinelu.manage.service.signpatientmanageroutenode.ISignPatientManageRo
import com.xinelu.manage.vo.aiob.ImportTaskVo; import com.xinelu.manage.vo.aiob.ImportTaskVo;
import com.xinelu.manage.vo.labelfieldcontent.LabelFieldInfoContentVo; import com.xinelu.manage.vo.labelfieldcontent.LabelFieldInfoContentVo;
import com.xinelu.manage.vo.questionsubject.QuestionSubjectVO; import com.xinelu.manage.vo.questionsubject.QuestionSubjectVO;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.URL;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod; import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType; import org.springframework.http.*;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate; import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import java.io.*;
import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.URL;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/** /**
* @description: 百度客悦·智能外呼平台Service实现 * @description: 百度客悦·智能外呼平台Service实现
* @author: haown * @author: haown
@ -653,6 +627,19 @@ public class AIOBServiceImpl implements IAIOBService {
patientQuestionOptionResult.setQuestionSubjectResultId(patientQuestionSubjectResult.getId()); patientQuestionOptionResult.setQuestionSubjectResultId(patientQuestionSubjectResult.getId());
patientQuestionOptionResults.add(patientQuestionOptionResult); patientQuestionOptionResults.add(patientQuestionOptionResult);
}); });
//判断问卷 满意项与异常项
if (CollectionUtils.isNotEmpty(patientQuestionOptionResults)) {
List<PatientQuestionOptionResult> remarkableFlag = patientQuestionOptionResults.stream().filter(Objects::nonNull).filter(item -> org.apache.commons.lang3.StringUtils.isBlank(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<PatientQuestionOptionResult> contentedFlag = patientQuestionOptionResults.stream().filter(Objects::nonNull).filter(item -> org.apache.commons.lang3.StringUtils.isBlank(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());
}
}
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

@ -10,11 +10,7 @@ import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile; import com.aliyuncs.profile.IClientProfile;
import com.xinelu.common.annotation.DataScope; import com.xinelu.common.annotation.DataScope;
import com.xinelu.common.config.AliYunSmsTwoConfig; import com.xinelu.common.config.AliYunSmsTwoConfig;
import com.xinelu.common.constant.TaskContentConstants; import com.xinelu.common.constant.*;
import com.xinelu.common.constant.TaskCreateTypeConstant;
import com.xinelu.common.constant.TaskNodeTypeConstants;
import com.xinelu.common.constant.TaskStatisticsTypeConstants;
import com.xinelu.common.constant.TemplateTypeConstants;
import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.enums.*; import com.xinelu.common.enums.*;
import com.xinelu.common.exception.ServiceException; import com.xinelu.common.exception.ServiceException;
@ -78,17 +74,6 @@ import com.xinelu.manage.vo.specialdiseasenode.RouteTaskAuditVo;
import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeAuditVo; import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeAuditVo;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseChildRouteAuditVo; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseChildRouteAuditVo;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteAuditVo; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteAuditVo;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.ObjectUtils;
@ -97,6 +82,13 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
/** /**
* 签约患者管理任务路径Service业务层处理 * 签约患者管理任务路径Service业务层处理
@ -434,15 +426,23 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
Long taskExecuteRecordId = insertPatientTaskExecuteRecord(dto, routeHandlePerson, time); Long taskExecuteRecordId = insertPatientTaskExecuteRecord(dto, routeHandlePerson, time);
PatientQuestionSubmitResult patientQuestionSubmitResult = new PatientQuestionSubmitResult(); PatientQuestionSubmitResult patientQuestionSubmitResult = new PatientQuestionSubmitResult();
BeanUtils.copyBeanProp(patientQuestionSubmitResult, dto); BeanUtils.copyBeanProp(patientQuestionSubmitResult, dto);
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.isBlank(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.isBlank(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());
}
}
patientQuestionSubmitResult.setCreateBy(routeHandlePerson); patientQuestionSubmitResult.setCreateBy(routeHandlePerson);
patientQuestionSubmitResult.setCreateTime(time); patientQuestionSubmitResult.setCreateTime(time);
patientQuestionSubmitResult.setTaskExecuteRecordId(taskExecuteRecordId); patientQuestionSubmitResult.setTaskExecuteRecordId(taskExecuteRecordId);
if (StringUtils.isBlank(dto.getContentedFlag())){
patientQuestionSubmitResult.setContentedFlag(ContentedAndRemarkableFlagEnum.CONTENTED.getInfo());
}
if (StringUtils.isBlank(dto.getRemarkableFlag())){
patientQuestionSubmitResult.setRemarkableFlag(ContentedAndRemarkableFlagEnum.ROUTINE.getInfo());
}
// 新增患者问卷提交结果 // 新增患者问卷提交结果
if (patientQuestionSubmitResultMapper.insertPatientQuestionSubmitResult(patientQuestionSubmitResult) <= 0) { if (patientQuestionSubmitResultMapper.insertPatientQuestionSubmitResult(patientQuestionSubmitResult) <= 0) {
throw new ServiceException("新增患者问卷提交结果失败"); throw new ServiceException("新增患者问卷提交结果失败");
@ -459,6 +459,7 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
saveQuestionSubject.setQuestionSubmitResultId(patientQuestionSubmitResult.getId()); saveQuestionSubject.setQuestionSubmitResultId(patientQuestionSubmitResult.getId());
saveQuestionSubject.setCreateBy(routeHandlePerson); saveQuestionSubject.setCreateBy(routeHandlePerson);
saveQuestionSubject.setCreateTime(time); saveQuestionSubject.setCreateTime(time);
saveQuestionSubject.setQuestionSubjectId(questionSubjectResult.getId());
patientQuestionSubjectResults.add(saveQuestionSubject); patientQuestionSubjectResults.add(saveQuestionSubject);
patientQuestionOptionResults.addAll(questionSubjectResult.getOptionResultList()); patientQuestionOptionResults.addAll(questionSubjectResult.getOptionResultList());
} }
@ -476,12 +477,14 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
saveQuestionOption.setQuestionSubjectResultId(patientQuestionSubjectResult.getId()); saveQuestionOption.setQuestionSubjectResultId(patientQuestionSubjectResult.getId());
saveQuestionOption.setCreateTime(time); saveQuestionOption.setCreateTime(time);
saveQuestionOption.setCreateBy(routeHandlePerson); saveQuestionOption.setCreateBy(routeHandlePerson);
if (StringUtils.isBlank(patientQuestionOptionResult.getContentedFlag())){ //2024-12-4
if (StringUtils.isBlank(patientQuestionOptionResult.getContentedFlag())) {
saveQuestionOption.setContentedFlag(ContentedAndRemarkableFlagEnum.CONTENTED.getInfo()); saveQuestionOption.setContentedFlag(ContentedAndRemarkableFlagEnum.CONTENTED.getInfo());
} }
if (StringUtils.isBlank(patientQuestionOptionResult.getRemarkableFlag())){ if (StringUtils.isBlank(patientQuestionOptionResult.getRemarkableFlag())) {
saveQuestionOption.setRemarkableFlag(ContentedAndRemarkableFlagEnum.ROUTINE.getInfo()); saveQuestionOption.setRemarkableFlag(ContentedAndRemarkableFlagEnum.ROUTINE.getInfo());
} }
saveQuestionOption.setQuestionSubjectOptionId(patientQuestionOptionResult.getId());
saveQuestionSubjectOptions.add(saveQuestionOption); saveQuestionSubjectOptions.add(saveQuestionOption);
} }
// 新增患者问卷题目选项提交结果 // 新增患者问卷题目选项提交结果

View File

@ -67,4 +67,7 @@ public class PatientPortaitVo {
@ApiModelProperty("复诊信息") @ApiModelProperty("复诊信息")
private List<JSONObject> consultationInfo; private List<JSONObject> consultationInfo;
@ApiModelProperty(value = "年龄")
private Integer age;
} }

View File

@ -47,6 +47,18 @@ public class PatientQuestionSubmitResultVO {
@ApiModelProperty(value = "问卷总得分,根据患者提交问卷得出的分值") @ApiModelProperty(value = "问卷总得分,根据患者提交问卷得出的分值")
private BigDecimal totalScore; private BigDecimal totalScore;
/**
* 冗余:整个问卷中是否包含不满意项;DISCONTENTED:不满意;CONTENTED:满意;默认CONTENTED;
* 2024/12/2
*/
private String contentedFlag;
/**
* 冗余:整个问卷中是否包含异常项;REMARKABLE:异常的;ROUTINE:正常的;默认ROUTINE
* 2024/12/2
*/
private String remarkableFlag;
List<PatientQuestionSubjectResultVO> subjectResultList; List<PatientQuestionSubjectResultVO> subjectResultList;
} }

View File

@ -90,4 +90,7 @@ public class SatisfactionSurveyVO {
*/ */
@ApiModelProperty(value = "所属科室名称") @ApiModelProperty(value = "所属科室名称")
private String departmentName; private String departmentName;
@ApiModelProperty(value = "年龄")
private Integer age;
} }

View File

@ -183,4 +183,7 @@ public class PatientVisitRecordVo {
@ApiModelProperty(value = "画像审核时间") @ApiModelProperty(value = "画像审核时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm") @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
private LocalDateTime portaitCheckDate; private LocalDateTime portaitCheckDate;
@ApiModelProperty(value = "年龄")
private Integer age;
} }

View File

@ -212,4 +212,7 @@ public class SignPatientListVo {
@ApiModelProperty(value = "服务周期单位") @ApiModelProperty(value = "服务周期单位")
private String packageTermUnit; private String packageTermUnit;
@ApiModelProperty(value = "年龄")
private Integer age;
} }

View File

@ -290,7 +290,7 @@
select select
p.id,p.patient_id,patient.patient_name, p.id,p.patient_id,patient.patient_name,
patient.patient_phone,patient.card_no,patient.sex, patient.patient_phone,patient.card_no,patient.sex,
patient.birth_date,patient.family_member_phone,patient.address, patient.birth_date,patient.family_member_phone,patient.address,patient.age,
p.main_diagnosis,p.hospital_agency_id,p.hospital_agency_name, p.main_diagnosis,p.hospital_agency_id,p.hospital_agency_name,
p.campus_agency_id,p.campus_agency_name, p.campus_agency_id,p.campus_agency_name,
p.department_id,p.department_name,p.ward_id,p.ward_name, p.department_id,p.department_name,p.ward_id,p.ward_name,

View File

@ -20,6 +20,9 @@
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/> <result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
<result property="contentedFlag" column="contented_flag"/>
<result property="remarkableFlag" column="remarkable_flag"/>
<result property="questionSubjectOptionId" column="question_subject_option_id"/>
</resultMap> </resultMap>
<sql id="selectPatientQuestionOptionResultVo"> <sql id="selectPatientQuestionOptionResultVo">
@ -37,7 +40,10 @@
create_by, create_by,
create_time, create_time,
update_by, update_by,
update_time update_time,
contented_flag,
remarkable_flag,
question_subject_option_id
from patient_question_option_result from patient_question_option_result
</sql> </sql>
@ -75,6 +81,15 @@
<if test="optionRemark != null and optionRemark != ''"> <if test="optionRemark != null and optionRemark != ''">
and option_remark = #{optionRemark} and option_remark = #{optionRemark}
</if> </if>
<if test="contentedFlag != null and contentedFlag != ''">
and contented_flag = #{contentedFlag}
</if>
<if test="remarkableFlag != null and remarkableFlag != ''">
and remarkable_flag = #{remarkableFlag}
</if>
<if test="questionSubjectOptionId != null and questionSubjectOptionId != ''">
and question_subject_option_id = #{questionSubjectOptionId}
</if>
</where> </where>
</select> </select>
@ -116,6 +131,12 @@
</if> </if>
<if test="updateTime != null">update_time, <if test="updateTime != null">update_time,
</if> </if>
<if test="contentedFlag != null">contented_flag,
</if>
<if test="remarkableFlag != null">remarkable_flag,
</if>
<if test="questionSubjectOptionId != null">question_subject_option_id,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="questionSubjectResultId != null">#{questionSubjectResultId}, <if test="questionSubjectResultId != null">#{questionSubjectResultId},
@ -146,6 +167,12 @@
</if> </if>
<if test="updateTime != null">#{updateTime}, <if test="updateTime != null">#{updateTime},
</if> </if>
<if test="contentedFlag != null">#{contentedFlag},
</if>
<if test="remarkableFlag != null">#{remarkableFlag},
</if>
<if test="questionSubjectOptionId != null">#{questionSubjectOptionId},
</if>
</trim> </trim>
</insert> </insert>
@ -162,7 +189,10 @@
option_sort, option_sort,
option_remark, option_remark,
create_by, create_by,
create_time create_time,
contented_flag,
remarkable_flag,
question_subject_option_id
) values ) values
<foreach item="QuestionSubjectOption" index="index" collection="list" separator=","> <foreach item="QuestionSubjectOption" index="index" collection="list" separator=",">
( (
@ -177,7 +207,10 @@
#{QuestionSubjectOption.optionSort}, #{QuestionSubjectOption.optionSort},
#{QuestionSubjectOption.optionRemark}, #{QuestionSubjectOption.optionRemark},
#{QuestionSubjectOption.createBy}, #{QuestionSubjectOption.createBy},
#{QuestionSubjectOption.createTime} #{QuestionSubjectOption.createTime},
#{QuestionSubjectOption.contentedFlag},
#{QuestionSubjectOption.remarkableFlag},
#{QuestionSubjectOption.questionSubjectOptionId}
) )
</foreach> </foreach>
</insert> </insert>
@ -227,6 +260,15 @@
<if test="updateTime != null">update_time = <if test="updateTime != null">update_time =
#{updateTime}, #{updateTime},
</if> </if>
<if test="contentedFlag != null">contented_flag =
#{contentedFlag},
</if>
<if test="remarkableFlag != null">remarkable_flag =
#{remarkableFlag},
</if>
<if test="questionSubjectOptionId != null">question_subject_option_id =
#{questionSubjectOptionId},
</if>
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>

View File

@ -25,6 +25,7 @@
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/> <result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
<result property="questionSubjectId" column="question_subject_id"/>
</resultMap> </resultMap>
<sql id="selectPatientQuestionSubjectResultVo"> <sql id="selectPatientQuestionSubjectResultVo">
@ -47,7 +48,8 @@
create_by, create_by,
create_time, create_time,
update_by, update_by,
update_time update_time,
question_subject_id
from patient_question_subject_result from patient_question_subject_result
</sql> </sql>
@ -100,6 +102,9 @@
<if test="questionRemark != null and questionRemark != ''"> <if test="questionRemark != null and questionRemark != ''">
and question_remark = #{questionRemark} and question_remark = #{questionRemark}
</if> </if>
<if test="questionSubjectId != null and questionSubjectId != ''">
and question_subject_id = #{questionSubjectId}
</if>
</where> </where>
</select> </select>
@ -151,6 +156,8 @@
</if> </if>
<if test="updateTime != null">update_time, <if test="updateTime != null">update_time,
</if> </if>
<if test="questionSubjectId != null">question_subject_id,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="questionSubmitResultId != null">#{questionSubmitResultId}, <if test="questionSubmitResultId != null">#{questionSubmitResultId},
@ -191,6 +198,8 @@
</if> </if>
<if test="updateTime != null">#{updateTime}, <if test="updateTime != null">#{updateTime},
</if> </if>
<if test="questionSubjectId != null">#{questionSubjectId},
</if>
</trim> </trim>
</insert> </insert>
@ -213,7 +222,8 @@
question_sort, question_sort,
question_remark, question_remark,
create_by, create_by,
create_time create_time,
question_subject_id
) values ) values
<foreach item="QuestionSubject" index="index" collection="list" separator=","> <foreach item="QuestionSubject" index="index" collection="list" separator=",">
( (
@ -233,7 +243,8 @@
#{QuestionSubject.questionSort}, #{QuestionSubject.questionSort},
#{QuestionSubject.questionRemark}, #{QuestionSubject.questionRemark},
#{QuestionSubject.createBy}, #{QuestionSubject.createBy},
#{QuestionSubject.createTime} #{QuestionSubject.createTime},
#{QuestionSubject.questionSubjectId}
) )
</foreach> </foreach>
</insert> </insert>
@ -298,6 +309,9 @@
<if test="updateTime != null">update_time = <if test="updateTime != null">update_time =
#{updateTime}, #{updateTime},
</if> </if>
<if test="questionSubjectId != null">question_subject_id =
#{questionSubjectId},
</if>
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>

View File

@ -30,6 +30,8 @@
<result property="createTime" column="create_time"/> <result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/> <result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
<result property="contentedFlag" column="contented_flag"/>
<result property="remarkableFlag" column="remarkable_flag"/>
</resultMap> </resultMap>
<resultMap type="com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultVO" <resultMap type="com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultVO"
@ -39,6 +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="remarkableFlag" column="remarkable_flag"/>
<collection property="subjectResultList" javaType="java.util.List" <collection property="subjectResultList" javaType="java.util.List"
resultMap="PatientQuestionSubjectResultResult"/> resultMap="PatientQuestionSubjectResultResult"/>
</resultMap> </resultMap>
@ -60,6 +64,7 @@
<result property="questionScore" column="question_score"/> <result property="questionScore" column="question_score"/>
<result property="questionSort" column="question_sort"/> <result property="questionSort" column="question_sort"/>
<result property="questionRemark" column="question_remark"/> <result property="questionRemark" column="question_remark"/>
<result property="questionSubjectId" column="question_subject_id"/>
<collection property="optionResults" javaType="java.util.List" <collection property="optionResults" javaType="java.util.List"
resultMap="PatientQuestionOptionResultResult"/> resultMap="PatientQuestionOptionResultResult"/>
</resultMap> </resultMap>
@ -76,6 +81,9 @@
<result property="optionSubmitAnswer" column="option_submit_answer"/> <result property="optionSubmitAnswer" column="option_submit_answer"/>
<result property="optionSort" column="option_sort"/> <result property="optionSort" column="option_sort"/>
<result property="optionRemark" column="option_remark"/> <result property="optionRemark" column="option_remark"/>
<result property="contentedFlag" column="contented_flag"/>
<result property="remarkableFlag" column="remarkable_flag"/>
<result property="questionSubjectOptionId" column="question_subject_option_id"/>
</resultMap> </resultMap>
<sql id="selectPatientQuestionSubmitResultVo"> <sql id="selectPatientQuestionSubmitResultVo">
@ -103,7 +111,9 @@
create_by, create_by,
create_time, create_time,
update_by, update_by,
update_time update_time,
contented_flag,
remarkable_flag
from patient_question_submit_result from patient_question_submit_result
</sql> </sql>
@ -168,6 +178,12 @@
<if test="totalScore != null "> <if test="totalScore != null ">
and total_score = #{totalScore} and total_score = #{totalScore}
</if> </if>
<if test="contentedFlag != null ">
and contented_flag = #{contentedFlag}
</if>
<if test="remarkableFlag != null ">
and remarkable_flag = #{remarkableFlag}
</if>
</where> </where>
</select> </select>
@ -231,6 +247,10 @@
</if> </if>
<if test="updateTime != null">update_time, <if test="updateTime != null">update_time,
</if> </if>
<if test="contentedFlag != null">contented_flag,
</if>
<if test="remarkableFlag != null">remarkable_flag,
</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="taskExecuteRecordId != null">#{taskExecuteRecordId}, <if test="taskExecuteRecordId != null">#{taskExecuteRecordId},
@ -283,6 +303,10 @@
</if> </if>
<if test="updateTime != null">#{updateTime}, <if test="updateTime != null">#{updateTime},
</if> </if>
<if test="contentedFlag != null">#{contentedFlag},
</if>
<if test="remarkableFlag != null">#{remarkableFlag},
</if>
</trim> </trim>
</insert> </insert>
@ -361,6 +385,12 @@
<if test="updateTime != null">update_time = <if test="updateTime != null">update_time =
#{updateTime}, #{updateTime},
</if> </if>
<if test="contentedFlag != null">contented_flag =
#{contentedFlag},
</if>
<if test="remarkableFlag != null">remarkable_flag =
#{remarkableFlag},
</if>
</trim> </trim>
where id = #{id} where id = #{id}
</update> </update>
@ -387,6 +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.remarkable_flag,
pqsj.id subjectResult, pqsj.id subjectResult,
pqsj.question_submit_result_id, pqsj.question_submit_result_id,
pqsj.question_info_id, pqsj.question_info_id,
@ -403,6 +435,7 @@
pqsj.question_score, pqsj.question_score,
pqsj.question_sort, pqsj.question_sort,
pqsj.question_remark, pqsj.question_remark,
pqsj.question_subject_id,
pqor.id, pqor.id,
pqor.question_subject_result_id, pqor.question_subject_result_id,
pqor.questionnaire_subject_id, pqor.questionnaire_subject_id,
@ -413,7 +446,10 @@
pqor.option_choose_sign, pqor.option_choose_sign,
pqor.option_submit_answer, pqor.option_submit_answer,
pqor.option_sort, pqor.option_sort,
pqor.option_remark pqor.option_remark,
pqor.contented_flag,
pqor.remarkable_flag,
pqor.question_subject_option_id
FROM patient_question_submit_result pqsm FROM patient_question_submit_result pqsm
LEFT JOIN patient_question_subject_result pqsj ON pqsm.id = pqsj.question_submit_result_id LEFT JOIN patient_question_subject_result pqsj ON pqsm.id = pqsj.question_submit_result_id
LEFT JOIN patient_question_option_result pqor ON pqor.question_subject_result_id = pqsj.id LEFT JOIN patient_question_option_result pqor ON pqor.question_subject_result_id = pqsj.id
@ -440,7 +476,8 @@
pi.visit_method, pi.visit_method,
pi.patient_health_state, pi.patient_health_state,
pi.hospital_agency_name, pi.hospital_agency_name,
pi.department_name pi.department_name,
pi.age
from patient_question_submit_result pqsr from patient_question_submit_result pqsr
LEFT JOIN question_info qi on pqsr.question_info_id = qi.id LEFT JOIN question_info qi on pqsr.question_info_id = qi.id
LEFT JOIN patient_info pi ON pi.id = pqsr.patient_id LEFT JOIN patient_info pi ON pi.id = pqsr.patient_id

View File

@ -102,7 +102,7 @@
select patient.id as patientId, patient.resident_id, patient.patient_name, patient.patient_phone, patient.family_member_phone, select patient.id as patientId, patient.resident_id, patient.patient_name, patient.patient_phone, patient.family_member_phone,
patient.birth_date, patient.card_no, patient.sex, patient.address, patient.visit_method, patient.birth_date, patient.card_no, patient.sex, patient.address, patient.visit_method,
patient.hospital_agency_id, patient.hospital_agency_name, patient.campus_agency_id, patient.campus_agency_name, patient.hospital_agency_id, patient.hospital_agency_name, patient.campus_agency_id, patient.campus_agency_name,
patient.department_id, patient.department_name, patient.ward_id, patient.ward_name, patient.patient_source, patient.department_id, patient.department_name, patient.ward_id, patient.ward_name, patient.patient_source,patient.age,
record.id as patientVisitRecordId, record.visit_method, record.visit_date, record.main_diagnosis, record.id as patientVisitRecordId, record.visit_method, record.visit_date, record.main_diagnosis,
record.admission_time, record.discharge_time, record.in_hospital_info, record.out_hospital_info, record.surgical_name, record.surgical_record, record.admission_time, record.discharge_time, record.in_hospital_info, record.out_hospital_info, record.surgical_name, record.surgical_record,
sign.portait_check_status, sign.portait_check_date sign.portait_check_status, sign.portait_check_date

View File

@ -389,7 +389,7 @@
</update> </update>
<select id="selectList" parameterType="com.xinelu.manage.dto.signpatientrecord.SignPatientListDto" resultType="com.xinelu.manage.vo.signpatientrecord.SignPatientListVo"> <select id="selectList" parameterType="com.xinelu.manage.dto.signpatientrecord.SignPatientListDto" resultType="com.xinelu.manage.vo.signpatientrecord.SignPatientListVo">
select select
patient.service_status,patient.sign_status, patient.service_status,patient.sign_status,patient.age,
sign.id,sign.patient_id,sign.patient_name, sign.id,sign.patient_id,sign.patient_name,
sign.patient_phone,sign.card_no,sign.sex,sign.birth_date, sign.sign_time, sign.patient_phone,sign.card_no,sign.sex,sign.birth_date, sign.sign_time,
sign.hospital_agency_id,sign.hospital_agency_name, sign.hospital_agency_id,sign.hospital_agency_name,