专病路径

This commit is contained in:
zhangheng 2024-04-08 15:15:24 +08:00
parent 6f4a37bfa5
commit 57a73624f2
6 changed files with 121 additions and 20 deletions

View File

@ -1,19 +1,28 @@
package com.xinelu.common.enums;
import lombok.Getter;
/**
* 节点审核状态枚举类
*
* @author haown
* @date 2024-04-01
*/
@Getter
public enum RouteCheckStatusEnum {
/**
* 同意
*/
AGREE,
AGREE("AGREE"),
/**
* 不同意
*/
DISAGREE
DISAGREE("DISAGREE"),
;
final private String info;
RouteCheckStatusEnum(String info) {
this.info = info;
}
}

View File

@ -101,4 +101,15 @@ public class SpecialDiseaseNodeController extends BaseController {
}
return specialDiseaseNodeService.selectSpecialDisease(specialDiseaseRouteId);
}
/**
* 修改节点信息状态
*/
@PostMapping("/updateRouteCheckStatus")
public AjaxResult updateRouteCheckStatus(@RequestBody SpecialDiseaseNode specialDiseaseNode) {
if (Objects.isNull(specialDiseaseNode)) {
return AjaxResult.error("请选择需要修改的节点信息!");
}
return specialDiseaseNodeService.updateRouteCheckStatus(specialDiseaseNode);
}
}

View File

@ -68,4 +68,12 @@ public interface ISpecialDiseaseNodeService {
* @return AjaxResult
*/
AjaxResult selectSpecialDisease(Long specialDiseaseRouteId);
/**
* 修改节点信息状态
*
* @param specialDiseaseNode 节点信息
* @return AjaxResult
*/
AjaxResult updateRouteCheckStatus(SpecialDiseaseNode specialDiseaseNode);
}

View File

@ -1,6 +1,7 @@
package com.xinelu.manage.service.specialdiseasenode.impl;
import com.xinelu.common.core.domain.AjaxResult;
import com.xinelu.common.enums.RouteCheckStatusEnum;
import com.xinelu.common.exception.ServiceException;
import com.xinelu.common.utils.SecurityUtils;
import com.xinelu.common.utils.bean.BeanUtils;
@ -8,8 +9,8 @@ import com.xinelu.manage.domain.specialdiseasenode.SpecialDiseaseNode;
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.specialdiseasenode.ISpecialDiseaseNodeService;
import com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeVO;
import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@ -32,8 +33,6 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
private SpecialDiseaseNodeMapper specialDiseaseNodeMapper;
@Resource
private SpecialDiseaseRouteMapper specialDiseaseRouteMapper;
@Resource
private SpecialDiseaseTriggerConditionMapper triggerConditionMapper;
/**
@ -111,11 +110,12 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
log.info("删除管理节点信息失败");
throw new ServiceException("修改专病路径管理节点信息失败");
}
for (SpecialDiseaseNode diseaseNode : specialDiseaseNode.getSpecialDiseaseNodeList()) {
for (SpecialDiseaseNodeVO diseaseNode : specialDiseaseNode.getSpecialDiseaseNodeList()) {
diseaseNode.setRouteId(specialDiseaseRoute.getId());
diseaseNode.setRouteName(specialDiseaseNode.getRouteName());
diseaseNode.setUpdateTime(LocalDateTime.now());
diseaseNode.setUpdateBy(SecurityUtils.getUsername());
diseaseNode.setRouteCheckStatus(RouteCheckStatusEnum.DISAGREE.getInfo());
}
int insertNodeCount = specialDiseaseNodeMapper.insertSpecialDiseaseNodeList(specialDiseaseNode.getSpecialDiseaseNodeList());
if (insertNodeCount < 0) {
@ -157,4 +157,15 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService
public AjaxResult selectSpecialDisease(Long specialDiseaseRouteId) {
return AjaxResult.success(specialDiseaseNodeMapper.selectSpecialDiseaseByRouteId(specialDiseaseRouteId));
}
/**
* 修改节点信息状态
*
* @param specialDiseaseNode 节点信息
* @return AjaxResult
*/
@Override
public AjaxResult updateRouteCheckStatus(SpecialDiseaseNode specialDiseaseNode) {
return AjaxResult.success(specialDiseaseNodeMapper.updateSpecialDiseaseNode(specialDiseaseNode));
}
}

View File

@ -15,6 +15,9 @@ import lombok.EqualsAndHashCode;
@Data
public class SpecialDiseaseNodeVO extends SpecialDiseaseNode {
@ApiModelProperty(value = "专病路径表id")
private Long SpecialDiseaseNodeId;
private Long specialDiseaseNodeId;
private String taskTypeName;
private String taskSubdivisionName;
}

View File

@ -18,8 +18,10 @@
<result property="suitRange" column="suit_range"/>
<result property="routeSort" column="route_sort"/>
<result property="routeRemark" column="route_remark"/>
<result property="totalNumber" column="totalNumber"/>
<result property="agreeNumber" column="agreeNumber"/>
<collection property="specialDiseaseNodeList" javaType="java.util.List"
resultMap="SpecialDiseaseNodeResult"/>
resultMap="SpecialDiseaseNodeVOResult"/>
</resultMap>
<resultMap type="SpecialDiseaseNode" id="SpecialDiseaseNodeResult">
@ -70,6 +72,54 @@
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<resultMap type="com.xinelu.manage.vo.specialdiseasenode.SpecialDiseaseNodeVO" id="SpecialDiseaseNodeVOResult">
<result property="specialDiseaseNodeId" column="specialDiseaseNodeId"/>
<result property="routeId" column="route_id"/>
<result property="routeName" column="route_name"/>
<result property="routeNodeName" column="route_node_name"/>
<result property="routeNodeDay" column="route_node_day"/>
<result property="taskType" column="task_type"/>
<result property="taskSubdivision" column="task_subdivision"/>
<result property="taskType" column="taskSubdivisionName"/>
<result property="taskSubdivision" column="taskSubdivisionName"/>
<result property="taskStatus" column="task_status"/>
<result property="secondClassifyDescribe" column="second_classify_describe"/>
<result property="executionTime" column="execution_time"/>
<result property="templateId" column="template_id"/>
<result property="templateName" column="template_name"/>
<result property="templateType" column="template_type"/>
<result property="messagePushSign" column="message_push_sign"/>
<result property="messageTemplateId" column="message_template__id"/>
<result property="messageTemplateName" column="message_template_name"/>
<result property="messagePreview" column="message_preview"/>
<result property="messageNodeContent" column="message_node_content"/>
<result property="officialPushSign" column="official_push_sign"/>
<result property="officialTemplateId" column="official_template_id"/>
<result property="officialTemplateName" column="official_template_name"/>
<result property="officialRemindContent" column="official_remind_content"/>
<result property="officialNodeContent" column="official_node_content"/>
<result property="appletPushSign" column="applet_push_sign"/>
<result property="appletTemplateId" column="applet_template_id"/>
<result property="appletTemplateName" column="applet_template_name"/>
<result property="appletRemindContent" column="applet_remind_content"/>
<result property="appletPromptDescription" column="applet_prompt_description"/>
<result property="appletNodeContent" column="applet_node_content"/>
<result property="phonePushSign" column="phone_push_sign"/>
<result property="phoneTemplateId" column="phone_template_id"/>
<result property="phoneTemplateName" column="phone_template_name"/>
<result property="phoneMessageRemind" column="phone_message_remind"/>
<result property="phoneMessageTemplateId" column="phone_message_template_id"/>
<result property="phoneMessageTemplateName" column="phone_message_template_name"/>
<result property="phoneAgencyName" column="phone_agency_name"/>
<result property="phoneNodeContent" column="phone_node_content"/>
<result property="routeCheckStatus" column="route_check_status"/>
<result property="routeCheckPerson" column="route_check_person"/>
<result property="routeCheckDate" column="route_check_date"/>
<result property="routeCheckRemark" column="route_check_remark"/>
<result property="nodeContent" column="node_content"/>
</resultMap>
<sql id="selectSpecialDiseaseNodeVo">
select id,
route_id,
@ -701,7 +751,7 @@
</delete>
<select id="selectSpecialDiseaseByRouteId"
resultType="com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO"
resultMap="SpecialDiseaseRouteResult">
select sdr.id specialDiseaseRouteId,
sdr.department_id,
@ -714,13 +764,15 @@
sdr.route_classify,
sdr.release_status,
sdr.suit_range,
sdn.id specialDiseaseNodeId,
sdn.id as specialDiseaseNodeId,
sdn.route_id,
sdn.route_name,
sdn.route_node_name,
sdn.route_node_day,
sdn.task_type,
sdn.task_subdivision,
sdn.task_type taskTypeName,
sdn.task_subdivision taskSubdivisionName,
sdn.task_status,
sdn.second_classify_describe,
sdn.execution_time,
@ -755,7 +807,14 @@
sdn.route_check_person,
sdn.route_check_date,
sdn.route_check_remark,
sdn.node_content
sdn.node_content,
(select COUNT(1)
from special_disease_node
where route_id = specialDiseaseRouteId) totalNumber,
(select COUNT(1)
from special_disease_node
where route_id = specialDiseaseRouteId
and route_check_status = 'AGREE') agreeNumber
from special_disease_route sdr
left join special_disease_node sdn ON sdn.route_id = sdr.id
where sdr.id = #{specialDiseaseRouteId}