xuhy
9 天以前 69e70841125d2e1f12fca17b0751d6d8842fc6cf
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
package com.ruoyi.system.service;
 
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.dto.AddProcurementDto;
import com.ruoyi.system.export.PlatformLedgerReportExport;
import com.ruoyi.system.export.ProcurementReportClinicExport;
import com.ruoyi.system.export.ProcurementReportPlatformExport;
import com.ruoyi.system.export.ProcurementReportSupplierExport;
import com.ruoyi.system.model.TErpGoods;
import com.ruoyi.system.model.TErpProcurement;
import com.ruoyi.system.model.TErpProcurementGoods;
import com.ruoyi.system.query.ClinicProcurementReportQuery;
import com.ruoyi.system.query.TErpGoodsQuery;
import com.ruoyi.system.query.TErpProcurementQuery;
import com.ruoyi.system.vo.*;
 
import javax.validation.Valid;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.util.List;
 
/**
 * <p>
 * erp采购 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-08-20
 */
public interface TErpProcurementService extends IService<TErpProcurement> {
 
    PageInfo<TErpProcurementVo> pageList(TErpProcurementQuery query, SysUser user);
 
    PageInfo<TErpProcurementVo> pageListWarehouse(TErpProcurementQuery query, SysUser user);
 
 
    TErpProcurementDetailVo detail(String id, SysUser user, String goodsName);
 
 
    PageInfo<TErpGoods> pageGoodsPageList(TErpGoodsQuery query, SysUser user);
 
    List<TErpGoodsVO> inventoryNotEnoughList(SysUser user);
 
 
    void addProcurement(String clinicSupplierId, SysUser user, @Valid List<AddProcurementDto> dtos);
 
    DetailProcurementVO detailProcurement(String clinicSupplierId, SysUser user, String id);
 
    void detailProcurementSend(List<String> clinicSupplierId, SysUser user, String id,String logisticsNumber);
    /**
     * 供应商采购统计
     * @param supplierAndClinicId
     * @param startTime
     * @param endTime
     * @return
     */
    List<SupplierThirtyProcurementStatisticsVO> supplierThirtyProcurementStatistics(String supplierAndClinicId, String startTime, String endTime, Integer roleType);
 
    /**
     * 供应商30天采购金额统计
     * @param supplierAndClinicId
     * @param startTime
     * @param endTime
     * @return
     */
    List<SupplierThirtyMoneyProcurementStatisticsVO> supplierThirtyMoneyProcurementStatistics(String supplierAndClinicId, String startTime, String endTime,Integer roleType);
 
    /**
     * 供应商30天采购总类统计
     * @param supplierId
     * @return
     */
    Integer supplierSalesStatisticsTypeCount(String supplierId);
 
    /**
     * 供应商30天采购总数统计
     * @param supplierId
     * @return
     */
    Integer supplierSalesStatisticsCount(String supplierId);
 
    /**
     * 供应商30天采购金额统计
     * @param supplierId
     * @param startTime
     * @param endTime
     * @return
     */
    BigDecimal supplierSalesStatisticsMoney(String supplierId, String startTime, String endTime);
 
    /**
     * 供应商30天销售占比
     * @param supplierId
     * @param startTime
     * @param endTime
     * @return
     */
    List<SupplierSalesStatisticsGoodsTypeVO> supplierSalesStatisticsGoodsType(String supplierId, String startTime, String endTime);
 
    /**
     * 供应商30天销售商品统计
     * @param supplierId
     * @param startTime
     * @param endTime
     * @param goodsName
     * @return
     */
    List<SupplierSalesStatisticsGoodsCountVO> supplierSalesStatisticsGoodsCount(String supplierId, String startTime, String endTime, String goodsName);
 
    /**
     * 供应商30天销售商品统计
     * @param supplierId
     * @param startTime
     * @param endTime
     * @param goodsName
     * @return
     */
    List<SupplierSalesStatisticsGoodsCountVO> supplierSalesStatisticsGoodsCountMonth(String supplierId, String startTime, String endTime, String goodsName);
 
    /**
     * 诊所下所有的采购订单详情数据
     * @param clinicIds 诊所id集合
     * @return
     */
    List<TErpProcurementGoods> branchAdminStatisticsThree(List<String> clinicIds);
 
 
    /**
     * 诊所采购报表
     * @param query
     * @return
     */
    PageInfo<ClinicProcurementReportVO> clinicProcurementReport(ClinicProcurementReportQuery query);
 
    /**
     * 诊所采购报表导出
     * @param query
     * @return
     */
    List<ProcurementReportClinicExport> exportProcurementReportClinic(ClinicProcurementReportQuery query);
 
    /**
     * 供应商采购报表导出
     * @param query
     * @return
     */
    List<ProcurementReportSupplierExport> exportProcurementReportSupplier(ClinicProcurementReportQuery query);
 
    /**
     * 平台采购报表导出
     * @param query
     * @return
     */
    List<ProcurementReportPlatformExport> exportProcurementReportPlatform(ClinicProcurementReportQuery query);
 
    /**
     * 平台分账报表
     * @param query
     * @return
     */
    PageInfo<ClinicProcurementReportVO> platformLedgerReport(ClinicProcurementReportQuery query);
 
    /**
     * 平台分账报表导出
     * @param query
     * @return
     */
    List<PlatformLedgerReportExport> exportPlatformLedgerReport(ClinicProcurementReportQuery query);
}