/* * 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.technology.service; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.chinaztt.mes.technology.dto.StructureDTO; import com.chinaztt.mes.technology.dto.StructureTree; import com.chinaztt.mes.technology.entity.Structure; import com.chinaztt.mes.technology.entity.StructureComponent; import com.chinaztt.mes.technology.excel.StructureData; import com.chinaztt.ztt.common.core.util.R; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Map; /** * 产品结构 * * @author zhangxy * @date 2020-08-19 10:48:07 */ public interface StructureService extends IService { /** * 横着导入产品结构 * * @param dataList */ void importExcelExt(Map headMap, List> dataList); /** * 竖着导入产品结构 * * @param data */ void importExcel(List data); /** * 根据零件号查询默认BOM树 * * @param partId * @return */ StructureTree getMasterTreeByPartId(Long partId); /** * 关联查询 * * @param id * @return */ StructureDTO getFullById(Long id); /** * 关联保存 * * @param structure * @return */ R fullSave(StructureDTO structure); /** * 关联更新 * * @param structure * @return */ R fullUpdate(StructureDTO structure); /** * 获取完整树 * * @param id * @return */ StructureTree getTree(Long id); /** * 更改状态 * * @param ids * @param event * @return */ R changeState(List ids, String event); /** * 分页查询 * * @param page * @param ew * @return */ IPage> getPage(Page page, QueryWrapper ew); /** * 筛选没有生成BOM的产品结构 * * @return */ List getBuildBom(); /** * 复制产品结构 * * @param structure * @return */ R copyStructureSave(List structure); /** * 新增组件 * * @param component * @return */ R addComponent(StructureComponent component); /** * 批量新增或者修改组件 * * @param structureComponents * @return */ R batchComponent(List structureComponents); /** * 更新组件 * * @param component * @return */ R updateComponent(StructureComponent component); /** * 删除组件 * * @param compId * @return */ R removeComponent(Long compId); /** * 根据查询条件导出 * * @param response * @throws IOException */ void exportModel(HttpServletResponse response) throws IOException; /** * 对接ifs * * @param structureIds * @return */ R structureIfsSync(List structureIds); /** * 对接ifs * * @param structureDTOS * @return */ boolean structureIfsSyncByDto(List structureDTOS); }