Browse Source

新增代采订单按月统计销售额的接口

hejq 7 years ago
parent
commit
5277478335

+ 17 - 0
src/main/java/com/uas/platform/b2b/publicapi/controller/TurnoverController.java

@@ -5,6 +5,8 @@ import com.uas.platform.b2b.publicapi.model.Turnover;
 import com.uas.platform.b2b.publicapi.service.TradeCountService;
 import com.uas.platform.b2b.publicapi.service.TurnoverService;
 import com.uas.platform.core.model.PageInfo;
+import org.apache.http.Consts;
+import org.apache.log4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Sort;
 import org.springframework.util.CollectionUtils;
@@ -12,7 +14,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
+import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -32,6 +36,8 @@ public class TurnoverController {
     @Autowired
     private TradeCountService tradeCountService;
 
+    private final static Logger logger = Logger.getLogger(TradeCountController.class);
+
     /**
      * 获取年度代采订单交易额
      *
@@ -52,6 +58,17 @@ public class TurnoverController {
         return turnoverService.findSubstituteByRMB();
     }
 
+    /**
+     * 分月统计代采订单销售额
+     *
+     * @return List<Turnover>
+     *     @see Turnover
+     */
+    @RequestMapping(value = "/substitute/monthly", method = RequestMethod.GET)
+    public String findSubstituteMonthly() throws UnsupportedEncodingException {
+        return URLEncoder.encode(turnoverService.findSubstituteMonthly().toString(),  Consts.UTF_8.toString());
+    }
+
     /**
      * B2B年度交易总额折合RMB
      *

+ 15 - 1
src/main/java/com/uas/platform/b2b/publicapi/model/Turnover.java

@@ -1,12 +1,17 @@
 package com.uas.platform.b2b.publicapi.model;
 
+import org.codehaus.jackson.annotate.JsonAutoDetect;
+import org.codehaus.jackson.annotate.JsonMethod;
+
 import java.math.BigDecimal;
 
 /**
  * B2B平台交易额
  *
- * Created by hejq on 2018-05-31.
+ * @author hejq
+ * @date 2018-05-31
  */
+@JsonAutoDetect(JsonMethod.FIELD)
 public class Turnover {
 
     private String x;
@@ -69,4 +74,13 @@ public class Turnover {
         this.yField = yField;
     }
 
+    @Override
+    public String toString() {
+        return "{" +
+                "月份:'" + x + '\'' +
+                ", 币别:'" + y + '\'' +
+                ", 金额:'" + z + '\'' +
+                '}';
+    }
+
 }

+ 8 - 0
src/main/java/com/uas/platform/b2b/publicapi/service/TurnoverService.java

@@ -65,4 +65,12 @@ public interface TurnoverService {
      * @return
      */
     List<Turnover> findThisMonthOrderCount();
+
+    /**
+     * 分月统计代采订单
+     *
+     * @return List<Turnover>
+     *     @see Turnover
+     */
+    List<Turnover> findSubstituteMonthly();
 }

+ 16 - 0
src/main/java/com/uas/platform/b2b/publicapi/service/impl/TurnoverServiceImpl.java

@@ -52,6 +52,22 @@ public class TurnoverServiceImpl implements TurnoverService {
         return commonDao.query(sql, Turnover.class);
     }
 
+    /**
+     * 分月统计代采订单
+     *
+     * @return List<Turnover>
+     * @see Turnover
+     */
+    @Override
+    public List<Turnover> findSubstituteMonthly() {
+        String sql = "select date_format(deo_entrydate, '%Y%m') x, deo_currency y, round(sum(dei_totalprice)/10000, 2) z " +
+                "  from purc$deputyorderitems left join purc$deputyorders on dei_deoid = deo_id " +
+                "  where date_format(deo_entrydate, '%Y')=date_format(now(), '%Y') " +
+                "  and deo_downloadstatus = '已下载' and deo_entrystatus='已提交' " +
+                "  group by date_format(deo_entrydate, '%Y%m'), deo_currency order by date_format(deo_entrydate,'%Y%m'), deo_currency";
+        return commonDao.query(sql, Turnover.class);
+    }
+
     /**
      * B2B年度交易额折合RMB
      *