克隆修改

This commit is contained in:
zhangheng 2024-08-13 14:24:52 +08:00
parent 482e60c53e
commit 87afbba0f6
3 changed files with 15 additions and 10 deletions

View File

@ -142,5 +142,5 @@ public interface SpecialDiseaseRouteMapper {
* @param specialDiseaseRoutes 节点信息
* @return int
*/
int insertSpecialDiseaseRouteList(@Param("specialDiseaseRoutes") List<OriginalSpecialDiseaseRoute> specialDiseaseRoutes);
int insertSpecialDiseaseRouteList(List<OriginalSpecialDiseaseRoute> specialDiseaseRoutes);
}

View File

@ -420,8 +420,10 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
specialDiseaseRoute.setCreateBy(SecurityUtils.getUsername());
specialDiseaseRoute.setReleaseStatus(ReleaseStatusEnum.UNPUBLISHED.getInfo());
specialDiseaseRoute.setCreateTime(LocalDateTime.now());
specialDiseaseRoute.setUpdateBy(null);
specialDiseaseRoute.setUpdateTime(null);
//判断名称重复
extracted(specialDiseaseRoute);
extracted(specialDiseaseRoute, id);
int routeCount = specialDiseaseRouteMapper.insertSpecialDiseaseRoute(specialDiseaseRoute);
if (routeCount <= 0) {
log.info("新增主路径失败!");
@ -454,20 +456,21 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
SpecialDiseaseNodeVO specialDiseaseNodeVO = new SpecialDiseaseNodeVO();
BeanUtils.copyProperties(specialDiseaseNode, specialDiseaseNodeVO);
if (specialDiseaseNode.getRouteId().equals(id)) {
specialDiseaseNode.setRouteId(specialDiseaseRoute.getId());
specialDiseaseNodeVO.setRouteId(specialDiseaseRoute.getId());
specialDiseaseNodeVO.setRouteName(specialDiseaseRoute.getRouteName());
} 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.setRouteId(originalSpecialDiseaseRoute.getId());
specialDiseaseNodeVO.setRouteName(specialDiseaseNode.getRouteName());
}
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);
specialDiseaseNodeList.add(specialDiseaseNodeVO);
}
int nodeCount = specialDiseaseNodeMapper.insertSpecialDiseaseNodeList(specialDiseaseNodeList);
if (nodeCount < 0) {
@ -481,6 +484,7 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
if (CollectionUtils.isNotEmpty(specialDiseaseRoutePackages)) {
specialDiseaseRoutePackages.forEach(item -> {
item.setId(null);
item.setRouteName(specialDiseaseRoute.getRouteName());
item.setRouteId(specialDiseaseRoute.getId());
item.setCreateBy(SecurityUtils.getUsername());
item.setCreateTime(LocalDateTime.now());
@ -497,6 +501,7 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
specialDiseaseTriggerConditions.forEach(item -> {
item.setId(null);
item.setRouteId(specialDiseaseRoute.getId());
item.setRouteName(specialDiseaseRoute.getRouteName());
item.setCreateBy(SecurityUtils.getUsername());
item.setCreateTime(LocalDateTime.now());
});
@ -515,13 +520,13 @@ public class SpecialDiseaseRouteServiceImpl implements ISpecialDiseaseRouteServi
*
* @param specialDiseaseRoute 路径信息
*/
private void extracted(SpecialDiseaseRoute specialDiseaseRoute) {
private void extracted(SpecialDiseaseRoute specialDiseaseRoute, Long id) {
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());
List<SpecialDiseaseRoute> collect = specialDiseaseRoutes.stream().filter(Objects::nonNull).filter(item -> Objects.nonNull(item.getId()) && !id.equals(item.getId())).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(collect)) {
specialDiseaseRoute.setRouteName(specialDiseaseRoute.getRouteName() + "-副本");
extracted(specialDiseaseRoute);
extracted(specialDiseaseRoute, id);
}
}
}

View File

@ -1020,7 +1020,7 @@
script_info_id
from special_disease_node
where route_id in
<foreach item="specialDiseaseRouteIds" collection="array" open="(" separator="," close=")">
<foreach item="specialDiseaseRouteIds" collection="specialDiseaseRouteIds" open="(" separator="," close=")">
#{specialDiseaseRouteIds}
</foreach>
</select>