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
125
126
127
128
package com.nanometer.smartlab.service;
 
import com.nanometer.smartlab.entity.*;
import com.nanometer.smartlab.entity.enumtype.ApplyStatus;
import com.nanometer.smartlab.exception.BusinessException;
import org.primefaces.event.FileUploadEvent;
 
import java.io.IOException;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.List;
import java.util.Map;
 
/**
 * Created by johnny on 17/12/12.
 */
public interface OpeApplyService {
 
    public List<OpeApply> getOpeApplyList(String reagentName, Timestamp startDeadline,String controlProduct, Timestamp endDeadline, Integer status,
                                          Long applyUserId, Long approveUserId, String queryCas,
                                          Integer first, Integer pageSize,String applyCode,String applyUserName,Byte isShow);
    public List<OpeApply> getOpeApplyListForApproval(String applyUserName,String approvaUserName,String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status,
                                                     Long applyUserId, Long approveUserId, String queryCas,
                                          Integer first, Integer pageSize,String applyCode,String searchApproval);
    public int getOpeApplyTotalCount(String reagentName, Timestamp startDeadline,String controlProduct, Timestamp endDeadline, Integer status,
                                     Long applyUserId, Long approveUserId, String queryCas,String applyCode,String applyUserName,Byte isShow);
    public int getOpeApplyTotalCountForApproval(String applyUserName,String approvaUserName,String reagentName, Timestamp startDeadline, Timestamp endDeadline, Integer status,
                                                Long applyUserId, Long approveUserId, String queryCas,String applyCode,String searchApproval);
    public OpeApply getOpeApply(Long id);
    public OpeApply insertOpeApply(OpeApply opeApply);
    public List<OpeApply> insertOpeApplyList(List<OpeApply> opeApplyList);
    public boolean updateOpeApply(OpeApply opeApply);
 
    public boolean updateFirst(Long id);
    public boolean updateFirst2(Long id);
    public boolean updateOpeApplyProject(String newObjective,String oldObjective);
 
    public boolean updateSelectedOpeApplyStatus(String memo, List<Long> applyIds,
                                                Long adminUserId, List<Long> adminApplyIds,List<Long> firstUserIds);
 
    public boolean updateOpeApplyStatus(ApplyStatus status, String memo, List<Long> applyIds);
 
    public boolean updateOpeApplyAdminStatus(String memo, List<Long> applyIds, Long adminUserId,List<Long> firstUserIds);
 
    public boolean updateOpeApplyAdminStatus2(String memo, List<Long> applyIds, Long adminUserId,List<Long> firstUserIds);
 
    public boolean deleteOpeApply(List<OpeApply> opeApplyList);
 
    public boolean isApplyPendingApproval(OpeApply opeApply);
    public boolean isApplyApproved(OpeApply opeApply);
    public boolean isAllowApplyCancel(OpeApply opeApply);
 
    OpeApply selectOpeApplyByPrimaryKey(Long id);
 
    int getOpeApplyReserveTotalCountByName(Long id,String reagentName, String personName);
    List<OpeApplyReserve> getOpeApplyReserveListByName(Long id,String reagentName, String personName, Integer first,
            Integer pageSize);
    int getOpeApplyReserveTotalCountByNameFor(Long userId,String reagentName, String personName,String productSn,String applyCode,Integer status,Integer isAllApply,boolean isExpired);
    List<OpeApplyReserve> getOpeApplyReserveListByNameFor(Long id,String reagentName, String personName, Integer first,
                                                       Integer pageSize,String productSn,String applyCode,Integer status,Integer isAllApply,boolean isExpired);
    public boolean updaetOpeApplyPrice(BigDecimal applyPrice,Long id);
    public boolean updaetOpeApplyStockFlag(int stockFlag,Long id);
    public boolean cancelApply(ApplyStatus status,Long id);
 
    public List<OpeApply> selectByReId(Long id);
    public void updateByReId(Long newReId,Long oldReId);
 
    OpeApplyReserve getOpeApplyDetail(Long applyCode);
 
 
    void updateOpeApplyInfo(ApplyStatus storage, Long consigneeId, Timestamp arrivalTime, Long applyId,Integer arrivalNum);
 
    void orderInputWarehouse(List<OpeApplyReserve> opeApplyList,Long consigneeId,Timestamp arrivalTime) throws BusinessException,Exception;
 
    void btUpdateApplyAndOrder(List<OpeApply> opeList);
 
    void importApply(FileUploadEvent event, SysUser user) throws IOException;
 
    OpeApplyReserve getOpeApplyReserveListByNameForRowData(Long rowKey);
 
    int getOpeApplySupplerRequireMngTotalCount(SysUser user,String reagentName, Timestamp startDeadline, Timestamp endDeadline, int key, byte b);
 
    List<OpeApply> getOpeApplySupplerRequireMngList(SysUser user,String reagentName, Timestamp startDeadline, Timestamp endDeadline, int key, int first, int pageSize, byte b);
 
    /**
     * 根据id更新申请订单状态
     * @param status
     * @param applyId
     * @return
     */
    int updateOpeApplyStatusById(Integer status,  Long applyId);
 
    /**
     * 获取订单下面的申请列表
     * @param orderId
     * @return
     */
    List<OpeApply> getOpeApplyByOrderId(Long orderId);
 
 
    /**
     * 根据申请id获取试剂信息
     * @param applyId
     * @return
     */
    SysReagent getReagentByApplyId(Long applyId);
 
    /**
     * 获取数量,关联订单
     * @param applyCode
     * @param orderCode
     * @param orderName
     * @return
     */
    int getOpeApplyCountWithOrder(String applyCode,String orderCode,String orderName);
 
    /**
     * 获取列表  关联订单
     * @param applyCode
     * @param orderCode
     * @param orderName
     * @param first
     * @param pageSize
     * @return
     */
    List<OpeApply> getOpeApplyListWithOrder(String applyCode,String orderCode,String orderName,int first, int pageSize);
 
}