From 763dbb5eb70f6b17790395c21a466993663609e2 Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Wed, 3 Apr 2024 17:52:02 +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 --- .../SpecialDiseaseNodeController.java | 4 +++ .../SpecialDiseaseRouteController.java | 6 ++-- .../manage/dto/department/DepartmentDTO.java | 10 ++++++ .../dto/manualfollowup/ManualFollowUpDTO.java | 21 +++++++---- .../SpecialDiseaseNodeMapper.java | 7 ++++ .../impl/SpecialDiseaseNodeServiceImpl.java | 32 +++++++++++++++++ .../ISpecialDiseaseRouteService.java | 2 +- .../impl/SpecialDiseaseRouteServiceImpl.java | 25 +++++++++++-- ...ialDiseaseTriggerConditionServiceImpl.java | 1 + .../PatientTaskExecuteRecordVO.java | 3 ++ .../manage/department/DepartmentMapper.xml | 14 ++++---- .../propagandainfo/PropagandaInfoMapper.xml | 2 +- .../SpecialDiseaseNodeMapper.xml | 36 +++++++++++++++++-- 13 files changed, 140 insertions(+), 23 deletions(-) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/specialdiseasenode/SpecialDiseaseNodeController.java b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/specialdiseasenode/SpecialDiseaseNodeController.java index b0906816..818a91bf 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/controller/specialdiseasenode/SpecialDiseaseNodeController.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/controller/specialdiseasenode/SpecialDiseaseNodeController.java @@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Objects; /** * 专病路径-管理节点信息Controller @@ -95,6 +96,9 @@ public class SpecialDiseaseNodeController extends BaseController { */ @GetMapping("/selectSpecialDisease") public AjaxResult selectSpecialDisease(Long specialDiseaseRouteId) { + if (Objects.isNull(specialDiseaseRouteId)) { + return AjaxResult.error("请选择查询的专病路径信息!"); + } return specialDiseaseNodeService.selectSpecialDisease(specialDiseaseRouteId); } } 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 22ccdf40..290c5f9d 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 @@ -84,9 +84,9 @@ public class SpecialDiseaseRouteController extends BaseController { */ @PreAuthorize("@ss.hasPermi('system:specialDiseaseRoute:remove')") @Log(title = "专病路径信息", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) { - return toAjax(specialDiseaseRouteService.deleteSpecialDiseaseRouteByIds(ids)); + @DeleteMapping("/{id}") + public AjaxResult remove(@PathVariable Long id) { + return specialDiseaseRouteService.deleteSpecialDiseaseRouteById(id); } /** diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/department/DepartmentDTO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/department/DepartmentDTO.java index b55b16e6..334a68fc 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/department/DepartmentDTO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/department/DepartmentDTO.java @@ -40,6 +40,16 @@ public class DepartmentDTO extends BaseEntity { @ApiModelProperty(value = "科室代码") private String departmentCode; + /** + * 短信上下架 + */ + private String textMessageStatus; + + /** + * 微信状态 + */ + private String templateSource; + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/manualfollowup/ManualFollowUpDTO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/manualfollowup/ManualFollowUpDTO.java index 0e4e3e08..6c2d9407 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/dto/manualfollowup/ManualFollowUpDTO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/dto/manualfollowup/ManualFollowUpDTO.java @@ -3,7 +3,9 @@ package com.xinelu.manage.dto.manualfollowup; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDate; import java.time.LocalDateTime; /** @@ -15,14 +17,15 @@ import java.time.LocalDateTime; @Data public class ManualFollowUpDTO { - + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "随访开始时间") @JsonFormat(pattern = "yyyy-MM-dd") - private LocalDateTime followStartTime; + private LocalDate followStartTime; + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "随访结束时间") @JsonFormat(pattern = "yyyy-MM-dd") - private LocalDateTime followEndTime; + private LocalDate followEndTime; @ApiModelProperty(value = "患者姓名") private String patientName; @@ -48,21 +51,25 @@ public class ManualFollowUpDTO { @ApiModelProperty(value = "就诊流水号") private String visitSerialNumber; + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "入院开始时间") @JsonFormat(pattern = "yyyy-MM-dd") - private LocalDateTime admissionStartTime; + private LocalDate admissionStartTime; + @DateTimeFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "入院结束时间") @JsonFormat(pattern = "yyyy-MM-dd") - private LocalDateTime admissionEndTime; + private LocalDate admissionEndTime; + @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "门诊(门诊患者)开始时间") - private LocalDateTime clinicalStartTime; + private LocalDate clinicalStartTime; + @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "门诊(门诊患者)结束时间") - private LocalDateTime clinicalEndTime; + private LocalDate clinicalEndTime; @JsonFormat(pattern = "yyyy-MM-dd") @ApiModelProperty(value = "出院时间(出院患者)开始时间") diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/specialdiseasenode/SpecialDiseaseNodeMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/specialdiseasenode/SpecialDiseaseNodeMapper.java index cf792f8f..a2f8598c 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/specialdiseasenode/SpecialDiseaseNodeMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/specialdiseasenode/SpecialDiseaseNodeMapper.java @@ -62,6 +62,13 @@ public interface SpecialDiseaseNodeMapper { */ int deleteSpecialDiseaseNodeByIds(Long[] ids); + + /** + * 批量新增专病路径 + * + * @param specialDiseaseNodeList 数据集合 + * @return int + */ int insertSpecialDiseaseNodeList(List specialDiseaseNodeList); /** diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java index 616eceb6..5d8cb826 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java @@ -6,8 +6,10 @@ import com.xinelu.common.utils.SecurityUtils; import com.xinelu.common.utils.bean.BeanUtils; import com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode; import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute; +import com.xinelu.manage.domain.specialdiseasetriggercondition.SpecialDiseaseTriggerCondition; import com.xinelu.manage.mapper.specialdiseasenode.SpecialDiseaseNodeMapper; import com.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper; +import com.xinelu.manage.mapper.specialdiseasetriggercondition.SpecialDiseaseTriggerConditionMapper; import com.xinelu.manage.service.specialdiseasenode.ISpecialDiseaseNodeService; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO; import lombok.extern.slf4j.Slf4j; @@ -16,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.LocalDateTime; +import java.util.ArrayList; import java.util.List; /** @@ -31,6 +34,8 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService private SpecialDiseaseNodeMapper specialDiseaseNodeMapper; @Resource private SpecialDiseaseRouteMapper specialDiseaseRouteMapper; + @Resource + private SpecialDiseaseTriggerConditionMapper triggerConditionMapper; /** @@ -81,6 +86,17 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService if (insertNodeCount < 0) { throw new ServiceException("新增专病路径管理节点信息失败"); } + List specialDiseaseTriggerConditions = new ArrayList<>(); + for (SpecialDiseaseTriggerCondition triggerCondition : specialDiseaseNode.getTriggerConditionList()) { + triggerCondition.setRouteId(specialDiseaseRoute.getId()); + triggerCondition.setCreateTime(LocalDateTime.now()); + triggerCondition.setCreateBy(SecurityUtils.getUsername()); + specialDiseaseTriggerConditions.add(triggerCondition); + } + int triggerConditionCount = triggerConditionMapper.insertTriggerConditionList(specialDiseaseTriggerConditions); + if (triggerConditionCount < 0) { + throw new ServiceException("新增专病路径管理节点信息失败"); + } return AjaxResult.success(); } @@ -117,6 +133,22 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService log.info("新增管理节点信息失败"); throw new ServiceException("修改专病路径管理节点信息失败"); } + int deleteCondition = triggerConditionMapper.deleteSpecialDiseaseTriggerConditionByRouteId(specialDiseaseRoute.getId()); + if (deleteCondition < 0) { + log.info("删除管理节点信息失败"); + throw new ServiceException("修改专病路径管理节点信息失败"); + } + List specialDiseaseTriggerConditions = new ArrayList<>(); + for (SpecialDiseaseTriggerCondition triggerCondition : specialDiseaseNode.getTriggerConditionList()) { + triggerCondition.setRouteId(specialDiseaseRoute.getId()); + triggerCondition.setCreateTime(LocalDateTime.now()); + triggerCondition.setCreateBy(SecurityUtils.getUsername()); + specialDiseaseTriggerConditions.add(triggerCondition); + } + int triggerConditionCount = triggerConditionMapper.insertTriggerConditionList(specialDiseaseTriggerConditions); + if (triggerConditionCount < 0) { + throw new ServiceException("修改专病路径管理节点信息失败"); + } return AjaxResult.success(); } 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 ec6433a0..c2697742 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 @@ -59,7 +59,7 @@ public interface ISpecialDiseaseRouteService { * @param id 专病路径信息主键 * @return 结果 */ - int deleteSpecialDiseaseRouteById(Long id); + AjaxResult deleteSpecialDiseaseRouteById(Long id); /** * 科室路径数量 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 a6b94cc8..dfa5d60c 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 @@ -1,13 +1,17 @@ package com.xinelu.manage.service.specialdiseaseroute.impl; import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.common.exception.ServiceException; import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute; +import com.xinelu.manage.mapper.specialdiseasenode.SpecialDiseaseNodeMapper; import com.xinelu.manage.mapper.specialdiseaseroute.SpecialDiseaseRouteMapper; +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 org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.LocalDateTime; @@ -24,6 +28,10 @@ import java.util.List; public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteService { @Resource private SpecialDiseaseRouteMapper specialDiseaseRouteMapper; + @Resource + private SpecialDiseaseNodeMapper specialDiseaseNodeMapper; + @Resource + private SpecialDiseaseTriggerConditionMapper triggerConditionMapper; /** * 查询专病路径信息 @@ -88,9 +96,22 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi * @param id 专病路径信息主键 * @return 结果 */ + @Transactional(rollbackFor = Exception.class) @Override - public int deleteSpecialDiseaseRouteById(Long id) { - return specialDiseaseRouteMapper.deleteSpecialDiseaseRouteById(id); + public AjaxResult deleteSpecialDiseaseRouteById(Long id) { + int deleteRouteCount = specialDiseaseRouteMapper.deleteSpecialDiseaseRouteById(id); + if (deleteRouteCount < 0) { + throw new ServiceException("删除专病路径管理信息失败"); + } + int deleteNodeCount = specialDiseaseNodeMapper.deleteSpecialDiseaseNodeByRouteId(id); + if (deleteNodeCount < 0) { + throw new ServiceException("删除专病路径管理信息失败"); + } + int deleteTriggerConditionCount = triggerConditionMapper.deleteSpecialDiseaseTriggerConditionByRouteId(id); + if (deleteTriggerConditionCount < 0) { + throw new ServiceException("删除专病路径管理信息失败"); + } + return AjaxResult.success(); } /** diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasetriggercondition/impl/SpecialDiseaseTriggerConditionServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasetriggercondition/impl/SpecialDiseaseTriggerConditionServiceImpl.java index b6f5f42c..992501ae 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasetriggercondition/impl/SpecialDiseaseTriggerConditionServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasetriggercondition/impl/SpecialDiseaseTriggerConditionServiceImpl.java @@ -67,6 +67,7 @@ public class SpecialDiseaseTriggerConditionServiceImpl implements ISpecialDiseas @Override public int updateSpecialDiseaseTriggerCondition(SpecialDiseaseTriggerCondition specialDiseaseTriggerCondition) { specialDiseaseTriggerCondition.setUpdateTime(LocalDateTime.now()); + specialDiseaseTriggerCondition.setUpdateBy(SecurityUtils.getUsername()); return specialDiseaseTriggerConditionMapper.updateSpecialDiseaseTriggerCondition(specialDiseaseTriggerCondition); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patienttaskexecuterecord/PatientTaskExecuteRecordVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patienttaskexecuterecord/PatientTaskExecuteRecordVO.java index 87fc4990..cab744d2 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patienttaskexecuterecord/PatientTaskExecuteRecordVO.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/patienttaskexecuterecord/PatientTaskExecuteRecordVO.java @@ -7,6 +7,7 @@ import java.time.LocalDate; import java.time.LocalDateTime; import lombok.Data; import lombok.EqualsAndHashCode; +import org.springframework.format.annotation.DateTimeFormat; /** @@ -69,9 +70,11 @@ public class PatientTaskExecuteRecordVO extends PatientTaskExecuteRecord { @ApiModelProperty(value = "就诊方式,门诊:OUTPATIENT_SERVICE,住院:BE_IN_HOSPITAL") private String visitMethod; + @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate startDate; + @DateTimeFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd") private LocalDate endDate; diff --git a/postdischarge-manage/src/main/resources/mapper/manage/department/DepartmentMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/department/DepartmentMapper.xml index a45d51f9..c9c2d1a4 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/department/DepartmentMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/department/DepartmentMapper.xml @@ -218,14 +218,13 @@ from department d left join wechat_template wt on d.id = wt.department_id - and d.department_code = - #{departmentCode} + and d.department_code =#{departmentCode} - and d.department_name like concat('%', - #{departmentName}, - '%' - ) + and d.department_name like concat('%',#{departmentName},'%') + + + and wt.template_source =#{templateSource} GROUP BY d.id, @@ -245,6 +244,9 @@ and d.department_name like concat('%',#{departmentName},'%') + + and tm.text_message_status = #{textMessageStatus} + GROUP BY d.id, d.department_name, diff --git a/postdischarge-manage/src/main/resources/mapper/manage/propagandainfo/PropagandaInfoMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/propagandainfo/PropagandaInfoMapper.xml index 3b8e69d2..22c2a259 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/propagandainfo/PropagandaInfoMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/propagandainfo/PropagandaInfoMapper.xml @@ -74,7 +74,7 @@ and department_id = #{departmentId} - and propaganda_title = #{propagandaTitle} + and propaganda_title like concat('%', #{propagandaTitle}, '%') and propaganda_type = #{propagandaType} diff --git a/postdischarge-manage/src/main/resources/mapper/manage/specialdiseasenode/SpecialDiseaseNodeMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/specialdiseasenode/SpecialDiseaseNodeMapper.xml index a0184146..f698c374 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/specialdiseasenode/SpecialDiseaseNodeMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/specialdiseasenode/SpecialDiseaseNodeMapper.xml @@ -20,6 +20,8 @@ + @@ -71,6 +73,18 @@ + + + + + + + + + + + + select id, route_id, @@ -704,7 +718,7 @@ + + + + + + \ No newline at end of file