专病路径

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);
}
/**
* 医院园区科室病区联动查询
*/
@GetMapping("/getAgencyList")
public AjaxResult getAgencyList(HospitalDTO 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.manage.domain.signpatientmanageroute.SignPatientManageRoute;
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.servlet.http.HttpServletResponse;
import org.springframework.security.access.prepost.PreAuthorize;
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;
import java.util.List;
/**
* 签约患者管理任务路径Controller
@ -33,11 +28,11 @@ public class SignPatientManageRouteController extends BaseController {
@Resource
private ISignPatientManageRouteService signPatientManageRouteService;
/**
* 查询签约患者管理任务路径列表
*/
@PreAuthorize("@ss.hasPermi('manage:signroute:list')")
@GetMapping("/list")
/**
* 查询签约患者管理任务路径列表
*/
@PreAuthorize("@ss.hasPermi('manage:signroute:list')")
@GetMapping("/list")
public TableDataInfo list(SignPatientManageRoute signPatientManageRoute) {
startPage();
List<SignPatientManageRoute> list = signPatientManageRouteService.selectSignPatientManageRouteList(signPatientManageRoute);
@ -52,7 +47,7 @@ public class SignPatientManageRouteController extends BaseController {
@PostMapping("/export")
public void export(HttpServletResponse response, SignPatientManageRoute 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, "签约患者管理任务路径数据");
}
@ -71,8 +66,8 @@ public class SignPatientManageRouteController extends BaseController {
@PreAuthorize("@ss.hasPermi('manage:signroute:add')")
@Log(title = "签约患者管理任务路径", businessType = BusinessType.INSERT)
@PostMapping("/add")
public AjaxResult add(@RequestBody SignPatientManageRoute signPatientManageRoute) {
return toAjax(signPatientManageRouteService.insertSignPatientManageRoute(signPatientManageRoute));
public AjaxResult add(@RequestBody SignPatientManageRouteVO signPatientManageRoute) {
return signPatientManageRouteService.insertSignPatientManageRoute(signPatientManageRoute);
}
/**
@ -81,8 +76,8 @@ public class SignPatientManageRouteController extends BaseController {
@PreAuthorize("@ss.hasPermi('manage:signroute:edit')")
@Log(title = "签约患者管理任务路径", businessType = BusinessType.UPDATE)
@PutMapping("/edit")
public AjaxResult edit(@RequestBody SignPatientManageRoute signPatientManageRoute) {
return toAjax(signPatientManageRouteService.updateSignPatientManageRoute(signPatientManageRoute));
public AjaxResult edit(@RequestBody SignPatientManageRouteVO signPatientManageRoute) {
return signPatientManageRouteService.updateSignPatientManageRoute(signPatientManageRoute);
}
/**

View File

@ -1,9 +1,10 @@
package com.xinelu.manage.mapper.signpatientmanageroutenode;
import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 签约患者管理任务路径节点Mapper接口
*
@ -60,4 +61,12 @@ public interface SignPatientManageRouteNodeMapper {
* @return 结果
*/
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);
/**
* 医院园区科室病区联动查询
*
* @param hospitalDTO 信息
* @return AjaxResult
*/
AjaxResult getAgencyList(HospitalDTO hospitalDTO);
}

View File

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

View File

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

View File

@ -1,12 +1,19 @@
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.signpatientmanageroutenode.SignPatientManageRouteNode;
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.vo.signpatientmanageroute.SignPatientManageRouteVO;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
/**
* 签约患者管理任务路径Service业务层处理
@ -18,6 +25,8 @@ import org.springframework.stereotype.Service;
public class SignPatientManageRouteServiceImpl implements ISignPatientManageRouteService {
@Resource
private SignPatientManageRouteMapper signPatientManageRouteMapper;
@Resource
private SignPatientManageRouteNodeMapper signPatientManageRouteNodeMapper;
/**
* 查询签约患者管理任务路径
@ -47,10 +56,26 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
* @param signPatientManageRoute 签约患者管理任务路径
* @return 结果
*/
@Transactional(rollbackFor = Exception.class)
@Override
public int insertSignPatientManageRoute(SignPatientManageRoute signPatientManageRoute) {
signPatientManageRoute.setCreateTime(LocalDateTime.now());
return signPatientManageRouteMapper.insertSignPatientManageRoute(signPatientManageRoute);
public AjaxResult insertSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute) {
signPatientManageRoute.setCreateBy(SecurityUtils.getUsername());
signPatientManageRoute.setCreateTime(LocalDateTime.now());
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 结果
*/
@Override
public int updateSignPatientManageRoute(SignPatientManageRoute signPatientManageRoute) {
signPatientManageRoute.setUpdateTime(LocalDateTime.now());
return signPatientManageRouteMapper.updateSignPatientManageRoute(signPatientManageRoute);
public AjaxResult updateSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute) {
signPatientManageRoute.setUpdateBy(SecurityUtils.getUsername());
signPatientManageRoute.setUpdateTime(LocalDateTime.now());
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)
public class SignPatientManageRouteVO extends SignPatientManageRoute {
/**
* 患者管理任务路径id
*/
private Long SignPatientManageRouteId;
/**
* 节点信息
*/
List<SignPatientManageRouteNode> routeNodeList;
}

View File

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