wenhongquan 2 ani în urmă
părinte
comite
267196fc63

+ 76 - 0
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/controller/StatisticController.java

@@ -0,0 +1,76 @@
+package org.dromara.system.controller;
+
+import cn.hutool.core.date.DateField;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import okhttp3.OkHttpClient;
+import org.dromara.common.core.domain.R;
+import org.dromara.common.redis.utils.RedisUtils;
+import org.dromara.common.web.core.BaseController;
+import org.dromara.system.domain.CountData;
+import org.dromara.system.domain.vo.CountDataVo;
+import org.dromara.system.service.ITblCountDataService;
+import org.dromara.system.service.ITblGoodsOrderService;
+import org.dromara.util.MessageUtils;
+import org.dromara.util.YingshiHttp;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import java.time.Duration;
+import java.util.*;
+
+@Validated
+@RequiredArgsConstructor
+@RestController
+@Slf4j
+@RequestMapping("/statistic")
+public class StatisticController extends BaseController {
+    private final ITblCountDataService countDataService;
+
+    private final ITblGoodsOrderService goodsOrderService;
+
+
+
+    @GetMapping("/passenger/flow")
+    public Object sitesFlow(@RequestBody(required = false) Map<String,Object> data) {
+        if(data==null) data=new HashMap<>();
+        if(data.get("start")==null){
+            data.put("start", DateUtil.format(DateUtil.offsetDay(DateUtil.yesterday(), -7),"yyyy-MM-dd"));
+        }
+        if(data.get("end")==null){
+            data.put("end", DateUtil.format(DateUtil.yesterday(),"yyyy-MM-dd"));
+        }
+
+       List<DateTime> dateList= DateUtil.rangeToList(DateUtil.parse(data.get("start").toString()), DateUtil.parse(data.get("end").toString()), DateField.DAY_OF_YEAR);
+
+        List<Object> qs = new ArrayList<>();
+        dateList.forEach(date->{
+            Map<String,Object> temp = new HashMap<>();
+            temp.put("start",DateUtil.format(date,"yyyy-MM-dd"));
+            temp.put("end",DateUtil.format(DateUtil.offsetDay(date,1),"yyyy-MM-dd"));
+
+
+            Map<String,Object> d = goodsOrderService.queryByDate(temp);
+            if(d==null){
+                d=new HashMap<>();
+                d.put("ordercount",0);
+            }
+
+
+            CountDataVo countDataVo = countDataService.queryByDate(temp);
+            if(countDataVo==null){
+                countDataVo = new CountDataVo();countDataVo.setOutcount(0);countDataVo.setIncount(0);
+            }
+            temp.put("flowCount",countDataVo);
+            temp.put("goodsOrderCount",d);
+            qs.add(temp);
+        });
+
+
+
+        return R.ok(qs);
+    }
+}

+ 4 - 0
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/mapper/TblCountDataMapper.java

@@ -4,6 +4,8 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 import org.dromara.system.domain.CountData;
 import org.dromara.system.domain.vo.CountDataVo;
 
+import java.util.Map;
+
 /**
  * 人员请假Mapper接口
  *
@@ -14,4 +16,6 @@ public interface TblCountDataMapper extends BaseMapperPlus<CountData,CountDataVo
 
     public void insertdata(CountData data);
 
+    public CountDataVo selectdatabydate(Map data);
+
 }

+ 5 - 0
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/mapper/TblGoodsOrderMapper.java

@@ -1,9 +1,12 @@
 package org.dromara.system.mapper;
 
 import org.dromara.system.domain.TblGoodsOrder;
+import org.dromara.system.domain.vo.CountDataVo;
 import org.dromara.system.domain.vo.TblGoodsOrderVo;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 
+import java.util.Map;
+
 /**
  * 寄货订单Mapper接口
  *
@@ -12,4 +15,6 @@ import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
  */
 public interface TblGoodsOrderMapper extends BaseMapperPlus<TblGoodsOrder, TblGoodsOrderVo> {
 
+    public Map<String, Object> selectdatabydate(Map data);
+
 }

+ 2 - 0
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/service/ITblCountDataService.java

@@ -8,6 +8,7 @@ import org.dromara.system.domain.vo.CountDataVo;
 
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 
 /**
  * CountService接口
@@ -22,6 +23,7 @@ public interface ITblCountDataService {
      */
     CountDataVo queryById(Long id);
 
+    CountDataVo queryByDate(Map<String, Object> bo);
     /**
      * 查询丢失货物列表
      */

+ 5 - 0
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/service/ITblGoodsOrderService.java

@@ -1,6 +1,7 @@
 package org.dromara.system.service;
 
 import org.dromara.system.domain.TblGoodsOrder;
+import org.dromara.system.domain.vo.CountDataVo;
 import org.dromara.system.domain.vo.TblGoodsOrderVo;
 import org.dromara.system.domain.bo.TblGoodsOrderBo;
 import org.dromara.common.mybatis.core.page.TableDataInfo;
@@ -8,6 +9,7 @@ import org.dromara.common.mybatis.core.page.PageQuery;
 
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 寄货订单Service接口
@@ -46,4 +48,7 @@ public interface ITblGoodsOrderService {
      * 校验并批量删除寄货订单信息
      */
     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
+
+
+    Map<String,Object> queryByDate(Map<String, Object> bo);
 }

+ 6 - 0
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/service/impl/TblCountDataServiceImpl.java

@@ -18,6 +18,7 @@ import org.springframework.stereotype.Service;
 
 import java.util.Collection;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 丢失货物Service业务层处理
@@ -41,6 +42,11 @@ public class TblCountDataServiceImpl implements ITblCountDataService {
         return baseMapper.selectVoById(id);
     }
 
+    @Override
+    public CountDataVo queryByDate(Map<String, Object> bo) {
+        return baseMapper.selectdatabydate(bo);
+    }
+
     /**
      * 查询丢失货物列表
      */

+ 5 - 0
ruoyi-modules/ruoyi-khy/src/main/java/org/dromara/system/service/impl/TblGoodsOrderServiceImpl.java

@@ -141,4 +141,9 @@ public class TblGoodsOrderServiceImpl implements ITblGoodsOrderService {
         }
         return baseMapper.deleteBatchIds(ids) > 0;
     }
+
+    @Override
+    public Map<String, Object> queryByDate(Map<String, Object> bo) {
+        return baseMapper.selectdatabydate(bo);
+    }
 }

+ 5 - 1
ruoyi-modules/ruoyi-khy/src/main/resources/mapper/system/TblCountDataMapper.xml

@@ -8,6 +8,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     <insert id="insertdata" parameterType="org.dromara.system.domain.CountData">
         INSERT INTO "${devicecode}" USING count_data TAGS (#{devicecode}, 1) VALUES (#{tslong}, #{incount}, #{outcount});
     </insert>
-
+    <select id="selectdatabydate" parameterType="java.util.Map" resultType="org.dromara.system.domain.vo.CountDataVo">
+        <![CDATA[
+        SELECT sum(incount) as incount,sum(outcount) as outcount FROM count_data WHERE ts > #{start} AND ts < #{end}
+        ]]>
+    </select>
 
 </mapper>

+ 5 - 0
ruoyi-modules/ruoyi-khy/src/main/resources/mapper/system/TblGoodsOrderMapper.xml

@@ -4,4 +4,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.dromara.system.mapper.TblGoodsOrderMapper">
 
+    <select id="selectdatabydate" parameterType="java.util.Map" resultType="java.util.Map">
+        <![CDATA[
+        SELECT count(*) as ordercount FROM tbl_goods_order WHERE create_time > #{start} AND create_time < #{end}
+        ]]>
+    </select>
 </mapper>