package com.uas.ps.inquiry.service;
import com.uas.ps.inquiry.domain.IPage;
import com.uas.ps.inquiry.entity.*;
import com.uas.ps.inquiry.model.*;
import com.uas.ps.inquiry.page.PageInfo;
import com.uas.ps.inquiry.page.SearchFilter;
import javassist.NotFoundException;
import org.springframework.data.domain.Page;
import org.springframework.ui.ModelMap;
import java.util.List;
import java.util.Map;
/**
* 公共询价接口
*
* Created by hejq on 2018-01-13.
*/
public interface PublicInquiryService {
/**
* 保存公共询价信息
*
* @param inquiries erp传入公共询价的信息
* @param enuu 询价企业UU号
* @param address 询价企业地址
* @author hejq
* @date 2018-01-14 11:45
*/
void save(List inquiries, Long enuu, String address) throws NotFoundException;
/**
* 将ERP传入的inquiry信息转成公共询价服务中心需要的信息
*
* @param inquiries 将ERP传入的inquiry信息
* @param enuu 询价企业UU号
* @return
* @author hejq
* @date 2018-01-14 11:45
*/
List covert(List inquiries, Long enuu, String address) throws NotFoundException;
/**
* erp提交审核时,公共询价服务中心单据禁用报价功能
*
* @param inquiries erp询价信息
* @param enuu 询价企业UU号
* @author hejq
* @date 2018-01-14 11:45
*/
void updateStatus(List inquiries, Long enuu);
/**
* 查询供应商的报价信息
*
* @param enuu 企业uu
* @return
* @author hejq
* @date 2018-01-14 11:45
*/
List findNotUploadReply(Long enuu);
/**
* 将平台的公共询价转成ERP的对应的字段
*
* @param notUploadReply 未下载的供应商报价信息
* @return
* @author hejq
* @date 2018-01-14 11:51
*/
List convertPublicInquiryReply(List notUploadReply);
/**
* 下载完成后更新公共询价服务中心询价单明细的下载状态
*
* @param idArray 询价单明细id
* @author hejq
* @date 2018-01-14 12:12
*/
void onReplyUploadSuccess(String[] idArray);
/**
* 下载成功之后,更新报价下载状态
* @param idArray 报价单明细id
*/
void onReplyDownLoadSuccess(String[] idArray);
/**
* ERP提交公共询价单之后,更新平台状态,让公共询价服务中心询价单不能进行报价操作
*
* @param inquiries 询价信息
* @author hejq
* @date 2018-01-14 12:20
*/
void updateInquiryStatus(List inquiries, Long enuu);
/**
* ERP对报价信息的采纳状态上传到公共询价服务中心
*
* @param decides 采纳信息
* @author hejq
* @date 2018-01-14 12:24
*/
void onReplyDecide(List decides, Long enuu);
/**
* 将ERP的报价采纳信息转为公共询价服务中心需要的信息
*
* @param decides erp报价采纳信息
* @author hejq
* @date 2018-01-14 12:26
*/
List convertInquiryDecide(List decides);
/**
* 买家ERP作废询价单后,修改公共询价服务中心里面的状态
*
* @param inquiries 询价信息
* @param enuu 企业UU
* @author hejq
* @date 2018-01-14 12:28
*/
void onReplyInvalid(List inquiries, Long enuu);
/**
* 将公共询价列表转成需要报价的询价单,类型是公共询价
*
* @param id 询价明细id
* @param enuu 报价企业UU
* @param useruu 报价人uu
* @return
* @author hejq
* @date 2018-01-14 14:46
*/
ModelMap transtoInquiry(Long id, Long enuu, Long useruu);
/**
* 通过分页参数和过滤条件查询报价信息
*
* @param info 分页参数
* @param filter 过滤条件
* @return
* @author hejq
* @date 2018-01-17 10:30
*/
IPage findByPageInfo(PageInfo info, SearchFilter filter);
/**
* 通过id查询单个已转报价的信息
*
* @param id
* @return
*/
PublicInquiryItemInfo findOneInfo(Long id, Long enuu, Long useruu);
/**
* 商城获取采纳列表
*
* @param info
* @param filter
* @return
*/
Page findListByPageInfo(PageInfo info, SearchFilter filter);
/**
* 通过分页参数和过滤条件查询公共询价价信息
*
* @param info
* @param filter
* @return
* @author hejq
* @date 2018-01-18 15:32
*/
IPage findTodoByPageInfo(PageInfo info, SearchFilter filter);
/**
* 根据传入条件封装查询条件
*
* @param pageInfo 分页参数
* @param state 过滤条件
* @return
*/
PageInfo covert(PageInfo pageInfo, String state, Short overdue);
/**
* 获取公共询价列表信息
*
* @param enuu 当前企业UU
* @param size 大小
* @return
*/
List getMessageList(Long enuu, Integer size);
/**
* 消息推送
*
* @param inquiryItems 询价明细
* @param sourceApp 应用来源
* @throws Exception
*/
void notifyMessage(List inquiryItems, String sourceApp) throws Exception;
/**
* 针对供应商,客户对报价采纳结果进行消息通知
*
* @param item 询价明细
* @param sourceApp 来源
*/
void notifyDecide(PublicInquiryItem item, String sourceApp);
/**
* 通过id查询询价信息
*
* @param id 公共询价主表id
* @return
*/
PurcInquiry findInquiryById(Long id);
/**
* 商城-采购排行榜
*
* @return
*/
List