Merge branch '0418_小程序开发' of http://182.92.166.109:3000/zhuangyuanke/PostDischargePatientManage into 0418_小程序开发
This commit is contained in:
commit
044b987769
@ -16,18 +16,12 @@ import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteAuditVo;
|
|||||||
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteInfoVo;
|
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteInfoVo;
|
||||||
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
|
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import java.util.List;
|
|
||||||
import javax.annotation.Resource;
|
|
||||||
import org.springframework.security.access.prepost.PreAuthorize;
|
import org.springframework.security.access.prepost.PreAuthorize;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
import javax.annotation.Resource;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
import java.util.List;
|
||||||
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
|
* 专病路径信息Controller
|
||||||
@ -137,4 +131,11 @@ public class SpecialDiseaseRouteController extends BaseController {
|
|||||||
return R.ok(specialDiseaseRouteService.getRouteNodeInfo(id));
|
return R.ok(specialDiseaseRouteService.getRouteNodeInfo(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 克隆
|
||||||
|
*/
|
||||||
|
@PostMapping("/cloneRoute")
|
||||||
|
public AjaxResult cloneRoute(Long id) {
|
||||||
|
return specialDiseaseRouteService.cloneRoute(id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,6 +6,8 @@ import com.xinelu.manage.vo.specialdiseasenode.RouteTaskAuditVo;
|
|||||||
import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeAuditVo;
|
import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeAuditVo;
|
||||||
import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeVO;
|
import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeVO;
|
||||||
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
|
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
@ -115,4 +117,12 @@ public interface SpecialDiseaseNodeMapper {
|
|||||||
* @return 主路径节点及子路径节点列表
|
* @return 主路径节点及子路径节点列表
|
||||||
*/
|
*/
|
||||||
List<RouteTaskAuditVo> getByParentRouteId(Long parentRouteId);
|
List<RouteTaskAuditVo> getByParentRouteId(Long parentRouteId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据路径id查询节点信息
|
||||||
|
*
|
||||||
|
* @param specialDiseaseRouteIds
|
||||||
|
* @return SpecialDiseaseNode
|
||||||
|
*/
|
||||||
|
List<SpecialDiseaseNode> selectSpecialDiseaseNodes(@Param("specialDiseaseRouteIds") List<Long> specialDiseaseRouteIds);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,10 +3,7 @@ package com.xinelu.manage.mapper.specialdiseaseroute;
|
|||||||
import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute;
|
import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute;
|
||||||
import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteDTO;
|
import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteDTO;
|
||||||
import com.xinelu.manage.vo.department.DepartmentVO;
|
import com.xinelu.manage.vo.department.DepartmentVO;
|
||||||
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseChildRouteAuditVo;
|
import com.xinelu.manage.vo.specialdiseaseroute.*;
|
||||||
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteAuditVo;
|
|
||||||
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteInfoVo;
|
|
||||||
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
|
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -51,6 +48,7 @@ public interface SpecialDiseaseRouteMapper {
|
|||||||
SpecialDiseaseRouteAuditVo getRouteAuditInfo(Long routeId);
|
SpecialDiseaseRouteAuditVo getRouteAuditInfo(Long routeId);
|
||||||
|
|
||||||
List<SpecialDiseaseChildRouteAuditVo> selectAuditChildRoute(Long parentRouteId);
|
List<SpecialDiseaseChildRouteAuditVo> selectAuditChildRoute(Long parentRouteId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增专病路径信息
|
* 新增专病路径信息
|
||||||
*
|
*
|
||||||
@ -112,6 +110,7 @@ public interface SpecialDiseaseRouteMapper {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<SpecialDiseaseRouteInfoVo> getChildList(@Param("specialDiseaseRouteId")Long specialDiseaseRouteId);
|
List<SpecialDiseaseRouteInfoVo> getChildList(@Param("specialDiseaseRouteId")Long specialDiseaseRouteId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询未审核节点状态
|
* 查询未审核节点状态
|
||||||
*
|
*
|
||||||
@ -128,4 +127,20 @@ public interface SpecialDiseaseRouteMapper {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<SpecialDiseaseRoute> selectCountByName(@Param("departmentId") Long departmentId, @Param("routeName") String routeName);
|
List<SpecialDiseaseRoute> selectCountByName(@Param("departmentId") Long departmentId, @Param("routeName") String routeName);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询子节点路径
|
||||||
|
*
|
||||||
|
* @param specialDiseaseRouteId 路径id
|
||||||
|
* @return OriginalSpecialDiseaseRoute
|
||||||
|
*/
|
||||||
|
List<OriginalSpecialDiseaseRoute> getChildSpecialDiseaseRoute(Long specialDiseaseRouteId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增子节点路径
|
||||||
|
*
|
||||||
|
* @param specialDiseaseRoutes 节点信息
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
int insertSpecialDiseaseRouteList(@Param("specialDiseaseRoutes") List<OriginalSpecialDiseaseRoute> specialDiseaseRoutes);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -318,9 +318,6 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
|
|||||||
manualFollowUpDTO.setPhoneNodeExecuteResultStatus(null);
|
manualFollowUpDTO.setPhoneNodeExecuteResultStatus(null);
|
||||||
}
|
}
|
||||||
List<ManualFollowUpVO> manualFollowUpVOS = signPatientManageRouteMapper.selectManualFollowUpList(manualFollowUpDTO);
|
List<ManualFollowUpVO> manualFollowUpVOS = signPatientManageRouteMapper.selectManualFollowUpList(manualFollowUpDTO);
|
||||||
if (StringUtils.isNotBlank(manualFollowUpDTO.getTimeSign()) && manualFollowUpDTO.getTimeSign().equals("WHOLE")) {
|
|
||||||
return manualFollowUpVOS;
|
|
||||||
}
|
|
||||||
if (manualFollowUpDTO.getNodeExecuteStatus().equals(NodeExecuteStatusEnum.EXECUTED.getInfo())) {
|
if (manualFollowUpDTO.getNodeExecuteStatus().equals(NodeExecuteStatusEnum.EXECUTED.getInfo())) {
|
||||||
return manualFollowUpVOS;
|
return manualFollowUpVOS;
|
||||||
}
|
}
|
||||||
@ -373,6 +370,11 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
|
|||||||
manualFollowUps.add(manualFollowUpVO);
|
manualFollowUps.add(manualFollowUpVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//返回所有未执行任务
|
||||||
|
if (StringUtils.isNotBlank(manualFollowUpDTO.getTimeSign()) && manualFollowUpDTO.getTimeSign().equals("WHOLE")) {
|
||||||
|
return manualFollowUpVOS;
|
||||||
|
}
|
||||||
|
//返回今天之前任务
|
||||||
return manualFollowUps;
|
return manualFollowUps;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -102,4 +102,12 @@ public interface ISpecialDiseaseRouteService {
|
|||||||
* @date 2024-07-26 16:00
|
* @date 2024-07-26 16:00
|
||||||
*/
|
*/
|
||||||
List<SignPatientManageNodeAuditVo> getRouteNodeInfo(Long id);
|
List<SignPatientManageNodeAuditVo> getRouteNodeInfo(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 克隆节点路径
|
||||||
|
*
|
||||||
|
* @param id 路径id
|
||||||
|
* @return AjaxResult
|
||||||
|
*/
|
||||||
|
AjaxResult cloneRoute(Long id);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,8 +13,10 @@ import com.xinelu.common.utils.bean.BeanUtils;
|
|||||||
import com.xinelu.common.utils.codes.GenerateSystemCodeUtil;
|
import com.xinelu.common.utils.codes.GenerateSystemCodeUtil;
|
||||||
import com.xinelu.manage.domain.agency.Agency;
|
import com.xinelu.manage.domain.agency.Agency;
|
||||||
import com.xinelu.manage.domain.scriptInfo.ScriptInfo;
|
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.specialdiseaseroute.SpecialDiseaseRoute;
|
||||||
import com.xinelu.manage.domain.specialdiseaseroutepackage.SpecialDiseaseRoutePackage;
|
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.textmessage.TextMessage;
|
||||||
import com.xinelu.manage.domain.wechattemplate.WechatTemplate;
|
import com.xinelu.manage.domain.wechattemplate.WechatTemplate;
|
||||||
import com.xinelu.manage.dto.specialdiseaseroute.SpecialDiseaseRouteDTO;
|
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.questionInfo.QuestionVO;
|
||||||
import com.xinelu.manage.vo.signpatientmanageroutenode.SignPatientManageNodeAuditVo;
|
import com.xinelu.manage.vo.signpatientmanageroutenode.SignPatientManageNodeAuditVo;
|
||||||
import com.xinelu.manage.vo.specialdiseasenode.RouteTaskAuditVo;
|
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.SpecialDiseaseRouteAuditVo;
|
||||||
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteInfoVo;
|
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteInfoVo;
|
||||||
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
|
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
|
||||||
import com.xinelu.manage.vo.specialdiseaseroutepackage.SpecialDiseaseRoutePackageVO;
|
import com.xinelu.manage.vo.specialdiseaseroutepackage.SpecialDiseaseRoutePackageVO;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
@ -58,6 +63,7 @@ import java.util.stream.Collectors;
|
|||||||
* @author xinelu
|
* @author xinelu
|
||||||
* @date 2024-03-13
|
* @date 2024-03-13
|
||||||
*/
|
*/
|
||||||
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteService {
|
public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteService {
|
||||||
@Resource
|
@Resource
|
||||||
@ -82,6 +88,8 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
|
|||||||
private TextMessageMapper textMessageMapper;
|
private TextMessageMapper textMessageMapper;
|
||||||
@Resource
|
@Resource
|
||||||
private WechatTemplateMapper wechatTemplateMapper;
|
private WechatTemplateMapper wechatTemplateMapper;
|
||||||
|
@Resource
|
||||||
|
private SpecialDiseaseTriggerConditionMapper specialDiseaseTriggerConditionMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询专病路径信息
|
* 查询专病路径信息
|
||||||
@ -161,9 +169,9 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
|
|||||||
public AjaxResult updateSpecialDiseaseRoute(SpecialDiseaseRouteVO specialDiseaseRoute) {
|
public AjaxResult updateSpecialDiseaseRoute(SpecialDiseaseRouteVO specialDiseaseRoute) {
|
||||||
//判断名称重复
|
//判断名称重复
|
||||||
List<SpecialDiseaseRoute> specialDiseaseRoutes = specialDiseaseRouteMapper.selectCountByName(specialDiseaseRoute.getDepartmentId(), specialDiseaseRoute.getRouteName());
|
List<SpecialDiseaseRoute> specialDiseaseRoutes = specialDiseaseRouteMapper.selectCountByName(specialDiseaseRoute.getDepartmentId(), specialDiseaseRoute.getRouteName());
|
||||||
if (CollectionUtils.isNotEmpty(specialDiseaseRoutes)){
|
if (CollectionUtils.isNotEmpty(specialDiseaseRoutes)) {
|
||||||
List<SpecialDiseaseRoute> collect = specialDiseaseRoutes.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getId()) && !specialDiseaseRoute.getId().equals(item.getId())).collect(Collectors.toList());
|
List<SpecialDiseaseRoute> 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() + "' 重复!");
|
return AjaxResult.error("路径名称 '" + specialDiseaseRoute.getRouteName() + "' 重复!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -394,4 +402,127 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
|
|||||||
});
|
});
|
||||||
return manageNodeAuditList;
|
return manageNodeAuditList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 克隆节点路径
|
||||||
|
*
|
||||||
|
* @param id 路径id
|
||||||
|
* @return AjaxResult
|
||||||
|
*/
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
@Override
|
||||||
|
public AjaxResult cloneRoute(Long id) {
|
||||||
|
//主路径
|
||||||
|
SpecialDiseaseRoute specialDiseaseRoute = specialDiseaseRouteMapper.selectSpecialDiseaseRouteById(id);
|
||||||
|
specialDiseaseRoute.setId(null);
|
||||||
|
specialDiseaseRoute.setRouteCode(Constants.ROUTE_CODE + generateSystemCodeUtil.generateSystemCode(Constants.ROUTE_CODE));
|
||||||
|
specialDiseaseRoute.setRouteName(specialDiseaseRoute.getRouteName() + "-副本");
|
||||||
|
specialDiseaseRoute.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
specialDiseaseRoute.setReleaseStatus(ReleaseStatusEnum.UNPUBLISHED.getInfo());
|
||||||
|
specialDiseaseRoute.setCreateTime(LocalDateTime.now());
|
||||||
|
//判断名称重复
|
||||||
|
extracted(specialDiseaseRoute);
|
||||||
|
int routeCount = specialDiseaseRouteMapper.insertSpecialDiseaseRoute(specialDiseaseRoute);
|
||||||
|
if (routeCount <= 0) {
|
||||||
|
log.info("新增主路径失败!");
|
||||||
|
throw new ServiceException("克隆失败!");
|
||||||
|
}
|
||||||
|
//子路径查询新增
|
||||||
|
List<Long> specialDiseaseRouteIds = new ArrayList<>();
|
||||||
|
List<OriginalSpecialDiseaseRoute> childSpecialDiseaseRoute = specialDiseaseRouteMapper.getChildSpecialDiseaseRoute(id);
|
||||||
|
if (CollectionUtils.isNotEmpty(childSpecialDiseaseRoute)) {
|
||||||
|
specialDiseaseRouteIds = childSpecialDiseaseRoute.stream().filter(Objects::nonNull).map(SpecialDiseaseRoute::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||||
|
childSpecialDiseaseRoute.forEach(item -> {
|
||||||
|
item.setParentRouteId(specialDiseaseRoute.getId());
|
||||||
|
item.setRouteCode(Constants.ROUTE_CODE + generateSystemCodeUtil.generateSystemCode(Constants.ROUTE_CODE));
|
||||||
|
item.setReleaseStatus(ReleaseStatusEnum.UNPUBLISHED.getInfo());
|
||||||
|
item.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
item.setCreateTime(LocalDateTime.now());
|
||||||
|
});
|
||||||
|
int childCount = specialDiseaseRouteMapper.insertSpecialDiseaseRouteList(childSpecialDiseaseRoute);
|
||||||
|
if (childCount <= 0) {
|
||||||
|
log.info("新增子路径失败!");
|
||||||
|
throw new ServiceException("克隆失败!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//主路径节点
|
||||||
|
List<SpecialDiseaseNodeVO> specialDiseaseNodeList = new ArrayList<>();
|
||||||
|
specialDiseaseRouteIds.add(id);
|
||||||
|
List<SpecialDiseaseNode> specialDiseaseNodes = specialDiseaseNodeMapper.selectSpecialDiseaseNodes(specialDiseaseRouteIds);
|
||||||
|
if (CollectionUtils.isNotEmpty(specialDiseaseNodes)) {
|
||||||
|
for (SpecialDiseaseNode specialDiseaseNode : specialDiseaseNodes) {
|
||||||
|
SpecialDiseaseNodeVO specialDiseaseNodeVO = new SpecialDiseaseNodeVO();
|
||||||
|
BeanUtils.copyProperties(specialDiseaseNode, specialDiseaseNodeVO);
|
||||||
|
if (specialDiseaseNode.getRouteId().equals(id)) {
|
||||||
|
specialDiseaseNode.setRouteId(specialDiseaseRoute.getId());
|
||||||
|
} else {
|
||||||
|
OriginalSpecialDiseaseRoute originalSpecialDiseaseRoute = childSpecialDiseaseRoute.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getOriginalSpecialDiseaseRouteId()) && specialDiseaseNode.getRouteId().equals(item.getOriginalSpecialDiseaseRouteId())).findFirst().orElse(new OriginalSpecialDiseaseRoute());
|
||||||
|
specialDiseaseNode.setRouteId(originalSpecialDiseaseRoute.getId());
|
||||||
|
}
|
||||||
|
specialDiseaseNodeVO.setId(null);
|
||||||
|
specialDiseaseNodeVO.setRouteId(specialDiseaseRoute.getId());
|
||||||
|
specialDiseaseNodeVO.setRouteCheckStatus(null);
|
||||||
|
specialDiseaseNodeVO.setRouteCheckPerson(null);
|
||||||
|
specialDiseaseNodeVO.setRouteCheckDate(null);
|
||||||
|
specialDiseaseNodeVO.setRouteCheckRemark(null);
|
||||||
|
specialDiseaseNodeVO.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
specialDiseaseNodeVO.setCreateTime(LocalDateTime.now());
|
||||||
|
specialDiseaseNodes.add(specialDiseaseNodeVO);
|
||||||
|
}
|
||||||
|
int nodeCount = specialDiseaseNodeMapper.insertSpecialDiseaseNodeList(specialDiseaseNodeList);
|
||||||
|
if (nodeCount < 0) {
|
||||||
|
log.info("新增主路径节点失败!");
|
||||||
|
throw new ServiceException("克隆失败!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
SpecialDiseaseRoutePackage specialDiseaseRoutePackage = new SpecialDiseaseRoutePackage();
|
||||||
|
specialDiseaseRoutePackage.setRouteId(id);
|
||||||
|
List<SpecialDiseaseRoutePackage> specialDiseaseRoutePackages = specialDiseaseRoutePackageMapper.selectSpecialDiseaseRoutePackageList(specialDiseaseRoutePackage);
|
||||||
|
if (CollectionUtils.isNotEmpty(specialDiseaseRoutePackages)) {
|
||||||
|
specialDiseaseRoutePackages.forEach(item -> {
|
||||||
|
item.setId(null);
|
||||||
|
item.setRouteId(specialDiseaseRoute.getId());
|
||||||
|
item.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
item.setCreateTime(LocalDateTime.now());
|
||||||
|
});
|
||||||
|
int packageCount = specialDiseaseRoutePackageMapper.insertSpecialDiseaseRoutePackageList(specialDiseaseRoutePackages);
|
||||||
|
if (packageCount < 0) {
|
||||||
|
log.info("新增服务包失败!");
|
||||||
|
throw new ServiceException("克隆失败!");
|
||||||
|
}
|
||||||
|
SpecialDiseaseTriggerCondition specialDiseaseTriggerCondition = new SpecialDiseaseTriggerCondition();
|
||||||
|
specialDiseaseTriggerCondition.setRouteId(id);
|
||||||
|
List<SpecialDiseaseTriggerCondition> specialDiseaseTriggerConditions = specialDiseaseTriggerConditionMapper.selectSpecialDiseaseTriggerConditionList(specialDiseaseTriggerCondition);
|
||||||
|
if (CollectionUtils.isNotEmpty(specialDiseaseTriggerConditions)) {
|
||||||
|
specialDiseaseTriggerConditions.forEach(item -> {
|
||||||
|
item.setId(null);
|
||||||
|
item.setRouteId(specialDiseaseRoute.getId());
|
||||||
|
item.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
item.setCreateTime(LocalDateTime.now());
|
||||||
|
});
|
||||||
|
int conditionCount = specialDiseaseTriggerConditionMapper.insertTriggerConditionList(specialDiseaseTriggerConditions);
|
||||||
|
if (conditionCount < 0) {
|
||||||
|
log.info("新增触发条件失败!");
|
||||||
|
throw new ServiceException("克隆失败!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return AjaxResult.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据组装
|
||||||
|
*
|
||||||
|
* @param specialDiseaseRoute 路径信息
|
||||||
|
*/
|
||||||
|
private void extracted(SpecialDiseaseRoute specialDiseaseRoute) {
|
||||||
|
List<SpecialDiseaseRoute> specialDiseaseRoutes = specialDiseaseRouteMapper.selectCountByName(specialDiseaseRoute.getDepartmentId(), specialDiseaseRoute.getRouteName());
|
||||||
|
if (CollectionUtils.isNotEmpty(specialDiseaseRoutes)) {
|
||||||
|
List<SpecialDiseaseRoute> collect = specialDiseaseRoutes.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getId()) && !specialDiseaseRoute.getId().equals(item.getId())).collect(Collectors.toList());
|
||||||
|
if (CollectionUtils.isNotEmpty(collect)) {
|
||||||
|
specialDiseaseRoute.setRouteName(specialDiseaseRoute.getRouteName() + "-副本");
|
||||||
|
extracted(specialDiseaseRoute);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -109,10 +109,6 @@ public class PatientTaskExecuteRecordVO extends PatientTaskExecuteRecord {
|
|||||||
@ApiModelProperty(value = "手术记录")
|
@ApiModelProperty(value = "手术记录")
|
||||||
private String surgicalRecord;
|
private String surgicalRecord;
|
||||||
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "任务类型,电话外呼:PHONE_OUTBOUND,问卷量表:QUESTIONNAIRE_SCALE,宣教文章:PROPAGANDA_ARTICLE,文字提醒:TEXT_REMIND,人工随访:ARTIFICIAL_FOLLOW_UP")
|
|
||||||
private String taskNodeType;
|
|
||||||
|
|
||||||
@ApiModelProperty(value = "模板id")
|
@ApiModelProperty(value = "模板id")
|
||||||
private String templateId;
|
private String templateId;
|
||||||
|
|
||||||
|
|||||||
@ -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;
|
||||||
|
}
|
||||||
@ -116,12 +116,12 @@
|
|||||||
spmrn.task_node_type,
|
spmrn.task_node_type,
|
||||||
spmrn.route_handle_remark,
|
spmrn.route_handle_remark,
|
||||||
CASE
|
CASE
|
||||||
WHEN spmrn.task_type = 'PHONE_OUTBOUND' THEN spmrn.phone_id
|
WHEN spmrn.task_node_type = 'PHONE_OUTBOUND' THEN spmrn.phone_id
|
||||||
WHEN spmrn.task_type = 'QUESTIONNAIRE_SCALE' THEN spmrn.question_info_id
|
WHEN spmrn.task_node_type = 'QUESTIONNAIRE_SCALE' THEN spmrn.question_info_id
|
||||||
WHEN spmrn.task_type = 'ARTIFICIAL_FOLLOW_UP' THEN spmrn.follow_template_id
|
WHEN spmrn.task_node_type = 'ARTIFICIAL_FOLLOW_UP' THEN spmrn.follow_template_id
|
||||||
WHEN spmrn.task_type = 'PROPAGANDA_ARTICLE' THEN spmrn.propaganda_info_id
|
WHEN spmrn.task_node_type = 'PROPAGANDA_ARTICLE' THEN spmrn.propaganda_info_id
|
||||||
END AS 'templateId',
|
END AS 'templateId',
|
||||||
IF(spmrn.task_type ='TEXT_REMIND',spmrn.text_remind_content,NULL) AS textRemindContent
|
IF(spmrn.task_node_type ='TEXT_REMIND',spmrn.text_remind_content,NULL) AS textRemindContent
|
||||||
from patient_task_execute_record pter
|
from patient_task_execute_record pter
|
||||||
LEFT JOIN patient_info pi ON pi.id = pter.patient_id
|
LEFT JOIN patient_info pi ON pi.id = pter.patient_id
|
||||||
LEFT JOIN sign_patient_manage_route_node spmrn ON pter.manage_route_node_id = spmrn.id
|
LEFT JOIN sign_patient_manage_route_node spmrn ON pter.manage_route_node_id = spmrn.id
|
||||||
|
|||||||
@ -972,4 +972,56 @@
|
|||||||
where sdr.id = #{parentRouteId} or sdr.parent_route_id = #{parentRouteId}
|
where sdr.id = #{parentRouteId} or sdr.parent_route_id = #{parentRouteId}
|
||||||
and sdn.route_check_status = 'AGREE'
|
and sdn.route_check_status = 'AGREE'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectSpecialDiseaseNodes"
|
||||||
|
resultType="com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode">
|
||||||
|
select id,
|
||||||
|
route_id,
|
||||||
|
route_name,
|
||||||
|
route_node_name,
|
||||||
|
route_node_day,
|
||||||
|
task_type,
|
||||||
|
task_subdivision,
|
||||||
|
task_status,
|
||||||
|
task_node_type,
|
||||||
|
second_classify_describe,
|
||||||
|
execution_time,
|
||||||
|
template_id,
|
||||||
|
template_name,
|
||||||
|
template_type,
|
||||||
|
message_push_sign,
|
||||||
|
message_template__id,
|
||||||
|
message_template_name,
|
||||||
|
message_preview,
|
||||||
|
message_node_content,
|
||||||
|
official_push_sign,
|
||||||
|
official_template_id,
|
||||||
|
official_template_name,
|
||||||
|
official_remind_content,
|
||||||
|
official_node_content,
|
||||||
|
applet_push_sign,
|
||||||
|
applet_template_id,
|
||||||
|
applet_template_name,
|
||||||
|
applet_remind_content,
|
||||||
|
applet_prompt_description,
|
||||||
|
applet_node_content,
|
||||||
|
phone_push_sign,
|
||||||
|
phone_dial_method,
|
||||||
|
phone_template_id,
|
||||||
|
phone_template_name,
|
||||||
|
phone_message_remind,
|
||||||
|
phone_redial_times,
|
||||||
|
phone_time_interval,
|
||||||
|
phone_message_template_id,
|
||||||
|
phone_message_template_name,
|
||||||
|
phone_agency_name,
|
||||||
|
phone_node_content,
|
||||||
|
node_content,
|
||||||
|
script_info_id
|
||||||
|
from special_disease_node
|
||||||
|
where route_id in
|
||||||
|
<foreach item="specialDiseaseRouteIds" collection="array" open="(" separator="," close=")">
|
||||||
|
#{specialDiseaseRouteIds}
|
||||||
|
</foreach>
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
@ -608,4 +608,64 @@
|
|||||||
department_id =#{departmentId}
|
department_id =#{departmentId}
|
||||||
and route_name =#{routeName}
|
and route_name =#{routeName}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getChildSpecialDiseaseRoute"
|
||||||
|
resultType="com.xinelu.manage.vo.specialdiseaseroute.OriginalSpecialDiseaseRoute">
|
||||||
|
select id,
|
||||||
|
parent_route_id,
|
||||||
|
department_id,
|
||||||
|
department_name,
|
||||||
|
disease_type_id,
|
||||||
|
disease_type_name,
|
||||||
|
route_name,
|
||||||
|
route_code,
|
||||||
|
version,
|
||||||
|
route_classify,
|
||||||
|
suit_range,
|
||||||
|
route_sort,
|
||||||
|
route_remark,
|
||||||
|
id originalSpecialDiseaseRouteId
|
||||||
|
from special_disease_route
|
||||||
|
where parent_route_id = #{specialDiseaseRouteId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<insert id="insertSpecialDiseaseRouteList" parameterType="SpecialDiseaseRoute" useGeneratedKeys="true"
|
||||||
|
keyProperty="id">
|
||||||
|
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
|
||||||
|
<foreach item="specialDiseaseRoutes" index="index" collection="list" separator=",">
|
||||||
|
(
|
||||||
|
#{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}
|
||||||
|
)
|
||||||
|
</foreach>
|
||||||
|
</insert>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue
Block a user