|
package org.springblade.mdm.program.service;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import lombok.AllArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springblade.core.mp.base.BizServiceImpl;
|
import org.springblade.core.mp.support.Condition;
|
import org.springblade.core.tool.utils.Func;
|
import org.springblade.mdm.basesetting.machine.vo.MachineVO;
|
import org.springblade.mdm.program.entity.NcNode;
|
import org.springblade.mdm.program.mapper.NcNodeMapper;
|
import org.springblade.mdm.program.vo.NcNodeProgramQueryVO;
|
import org.springblade.mdm.program.vo.NcNodeProgramVO;
|
import org.springblade.mdm.program.vo.NcNodeVO;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
|
/**
|
* 程序节点
|
*
|
* @author yangys
|
*/
|
@Slf4j
|
@Service
|
@AllArgsConstructor
|
public class NcNodeService extends BizServiceImpl<NcNodeMapper, NcNode> {
|
|
|
public void saveNcCode(NcNodeVO vo) {
|
NcNode ncNode = new NcNode();
|
|
BeanUtils.copyProperties(vo, ncNode);
|
ncNode.setId(null);
|
ncNode.setParentIds(buildParentIds(vo.getParentId()));
|
|
this.save(ncNode);
|
}
|
|
/**
|
* 构建父id节点
|
* @param nodeId 节点id
|
* @return
|
*/
|
String buildParentIds(long nodeId){
|
if(nodeId == 0L){
|
return "0";
|
}
|
NcNode pNode = this.baseMapper.selectById(nodeId);
|
|
return pNode.getParentIds()+","+pNode.getId();
|
}
|
/**
|
* 更新节点
|
* @param vo
|
*/
|
public void updateNcNode(NcNodeVO vo) {
|
NcNode ncNode = this.getById(vo.getId());
|
ncNode.setName(vo.getName());
|
ncNode.setNodeType(vo.getNodeType());
|
ncNode.setDescription(vo.getDescription());
|
ncNode.setRemark(vo.getRemark());
|
ncNode.setMachineCode(vo.getMachineCode());
|
ncNode.setParentIds(buildParentIds(vo.getParentId()));
|
|
this.updateById(ncNode);
|
}
|
|
/**
|
* 懒加载列表
|
* @param parentId 父节点ID
|
* @return
|
*/
|
public List<NcNodeVO> lazyList(Long parentId) {
|
// 判断点击搜索但是没有查询条件的情况
|
if (Func.isEmpty(parentId)) {
|
parentId = 0L;
|
}
|
|
return baseMapper.lazyList(parentId);
|
}
|
|
|
/**
|
* 查询现有固化的程序,暂定条件:零组件号相同,且是同一机床组
|
* * @param name 程序名称
|
* @param name
|
* @return
|
*/
|
public NcNode getLastProgramNode(String name) {
|
return this.getBaseMapper().getLastProgramNode(name);
|
}
|
|
|
}
|