package cn.iocoder.yudao.module.srm.service.inquiry; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.srm.controller.admin.inquiry.vo.*; import cn.iocoder.yudao.module.srm.dal.dataobject.SrmInquiryDO; import jakarta.validation.Valid; import java.util.List; /** * SRM 询价比价 Service 接口 */ public interface SrmInquiryService { Long createInquiry(@Valid SrmInquirySaveReqVO createReqVO); void updateInquiry(@Valid SrmInquirySaveReqVO updateReqVO); void deleteInquiry(Long id); SrmInquiryDO getInquiry(Long id); /** * 获取询价单详情(含产品行、参与供应商、报价、已生成订单) */ SrmInquiryRespVO getInquiryDetail(Long id); PageResult getInquiryPage(SrmInquiryPageReqVO pageReqVO); /** * 获取询价单精简列表(用于投标保证金等下拉选择) */ List getInquirySimpleList(); /** * 发布询价单:草稿 -> 询价中 */ void publishInquiry(Long id); /** * 取消询价单:草稿/询价中 -> 已取消 */ void cancelInquiry(Long id); /** * 批量保存某供应商对询价单各产品行的报价 */ void saveQuotes(@Valid SrmInquiryQuoteSaveReqVO saveReqVO); /** * 对比视图数据(产品行 × 供应商报价) */ SrmInquiryRespVO getCompare(Long id); /** * 确认中标并生成采购订单草稿 */ SrmInquiryConfirmRespVO confirmInquiry(@Valid SrmInquiryConfirmReqVO confirmReqVO); }