From be597c2af373cd41521855309d3e3ad24efa0632 Mon Sep 17 00:00:00 2001 From: zhangheng <3226558941@qq.com> Date: Tue, 9 Apr 2024 17:50:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=82=A3=E8=80=85=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/dto/department/DepartmentDTO.java | 2 + .../SignPatientManageRouteMapper.java | 9 + .../SignRouteTriggerConditionMapper.java | 12 +- .../SignPatientManageRouteServiceImpl.java | 49 ++++- .../SignPatientManageRouteVO.java | 7 +- .../SignRouteTriggerConditionVO.java | 18 ++ .../manage/department/DepartmentMapper.xml | 19 +- .../SignPatientManageRouteMapper.xml | 192 ++++++++++++++++++ .../SignRouteTriggerConditionMapper.xml | 4 + 9 files changed, 290 insertions(+), 22 deletions(-) create mode 100644 postdischarge-manage/src/main/java/com/xinelu/manage/vo/signroutetriggercondition/SignRouteTriggerConditionVO.java 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 334a68fc..c2529ef7 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 @@ -50,6 +50,8 @@ public class DepartmentDTO extends BaseEntity { */ private String templateSource; + private String scriptStatus; + @Override public String toString() { return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE) diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroute/SignPatientManageRouteMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroute/SignPatientManageRouteMapper.java index 021e5d88..529b64eb 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroute/SignPatientManageRouteMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signpatientmanageroute/SignPatientManageRouteMapper.java @@ -4,6 +4,7 @@ import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute; import com.xinelu.manage.dto.manualfollowup.ManualFollowUpDTO; import com.xinelu.manage.vo.manualfollowup.ManualFollowPatientVO; import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO; +import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO; import java.util.List; @@ -23,6 +24,14 @@ public interface SignPatientManageRouteMapper { */ public SignPatientManageRoute selectSignPatientManageRouteById(Long id); + /** + * 查询签约患者管理任务路径 + * + * @param id 签约患者管理任务路径主键 + * @return 签约患者管理任务路径 + */ + SignPatientManageRouteVO selectSignPatientManageRoute(Long id); + /** * 查询签约患者管理任务路径列表 * diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signroutetriggercondition/SignRouteTriggerConditionMapper.java b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signroutetriggercondition/SignRouteTriggerConditionMapper.java index 0ca618e4..9ab816ef 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signroutetriggercondition/SignRouteTriggerConditionMapper.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/mapper/signroutetriggercondition/SignRouteTriggerConditionMapper.java @@ -51,7 +51,7 @@ public interface SignRouteTriggerConditionMapper { * @param id 签约患者管理任务(路径)触发条件关系主键 * @return 结果 */ - public int deleteSignRouteTriggerConditionById(Long id); + int deleteSignRouteTriggerConditionById(Long id); /** * 批量删除签约患者管理任务(路径)触发条件关系 @@ -59,7 +59,15 @@ public interface SignRouteTriggerConditionMapper { * @param ids 需要删除的数据主键集合 * @return 结果 */ - public int deleteSignRouteTriggerConditionByIds(Long[] ids); + int deleteSignRouteTriggerConditionByIds(Long[] ids); int insertBatch(@Param("signRouteTriggerConditionCollection") Collection signRouteTriggerConditionCollection); + + /** + * 删除签约患者管理任务(路径)触发条件关系 + * + * @param patientManageRouteId 签约患者管理任务表id + * @return 结果 + */ + int deleteConditionByPatientManageRouteId(Long patientManageRouteId); } 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 1669c300..c329b692 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 @@ -14,6 +14,7 @@ import com.xinelu.manage.domain.patientquestionsubmitresult.PatientQuestionSubmi import com.xinelu.manage.domain.patienttaskexecuterecord.PatientTaskExecuteRecord; import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute; import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode; +import com.xinelu.manage.domain.signroutetriggercondition.SignRouteTriggerCondition; import com.xinelu.manage.dto.manualfollowup.ManualFollowUpDTO; import com.xinelu.manage.dto.patientquestionoptionresult.PatientQuestionOptionResultDTO; import com.xinelu.manage.dto.patientquestionsubjectresult.PatientQuestionSubjectResultDTO; @@ -24,10 +25,12 @@ import com.xinelu.manage.mapper.patientquestionsubmitresult.PatientQuestionSubmi import com.xinelu.manage.mapper.patienttaskexecuterecord.PatientTaskExecuteRecordMapper; import com.xinelu.manage.mapper.signpatientmanageroute.SignPatientManageRouteMapper; import com.xinelu.manage.mapper.signpatientmanageroutenode.SignPatientManageRouteNodeMapper; +import com.xinelu.manage.mapper.signroutetriggercondition.SignRouteTriggerConditionMapper; import com.xinelu.manage.service.signpatientmanageroute.ISignPatientManageRouteService; import com.xinelu.manage.vo.manualfollowup.ManualFollowPatientVO; import com.xinelu.manage.vo.manualfollowup.ManualFollowUpVO; import com.xinelu.manage.vo.signpatientmanageroute.SignPatientManageRouteVO; +import com.xinelu.manage.vo.signroutetriggercondition.SignRouteTriggerConditionVO; import org.apache.commons.lang3.ObjectUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -59,6 +62,8 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout private PatientQuestionSubjectResultMapper patientQuestionSubjectResultMapper; @Resource private PatientQuestionOptionResultMapper patientQuestionOptionResultMapper; + @Resource + private SignRouteTriggerConditionMapper signRouteTriggerConditionMapper; /** * 查询签约患者管理任务路径 @@ -96,16 +101,28 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout if (insertRoute < 0) { return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!"); } - List routeNodeList = signPatientManageRoute.getRouteNodeList(); - for (SignPatientManageRouteNode signPatientManageRouteNode : routeNodeList) { + for (SignPatientManageRouteNode signPatientManageRouteNode : signPatientManageRoute.getRouteNodeList()) { signPatientManageRouteNode.setManageRouteId(signPatientManageRoute.getId()); signPatientManageRouteNode.setCreateTime(LocalDateTime.now()); signPatientManageRouteNode.setCreateBy(SecurityUtils.getUsername()); } - int insertBatchCount = signPatientManageRouteNodeMapper.insertBatch(routeNodeList); + int insertBatchCount = signPatientManageRouteNodeMapper.insertBatch(signPatientManageRoute.getRouteNodeList()); if (insertBatchCount < 0) { return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!"); } + List signRouteTriggerConditions = new ArrayList(); + for (SignRouteTriggerConditionVO signRouteTriggerCondition : signPatientManageRoute.getTriggerConditionList()) { + SignRouteTriggerCondition triggerCondition = new SignRouteTriggerCondition(); + signRouteTriggerCondition.setPatientManageRouteId(signPatientManageRoute.getId()); + signRouteTriggerCondition.setCreateTime(LocalDateTime.now()); + signRouteTriggerCondition.setCreateBy(SecurityUtils.getUsername()); + BeanUtils.copyBeanProp(triggerCondition, signRouteTriggerCondition); + signRouteTriggerConditions.add(triggerCondition); + } + int insertTriggerCondition = signRouteTriggerConditionMapper.insertBatch(signRouteTriggerConditions); + if (insertTriggerCondition < 0) { + return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!"); + } return AjaxResult.success(); } @@ -117,16 +134,20 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout */ @Override public AjaxResult updateSignPatientManageRoute(SignPatientManageRouteVO signPatientManageRoute) { + int deleteRouteNodeCount = signPatientManageRouteNodeMapper.deleteRouteNodeByManageRouteId(signPatientManageRoute.getSignPatientManageRouteId()); + if (deleteRouteNodeCount < 0) { + return AjaxResult.error("修改签约患者管理任务路径失败!请联系管理员!"); + } + int deleteConditionCount = signRouteTriggerConditionMapper.deleteConditionByPatientManageRouteId(signPatientManageRoute.getSignPatientManageRouteId()); + if (deleteConditionCount < 0) { + return AjaxResult.error("修改签约患者管理任务路径失败!请联系管理员!"); + } 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()); @@ -137,6 +158,19 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout if (insertBatchCount < 0) { return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!"); } + List signRouteTriggerConditions = new ArrayList<>(); + for (SignRouteTriggerConditionVO signRouteTriggerCondition : signPatientManageRoute.getTriggerConditionList()) { + SignRouteTriggerCondition triggerCondition = new SignRouteTriggerCondition(); + signRouteTriggerCondition.setCreateTime(LocalDateTime.now()); + signRouteTriggerCondition.setPatientManageRouteId(signPatientManageRoute.getId()); + signRouteTriggerCondition.setCreateBy(SecurityUtils.getUsername()); + BeanUtils.copyBeanProp(triggerCondition, signRouteTriggerCondition); + signRouteTriggerConditions.add(triggerCondition); + } + int insertTriggerCondition = signRouteTriggerConditionMapper.insertBatch(signRouteTriggerConditions); + if (insertTriggerCondition < 0) { + return AjaxResult.error("新增签约患者管理任务路径失败!请联系管理员!"); + } return AjaxResult.success(); } @@ -282,6 +316,7 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout throw new ServiceException("新增患者管理任务记录失败"); } } + /** * 更新节点任务表 */ 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 1be11586..77189e63 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 @@ -2,6 +2,7 @@ package com.xinelu.manage.vo.signpatientmanageroute; import com.xinelu.manage.domain.signpatientmanageroute.SignPatientManageRoute; import com.xinelu.manage.domain.signpatientmanageroutenode.SignPatientManageRouteNode; +import com.xinelu.manage.vo.signroutetriggercondition.SignRouteTriggerConditionVO; import lombok.Data; import lombok.EqualsAndHashCode; @@ -20,11 +21,15 @@ public class SignPatientManageRouteVO extends SignPatientManageRoute { /** * 患者管理任务路径id */ - private Long SignPatientManageRouteId; + private Long signPatientManageRouteId; /** * 节点信息 */ List routeNodeList; + /** + * 触发条件 + */ + List triggerConditionList; } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signroutetriggercondition/SignRouteTriggerConditionVO.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signroutetriggercondition/SignRouteTriggerConditionVO.java new file mode 100644 index 00000000..2b0af62a --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/signroutetriggercondition/SignRouteTriggerConditionVO.java @@ -0,0 +1,18 @@ +package com.xinelu.manage.vo.signroutetriggercondition; + +import com.xinelu.manage.domain.signroutetriggercondition.SignRouteTriggerCondition; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 签约患者管理任务(路径)触发条件关系对象 sign_route_trigger_condition + * + * @author haown + * @date 2024-03-18 + */ +@Data +@EqualsAndHashCode(callSuper = true) +public class SignRouteTriggerConditionVO extends SignRouteTriggerCondition { + + private Long signRouteTriggerConditionId; +} 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 c9c2d1a4..4915ef33 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/department/DepartmentMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/department/DepartmentMapper.xml @@ -172,14 +172,13 @@ from department d left join script_info si on d.id = si.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 si.script_status = #{scriptStatus} GROUP BY d.id, @@ -564,12 +563,8 @@ prepare_beds_count =#{prepareBedsCount}, department_phone = #{departmentPhone}, department_mail = #{departmentMail}, - establish_date = - #{establishDate}, - - revoke_date = - #{revokeDate}, - + establish_date = #{establishDate}, + revoke_date =#{revokeDate}, update_by = #{updateBy}, diff --git a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml index 4cfc4e5a..abc1ccb4 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/signpatientmanageroute/SignPatientManageRouteMapper.xml @@ -29,6 +29,105 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, sign_patient_record_id, patient_id, patient_name, department_id, department_name, service_package_id, package_name, disease_type_id, disease_type_name, route_id, route_name, task_create_type, version, route_classify, suit_range, route_sort, route_remark, create_by, create_time, update_by, update_time from sign_patient_manage_route @@ -93,6 +192,99 @@ where id = #{id} + +