专病路径

This commit is contained in:
zhangheng 2024-04-02 16:55:08 +08:00
parent 74144fad23
commit f9ca8abfd8
9 changed files with 117 additions and 35 deletions

View File

@ -146,6 +146,9 @@ public class AgencyController extends BaseController {
return agencyService.insertAgencyImportList(list); return agencyService.insertAgencyImportList(list);
} }
/**
* 医院园区科室病区联动查询
*/
@GetMapping("/getAgencyList") @GetMapping("/getAgencyList")
public AjaxResult getAgencyList(HospitalDTO hospitalDTO) { public AjaxResult getAgencyList(HospitalDTO hospitalDTO) {
return agencyService.getAgencyList(hospitalDTO); return agencyService.getAgencyList(hospitalDTO);

View File

@ -8,18 +8,13 @@ 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.signpatientmanageroute.SignPatientManageRoute; import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
import com.xinelu.manage.service.signpatientmanageroute.ISignPatientManageRouteService; import com.xinelu.manage.service.signpatientmanageroute.ISignPatientManageRouteService;
import java.util.List; import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize; import java.util.List;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 签约患者管理任务路径Controller * 签约患者管理任务路径Controller
@ -33,11 +28,11 @@ public class SignPatientManageRouteController extends BaseController {
@Resource @Resource
private ISignPatientManageRouteService signPatientManageRouteService; private ISignPatientManageRouteService signPatientManageRouteService;
/** /**
* 查询签约患者管理任务路径列表 * 查询签约患者管理任务路径列表
*/ */
@PreAuthorize("@ss.hasPermi('manage:signroute:list')") @PreAuthorize("@ss.hasPermi('manage:signroute:list')")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo list(SignPatientManageRoute signPatientManageRoute) { public TableDataInfo list(SignPatientManageRoute signPatientManageRoute) {
startPage(); startPage();
List<SignPatientManageRoute> list = signPatientManageRouteService.selectSignPatientManageRouteList(signPatientManageRoute); List<SignPatientManageRoute> list = signPatientManageRouteService.selectSignPatientManageRouteList(signPatientManageRoute);
@ -52,7 +47,7 @@ public class SignPatientManageRouteController extends BaseController {
@PostMapping("/export") @PostMapping("/export")
public void export(HttpServletResponse response, SignPatientManageRoute signPatientManageRoute) { public void export(HttpServletResponse response, SignPatientManageRoute signPatientManageRoute) {
List<SignPatientManageRoute> list = signPatientManageRouteService.selectSignPatientManageRouteList(signPatientManageRoute); List<SignPatientManageRoute> list = signPatientManageRouteService.selectSignPatientManageRouteList(signPatientManageRoute);
ExcelUtil<SignPatientManageRoute> util = new ExcelUtil<SignPatientManageRoute>(SignPatientManageRoute. class); ExcelUtil<SignPatientManageRoute> util = new ExcelUtil<SignPatientManageRoute>(SignPatientManageRoute.class);
util.exportExcel(response, list, "签约患者管理任务路径数据"); util.exportExcel(response, list, "签约患者管理任务路径数据");
} }
@ -71,8 +66,8 @@ public class SignPatientManageRouteController extends BaseController {
@PreAuthorize("@ss.hasPermi('manage:signroute:add')") @PreAuthorize("@ss.hasPermi('manage:signroute:add')")
@Log(title = "签约患者管理任务路径", businessType = BusinessType.INSERT) @Log(title = "签约患者管理任务路径", businessType = BusinessType.INSERT)
@PostMapping("/add") @PostMapping("/add")
public AjaxResult add(@RequestBody SignPatientManageRoute signPatientManageRoute) { public AjaxResult add(@RequestBody SignPatientManageRouteVO signPatientManageRoute) {
return toAjax(signPatientManageRouteService.insertSignPatientManageRoute(signPatientManageRoute)); return signPatientManageRouteService.insertSignPatientManageRoute(signPatientManageRoute);
} }
/** /**
@ -81,8 +76,8 @@ public class SignPatientManageRouteController extends BaseController {
@PreAuthorize("@ss.hasPermi('manage:signroute:edit')") @PreAuthorize("@ss.hasPermi('manage:signroute:edit')")
@Log(title = "签约患者管理任务路径", businessType = BusinessType.UPDATE) @Log(title = "签约患者管理任务路径", businessType = BusinessType.UPDATE)
@PutMapping("/edit") @PutMapping("/edit")
public AjaxResult edit(@RequestBody SignPatientManageRoute signPatientManageRoute) { public AjaxResult edit(@RequestBody SignPatientManageRouteVO signPatientManageRoute) {
return toAjax(signPatientManageRouteService.updateSignPatientManageRoute(signPatientManageRoute)); return signPatientManageRouteService.updateSignPatientManageRoute(signPatientManageRoute);
} }
/** /**

View File

@ -1,9 +1,10 @@
package com.xinelu.manage.mapper.signpatientmanageroutenode; package com.xinelu.manage.mapper.signpatientmanageroutenode;
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode; import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
import java.util.List;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* 签约患者管理任务路径节点Mapper接口 * 签约患者管理任务路径节点Mapper接口
* *
@ -60,4 +61,12 @@ public interface SignPatientManageRouteNodeMapper {
* @return 结果 * @return 结果
*/ */
public int deleteSignPatientManageRouteNodeByIds(Long[] ids); public int deleteSignPatientManageRouteNodeByIds(Long[] ids);
/**
* 批量删除签约患者管理任务路径节点
*
* @param manageRouteId 需要删除的数据
* @return 结果
*/
int deleteRouteNodeByManageRouteId(Long manageRouteId);
} }

View File

@ -88,5 +88,11 @@ public interface IAgencyService {
**/ **/
AjaxResult insertAgencyImportList(List<Agency> agencyList); AjaxResult insertAgencyImportList(List<Agency> agencyList);
/**
* 医院园区科室病区联动查询
*
* @param hospitalDTO 信息
* @return AjaxResult
*/
AjaxResult getAgencyList(HospitalDTO hospitalDTO); AjaxResult getAgencyList(HospitalDTO hospitalDTO);
} }

View File

@ -224,8 +224,15 @@ public class AgencyServiceImpl implements IAgencyService {
return AjaxResult.success(); return AjaxResult.success();
} }
/**
* 医院园区科室病区联动查询
*
* @param hospitalDTO 信息
* @return AjaxResult
*/
@Override @Override
public AjaxResult getAgencyList(HospitalDTO hospitalDTO) { public AjaxResult getAgencyList(HospitalDTO hospitalDTO) {
//只选医院
HospitalVO hospitalVO = new HospitalVO(); HospitalVO hospitalVO = new HospitalVO();
if (StringUtils.isNotBlank(hospitalDTO.getNodeType()) && NodeTypeEnum.HOSPITAL.getInfo().equals(hospitalDTO.getNodeType()) && Objects.nonNull(hospitalDTO.getHospitalId())) { if (StringUtils.isNotBlank(hospitalDTO.getNodeType()) && NodeTypeEnum.HOSPITAL.getInfo().equals(hospitalDTO.getNodeType()) && Objects.nonNull(hospitalDTO.getHospitalId())) {
Agency agency = new Agency(); Agency agency = new Agency();
@ -242,6 +249,7 @@ public class AgencyServiceImpl implements IAgencyService {
List<Department> wardList = departmentMapper.selectDepartmentList(department); List<Department> wardList = departmentMapper.selectDepartmentList(department);
hospitalVO.setWardList(wardList); hospitalVO.setWardList(wardList);
} }
//选到园区
if (StringUtils.isNotBlank(hospitalDTO.getNodeType()) && NodeTypeEnum.CAMPUS.getInfo().equals(hospitalDTO.getNodeType()) && Objects.nonNull(hospitalDTO.getCampusId())) { if (StringUtils.isNotBlank(hospitalDTO.getNodeType()) && NodeTypeEnum.CAMPUS.getInfo().equals(hospitalDTO.getNodeType()) && Objects.nonNull(hospitalDTO.getCampusId())) {
Department department = new Department(); Department department = new Department();
department.setNodeType(NodeTypeEnum.DEPARTMENT.getInfo()); department.setNodeType(NodeTypeEnum.DEPARTMENT.getInfo());
@ -252,6 +260,7 @@ public class AgencyServiceImpl implements IAgencyService {
List<Department> wardList = departmentMapper.selectDepartmentList(department); List<Department> wardList = departmentMapper.selectDepartmentList(department);
hospitalVO.setWardList(wardList); hospitalVO.setWardList(wardList);
} }
//选到科室
if (StringUtils.isNotBlank(hospitalDTO.getNodeType()) && NodeTypeEnum.DEPARTMENT.getInfo().equals(hospitalDTO.getNodeType()) && Objects.nonNull(hospitalDTO.getDepartmentId())) { if (StringUtils.isNotBlank(hospitalDTO.getNodeType()) && NodeTypeEnum.DEPARTMENT.getInfo().equals(hospitalDTO.getNodeType()) && Objects.nonNull(hospitalDTO.getDepartmentId())) {
Department department = new Department(); Department department = new Department();
department.setNodeType(NodeTypeEnum.WARD.getInfo()); department.setNodeType(NodeTypeEnum.WARD.getInfo());

View File

@ -1,6 +1,9 @@
package com.xinelu.manage.service.signpatientmanageroute; package com.xinelu.manage.service.signpatientmanageroute;
import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute; import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO;
import java.util.List; import java.util.List;
@ -17,7 +20,7 @@ public interface ISignPatientManageRouteService {
* @param id 签约患者管理任务路径主键 * @param id 签约患者管理任务路径主键
* @return 签约患者管理任务路径 * @return 签约患者管理任务路径
*/ */
public SignPatientManageRoute selectSignPatientManageRouteById(Long id); SignPatientManageRoute selectSignPatientManageRouteById(Long id);
/** /**
* 查询签约患者管理任务路径列表 * 查询签约患者管理任务路径列表
@ -25,7 +28,7 @@ public interface ISignPatientManageRouteService {
* @param signPatientManageRoute 签约患者管理任务路径 * @param signPatientManageRoute 签约患者管理任务路径
* @return 签约患者管理任务路径集合 * @return 签约患者管理任务路径集合
*/ */
public List<SignPatientManageRoute> selectSignPatientManageRouteList(SignPatientManageRoute signPatientManageRoute); List<SignPatientManageRoute> selectSignPatientManageRouteList(SignPatientManageRoute signPatientManageRoute);
/** /**
* 新增签约患者管理任务路径 * 新增签约患者管理任务路径
@ -33,7 +36,7 @@ public interface ISignPatientManageRouteService {
* @param signPatientManageRoute 签约患者管理任务路径 * @param signPatientManageRoute 签约患者管理任务路径
* @return 结果 * @return 结果
*/ */
public int insertSignPatientManageRoute(SignPatientManageRoute signPatientManageRoute); AjaxResult insertSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute);
/** /**
* 修改签约患者管理任务路径 * 修改签约患者管理任务路径
@ -41,7 +44,7 @@ public interface ISignPatientManageRouteService {
* @param signPatientManageRoute 签约患者管理任务路径 * @param signPatientManageRoute 签约患者管理任务路径
* @return 结果 * @return 结果
*/ */
public int updateSignPatientManageRoute(SignPatientManageRoute signPatientManageRoute); AjaxResult updateSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute);
/** /**
* 批量删除签约患者管理任务路径 * 批量删除签约患者管理任务路径
@ -49,7 +52,7 @@ public interface ISignPatientManageRouteService {
* @param ids 需要删除的签约患者管理任务路径主键集合 * @param ids 需要删除的签约患者管理任务路径主键集合
* @return 结果 * @return 结果
*/ */
public int deleteSignPatientManageRouteByIds(Long[] ids); int deleteSignPatientManageRouteByIds(Long[] ids);
/** /**
* 删除签约患者管理任务路径信息 * 删除签约患者管理任务路径信息
@ -57,5 +60,5 @@ public interface ISignPatientManageRouteService {
* @param id 签约患者管理任务路径主键 * @param id 签约患者管理任务路径主键
* @return 结果 * @return 结果
*/ */
public int deleteSignPatientManageRouteById(Long id); int deleteSignPatientManageRouteById(Long id);
} }

View File

@ -1,12 +1,19 @@
package com.xinelu.manage.service.signpatientmanageroute.impl; package com.xinelu.manage.service.signpatientmanageroute.impl;
import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.utils.SecurityUtils;
import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute; import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute;
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
import com.xinelu.manage.mapper.signpatientmanageroute.SignPatientManageRouteMapper; import com.xinelu.manage.mapper.signpatientmanageroute.SignPatientManageRouteMapper;
import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper;
import com.xinelu.manage.service.signpatientmanageroute.ISignPatientManageRouteService; import com.xinelu.manage.service.signpatientmanageroute.ISignPatientManageRouteService;
import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/** /**
* 签约患者管理任务路径Service业务层处理 * 签约患者管理任务路径Service业务层处理
@ -18,6 +25,8 @@ import org.springframework.stereotype.Service;
public class SignPatientManageRouteServiceImpl implements ISignPatientManageRouteService { public class SignPatientManageRouteServiceImpl implements ISignPatientManageRouteService {
@Resource @Resource
private SignPatientManageRouteMapper signPatientManageRouteMapper; private SignPatientManageRouteMapper signPatientManageRouteMapper;
@Resource
private SignPatientManageRouteNodeMapper signPatientManageRouteNodeMapper;
/** /**
* 查询签约患者管理任务路径 * 查询签约患者管理任务路径
@ -47,10 +56,26 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
* @param signPatientManageRoute 签约患者管理任务路径 * @param signPatientManageRoute 签约患者管理任务路径
* @return 结果 * @return 结果
*/ */
@Transactional(rollbackFor = Exception.class)
@Override @Override
public int insertSignPatientManageRoute(SignPatientManageRoute signPatientManageRoute) { public AjaxResult insertSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute) {
signPatientManageRoute.setCreateBy(SecurityUtils.getUsername());
signPatientManageRoute.setCreateTime(LocalDateTime.now()); signPatientManageRoute.setCreateTime(LocalDateTime.now());
return signPatientManageRouteMapper.insertSignPatientManageRoute(signPatientManageRoute); int insertRoute = signPatientManageRouteMapper.insertSignPatientManageRoute(signPatientManageRoute);
if (insertRoute < 0) {
return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!");
}
List<SignPatientManageRouteNode> routeNodeList = signPatientManageRoute.getRouteNodeList();
for (SignPatientManageRouteNode signPatientManageRouteNode : routeNodeList) {
signPatientManageRouteNode.setManageRouteId(signPatientManageRoute.getId());
signPatientManageRouteNode.setCreateTime(LocalDateTime.now());
signPatientManageRouteNode.setCreateBy(SecurityUtils.getUsername());
}
int insertBatchCount = signPatientManageRouteNodeMapper.insertBatch(routeNodeList);
if (insertBatchCount < 0) {
return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!");
}
return AjaxResult.success();
} }
/** /**
@ -60,9 +85,28 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
* @return 结果 * @return 结果
*/ */
@Override @Override
public int updateSignPatientManageRoute(SignPatientManageRoute signPatientManageRoute) { public AjaxResult updateSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute) {
signPatientManageRoute.setUpdateBy(SecurityUtils.getUsername());
signPatientManageRoute.setUpdateTime(LocalDateTime.now()); signPatientManageRoute.setUpdateTime(LocalDateTime.now());
return signPatientManageRouteMapper.updateSignPatientManageRoute(signPatientManageRoute); int updateCount = signPatientManageRouteMapper.updateSignPatientManageRoute(signPatientManageRoute);
if (updateCount < 0) {
return AjaxResult.error("修改签约患者管理任务路径失败!请联系管理员!");
}
int deleteCount = signPatientManageRouteNodeMapper.deleteRouteNodeByManageRouteId(signPatientManageRoute.getSignPatientManageRouteId());
if (deleteCount < 0) {
return AjaxResult.error("修改签约患者管理任务路径失败!请联系管理员!");
}
List<SignPatientManageRouteNode> routeNodeList = signPatientManageRoute.getRouteNodeList();
for (SignPatientManageRouteNode signPatientManageRouteNode : routeNodeList) {
signPatientManageRouteNode.setManageRouteId(signPatientManageRoute.getSignPatientManageRouteId());
signPatientManageRouteNode.setCreateTime(LocalDateTime.now());
signPatientManageRouteNode.setCreateBy(SecurityUtils.getUsername());
}
int insertBatchCount = signPatientManageRouteNodeMapper.insertBatch(routeNodeList);
if (insertBatchCount < 0) {
return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!");
}
return AjaxResult.success();
} }
/** /**

View File

@ -17,7 +17,14 @@ import java.util.List;
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
public class SignPatientManageRouteVO extends SignPatientManageRoute { public class SignPatientManageRouteVO extends SignPatientManageRoute {
/**
* 患者管理任务路径id
*/
private Long SignPatientManageRouteId;
/**
* 节点信息
*/
List<SignPatientManageRouteNode> routeNodeList; List<SignPatientManageRouteNode> routeNodeList;
} }

View File

@ -716,4 +716,10 @@
#{id} #{id}
</foreach> </foreach>
</delete> </delete>
<delete id="deleteRouteNodeByManageRouteId">
delete
from sign_patient_manage_route_node
where manage_route_id = #{manageRouteId}
</delete>
</mapper> </mapper>