kongzy
2024-07-01 47a751cb301d05276ae5d75145d57b2d090fe4e1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
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<OpeReagentStatus> 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<OpeReagentStatus> 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<OpeReagentStatus> 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<OpeReagentStatus> 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<OpeReagentStatus> 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<Long> ids);
 
    boolean updateReagentStatus(OpeReagentStatus opeReagentStatus,String receiptNumber);
    boolean updateReagentStatus2(OpeReagentStatus opeReagentStatus);
 
    boolean updateReagentStatus3(List<String> reagentCodes,Long userId,Long projectId,Long laboratoryId,Long laboratoryContainerId,String receiptNumber);
 
    int getLogOpeReagentStatusTotalCount(Long reagentLogId, Integer status, Long userLogId, Long loginId);
 
    List<OpeReagentStatus> 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<OpeReagentStatus> selectedStoreList, Long laboratoryId, Long laboratoryContainerId);
 
    public List<OpeReagentStatus> getOpeReagentStatusInfoList(String startTime,String endTime, Long containerid, String status);
 
    public void syncOpeReagentStatus(List<LinkedHashMap> reagentStatusList);
 
    void deleteByReagentCode(String reagentCode);
 
    List<OpeReagentStatus> getReagentStatusByContainerCode(String containerCode);
 
    void updateTimeByCode(String code);
 
    void batchUpdateStatusByCode(List<PersonUseDetail> list) throws Exception;
 
    public List<OpeReagentStatus> selectByReId(Long id);
    public void updateByReId(Long newReId,Long oldReId);
 
 
    List<String> getReagentCodes(Long reagentId);
    //订单入库 新增试剂状态表 和流向
    void orderInputWarehouseReagentStatusAndUseFlow(OpeApplyReserve opeApplyReserve, Long userId, List<String> reagentCodeList , OpeOrder opeOrder);
 
    List<String> checkReagentCode(String startReagentCode2, String endReagentCode2,Integer arrivalNum) throws BusinessException;
 
    List<String> generateReagentCode(String startReagentCode2, String endReagentCode2);
 
    int updateOpeReagentStatus(OpeReagentStatus opeReagentStatus);
 
    int getReagentNumInWarehouse(Long id, String articleNumber, Long warehouseId);
 
    List<Map> selectExportList(String name, String articleNumber, Integer status,
                               String reagentCode, Long userId,String labName);
 
    void exportLabStock2Excel(List<Map> list) throws Exception;
 
    OpeReagentStatus getStatus(Long reagentId, String reagentCode);
 
    List<OpeReagentStatus> getOpeReagentStatusList22(Long reagentId, String articleNumber, Integer status,
                                                            String reagentCode, Long userId,String applyCode, Integer first, Integer pageSize);
 
    Integer getReagentStatusCountByApplyCode(String applyCode);
}