evoToK3Cloud/ruoyi-system/src/main/java/com/ruoyi/system/service/IProcessOrderProService.java
2026-03-23 13:40:50 +08:00

111 lines
3.1 KiB
Java

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<ProcessOrderProVo> queryPageList(ProcessOrderProBo bo, PageQuery pageQuery);
/**
* 查询项目令号列表
*/
List<ProcessOrderProVo> queryList(ProcessOrderProBo bo);
/**
* 新增项目令号
*/
Boolean insertByBo(ProcessOrderProBo bo);
/**
* 修改项目令号
*/
Boolean updateByBo(ProcessOrderProBo bo);
/**
* 清空项目关联数据(保留项目本身)
*/
R<Void> clearProjectData(Collection<Long> ids);
/**
* 校验并批量删除项目令号信息
*/
R<Void> deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
List<ProcessRoute> selectProList(ProcessOrderProBo bo);
ProcessOrderPro selectByProjectNumber(String routeDescription);
void batchUpdateProjectTimeRanges();
List<ProcessOrderPro> selectByProjectNumbers(Set<String> routeDescSet);
void addProduct( RigidChainModelDTO orderPro);
String executDrawing(ProcessOrderProBo orderPro);
/**
* 上传PDF并生成zip包
* @param id 项目ID
* @return zip包路径
*/
R<String> uploadPDF(Long id);
String uploadContractPDF(Integer id, String originalFilename, MultipartFile filePath);
List<OverdueProjectVo> getOverdueProjects();
List<ProcessRouteExcelDTO> getRouteAndBomDetail(List<ProcessRoute> routlist,List<ProductionOrderVo> processDataList,ProcessOrderPro orderPro);
R<String> getRouteLog(Long id) throws JsonProcessingException;
SseEmitter startDrawingSse(Long id);
R<String> downloadDwg(List<Long> ids);
/**
* 推送钉钉卡片
* @param id 项目ID
*/
void pushDingTalkCard(Long id);
/**
* 刷新并计算项目延期状态
*/
void refreshDelayStatus();
}