소스 검색

报表下传修改

luowei 1 년 전
부모
커밋
abee5821bb

+ 2 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/reportForms/monitor/controller/MonitorAccessReportController.java

@@ -23,6 +23,7 @@ import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.time.LocalDate;
+import java.util.List;
 
 /**
  * @author :LuoWei
@@ -42,7 +43,7 @@ public class MonitorAccessReportController {
             monitoringAccessDTO.setCycle("2");
         }
         AjaxResult ajax = AjaxResult.success();
-        TableDataInfo<MonitoringAccessVO> report = monitorAccessReportService.report(monitoringAccessDTO);
+        List<MonitoringAccessVO> report = monitorAccessReportService.selectAll(monitoringAccessDTO);
         ajax.put(AjaxResult.DATA_TAG,report);
         String title = monitorAccessReportService.getTitle(monitoringAccessDTO);
         ajax.put("title",title);

+ 1 - 1
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/reportForms/monitor/mapper/MonitorAccessReportMapper.java

@@ -19,5 +19,5 @@ public interface MonitorAccessReportMapper {
 
     Integer selectNetworkNumberByPath(String orgPath);
 
-    List<MonitoringAccessVO> selectAll(MonitoringAccessDTO monitoringAccessDTO);
+    MonitoringAccessVO selectAll(MonitoringAccessDTO monitoringAccessDTO);
 }

+ 21 - 8
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/reportForms/monitor/service/impl/MonitorAccessReportServiceImpl.java

@@ -26,6 +26,7 @@ import java.io.IOException;
 import java.net.URLEncoder;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
+import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
@@ -55,7 +56,7 @@ public class MonitorAccessReportServiceImpl implements MonitorAccessReportServic
                 amount = 365;
                 break;
             case "3":
-                amount=30;
+                amount = 30;
                 break;
             default:
                 amount = 7;
@@ -67,6 +68,7 @@ public class MonitorAccessReportServiceImpl implements MonitorAccessReportServic
         Date time = cal.getTime();
         monitoringAccessDTO.setStartTime(time);
         monitoringAccessDTO.setEndTime(new Date());
+        //    List<SysOrg> sysOrgs = orgService.selectSysOrgByParentId(resumptionDTO.getOrgId(), SecurityConstants.INNER);
         Page<MonitoringAccessVO> report = monitorAccessReportMapper.report(page, monitoringAccessDTO);
         report.getRecords().forEach(r -> {
             Integer integer = monitorAccessReportMapper.selectNetworkNumberByPath(r.getPath());
@@ -77,13 +79,24 @@ public class MonitorAccessReportServiceImpl implements MonitorAccessReportServic
 
     @Override
     public List<MonitoringAccessVO> selectAll(MonitoringAccessDTO monitoringAccessDTO) {
-
-        List<MonitoringAccessVO> monitoringAccessVOS = monitorAccessReportMapper.selectAll(monitoringAccessDTO);
-        monitoringAccessVOS.forEach(m -> {
-            Integer integer = monitorAccessReportMapper.selectNetworkNumberByPath(m.getPath());
-            m.setNetworkNumber(integer);
+        if (null == monitoringAccessDTO.getOrgId()) {
+            monitoringAccessDTO.setOrgId(SecurityUtils.getLoginUser().getOrgId());
+        }
+        List<SysOrg> sysOrgs = remoteOrgService.selectSysOrgByParentId(monitoringAccessDTO.getOrgId(), SecurityConstants.INNER);
+        List<MonitoringAccessVO> monitoringAccessVOList = new ArrayList<>();
+        sysOrgs.forEach(s -> {
+            MonitoringAccessVO monitoringAccessVO = new MonitoringAccessVO();
+            Integer integer = monitorAccessReportMapper.selectNetworkNumberByPath(s.getPath());
+            monitoringAccessDTO.setOrgPath(s.getPath());
+            MonitoringAccessVO monitoringAccessVO1 = monitorAccessReportMapper.selectAll(monitoringAccessDTO);
+            monitoringAccessVO.setNetworkNumber(integer);
+            monitoringAccessVO.setAccessRate(monitoringAccessVO1.getAccessRate());
+            monitoringAccessVO.setOrgName(s.getShortName());
+            monitoringAccessVO.setPlanAccessNumber(monitoringAccessVO1.getPlanAccessNumber());
+            monitoringAccessVO.setRealityAccessNumber(monitoringAccessVO1.getRealityAccessNumber());
+            monitoringAccessVOList.add(monitoringAccessVO);
         });
-        return monitoringAccessVOS;
+        return monitoringAccessVOList;
     }
 
     @Override
@@ -127,7 +140,7 @@ public class MonitorAccessReportServiceImpl implements MonitorAccessReportServic
                 timeUnit = "周";
                 break;
             case "3":
-                amount=30;
+                amount = 30;
                 timeUnit = "月";
                 break;
             default:

+ 26 - 2
soc-modules/soc-modules-core/src/main/resources/mapper/reportForms/MonitorAccessReportMapper.xml

@@ -34,7 +34,7 @@
         SELECT COUNT(1) FROM sys_org WHERE path LIKE  concat( #{orgPath}, '%') AND type=4 AND deleted=0
     </select>
     <select id="selectAll" resultType="com.xunmei.core.reportForms.monitor.vo.MonitoringAccessVO">
-        SELECT
+    <!--    SELECT
         b.short_name AS orgName,
         b.path,
         COUNT( a.id ) AS planAccessNumber,
@@ -59,6 +59,30 @@
             AND a.start_time >= #{startTime} ANDa.end_time &lt;= #{endTime}
         </if>
         GROUP BY
-        b.id
+        b.id-->
+        SELECT
+
+        COUNT( a.id ) AS planAccessNumber,
+        IFNULL(	SUM(
+        IF
+        ( a.`status` = 2, 1, 0 )),0) AS realityAccessNumber,
+        IF(COUNT( a.id )=0 or 	IFNULL(	SUM(
+        IF
+        ( a.`status` = 2, 1, 0 )),0)=0,'0%',IFNULL(CONCAT (ROUND(SUM( IF ( a.`status` = 2, 1, 0 ))/ COUNT( a.id )* 100,2) , '%' ),'0%')) AS accessRate
+        FROM
+        core_monitoring_retrieval_task a
+
+        WHERE
+        a.is_deleted=0
+        <if test="orgPath != null  and orgPath != ''">
+            and     a.org_path like concat( #{orgPath}, '%')
+        </if>
+        <if test="cycle != null  and cycle != ''">
+            AND a.cycle = #{cycle}
+        </if>
+        <if test="startTime != null  and endTime != null">
+            AND a.start_time >= #{startTime} AND a.end_time &lt;= #{endTime}
+        </if>
+
     </select>
 </mapper>