Bläddra i källkod

统计接口半个

gaodm 5 år sedan
förälder
incheckning
5e7b047d04

+ 89 - 0
zzcx-service/src/main/java/com/diagbot/aggregate/OptHospAggregate.java

@@ -0,0 +1,89 @@
+//package com.diagbot.aggregate;
+//
+//import com.diagbot.dto.OptDTO;
+//import com.diagbot.dto.OptHospDTO;
+//import com.diagbot.dto.PVDTO;
+//import com.diagbot.dto.UVDTO;
+//import com.diagbot.dto.ZZDTO;
+//import com.diagbot.facade.OptInfoFacade;
+//import com.diagbot.util.ListUtil;
+//import com.diagbot.vo.OptVO;
+//import io.github.lvyahui8.spring.annotation.DataConsumer;
+//import io.github.lvyahui8.spring.annotation.DataProvider;
+//import io.github.lvyahui8.spring.annotation.InvokeParameter;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Component;
+//
+//import java.util.List;
+//
+///**
+// * @Description:
+// * @author: gaodm
+// * @time: 2020/2/3 10:38
+// */
+//@Component
+//public class OptHospAggregate {
+//    @Autowired
+//    private OptInfoFacade optInfoFacade;
+//
+//    @DataProvider("getAllOptHospSum")
+//    public OptHospDTO getAllOptHospSum(
+//            @InvokeParameter("optVO") OptVO optVO,
+//            @DataConsumer("getHospPV") List<PVDTO> pvdtoList,
+//            @DataConsumer("getPVHospSum") Long pvSum,
+//            @DataConsumer("getUV") List<UVDTO> uvdtoList,
+//            @DataConsumer("getUVSum") Long uvSum,
+//            @DataConsumer("getZZ") List<ZZDTO> zzdtoList,
+//            @DataConsumer("getZZSum") Long zzSum) {
+//        OptHospDTO optHospDTO = new OptHospDTO();
+//        if (ListUtil.isNotEmpty(pvdtoList)) {
+//            optDTO.setPvdto(pvdtoList);
+//        }
+//        if (null != pvSum) {
+//            optDTO.setPvSum(pvSum);
+//        }
+//        if (ListUtil.isNotEmpty(uvdtoList)) {
+//            optDTO.setUvdto(uvdtoList);
+//        }
+//        if (null != uvSum) {
+//            optDTO.setUvSum(uvSum);
+//        }
+//        if (ListUtil.isNotEmpty(zzdtoList)) {
+//            optDTO.setZzdto(zzdtoList);
+//        }
+//        if (null != zzSum) {
+//            optDTO.setZzSum(zzSum);
+//        }
+//        return optDTO;
+//    }
+//
+//    @DataProvider("getPV")
+//    public List<PVDTO> getPV(@InvokeParameter("optVO") OptVO optVO) {
+//        return optInfoFacade.getPV(optVO);
+//    }
+//
+//    @DataProvider("getPVSum")
+//    public Long getPVSum(@InvokeParameter("optVO") OptVO optVO) {
+//        return optInfoFacade.getPVSum(optVO);
+//    }
+//
+//    @DataProvider("getUV")
+//    public List<UVDTO> getUV(@InvokeParameter("optVO") OptVO optVO) {
+//        return optInfoFacade.getUV(optVO);
+//    }
+//
+//    @DataProvider("getUVSum")
+//    public Long getUVSum(@InvokeParameter("optVO") OptVO optVO) {
+//        return optInfoFacade.getUVSum(optVO);
+//    }
+//
+//    @DataProvider("getZZ")
+//    public List<ZZDTO> getZZ(@InvokeParameter("optVO") OptVO optVO) {
+//        return optInfoFacade.getZZ(optVO);
+//    }
+//
+//    @DataProvider("getZZSum")
+//    public Long getZZSum(@InvokeParameter("optVO") OptVO optVO) {
+//        return optInfoFacade.getZZSum(optVO);
+//    }
+//}

+ 25 - 0
zzcx-service/src/main/java/com/diagbot/dto/OptHospDTO.java

@@ -0,0 +1,25 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/2/3 9:50
+ */
+@Getter
+@Setter
+public class OptHospDTO {
+    private List<PVHospDTO> pvHospDto;
+    private List<PVHospSumDTO> pvHospSumDto;
+    private Long pvSum;
+    private List<UVHospDTO> uvHospDto;
+    private List<UVHospSumDTO> uvHospSumDto;
+    private Long uvSum;
+    private List<ZZHospDTO> zzHospDto;
+    private List<UVHospSumDTO> uuHospSumDto;
+    private Long zzSum;
+}

+ 18 - 0
zzcx-service/src/main/java/com/diagbot/dto/PVHospDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/2/3 9:27
+ */
+@Getter
+@Setter
+public class PVHospDTO {
+    //医院名称
+    private String hospitalCode;
+    private String days;
+    private Long pvCnt;
+}

+ 17 - 0
zzcx-service/src/main/java/com/diagbot/dto/PVHospSumDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/2/3 9:27
+ */
+@Getter
+@Setter
+public class PVHospSumDTO {
+    //医院名称
+    private String hospitalCode;
+    private Long pvSum;
+}

+ 18 - 0
zzcx-service/src/main/java/com/diagbot/dto/UVHospDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/2/3 9:27
+ */
+@Getter
+@Setter
+public class UVHospDTO {
+    //医院名称
+    private String hospitalCode;
+    private String days;
+    private Long uvCnt;
+}

+ 17 - 0
zzcx-service/src/main/java/com/diagbot/dto/UVHospSumDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/2/3 9:27
+ */
+@Getter
+@Setter
+public class UVHospSumDTO {
+    //医院名称
+    private String hospitalCode;
+    private Long uvSum;
+}

+ 18 - 0
zzcx-service/src/main/java/com/diagbot/dto/ZZHospDTO.java

@@ -0,0 +1,18 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/2/3 9:27
+ */
+@Getter
+@Setter
+public class ZZHospDTO {
+    //医院名称
+    private String hospitalCode;
+    private String days;
+    private Long zzCnt;
+}

+ 17 - 0
zzcx-service/src/main/java/com/diagbot/dto/ZZHospSumDTO.java

@@ -0,0 +1,17 @@
+package com.diagbot.dto;
+
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * @Description:
+ * @author: gaodm
+ * @time: 2020/2/3 9:27
+ */
+@Getter
+@Setter
+public class ZZHospSumDTO {
+    //医院名称
+    private String hospitalCode;
+    private Long zzSum;
+}

+ 20 - 1
zzcx-service/src/main/java/com/diagbot/mapper/OptInfoMapper.java

@@ -1,10 +1,16 @@
 package com.diagbot.mapper;
 
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.diagbot.dto.PVDTO;
+import com.diagbot.dto.PVHospDTO;
+import com.diagbot.dto.PVHospSumDTO;
 import com.diagbot.dto.UVDTO;
+import com.diagbot.dto.UVHospDTO;
+import com.diagbot.dto.UVHospSumDTO;
 import com.diagbot.dto.ZZDTO;
+import com.diagbot.dto.ZZHospDTO;
+import com.diagbot.dto.ZZHospSumDTO;
 import com.diagbot.entity.OptInfo;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.diagbot.vo.OptVO;
 
 import java.util.List;
@@ -29,4 +35,17 @@ public interface OptInfoMapper extends BaseMapper<OptInfo> {
     List<ZZDTO> getZZ(OptVO optVO);
 
     Long getZZSum(OptVO optVO);
+
+    //医院合计
+    List<PVHospDTO> getPVHosp(OptVO optVO);
+
+    List<PVHospSumDTO> getPVSumHosp(OptVO optVO);
+
+    List<UVHospDTO> getUVHosp(OptVO optVO);
+
+    List<UVHospSumDTO> getUVSumHosp(OptVO optVO);
+
+    List<ZZHospDTO> getZZHosp(OptVO optVO);
+
+    List<ZZHospSumDTO> getZZSumHosp(OptVO optVO);
 }

+ 19 - 0
zzcx-service/src/main/java/com/diagbot/service/OptInfoService.java

@@ -1,8 +1,14 @@
 package com.diagbot.service;
 
 import com.diagbot.dto.PVDTO;
+import com.diagbot.dto.PVHospDTO;
+import com.diagbot.dto.PVHospSumDTO;
 import com.diagbot.dto.UVDTO;
+import com.diagbot.dto.UVHospDTO;
+import com.diagbot.dto.UVHospSumDTO;
 import com.diagbot.dto.ZZDTO;
+import com.diagbot.dto.ZZHospDTO;
+import com.diagbot.dto.ZZHospSumDTO;
 import com.diagbot.entity.OptInfo;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.diagbot.vo.OptVO;
@@ -31,4 +37,17 @@ public interface OptInfoService extends IService<OptInfo> {
 
     Long getZZSum(OptVO optVO);
 
+    //医院合计
+    List<PVHospDTO> getPVHosp(OptVO optVO);
+
+    List<PVHospSumDTO> getPVSumHosp(OptVO optVO);
+
+    List<UVHospDTO> getUVHosp(OptVO optVO);
+
+    List<UVHospSumDTO> getUVSumHosp(OptVO optVO);
+
+    List<ZZHospDTO> getZZHosp(OptVO optVO);
+
+    List<ZZHospSumDTO> getZZSumHosp(OptVO optVO);
+
 }

+ 31 - 0
zzcx-service/src/main/java/com/diagbot/service/impl/OptInfoServiceImpl.java

@@ -2,8 +2,14 @@ package com.diagbot.service.impl;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.diagbot.dto.PVDTO;
+import com.diagbot.dto.PVHospDTO;
+import com.diagbot.dto.PVHospSumDTO;
 import com.diagbot.dto.UVDTO;
+import com.diagbot.dto.UVHospDTO;
+import com.diagbot.dto.UVHospSumDTO;
 import com.diagbot.dto.ZZDTO;
+import com.diagbot.dto.ZZHospDTO;
+import com.diagbot.dto.ZZHospSumDTO;
 import com.diagbot.entity.OptInfo;
 import com.diagbot.mapper.OptInfoMapper;
 import com.diagbot.service.OptInfoService;
@@ -45,4 +51,29 @@ public class OptInfoServiceImpl extends ServiceImpl<OptInfoMapper, OptInfo> impl
     public Long getZZSum(OptVO optVO) {
         return this.baseMapper.getZZSum(optVO);
     }
+
+    //医院合计
+    public List<PVHospDTO> getPVHosp(OptVO optVO) {
+        return this.baseMapper.getPVHosp(optVO);
+    }
+
+    public List<PVHospSumDTO> getPVSumHosp(OptVO optVO) {
+        return this.baseMapper.getPVSumHosp(optVO);
+    }
+
+    public List<UVHospDTO> getUVHosp(OptVO optVO) {
+        return this.baseMapper.getUVHosp(optVO);
+    }
+
+    public List<UVHospSumDTO> getUVSumHosp(OptVO optVO) {
+        return this.baseMapper.getUVSumHosp(optVO);
+    }
+
+    public List<ZZHospDTO> getZZHosp(OptVO optVO) {
+        return this.baseMapper.getZZHosp(optVO);
+    }
+
+    public List<ZZHospSumDTO> getZZSumHosp(OptVO optVO) {
+        return this.baseMapper.getZZSumHosp(optVO);
+    }
 }

+ 184 - 0
zzcx-service/src/main/resources/mapper/OptInfoMapper.xml

@@ -163,4 +163,188 @@
         ) t;
     </select>
 
+    <!--按照医院合计-->
+    <select id="getPVHosp" parameterType="com.diagbot.vo.OptVO" resultType="com.diagbot.dto.PVHospDTO">
+        SELECT
+        hospital_code AS hospitalCode,
+        DATE_FORMAT(gmt_create, '%Y-%m-%d') AS days,
+        count(1) AS pvCnt
+        FROM
+        zzcx_opt_info
+        WHERE
+        opt_type = 1
+        <if test="hospitalCode != null and hospitalCode != ''">
+            AND hospital_code = #{hospitalCode}
+        </if>
+        <if test="startDate!=null">
+            AND gmt_create &gt;= #{startDate}
+        </if>
+        <if test="endDate!=null">
+            AND gmt_create &lt;= #{endDate}
+        </if>
+--         AND hospital_code !='朗通通用'
+        GROUP BY
+        hospital_code,
+        DATE_FORMAT(gmt_create, '%Y-%m-%d')
+        ORDER BY
+        hospital_code,
+        DATE_FORMAT(gmt_create, '%Y-%m-%d');
+    </select>
+
+    <select id="getPVSumHosp" parameterType="com.diagbot.vo.OptVO" resultType="com.diagbot.dto.PVHospSumDTO">
+        SELECT
+        hospital_code AS hospitalCode,
+        count(1) AS pvSum
+        FROM
+        zzcx_opt_info
+        WHERE
+        opt_type = 1
+        <if test="hospitalCode != null and hospitalCode != ''">
+            AND hospital_code = #{hospitalCode}
+        </if>
+        <if test="startDate!=null">
+            AND gmt_create &gt;= #{startDate}
+        </if>
+        <if test="endDate!=null">
+            AND gmt_create &lt;= #{endDate}
+        </if>
+--         AND hospital_code !='朗通通用'
+        GROUP BY
+        hospital_code
+        ORDER BY
+        hospital_code;
+    </select>
+
+    <select id="getUVHosp" parameterType="com.diagbot.vo.OptVO" resultType="com.diagbot.dto.UVHospDTO">
+        SELECT
+        t.hospitalCode AS hospitalCode,
+        t.days AS days,
+        count(ip) AS uvCnt
+        FROM
+        (
+        SELECT DISTINCT
+        hospital_code AS hospitalCode,
+        DATE_FORMAT(gmt_create, '%Y-%m-%d') AS days,
+        ip
+        FROM
+        zzcx_opt_info
+        WHERE
+        opt_type = 1
+        <if test="hospitalCode != null and hospitalCode != ''">
+            AND hospital_code = #{hospitalCode}
+        </if>
+        <if test="startDate!=null">
+            AND gmt_create &gt;= #{startDate}
+        </if>
+        <if test="endDate!=null">
+            AND gmt_create &lt;= #{endDate}
+        </if>
+--         AND hospital_code !='朗通通用'
+        ) t
+        GROUP BY
+        hospitalCode,
+        days
+        ORDER BY
+        hospitalCode,
+        days;
+
+    </select>
+
+    <select id="getUVSumHosp" parameterType="com.diagbot.vo.OptVO" resultType="com.diagbot.dto.UVHospSumDTO">
+        SELECT
+        t.hospitalCode AS hospitalCode,
+        count(ip) AS uvSum
+        FROM
+        (
+        SELECT DISTINCT
+        hospital_code AS hospitalCode,
+        DATE_FORMAT(gmt_create, '%Y-%m-%d') AS days,
+        ip
+        FROM
+        zzcx_opt_info
+        WHERE
+        opt_type = 1
+        <if test="hospitalCode != null and hospitalCode != ''">
+            AND hospital_code = #{hospitalCode}
+        </if>
+        <if test="startDate!=null">
+            AND gmt_create &gt;= #{startDate}
+        </if>
+        <if test="endDate!=null">
+            AND gmt_create &lt;= #{endDate}
+        </if>
+--         AND hospital_code !='朗通通用'
+        ) t
+        GROUP BY
+        hospitalCode
+        ORDER BY
+        hospitalCode;
+    </select>
+
+    <select id="getZZHosp" parameterType="com.diagbot.vo.OptVO" resultType="com.diagbot.dto.ZZHospDTO">
+        SELECT
+        t.hospitalCode AS hospitalCode,
+        t.days AS days,
+        count(ip) AS zzCnt
+        FROM
+        (
+        SELECT DISTINCT
+        hospital_code AS hospitalCode,
+        DATE_FORMAT(gmt_create, '%Y-%m-%d') AS days,
+        ip
+        FROM
+        zzcx_opt_info
+        WHERE
+        opt_type = 2
+        <if test="hospitalCode != null and hospitalCode != ''">
+            AND hospital_code = #{hospitalCode}
+        </if>
+        <if test="startDate!=null">
+            AND gmt_create &gt;= #{startDate}
+        </if>
+        <if test="endDate!=null">
+            AND gmt_create &lt;= #{endDate}
+        </if>
+--         AND hospital_code !='朗通通用'
+        ) t
+        GROUP BY
+        hospitalCode,
+        days
+        ORDER BY
+        hospitalCode,
+        days;
+
+    </select>
+
+    <select id="getZZSumHosp" parameterType="com.diagbot.vo.OptVO" resultType="com.diagbot.dto.ZZHospSumDTO">
+        SELECT
+        t.hospitalCode AS hospitalCode,
+        count(ip) AS zzSum
+        FROM
+        (
+        SELECT DISTINCT
+        hospital_code AS hospitalCode,
+        DATE_FORMAT(gmt_create, '%Y-%m-%d') AS days,
+        ip
+        FROM
+        zzcx_opt_info
+        WHERE
+        opt_type = 2
+        <if test="hospitalCode != null and hospitalCode != ''">
+            AND hospital_code = #{hospitalCode}
+        </if>
+        <if test="startDate!=null">
+            AND gmt_create &gt;= #{startDate}
+        </if>
+        <if test="endDate!=null">
+            AND gmt_create &lt;= #{endDate}
+        </if>
+--         AND hospital_code !='朗通通用'
+        ) t
+        GROUP BY
+        hospitalCode
+        ORDER BY
+        hospitalCode;
+    </select>
+
 </mapper>