1550076451 1 год назад
Родитель
Сommit
46f47abfa9

+ 22 - 0
xingyun-chart/src/main/java/com/lframework/xingyun/chart/bo/OrderChartGrossProfitBo.java

@@ -0,0 +1,22 @@
1
+package com.lframework.xingyun.chart.bo;
2
+
3
+import io.swagger.annotations.ApiModelProperty;
4
+import lombok.Data;
5
+
6
+@Data
7
+public class OrderChartGrossProfitBo {
8
+    @ApiModelProperty("今日销售")
9
+    private float sale;
10
+    @ApiModelProperty("今日销售数量")
11
+    private Integer   saleNum;
12
+    @ApiModelProperty("今日零售")
13
+    private float retail;
14
+    @ApiModelProperty("今日零售数量")
15
+    private Integer retailNum;
16
+    @ApiModelProperty("今日采购")
17
+    private float procure;
18
+    @ApiModelProperty("今日采购数量")
19
+    private Integer procureNum;
20
+    @ApiModelProperty("今日毛利")
21
+    private float grossProfit;
22
+}

+ 9 - 4
xingyun-chart/src/main/java/com/lframework/xingyun/chart/controller/ChartController.java

@@ -6,10 +6,7 @@ import com.lframework.starter.web.bo.BaseBo;
6 6
 import com.lframework.starter.web.controller.DefaultBaseController;
7 7
 import com.lframework.starter.web.resp.InvokeResult;
8 8
 import com.lframework.starter.web.resp.InvokeResultBuilder;
9
-import com.lframework.xingyun.chart.bo.OrderChartSameMonthBo;
10
-import com.lframework.xingyun.chart.bo.OrderChartSameMonthSumBo;
11
-import com.lframework.xingyun.chart.bo.OrderChartTodayBo;
12
-import com.lframework.xingyun.chart.bo.OrderChartTodaySumBo;
9
+import com.lframework.xingyun.chart.bo.*;
13 10
 import com.lframework.xingyun.chart.dto.OrderChartAmountDto;
14 11
 import com.lframework.xingyun.chart.dto.OrderChartSameMonthDto;
15 12
 import com.lframework.xingyun.chart.dto.OrderChartTodayDto;
@@ -81,6 +78,14 @@ public class ChartController extends DefaultBaseController {
81 78
     return InvokeResultBuilder.success(result);
82 79
   }
83 80
 
81
+  @ApiOperation("首页毛利")
82
+  @GetMapping("/queryGrossProfit")
83
+  public InvokeResult<OrderChartGrossProfitBo> queryGrossProfit() {
84
+    var result =orderChartService.queryGrossProfit();
85
+    return InvokeResultBuilder.success(result);
86
+  }
87
+
88
+
84 89
 
85 90
 
86 91
   @ApiOperation("单独订单报表")

+ 10 - 1
xingyun-chart/src/main/java/com/lframework/xingyun/chart/dto/OrderChartAmountDto.java

@@ -1,18 +1,27 @@
1 1
 package com.lframework.xingyun.chart.dto;
2 2
 
3
+import io.swagger.annotations.ApiModelProperty;
3 4
 import lombok.Data;
4 5
 
5 6
 @Data
6 7
 public class OrderChartAmountDto {
7
-
8
+    @ApiModelProperty("昨日销售")
8 9
     private  String saleDay;
10
+    @ApiModelProperty("当月销售")
9 11
     private  String saleMonth;
12
+    @ApiModelProperty("本年销售")
10 13
     private  String saleYear;
14
+    @ApiModelProperty("昨日零售")
11 15
     private  String retailDay;
16
+    @ApiModelProperty("当月零售")
12 17
     private  String retailMonth;
18
+    @ApiModelProperty("本年零售")
13 19
     private  String retailYear;
20
+    @ApiModelProperty("昨日采购")
14 21
     private  String procureDay;
22
+    @ApiModelProperty("当月采购")
15 23
     private  String procureMonth;
24
+    @ApiModelProperty("本年采购")
16 25
     private  String procureYear;
17 26
 
18 27
 }

+ 20 - 0
xingyun-chart/src/main/java/com/lframework/xingyun/chart/dto/OrderChartGrossProfitDto.java

@@ -0,0 +1,20 @@
1
+package com.lframework.xingyun.chart.dto;
2
+
3
+import io.swagger.annotations.ApiModelProperty;
4
+import lombok.Data;
5
+
6
+@Data
7
+public class OrderChartGrossProfitDto {
8
+    @ApiModelProperty("今日销售")
9
+    private float sale;
10
+    @ApiModelProperty("今日销售数量")
11
+    private Integer   saleNum;
12
+    @ApiModelProperty("今日零售")
13
+    private float retail;
14
+    @ApiModelProperty("今日零售数量")
15
+    private Integer retailNum;
16
+    @ApiModelProperty("今日采购")
17
+    private float procure;
18
+    @ApiModelProperty("今日采购数量")
19
+    private Integer procureNum;
20
+}

+ 19 - 0
xingyun-chart/src/main/java/com/lframework/xingyun/chart/impl/OrderChartServiceImpl.java

@@ -5,6 +5,7 @@ import com.lframework.starter.common.utils.DateUtil;
5 5
 import com.lframework.starter.web.impl.BaseMpServiceImpl;
6 6
 import com.lframework.starter.web.utils.EnumUtil;
7 7
 import com.lframework.starter.web.utils.IdUtil;
8
+import com.lframework.xingyun.chart.bo.OrderChartGrossProfitBo;
8 9
 import com.lframework.xingyun.chart.dto.OrderChartAmountDto;
9 10
 import com.lframework.xingyun.chart.dto.OrderChartSameMonthDto;
10 11
 import com.lframework.xingyun.chart.dto.OrderChartSumDto;
@@ -127,6 +128,24 @@ public class OrderChartServiceImpl extends BaseMpServiceImpl<OrderChartMapper, O
127 128
   }
128 129
 
129 130
   @Override
131
+  public OrderChartGrossProfitBo queryGrossProfit()
132
+  {
133
+    var GrossProfitDto= getBaseMapper().queryGrossProfit();
134
+    OrderChartGrossProfitBo  results =new OrderChartGrossProfitBo();
135
+    if (GrossProfitDto!=null)
136
+    {
137
+      results.setSale(GrossProfitDto.getSale());
138
+      results.setSaleNum(GrossProfitDto.getSaleNum());
139
+      results.setRetail(GrossProfitDto.getRetail());
140
+      results.setRetailNum(GrossProfitDto.getRetailNum());
141
+      results.setProcure(GrossProfitDto.getProcure());
142
+      results.setProcureNum(GrossProfitDto.getProcureNum());
143
+      float Amount=GrossProfitDto.getSaleNum()+GrossProfitDto.getRetailNum()-GrossProfitDto.getProcure();
144
+      results.setGrossProfit(Amount);
145
+    }
146
+    return  results;
147
+  }
148
+  @Override
130 149
   public List<OrderChartSameMonthDto> querySameMonthChart(QueryOrderChartVo vo) {
131 150
 
132 151
     LocalDate startDate = LocalDate.now().withDayOfMonth(1);

+ 11 - 4
xingyun-chart/src/main/java/com/lframework/xingyun/chart/mappers/OrderChartMapper.java

@@ -1,10 +1,10 @@
1 1
 package com.lframework.xingyun.chart.mappers;
2 2
 
3
+import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
4
+import com.baomidou.mybatisplus.annotation.SqlParser;
3 5
 import com.lframework.starter.web.mapper.BaseMapper;
4
-import com.lframework.xingyun.chart.dto.OrderChartAmountDto;
5
-import com.lframework.xingyun.chart.dto.OrderChartSameMonthDto;
6
-import com.lframework.xingyun.chart.dto.OrderChartSumDto;
7
-import com.lframework.xingyun.chart.dto.OrderChartTodayDto;
6
+import com.lframework.xingyun.chart.bo.OrderChartGrossProfitBo;
7
+import com.lframework.xingyun.chart.dto.*;
8 8
 import com.lframework.xingyun.chart.entity.OrderChart;
9 9
 import java.time.LocalDateTime;
10 10
 import java.util.List;
@@ -46,6 +46,13 @@ public interface OrderChartMapper extends BaseMapper<OrderChart> {
46 46
 
47 47
   OrderChartAmountDto queryAmount();
48 48
 
49
+
50
+  /**
51
+   * 查询当日毛利
52
+   */
53
+  @InterceptorIgnore(tenantLine=("true") )
54
+  OrderChartGrossProfitDto queryGrossProfit();
55
+
49 56
   /**
50 57
    * 查询当日数据列表
51 58
    *

+ 3 - 0
xingyun-chart/src/main/java/com/lframework/xingyun/chart/service/OrderChartService.java

@@ -1,6 +1,7 @@
1 1
 package com.lframework.xingyun.chart.service;
2 2
 
3 3
 import com.lframework.starter.web.service.BaseMpService;
4
+import com.lframework.xingyun.chart.bo.OrderChartGrossProfitBo;
4 5
 import com.lframework.xingyun.chart.dto.OrderChartAmountDto;
5 6
 import com.lframework.xingyun.chart.dto.OrderChartSameMonthDto;
6 7
 import com.lframework.xingyun.chart.dto.OrderChartSumDto;
@@ -60,4 +61,6 @@ public interface OrderChartService extends BaseMpService<OrderChart> {
60 61
    */
61 62
 
62 63
   OrderChartAmountDto queryAmount();
64
+
65
+  OrderChartGrossProfitBo queryGrossProfit();
63 66
 }

+ 21 - 1
xingyun-chart/src/main/resources/mappers/OrderChartMapper.xml

@@ -28,10 +28,30 @@
28 28
         <result column="retailYear" property="retailYear"/>
29 29
         <result column="procureDay" property="procureDay"/>
30 30
         <result column="procureMonth" property="procureMonth"/>
31
-        <result column="procurelYear" property="procurelYear"/>
31
+        <result column="procureYear" property="procureYear"/>
32
+    </resultMap>
33
+
34
+    <resultMap id="OrderChartGrossProfitDto" type="com.lframework.xingyun.chart.dto.OrderChartGrossProfitDto">
35
+        <result column="sale" property="sale"/>
36
+        <result column="saleNum" property="saleNum"/>
37
+        <result column="retail" property="retail"/>
38
+        <result column="retailNum" property="retailNum"/>
39
+        <result column="procure" property="procure"/>
40
+        <result column="procureNum" property="procureNum"/>
32 41
     </resultMap>
33 42
 
34 43
 
44
+    <select id="queryGrossProfit" resultMap="OrderChartGrossProfitDto">
45
+        select  IFNULL(SUM(case when c.biz_type=2   then c.total_amount else 0 end ), 0) AS sale ,
46
+        COUNT(c.biz_type=2 or null) saleNum,
47
+        IFNULL(SUM(case when c.biz_type=4   then c.total_amount else 0 end ), 0) AS retail ,
48
+        COUNT(c.biz_type=4 or null) retailNum,
49
+        IFNULL(SUM(case when c.biz_type=0   then c.total_amount else 0 end ), 0) AS procure,
50
+        COUNT(c.biz_type=0 or null) procureNum
51
+        from
52
+        tbl_order_chart  c
53
+        where DATE_FORMAT(create_date, '%Y-%m-%d') =DATE_FORMAT(CURRENT_DATE, '%Y-%m-%d')
54
+    </select>
35 55
 
36 56
     <select id="queryAmount" resultMap="OrderChartAmountDto">
37 57
         select