package com.nanometer.smartlab.service; import com.nanometer.smartlab.entity.*; import com.nanometer.smartlab.entity.dto.PersonUseDetail; import com.nanometer.smartlab.exception.BusinessException; import java.util.Date; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; /** * Created by maweiqing on 17/12/12. */ public interface OpeReagentStatusService { /** * 实验室库存管理用和领用操作对话框用 * * 领用操作对话时userid为空 * * @param reagentId * @param articleNumber * @param status * @param reagentCode * @param userId * @param first * @param pageSize * @return */ List getOpeReagentStatusList(Long reagentId, String articleNumber, Integer status, String reagentCode, Long userId, Integer first, Integer pageSize); int getOpeReagentStatusTotalCount(Long reagentId, String articleNumber, Integer status, String reagentCode, Long userId); public List getOpeReagentStatusListForLab(Long reagentId,String name, String articleNumber, Integer status, String reagentCode, Long userId, String labName, Integer first, Integer pageSize); public int getOpeReagentStatusTotalCountForLab(Long reagentId,String name, String articleNumber, Integer status, String reagentCode, Long userId,String labName); List getOpeReagentStatusListByName(Long reagentId, String articleNumber, Integer status, String reagentCode, Long userId, Integer first, Integer pageSize); int getOpeReagentStatusTotalCountByName(Long reagentId, String articleNumber, Integer status, String reagentCode, Long userId); List getPersonReagentStatusListByName(Long reagentId, String articleNumber, String reagentCode, Long userId,String applyPerson,Date startTime,Date endTime, Integer first, Integer pageSize); int getPersonReagentStatusTotalCountByName(Long reagentId, String articleNumber, String reagentCode, Long userId, String applyPerson, Date startTime, Date endTime); OpeReagentStatus insertOpeReagentStatus(OpeReagentStatus opeReagentStatus); int batchInsertOpeReagentStatus(List OpeReagentStatusList); OpeReagentStatus getOpeReagentStatusById(Long id); OpeReagentStatus getOpeReagentStatusByReagentCode(String reagentCode); OpeReagentStatus getOpeReagentStatusByReagentCode2(OpeReagentStatus opeReagentStatus); boolean isOpeReagentStatusExist(String reagentCode); OpeReagentStatus getOpeReagentStatusByCode(String reagentCode); boolean isAllowWarehouseUse(OpeReagentStatus opeReagentStatus); boolean isAllowWarehouseUseByIds(List ids); boolean updateReagentStatus(OpeReagentStatus opeReagentStatus,String receiptNumber); boolean updateReagentStatus2(OpeReagentStatus opeReagentStatus); boolean updateReagentStatus3(List reagentCodes,Long userId,Long projectId,Long laboratoryId,Long laboratoryContainerId,String receiptNumber); int getLogOpeReagentStatusTotalCount(Long reagentLogId, Integer status, Long userLogId, Long loginId); List getLogOpeReagentStatusList(Long reagentLogId, Integer status, Long userLogId, Long loginId, Integer first, Integer pageSize); void putReagentInLaboratory(String reagentCode, Long labId, Long labContainerId, Long userId); boolean store(List selectedStoreList, Long laboratoryId, Long laboratoryContainerId); public List getOpeReagentStatusInfoList(String startTime,String endTime, Long containerid, String status); public void syncOpeReagentStatus(List reagentStatusList); void deleteByReagentCode(String reagentCode); List getReagentStatusByContainerCode(String containerCode); void updateTimeByCode(String code); void batchUpdateStatusByCode(List list) throws Exception; public List selectByReId(Long id); public void updateByReId(Long newReId,Long oldReId); List getReagentCodes(Long reagentId); //订单入库 新增试剂状态表 和流向 void orderInputWarehouseReagentStatusAndUseFlow(OpeApplyReserve opeApplyReserve, Long userId, List reagentCodeList , OpeOrder opeOrder); List checkReagentCode(String startReagentCode2, String endReagentCode2,Integer arrivalNum) throws BusinessException; List generateReagentCode(String startReagentCode2, String endReagentCode2); int updateOpeReagentStatus(OpeReagentStatus opeReagentStatus); int getReagentNumInWarehouse(Long id, String articleNumber, Long warehouseId); List selectExportList(String name, String articleNumber, Integer status, String reagentCode, Long userId,String labName); void exportLabStock2Excel(List list) throws Exception; OpeReagentStatus getStatus(Long reagentId, String reagentCode); List getOpeReagentStatusList22(Long reagentId, String articleNumber, Integer status, String reagentCode, Long userId,String applyCode, Integer first, Integer pageSize); Integer getReagentStatusCountByApplyCode(String applyCode); }