xuhy
4 天以前 b8cebfa38ff8cd2065431a8f18c79e480d64ff10
修改
6个文件已修改
62 ■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DataStatisticsController.java 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysOrderMapper.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TSysOrderService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TSysOrderMapper.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/DataStatisticsController.java
@@ -115,9 +115,9 @@
            map.put("orderMoney", 0); // 订单金额
            map.put("commissionMoney", 0); // 分佣金额
        } else {
            BigDecimal orderMoney = orderQuantity.stream().map(TErpProcurement::getPayMoney).filter(Objects::nonNull).reduce(BigDecimal::add).get();
            BigDecimal orderMoney = orderQuantity.stream().map(TErpProcurement::getPayMoney).reduce(BigDecimal.ZERO,BigDecimal::add);
            map.put("orderMoney", orderMoney);
            BigDecimal commissionMoney = orderQuantity.stream().map(TErpProcurement::getSupplierMoney).filter(Objects::nonNull).reduce(BigDecimal::add).get();
            BigDecimal commissionMoney = orderQuantity.stream().map(TErpProcurement::getSupplierMoney).reduce(BigDecimal.ZERO,BigDecimal::add);
            map.put("commissionMoney", commissionMoney);
        }
        return R.ok(map);
@@ -126,7 +126,7 @@
    /**
     * 供应商采购统计
     */
    @ApiOperation(value = "供应商最近额30天采购统计", notes = "supplierThirtyProcurementStatistics:订单,supplierThirtyMoneyProcurementStatistics:金额")
    @ApiOperation(value = "诊所/供应商最近30天采购统计", notes = "supplierThirtyProcurementStatistics:订单,supplierThirtyMoneyProcurementStatistics:金额")
    @PostMapping(value = "/supplierThirtyProcurementStatistics")
    public R<Map<String, Object>> supplierThirtyProcurementStatistics() {
        Long userId = tokenService.getLoginUser().getUserId();
@@ -156,7 +156,7 @@
        SimpleDateFormat format = new SimpleDateFormat("MM.dd");
        for (int i = 0; i < 30; i++) {
            LocalDateTime timeNow = localDateTime.plusDays(i);
            List<SupplierThirtyProcurementStatisticsVO> vos = supplierThirtyProcurementStatistics.stream().filter(vo -> timeNow.toLocalDate().isEqual(vo.getPayTime())).collect(Collectors.toList());
            List<SupplierThirtyProcurementStatisticsVO> vos = supplierThirtyProcurementStatistics.stream().filter(vo -> Objects.nonNull(vo.getPayTime()) && timeNow.toLocalDate().isEqual(vo.getPayTime())).collect(Collectors.toList());
            if (CollectionUtils.isEmpty(vos)) {
                SupplierThirtyProcurementStatisticsVO vo = new SupplierThirtyProcurementStatisticsVO();
                String time = format.format(DateUtils.localDateTimeToDate(timeNow));
@@ -164,7 +164,7 @@
                vo.setOrderCount(0);
                supplierThirtyProcurementStatistics.add(vo);
            }
            List<SupplierThirtyMoneyProcurementStatisticsVO> moneyVOS = supplierThirtyMoneyProcurementStatistics.stream().filter(vo -> timeNow.toLocalDate().isEqual(vo.getPayTime())).collect(Collectors.toList());
            List<SupplierThirtyMoneyProcurementStatisticsVO> moneyVOS = supplierThirtyMoneyProcurementStatistics.stream().filter(vo -> Objects.nonNull(vo.getPayTime()) && timeNow.toLocalDate().isEqual(vo.getPayTime())).collect(Collectors.toList());
            if (CollectionUtils.isEmpty(moneyVOS)) {
                SupplierThirtyMoneyProcurementStatisticsVO vo = new SupplierThirtyMoneyProcurementStatisticsVO();
                String time = format.format(DateUtils.localDateTimeToDate(timeNow));
@@ -440,7 +440,7 @@
        clinicSalesStatisticsVO.setSalesMoney(totalMoney);
        // 查询销售前十占比
        List<ClinicSalesStatisticsGoodsTypeVO> clinicSalesStatisticsGoodsTypeVOS = sysOrderService.supplierSalesStatisticsGoodsType(crmClinic.getId(), startTime, endTime);
        List<ClinicSalesStatisticsGoodsTypeVO> clinicSalesStatisticsGoodsTypeVOS = sysOrderService.clinicSalesStatisticsGoodsType(crmClinic.getId(), startTime, endTime);
        // 判断集合是否大于9
        if (clinicSalesStatisticsGoodsTypeVOS.size() > 9) {
            // 其余的添加到其他
@@ -455,9 +455,9 @@
        // 查询30天销售统计
        List<ClinicSalesStatisticsGoodsCountVO> clinicSalesStatisticsGoodsCountVOS;
        if (query.getTimeType() == 1 || query.getTimeType() == 2 || query.getTimeType() == 3) {
            clinicSalesStatisticsGoodsCountVOS = sysOrderService.supplierSalesStatisticsGoodsCount(crmClinic.getId(), startTime, endTime, query.getGoodsName());
            clinicSalesStatisticsGoodsCountVOS = sysOrderService.clinicSalesStatisticsGoodsCount(crmClinic.getId(), startTime, endTime, query.getGoodsName());
        } else {
            clinicSalesStatisticsGoodsCountVOS = sysOrderService.supplierSalesStatisticsGoodsCountMonth(crmClinic.getId(), startTime, endTime, query.getGoodsName());
            clinicSalesStatisticsGoodsCountVOS = sysOrderService.clinicSalesStatisticsGoodsCountMonth(crmClinic.getId(), startTime, endTime, query.getGoodsName());
        }
        SimpleDateFormat format = new SimpleDateFormat("MM.dd");
        SimpleDateFormat formatMonth = new SimpleDateFormat("yyyy.MM");
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysOrderMapper.java
@@ -42,16 +42,16 @@
                                          @Param("startTime")String startTime,
                                          @Param("endTime")String endTime);
    List<ClinicSalesStatisticsGoodsTypeVO> supplierSalesStatisticsGoodsType(@Param("clinicId")String clinicId,
    List<ClinicSalesStatisticsGoodsTypeVO> clinicSalesStatisticsGoodsType(@Param("clinicId")String clinicId,
                                                                            @Param("startTime")String startTime,
                                                                            @Param("endTime")String endTime);
    List<ClinicSalesStatisticsGoodsCountVO> supplierSalesStatisticsGoodsCount(@Param("clinicId")String clinicId,
    List<ClinicSalesStatisticsGoodsCountVO> clinicSalesStatisticsGoodsCount(@Param("clinicId")String clinicId,
                                                                              @Param("startTime")String startTime,
                                                                              @Param("endTime")String endTime,
                                                                              @Param("goodsName")String goodsName);
    List<ClinicSalesStatisticsGoodsCountVO> supplierSalesStatisticsGoodsCountMonth(@Param("clinicId")String clinicId,
    List<ClinicSalesStatisticsGoodsCountVO> clinicSalesStatisticsGoodsCountMonth(@Param("clinicId")String clinicId,
                                                                                   @Param("startTime")String startTime,
                                                                                   @Param("endTime")String endTime,
                                                                                   @Param("goodsName")String goodsName);
ruoyi-system/src/main/java/com/ruoyi/system/service/TSysOrderService.java
@@ -43,10 +43,10 @@
    BigDecimal clinicSalesStatisticsMoney(String clinicId, String startTime, String endTime);
    List<ClinicSalesStatisticsGoodsTypeVO> supplierSalesStatisticsGoodsType(String clinicId, String startTime, String endTime);
    List<ClinicSalesStatisticsGoodsTypeVO> clinicSalesStatisticsGoodsType(String clinicId, String startTime, String endTime);
    List<ClinicSalesStatisticsGoodsCountVO> supplierSalesStatisticsGoodsCount(String clinicId, String startTime, String endTime, String goodsName);
    List<ClinicSalesStatisticsGoodsCountVO> clinicSalesStatisticsGoodsCount(String clinicId, String startTime, String endTime, String goodsName);
    List<ClinicSalesStatisticsGoodsCountVO> supplierSalesStatisticsGoodsCountMonth(String clinicId, String startTime, String endTime, String goodsName);
    List<ClinicSalesStatisticsGoodsCountVO> clinicSalesStatisticsGoodsCountMonth(String clinicId, String startTime, String endTime, String goodsName);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java
@@ -177,17 +177,17 @@
    }
    @Override
    public List<ClinicSalesStatisticsGoodsTypeVO> supplierSalesStatisticsGoodsType(String clinicId, String startTime, String endTime) {
        return this.baseMapper.supplierSalesStatisticsGoodsType(clinicId,startTime,endTime);
    public List<ClinicSalesStatisticsGoodsTypeVO> clinicSalesStatisticsGoodsType(String clinicId, String startTime, String endTime) {
        return this.baseMapper.clinicSalesStatisticsGoodsType(clinicId,startTime,endTime);
    }
    @Override
    public List<ClinicSalesStatisticsGoodsCountVO> supplierSalesStatisticsGoodsCount(String clinicId, String startTime, String endTime, String goodsName) {
        return this.baseMapper.supplierSalesStatisticsGoodsCount(clinicId,startTime,endTime,goodsName);
    public List<ClinicSalesStatisticsGoodsCountVO> clinicSalesStatisticsGoodsCount(String clinicId, String startTime, String endTime, String goodsName) {
        return this.baseMapper.clinicSalesStatisticsGoodsCount(clinicId,startTime,endTime,goodsName);
    }
    @Override
    public List<ClinicSalesStatisticsGoodsCountVO> supplierSalesStatisticsGoodsCountMonth(String clinicId, String startTime, String endTime, String goodsName) {
        return this.baseMapper.supplierSalesStatisticsGoodsCountMonth(clinicId,startTime,endTime,goodsName);
    public List<ClinicSalesStatisticsGoodsCountVO> clinicSalesStatisticsGoodsCountMonth(String clinicId, String startTime, String endTime, String goodsName) {
        return this.baseMapper.clinicSalesStatisticsGoodsCountMonth(clinicId,startTime,endTime,goodsName);
    }
}
ruoyi-system/src/main/resources/mapper/system/TErpProcurementMapper.xml
@@ -127,10 +127,10 @@
        where t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        and t1.status in (3,4,5)
        and t1.pay_time between #{startTime} and #{endTime}
        <if test="query.roleType != null and query.roleType == 4">
        <if test="roleType != null and roleType == 4">
            and t1.supplier_id = #{supplierAndClinicId}
        </if>
        <if test="query.roleType != null and query.roleType == 5">
        <if test="roleType != null and roleType == 5">
            and t1.clinic_id = #{supplierAndClinicId}
        </if>
        group by date_format(t1.pay_time, '%m.%d')
@@ -145,10 +145,10 @@
        where t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
            and t1.status in (3,4,5)
            and t1.pay_time between #{startTime} and #{endTime}
            <if test="query.roleType != null and query.roleType == 4">
            <if test="roleType != null and roleType == 4">
                and t1.supplier_id = #{supplierAndClinicId}
            </if>
            <if test="query.roleType != null and query.roleType == 5">
            <if test="roleType != null and roleType == 5">
                and t1.clinic_id = #{supplierAndClinicId}
            </if>
        group by date_format(t1.pay_time, '%m.%d')
ruoyi-system/src/main/resources/mapper/system/TSysOrderMapper.xml
@@ -50,7 +50,7 @@
        select count(1)
        from t_sys_order tso
                 left join t_sys_order_goods tsog on tso.id = tsog.order_id
                 left join t_erp_goods teg on tepg.goods_id = teg.id
                 left join t_erp_goods teg on tsog.goods_id = teg.id
        where tso.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
          and tso.clinic_id in <foreach collection="clinicIds" open="(" separator="," item="id" close=")">#{id}</foreach>
    </select>
@@ -58,7 +58,7 @@
        select count(1)
        from t_sys_order tso
                 left join t_sys_order_goods tsog on tso.id = tsog.order_id
                 left join t_erp_goods teg on tepg.goods_id = teg.id
                 left join t_erp_goods teg on tsog.goods_id = teg.id
        where tso.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
          and tso.clinic_id in <foreach collection="clinicIds" open="(" separator="," item="id" close=")">#{id}</foreach>
        group by teg.type_id
@@ -69,7 +69,7 @@
          and pay_time between #{startTime} and #{endTime}
          and clinic_id = #{clinicId}
    </select>
    <select id="supplierSalesStatisticsGoodsType"
    <select id="clinicSalesStatisticsGoodsType"
            resultType="com.ruoyi.system.vo.ClinicSalesStatisticsGoodsTypeVO">
        select count(1), tegt.type_name
        from t_sys_order tso
@@ -82,12 +82,12 @@
        group by teg.type_id
        order by count(1) desc
    </select>
    <select id="supplierSalesStatisticsGoodsCount"
    <select id="clinicSalesStatisticsGoodsCount"
            resultType="com.ruoyi.system.vo.ClinicSalesStatisticsGoodsCountVO">
        select
        date_format(t1.pay_time, '%m.%d') as `time`,
        date_format(t1.pay_time, '%Y-%m-%d') as payTime,
        sum(t2.purchase_count) as goodsCount
        sum(t2.sale_count) as goodsCount
        from t_sys_order t1
        left join t_sys_order_goods t2 on t1.id = t2.order_id
        where t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
@@ -98,11 +98,11 @@
        </if>
        group by date_format(t1.pay_time, '%m.%d')
    </select>
    <select id="supplierSalesStatisticsGoodsCountMonth"
    <select id="clinicSalesStatisticsGoodsCountMonth"
            resultType="com.ruoyi.system.vo.ClinicSalesStatisticsGoodsCountVO">
        select
        date_format(t1.pay_time, '%Y.%m') as `time`,
        sum(t2.purchase_count) as goodsCount
        sum(t2.sale_count) as goodsCount
        from t_sys_order t1
        left join t_sys_order_goods t2 on t1.id = t2.order_id
        where t1.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}