Browse Source

首页接口编写

guq 7 years ago
parent
commit
aa987e9c26

+ 45 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/controller/HomePageController.java

@@ -0,0 +1,45 @@
+package com.usoftchina.saas.commons.controller;
+
+import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.service.HomePageService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.ServletRequest;
+
+/**
+ * @author: guq
+ * @create: 2018-11-12 19:19
+ * saas首页接口
+ **/
+@RestController
+@RequestMapping("homePage")
+public class HomePageController {
+
+    @Autowired
+    private HomePageService homePageService;
+
+
+    @GetMapping("liveData")
+    public Result liveData(ServletRequest req) {
+        return homePageService.liveDate();
+    }
+
+    @GetMapping("purchaseData")
+    public Result purchaseData(Boolean sixMonths) {
+        return homePageService.purchaseData(sixMonths);
+    }
+
+    @GetMapping("storageData")
+    public Result storageData(ServletRequest req) {
+        return homePageService.storageData();
+    }
+
+
+    @RequestMapping("payAndRecData")
+    public Result payAndRecData(ServletRequest req) {
+        return homePageService.payAndRecData();
+    }
+}

+ 16 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/mapper/HomePageMapper.java

@@ -0,0 +1,16 @@
+package com.usoftchina.saas.commons.mapper;
+
+import java.util.Map;
+
+public interface HomePageMapper {
+
+    void getLiveData(Map<String, Object> map);
+
+    String getPurchaseDataNow(Long componyId);
+
+    String getPurchaseDataInSixMonth(Long componyId);
+
+    String getStorageData(Long componyId);
+
+    String getPayAndRecData(Long companyId);
+}

+ 41 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/HomePageService.java

@@ -0,0 +1,41 @@
+package com.usoftchina.saas.commons.service;
+
+import com.usoftchina.saas.base.Result;
+
+public interface HomePageService {
+
+    /**
+    * @Description 获取首页实时数据
+    * @Param: []
+    * @return: com.usoftchina.saas.base.Result
+    * @Author: guq
+    * @Date: 2018/11/12
+    */
+    Result liveDate();
+
+    /**
+    * @Description  获取采购额
+    * @Param: [sixMonths] 区别本月与6个月
+    * @return: com.usoftchina.saas.base.Result
+    * @Author: guq
+    * @Date: 2018/11/13
+    */
+    Result purchaseData(Boolean sixMonths);
+
+    /**
+    * @Description 获取库存数据
+    * @Param: []
+    * @return: com.usoftchina.saas.base.Result
+    * @Author: guq
+    * @Date: 2018/11/13
+    */
+    Result storageData();
+    /**
+    * @Description 获取本月收入支出数据
+    * @Param: []
+    * @return: com.usoftchina.saas.base.Result
+    * @Author: guq
+    * @Date: 2018/11/13
+    */
+    Result payAndRecData();
+}

+ 80 - 0
applications/commons/commons-server/src/main/java/com/usoftchina/saas/commons/service/impl/HomePageServiceImpl.java

@@ -0,0 +1,80 @@
+package com.usoftchina.saas.commons.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.mapper.HomePageMapper;
+import com.usoftchina.saas.commons.service.HomePageService;
+import com.usoftchina.saas.context.BaseContextHolder;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author: guq
+ * @create: 2018-11-12 19:30
+ **/
+@Service
+public class HomePageServiceImpl implements HomePageService{
+
+    @Autowired
+    private HomePageMapper homePageMapper;
+
+    @Override
+    public Result liveDate() {
+        Long componyId = BaseContextHolder.getCompanyId();
+        Object json = null;
+        Map<String, Object> map = new HashMap<String, Object>();
+        map.put("componyid", componyId);
+        map.put("res", "");
+        homePageMapper.getLiveData(map);
+        if (null != map.get("res")) {
+            json = parseJson(map.get("res").toString());
+        }
+        return Result.success(json);
+    }
+
+    @Override
+    public Result purchaseData(Boolean sixMonths) {
+        Long componyId = BaseContextHolder.getCompanyId();
+        String res = null;
+        Object json = null;
+        if (null != sixMonths && sixMonths) {
+            res = homePageMapper.getPurchaseDataInSixMonth(componyId);
+            json = parseJson(res);
+            return Result.success(json);
+        }
+        res = homePageMapper.getPurchaseDataNow(componyId);
+        json = parseJson(res);
+        return Result.success(json);
+    }
+
+    @Override
+    public Result storageData() {
+        Long componyId = BaseContextHolder.getCompanyId();
+        Object json = parseJson(homePageMapper.getStorageData(componyId));
+        return Result.success(json);
+    }
+
+    @Override
+    public Result payAndRecData() {
+        Long componyId = BaseContextHolder.getCompanyId();
+        Object json = parseJson(homePageMapper.getPayAndRecData(componyId));
+        return Result.success(json);
+    }
+
+    private Object parseJson(String text) {
+        Object json = null;
+        if (null != text) {
+            try {
+                json = JSON.parse(text);
+            }catch (Exception e) {
+                e.printStackTrace();
+            }
+            return json;
+        }
+        return null;
+    }
+}

+ 62 - 0
applications/commons/commons-server/src/main/resources/mapper/HomePageMapper.xml

@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.usoftchina.saas.commons.mapper.HomePageMapper" >
+    <parameterMap id="sp_livedata" type="java.util.Map">
+        <parameter property="componyid"  mode="IN" />
+        <parameter property="res" jdbcType="VARCHAR" mode="OUT" />
+    </parameterMap>
+
+    <select id="getLiveData" parameterMap="sp_livedata" statementType="CALLABLE">
+        CALL  SP_LIVEDATA(?,?)
+    </select>
+
+    <select id="getPurchaseDataNow" parameterType="long" resultType="string">
+        select concat('{',GROUP_CONCAT(concat('"',si_vendname,'":',IFNULL(si_amount,0))),'}') from statsinfo
+        where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(now(),'%Y%m') and si_type='PURC' ORDER BY si_amount desc
+    </select>
+
+    <select id="getPurchaseDataInSixMonth" parameterType="long" resultType="string">
+    select concat('{',d1,',',d2,',',d3,',',d4,',',d5,',',d6,'}') from (
+(select concat('"',DATE_FORMAT(now(),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d1 from   statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(now(),'%Y%m') and si_type='PURC' ORDER BY si_amount desc) data_1,
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 1 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d2 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 1 MONTH),'%Y%m') and si_type='PURC' ORDER BY si_amount desc)data_2,
+
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 2 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d3 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 2 MONTH),'%Y%m') and si_type='PURC' ORDER BY si_amount desc)data_3,
+
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 3 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d4 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 3 MONTH),'%Y%m') and si_type='PURC' ORDER BY si_amount desc) data_4,
+
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 4 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d5 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 4 MONTH),'%Y%m') and si_type='PURC' ORDER BY si_amount desc)data_5,
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 5 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d6 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 5 MONTH),'%Y%m') and si_type='PURC' ORDER BY si_amount desc)data_6)
+ </select>
+
+
+    <select id="getStorageData" parameterType="long" resultType="string">
+      select concat('{',d1,',',d2,',',d3,',',d4,',',d5,',',d6,'}') from (
+
+(select concat('"',DATE_FORMAT(now(),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d1 from   statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(now(),'%Y%m') and si_type='STOCK' ORDER BY si_amount desc) data_1,
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 1 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d2 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 1 MONTH),'%Y%m') and si_type='STOCK' ORDER BY si_amount desc)data_2,
+
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 2 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d3 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 2 MONTH),'%Y%m') and si_type='STOCK' ORDER BY si_amount desc)data_3,
+
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 3 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d4 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 3 MONTH),'%Y%m') and si_type='STOCK' ORDER BY si_amount desc) data_4,
+
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 4 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d5 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 4 MONTH),'%Y%m') and si_type='STOCK' ORDER BY si_amount desc)data_5,
+
+(select concat('"',DATE_FORMAT(date_sub(now(),interval 5 MONTH),'%Y%m'),'":',ifnull(ROUND(sum((ifnull(si_amount,0))),2),'0')) d6 from  statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(date_sub(now(),interval 5 MONTH),'%Y%m') and si_type='STOCK' ORDER BY si_amount desc)data_6);
+    </select>
+
+
+    <select id="getPayAndRecData" parameterType="long" resultType="string">
+     select concat('{"支出":',ifnull(si_amount_pay,'0'),',"收入":',ifnull(si_amount_rec,'0'),'}') from statsinfo where companyid=#{componyId} and si_yearmonth=DATE_FORMAT(now(),'%Y%m') and si_type='FUND'
+    </select>
+
+
+</mapper>