From ba5a9ca3d86cd93ffc4b4652a49cca77da986353 Mon Sep 17 00:00:00 2001 From: haown <454902499@qq.com> Date: Mon, 8 Jul 2024 17:47:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9F=A5=E8=AF=86=E5=BA=93?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=8E=A5=E5=8F=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/KnowledgeBaseConstants.java | 22 +++++ .../KnowledgeBaseController.java | 36 ++++++++ .../SpecialDiseaseRouteController.java | 3 +- .../WechatTemplateController.java | 31 +++---- .../dto/operationinfo/BaseInfoQueryDto.java | 35 ++++++++ .../SpecialDiseaseRouteDTO.java | 5 ++ .../SpecialDiseaseRouteQueryDto.java | 16 ---- .../SpecialDiseaseRouteMapper.java | 3 +- .../wechattemplate/WechatTemplateMapper.java | 6 +- .../knowlagebase/IKnowlageBaseService.java | 15 ++++ .../impl/KnowlageBaseServiceImpl.java | 82 +++++++++++++++++++ .../impl/OperationInfoServiceImpl.java | 8 +- .../ISpecialDiseaseRouteService.java | 3 +- .../impl/SpecialDiseaseRouteServiceImpl.java | 23 +++--- .../IWechatTemplateService.java | 2 +- .../impl/WechatTemplateServiceImpl.java | 33 +------- .../SpecialDiseaseRouteMapper.xml | 24 +++--- .../wechattemplate/WechatTemplateMapper.xml | 8 +- 18 files changed, 248 insertions(+), 107 deletions(-) create mode 100644 postdischarge-common/src/main/java/com/xinelu/common/constant/KnowledgeBaseConstants.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/controller/knowledgebase/KnowledgeBaseController.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/dto/operationinfo/BaseInfoQueryDto.java delete mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/dto/specialdiseaseroute/SpecialDiseaseRouteQueryDto.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/service/knowlagebase/IKnowlageBaseService.java create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/service/knowlagebase/impl/KnowlageBaseServiceImpl.java diff --git a/postdischarge-common/src/main/java/com/xinelu/common/constant/KnowledgeBaseConstants.java b/postdischarge-common/src/main/java/com/xinelu/common/constant/KnowledgeBaseConstants.java new file mode 100644 index 00000000..d9ada679 --- /dev/null +++ b/postdischarge-common/src/main/java/com/xinelu/common/constant/KnowledgeBaseConstants.java @@ -0,0 +1,22 @@ +package com.xinelu.common.constant; + +/** + * @description: 知识库类型常量 + * @author: haown + * @create: 2024-07-08 16:30 + **/ +public class KnowledgeBaseConstants { + + /** + * 手术 + */ + public static final String OPERATOR = "OPERATOR"; + /** + * 话术 + */ + public static final String SCRIPT = "SCRIPT"; + /** + * 微信库 + */ + public static final String WECHAT = "WECHAT"; +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/knowledgebase/KnowledgeBaseController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/knowledgebase/KnowledgeBaseController.java new file mode 100644 index 00000000..8704fdfa --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/knowledgebase/KnowledgeBaseController.java @@ -0,0 +1,36 @@ +package com.xinelu.manage.controller.knowledgebase; + +import com.xinelu.common.core.page.TableDataInfo; +import com.xinelu.manage.dto.operationinfo.BaseInfoQueryDto; +import com.xinelu.manage.service.knowlagebase.IKnowlageBaseService; +import io.swagger.annotations.ApiOperation; +import javax.annotation.Resource; +import lombok.extern.slf4j.Slf4j; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @description: 知识库公共接口 + * @author: haown + * @create: 2024-07-08 16:29 + **/ +@Slf4j +@RestController +@RequestMapping("/manage/knowledge") +public class KnowledgeBaseController { + + @Resource + private IKnowlageBaseService knowlageBaseService; + + /** + * 知识库复制查询虚拟机构列表 + */ + @ApiOperation("知识库复制查询虚拟机构知识库列表") + @PreAuthorize("@ss.hasPermi('operationInfo:operationInfo:list')") + @GetMapping("/getBaseList") + public TableDataInfo getBaseInfoList(BaseInfoQueryDto baseInfoQueryDto) { + return knowlageBaseService.getBaseInfoList(baseInfoQueryDto); + } +} 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 17b5a39d..5dcaf9fe 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 @@ -10,7 +10,6 @@ import com.xinelu.common.custominterface.Update; import com.xinelu.common.enums.BusinessType; import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute; import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteDTO; -import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteQueryDto; import com.xinelu.manage.service.specialdiseaseroute.ISpecialDiseaseRouteService; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteInfoVo; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO; @@ -97,7 +96,7 @@ public class SpecialDiseaseRouteController extends BaseController { * 科室路径数量 */ @GetMapping("/departmentRouteCount") - public AjaxResult departmentRouteCount(SpecialDiseaseRouteQueryDto specialDiseaseRouteQueryDto) { + public AjaxResult departmentRouteCount(SpecialDiseaseRouteDTO specialDiseaseRouteQueryDto) { return specialDiseaseRouteService.departmentRouteCount(specialDiseaseRouteQueryDto); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/wechattemplate/WechatTemplateController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/wechattemplate/WechatTemplateController.java index d4b19733..6191ec45 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/wechattemplate/WechatTemplateController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/wechattemplate/WechatTemplateController.java @@ -1,12 +1,9 @@ package com.xinelu.manage.controller.wechattemplate; import com.xinelu.common.annotation.Log; -import com.xinelu.common.constant.HttpStatus; import com.xinelu.common.core.controller.BaseController; import com.xinelu.common.core.domain.AjaxResult; -import com.xinelu.common.core.page.PageDomain; import com.xinelu.common.core.page.TableDataInfo; -import com.xinelu.common.core.page.TableSupport; import com.xinelu.common.enums.BusinessType; import com.xinelu.common.utils.poi.ExcelUtil; import com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO; @@ -15,13 +12,18 @@ import com.xinelu.manage.service.wechattemplate.IWechatTemplateService; import com.xinelu.manage.vo.wechattemplate.WechatTemplateTaskVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; -import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.*; - +import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.util.List; -import java.util.stream.Collectors; +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; /** * 微信模板信息Controller @@ -43,18 +45,9 @@ public class WechatTemplateController extends BaseController { @PreAuthorize("@ss.hasPermi('manage:template:list')") @GetMapping("/list") public TableDataInfo list(WechatTemplateDTO wechatTemplateDto) { - PageDomain pageDomain = TableSupport.buildPageRequest(); - Integer pageNum = pageDomain.getPageNum(); - Integer pageSize = pageDomain.getPageSize(); + startPage(); List list = wechatTemplateService.selectWechatTemplateList(wechatTemplateDto); - //处理上面查询的list集合 - int num = list.size(); - list = list.stream().skip((long) (pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); - TableDataInfo rspData = new TableDataInfo(); - rspData.setCode(HttpStatus.SUCCESS); - rspData.setRows(list); - rspData.setTotal(num); - return rspData; + return getDataTable(list); } /** diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/operationinfo/BaseInfoQueryDto.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/operationinfo/BaseInfoQueryDto.java new file mode 100644 index 00000000..651cffe6 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/operationinfo/BaseInfoQueryDto.java @@ -0,0 +1,35 @@ +package com.xinelu.manage.dto.operationinfo; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: 知识库查询传输对象 + * @author: haown + * @create: 2024-07-08 16:14 + **/ +@Data +public class BaseInfoQueryDto { + + @ApiModelProperty("知识库类型") + private String type; + + /** + * 所属机构id + */ + @ApiModelProperty(value = "所属机构id") + private Long hospitalAgencyId; + + + /** + * 所属科室id + */ + @ApiModelProperty(value = "所属科室id") + private Long departmentId; + + /** + * 手术名称 + */ + @ApiModelProperty(value = "手术名称") + private String operationName; +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/specialdiseaseroute/SpecialDiseaseRouteDTO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/specialdiseaseroute/SpecialDiseaseRouteDTO.java index 5ad1e388..5b235135 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/specialdiseaseroute/SpecialDiseaseRouteDTO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/specialdiseaseroute/SpecialDiseaseRouteDTO.java @@ -14,4 +14,9 @@ import lombok.EqualsAndHashCode; @EqualsAndHashCode(callSuper = true) public class SpecialDiseaseRouteDTO extends SpecialDiseaseRoute { private Long servicePackageId; + + /** + * 所属机构id + */ + private Long hospitalAgencyId; } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/specialdiseaseroute/SpecialDiseaseRouteQueryDto.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/specialdiseaseroute/SpecialDiseaseRouteQueryDto.java deleted file mode 100644 index e66f15f2..00000000 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/specialdiseaseroute/SpecialDiseaseRouteQueryDto.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.xinelu.manage.dto.specialdiseaseroute; - -import lombok.Data; - -/** - * @description: 专病路径查询传输对象 - * @author: haown - * @create: 2024-07-08 09:54 - **/ -@Data -public class SpecialDiseaseRouteQueryDto { - private Long hospitalAgencyId; - private String departmentName; - private String releaseStatus; - private Long servicePackageId; -} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/specialdiseaseroute/SpecialDiseaseRouteMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/specialdiseaseroute/SpecialDiseaseRouteMapper.java index 0f40ae73..78fa8089 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/specialdiseaseroute/SpecialDiseaseRouteMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/specialdiseaseroute/SpecialDiseaseRouteMapper.java @@ -2,7 +2,6 @@ package com.xinelu.manage.mapper.specialdiseaseroute; import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute; import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteDTO; -import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteQueryDto; import com.xinelu.manage.vo.department.DepartmentVO; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseChildRouteAuditVo; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteAuditVo; @@ -89,7 +88,7 @@ public interface SpecialDiseaseRouteMapper { * @param specialDiseaseRouteQueryDto 查询条件 * @return DepartmentVO */ - List departmentRouteByDepartmentName(SpecialDiseaseRouteQueryDto specialDiseaseRouteQueryDto); + List departmentRouteByDepartmentName(SpecialDiseaseRouteDTO specialDiseaseRouteQueryDto); /** * 查询专病路径信息 diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/wechattemplate/WechatTemplateMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/wechattemplate/WechatTemplateMapper.java index 63649d57..d0bced2d 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/wechattemplate/WechatTemplateMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/wechattemplate/WechatTemplateMapper.java @@ -4,10 +4,10 @@ import com.xinelu.manage.domain.wechattemplate.WechatTemplate; import com.xinelu.manage.domain.wechattemplatesuittask.WechatTemplateSuitTask; import com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO; import com.xinelu.manage.dto.wechattemplate.WechatTemplateTaskDTO; +import com.xinelu.manage.vo.wechattemplate.WechatTemplateTaskVO; import com.xinelu.manage.vo.wechattemplate.WechatTemplateVO; -import org.apache.ibatis.annotations.Param; - import java.util.List; +import org.apache.ibatis.annotations.Param; /** * 微信模板信息Mapper接口 @@ -67,7 +67,7 @@ public interface WechatTemplateMapper { /** * 查询微信模板信息Dto列表 */ - List selectWechatTemplateDtoList(WechatTemplateDTO wechatTemplateDto); + List selectWechatTemplateDtoList(WechatTemplateDTO wechatTemplateDto); /** * 根据id查询微信模板Dto diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/knowlagebase/IKnowlageBaseService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/knowlagebase/IKnowlageBaseService.java new file mode 100644 index 00000000..be80007f --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/knowlagebase/IKnowlageBaseService.java @@ -0,0 +1,15 @@ +package com.xinelu.manage.service.knowlagebase; + +import com.xinelu.common.core.page.TableDataInfo; +import com.xinelu.manage.dto.operationinfo.BaseInfoQueryDto; + +/** + * 知识库公共Service接口 + * + * @author haown + * @date 2024-07-08 + */ +public interface IKnowlageBaseService { + + TableDataInfo getBaseInfoList(BaseInfoQueryDto baseInfoQueryDto); +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/knowlagebase/impl/KnowlageBaseServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/knowlagebase/impl/KnowlageBaseServiceImpl.java new file mode 100644 index 00000000..20186467 --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/knowlagebase/impl/KnowlageBaseServiceImpl.java @@ -0,0 +1,82 @@ +package com.xinelu.manage.service.knowlagebase.impl; + +import com.github.pagehelper.PageInfo; +import com.xinelu.common.constant.HttpStatus; +import com.xinelu.common.constant.KnowledgeBaseConstants; +import com.xinelu.common.core.page.TableDataInfo; +import com.xinelu.common.utils.PageUtils; +import com.xinelu.common.utils.bean.BeanUtils; +import com.xinelu.manage.domain.operationInfo.OperationInfo; +import com.xinelu.manage.domain.scriptInfo.ScriptInfo; +import com.xinelu.manage.dto.operationinfo.BaseInfoQueryDto; +import com.xinelu.manage.dto.operationinfo.OperationInfoDto; +import com.xinelu.manage.dto.script.ScriptInfoDto; +import com.xinelu.manage.dto.wechattemplate.WechatTemplateDTO; +import com.xinelu.manage.mapper.operationInfo.OperationInfoMapper; +import com.xinelu.manage.mapper.scriptInfo.ScriptInfoMapper; +import com.xinelu.manage.mapper.wechattemplate.WechatTemplateMapper; +import com.xinelu.manage.service.knowlagebase.IKnowlageBaseService; +import com.xinelu.manage.vo.wechattemplate.WechatTemplateTaskVO; +import java.util.List; +import javax.annotation.Resource; +import org.springframework.stereotype.Service; + +/** + * @description: 知识库Service业务层处理 + * @author: haown + * @create: 2024-07-08 16:25 + **/ +@Service +public class KnowlageBaseServiceImpl implements IKnowlageBaseService { + + @Resource + private OperationInfoMapper operationInfoMapper; + @Resource + private ScriptInfoMapper scriptInfoMapper; + @Resource + private WechatTemplateMapper wechatTemplateMapper; + + @Override + public TableDataInfo getBaseInfoList(BaseInfoQueryDto baseInfoQueryDto) { + TableDataInfo rspData = new TableDataInfo(); + switch(baseInfoQueryDto.getType()){ + case KnowledgeBaseConstants.OPERATOR: + OperationInfoDto operationInfo = new OperationInfoDto(); + BeanUtils.copyBeanProp(operationInfo, baseInfoQueryDto); + PageUtils.startPage(); + List list = operationInfoMapper.selectOperationList(operationInfo); + rspData.setCode(HttpStatus.SUCCESS); + rspData.setMsg("查询成功"); + rspData.setRows(list); + // 返回 页码 + rspData.setPageNum(new PageInfo(list).getPageNum()); + rspData.setTotal(new PageInfo(list).getTotal()); + break; + case KnowledgeBaseConstants.SCRIPT: + ScriptInfoDto scriptInfo = new ScriptInfoDto(); + BeanUtils.copyBeanProp(scriptInfo, baseInfoQueryDto); + PageUtils.startPage(); + List scriptList = scriptInfoMapper.selectScriptInfoList(scriptInfo); + rspData.setCode(HttpStatus.SUCCESS); + rspData.setMsg("查询成功"); + rspData.setRows(scriptList); + // 返回 页码 + rspData.setPageNum(new PageInfo(scriptList).getPageNum()); + rspData.setTotal(new PageInfo(scriptList).getTotal()); + break; + case KnowledgeBaseConstants.WECHAT: + WechatTemplateDTO wechatTemplateDto = new WechatTemplateDTO(); + BeanUtils.copyBeanProp(wechatTemplateDto, baseInfoQueryDto); + PageUtils.startPage(); + List wechatTemplateList = wechatTemplateMapper.selectWechatTemplateDtoList(wechatTemplateDto); + rspData.setCode(HttpStatus.SUCCESS); + rspData.setMsg("查询成功"); + rspData.setRows(wechatTemplateList); + // 返回 页码 + rspData.setPageNum(new PageInfo(wechatTemplateList).getPageNum()); + rspData.setTotal(new PageInfo(wechatTemplateList).getTotal()); + break; + } + return rspData; + } +} diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/operationInfo/impl/OperationInfoServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/operationInfo/impl/OperationInfoServiceImpl.java index a7cccf34..353b5d8e 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/operationInfo/impl/OperationInfoServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/operationInfo/impl/OperationInfoServiceImpl.java @@ -1,11 +1,17 @@ package com.xinelu.manage.service.operationInfo.impl; +import com.github.pagehelper.PageInfo; import com.xinelu.common.annotation.DataScope; import com.xinelu.common.constant.Constants; +import com.xinelu.common.constant.HttpStatus; +import com.xinelu.common.core.page.TableDataInfo; import com.xinelu.common.exception.ServiceException; +import com.xinelu.common.utils.PageUtils; 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.operationInfo.OperationInfo; +import com.xinelu.manage.dto.operationinfo.BaseInfoQueryDto; import com.xinelu.manage.dto.operationinfo.OperationInfoDto; import com.xinelu.manage.mapper.operationInfo.OperationInfoMapper; import com.xinelu.manage.service.operationInfo.IOperationInfoService; @@ -52,7 +58,7 @@ public class OperationInfoServiceImpl implements IOperationInfoService { return operationInfoMapper.selectOperationList(operationInfo); } - /** + /** * 新增手术信息 * * @param operationInfo 手术信息 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 5820fec0..05af6a7f 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 @@ -3,7 +3,6 @@ package com.xinelu.manage.service.specialdiseaseroute; import com.xinelu.common.core.domain.AjaxResult; import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute; import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteDTO; -import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteQueryDto; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteAuditVo; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteInfoVo; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO; @@ -77,7 +76,7 @@ public interface ISpecialDiseaseRouteService { * @param specialDiseaseRouteQueryDto 查询条件 * @return AjaxResult */ - AjaxResult departmentRouteCount(SpecialDiseaseRouteQueryDto specialDiseaseRouteQueryDto); + AjaxResult departmentRouteCount(SpecialDiseaseRouteDTO specialDiseaseRouteQueryDto); /** * 专病路径发布 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 b0269c31..524ede23 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,16 +8,18 @@ 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.agency.Agency; 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; -import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteQueryDto; +import com.xinelu.manage.mapper.agency.AgencyMapper; 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.DepartmentBaseVo; import com.xinelu.manage.vo.department.DepartmentVO; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteAuditVo; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteInfoVo; @@ -29,6 +31,7 @@ import java.util.List; import java.util.Objects; import javax.annotation.Resource; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; @@ -55,6 +58,8 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi private GenerateSystemCodeUtil generateSystemCodeUtil; @Resource private SpecialDiseaseRoutePackageMapper specialDiseaseRoutePackageMapper; + @Resource + private AgencyMapper agencyMapper; /** @@ -203,19 +208,11 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi * @return AjaxResult */ @Override - public AjaxResult departmentRouteCount(SpecialDiseaseRouteQueryDto specialDiseaseRouteQueryDto) { - DepartmentVO departmentVO = new DepartmentVO(); - List department = new ArrayList<>(); - departmentVO.setDepartmentName("全部"); - departmentVO.setCountNum(0); + public AjaxResult departmentRouteCount(SpecialDiseaseRouteDTO specialDiseaseRouteQueryDto) { List departmentVOS = specialDiseaseRouteMapper.departmentRouteByDepartmentName(specialDiseaseRouteQueryDto); - if (CollectionUtils.isNotEmpty(departmentVOS)) { - Integer result = departmentVOS.stream().mapToInt(DepartmentVO::getCountNum).sum(); - departmentVO.setCountNum(result); - department.add(departmentVO); - department.addAll(departmentVOS); - } - return AjaxResult.success(department); + Agency agency = agencyMapper.selectAgencyById(specialDiseaseRouteQueryDto.getHospitalAgencyId()); + return AjaxResult.success(DepartmentBaseVo.builder().hospitalAgencyName(ObjectUtils.isEmpty(agency) ? "" : agency.getAgencyName()) + .deptNumList(departmentVOS).build()); } /** diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/IWechatTemplateService.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/IWechatTemplateService.java index 824bb5cd..27071af5 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/IWechatTemplateService.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/IWechatTemplateService.java @@ -28,7 +28,7 @@ public interface IWechatTemplateService { * @param wechatTemplateDto 微信模板信息 * @return 微信模板信息集合 */ - public List selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto); + List selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto); /** * 新增微信模板信息 diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/impl/WechatTemplateServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/impl/WechatTemplateServiceImpl.java index ddb2cb52..4c4f6888 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/impl/WechatTemplateServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/wechattemplate/impl/WechatTemplateServiceImpl.java @@ -15,14 +15,12 @@ import com.xinelu.manage.service.wechattemplate.IWechatTemplateService; import com.xinelu.manage.vo.wechattemplate.WechatTemplateTaskVO; import com.xinelu.manage.vo.wechattemplate.WechatTemplateVO; import com.xinelu.system.mapper.SysDictDataMapper; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; -import java.util.stream.Collectors; +import javax.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; /** * 微信模板信息Service业务层处理 @@ -58,30 +56,7 @@ public class WechatTemplateServiceImpl implements IWechatTemplateService { @DataScope(agencyAlias = "d", deptAlias = "wt") @Override public List selectWechatTemplateList(WechatTemplateDTO wechatTemplateDto) { - // 查询微信模板信息列表 - List voList = wechatTemplateMapper.selectWechatTemplateDtoList(wechatTemplateDto); - // 转换 voList 到 WechatTemplateTaskVO 列表 - return voList.stream().map(vo -> { - WechatTemplateTaskVO taskVO = new WechatTemplateTaskVO(); - // 复制属性 - taskVO.setId(vo.getId()); - taskVO.setDepartmentId(vo.getDepartmentId()); - taskVO.setDepartmentName(vo.getDepartmentName()); - taskVO.setDiseaseTypeId(vo.getDiseaseTypeId()); - taskVO.setDiseaseTypeName(vo.getDiseaseTypeName()); - taskVO.setWechatTemplateName(vo.getWechatTemplateName()); - taskVO.setTemplateId(vo.getTemplateId()); - taskVO.setTemplateContent(vo.getTemplateContent()); - taskVO.setTemplateSource(vo.getTemplateSource()); - taskVO.setTemplateSort(vo.getTemplateSort()); - taskVO.setTemplateRemark(vo.getTemplateRemark()); - // 提取 suitTaskList 中的 typeName 字段并用逗号拼接 - String suitTaskTypeNames = (vo.getSuitTaskList() != null) ? vo.getSuitTaskList().stream() - .map(WechatTemplateSuitTask::getSuitTaskTypeName) - .collect(Collectors.joining(", ")) : ""; - taskVO.setSuitTaskTypeName(suitTaskTypeNames); - return taskVO; - }).collect(Collectors.toList()); + return wechatTemplateMapper.selectWechatTemplateDtoList(wechatTemplateDto); } /** 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 d85755e6..53dd5cbe 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroute/SpecialDiseaseRouteMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroute/SpecialDiseaseRouteMapper.xml @@ -214,17 +214,14 @@ sdr.create_by, sdr.create_time, sdr.update_by, - sdr.update_time, - (select COUNT(1) - from special_disease_node - where route_id = sdr.id) totalNumber, - (select COUNT(1) - from special_disease_node - where route_id = sdr.id - and route_check_status = 'AGREE') agreeNumber + sdr.update_time from special_disease_route sdr left join special_disease_route_package sdrp ON sdrp.route_id = sdr.id + left join department d on d.id = sdr.department_id + + and d.hospital_agency_id = #{hospitalAgencyId} + and sdr.department_id = #{departmentId} @@ -238,7 +235,7 @@ and sdr.disease_type_name like concat('%', #{diseaseTypeName}, '%') - and sdr.parent_route_id = 0 + and (sdr.parent_route_id = 0 or sdr.parent_route_id is null) and sdr.parent_route_id = #{parentRouteId} @@ -453,9 +450,8 @@ select dt.id, dt.department_name, dt.department_code, - ( SELECT COUNT(1) FROM special_disease_route a WHERE a.department_id = dt.id ) AS countNum + ( SELECT COUNT(1) FROM special_disease_route a WHERE a.department_id = dt.id and (a.parent_route_id = 0 or a.parent_route_id is null)) AS countNum from department dt left join special_disease_route sdr on dt.id = sdr.department_id - left join special_disease_route_package sdrp ON sdr.id = sdrp.route_id and dt.hospital_agency_id = #{hospitalAgencyId} @@ -466,9 +462,9 @@ AND sdr.release_status= #{releaseStatus} - - AND sdrp.service_package_id= #{servicePackageId} - + + AND (sdr.parent_route_id = 0 or sdr.parent_route_id is null) + GROUP BY dt.id diff --git a/postdischarge-manage/src/main/resources/mapper/manage/wechattemplate/WechatTemplateMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/wechattemplate/WechatTemplateMapper.xml index 09fe2c97..743a29b2 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/wechattemplate/WechatTemplateMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/wechattemplate/WechatTemplateMapper.xml @@ -112,7 +112,7 @@ where id = #{id} - select wt.id , wt.department_id, wt.department_name , @@ -125,9 +125,7 @@ wt.template_sort, wt.template_remark, wtst.id AS taskId, - wtst.wechat_template_id, - wtst.suit_task_type_id, - wtst.suit_task_type_name + GROUP_CONCAT(wtst.suit_task_type_name SEPARATOR ',') as suitTaskTypeName from wechat_template wt left join wechat_template_suit_task wtst on wt.id = wtst.wechat_template_id left join department d on d.id = wt.department_id @@ -158,7 +156,7 @@ ${params.dataScope} - order by wt.create_time DESC,wtst.create_time DESC + group by wt.id order by wt.create_time DESC,wtst.create_time DESC