package com.ruoyi.system.service; import com.fasterxml.jackson.core.JsonProcessingException; import com.ruoyi.common.core.domain.R; import com.ruoyi.system.domain.MrpResultCheck; import com.ruoyi.system.domain.ProcessOrderPro; import com.ruoyi.system.domain.ProcessRoute; import com.ruoyi.system.domain.bo.FigureSaveBo; import com.ruoyi.system.domain.dto.ProcessRouteExcelDTO; import com.ruoyi.system.domain.dto.ProcessRoutePushResultDTO; import com.ruoyi.system.domain.dto.ProcessRouteXuDTO; import com.ruoyi.system.domain.dto.excuteDrawing.RigidChainModelDTO; import com.ruoyi.system.domain.vo.OverdueProjectVo; import com.ruoyi.system.domain.vo.ProcessOrderProVo; import com.ruoyi.system.domain.bo.ProcessOrderProBo; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.domain.PageQuery; import com.ruoyi.system.domain.vo.ProductionOrderVo; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.mvc.method.annotation.SseEmitter; import java.util.Collection; import java.util.List; import java.util.Set; /** * 项目令号Service接口 * * @author tzy * @date 2024-10-22 */ public interface IProcessOrderProService { /** * 查询项目令号 */ ProcessOrderProVo queryById(Long id); /** * 查询项目令号列表 */ TableDataInfo queryPageList(ProcessOrderProBo bo, PageQuery pageQuery); /** * 查询项目令号列表 */ List queryList(ProcessOrderProBo bo); /** * 新增项目令号 */ Boolean insertByBo(ProcessOrderProBo bo); /** * 修改项目令号 */ Boolean updateByBo(ProcessOrderProBo bo); /** * 清空项目关联数据(保留项目本身) */ R clearProjectData(Collection ids); /** * 校验并批量删除项目令号信息 */ R deleteWithValidByIds(Collection ids, Boolean isValid); List selectProList(ProcessOrderProBo bo); ProcessOrderPro selectByProjectNumber(String routeDescription); void batchUpdateProjectTimeRanges(); List selectByProjectNumbers(Set routeDescSet); void addProduct( RigidChainModelDTO orderPro); String executDrawing(ProcessOrderProBo orderPro); /** * 上传PDF并生成zip包 * @param id 项目ID * @return zip包路径 */ R uploadPDF(Long id); String uploadContractPDF(Integer id, String originalFilename, MultipartFile filePath); List getOverdueProjects(); List getRouteAndBomDetail(List routlist,List processDataList,ProcessOrderPro orderPro); R getRouteLog(Long id) throws JsonProcessingException; SseEmitter startDrawingSse(Long id); R downloadDwg(List ids); /** * 推送钉钉卡片 * @param id 项目ID */ void pushDingTalkCard(Long id); /** * 刷新并计算项目延期状态 */ void refreshDelayStatus(); }