package com.sy.coinage.workshop.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sy.coinage.app.req.ShopConfirmReq;
import com.sy.coinage.app.req.WareConfirmReq;
import com.sy.coinage.core.vo.CacheUserVO;
import com.sy.coinage.workshop.model.*;
import com.sy.coinage.workshop.req.*;
import com.sy.coinage.workshop.vo.*;

import java.text.ParseException;
import java.util.List;

/**
 * -I车间出库单据（库房解缴|返检单据|）Service
 */
public interface IWorkshopOutboundService extends IService<WorkshopOutbound> {

    /**
     * 内部出库
     *
     * @param req
     * @param user
     */
    void eliminateOut(WorkshopOutboundReq req, CacheUserVO user) throws ParseException;

    /**
     * 外部出库
     *
     * @param req
     * @param user
     */
    void shopOut(WorkshopOutboundReq req, CacheUserVO user) throws ParseException;

    void returnCheckWareOut(WareConfirmReq req, CacheUserVO user);

    void returnCheckShopIn(WareConfirmReq req, CacheUserVO user);

    List<String> wareIn(ShopConfirmReq req, CacheUserVO user);

    void create(WorkshopOutboundAddReq req, CacheUserVO user);

    String creadeOutOrderNo(String securities, Integer deptId);

    void delete(Integer id);

    void update(WorkshopOutboundAddReq req, CacheUserVO user);

}
