From f539d7628eeebf22eaa0df4adc25f836a902f665 Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Tue, 9 Apr 2024 13:24:39 +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 --- .../SpecialDiseaseRouteController.java | 8 +- .../SpecialDiseaseRoutePackageController.java | 91 ++++++++++ .../SpecialDiseaseRoutePackage.java | 76 ++++++++ .../SpecialDiseaseRoutePackageMapper.java | 73 ++++++++ .../impl/QuestionInfoServiceImpl.java | 4 +- .../ISpecialDiseaseRouteService.java | 4 +- .../impl/SpecialDiseaseRouteServiceImpl.java | 67 ++++++- .../ISpecialDiseaseRoutePackageService.java | 61 +++++++ ...SpecialDiseaseRoutePackageServiceImpl.java | 90 ++++++++++ .../SpecialDiseaseRouteVO.java | 3 + .../SpecialDiseaseRoutePackageVO.java | 18 ++ .../SpecialDiseaseRouteMapper.xml | 16 ++ .../SpecialDiseaseRoutePackageMapper.xml | 168 ++++++++++++++++++ 13 files changed, 665 insertions(+), 14 deletions(-) create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/controller/specialdiseaseroutepackage/SpecialDiseaseRoutePackageController.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/domain/specialdiseaseroutepackage/SpecialDiseaseRoutePackage.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/mapper/specialdiseaseroutepackage/SpecialDiseaseRoutePackageMapper.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroutepackage/ISpecialDiseaseRoutePackageService.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroutepackage/impl/SpecialDiseaseRoutePackageServiceImpl.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/vo/specialdiseaseroutepackage/SpecialDiseaseRoutePackageVO.java create mode 100644 postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroutepackage/SpecialDiseaseRoutePackageMapper.xml diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/specialdiseaseroute/SpecialDiseaseRouteController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/specialdiseaseroute/SpecialDiseaseRouteController.java index ef503523..981bf2df 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/specialdiseaseroute/SpecialDiseaseRouteController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/specialdiseaseroute/SpecialDiseaseRouteController.java @@ -52,8 +52,8 @@ public class SpecialDiseaseRouteController extends BaseController { @PreAuthorize("@ss.hasPermi('system:specialDiseaseRoute:add')") @Log(title = "专病路径信息", businessType = BusinessType.INSERT) @PostMapping("/add") - public AjaxResult add(@RequestBody SpecialDiseaseRoute specialDiseaseRoute) { - return toAjax(specialDiseaseRouteService.insertSpecialDiseaseRoute(specialDiseaseRoute)); + public AjaxResult add(@RequestBody SpecialDiseaseRouteVO specialDiseaseRoute) { + return specialDiseaseRouteService.insertSpecialDiseaseRoute(specialDiseaseRoute); } /** @@ -62,8 +62,8 @@ public class SpecialDiseaseRouteController extends BaseController { @PreAuthorize("@ss.hasPermi('system:specialDiseaseRoute:edit')") @Log(title = "专病路径信息", businessType = BusinessType.UPDATE) @PutMapping("/edit") - public AjaxResult edit(@RequestBody SpecialDiseaseRoute specialDiseaseRoute) { - return toAjax(specialDiseaseRouteService.updateSpecialDiseaseRoute(specialDiseaseRoute)); + public AjaxResult edit(@RequestBody SpecialDiseaseRouteVO specialDiseaseRoute) { + return specialDiseaseRouteService.updateSpecialDiseaseRoute(specialDiseaseRoute); } /** diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/specialdiseaseroutepackage/SpecialDiseaseRoutePackageController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/specialdiseaseroutepackage/SpecialDiseaseRoutePackageController.java new file mode 100644 index 00000000..7713e752 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/specialdiseaseroutepackage/SpecialDiseaseRoutePackageController.java @@ -0,0 +1,91 @@ +package com.xinelu.manage.controller.specialdiseaseroutepackage; + +import com.xinelu.common.annotation.Log; +import com.xinelu.common.core.controller.BaseController; +import com.xinelu.common.core.domain.AjaxResult; +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.specialdiseaseroutepackage.SpecialDiseaseRoutePackage; +import com.xinelu.manage.service.specialdiseaseroutepackage.ISpecialDiseaseRoutePackageService; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 专病路径-服务包关系(多对多关系)Controller + * + * @author xinelu + * @date 2024-04-09 + */ +@RestController +@RequestMapping("/system/routePackage") +public class SpecialDiseaseRoutePackageController extends BaseController { + @Resource + private ISpecialDiseaseRoutePackageService specialDiseaseRoutePackageService; + + /** + * 查询专病路径-服务包关系(多对多关系)列表 + */ + @PreAuthorize("@ss.hasPermi('system:routePackage:list')") + @GetMapping("/list") + public TableDataInfo list(SpecialDiseaseRoutePackage specialDiseaseRoutePackage) { + startPage(); + List list = specialDiseaseRoutePackageService.selectSpecialDiseaseRoutePackageList(specialDiseaseRoutePackage); + return getDataTable(list); + } + + /** + * 导出专病路径-服务包关系(多对多关系)列表 + */ + @PreAuthorize("@ss.hasPermi('system:routePackage:export')") + @Log(title = "专病路径-服务包关系(多对多关系)", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, SpecialDiseaseRoutePackage specialDiseaseRoutePackage) { + List list = specialDiseaseRoutePackageService.selectSpecialDiseaseRoutePackageList(specialDiseaseRoutePackage); + ExcelUtil util = new ExcelUtil<>(SpecialDiseaseRoutePackage.class); + util.exportExcel(response, list, "专病路径-服务包关系(多对多关系)数据"); + } + + /** + * 获取专病路径-服务包关系(多对多关系)详细信息 + */ + @PreAuthorize("@ss.hasPermi('system:routePackage:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(specialDiseaseRoutePackageService.selectSpecialDiseaseRoutePackageById(id)); + } + + /** + * 新增专病路径-服务包关系(多对多关系) + */ + @PreAuthorize("@ss.hasPermi('system:routePackage:add')") + @Log(title = "专病路径-服务包关系(多对多关系)", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody SpecialDiseaseRoutePackage specialDiseaseRoutePackage) { + return toAjax(specialDiseaseRoutePackageService.insertSpecialDiseaseRoutePackage(specialDiseaseRoutePackage)); + } + + /** + * 修改专病路径-服务包关系(多对多关系) + */ + @PreAuthorize("@ss.hasPermi('system:routePackage:edit')") + @Log(title = "专病路径-服务包关系(多对多关系)", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody SpecialDiseaseRoutePackage specialDiseaseRoutePackage) { + return toAjax(specialDiseaseRoutePackageService.updateSpecialDiseaseRoutePackage(specialDiseaseRoutePackage)); + } + + /** + * 删除专病路径-服务包关系(多对多关系) + */ + @PreAuthorize("@ss.hasPermi('system:routePackage:remove')") + @Log(title = "专病路径-服务包关系(多对多关系)", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(specialDiseaseRoutePackageService.deleteSpecialDiseaseRoutePackageByIds(ids)); + } +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/specialdiseaseroutepackage/SpecialDiseaseRoutePackage.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/specialdiseaseroutepackage/SpecialDiseaseRoutePackage.java new file mode 100644 index 00000000..3b226ba7 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/specialdiseaseroutepackage/SpecialDiseaseRoutePackage.java @@ -0,0 +1,76 @@ +package com.xinelu.manage.domain.specialdiseaseroutepackage; + +import com.xinelu.common.annotation.Excel; +import com.xinelu.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; + +/** + * 专病路径-服务包关系(多对多关系)对象 special_disease_route_package + * + * @author xinelu + * @date 2024-04-09 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +@EqualsAndHashCode(callSuper = true) +@ApiModel(value = "专病路径-服务包关系(多对多关系)对象", description = "special_disease_route_package") +public class SpecialDiseaseRoutePackage extends BaseEntity { + private static final long serialVersionUID = 1L; + + /** + * 主键id + */ + private Long id; + + /** + * 专病路径表id + */ + @ApiModelProperty(value = "专病路径表id") + @Excel(name = "专病路径表id") + private Long routeId; + + /** + * 服务包表id + */ + @ApiModelProperty(value = "服务包表id") + @Excel(name = "服务包表id") + private Long servicePackageId; + + /** + * 路径名称 + */ + @ApiModelProperty(value = "路径名称") + @Excel(name = "路径名称") + private String routeName; + + /** + * 服务包名称 + */ + @ApiModelProperty(value = "服务包名称") + @Excel(name = "服务包名称") + private String packageName; + + + @Override + public String toString() { + return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("routeId", getRouteId()) + .append("servicePackageId", getServicePackageId()) + .append("routeName", getRouteName()) + .append("packageName", getPackageName()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/specialdiseaseroutepackage/SpecialDiseaseRoutePackageMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/specialdiseaseroutepackage/SpecialDiseaseRoutePackageMapper.java new file mode 100644 index 00000000..03c1d924 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/specialdiseaseroutepackage/SpecialDiseaseRoutePackageMapper.java @@ -0,0 +1,73 @@ +package com.xinelu.manage.mapper.specialdiseaseroutepackage; + +import com.xinelu.manage.domain.specialdiseaseroutepackage.SpecialDiseaseRoutePackage; + +import java.util.List; + +/** + * 专病路径-服务包关系(多对多关系)Mapper接口 + * + * @author xinelu + * @date 2024-04-09 + */ +public interface SpecialDiseaseRoutePackageMapper { + /** + * 查询专病路径-服务包关系(多对多关系) + * + * @param id 专病路径-服务包关系(多对多关系)主键 + * @return 专病路径-服务包关系(多对多关系) + */ + SpecialDiseaseRoutePackage selectSpecialDiseaseRoutePackageById(Long id); + + /** + * 查询专病路径-服务包关系(多对多关系)列表 + * + * @param specialDiseaseRoutePackage 专病路径-服务包关系(多对多关系) + * @return 专病路径-服务包关系(多对多关系)集合 + */ + List selectSpecialDiseaseRoutePackageList(SpecialDiseaseRoutePackage specialDiseaseRoutePackage); + + /** + * 新增专病路径-服务包关系(多对多关系) + * + * @param specialDiseaseRoutePackage 专病路径-服务包关系(多对多关系) + * @return 结果 + */ + int insertSpecialDiseaseRoutePackage(SpecialDiseaseRoutePackage specialDiseaseRoutePackage); + + /** + * 修改专病路径-服务包关系(多对多关系) + * + * @param specialDiseaseRoutePackage 专病路径-服务包关系(多对多关系) + * @return 结果 + */ + int updateSpecialDiseaseRoutePackage(SpecialDiseaseRoutePackage specialDiseaseRoutePackage); + + /** + * 删除专病路径-服务包关系(多对多关系) + * + * @param id 专病路径-服务包关系(多对多关系)主键 + * @return 结果 + */ + int deleteSpecialDiseaseRoutePackageById(Long id); + + /** + * 批量删除专病路径-服务包关系(多对多关系) + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + int deleteSpecialDiseaseRoutePackageByIds(Long[] ids); + + + int insertSpecialDiseaseRoutePackageList(List specialDiseaseRoutePackageList); + + + /** + * 删除专病路径-服务包关系(多对多关系) + * + * @param routeId 专病路径-服务包关系(多对多关系)主键 + * @return 结果 + */ + int deleteSpecialDiseaseRoutePackageByRouteId(Long routeId); +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java index 968a6871..89f57d13 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/questioninfo/impl/QuestionInfoServiceImpl.java @@ -181,7 +181,9 @@ public class QuestionInfoServiceImpl implements IQuestionInfoService { saveQuestionSubject.setCreateTime(LocalDateTime.now()); saveQuestionSubject.setCreateBy(SecurityUtils.getUsername()); questionSubjects.add(saveQuestionSubject); - questionSubjectOptions.addAll(questionSubject.getQuestionSubjectOptionList()); + if (CollectionUtils.isNotEmpty(questionSubject.getQuestionSubjectOptionList())) { + questionSubjectOptions.addAll(questionSubject.getQuestionSubjectOptionList()); + } } int questionSubjectCount = questionSubjectMapper.insertQuestionSubjectList(questionSubjects); if (questionSubjectCount <= 0) { diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroute/ISpecialDiseaseRouteService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroute/ISpecialDiseaseRouteService.java index f6d70fb5..c9cc8deb 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroute/ISpecialDiseaseRouteService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroute/ISpecialDiseaseRouteService.java @@ -35,7 +35,7 @@ public interface ISpecialDiseaseRouteService { * @param specialDiseaseRoute 专病路径信息 * @return 结果 */ - int insertSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute); + AjaxResult insertSpecialDiseaseRoute(SpecialDiseaseRouteVO specialDiseaseRoute); /** * 修改专病路径信息 @@ -43,7 +43,7 @@ public interface ISpecialDiseaseRouteService { * @param specialDiseaseRoute 专病路径信息 * @return 结果 */ - int updateSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute); + AjaxResult updateSpecialDiseaseRoute(SpecialDiseaseRouteVO specialDiseaseRoute); /** * 批量删除专病路径信息 diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroute/impl/SpecialDiseaseRouteServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroute/impl/SpecialDiseaseRouteServiceImpl.java index bfa30904..1fb7affa 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroute/impl/SpecialDiseaseRouteServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroute/impl/SpecialDiseaseRouteServiceImpl.java @@ -6,14 +6,18 @@ import com.xinelu.common.enums.ReleaseStatusEnum; import com.xinelu.common.enums.RouteCheckStatusEnum; import com.xinelu.common.exception.ServiceException; import com.xinelu.common.utils.SecurityUtils; +import com.xinelu.common.utils.bean.BeanUtils; import com.xinelu.common.utils.codes.GenerateSystemCodeUtil; import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute; +import com.xinelu.manage.domain.specialdiseaseroutepackage.SpecialDiseaseRoutePackage; import com.xinelu.manage.mapper.specialdiseasenode.SpecialDiseaseNodeMapper; import com.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper; +import com.xinelu.manage.mapper.specialdiseaseroutepackage.SpecialDiseaseRoutePackageMapper; import com.xinelu.manage.mapper.specialdiseasetriggercondition.SpecialDiseaseTriggerConditionMapper; import com.xinelu.manage.service.specialdiseaseroute.ISpecialDiseaseRouteService; import com.xinelu.manage.vo.department.DepartmentVO; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO; +import com.xinelu.manage.vo.specialdiseaseroutepackage.SpecialDiseaseRoutePackageVO; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; @@ -41,6 +45,8 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi private SpecialDiseaseTriggerConditionMapper triggerConditionMapper; @Resource private GenerateSystemCodeUtil generateSystemCodeUtil; + @Resource + private SpecialDiseaseRoutePackageMapper specialDiseaseRoutePackageMapper; /** @@ -72,11 +78,31 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi * @return 结果 */ @Override - public int insertSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute) { + public AjaxResult insertSpecialDiseaseRoute(SpecialDiseaseRouteVO specialDiseaseRoute) { specialDiseaseRoute.setCreateTime(LocalDateTime.now()); specialDiseaseRoute.setCreateBy(SecurityUtils.getUsername()); specialDiseaseRoute.setRouteCode(Constants.ROUTE_CODE + generateSystemCodeUtil.generateSystemCode(Constants.ROUTE_CODE)); - return specialDiseaseRouteMapper.insertSpecialDiseaseRoute(specialDiseaseRoute); + int insertRouteCount = specialDiseaseRouteMapper.insertSpecialDiseaseRoute(specialDiseaseRoute); + if (insertRouteCount < 0) { + return AjaxResult.error("新增专病路径信息失败,请联系管理员!"); + } + List specialDiseaseRoutePackages = new ArrayList<>(); + SpecialDiseaseRoutePackage routePackage = new SpecialDiseaseRoutePackage(); + if (CollectionUtils.isNotEmpty(specialDiseaseRoute.getRoutePackageList())) { + for (SpecialDiseaseRoutePackage specialDiseaseRoutePackage : specialDiseaseRoute.getRoutePackageList()) { + specialDiseaseRoutePackage.setRouteId(specialDiseaseRoute.getId()); + specialDiseaseRoutePackage.setRouteName(specialDiseaseRoute.getRouteName()); + specialDiseaseRoutePackage.setCreateTime(LocalDateTime.now()); + specialDiseaseRoutePackage.setCreateBy(SecurityUtils.getUsername()); + BeanUtils.copyBeanProp(routePackage, specialDiseaseRoutePackage); + specialDiseaseRoutePackages.add(routePackage); + } + int insertRoutePackageCount = specialDiseaseRoutePackageMapper.insertSpecialDiseaseRoutePackageList(specialDiseaseRoutePackages); + if (insertRoutePackageCount < 0) { + return AjaxResult.error("新增专病路径信息失败,请联系管理员!"); + } + } + return AjaxResult.success(); } /** @@ -86,10 +112,33 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi * @return 结果 */ @Override - public int updateSpecialDiseaseRoute(SpecialDiseaseRoute specialDiseaseRoute) { + public AjaxResult updateSpecialDiseaseRoute(SpecialDiseaseRouteVO specialDiseaseRoute) { specialDiseaseRoute.setUpdateTime(LocalDateTime.now()); specialDiseaseRoute.setUpdateBy(SecurityUtils.getUsername()); - return specialDiseaseRouteMapper.updateSpecialDiseaseRoute(specialDiseaseRoute); + specialDiseaseRoute.setId(specialDiseaseRoute.getSpecialDiseaseRouteId()); + int updateRouteCount = specialDiseaseRouteMapper.updateSpecialDiseaseRoute(specialDiseaseRoute); + if (updateRouteCount < 0) { + return AjaxResult.error("修改专病路径信息失败,请联系管理员!"); + } + List specialDiseaseRoutePackages = new ArrayList<>(); + SpecialDiseaseRoutePackage routePackage = new SpecialDiseaseRoutePackage(); + if (CollectionUtils.isNotEmpty(specialDiseaseRoute.getRoutePackageList())) { + for (SpecialDiseaseRoutePackageVO specialDiseaseRoutePackage : specialDiseaseRoute.getRoutePackageList()) { + specialDiseaseRoutePackage.setUpdateTime(LocalDateTime.now()); + specialDiseaseRoutePackage.setUpdateBy(SecurityUtils.getUsername()); + BeanUtils.copyBeanProp(routePackage, specialDiseaseRoutePackage); + specialDiseaseRoutePackages.add(routePackage); + } + int insertRoutePackageCount = specialDiseaseRoutePackageMapper.insertSpecialDiseaseRoutePackageList(specialDiseaseRoutePackages); + if (insertRoutePackageCount < 0) { + return AjaxResult.error("修改专病路径信息失败,请联系管理员!"); + } + } + int deleteRoutePackageCount = specialDiseaseRoutePackageMapper.deleteSpecialDiseaseRoutePackageByRouteId(specialDiseaseRoute.getSpecialDiseaseRouteId()); + if (deleteRoutePackageCount < 0) { + return AjaxResult.error("修改专病路径信息失败,请联系管理员!"); + } + return AjaxResult.success(); } /** @@ -114,15 +163,19 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi public AjaxResult deleteSpecialDiseaseRouteById(Long id) { int deleteRouteCount = specialDiseaseRouteMapper.deleteSpecialDiseaseRouteById(id); if (deleteRouteCount < 0) { - throw new ServiceException("删除专病路径管理信息失败"); + throw new ServiceException("删除专病路径管理信息失败,请联系管理员!"); } int deleteNodeCount = specialDiseaseNodeMapper.deleteSpecialDiseaseNodeByRouteId(id); if (deleteNodeCount < 0) { - throw new ServiceException("删除专病路径管理信息失败"); + throw new ServiceException("删除专病路径管理信息失败,请联系管理员!"); } int deleteTriggerConditionCount = triggerConditionMapper.deleteSpecialDiseaseTriggerConditionByRouteId(id); if (deleteTriggerConditionCount < 0) { - throw new ServiceException("删除专病路径管理信息失败"); + throw new ServiceException("删除专病路径管理信息失败,请联系管理员!"); + } + int deleteRoutePackageCount = specialDiseaseRoutePackageMapper.deleteSpecialDiseaseRoutePackageByRouteId(id); + if (deleteRoutePackageCount < 0) { + return AjaxResult.error("删除专病路径管理信息失败,请联系管理员!"); } return AjaxResult.success(); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroutepackage/ISpecialDiseaseRoutePackageService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroutepackage/ISpecialDiseaseRoutePackageService.java new file mode 100644 index 00000000..21700d11 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroutepackage/ISpecialDiseaseRoutePackageService.java @@ -0,0 +1,61 @@ +package com.xinelu.manage.service.specialdiseaseroutepackage; + +import com.xinelu.manage.domain.specialdiseaseroutepackage.SpecialDiseaseRoutePackage; + +import java.util.List; + +/** + * 专病路径-服务包关系(多对多关系)Service接口 + * + * @author xinelu + * @date 2024-04-09 + */ +public interface ISpecialDiseaseRoutePackageService { + /** + * 查询专病路径-服务包关系(多对多关系) + * + * @param id 专病路径-服务包关系(多对多关系)主键 + * @return 专病路径-服务包关系(多对多关系) + */ + SpecialDiseaseRoutePackage selectSpecialDiseaseRoutePackageById(Long id); + + /** + * 查询专病路径-服务包关系(多对多关系)列表 + * + * @param specialDiseaseRoutePackage 专病路径-服务包关系(多对多关系) + * @return 专病路径-服务包关系(多对多关系)集合 + */ + List selectSpecialDiseaseRoutePackageList(SpecialDiseaseRoutePackage specialDiseaseRoutePackage); + + /** + * 新增专病路径-服务包关系(多对多关系) + * + * @param specialDiseaseRoutePackage 专病路径-服务包关系(多对多关系) + * @return 结果 + */ + int insertSpecialDiseaseRoutePackage(SpecialDiseaseRoutePackage specialDiseaseRoutePackage); + + /** + * 修改专病路径-服务包关系(多对多关系) + * + * @param specialDiseaseRoutePackage 专病路径-服务包关系(多对多关系) + * @return 结果 + */ + int updateSpecialDiseaseRoutePackage(SpecialDiseaseRoutePackage specialDiseaseRoutePackage); + + /** + * 批量删除专病路径-服务包关系(多对多关系) + * + * @param ids 需要删除的专病路径-服务包关系(多对多关系)主键集合 + * @return 结果 + */ + int deleteSpecialDiseaseRoutePackageByIds(Long[] ids); + + /** + * 删除专病路径-服务包关系(多对多关系)信息 + * + * @param id 专病路径-服务包关系(多对多关系)主键 + * @return 结果 + */ + int deleteSpecialDiseaseRoutePackageById(Long id); +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroutepackage/impl/SpecialDiseaseRoutePackageServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroutepackage/impl/SpecialDiseaseRoutePackageServiceImpl.java new file mode 100644 index 00000000..371082a5 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseaseroutepackage/impl/SpecialDiseaseRoutePackageServiceImpl.java @@ -0,0 +1,90 @@ +package com.xinelu.manage.service.specialdiseaseroutepackage.impl; + +import com.xinelu.manage.domain.specialdiseaseroutepackage.SpecialDiseaseRoutePackage; +import com.xinelu.manage.mapper.specialdiseaseroutepackage.SpecialDiseaseRoutePackageMapper; +import com.xinelu.manage.service.specialdiseaseroutepackage.ISpecialDiseaseRoutePackageService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.util.List; + +/** + * 专病路径-服务包关系(多对多关系)Service业务层处理 + * + * @author xinelu + * @date 2024-04-09 + */ +@Service +public class SpecialDiseaseRoutePackageServiceImpl implements ISpecialDiseaseRoutePackageService { + @Resource + private SpecialDiseaseRoutePackageMapper specialDiseaseRoutePackageMapper; + + /** + * 查询专病路径-服务包关系(多对多关系) + * + * @param id 专病路径-服务包关系(多对多关系)主键 + * @return 专病路径-服务包关系(多对多关系) + */ + @Override + public SpecialDiseaseRoutePackage selectSpecialDiseaseRoutePackageById(Long id) { + return specialDiseaseRoutePackageMapper.selectSpecialDiseaseRoutePackageById(id); + } + + /** + * 查询专病路径-服务包关系(多对多关系)列表 + * + * @param specialDiseaseRoutePackage 专病路径-服务包关系(多对多关系) + * @return 专病路径-服务包关系(多对多关系) + */ + @Override + public List selectSpecialDiseaseRoutePackageList(SpecialDiseaseRoutePackage specialDiseaseRoutePackage) { + return specialDiseaseRoutePackageMapper.selectSpecialDiseaseRoutePackageList(specialDiseaseRoutePackage); + } + + /** + * 新增专病路径-服务包关系(多对多关系) + * + * @param specialDiseaseRoutePackage 专病路径-服务包关系(多对多关系) + * @return 结果 + */ + @Override + public int insertSpecialDiseaseRoutePackage(SpecialDiseaseRoutePackage specialDiseaseRoutePackage) { + specialDiseaseRoutePackage.setCreateTime(LocalDateTime.now()); + return specialDiseaseRoutePackageMapper.insertSpecialDiseaseRoutePackage(specialDiseaseRoutePackage); + } + + /** + * 修改专病路径-服务包关系(多对多关系) + * + * @param specialDiseaseRoutePackage 专病路径-服务包关系(多对多关系) + * @return 结果 + */ + @Override + public int updateSpecialDiseaseRoutePackage(SpecialDiseaseRoutePackage specialDiseaseRoutePackage) { + specialDiseaseRoutePackage.setUpdateTime(LocalDateTime.now()); + return specialDiseaseRoutePackageMapper.updateSpecialDiseaseRoutePackage(specialDiseaseRoutePackage); + } + + /** + * 批量删除专病路径-服务包关系(多对多关系) + * + * @param ids 需要删除的专病路径-服务包关系(多对多关系)主键 + * @return 结果 + */ + @Override + public int deleteSpecialDiseaseRoutePackageByIds(Long[] ids) { + return specialDiseaseRoutePackageMapper.deleteSpecialDiseaseRoutePackageByIds(ids); + } + + /** + * 删除专病路径-服务包关系(多对多关系)信息 + * + * @param id 专病路径-服务包关系(多对多关系)主键 + * @return 结果 + */ + @Override + public int deleteSpecialDiseaseRoutePackageById(Long id) { + return specialDiseaseRoutePackageMapper.deleteSpecialDiseaseRoutePackageById(id); + } +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/specialdiseaseroute/SpecialDiseaseRouteVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/specialdiseaseroute/SpecialDiseaseRouteVO.java index 2dffbb03..0b4408b6 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/specialdiseaseroute/SpecialDiseaseRouteVO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/specialdiseaseroute/SpecialDiseaseRouteVO.java @@ -2,6 +2,7 @@ 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.specialdiseaseroutepackage.SpecialDiseaseRoutePackageVO; import com.xinelu.manage.vo.specialdiseasetriggercondition.TriggerConditionVO; import lombok.Data; import lombok.EqualsAndHashCode; @@ -42,4 +43,6 @@ public class SpecialDiseaseRouteVO extends SpecialDiseaseRoute { * 触发条件信息 */ List triggerConditionList; + + List routePackageList; } \ No newline at end of file diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/specialdiseaseroutepackage/SpecialDiseaseRoutePackageVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/specialdiseaseroutepackage/SpecialDiseaseRoutePackageVO.java new file mode 100644 index 00000000..f56c93f3 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/specialdiseaseroutepackage/SpecialDiseaseRoutePackageVO.java @@ -0,0 +1,18 @@ +package com.xinelu.manage.vo.specialdiseaseroutepackage; + +import com.xinelu.manage.domain.specialdiseaseroutepackage.SpecialDiseaseRoutePackage; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 专病路径-服务包关系(多对多关系)对象 special_disease_route_package + * + * @author xinelu + * @date 2024-04-09 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class SpecialDiseaseRoutePackageVO extends SpecialDiseaseRoutePackage { + + private Long specialDiseaseRoutePackageId; +} \ No newline at end of file diff --git a/postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroute/SpecialDiseaseRouteMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroute/SpecialDiseaseRouteMapper.xml index 3c6e1351..ccdef691 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroute/SpecialDiseaseRouteMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroute/SpecialDiseaseRouteMapper.xml @@ -42,6 +42,8 @@ + @@ -56,6 +58,14 @@ + + + + + + + + select id, department_id, @@ -373,6 +383,11 @@ sdtc.trigger_condition_value, sdtc.trigger_condition_sort, sdtc.trigger_condition_remark, + sdrp.id specialDiseaseRoutePackageId, + sdrp.route_id, + sdrp.service_package_id, + sdrp.route_name, + sdrp.package_name, (select COUNT(1) from special_disease_node where route_id = specialDiseaseRouteId) totalNumber, @@ -383,6 +398,7 @@ 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 sdr.id = sdtc.route_id + LEFT JOIN special_disease_route_package sdrp ON sdr.id = sdrp.route_id where sdr.id = #{id} diff --git a/postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroutepackage/SpecialDiseaseRoutePackageMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroutepackage/SpecialDiseaseRoutePackageMapper.xml new file mode 100644 index 00000000..1181e795 --- /dev/null +++ b/postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroutepackage/SpecialDiseaseRoutePackageMapper.xml @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + select id, + route_id, + service_package_id, + route_name, + package_name, + create_by, + create_time, + update_by, + update_time + from special_disease_route_package + + + + + + + + insert into special_disease_route_package + + route_id, + + service_package_id, + + route_name, + + package_name, + + create_by, + + create_time, + + update_by, + + update_time, + + + + #{routeId}, + + #{servicePackageId}, + + #{routeName}, + + #{packageName}, + + #{createBy}, + + #{createTime}, + + #{updateBy}, + + #{updateTime}, + + + + + + update special_disease_route_package + + route_id = + #{routeId}, + + service_package_id = + #{servicePackageId}, + + route_name = + #{routeName}, + + package_name = + #{packageName}, + + create_by = + #{createBy}, + + create_time = + #{createTime}, + + update_by = + #{updateBy}, + + update_time = + #{updateTime}, + + + where id = #{id} + + + + delete + from special_disease_route_package + where id = #{id} + + + + delete from special_disease_route_package where id in + + #{id} + + + + + insert into special_disease_route_package( + route_id, + service_package_id, + route_name, + package_name, + create_by, + create_time + ) values + + ( + #{specialDiseaseRoutePackageList.routeId}, + #{specialDiseaseRoutePackageList.servicePackageId}, + #{specialDiseaseRoutePackageList.routeName}, + #{specialDiseaseRoutePackageList.packageName}, + #{specialDiseaseRoutePackageList.createBy}, + #{specialDiseaseRoutePackageList.createTime} + ) + + + + + delete + from special_disease_route_package + where route_id = #{routeId} + + \ No newline at end of file