克隆及任务代办列表修改

This commit is contained in:
zhangheng 2024-08-12 14:16:20 +08:00
parent 643c1c998a
commit e961cd5ae5
9 changed files with 207 additions and 33 deletions

View File

@ -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);
}
}

View File

@ -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<RouteTaskAuditVo> getByParentRouteId(Long parentRouteId);
/**
* 根据路径id查询节点信息
*
* @param specialDiseaseRouteIds
* @return SpecialDiseaseNode
*/
List<SpecialDiseaseNode> selectSpecialDiseaseNodes(@Param("specialDiseaseRouteIds") List<Long> specialDiseaseRouteIds);
}

View File

@ -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<SpecialDiseaseChildRouteAuditVo> selectAuditChildRoute(Long parentRouteId);
/**
* 新增专病路径信息
*
@ -112,10 +110,11 @@ public interface SpecialDiseaseRouteMapper {
* @return
*/
List<SpecialDiseaseRouteInfoVo> getChildList(@Param("specialDiseaseRouteId")Long specialDiseaseRouteId);
/**
* 查询未审核节点状态
*
* @param routeId 路径信息
* @param routeId 路径信息
* @return int
*/
List<String> selectRouteCheckStatus(Long routeId);
@ -128,4 +127,20 @@ public interface SpecialDiseaseRouteMapper {
* @return
*/
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);
}

View File

@ -300,9 +300,6 @@ public class SignPatientManageRouteServiceImpl implements ISignPatientManageRout
manualFollowUpDTO.setPhoneNodeExecuteResultStatus(null);
}
List<ManualFollowUpVO> 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;
}

View File

@ -102,4 +102,12 @@ public interface ISpecialDiseaseRouteService {
* @date 2024-07-26 16:00
*/
List<SignPatientManageNodeAuditVo> getRouteNodeInfo(Long id);
/**
* 克隆节点路径
*
* @param id 路径id
* @return AjaxResult
*/
AjaxResult cloneRoute(Long id);
}

View File

@ -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<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());
if (CollectionUtils.isNotEmpty(collect)){
if (CollectionUtils.isNotEmpty(collect)) {
return AjaxResult.error("路径名称 '" + specialDiseaseRoute.getRouteName() + "' 重复!");
}
}

View File

@ -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;
}

View File

@ -972,4 +972,56 @@
where sdr.id = #{parentRouteId} or sdr.parent_route_id = #{parentRouteId}
and sdn.route_check_status = 'AGREE'
</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>

View File

@ -604,4 +604,64 @@
department_id =#{departmentId}
and route_name =#{routeName}
</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>