/* * Copyright (c) 2018-2025, ztt All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the pig4cloud.com developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: ztt */ package com.chinaztt.mes.production.service.impl; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chinaztt.mes.production.dto.ArtificialInformationJoinTreeNode; import com.chinaztt.mes.production.entity.ArtificialInformationJoin; import com.chinaztt.mes.production.entity.ArtificialInformationRelation; import com.chinaztt.mes.production.mapper.ArtificialInformationJoinMapper; import com.chinaztt.mes.production.mapper.ArtificialInformationRelationMapper; import com.chinaztt.mes.production.service.ArtificialInformationJoinService; import com.chinaztt.ztt.admin.api.vo.TreeUtil; import com.chinaztt.ztt.common.core.util.R; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; /** * 人工类型分组 * * @author sunxl * @date 2021-01-28 11:19:54 */ @Service @AllArgsConstructor public class ArtificialInformationJoinServiceImpl extends ServiceImpl implements ArtificialInformationJoinService { private ArtificialInformationRelationMapper artificialInformationRelationMapper; @Override public List selectTree() { List collect = baseMapper.selectList(null) .stream().sorted(Comparator.comparing(ArtificialInformationJoin::getSort)).map(artificialInformationJoin -> { ArtificialInformationJoinTreeNode node = new ArtificialInformationJoinTreeNode(); node.setId(artificialInformationJoin.getId().intValue()); node.setName(artificialInformationJoin.getName()); node.setParentId(artificialInformationJoin.getParentId().intValue()); return node; }).collect(Collectors.toList()); return TreeUtil.build(collect, 0); } @Override public R fullSave(List artificialInformationRelationList) { for (ArtificialInformationRelation artificialInformationRelation :artificialInformationRelationList){ artificialInformationRelationMapper.insert(artificialInformationRelation); } return R.ok(); } @Override public R fullDelete(Long id) { baseMapper.deleteById(id); artificialInformationRelationMapper.delete(Wrappers.lambdaQuery().eq(ArtificialInformationRelation::getProductionHandymanJoinId,id)); return R.ok(); } }