专病路径
This commit is contained in:
parent
b357b669cd
commit
193a3a6095
@ -110,7 +110,7 @@ public class QuestionInfoController extends BaseController {
|
||||
* 科室问卷数量
|
||||
*/
|
||||
@GetMapping("/departmentQuestionCount")
|
||||
public AjaxResult departmentQuestionCount(String departmentName) {
|
||||
return questionInfoService.departmentQuestionCount(departmentName);
|
||||
public AjaxResult departmentQuestionCount(String departmentName, String questionnaireStatus) {
|
||||
return questionInfoService.departmentQuestionCount(departmentName, questionnaireStatus);
|
||||
}
|
||||
}
|
||||
|
||||
@ -97,7 +97,7 @@ public class SignPatientManageRouteNode extends BaseEntity {
|
||||
|
||||
/** 电话内容(富文本存放整个节点的信息,包含标签画像的名称以及其它,标签画像名称使用特殊符号进行标记) */
|
||||
@ApiModelProperty(value = "电话内容")
|
||||
@Excel(name = "电话内容", readConverterExp = "富=文本存放整个节点的信息,包含标签画像的名称以及其它,标签画像名称使用特殊符号进行标记")
|
||||
@Excel(name = "电话内容", readConverterExp = "富文本存放整个节点的信息,包含标签画像的名称以及其它,标签画像名称使用特殊符号进行标记")
|
||||
private String phoneNodeContent;
|
||||
|
||||
/** 电话重拨次数,重拨一次:REDIAL_ONCE,重拨二次:REDIAL_TWICE,不重播:NOT_REPLAY */
|
||||
|
||||
@ -2,10 +2,10 @@ package com.xinelu.manage.mapper.questioninfo;
|
||||
|
||||
import com.xinelu.manage.domain.questioninfo.QuestionInfo;
|
||||
import com.xinelu.manage.vo.department.DepartmentVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* 问卷基本信息Mapper接口
|
||||
*
|
||||
@ -65,8 +65,9 @@ public interface QuestionInfoMapper {
|
||||
/**
|
||||
* 科室路径数量
|
||||
*
|
||||
* @param departmentName 科室名称
|
||||
* @param departmentName 科室名称
|
||||
* @param questionnaireStatus 问卷状态
|
||||
* @return DepartmentVO
|
||||
*/
|
||||
List<DepartmentVO> departmentQuestionByDepartmentName(String departmentName);
|
||||
List<DepartmentVO> departmentQuestionByDepartmentName(@Param("departmentName") String departmentName, @Param("questionnaireStatus") String questionnaireStatus);
|
||||
}
|
||||
|
||||
@ -1,17 +1,22 @@
|
||||
package com.xinelu.manage.service.patienttaskexecuterecord.impl;
|
||||
|
||||
import com.xinelu.common.core.domain.AjaxResult;
|
||||
import com.xinelu.common.enums.TaskContentEnum;
|
||||
import com.xinelu.common.utils.AgeUtil;
|
||||
import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord;
|
||||
import com.xinelu.manage.mapper.patientquestionsubmitresult.PatientQuestionSubmitResultMapper;
|
||||
import com.xinelu.manage.mapper.patienttaskexecuterecord.PatientTaskExecuteRecordMapper;
|
||||
import com.xinelu.manage.service.patienttaskexecuterecord.IPatientTaskExecuteRecordService;
|
||||
import com.xinelu.manage.service.propagandainfo.IPropagandaInfoService;
|
||||
import com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultVO;
|
||||
import com.xinelu.manage.vo.patienttaskexecuterecord.PatientTaskExecuteRecordVO;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* 患者管理任务执行记录Service业务层处理
|
||||
@ -25,6 +30,8 @@ public class PatientTaskExecuteRecordServiceImpl implements IPatientTaskExecuteR
|
||||
private PatientTaskExecuteRecordMapper patientTaskExecuteRecordMapper;
|
||||
@Resource
|
||||
private PatientQuestionSubmitResultMapper submitResultMapper;
|
||||
@Resource
|
||||
private IPropagandaInfoService iPropagandaInfoService;
|
||||
|
||||
/**
|
||||
* 查询患者管理任务执行记录
|
||||
@ -115,6 +122,29 @@ public class PatientTaskExecuteRecordServiceImpl implements IPatientTaskExecuteR
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult selectPatientQuestionSubmit(Long taskExecuteRecordId) {
|
||||
return AjaxResult.success(submitResultMapper.selectResultByTaskExecuteRecordId(taskExecuteRecordId));
|
||||
//判断任务类型
|
||||
PatientTaskExecuteRecord patientTaskExecuteRecord = patientTaskExecuteRecordMapper.selectPatientTaskExecuteRecordById(taskExecuteRecordId);
|
||||
if (Objects.isNull(patientTaskExecuteRecord) || StringUtils.isBlank(patientTaskExecuteRecord.getTaskContent())) {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
//如果是人工随访或问卷表
|
||||
if (TaskContentEnum.ARTIFICIAL_FOLLOW_UP.getInfo().equals(patientTaskExecuteRecord.getTaskContent()) || TaskContentEnum.QUESTIONNAIRE_SCALE.getInfo().equals(patientTaskExecuteRecord.getTaskContent())) {
|
||||
PatientQuestionSubmitResultVO patientQuestionSubmitResult = submitResultMapper.selectResultByTaskExecuteRecordId(taskExecuteRecordId);
|
||||
patientQuestionSubmitResult.setTaskContent(patientTaskExecuteRecord.getTaskContent());
|
||||
return AjaxResult.success(patientQuestionSubmitResult);
|
||||
}
|
||||
//如果是电话外呼
|
||||
if (TaskContentEnum.PHONE_OUTBOUND.getInfo().equals(patientTaskExecuteRecord.getTaskContent())) {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
//如果是宣教文章
|
||||
if (TaskContentEnum.PROPAGANDA_ARTICLE.getInfo().equals(patientTaskExecuteRecord.getTaskContent())) {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
if (TaskContentEnum.TEXT_REMIND.getInfo().equals(patientTaskExecuteRecord.getTaskContent())) {
|
||||
return AjaxResult.success();
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
}
|
||||
|
||||
@ -75,5 +75,5 @@ public interface IQuestionInfoService {
|
||||
* @param departmentName 科室名称
|
||||
* @return AjaxResult
|
||||
*/
|
||||
AjaxResult departmentQuestionCount(String departmentName);
|
||||
AjaxResult departmentQuestionCount(String departmentName, String questionnaireStatus);
|
||||
}
|
||||
|
||||
@ -288,12 +288,12 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService {
|
||||
* @return AjaxResult
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult departmentQuestionCount(String departmentName) {
|
||||
public AjaxResult departmentQuestionCount(String departmentName, String questionnaireStatus) {
|
||||
DepartmentVO departmentVO = new DepartmentVO();
|
||||
List<DepartmentVO> department = new ArrayList<>();
|
||||
departmentVO.setDepartmentName("全部");
|
||||
departmentVO.setCountNum(0);
|
||||
List<DepartmentVO> departmentVOS = questionInfoMapper.departmentQuestionByDepartmentName(departmentName);
|
||||
List<DepartmentVO> departmentVOS = questionInfoMapper.departmentQuestionByDepartmentName(departmentName, questionnaireStatus);
|
||||
if (CollectionUtils.isNotEmpty(departmentVOS)) {
|
||||
Integer result = departmentVOS.stream().mapToInt(DepartmentVO::getCountNum).sum();
|
||||
departmentVO.setCountNum(result);
|
||||
|
||||
@ -6,7 +6,6 @@ import com.xinelu.common.utils.SecurityUtils;
|
||||
import com.xinelu.common.utils.bean.BeanUtils;
|
||||
import com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode;
|
||||
import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute;
|
||||
import com.xinelu.manage.domain.specialdiseasetriggercondition.SpecialDiseaseTriggerCondition;
|
||||
import com.xinelu.manage.mapper.specialdiseasenode.SpecialDiseaseNodeMapper;
|
||||
import com.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper;
|
||||
import com.xinelu.manage.mapper.specialdiseasetriggercondition.SpecialDiseaseTriggerConditionMapper;
|
||||
@ -18,7 +17,6 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@ -86,17 +84,6 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
|
||||
if (insertNodeCount < 0) {
|
||||
throw new ServiceException("新增专病路径管理节点信息失败");
|
||||
}
|
||||
List<SpecialDiseaseTriggerCondition> specialDiseaseTriggerConditions = new ArrayList<>();
|
||||
for (SpecialDiseaseTriggerCondition triggerCondition : specialDiseaseNode.getTriggerConditionList()) {
|
||||
triggerCondition.setRouteId(specialDiseaseRoute.getId());
|
||||
triggerCondition.setCreateTime(LocalDateTime.now());
|
||||
triggerCondition.setCreateBy(SecurityUtils.getUsername());
|
||||
specialDiseaseTriggerConditions.add(triggerCondition);
|
||||
}
|
||||
int triggerConditionCount = triggerConditionMapper.insertTriggerConditionList(specialDiseaseTriggerConditions);
|
||||
if (triggerConditionCount < 0) {
|
||||
throw new ServiceException("新增专病路径管理节点信息失败");
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
@ -113,18 +100,20 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
|
||||
BeanUtils.copyBeanProp(specialDiseaseRoute, specialDiseaseNode);
|
||||
specialDiseaseRoute.setUpdateTime(LocalDateTime.now());
|
||||
specialDiseaseRoute.setUpdateBy(SecurityUtils.getUsername());
|
||||
specialDiseaseRoute.setId(specialDiseaseNode.getSpecialDiseaseRouteId());
|
||||
int updateRouteCount = specialDiseaseRouteMapper.updateSpecialDiseaseRoute(specialDiseaseRoute);
|
||||
if (updateRouteCount < 0) {
|
||||
log.info("修改专病路径失败");
|
||||
throw new ServiceException("修改专病路径管理节点信息失败");
|
||||
}
|
||||
int deleteCount = specialDiseaseNodeMapper.deleteSpecialDiseaseNodeByRouteId(specialDiseaseNode.getId());
|
||||
int deleteCount = specialDiseaseNodeMapper.deleteSpecialDiseaseNodeByRouteId(specialDiseaseRoute.getId());
|
||||
if (deleteCount < 0) {
|
||||
log.info("删除管理节点信息失败");
|
||||
throw new ServiceException("修改专病路径管理节点信息失败");
|
||||
}
|
||||
for (SpecialDiseaseNode diseaseNode : specialDiseaseNode.getSpecialDiseaseNodeList()) {
|
||||
diseaseNode.setRouteId(specialDiseaseRoute.getId());
|
||||
diseaseNode.setRouteName(specialDiseaseNode.getRouteName());
|
||||
diseaseNode.setUpdateTime(LocalDateTime.now());
|
||||
diseaseNode.setUpdateBy(SecurityUtils.getUsername());
|
||||
}
|
||||
@ -133,22 +122,6 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
|
||||
log.info("新增管理节点信息失败");
|
||||
throw new ServiceException("修改专病路径管理节点信息失败");
|
||||
}
|
||||
int deleteCondition = triggerConditionMapper.deleteSpecialDiseaseTriggerConditionByRouteId(specialDiseaseRoute.getId());
|
||||
if (deleteCondition < 0) {
|
||||
log.info("删除管理节点信息失败");
|
||||
throw new ServiceException("修改专病路径管理节点信息失败");
|
||||
}
|
||||
List<SpecialDiseaseTriggerCondition> specialDiseaseTriggerConditions = new ArrayList<>();
|
||||
for (SpecialDiseaseTriggerCondition triggerCondition : specialDiseaseNode.getTriggerConditionList()) {
|
||||
triggerCondition.setRouteId(specialDiseaseRoute.getId());
|
||||
triggerCondition.setCreateTime(LocalDateTime.now());
|
||||
triggerCondition.setCreateBy(SecurityUtils.getUsername());
|
||||
specialDiseaseTriggerConditions.add(triggerCondition);
|
||||
}
|
||||
int triggerConditionCount = triggerConditionMapper.insertTriggerConditionList(specialDiseaseTriggerConditions);
|
||||
if (triggerConditionCount < 0) {
|
||||
throw new ServiceException("修改专病路径管理节点信息失败");
|
||||
}
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
package com.xinelu.manage.vo.patientquestionsubmitresult;
|
||||
|
||||
|
||||
import com.xinelu.manage.vo.patientquestionsubjectresult.PatientQuestionSubjectResultVO;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
@ -17,6 +16,12 @@ import java.util.List;
|
||||
public class PatientQuestionSubmitResultVO {
|
||||
|
||||
private Long submitResulId;
|
||||
|
||||
/**
|
||||
* 任务类型
|
||||
*/
|
||||
private String taskContent;
|
||||
|
||||
/**
|
||||
* 问卷标题
|
||||
*/
|
||||
|
||||
@ -256,6 +256,9 @@
|
||||
<if test="departmentName != null and departmentName != ''">
|
||||
dt.department_name like concat('%',#{departmentName},'%')
|
||||
</if>
|
||||
<if test="questionnaireStatus != null and questionnaireStatus != ''">
|
||||
qi.questionnaire_status =#{questionnaireStatus}
|
||||
</if>
|
||||
</where>
|
||||
GROUP BY dt.id
|
||||
</select>
|
||||
|
||||
@ -20,8 +20,6 @@
|
||||
<result property="routeRemark" column="route_remark"/>
|
||||
<collection property="specialDiseaseNodeList" javaType="java.util.List"
|
||||
resultMap="SpecialDiseaseNodeResult"/>
|
||||
<collection property="triggerConditionList" javaType="java.util.List"
|
||||
resultMap="SpecialDiseaseTriggerConditionResult"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="SpecialDiseaseNode" id="SpecialDiseaseNodeResult">
|
||||
@ -72,19 +70,6 @@
|
||||
<result property="updateBy" column="update_by"/>
|
||||
<result property="updateTime" column="update_time"/>
|
||||
</resultMap>
|
||||
|
||||
<resultMap type="SpecialDiseaseTriggerCondition" id="SpecialDiseaseTriggerConditionResult">
|
||||
<result property="id" column="triggerConditionId"/>
|
||||
<result property="routeId" column="route_id"/>
|
||||
<result property="routeName" column="route_name"/>
|
||||
<result property="triggerConditionCode" column="trigger_condition_code"/>
|
||||
<result property="triggerConditionName" column="trigger_condition_name"/>
|
||||
<result property="triggerConditionOperator" column="trigger_condition_operator"/>
|
||||
<result property="triggerConditionValue" column="trigger_condition_value"/>
|
||||
<result property="triggerConditionSort" column="trigger_condition_sort"/>
|
||||
<result property="triggerConditionRemark" column="trigger_condition_remark"/>
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectSpecialDiseaseNodeVo">
|
||||
select id,
|
||||
route_id,
|
||||
@ -716,7 +701,7 @@
|
||||
</delete>
|
||||
|
||||
<select id="selectSpecialDiseaseByRouteId"
|
||||
resultType="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO"
|
||||
|
||||
resultMap="SpecialDiseaseRouteResult">
|
||||
select sdr.id specialDiseaseRouteId,
|
||||
sdr.department_id,
|
||||
@ -770,25 +755,9 @@
|
||||
sdn.route_check_person,
|
||||
sdn.route_check_date,
|
||||
sdn.route_check_remark,
|
||||
sdn.node_content,
|
||||
sdtc.id triggerConditionId,
|
||||
sdtc.route_id,
|
||||
sdtc.route_name,
|
||||
sdtc.trigger_condition_code,
|
||||
sdtc.trigger_condition_name,
|
||||
sdtc.trigger_condition_operator,
|
||||
sdtc.trigger_condition_value,
|
||||
sdtc.trigger_condition_sort,
|
||||
sdtc.trigger_condition_remark
|
||||
sdn.node_content
|
||||
from special_disease_route sdr
|
||||
left join special_disease_node sdn ON sdn.route_id = sdr.id
|
||||
LEFT JOIN special_disease_trigger_condition sdtc ON sdtc.route_id = sdr.id
|
||||
where sdr.id = #{specialDiseaseRouteId}
|
||||
</select>
|
||||
|
||||
<delete id="deleteSpecialDiseaseNodeRouteId">
|
||||
|
||||
</delete>
|
||||
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue
Block a user