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 e4748298..3f25ee73 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 @@ -16,18 +16,12 @@ import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteAuditVo; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteInfoVo; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO; import io.swagger.annotations.ApiOperation; -import java.util.List; -import javax.annotation.Resource; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; -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; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; /** * 专病路径信息Controller @@ -137,4 +131,11 @@ public class SpecialDiseaseRouteController extends BaseController { return R.ok(specialDiseaseRouteService.getRouteNodeInfo(id)); } + /** + * 克隆 + */ + @PostMapping("/cloneRoute") + public AjaxResult cloneRoute(Long id) { + return specialDiseaseRouteService.cloneRoute(id); + } } 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 6fa35598..fad4b682 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 @@ -6,6 +6,8 @@ import com.xinelu.manage.vo.specialdiseasenode.RouteTaskAuditVo; import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeAuditVo; import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeVO; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO; +import org.apache.ibatis.annotations.Param; + import java.util.List; @@ -115,4 +117,12 @@ public interface SpecialDiseaseNodeMapper { * @return 主路径节点及子路径节点列表 */ List getByParentRouteId(Long parentRouteId); + + /** + * 根据路径id查询节点信息 + * + * @param specialDiseaseRouteIds + * @return SpecialDiseaseNode + */ + List selectSpecialDiseaseNodes(@Param("specialDiseaseRouteIds") List specialDiseaseRouteIds); } 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 18c22500..990662ec 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 @@ -3,10 +3,7 @@ package com.xinelu.manage.mapper.specialdiseaseroute; import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute; import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteDTO; import com.xinelu.manage.vo.department.DepartmentVO; -import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseChildRouteAuditVo; -import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteAuditVo; -import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteInfoVo; -import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO; +import com.xinelu.manage.vo.specialdiseaseroute.*; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -51,6 +48,7 @@ public interface SpecialDiseaseRouteMapper { SpecialDiseaseRouteAuditVo getRouteAuditInfo(Long routeId); List selectAuditChildRoute(Long parentRouteId); + /** * 新增专病路径信息 * @@ -112,10 +110,11 @@ public interface SpecialDiseaseRouteMapper { * @return */ List getChildList(@Param("specialDiseaseRouteId")Long specialDiseaseRouteId); + /** * 查询未审核节点状态 * - * @param routeId 路径信息 + * @param routeId 路径信息 * @return int */ List selectRouteCheckStatus(Long routeId); @@ -128,4 +127,20 @@ public interface SpecialDiseaseRouteMapper { * @return */ List selectCountByName(@Param("departmentId") Long departmentId, @Param("routeName") String routeName); + + /** + * 查询子节点路径 + * + * @param specialDiseaseRouteId 路径id + * @return OriginalSpecialDiseaseRoute + */ + List getChildSpecialDiseaseRoute(Long specialDiseaseRouteId); + + /** + * 新增子节点路径 + * + * @param specialDiseaseRoutes 节点信息 + * @return int + */ + int insertSpecialDiseaseRouteList(@Param("specialDiseaseRoutes") List specialDiseaseRoutes); } 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 a712a338..167d9e80 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 @@ -300,9 +300,6 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout manualFollowUpDTO.setPhoneNodeExecuteResultStatus(null); } List manualFollowUpVOS = signPatientManageRouteMapper.selectManualFollowUpList(manualFollowUpDTO); - if (StringUtils.isNotBlank(manualFollowUpDTO.getTimeSign()) && manualFollowUpDTO.getTimeSign().equals("WHOLE")) { - return manualFollowUpVOS; - } if (manualFollowUpDTO.getNodeExecuteStatus().equals(NodeExecuteStatusEnum.EXECUTED.getInfo())) { return manualFollowUpVOS; } @@ -355,6 +352,11 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout manualFollowUps.add(manualFollowUpVO); } } + //返回所有未执行任务 + if (StringUtils.isNotBlank(manualFollowUpDTO.getTimeSign()) && manualFollowUpDTO.getTimeSign().equals("WHOLE")) { + return manualFollowUpVOS; + } + //返回今天之前任务 return manualFollowUps; } 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 1ff349a4..f181af23 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 @@ -102,4 +102,12 @@ public interface ISpecialDiseaseRouteService { * @date 2024-07-26 16:00 */ List getRouteNodeInfo(Long id); + + /** + * 克隆节点路径 + * + * @param id 路径id + * @return AjaxResult + */ + AjaxResult cloneRoute(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 f14a70c6..c3ae81f3 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 @@ -13,8 +13,10 @@ 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.scriptInfo.ScriptInfo; +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.domain.specialdiseasetriggercondition.SpecialDiseaseTriggerCondition; import com.xinelu.manage.domain.textmessage.TextMessage; import com.xinelu.manage.domain.wechattemplate.WechatTemplate; import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteDTO; @@ -35,10 +37,13 @@ import com.xinelu.manage.vo.propagandainfo.PropagandaMaterialsVo; import com.xinelu.manage.vo.questionInfo.QuestionVO; import com.xinelu.manage.vo.signpatientmanageroutenode.SignPatientManageNodeAuditVo; import com.xinelu.manage.vo.specialdiseasenode.RouteTaskAuditVo; +import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeVO; +import com.xinelu.manage.vo.specialdiseaseroute.OriginalSpecialDiseaseRoute; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteAuditVo; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteInfoVo; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO; import com.xinelu.manage.vo.specialdiseaseroutepackage.SpecialDiseaseRoutePackageVO; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -58,6 +63,7 @@ import java.util.stream.Collectors; * @author xinelu * @date 2024-03-13 */ +@Slf4j @Service public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteService { @Resource @@ -70,18 +76,20 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi private GenerateSystemCodeUtil generateSystemCodeUtil; @Resource private SpecialDiseaseRoutePackageMapper specialDiseaseRoutePackageMapper; - @Resource - private AgencyMapper agencyMapper; - @Resource - private ScriptInfoMapper scriptInfoMapper; - @Resource - private IQuestionInfoService questionInfoService; - @Resource - private IPropagandaInfoService propagandaInfoService; - @Resource - private TextMessageMapper textMessageMapper; - @Resource - private WechatTemplateMapper wechatTemplateMapper; + @Resource + private AgencyMapper agencyMapper; + @Resource + private ScriptInfoMapper scriptInfoMapper; + @Resource + private IQuestionInfoService questionInfoService; + @Resource + private IPropagandaInfoService propagandaInfoService; + @Resource + private TextMessageMapper textMessageMapper; + @Resource + private WechatTemplateMapper wechatTemplateMapper; + @Resource + private SpecialDiseaseTriggerConditionMapper specialDiseaseTriggerConditionMapper; /** * 查询专病路径信息 @@ -98,7 +106,7 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi return specialDiseaseRouteMapper.getRouteAndChild(id); } - /** + /** * 查询专病路径信息列表 * * @param specialDiseaseRoute 专病路径信息 @@ -161,9 +169,9 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi public AjaxResult updateSpecialDiseaseRoute(SpecialDiseaseRouteVO specialDiseaseRoute) { //判断名称重复 List specialDiseaseRoutes = specialDiseaseRouteMapper.selectCountByName(specialDiseaseRoute.getDepartmentId(), specialDiseaseRoute.getRouteName()); - if (CollectionUtils.isNotEmpty(specialDiseaseRoutes)){ + if (CollectionUtils.isNotEmpty(specialDiseaseRoutes)) { List collect = specialDiseaseRoutes.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getId()) && !specialDiseaseRoute.getId().equals(item.getId())).collect(Collectors.toList()); - if (CollectionUtils.isNotEmpty(collect)){ + if (CollectionUtils.isNotEmpty(collect)) { return AjaxResult.error("路径名称 '" + specialDiseaseRoute.getRouteName() + "' 重复!"); } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/vo/specialdiseaseroute/OriginalSpecialDiseaseRoute.java b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/specialdiseaseroute/OriginalSpecialDiseaseRoute.java new file mode 100644 index 00000000..153a3a4f --- /dev/null +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/vo/specialdiseaseroute/OriginalSpecialDiseaseRoute.java @@ -0,0 +1,18 @@ +package com.xinelu.manage.vo.specialdiseaseroute; + +import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute; +import lombok.Data; +import lombok.EqualsAndHashCode; + +/** + * 克隆路径vo + * + * @author zh + * @date 2024-08-12 + */ +@EqualsAndHashCode(callSuper = true) +@Data +public class OriginalSpecialDiseaseRoute extends SpecialDiseaseRoute { + + private Long originalSpecialDiseaseRouteId; +} 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 a3b5400f..33a6b537 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/specialdiseasenode/SpecialDiseaseNodeMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/specialdiseasenode/SpecialDiseaseNodeMapper.xml @@ -972,4 +972,56 @@ where sdr.id = #{parentRouteId} or sdr.parent_route_id = #{parentRouteId} and sdn.route_check_status = 'AGREE' + + \ 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 0f0ffa07..51a9863b 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroute/SpecialDiseaseRouteMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroute/SpecialDiseaseRouteMapper.xml @@ -604,4 +604,64 @@ department_id =#{departmentId} and route_name =#{routeName} + + + + + insert into special_disease_route( + parent_route_id, + department_id, + department_name, + disease_type_id, + disease_type_name, + route_name, + route_code, + version, + route_classify, + release_status, + suit_range, + route_sort, + route_remark, + create_by, + create_time + )values + + ( + #{specialDiseaseRoutes.parentRouteId}, + #{specialDiseaseRoutes.departmentId}, + #{specialDiseaseRoutes.departmentName}, + #{specialDiseaseRoutes.diseaseTypeId}, + #{specialDiseaseRoutes.diseaseTypeName}, + #{specialDiseaseRoutes.routeName}, + #{specialDiseaseRoutes.routeCode}, + #{specialDiseaseRoutes.version}, + #{specialDiseaseRoutes.routeClassify}, + #{specialDiseaseRoutes.releaseStatus}, + #{specialDiseaseRoutes.suitRange}, + #{specialDiseaseRoutes.routeSort}, + #{specialDiseaseRoutes.routeRemark}, + #{specialDiseaseRoutes.createBy}, + #{specialDiseaseRoutes.createTime} + ) + + \ No newline at end of file