zhangherong
2025-06-25 23855599412c4d61b38d78f0f3abd3430a48b5b1
lxzn-module-dnc/src/main/java/org/jeecg/modules/dnc/service/IDocInfoService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,270 @@
package org.jeecg.modules.dnc.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.dnc.entity.DocFile;
import org.jeecg.modules.dnc.entity.DocInfo;
import org.jeecg.modules.dnc.entity.ProcessStream;
import org.jeecg.modules.dnc.request.DocInfoQueryRequest;
import org.jeecg.modules.dnc.request.DocInfoUploadRequest;
import org.jeecg.modules.dnc.response.ResponseResult;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.List;
public interface IDocInfoService extends IService<DocInfo> {
    /**
     * å¯¼å…¥æ–‡æ¡£è¿›å£
     * @param file
     * @param docInfo
     * @return
     */
    boolean addDocInfo(MultipartFile file, DocInfoUploadRequest docInfo);
    /**
     * ç¼–辑文档基本信息
     * @param id
     * @param docInfo
     * @return
     */
    boolean editDocInfo(String id, DocInfo docInfo);
    /**
     * åˆ é™¤æ–‡æ¡£ä¿¡æ¯
     * @param id
     * @return
     */
    boolean deleteDocInfo(String id,String attrType,String attrId);
    /**
     * ç›‘控文件导入
     * @param pathFile
     * @return
     */
    boolean addDocInfoRec(String pathFile,File fileRec);
    /**
     * è§£æžNC文档通用方法(工控解析涉密)
     * @param pathFile,fileRec
     * @return
     */
    boolean addDocInfoAnalysisGwNcService(String pathFile,File fileRec) throws FileNotFoundException;
    /**
     * ç¨‹åºå›žä¼ ï¼ˆæ¶‰å¯†è§£æžå·¥æŽ§ï¼‰
     * @param pathFile
     */
    boolean addDocInfoAnalysisSmwNcService(String pathFile,File fileRec);
    /**
     * æ–‡æ¡£è§£æž
     * @param equipmentId
     * @param fileRec
     * @param fileNameSuffix
     * @param fileNameNew
     * @param filePath
     * @return
     */
    boolean addDocInfoRecService(String equipmentId,File fileRec,String fileNameSuffix,String fileNameNew,String filePath );
    /**
     * å…¥åº“操作 æ–‡æ¡£å¯¹åº”文件升版
     * @param id
     * @return
     */
    boolean pushDocFile(String id, MultipartFile file);
    /**
     * æ–‡æ¡£å‡ºåº“检查
     * @param id
     * @return
     */
    DocFile checkDocInfo(String id);
    /**
     * æ–‡æ¡£å‘布
     * @param id
     * @return
     */
    boolean publishDocInfo(String id);
    /**
     * æ–‡æ¡£é‡å‘布
     * @param id
     * @return
     */
    boolean republishDocInfo(String id);
    /**
     * æ–‡æ¡£å½’æ¡£
     * @param id
     * @return
     */
    boolean pigeonholeDocInfo(String id);
    /**
     * å–消出库
     * @param id
     * @return
     */
    boolean cancelPullDocInfo(String id);
    /**
     * åˆ†é¡µæŸ¥è¯¢æŽ¥å£
     * @param page
     * @param size
     * @param docQuery
     * @return
     */
    Result<?> findPageList(int page, int size, DocInfoQueryRequest docQuery);
    /**
     *
     * @param docId
     * @param attributeId
     * @param attrType
     * @return
     */
    DocInfo getByDocAttrAndDocId(String docId, Integer attrType, String attributeId);
    /**
     * æ–‡æ¡£é¢„览
     * @param id
     * @return
     */
    DocFile previewDocFile(String id);
    /**
     * åˆ é™¤äº§å“ä¸‹çš„æ‰€æœ‰æ–‡æ¡£
     * @param productId
     * @return
     */
    boolean deleteByProductId(String productId);
    /**
     * åˆ é™¤éƒ¨ä»¶ä¸‹çš„æ‰€æœ‰æ–‡æ¡£
     * @param componentId
     * @return
     */
    boolean deleteByComponentId(String componentId);
    /**
     * åˆ é™¤é›¶ä»¶ä¸‹çš„æ‰€æœ‰æ–‡æ¡£
     * @param partsId
     * @return
     */
    boolean deleteByPartsId(String partsId);
    /**
     * åˆ é™¤è®¾å¤‡ä¸‹çš„æ‰€æœ‰æ–‡æ¡£
     * @param deviceId
     * @return
     */
    boolean deleteByDeviceId(String deviceId);
    /**
     * åˆ é™¤å·¥åºä¸‹çš„æ‰€æœ‰æ–‡æ¡£
     * @param processId
     * @return
     */
    boolean deleteByProcessId(String processId);
    /**
     * åˆ é™¤å·¥æ­¥ä¸‹çš„æ‰€æœ‰æ–‡æ¡£
     * @param stepId
     * @return
     */
    boolean deleteByStepId(String stepId);
    /**
     * åˆ é™¤æ–‡æ¡£ä¿¡æ¯
     * @param attrType
     * @param attrId
     * @return
     */
    boolean deleteByDocAttr(Integer attrType, String attrId);
    /**
     * å‡ºåº“
     * @param request
     * @param response
     * @param id
     * @return
     */
    ResponseResult pullDocFile(HttpServletRequest request, HttpServletResponse response, String id);
    /**
     * æ ¹æ®æ–‡æ¡£åç§°/绑定类型查找唯一的文档信息
     * @param docName
     * @param attrType
     * @param attrId
     * @return
     */
    DocInfo findByAttrAndDocName(String docName, Integer attrType, String attrId);
    /**
     * æ ¡éªŒæ–‡æ¡£åç§°æ˜¯å¦å­˜åœ¨é‡å¤
     * @param docName
     * @param attrType
     * @param attrId
     * @param docId
     * @return
     */
    DocInfo findByAttrAndDocNameNotThis(String docName, Integer attrType, String attrId, String docId);
    /**
     *
     * @param docId
     * @return
     */
    List<DocInfo> getByDocId(String docId);
    /**
     * æŸ¥è¯¢è®¾å¤‡å‘送目录的文档状态
     * @param page
     * @param size
     * @param docQuery
     * @return
     */
    IPage<DocInfo> findPageListByDevice(int page, int size, DocInfoQueryRequest docQuery);
    /**
     * æŸ¥è¯¢å¯æŒ‡æ´¾çš„æ–‡æ¡£ä¿¡æ¯åˆ—表
     * @param docQuery
     * @return
     */
    List<DocInfo> findList(DocInfoQueryRequest docQuery);
    /**
     * é€šè¿‡ä¸€ç»„attributionId,docClassCode,attributionType查询可指派的文档信息列表
     * @param docQuery
     * @return
     */
    List<DocInfo> findListByDocQuery(DocInfoQueryRequest docQuery);
    /**
     * èŽ·å–ä¸€ç»„å·¥åºä¸‹çš„æ–‡æ¡£ä¿¡æ¯åˆ—è¡¨
     * @param streams
     * @return
     */
    List<DocInfo> getByProcessIds(List<ProcessStream> streams);
    /**
     * æ‰¹é‡åˆ é™¤æ–‡æ¡£æŽ¥å£
     * @param docIds
     * @return
     */
    boolean batchRemoveDocInfo(String[] docIds,String attrType,String attrId);
    /**
     * æ–‡æ¡£ä¸‹è½½
     * @param request
     * @param response
     * @param id
     * @return
     */
    ResponseResult downloadDocFile(HttpServletRequest request, HttpServletResponse response, String id);
}