专病路径

This commit is contained in:
zhangheng 2024-03-29 16:38:50 +08:00
parent 3a1a013c99
commit 92238dcd2b
20 changed files with 253 additions and 131 deletions

View File

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

View File

@ -94,8 +94,8 @@ public class SpecialDiseaseNode extends BaseEntity {
* 执行时间格式HH:mm * 执行时间格式HH:mm
*/ */
@ApiModelProperty(value = "执行时间格式HH:mm") @ApiModelProperty(value = "执行时间格式HH:mm")
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "HH:mm")
@Excel(name = "执行时间格式HH:mm", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "执行时间格式HH:mm", width = 30, dateFormat = "HH:mm")
private LocalTime executionTime; private LocalTime executionTime;
/** /**

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

@ -1,6 +1,7 @@
package com.xinelu.manage.mapper.questioninfo; package com.xinelu.manage.mapper.questioninfo;
import com.xinelu.manage.domain.questioninfo.QuestionInfo; import com.xinelu.manage.domain.questioninfo.QuestionInfo;
import com.xinelu.manage.vo.department.DepartmentVO;
import java.util.List; import java.util.List;
@ -59,4 +60,13 @@ public interface QuestionInfoMapper {
* @return 结果 * @return 结果
*/ */
int deleteQuestionInfoByIds(Long[] ids); 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; package com.xinelu.manage.mapper.specialdiseasenode;
import com.xinelu.manage.domain.specialdiseasenode.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; import java.util.List;
@ -61,7 +62,7 @@ public interface SpecialDiseaseNodeMapper {
*/ */
int deleteSpecialDiseaseNodeByIds(Long[] ids); 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 专病路径-管理节点信息 * @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.domain.specialdiseaseroute.SpecialDiseaseRoute;
import com.xinelu.manage.vo.department.DepartmentVO; import com.xinelu.manage.vo.department.DepartmentVO;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
import java.util.List; import java.util.List;
/** /**
* 专病路径信息Mapper接口 * 专病路径信息Mapper接口
* *
@ -68,4 +68,12 @@ public interface SpecialDiseaseRouteMapper {
* @return DepartmentVO * @return DepartmentVO
*/ */
List<DepartmentVO> departmentRouteByDepartmentName(String departmentName); List<DepartmentVO> departmentRouteByDepartmentName(String departmentName);
/**
* 查询专病路径信息
*
* @param id 专病路径信息主键
* @return 专病路径信息
*/
SpecialDiseaseRouteVO selectSpecialDiseaseRouteAndTriggerById(Long id);
} }

View File

@ -68,4 +68,12 @@ public interface IQuestionInfoService {
* @return 结果 * @return 结果
*/ */
AjaxResult updateQuestionByDepartment(QuestionInfo questionInfo); 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.questionsubject.QuestionSubjectMapper;
import com.xinelu.manage.mapper.questionsubjectoption.QuestionSubjectOptionMapper; import com.xinelu.manage.mapper.questionsubjectoption.QuestionSubjectOptionMapper;
import com.xinelu.manage.service.questioninfo.IQuestionInfoService; 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.questionInfo.QuestionVO;
import com.xinelu.manage.vo.questionsubject.QuestionSubjectVO; import com.xinelu.manage.vo.questionsubject.QuestionSubjectVO;
import com.xinelu.manage.vo.questionsubjectoption.QuestionSubjectOptionVO; import com.xinelu.manage.vo.questionsubjectoption.QuestionSubjectOptionVO;
@ -279,4 +280,26 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService {
} }
return AjaxResult.success(questionCount); 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.common.core.domain.AjaxResult;
import com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode; 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; import java.util.List;
@ -35,7 +35,7 @@ public interface ISpecialDiseaseNodeService {
* @param specialDiseaseNode 专病路径-管理节点信息 * @param specialDiseaseNode 专病路径-管理节点信息
* @return 结果 * @return 结果
*/ */
AjaxResult insertSpecialDiseaseNode(SpecialDiseaseNodeDTO specialDiseaseNode); AjaxResult insertSpecialDiseaseNode(SpecialDiseaseRouteVO specialDiseaseNode);
/** /**
* 修改专病路径-管理节点信息 * 修改专病路径-管理节点信息
@ -43,7 +43,7 @@ public interface ISpecialDiseaseNodeService {
* @param specialDiseaseNode 专病路径-管理节点信息 * @param specialDiseaseNode 专病路径-管理节点信息
* @return 结果 * @return 结果
*/ */
AjaxResult updateSpecialDiseaseNode(SpecialDiseaseNodeDTO specialDiseaseNode); AjaxResult updateSpecialDiseaseNode(SpecialDiseaseRouteVO specialDiseaseNode);
/** /**
* 批量删除专病路径-管理节点信息 * 批量删除专病路径-管理节点信息
@ -62,10 +62,10 @@ public interface ISpecialDiseaseNodeService {
int deleteSpecialDiseaseNodeById(Long id); int deleteSpecialDiseaseNodeById(Long id);
/** /**
* 查询专病路径-管理节点信息列表 - 触发条件列表 * 查询专病路径-管理节点信息列表
* *
* @param routeId 路径id * @param specialDiseaseRouteId 路径id
* @return AjaxResult * @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.common.utils.bean.BeanUtils;
import com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode; import com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode;
import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute; 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.specialdiseasenode.SpecialDiseaseNodeMapper;
import com.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper; 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.service.specialdiseasenode.ISpecialDiseaseNodeService;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -20,7 +18,6 @@ import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
/** /**
* 专病路径-管理节点信息Service业务层处理 * 专病路径-管理节点信息Service业务层处理
* *
@ -34,8 +31,6 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
private SpecialDiseaseNodeMapper specialDiseaseNodeMapper; private SpecialDiseaseNodeMapper specialDiseaseNodeMapper;
@Resource @Resource
private SpecialDiseaseRouteMapper specialDiseaseRouteMapper; private SpecialDiseaseRouteMapper specialDiseaseRouteMapper;
@Resource
private SpecialDiseaseTriggerConditionMapper triggerConditionMapper;
/** /**
@ -68,7 +63,7 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public AjaxResult insertSpecialDiseaseNode(SpecialDiseaseNodeDTO specialDiseaseNode) { public AjaxResult insertSpecialDiseaseNode(SpecialDiseaseRouteVO specialDiseaseNode) {
SpecialDiseaseRoute specialDiseaseRoute = new SpecialDiseaseRoute(); SpecialDiseaseRoute specialDiseaseRoute = new SpecialDiseaseRoute();
BeanUtils.copyBeanProp(specialDiseaseRoute, specialDiseaseNode); BeanUtils.copyBeanProp(specialDiseaseRoute, specialDiseaseNode);
specialDiseaseRoute.setCreateTime(LocalDateTime.now()); specialDiseaseRoute.setCreateTime(LocalDateTime.now());
@ -86,15 +81,6 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
if (insertNodeCount < 0) { if (insertNodeCount < 0) {
throw new ServiceException("新增专病路径管理节点信息失败"); 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(); return AjaxResult.success();
} }
@ -106,7 +92,7 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public AjaxResult updateSpecialDiseaseNode(SpecialDiseaseNodeDTO specialDiseaseNode) { public AjaxResult updateSpecialDiseaseNode(SpecialDiseaseRouteVO specialDiseaseNode) {
SpecialDiseaseRoute specialDiseaseRoute = new SpecialDiseaseRoute(); SpecialDiseaseRoute specialDiseaseRoute = new SpecialDiseaseRoute();
BeanUtils.copyBeanProp(specialDiseaseRoute, specialDiseaseNode); BeanUtils.copyBeanProp(specialDiseaseRoute, specialDiseaseNode);
specialDiseaseRoute.setUpdateTime(LocalDateTime.now()); specialDiseaseRoute.setUpdateTime(LocalDateTime.now());
@ -131,21 +117,6 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
log.info("新增管理节点信息失败"); log.info("新增管理节点信息失败");
throw new ServiceException("修改专病路径管理节点信息失败"); 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(); return AjaxResult.success();
} }
@ -172,13 +143,13 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
} }
/** /**
* 查询专病路径-管理节点信息列表 - 触发条件列表 * 查询专病路径-管理节点信息列表
* *
* @param routeId 路径id * @param specialDiseaseRouteId 路径id
* @return AjaxResult * @return AjaxResult
*/ */
@Override @Override
public AjaxResult selectSpecialDisease(Long routeId) { public AjaxResult selectSpecialDisease(Long specialDiseaseRouteId) {
return AjaxResult.success(specialDiseaseNodeMapper.selectSpecialDiseaseByRouteId(routeId)); 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.common.core.domain.AjaxResult;
import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute; import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
import java.util.List; import java.util.List;
/** /**
* 专病路径信息Service接口 * 专病路径信息Service接口
* *
@ -19,7 +19,7 @@ public interface ISpecialDiseaseRouteService {
* @param id 专病路径信息主键 * @param id 专病路径信息主键
* @return 专病路径信息 * @return 专病路径信息
*/ */
public SpecialDiseaseRoute selectSpecialDiseaseRouteById(Long id); SpecialDiseaseRouteVO selectSpecialDiseaseRouteById(Long id);
/** /**
* 查询专病路径信息列表 * 查询专病路径信息列表
@ -27,7 +27,7 @@ public interface ISpecialDiseaseRouteService {
* @param specialDiseaseRoute 专病路径信息 * @param specialDiseaseRoute 专病路径信息
* @return 专病路径信息集合 * @return 专病路径信息集合
*/ */
public List<SpecialDiseaseRoute> selectSpecialDiseaseRouteList(SpecialDiseaseRoute specialDiseaseRoute); List<SpecialDiseaseRoute> selectSpecialDiseaseRouteList(SpecialDiseaseRoute specialDiseaseRoute);
/** /**
* 新增专病路径信息 * 新增专病路径信息
@ -35,7 +35,7 @@ public interface ISpecialDiseaseRouteService {
* @param specialDiseaseRoute 专病路径信息 * @param specialDiseaseRoute 专病路径信息
* @return 结果 * @return 结果
*/ */
public int insertSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute); int insertSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute);
/** /**
* 修改专病路径信息 * 修改专病路径信息
@ -43,7 +43,7 @@ public interface ISpecialDiseaseRouteService {
* @param specialDiseaseRoute 专病路径信息 * @param specialDiseaseRoute 专病路径信息
* @return 结果 * @return 结果
*/ */
public int updateSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute); int updateSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute);
/** /**
* 批量删除专病路径信息 * 批量删除专病路径信息
@ -51,7 +51,7 @@ public interface ISpecialDiseaseRouteService {
* @param ids 需要删除的专病路径信息主键集合 * @param ids 需要删除的专病路径信息主键集合
* @return 结果 * @return 结果
*/ */
public int deleteSpecialDiseaseRouteByIds(Long[] ids); int deleteSpecialDiseaseRouteByIds(Long[] ids);
/** /**
* 删除专病路径信息信息 * 删除专病路径信息信息
@ -59,7 +59,7 @@ public interface ISpecialDiseaseRouteService {
* @param id 专病路径信息主键 * @param id 专病路径信息主键
* @return 结果 * @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.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper;
import com.xinelu.manage.service.specialdiseaseroute.ISpecialDiseaseRouteService; import com.xinelu.manage.service.specialdiseaseroute.ISpecialDiseaseRouteService;
import com.xinelu.manage.vo.department.DepartmentVO; import com.xinelu.manage.vo.department.DepartmentVO;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -13,7 +14,6 @@ import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* 专病路径信息Service业务层处理 * 专病路径信息Service业务层处理
* *
@ -32,8 +32,8 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
* @return 专病路径信息 * @return 专病路径信息
*/ */
@Override @Override
public SpecialDiseaseRoute selectSpecialDiseaseRouteById(Long id) { public SpecialDiseaseRouteVO selectSpecialDiseaseRouteById(Long id) {
return specialDiseaseRouteMapper.selectSpecialDiseaseRouteById(id); return specialDiseaseRouteMapper.selectSpecialDiseaseRouteAndTriggerById(id);
} }
/** /**

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

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

View File

@ -245,4 +245,18 @@
#{id} #{id}
</foreach> </foreach>
</delete> </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> </mapper>

View File

@ -4,8 +4,8 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xinelu.manage.mapper.specialdiseasenode.SpecialDiseaseNodeMapper"> <mapper namespace="com.xinelu.manage.mapper.specialdiseasenode.SpecialDiseaseNodeMapper">
<resultMap type="com.xinelu.manage.dto.specialdiseasenode.SpecialDiseaseNodeDTO" id="SpecialDiseaseRouteResult"> <resultMap type="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO" id="SpecialDiseaseRouteResult">
<result property="routeId" column="routeId"/> <result property="specialDiseaseRouteId" column="specialDiseaseRouteId"/>
<result property="departmentId" column="department_id"/> <result property="departmentId" column="department_id"/>
<result property="departmentName" column="department_name"/> <result property="departmentName" column="department_name"/>
<result property="diseaseTypeId" column="disease_type_id"/> <result property="diseaseTypeId" column="disease_type_id"/>
@ -20,8 +20,6 @@
<result property="routeRemark" column="route_remark"/> <result property="routeRemark" column="route_remark"/>
<collection property="specialDiseaseNodeList" javaType="java.util.List" <collection property="specialDiseaseNodeList" javaType="java.util.List"
resultMap="SpecialDiseaseNodeResult"/> resultMap="SpecialDiseaseNodeResult"/>
<collection property="triggerConditionList" javaType="java.util.List"
resultMap="SpecialDiseaseTriggerConditionResult"/>
</resultMap> </resultMap>
<resultMap type="SpecialDiseaseNode" id="SpecialDiseaseNodeResult"> <resultMap type="SpecialDiseaseNode" id="SpecialDiseaseNodeResult">
@ -72,18 +70,6 @@
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
</resultMap> </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"> <sql id="selectSpecialDiseaseNodeVo">
select id, select id,
route_id, route_id,
@ -702,7 +688,7 @@
</delete> </delete>
<select id="selectSpecialDiseaseByRouteId" <select id="selectSpecialDiseaseByRouteId"
resultType="com.xinelu.manage.dto.specialdiseasenode.SpecialDiseaseNodeDTO" resultType="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO"
resultMap="SpecialDiseaseRouteResult"> resultMap="SpecialDiseaseRouteResult">
select sdr.id routeId, select sdr.id routeId,
sdr.department_id, sdr.department_id,
@ -715,7 +701,7 @@
sdr.route_classify, sdr.route_classify,
sdr.release_status, sdr.release_status,
sdr.suit_range, sdr.suit_range,
sdn.id specialDiseaseNodeId, sdn.id specialDiseaseNodeId,
sdn.route_id, sdn.route_id,
sdn.route_name, sdn.route_name,
sdn.route_node_name, sdn.route_node_name,
@ -755,19 +741,9 @@
sdn.route_check_status, sdn.route_check_status,
sdn.route_check_person, sdn.route_check_person,
sdn.route_check_date, sdn.route_check_date,
sdn.route_check_remark, 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
from special_disease_route sdr from special_disease_route sdr
left join special_disease_node sdn ON sdn.route_id = sdr.id 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}
where sdr.id = #{routeId}
</select> </select>
</mapper> </mapper>

View File

@ -24,6 +24,36 @@
<result property="updateTime" column="update_time"/> <result property="updateTime" column="update_time"/>
</resultMap> </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"> <sql id="selectSpecialDiseaseRouteVo">
select id, select id,
department_id, department_id,
@ -248,4 +278,34 @@
</where> </where>
GROUP BY dt.id GROUP BY dt.id
</select> </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> </mapper>