liujie
9 天以前 be9e92d2c30fdfeed4bdd3a5aea2c84bd93f61f4
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.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.model.TErpGoods;
import com.ruoyi.system.model.TErpProcurement;
import com.ruoyi.system.model.TErpProcurementGoods;
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);
 
}