package com.ld.igds.inout.service;
|
|
import com.ld.igds.data.Page;
|
import com.ld.igds.inout.dto.*;
|
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);
|
|
/**
|
* 根据数据添加,
|
*
|
* @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<InoutData> pageRecordData(InoutParam param);
|
|
/**
|
* 根据条件获取列表,要求开始时间或者截至时间必须存在一个
|
*
|
* @param param
|
* @return
|
*/
|
List<InoutData> 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<InoutData> getListInoutCache(String deptId);
|
|
/**
|
* 从缓存中获取出入库信息
|
*
|
* @param param
|
* @return
|
*/
|
InoutData getFromInoutCache(InoutParam param);
|
|
|
/**
|
* 推送大屏
|
*
|
* @param companyId
|
* @param deptId
|
* @param progress 可以为空
|
*/
|
void notifyToScreen(String companyId, String deptId, String progress);
|
|
/**
|
* 快速完成流程中的订单
|
*
|
* @param data
|
* @return
|
*/
|
String quickComplete(InoutData data) throws Exception;
|
|
|
/**
|
* 缓存中获取完成的流水
|
*
|
* @param deptId
|
* @return
|
*/
|
List<InoutData> getCompleteListInoutCache(String deptId);
|
|
/**
|
* 获取流程未完成的流水数据
|
*
|
* @param param
|
* @return
|
*/
|
Page<InoutData> pageUnCompleteData(InoutParam param);
|
|
/**
|
* 获取当前仓库下最后一条记录信息
|
*
|
* @param param
|
* @return
|
*/
|
InoutData getLastRecord(InoutParam param);
|
|
/**
|
* 根据损溢记录,添加出入库记录信息
|
*
|
* @param data
|
* @return
|
*/
|
String addInoutDataByLossOver(InoutData data);
|
|
/**
|
* 根据损溢记录,删除出入库记录信息
|
*
|
* @param param
|
*/
|
void delInoutDataByLossOver(InoutParam param);
|
|
/**
|
* 将化验结果存入缓存中
|
*
|
* @param data
|
*/
|
void setCheckCache(InoutData data);
|
|
/**
|
* 获取出入库流水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<InoutCheckData> pageSampleData(InoutCheckParam param);
|
|
/**
|
* 更新扦样信息
|
*
|
* @param data
|
* @return
|
* @throws Exception
|
*/
|
String updateSampleData(InoutCheckData data);
|
|
/**
|
* 分页获取化验数据
|
*
|
* @param param
|
* @return
|
*/
|
Page<InoutCheckData> pageCheckData(InoutCheckParam param);
|
|
/**
|
* 更新化验信息
|
*
|
* @param data
|
* @return
|
* @throws Exception
|
*/
|
String updateCheckData(InoutData data);
|
|
/**
|
* 获取粮食定价
|
*
|
* @param param
|
* @return
|
*/
|
List<InoutPrice> getPrice(InoutCheckParam param);
|
|
/**
|
* 从缓存中删除
|
*
|
* @param deptId
|
* @param type
|
* @param id
|
*/
|
void delFromCache(String deptId, String type, String id);
|
}
|