jiawuxian 2 rokov pred
rodič
commit
292094be89

+ 4 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/board/mapper/CockpitMapper.java

@@ -1,7 +1,9 @@
 package com.xunmei.core.board.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xunmei.core.board.dto.TaskStatisticDto;
 import com.xunmei.core.board.vo.OrgGA38StatisticVo;
+import com.xunmei.core.board.vo.QuestionStatisticVo;
 import com.xunmei.core.board.vo.TaskStatisticVo;
 import org.apache.ibatis.annotations.Param;
 
@@ -18,6 +20,8 @@ public interface CockpitMapper extends BaseMapper {
     List<TaskStatisticVo> drill(@Param("date") Date start,@Param("orgPath") String orgPath);
 
     List<OrgGA38StatisticVo> orgGA38(@Param("orgId") Long orgId);
+
+    QuestionStatisticVo question(@Param("date") Date start,@Param("orgPath") String orgPath);
 }
 
 

+ 9 - 6
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/board/service/impl/CockpitServiceImpl.java

@@ -76,7 +76,7 @@ public class CockpitServiceImpl implements CockpitService {
 
     @Override
     public List<OrgGA38StatisticVo> orgGA38(Long orgId) {
-        List<OrgGA38StatisticVo> data=cockpitMapper.orgGA38(orgId);
+        List<OrgGA38StatisticVo> data = cockpitMapper.orgGA38(orgId);
         List<OrgGA38StatisticVo> r = getGA38Children(orgId);
         for (OrgGA38StatisticVo orgVo : data) {
             for (OrgGA38StatisticVo statisticVo : r) {
@@ -106,7 +106,9 @@ public class CockpitServiceImpl implements CockpitService {
 
     @Override
     public QuestionStatisticVo question(TaskStatisticDto dto) {
-        return null;
+        Date date = getStartDate(dto.getPeriod());
+        String orgPath = remoteOrgService.selectOrgById(dto.getOrgId(), SecurityConstants.INNER).getPath();
+        return cockpitMapper.question(date, orgPath);
     }
 
     private List<TaskStatisticVo> taskStatistic(List<TaskStatisticVo> data, TaskStatisticDto dto) {
@@ -135,13 +137,13 @@ public class CockpitServiceImpl implements CockpitService {
         if (ObjectUtil.equal(period, PeriodEnum.Today.getCode())) {
             return DateUtil.beginOfDay(new Date());
         } else if (ObjectUtil.equal(period, PeriodEnum.Nearly7Days.getCode())) {
-            return DateUtil.beginOfDay(new Date());
+            return DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), 7));
         } else if (ObjectUtil.equal(period, PeriodEnum.Nearly30Days.getCode())) {
-            return DateUtil.beginOfDay(new Date());
+            return DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), 30));
         } else if (ObjectUtil.equal(period, PeriodEnum.Nearly90Days.getCode())) {
-            return DateUtil.beginOfDay(new Date());
+            return DateUtil.beginOfDay(DateUtil.offsetDay(new Date(), 90));
         } else if (ObjectUtil.equal(period, PeriodEnum.ThisYear.getCode())) {
-            return DateUtil.beginOfDay(new Date());
+            return DateUtil.beginOfDay(DateUtil.beginOfYear(new Date()));
         } else {
             throw new ServiceException("未定义的值");
         }
@@ -170,6 +172,7 @@ public class CockpitServiceImpl implements CockpitService {
 
         return list;
     }
+
     private List<OrgGA38StatisticVo> getGA38Children(Long orgId) {
         List<SysOrg> children = remoteOrgService.selectSysOrgByParentId(orgId, SecurityConstants.INNER);
         List<Integer> enableOrgType = ListUtil.toList(

+ 1 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/board/vo/QuestionStatisticVo.java

@@ -7,6 +7,7 @@ import lombok.Data;
  */
 @Data
 public class QuestionStatisticVo {
+    private Integer total;
     /**
      * 未确认
      */

+ 9 - 0
soc-modules/soc-modules-core/src/main/resources/mapper/board/CockpitMapper.xml

@@ -83,4 +83,13 @@
           and deleted = 0
           and o.path like concat((select path from sys_org where id = #{orgId}), '%')
     </select>
+    <select id="question" resultType="com.xunmei.core.board.vo.QuestionStatisticVo">
+        SELECT count(0) as total,
+               sum(case confirm_status when 0 then 1 else 0 end) as unconfirm,
+               sum(case confirm_status when 1 then 1 else 0 end) as auditing,
+               sum(case confirm_status when 2 then 1 else 0 end) as unreform,
+               sum(case confirm_status when 3 then (case reform_status when null then 0 else 1 end) else 0 end) notQuestion,
+               sum(case reform_status when 11 then 1 else 0 end) reformed
+        FROM core_question WHERE submit_time>=#{start} and org_path like CONCAT(#{orgPath},'%');
+    </select>
 </mapper>