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 e9853a96..561b0e8b 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 @@ -95,4 +95,12 @@ public class SpecialDiseaseRouteController extends BaseController { public AjaxResult editReleaseStatus(@RequestBody SpecialDiseaseRoute specialDiseaseRoute) { return specialDiseaseRouteService.editReleaseStatus(specialDiseaseRoute); } + + /** + * 富文本解析 + */ + @GetMapping("/jsoupParse") + public List jsoupParse(Long specialDiseaseNodeId) { + return specialDiseaseRouteService.jsoupParse(specialDiseaseNodeId); + } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/PatientTaskDto.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/PatientTaskDto.java index a31e4de9..ac325fe8 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/PatientTaskDto.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/signpatientmanageroutenode/PatientTaskDto.java @@ -2,10 +2,11 @@ package com.xinelu.manage.dto.signpatientmanageroutenode; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; -import java.time.LocalDate; import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDate; + /** * @description: 患者任务查询传输对象 * @author: haown 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 39a91c5a..b2e78a39 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 @@ -77,4 +77,12 @@ public interface ISpecialDiseaseRouteService { * @return AjaxResult */ AjaxResult editReleaseStatus(SpecialDiseaseRoute specialDiseaseRoute); + + /** + * 富文本解析 + * + * @param specialDiseaseNodeId 节点id + * @return List + */ + List jsoupParse(Long specialDiseaseNodeId); } 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 0e754fb6..5779a5f6 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 @@ -8,6 +8,7 @@ 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.specialdiseasenode.SpecialDiseaseNode; import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute; import com.xinelu.manage.domain.specialdiseaseroutepackage.SpecialDiseaseRoutePackage; import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteDTO; @@ -21,6 +22,10 @@ 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.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.jsoup.nodes.Element; +import org.jsoup.select.Elements; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -192,12 +197,12 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi * @return AjaxResult */ @Override - public AjaxResult departmentRouteCount(String departmentName,String releaseStatus,Long servicePackageId) { + public AjaxResult departmentRouteCount(String departmentName, String releaseStatus, Long servicePackageId) { DepartmentVO departmentVO = new DepartmentVO(); List department = new ArrayList<>(); departmentVO.setDepartmentName("全部"); departmentVO.setCountNum(0); - List departmentVOS = specialDiseaseRouteMapper.departmentRouteByDepartmentName(departmentName,releaseStatus,servicePackageId); + List departmentVOS = specialDiseaseRouteMapper.departmentRouteByDepartmentName(departmentName, releaseStatus, servicePackageId); if (CollectionUtils.isNotEmpty(departmentVOS)) { Integer result = departmentVOS.stream().mapToInt(DepartmentVO::getCountNum).sum(); departmentVO.setCountNum(result); @@ -229,4 +234,25 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi specialDiseaseRoute.setUpdateBy(SecurityUtils.getUsername()); return AjaxResult.success(specialDiseaseRouteMapper.updateSpecialDiseaseRoute(specialDiseaseRoute)); } + + /** + * 富文本解析 + * + * @param specialDiseaseNodeId 节点id + * @return List + */ + public List jsoupParse(Long specialDiseaseNodeId) { + SpecialDiseaseNode specialDiseaseNode = specialDiseaseNodeMapper.selectSpecialDiseaseNodeById(specialDiseaseNodeId); + if (Objects.isNull(specialDiseaseNode) || StringUtils.isBlank(specialDiseaseNode.getNodeContent())) { + return new ArrayList<>(); + } + String xmlString = specialDiseaseNode.getNodeContent(); + Document doc = Jsoup.parse(xmlString); + Elements select = doc.select("span[data-w-e-type]"); + List strings = new ArrayList<>(); + for (Element element : select) { + strings.add(String.valueOf(element)); + } + return strings; + } }