diff --git a/postdischarge-common/src/main/java/com/xinelu/common/enums/ReleaseStatusEnum.java b/postdischarge-common/src/main/java/com/xinelu/common/enums/ReleaseStatusEnum.java new file mode 100644 index 00000000..4ee025b0 --- /dev/null +++ b/postdischarge-common/src/main/java/com/xinelu/common/enums/ReleaseStatusEnum.java @@ -0,0 +1,34 @@ +package com.xinelu.common.enums; + +import lombok.Getter; + +/** + * 发布状态枚举类 + * + * @author haown + * @date 2024-04-08 + */ +@Getter +public enum ReleaseStatusEnum { + + /** + * 同意 + */ + PUBLISHED("PUBLISHED"), + + /** + * 不同意 + */ + UNPUBLISHED("UNPUBLISHED"), + + /** + * 不同意 + */ + ALL("ALL"), + ; + final private String info; + + ReleaseStatusEnum(String info) { + this.info = info; + } +} 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 364f5363..ef503523 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 @@ -83,4 +83,12 @@ public class SpecialDiseaseRouteController extends BaseController { public AjaxResult departmentRouteCount(String departmentName) { return specialDiseaseRouteService.departmentRouteCount(departmentName); } + + /** + * 发布专病路径信息 + */ + @PostMapping("/editReleaseStatus") + public AjaxResult editReleaseStatus(@RequestBody SpecialDiseaseRoute specialDiseaseRoute) { + return specialDiseaseRouteService.editReleaseStatus(specialDiseaseRoute); + } } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/specialdiseasenode/SpecialDiseaseNode.java b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/specialdiseasenode/SpecialDiseaseNode.java index 3c3b3e89..93ef64ba 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/domain/specialdiseasenode/SpecialDiseaseNode.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/domain/specialdiseasenode/SpecialDiseaseNode.java @@ -12,8 +12,8 @@ import lombok.NoArgsConstructor; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; +import java.time.LocalDateTime; import java.time.LocalTime; -import java.util.Date; /** * 专病路径-管理节点信息对象 special_disease_node @@ -307,7 +307,7 @@ public class SpecialDiseaseNode extends BaseEntity { @ApiModelProperty(value = "节点审核时间") @JsonFormat(pattern = "yyyy-MM-dd") @Excel(name = "节点审核时间", width = 30, dateFormat = "yyyy-MM-dd") - private Date routeCheckDate; + private LocalDateTime routeCheckDate; /** * 节点审核备注信息,存储审核备注信息以及审核不通过原因等信息 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 9d1d04ce..8036fc8f 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,6 +3,7 @@ package com.xinelu.manage.mapper.specialdiseaseroute; import com.xinelu.manage.domain.specialdiseaseroute.SpecialDiseaseRoute; import com.xinelu.manage.vo.department.DepartmentVO; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -84,4 +85,13 @@ public interface SpecialDiseaseRouteMapper { * @return 专病路径信息 */ SpecialDiseaseRouteVO selectSpecialDiseaseRouteAndTriggerById(Long id); + + /** + * 查询未审核节点状态 + * + * @param routeId 路径信息 + * @param routeCheckStatus 节点状态 + * @return int + */ + int selectRouteCheckStatus(@Param("routeId") Long routeId, @Param("routeCheckStatus") String routeCheckStatus); } diff --git a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java index 73876c1e..c5525fde 100644 --- a/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java +++ b/postdischarge-manage/src/main/java/com/xinelu/manage/service/specialdiseasenode/impl/SpecialDiseaseNodeServiceImpl.java @@ -1,7 +1,6 @@ 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; @@ -19,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.List; +import java.util.Objects; /** * 专病路径-管理节点信息Service业务层处理 @@ -115,7 +115,6 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService 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) { @@ -166,6 +165,10 @@ public class SpecialDiseaseNodeServiceImpl implements ISpecialDiseaseNodeService */ @Override public AjaxResult updateRouteCheckStatus(SpecialDiseaseNode specialDiseaseNode) { + if (Objects.isNull(specialDiseaseNode) || Objects.isNull(specialDiseaseNode.getId())) { + return AjaxResult.error("请选择需要审核的信息!"); + } + specialDiseaseNode.setRouteCheckDate(LocalDateTime.now()); return AjaxResult.success(specialDiseaseNodeMapper.updateSpecialDiseaseNode(specialDiseaseNode)); } } 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 724c29e8..f6d70fb5 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 @@ -68,4 +68,12 @@ public interface ISpecialDiseaseRouteService { * @return AjaxResult */ AjaxResult departmentRouteCount(String departmentName); + + /** + * 专病路径发布 + * + * @param specialDiseaseRoute 路径信息 + * @return AjaxResult + */ + AjaxResult editReleaseStatus(SpecialDiseaseRoute specialDiseaseRoute); } 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 6bd890d4..bfa30904 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 @@ -2,6 +2,8 @@ package com.xinelu.manage.service.specialdiseaseroute.impl; import com.xinelu.common.constant.Constants; import com.xinelu.common.core.domain.AjaxResult; +import com.xinelu.common.enums.ReleaseStatusEnum; +import com.xinelu.common.enums.RouteCheckStatusEnum; import com.xinelu.common.exception.ServiceException; import com.xinelu.common.utils.SecurityUtils; import com.xinelu.common.utils.codes.GenerateSystemCodeUtil; @@ -13,6 +15,7 @@ import com.xinelu.manage.service.specialdiseaseroute.ISpecialDiseaseRouteService import com.xinelu.manage.vo.department.DepartmentVO; import com.xinelu.manage.vo.specialdiseaseroute.SpecialDiseaseRouteVO; import org.apache.commons.collections4.CollectionUtils; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -20,6 +23,7 @@ import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; +import java.util.Objects; /** * 专病路径信息Service业务层处理 @@ -144,4 +148,26 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi } return AjaxResult.success(department); } + + /** + * 专病路径发布 + * + * @param specialDiseaseRoute 路径信息 + * @return AjaxResult + */ + @Override + public AjaxResult editReleaseStatus(SpecialDiseaseRoute specialDiseaseRoute) { + if (Objects.isNull(specialDiseaseRoute) || StringUtils.isBlank(specialDiseaseRoute.getReleaseStatus())) { + return AjaxResult.error("请选择需要发布专病路径的信息!"); + } + if (ReleaseStatusEnum.PUBLISHED.getInfo().equals(specialDiseaseRoute.getReleaseStatus())) { + int count = specialDiseaseRouteMapper.selectRouteCheckStatus(specialDiseaseRoute.getId(), RouteCheckStatusEnum.AGREE.getInfo()); + if (count > 0) { + return AjaxResult.error("该路径存在未审核的节点,请全部审核后发布!"); + } + } + specialDiseaseRoute.setUpdateTime(LocalDateTime.now()); + specialDiseaseRoute.setUpdateBy(SecurityUtils.getUsername()); + return AjaxResult.success(specialDiseaseRouteMapper.updateSpecialDiseaseRoute(specialDiseaseRoute)); + } } 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 0fa13398..3c6e1351 100644 --- a/postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroute/SpecialDiseaseRouteMapper.xml +++ b/postdischarge-manage/src/main/resources/mapper/manage/specialdiseaseroute/SpecialDiseaseRouteMapper.xml @@ -385,4 +385,11 @@ LEFT JOIN special_disease_trigger_condition sdtc ON sdr.id = sdtc.route_id where sdr.id = #{id} + + \ No newline at end of file