package com.ld.igds.inout.service; import com.ld.igds.data.Page; import com.ld.igds.inout.dto.*; import com.ld.igds.models.InoutLossOver; import com.ld.igds.models.InoutPrice; import java.util.Date; import java.util.List; /** * @author */ public interface InoutService { /** * 根据参数查询数据,流程中的数据 * * @param param * @return * @throws Exception */ InoutData inoutProgressQuery(InoutParam param) throws Exception; /** * 根据ID查询 * * @param param * @return * @throws Exception */ InoutData inoutQueryById(InoutParam param); /** * 据参数删除数据 * 删除规则为软删除,即标记数据状态为删除 * * @param param * @return * @throws Exception */ String deleteData(InoutParam param) throws Exception; /** * 异常终止 * * @param param * @return * @throws Exception */ String inoutStop(InoutParam param) throws Exception; /** * 根据数据添加, * * @param data * @return 返回异常信息,正常返回null * @throws Exception */ String insertData(InoutData data); /** * 更新数据 * * @param data * @return 返回异常信息,正常返回null * @throws Exception */ String updateData(InoutData data) throws Exception; /** * 值仓环节提交数据,只更新部分信息 * * @param data * @return */ String updateDataByHandle(InoutData data); /** * 分页获取住信息 * * @param param * @return */ Page pageRecordData(InoutParam param); /** * 根据条件获取列表,要求开始时间或者截至时间必须存在一个 * * @param param * @return */ List listRecordData(InoutParam param); /** * 根据智慧卡号和车牌号验证,当前是有有相同数据在流程执行中,如果有返回说明信息,没有返回NULL * * @param intelCard * @param plateNum * @return */ String validate(String intelCard, String plateNum); /** * 根据类型和流,直接跳作为完成 * * @param param 必须有type和id * @return */ String toComplete(InoutParam param) throws Exception; /** * 将出入库流水信息放到缓存中,包括进行中的和已经完成的 * * @param data */ void updateInoutCache(InoutData data); /** * 获取出入库列表信息,缓存时间是48小时 * * @param deptId * @return */ List getListInoutCache(String deptId); /** * 从缓存中获取出入库信息 * * @param param * @return */ InoutData getFromInoutCache(InoutParam param); /** * 快速完成流程中的订单 * * @param data * @return */ String quickComplete(InoutData data) throws Exception; /** * 缓存中获取完成的流水 * * @param deptId * @return */ List getCompleteListInoutCache(String deptId); /** * 获取流程未完成的流水数据 * * @param param * @return */ Page pageUnCompleteData(InoutParam param); /** * 获取当前仓库下最后一条记录信息 * * @param param * @return */ InoutData getLastRecord(InoutParam param); /** * 根据损溢记录,添加出入库记录信息 * * @param data * @return */ String addInoutDataByLossOver(InoutData data); /** * 根据损溢记录,删除出入库记录信息 * * @param param */ void delInoutDataByLossOver(InoutParam param); /** * 获取出入库流水ID序号 * * @param registerTime * @param companyId * @return */ String createId(Date registerTime, String companyId); /** * 获取出入库从开始周期到结束周期内,出入库的入库重量合计 * * @param param * @return */ double sumRecordWeight(InoutParam param); /** * 数据库根据车牌号和智慧卡号是否已经存在 * * @param param * @return */ int checkExist(InoutParam param); /** * 分页获取扦样数据 * * @param param * @return */ Page pageSampleData(InoutCheckParam param); /** * 更新扦样信息 * * @param data * @return * @throws Exception */ String updateSampleData(InoutCheckData data); /** * 分页获取化验数据 * * @param param * @return */ Page pageCheckData(InoutCheckParam param); /** * 更新化验信息 * * @param data * @return * @throws Exception */ String updateCheckData(InoutData data); /** * 获取粮食定价 * * @param param * @return */ List getPrice(InoutCheckParam param); /** * 从缓存中删除 * * @param deptId * @param type * @param id */ void delFromCache(String deptId, String type, String id); /** * 根据参数查询数据,流程中的数据 * * @param param * @return * @throws Exception */ InoutCheckData inoutDataByCheckId(InoutCheckParam param) throws Exception; /** * 根据条件获取损益列表,用于统计库存使用 * * @param param * @return */ List listLossOver(InoutParam param); /** * 获取出入库从开始周期到结束周期内,出入库的入库重量合计 * * @param param * @return */ double sumLossOverWeight(InoutParam param); }