package doumeemes.service.business; import doumeemes.core.model.ApiResponse; import doumeemes.core.model.LoginUserInfo; import doumeemes.core.model.PageData; import doumeemes.core.model.PageWrap; import doumeemes.dao.business.model.WOutbound; import doumeemes.dao.business.model.WTransfer; import doumeemes.dao.ext.bean.*; import org.springframework.web.bind.annotation.RequestParam; import java.util.List; /** * 仓库管理-出入库单信息表Service定义 * @author 江蹄蹄 * @date 2022/04/20 09:37 */ public interface WOutboundService { /** * 创建 * * @param wOutbound 实体对象 * @return Integer */ Integer create(WOutbound wOutbound); /** * 主键删除 * * @param id 主键 */ void deleteById(Integer id); /** * 删除 * * @param wOutbound 实体对象 */ void delete(WOutbound wOutbound); /** * 批量主键删除 * * @param ids 主键集 */ void deleteByIdInBatch(List ids); /** * 主键更新 * * @param wOutbound 实体对象 */ void updateById(WOutbound wOutbound); /** * 批量主键更新 * * @param wOutbounds 实体集 */ void updateByIdInBatch(List wOutbounds); /** * 主键查询 * * @param id 主键 * @return WOutbound */ WOutbound findById(Integer id); /** * 条件查询单条记录 * * @param wOutbound 实体对象 * @return WOutbound */ WOutbound findOne(WOutbound wOutbound); /** * 条件查询 * * @param wOutbound 实体对象 * @return List */ List findList(WOutbound wOutbound); /** * 分页查询 * * @param pageWrap 分页对象 * @return PageData */ PageData findPage(PageWrap pageWrap); /** * 条件统计 * * @param wOutbound 实体对象 * @return long */ long count(WOutbound wOutbound); ApiResponse saveBean(WOutBoundBean wOutBoundBean, LoginUserInfo loginUserInfo); ApiResponse saveBeanForStandard(WOutBoundBean wOutBoundBean, LoginUserInfo loginUserInfo); WOutbound getBeanById(Integer id); String getNextInCode(Integer comId ); String getNextOutCode(Integer comId ); ApiResponse cancel(Integer id,String detail,LoginUserInfo loginUserInfo); ApiResponse getOutByWTransferId(Integer id); ApiResponse getInByWTransferId(Integer id); ApiResponse outScanAppliances(String barCode, Integer type, Integer pId,Integer warehouseId, Integer locationId,LoginUserInfo loginUserInfo); ApiResponse saveOut(WOutBoundOutBean wOutBoundOutBean, LoginUserInfo loginUserInfo); ApiResponse saveIn(WOutBoundOutBean wOutBoundOutBean, LoginUserInfo loginUserInfo); WOutboundRedisBean wOutBoundForInOut(Integer id,Integer wOutboundType,Integer optType,String jsonBean); void wOutBoundForUpload(Integer id,Integer wOutboundType,LoginUserInfo loginUserInfo); void wOutBoundForStockUp(WOutboundInHeadBean wOutboundInHeadBean,LoginUserInfo loginUserInfo); }