package com.fs.his.service;

import java.util.List;
import com.fs.his.domain.FsStoreSubOrder;
import com.fs.his.param.FsStoreOrderParam;
import com.fs.his.vo.FsStoreSubOrderListVO;
import com.fs.his.vo.FsStoreSubOrderVO;
import com.fs.his.vo.FsSubOrderResultVO;

/**
 * 订单Service接口
 *
 * @author fs
 * @date 2024-05-09
 */
public interface IFsStoreSubOrderService
{
    /**
     * 查询订单
     *
     * @param subOrderId 订单主键
     * @return 订单
     */
    public FsStoreSubOrder selectFsStoreSubOrderBySubOrderId(Long subOrderId);



    FsStoreSubOrderVO selectFsStoreSubOrderVOBySubOrderId(Long subOrderId);
    /**
     * 查询订单列表
     *
     * @param fsStoreSubOrder 订单
     * @return 订单集合
     */
    public List<FsStoreSubOrderListVO> selectFsStoreSubOrderList(FsStoreOrderParam fsStoreSubOrder);

    /**
     * 新增订单
     *
     * @param fsStoreSubOrder 订单
     * @return 结果
     */
    public int insertFsStoreSubOrder(FsStoreSubOrder fsStoreSubOrder);

    /**
     * 修改订单
     *
     * @param fsStoreSubOrder 订单
     * @return 结果
     */
    public int updateFsStoreSubOrder(FsStoreSubOrder fsStoreSubOrder);

    /**
     * 批量删除订单
     *
     * @param subOrderIds 需要删除的订单主键集合
     * @return 结果
     */
    public int deleteFsStoreSubOrderBySubOrderIds(String[] subOrderIds);

    /**
     * 删除订单信息
     *
     * @param subOrderId 订单主键
     * @return 结果
     */
    public int deleteFsStoreSubOrderBySubOrderId(String subOrderId);

    void insertFsStoreSubOrderByStoreOrder(Long orderId);

    FsSubOrderResultVO TuiFsStoreSubOrderByStoreOrder(Long orderId);


    List<Long> selectFsStoreSubOrderByNoPush();


    Boolean isEntityNull(FsStoreOrderParam fsStoreSubOrder);

    Long selectFsStoreSubOrderListCount(FsStoreOrderParam fsStoreSubOrder);

    List<FsStoreSubOrder> selectFsStoreSubOrderListByCreateTime(String yesterdayStartStr, String todayStartStr);

    void pushHsyy(List<FsStoreSubOrder> list);
}
