Merge branch '3.11_院后第二增量' of http://182.92.166.109:3000/jihan/PostDischargePatientManage into 3.11_院后第二增量

This commit is contained in:
haown 2024-03-29 17:31:53 +08:00
commit 1a99ff2754
29 changed files with 342 additions and 143 deletions

View File

@ -84,4 +84,12 @@ public class PatientTaskExecuteRecordController extends BaseController {
public AjaxResult selectVisitRecord(Long id) {
return patientTaskExecuteRecordService.selectVisitRecord(id);
}
/**
* 根据任务执行记录查询患者问卷信息
*/
@GetMapping("/selectPatientQuestionSubmit")
public AjaxResult selectPatientQuestionSubmit(Long taskExecuteRecordId) {
return patientTaskExecuteRecordService.selectPatientQuestionSubmit(taskExecuteRecordId);
}
}

View File

@ -105,4 +105,12 @@ public class QuestionInfoController extends BaseController {
public AjaxResult updateQuestionByDepartment(@RequestBody QuestionInfo questionInfo) {
return questionInfoService.updateQuestionByDepartment(questionInfo);
}
/**
* 科室问卷数量
*/
@GetMapping("/departmentQuestionCount")
public AjaxResult departmentQuestionCount(String departmentName) {
return questionInfoService.departmentQuestionCount(departmentName);
}
}

View File

@ -7,8 +7,8 @@ import com.xinelu.common.core.page.TableDataInfo;
import com.xinelu.common.enums.BusinessType;
import com.xinelu.common.utils.poi.ExcelUtil;
import com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode;
import com.xinelu.manage.dto.specialdiseasenode.SpecialDiseaseNodeDTO;
import com.xinelu.manage.service.specialdiseasenode.ISpecialDiseaseNodeService;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@ -66,7 +66,7 @@ public class SpecialDiseaseNodeController extends BaseController {
@PreAuthorize("@ss.hasPermi('system:specialDiseaseNode:add')")
@Log(title = "专病路径-管理节点信息", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody SpecialDiseaseNodeDTO specialDiseaseNode) {
public AjaxResult add(@RequestBody SpecialDiseaseRouteVO specialDiseaseNode) {
return specialDiseaseNodeService.insertSpecialDiseaseNode(specialDiseaseNode);
}
@ -76,7 +76,7 @@ public class SpecialDiseaseNodeController extends BaseController {
@PreAuthorize("@ss.hasPermi('system:specialDiseaseNode:edit')")
@Log(title = "专病路径-管理节点信息", businessType = BusinessType.UPDATE)
@PutMapping("/edit")
public AjaxResult edit(@RequestBody SpecialDiseaseNodeDTO specialDiseaseNode) {
public AjaxResult edit(@RequestBody SpecialDiseaseRouteVO specialDiseaseNode) {
return specialDiseaseNodeService.updateSpecialDiseaseNode(specialDiseaseNode);
}
@ -91,10 +91,10 @@ public class SpecialDiseaseNodeController extends BaseController {
}
/**
* 查询专病路径-管理节点信息列表 - 触发条件列表
* 查询专病路径-管理节点信息列表
*/
@GetMapping("/selectSpecialDisease")
public AjaxResult selectSpecialDisease(Long routeId) {
return specialDiseaseNodeService.selectSpecialDisease(routeId);
public AjaxResult selectSpecialDisease(Long specialDiseaseRouteId) {
return specialDiseaseNodeService.selectSpecialDisease(specialDiseaseRouteId);
}
}

View File

@ -94,8 +94,8 @@ public class SpecialDiseaseNode extends BaseEntity {
* 执行时间格式HH:mm
*/
@ApiModelProperty(value = "执行时间格式HH:mm")
@JsonFormat(pattern = "yyyy-MM-dd")
@Excel(name = "执行时间格式HH:mm", width = 30, dateFormat = "yyyy-MM-dd")
@JsonFormat(pattern = "HH:mm")
@Excel(name = "执行时间格式HH:mm", width = 30, dateFormat = "HH:mm")
private LocalTime executionTime;
/**
@ -316,6 +316,13 @@ public class SpecialDiseaseNode extends BaseEntity {
@Excel(name = "节点审核备注信息,存储审核备注信息以及审核不通过原因等信息")
private String routeCheckRemark;
/**
* 节点内容
*/
@ApiModelProperty(value = "节点内容")
@Excel(name = "节点内容")
private String nodeContent;
@Override
public String toString() {

View File

@ -12,9 +12,7 @@ import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.sql.Time;
import java.time.LocalTime;
import java.util.Date;
/**
* 任务细分字典对象 task_partition_dict
@ -99,6 +97,12 @@ public class TaskPartitionDict extends BaseEntity {
@Excel(name = "任务细分模板内容")
private String taskPartitionContent;
/**
* 模板类型
*/
@ApiModelProperty(value = "模板类型")
@Excel(name = "模板类型")
private String templateType;
@Override
public String toString() {

View File

@ -1,34 +0,0 @@
package com.xinelu.manage.dto.specialdiseasenode;
import com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode;
import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute;
import com.xinelu.manage.domain.specialdiseasetriggercondition.SpecialDiseaseTriggerCondition;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 专病路径-管理节点信息对象 special_disease_node
*
* @author xinelu
* @date 2024-03-13
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class SpecialDiseaseNodeDTO extends SpecialDiseaseRoute {
@ApiModelProperty(value = "专病路径表id")
private Long routeId;
/**
* 专病路径
*/
List<SpecialDiseaseNode> specialDiseaseNodeList;
/**
* 节点信息
*/
List<SpecialDiseaseTriggerCondition> triggerConditionList;
}

View File

@ -60,5 +60,11 @@ public interface PatientQuestionSubmitResultMapper {
*/
int deletePatientQuestionSubmitResultByIds(Long[] ids);
/**
* 根据任务执行记录查询患者问卷信息
*
* @param taskExecuteRecordId 患者管理任务执行记录表id
* @return PatientQuestionSubmitResultDTO
*/
PatientQuestionSubmitResultDTO selectResultByTaskExecuteRecordId(Long taskExecuteRecordId);
}

View File

@ -1,6 +1,7 @@
package com.xinelu.manage.mapper.questioninfo;
import com.xinelu.manage.domain.questioninfo.QuestionInfo;
import com.xinelu.manage.vo.department.DepartmentVO;
import java.util.List;
@ -59,4 +60,13 @@ public interface QuestionInfoMapper {
* @return 结果
*/
int deleteQuestionInfoByIds(Long[] ids);
/**
* 科室路径数量
*
* @param departmentName 科室名称
* @return DepartmentVO
*/
List<DepartmentVO> departmentQuestionByDepartmentName(String departmentName);
}

View File

@ -1,7 +1,8 @@
package com.xinelu.manage.mapper.specialdiseasenode;
import com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode;
import com.xinelu.manage.dto.specialdiseasenode.SpecialDiseaseNodeDTO;
import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeVO;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
import java.util.List;
@ -61,7 +62,7 @@ public interface SpecialDiseaseNodeMapper {
*/
int deleteSpecialDiseaseNodeByIds(Long[] ids);
int insertSpecialDiseaseNodeList(List<SpecialDiseaseNode> specialDiseaseNodeList);
int insertSpecialDiseaseNodeList(List<SpecialDiseaseNodeVO> specialDiseaseNodeList);
/**
* 删除专病路径-管理节点信息
@ -75,8 +76,8 @@ public interface SpecialDiseaseNodeMapper {
/**
* 查询专病路径-管理节点信息
*
* @param routeId 专病路径-管理节点信息主键
* @param specialDiseaseRouteId 专病路径-管理节点信息主键
* @return 专病路径-管理节点信息
*/
SpecialDiseaseNodeDTO selectSpecialDiseaseByRouteId(Long routeId);
SpecialDiseaseRouteVO selectSpecialDiseaseByRouteId(Long specialDiseaseRouteId);
}

View File

@ -2,10 +2,10 @@ package com.xinelu.manage.mapper.specialdiseaseroute;
import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute;
import com.xinelu.manage.vo.department.DepartmentVO;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
import java.util.List;
/**
* 专病路径信息Mapper接口
*
@ -68,4 +68,12 @@ public interface SpecialDiseaseRouteMapper {
* @return DepartmentVO
*/
List<DepartmentVO> departmentRouteByDepartmentName(String departmentName);
/**
* 查询专病路径信息
*
* @param id 专病路径信息主键
* @return 专病路径信息
*/
SpecialDiseaseRouteVO selectSpecialDiseaseRouteAndTriggerById(Long id);
}

View File

@ -1,16 +1,13 @@
package com.xinelu.manage.service.patientquestionsubmitresult.impl;
import java.time.LocalDateTime;
import java.util.List;
import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmitResult;
import com.xinelu.manage.mapper.patientquestionsubmitresult.PatientQuestionSubmitResultMapper;
import com.xinelu.manage.service.patientquestionsubmitresult.IPatientQuestionSubmitResultService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
/**
* 患者问卷提交结果信息Service业务层处理
@ -53,8 +50,8 @@ public class PatientQuestionSubmitResultServiceImpl implements IPatientQuestionS
*/
@Override
public int insertPatientQuestionSubmitResult(PatientQuestionSubmitResult patientQuestionSubmitResult) {
patientQuestionSubmitResult.setCreateTime(LocalDateTime.now());
return patientQuestionSubmitResultMapper.insertPatientQuestionSubmitResult(patientQuestionSubmitResult);
patientQuestionSubmitResult.setCreateTime(LocalDateTime.now());
return patientQuestionSubmitResultMapper.insertPatientQuestionSubmitResult(patientQuestionSubmitResult);
}
/**
@ -65,7 +62,7 @@ public class PatientQuestionSubmitResultServiceImpl implements IPatientQuestionS
*/
@Override
public int updatePatientQuestionSubmitResult(PatientQuestionSubmitResult patientQuestionSubmitResult) {
patientQuestionSubmitResult.setUpdateTime(LocalDateTime.now());
patientQuestionSubmitResult.setUpdateTime(LocalDateTime.now());
return patientQuestionSubmitResultMapper.updatePatientQuestionSubmitResult(patientQuestionSubmitResult);
}

View File

@ -68,4 +68,12 @@ public interface IPatientTaskExecuteRecordService {
* @return AjaxResult
*/
AjaxResult selectVisitRecord(Long id);
/**
* 根据任务执行记录查询患者问卷信息
*
* @param taskExecuteRecordId 患者管理任务执行记录表id
* @return PatientQuestionSubmitResultDTO
*/
AjaxResult selectPatientQuestionSubmit(Long taskExecuteRecordId);
}

View File

@ -3,6 +3,7 @@ package com.xinelu.manage.service.patienttaskexecuterecord.impl;
import com.xinelu.common.core.domain.AjaxResult;
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.vo.patienttaskexecuterecord.PatientTaskExecuteRecordVO;
@ -22,6 +23,8 @@ import java.util.List;
public class PatientTaskExecuteRecordServiceImpl implements IPatientTaskExecuteRecordService {
@Resource
private PatientTaskExecuteRecordMapper patientTaskExecuteRecordMapper;
@Resource
private PatientQuestionSubmitResultMapper submitResultMapper;
/**
* 查询患者管理任务执行记录
@ -103,4 +106,15 @@ public class PatientTaskExecuteRecordServiceImpl implements IPatientTaskExecuteR
patientTaskExecuteRecordVO.setAge(AgeUtil.getAgeMonth(patientTaskExecuteRecordVO.getBirthDate().toString()));
return AjaxResult.success(patientTaskExecuteRecordVO);
}
/**
* 根据任务执行记录查询患者问卷信息
*
* @param taskExecuteRecordId 患者管理任务执行记录表id
* @return PatientQuestionSubmitResultDTO
*/
@Override
public AjaxResult selectPatientQuestionSubmit(Long taskExecuteRecordId) {
return AjaxResult.success(submitResultMapper.selectResultByTaskExecuteRecordId(taskExecuteRecordId));
}
}

View File

@ -68,4 +68,12 @@ public interface IQuestionInfoService {
* @return 结果
*/
AjaxResult updateQuestionByDepartment(QuestionInfo questionInfo);
/**
* 科室问卷数量
*
* @param departmentName 科室名称
* @return AjaxResult
*/
AjaxResult departmentQuestionCount(String departmentName);
}

View File

@ -10,6 +10,7 @@ import com.xinelu.manage.mapper.questioninfo.QuestionInfoMapper;
import com.xinelu.manage.mapper.questionsubject.QuestionSubjectMapper;
import com.xinelu.manage.mapper.questionsubjectoption.QuestionSubjectOptionMapper;
import com.xinelu.manage.service.questioninfo.IQuestionInfoService;
import com.xinelu.manage.vo.department.DepartmentVO;
import com.xinelu.manage.vo.questionInfo.QuestionVO;
import com.xinelu.manage.vo.questionsubject.QuestionSubjectVO;
import com.xinelu.manage.vo.questionsubjectoption.QuestionSubjectOptionVO;
@ -279,4 +280,26 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService {
}
return AjaxResult.success(questionCount);
}
/**
* 科室问卷数量
*
* @param departmentName 科室名称
* @return AjaxResult
*/
@Override
public AjaxResult departmentQuestionCount(String departmentName) {
DepartmentVO departmentVO = new DepartmentVO();
List<DepartmentVO> department = new ArrayList<>();
departmentVO.setDepartmentName("全部");
departmentVO.setCountNum(0);
List<DepartmentVO> departmentVOS = questionInfoMapper.departmentQuestionByDepartmentName(departmentName);
if (CollectionUtils.isNotEmpty(departmentVOS)) {
Integer result = departmentVOS.stream().mapToInt(DepartmentVO::getCountNum).sum();
departmentVO.setCountNum(result);
department.add(departmentVO);
department.addAll(departmentVOS);
}
return AjaxResult.success(department);
}
}

View File

@ -2,7 +2,7 @@ package com.xinelu.manage.service.specialdiseasenode;
import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode;
import com.xinelu.manage.dto.specialdiseasenode.SpecialDiseaseNodeDTO;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
import java.util.List;
@ -35,7 +35,7 @@ public interface ISpecialDiseaseNodeService {
* @param specialDiseaseNode 专病路径-管理节点信息
* @return 结果
*/
AjaxResult insertSpecialDiseaseNode(SpecialDiseaseNodeDTO specialDiseaseNode);
AjaxResult insertSpecialDiseaseNode(SpecialDiseaseRouteVO specialDiseaseNode);
/**
* 修改专病路径-管理节点信息
@ -43,7 +43,7 @@ public interface ISpecialDiseaseNodeService {
* @param specialDiseaseNode 专病路径-管理节点信息
* @return 结果
*/
AjaxResult updateSpecialDiseaseNode(SpecialDiseaseNodeDTO specialDiseaseNode);
AjaxResult updateSpecialDiseaseNode(SpecialDiseaseRouteVO specialDiseaseNode);
/**
* 批量删除专病路径-管理节点信息
@ -62,10 +62,10 @@ public interface ISpecialDiseaseNodeService {
int deleteSpecialDiseaseNodeById(Long id);
/**
* 查询专病路径-管理节点信息列表 - 触发条件列表
* 查询专病路径-管理节点信息列表
*
* @param routeId 路径id
* @param specialDiseaseRouteId 路径id
* @return AjaxResult
*/
AjaxResult selectSpecialDisease(Long routeId);
AjaxResult selectSpecialDisease(Long specialDiseaseRouteId);
}

View File

@ -6,12 +6,10 @@ 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.dto.specialdiseasenode.SpecialDiseaseNodeDTO;
import com.xinelu.manage.mapper.specialdiseasenode.SpecialDiseaseNodeMapper;
import com.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper;
import com.xinelu.manage.mapper.specialdiseasetriggercondition.SpecialDiseaseTriggerConditionMapper;
import com.xinelu.manage.service.specialdiseasenode.ISpecialDiseaseNodeService;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -20,7 +18,6 @@ import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
/**
* 专病路径-管理节点信息Service业务层处理
*
@ -34,8 +31,6 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
private SpecialDiseaseNodeMapper specialDiseaseNodeMapper;
@Resource
private SpecialDiseaseRouteMapper specialDiseaseRouteMapper;
@Resource
private SpecialDiseaseTriggerConditionMapper triggerConditionMapper;
/**
@ -68,7 +63,7 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
*/
@Transactional(rollbackFor = Exception.class)
@Override
public AjaxResult insertSpecialDiseaseNode(SpecialDiseaseNodeDTO specialDiseaseNode) {
public AjaxResult insertSpecialDiseaseNode(SpecialDiseaseRouteVO specialDiseaseNode) {
SpecialDiseaseRoute specialDiseaseRoute = new SpecialDiseaseRoute();
BeanUtils.copyBeanProp(specialDiseaseRoute, specialDiseaseNode);
specialDiseaseRoute.setCreateTime(LocalDateTime.now());
@ -86,15 +81,6 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
if (insertNodeCount < 0) {
throw new ServiceException("新增专病路径管理节点信息失败");
}
for (SpecialDiseaseTriggerCondition triggerCondition : specialDiseaseNode.getTriggerConditionList()) {
triggerCondition.setRouteId(specialDiseaseRoute.getId());
triggerCondition.setCreateTime(LocalDateTime.now());
triggerCondition.setCreateBy(SecurityUtils.getUsername());
}
int insertConditionCount = triggerConditionMapper.insertTriggerConditionList(specialDiseaseNode.getTriggerConditionList());
if (insertConditionCount < 0) {
throw new ServiceException("新增专病路径管理节点信息失败");
}
return AjaxResult.success();
}
@ -106,7 +92,7 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
*/
@Transactional(rollbackFor = Exception.class)
@Override
public AjaxResult updateSpecialDiseaseNode(SpecialDiseaseNodeDTO specialDiseaseNode) {
public AjaxResult updateSpecialDiseaseNode(SpecialDiseaseRouteVO specialDiseaseNode) {
SpecialDiseaseRoute specialDiseaseRoute = new SpecialDiseaseRoute();
BeanUtils.copyBeanProp(specialDiseaseRoute, specialDiseaseNode);
specialDiseaseRoute.setUpdateTime(LocalDateTime.now());
@ -131,21 +117,6 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
log.info("新增管理节点信息失败");
throw new ServiceException("修改专病路径管理节点信息失败");
}
int deleteConditionCont = triggerConditionMapper.deleteSpecialDiseaseTriggerConditionByRouteId(specialDiseaseRoute.getId());
if (deleteConditionCont < 0) {
log.info("删除触发条件失败");
throw new ServiceException("修改专病路径管理节点信息失败");
}
for (SpecialDiseaseTriggerCondition triggerCondition : specialDiseaseNode.getTriggerConditionList()) {
triggerCondition.setRouteId(specialDiseaseRoute.getId());
triggerCondition.setUpdateTime(LocalDateTime.now());
triggerCondition.setUpdateBy(SecurityUtils.getUsername());
}
int insertConditionCount = triggerConditionMapper.insertTriggerConditionList(specialDiseaseNode.getTriggerConditionList());
if (insertConditionCount < 0) {
log.info("新增触发条件信息失败");
throw new ServiceException("修改专病路径管理节点信息失败");
}
return AjaxResult.success();
}
@ -172,13 +143,13 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
}
/**
* 查询专病路径-管理节点信息列表 - 触发条件列表
* 查询专病路径-管理节点信息列表
*
* @param routeId 路径id
* @param specialDiseaseRouteId 路径id
* @return AjaxResult
*/
@Override
public AjaxResult selectSpecialDisease(Long routeId) {
return AjaxResult.success(specialDiseaseNodeMapper.selectSpecialDiseaseByRouteId(routeId));
public AjaxResult selectSpecialDisease(Long specialDiseaseRouteId) {
return AjaxResult.success(specialDiseaseNodeMapper.selectSpecialDiseaseByRouteId(specialDiseaseRouteId));
}
}

View File

@ -2,10 +2,10 @@ package com.xinelu.manage.service.specialdiseaseroute;
import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
import java.util.List;
/**
* 专病路径信息Service接口
*
@ -19,7 +19,7 @@ public interface ISpecialDiseaseRouteService {
* @param id 专病路径信息主键
* @return 专病路径信息
*/
public SpecialDiseaseRoute selectSpecialDiseaseRouteById(Long id);
SpecialDiseaseRouteVO selectSpecialDiseaseRouteById(Long id);
/**
* 查询专病路径信息列表
@ -27,7 +27,7 @@ public interface ISpecialDiseaseRouteService {
* @param specialDiseaseRoute 专病路径信息
* @return 专病路径信息集合
*/
public List<SpecialDiseaseRoute> selectSpecialDiseaseRouteList(SpecialDiseaseRoute specialDiseaseRoute);
List<SpecialDiseaseRoute> selectSpecialDiseaseRouteList(SpecialDiseaseRoute specialDiseaseRoute);
/**
* 新增专病路径信息
@ -35,7 +35,7 @@ public interface ISpecialDiseaseRouteService {
* @param specialDiseaseRoute 专病路径信息
* @return 结果
*/
public int insertSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute);
int insertSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute);
/**
* 修改专病路径信息
@ -43,7 +43,7 @@ public interface ISpecialDiseaseRouteService {
* @param specialDiseaseRoute 专病路径信息
* @return 结果
*/
public int updateSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute);
int updateSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute);
/**
* 批量删除专病路径信息
@ -51,7 +51,7 @@ public interface ISpecialDiseaseRouteService {
* @param ids 需要删除的专病路径信息主键集合
* @return 结果
*/
public int deleteSpecialDiseaseRouteByIds(Long[] ids);
int deleteSpecialDiseaseRouteByIds(Long[] ids);
/**
* 删除专病路径信息信息
@ -59,7 +59,7 @@ public interface ISpecialDiseaseRouteService {
* @param id 专病路径信息主键
* @return 结果
*/
public int deleteSpecialDiseaseRouteById(Long id);
int deleteSpecialDiseaseRouteById(Long id);
/**
* 科室路径数量

View File

@ -5,6 +5,7 @@ import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute;
import com.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper;
import com.xinelu.manage.service.specialdiseaseroute.ISpecialDiseaseRouteService;
import com.xinelu.manage.vo.department.DepartmentVO;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
@ -13,7 +14,6 @@ import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
/**
* 专病路径信息Service业务层处理
*
@ -32,8 +32,8 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
* @return 专病路径信息
*/
@Override
public SpecialDiseaseRoute selectSpecialDiseaseRouteById(Long id) {
return specialDiseaseRouteMapper.selectSpecialDiseaseRouteById(id);
public SpecialDiseaseRouteVO selectSpecialDiseaseRouteById(Long id) {
return specialDiseaseRouteMapper.selectSpecialDiseaseRouteAndTriggerById(id);
}
/**

View File

@ -17,7 +17,13 @@ import java.util.List;
@Data
public class PatientQuestionSubjectResultDTO extends PatientQuestionSubjectResult {
private Long subjectResult;
/*
* 患者问卷题目提交结果信息对象id
*/
private Long subjectResultId;
/**
* 选项表信息
*/
List<PatientQuestionOptionResult> optionResults;
}

View File

@ -0,0 +1,20 @@
package com.xinelu.manage.vo.specialdiseasenode;
import com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 专病路径-管理节点信息对象 special_disease_node
*
* @author xinelu
* @date 2024-03-13
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class SpecialDiseaseNodeVO extends SpecialDiseaseNode {
@ApiModelProperty(value = "专病路径表id")
private Long SpecialDiseaseNodeId;
}

View File

@ -0,0 +1,36 @@
package com.xinelu.manage.vo.specialdiseaseroute;
import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute;
import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeVO;
import com.xinelu.manage.vo.specialdiseasetriggercondition.TriggerConditionVO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.List;
/**
* 专病路径信息对象 special_disease_route
*
* @author xinelu
* @date 2024-03-13
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class SpecialDiseaseRouteVO extends SpecialDiseaseRoute {
/**
* 专病路径信息
*/
private Long specialDiseaseRouteId;
/**
* 节点信息
*/
List<SpecialDiseaseNodeVO> specialDiseaseNodeList;
/**
* 节点信息
*/
List<TriggerConditionVO> triggerConditionList;
}

View File

@ -0,0 +1,21 @@
package com.xinelu.manage.vo.specialdiseasetriggercondition;
import com.xinelu.manage.domain.specialdiseasetriggercondition.SpecialDiseaseTriggerCondition;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* 触发条件关系DTO
*
* @author xinelu
* @date 2024-03-18
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class TriggerConditionVO extends SpecialDiseaseTriggerCondition {
/**
* 触发条件id
*/
private Long triggerConditionId;
}

View File

@ -34,7 +34,7 @@
<resultMap type="com.xinelu.manage.vo.patientquestionsubmitresult.PatientQuestionSubmitResultDTO"
id="PatientQuestionSubmitResultDTO">
<result property="submitResulId" column="id"/>
<result property="submitResulId" column="submitResulId"/>
<result property="questionnaireName" column="questionnaire_name"/>
<result property="questionnaireDescription" column="questionnaire_description"/>
<collection property="subjectResultList" javaType="java.util.List"
@ -42,7 +42,7 @@
</resultMap>
<resultMap type="com.xinelu.manage.vo.patientquestionsubjectresult.PatientQuestionSubjectResultDTO"
id="PatientQuestionSubjectResultResult">
<result property="subjectResult" column="id"/>
<result property="subjectResultId" column="subjectResultId"/>
<result property="questionSubmitResultId" column="question_submit_result_id"/>
<result property="questionInfoId" column="question_info_id"/>
<result property="questionNumber" column="question_number"/>

View File

@ -108,8 +108,8 @@
pi.department_name,
pi.ward_name,
pi.visit_serial_number,
pi.admission_date,
pi.discharge_date,
pi.admission_time,
pi.discharge_time,
pi.in_hospital_number,
pi.patient_phone
from patient_task_execute_record pter

View File

@ -245,4 +245,18 @@
#{id}
</foreach>
</delete>
<select id="departmentQuestionByDepartmentName" resultType="com.xinelu.manage.vo.department.DepartmentVO">
select dt.id,
dt.department_name,
dt.department_code,
count(qi.id) AS countNum
from department dt left join question_info qi on dt.id = qi.department_id
<where>
<if test="departmentName != null and departmentName != ''">
dt.department_name like concat('%',#{departmentName},'%')
</if>
</where>
GROUP BY dt.id
</select>
</mapper>

View File

@ -4,8 +4,8 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xinelu.manage.mapper.specialdiseasenode.SpecialDiseaseNodeMapper">
<resultMap type="com.xinelu.manage.dto.specialdiseasenode.SpecialDiseaseNodeDTO" id="SpecialDiseaseRouteResult">
<result property="routeId" column="routeId"/>
<resultMap type="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO" id="SpecialDiseaseRouteResult">
<result property="specialDiseaseRouteId" column="specialDiseaseRouteId"/>
<result property="departmentId" column="department_id"/>
<result property="departmentName" column="department_name"/>
<result property="diseaseTypeId" column="disease_type_id"/>
@ -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">
@ -66,24 +64,13 @@
<result property="routeCheckPerson" column="route_check_person"/>
<result property="routeCheckDate" column="route_check_date"/>
<result property="routeCheckRemark" column="route_check_remark"/>
<result property="nodeContent" column="node_content"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<resultMap type="SpecialDiseaseTriggerCondition" id="SpecialDiseaseTriggerConditionResult">
<result property="id" column="id"/>
<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,
@ -126,6 +113,7 @@
route_check_person,
route_check_date,
route_check_remark,
node_content,
create_by,
create_time,
update_by,
@ -256,6 +244,9 @@
<if test="routeCheckRemark != null and routeCheckRemark != ''">
and route_check_remark = #{routeCheckRemark}
</if>
<if test="nodeContent != null and nodeContent != ''">
and node_content = #{nodeContent}
</if>
</where>
</select>
@ -357,6 +348,8 @@
</if>
<if test="updateTime != null">update_time,
</if>
<if test="nodeContent != null">node_content,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="routeId != null">#{routeId},
@ -447,6 +440,8 @@
</if>
<if test="updateTime != null">#{updateTime},
</if>
<if test="nodeContent != null">#{nodeContent},
</if>
</trim>
</insert>
@ -585,6 +580,9 @@
<if test="updateTime != null">update_time =
#{updateTime},
</if>
<if test="nodeContent != null">node_content =
#{nodeContent},
</if>
</trim>
where id = #{id}
</update>
@ -644,6 +642,7 @@
route_check_person,
route_check_date,
route_check_remark,
node_content,
create_by,
create_time
) values
@ -689,6 +688,7 @@
#{specialDiseaseNodeList.routeCheckPerson},
#{specialDiseaseNodeList.routeCheckDate},
#{specialDiseaseNodeList.routeCheckRemark},
#{specialDiseaseNodeList.nodeContent},
#{specialDiseaseNodeList.createBy},
#{specialDiseaseNodeList.createTime}
)
@ -702,7 +702,7 @@
</delete>
<select id="selectSpecialDiseaseByRouteId"
resultType="com.xinelu.manage.dto.specialdiseasenode.SpecialDiseaseNodeDTO"
resultType="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO"
resultMap="SpecialDiseaseRouteResult">
select sdr.id routeId,
sdr.department_id,
@ -715,7 +715,7 @@
sdr.route_classify,
sdr.release_status,
sdr.suit_range,
sdn.id specialDiseaseNodeId,
sdn.id specialDiseaseNodeId,
sdn.route_id,
sdn.route_name,
sdn.route_node_name,
@ -756,18 +756,9 @@
sdn.route_check_person,
sdn.route_check_date,
sdn.route_check_remark,
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 = #{routeId}
where sdr.id = #{specialDiseaseRouteId}
</select>
</mapper>

View File

@ -24,6 +24,36 @@
<result property="updateTime" column="update_time"/>
</resultMap>
<resultMap type="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO" id="SpecialDiseaseRouteVOResult">
<result property="specialDiseaseRouteId" column="specialDiseaseRouteId"/>
<result property="departmentId" column="department_id"/>
<result property="departmentName" column="department_name"/>
<result property="diseaseTypeId" column="disease_type_id"/>
<result property="diseaseTypeName" column="disease_type_name"/>
<result property="routeName" column="route_name"/>
<result property="routeCode" column="route_code"/>
<result property="version" column="version"/>
<result property="routeClassify" column="route_classify"/>
<result property="releaseStatus" column="release_status"/>
<result property="suitRange" column="suit_range"/>
<result property="routeSort" column="route_sort"/>
<result property="routeRemark" column="route_remark"/>
<collection property="triggerConditionList" javaType="java.util.List"
resultMap="SpecialDiseaseTriggerConditionResult"/>
</resultMap>
<resultMap type="com.xinelu.manage.vo.specialdiseasetriggercondition.TriggerConditionVO"
id="SpecialDiseaseTriggerConditionResult">
<result property="triggerConditionId" 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="selectSpecialDiseaseRouteVo">
select id,
department_id,
@ -248,4 +278,34 @@
</where>
GROUP BY dt.id
</select>
<select id="selectSpecialDiseaseRouteAndTriggerById"
resultType="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO"
resultMap="SpecialDiseaseRouteVOResult">
select sdr.id specialDiseaseRouteId,
sdr.department_id,
sdr.department_name,
sdr.disease_type_id,
sdr.disease_type_name,
sdr.route_name,
sdr.route_code,
sdr.version,
sdr.route_classify,
sdr.release_status,
sdr.suit_range,
sdr.route_sort,
sdr.route_remark,
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
from special_disease_route sdr
LEFT JOIN special_disease_trigger_condition sdtc ON sdr.id = sdtc.route_id
where sdr.id = #{id}
</select>
</mapper>

View File

@ -15,6 +15,7 @@
<result property="taskPartitionSort" column="task_partition_sort"/>
<result property="taskPartitionRemark" column="task_partition_remark"/>
<result property="taskPartitionContent" column="task_partition_content"/>
<result property="templateType" column="template_type"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
@ -32,6 +33,7 @@
task_partition_sort,
task_partition_remark,
task_partition_content,
template_type,
create_by,
create_time,
update_by,
@ -66,6 +68,9 @@
<if test="taskPartitionRemark != null and taskPartitionRemark != ''">
and task_partition_remark = #{taskPartitionRemark}
</if>
<if test="templateType != null and templateType != ''">
and template_type = #{templateType}
</if>
</where>
</select>
@ -105,6 +110,8 @@
</if>
<if test="updateTime != null">update_time,
</if>
<if test="templateType != null">template_type,
</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="taskTypeId != null">#{taskTypeId},
@ -133,6 +140,8 @@
</if>
<if test="updateTime != null">#{updateTime},
</if>
<if test="templateType != null">#{templateType},
</if>
</trim>
</insert>
@ -178,6 +187,9 @@
<if test="updateTime != null">update_time =
#{updateTime},
</if>
<if test="templateType != null">template_type =
#{templateType},
</if>
</trim>
where id = #{id}
</update>