From f9ca8abfd8347da5ecaf4c2ed4dab7ca5a5f1326 Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Tue, 2 Apr 2024 16:55:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=93=E7=97=85=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/agency/AgencyController.java | 3 + .../SignPatientManageRouteController.java | 35 +++++------ .../SignPatientManageRouteNodeMapper.java | 11 +++- .../manage/service/agency/IAgencyService.java | 6 ++ .../agency/impl/AgencyServiceImpl.java | 9 +++ .../ISignPatientManageRouteService.java | 15 +++-- .../SignPatientManageRouteServiceImpl.java | 60 ++++++++++++++++--- .../SignPatientManageRouteVO.java | 7 +++ .../SignPatientManageRouteNodeMapper.xml | 6 ++ 9 files changed, 117 insertions(+), 35 deletions(-) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java index fd670f1f..75578486 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/agency/AgencyController.java @@ -146,6 +146,9 @@ public class AgencyController extends BaseController { return agencyService.insertAgencyImportList(list); } + /** + * 医院园区科室病区联动查询 + */ @GetMapping("/getAgencyList") public AjaxResult getAgencyList(HospitalDTO hospitalDTO) { return agencyService.getAgencyList(hospitalDTO); diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroute/SignPatientManageRouteController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroute/SignPatientManageRouteController.java index 9df698d9..268e2aee 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroute/SignPatientManageRouteController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/signpatientmanageroute/SignPatientManageRouteController.java @@ -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 list = signPatientManageRouteService.selectSignPatientManageRouteList(signPatientManageRoute); @@ -52,7 +47,7 @@ public class SignPatientManageRouteController extends BaseController { @PostMapping("/export") public void export(HttpServletResponse response, SignPatientManageRoute signPatientManageRoute) { List list = signPatientManageRouteService.selectSignPatientManageRouteList(signPatientManageRoute); - ExcelUtil util = new ExcelUtil(SignPatientManageRoute. class); + ExcelUtil util = new ExcelUtil(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); } /** diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java index 0174be35..d3198be2 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.java @@ -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); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/IAgencyService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/IAgencyService.java index f0e90cd4..b7925abd 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/IAgencyService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/IAgencyService.java @@ -88,5 +88,11 @@ public interface IAgencyService { **/ AjaxResult insertAgencyImportList(List agencyList); + /** + * 医院园区科室病区联动查询 + * + * @param hospitalDTO 信息 + * @return AjaxResult + */ AjaxResult getAgencyList(HospitalDTO hospitalDTO); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/impl/AgencyServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/impl/AgencyServiceImpl.java index 6b58c9d5..443309c3 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/impl/AgencyServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/agency/impl/AgencyServiceImpl.java @@ -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 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 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()); diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/ISignPatientManageRouteService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/ISignPatientManageRouteService.java index 3cdf8c1c..ee4ed148 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/ISignPatientManageRouteService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/ISignPatientManageRouteService.java @@ -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 selectSignPatientManageRouteList(SignPatientManageRoute signPatientManageRoute); + List 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); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java index b0f6cf75..3addbd74 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/signpatientmanageroute/impl/SignPatientManageRouteServiceImpl.java @@ -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 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 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(); } /** diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signpatientmanageroute/SignPatientManageRouteVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signpatientmanageroute/SignPatientManageRouteVO.java index 0124efa5..1be11586 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signpatientmanageroute/SignPatientManageRouteVO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signpatientmanageroute/SignPatientManageRouteVO.java @@ -17,7 +17,14 @@ import java.util.List; @EqualsAndHashCode(callSuper = true) public class SignPatientManageRouteVO extends SignPatientManageRoute { + /** + * 患者管理任务路径id + */ + private Long SignPatientManageRouteId; + /** + * 节点信息 + */ List routeNodeList; } diff --git a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml index ad5eae43..2131d9d3 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroutenode/SignPatientManageRouteNodeMapper.xml @@ -716,4 +716,10 @@ #{id} + + + delete + from sign_patient_manage_route_node + where manage_route_id = #{manageRouteId} + \ No newline at end of file