jiawuxian 1 rok temu
rodzic
commit
3a1fffa484

+ 12 - 12
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/board/controller/AppCockpitController.java

@@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import javax.validation.constraints.NotNull;
 import java.util.List;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeoutException;
@@ -37,6 +38,16 @@ public class AppCockpitController extends BaseController {
     AppCockpitService appCockpitService;
 
     /**
+     * 总览
+     */
+    @ApiOperation(value = "总览", response = AppOverviewVo.class)
+    @GetMapping("/overview")
+    public AjaxResult overview() throws ExecutionException, InterruptedException, TimeoutException {
+        AppOverviewVo vo = appCockpitService.overview();
+        return success(vo);
+    }
+
+    /**
      * 履职排名
      */
     @ApiOperation(value = "履职排名", notes = "返回数组", response = AppTaskRankingVo.class)
@@ -46,7 +57,6 @@ public class AppCockpitController extends BaseController {
         return success(rankingVos);
     }
 
-
     /**
      * 基础信息
      */
@@ -84,21 +94,11 @@ public class AppCockpitController extends BaseController {
     }
 
     /**
-     * 总览
-     */
-    @ApiOperation(value = "总览", response = AppOverviewVo.class)
-    @GetMapping("/overview")
-    public AjaxResult overview() throws ExecutionException, InterruptedException, TimeoutException {
-        AppOverviewVo vo = appCockpitService.overview();
-        return success(vo);
-    }
-
-    /**
      * 综合数据-履职
      */
     @ApiOperation(value = "综合数据-履职", response = AppSyntheticResumptionVo.class)
     @GetMapping("/synthetic/resumption")
-    public AjaxResult syntheticResumption(Date month) {
+    public AjaxResult syntheticResumption(@NotNull Date month) {
         AppSyntheticResumptionVo vo = appCockpitService.syntheticResumption(month);
         return success(vo);
     }

+ 16 - 0
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/board/mapper/AppCockpitMapper.java

@@ -86,5 +86,21 @@ public interface AppCockpitMapper extends BaseMapper {
      */
     AppOrgBaseInfoDto selectOrgBaseInfo(@Param("orgPath") String orgPath);
 
+    /**
+     * 综合数据-履职
+     * @param orgPath
+     * @param startDate
+     * @param endDate
+     * @return
+     */
     List<AppSyntheticTaskCategoryDto> selectSyntheticResumption (@Param("orgPath") String orgPath,@Param("startDate") Date startDate,@Param("endDate") Date endDate);
+
+    /**
+     * 综合数据-安全检查
+     * @param orgPath
+     * @param startDate
+     * @param endDate
+     * @return
+     */
+    List<AppSyntheticTaskCategoryDto> selectSyntheticSafetyCheck (@Param("orgPath") String orgPath,@Param("startDate") Date startDate,@Param("endDate") Date endDate);
 }

+ 19 - 18
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/board/service/impl/AppCockpitServiceImpl.java

@@ -244,32 +244,32 @@ public class AppCockpitServiceImpl implements AppCockpitService {
     public AppSyntheticResumptionVo syntheticResumption(Date month) {
         SysOrg org = getLoginOrg();
         DateRange range = DateUtils.getStartAndEnd(month, CycleCommonEnum.MONTHLY);
-        List<AppSyntheticTaskCategoryDto> taskCategoryDtos = appCockpitMapper.selectSyntheticResumption( org.getPath(), range.getStartTime(), range.getEndTime());
+        List<AppSyntheticTaskCategoryDto> taskCategoryDtos = appCockpitMapper.selectSyntheticResumption(org.getPath(), range.getStartTime(), range.getEndTime());
 
-        AppSyntheticResumptionVo vo=new AppSyntheticResumptionVo();
+        AppSyntheticResumptionVo vo = new AppSyntheticResumptionVo();
         vo.setInfoByType(new HashMap<>());
         vo.setRateByType(new HashMap<>());
-        Predicate3<List<String>,String,String> predicate3=(List<String> types,String label,String no)->{
-            List<AppSyntheticTaskCategoryDto> used= taskCategoryDtos.stream().filter(d->types.contains(d.getPlanType())).collect(Collectors.toList());
-            int total=used.stream().mapToInt(AppSyntheticTaskCategoryDto::getTotal).sum();
-            int completed=used.stream().mapToInt(AppSyntheticTaskCategoryDto::getCompleted).sum();
-            Float rate=computeRate(total,completed);
-
-            vo.getRateByType().put(label,rate);
-            vo.getInfoByType().put(label,AppSyntheticTaskInfoVo.builder()
+        Predicate3<List<String>, String, String> predicate3 = (List<String> types, String label, String no) -> {
+            List<AppSyntheticTaskCategoryDto> used = taskCategoryDtos.stream().filter(d -> types.contains(d.getPlanType())).collect(Collectors.toList());
+            int total = used.stream().mapToInt(AppSyntheticTaskCategoryDto::getTotal).sum();
+            int completed = used.stream().mapToInt(AppSyntheticTaskCategoryDto::getCompleted).sum();
+            Float rate = computeRate(total, completed);
+
+            vo.getRateByType().put(label, rate);
+            vo.getInfoByType().put(label, AppSyntheticTaskInfoVo.builder()
                     .completedCount(completed).shouldCompleteCount(total).completedRate(rate)
                     .build());
 
             return true;
         };
 
-        predicate3.test(Arrays.asList("1","2","3"),"每日履职",null);
-        predicate3.test(Arrays.asList("4"),"报警测试",null);
-        predicate3.test(Arrays.asList("5"),"UPS维护",null);
-        predicate3.test(Arrays.asList("6"),"夜间值守",null);
-        predicate3.test(Arrays.asList("7"),"离行巡检",null);
-
-        return new AppSyntheticResumptionVo();
+        predicate3.test(Arrays.asList("1", "2", "3"), "每日履职", null);
+        predicate3.test(Arrays.asList("4"), "报警测试", null);
+        predicate3.test(Arrays.asList("5"), "UPS维护", null);
+        predicate3.test(Arrays.asList("6"), "夜间值守", null);
+        predicate3.test(Arrays.asList("7"), "离行巡检", null);
+        predicate3.test(Arrays.asList("8"), "其它", null);
+        return vo;
     }
 
     @Override
@@ -288,7 +288,6 @@ public class AppCockpitServiceImpl implements AppCockpitService {
     }
 
     private AppOverviewItemVo computeOverviewItem(AppOverviewTaskInfoDto dto) {
-
         AppOverviewItemVo vo = new AppOverviewItemVo();
         if (ObjectUtil.isNull(dto)) {
             vo.setShouldComplete(0);
@@ -326,7 +325,9 @@ public class AppCockpitServiceImpl implements AppCockpitService {
      */
     private AppOverviewItemVo computeGa38(int total, int completed, int currentCompleted, int prevCompleted) {
         AppOverviewItemVo vo = new AppOverviewItemVo();
+        vo.setShouldComplete(total);
         vo.setCurrentCompletedRate(computeRate(total, completed));
+        vo.setPrevCompletedRate(computeRate(total, prevCompleted));
         vo.setCompare(((float) currentCompleted) - prevCompleted);
         vo.setCurrentCompletedCount(currentCompleted);
         return vo;

+ 9 - 9
soc-modules/soc-modules-core/src/main/java/com/xunmei/core/safetyCheck/service/impl/SafetyCheckRegisterSericeImpl.java

@@ -109,8 +109,8 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
             wrapper.eq(CoreSafetyTask::getStatus, dto.getStatus());
         }
         if (ObjectUtil.isNotNull(dto.getTaskTime())) {
-            wrapper.ge(CoreSafetyTask::getPlanEndTime, dto.getTaskTime())
-                    .le(CoreSafetyTask::getPlanStartTime, dto.getTaskTime());
+            wrapper.and(w -> w.and(w1 -> w1.ge(CoreSafetyTask::getPlanEndTime, dto.getTaskTime())
+                    .le(CoreSafetyTask::getPlanStartTime, dto.getTaskTime())).or().eq(CoreSafetyTask::getYmdDate, dto.getTaskTime()));
         }
         wrapper.in(CoreSafetyTask::getPlanId, page.getRecords().stream().map(r -> r.getPlanId()).collect(Collectors.toList()));
 
@@ -222,11 +222,11 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
         if (ObjectUtil.isNotNull(task.getPlanId())) {
             plan = coreSafecheckPlanMapper.selectById(task.getPlanId());
         }
-        SysOrg beCheckedOrg= remoteOrgService.selectOrgById(task.getOrgId(),SecurityConstants.INNER);
-        if(ObjectUtil.isNull(beCheckedOrg)){
+        SysOrg beCheckedOrg = remoteOrgService.selectOrgById(task.getOrgId(), SecurityConstants.INNER);
+        if (ObjectUtil.isNull(beCheckedOrg)) {
             throw new ServiceException("受检机构不存在");
         }
-        if(ObjectUtil.isNull(beCheckedOrg.getType())){
+        if (ObjectUtil.isNull(beCheckedOrg.getType())) {
             throw new ServiceException("受检机构没有机构类型");
         }
 
@@ -242,7 +242,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
             points = baseMapper.selectPointByTask(taskId);
             nfcs = baseMapper.selectNfcByTask(taskId);
         } else {
-            points = baseMapper.selectPoint(plan.getId(), taskId,beCheckedOrg.getType());
+            points = baseMapper.selectPoint(plan.getId(), taskId, beCheckedOrg.getType());
             nfcs = baseMapper.selectNfc(plan.getId(), taskId, task.getOrgId());
         }
 
@@ -257,7 +257,7 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
         }
 
         TaskRegisterVo<AppTaskRegisterPointVo> vo = TaskRegisterVo.of(task, beCheckedOrg.getType().toString(), roleNames);
-        if(ObjectUtil.isNotNull(plan)){
+        if (ObjectUtil.isNotNull(plan)) {
             vo.setPlanType(plan.getCheckType().intValue());
         }
 
@@ -293,8 +293,8 @@ public class SafetyCheckRegisterSericeImpl extends ServiceImpl<CoreSafetyTaskMap
             }
 
             roleIds = coreSafecheckPlanToRoleMapper.selectList(new LambdaQueryWrapper<CoreSafecheckPlanToRole>()
-                    .eq(CoreSafecheckPlanToRole::getPlanId, plan.getId())
-                    .select(CoreSafecheckPlanToRole::getRoleId))
+                            .eq(CoreSafecheckPlanToRole::getPlanId, plan.getId())
+                            .select(CoreSafecheckPlanToRole::getRoleId))
                     .stream()
                     .map(CoreSafecheckPlanToRole::getRoleId)
                     .collect(Collectors.toList());

+ 23 - 5
soc-modules/soc-modules-core/src/main/resources/mapper/board/AppCockpitMapper.xml

@@ -48,7 +48,7 @@
           and o.path like concat(#{orgPath}, '%')
     </select>
     <select id="selectOverViewResumptionTaskInfo" resultType="com.xunmei.core.board.dto.app.AppOverviewTaskInfoDto">
-        SELECT sum(if(ymd_date >= #{date}, 1, 0))                          as count,
+        SELECT sum(if(ymd_date >= #{date}, 1, 0))                          as total,
                sum(if(ymd_date >= #{date}, (if(`status` = 3, 1, 0)), 0))   as completed,
                sum(if(ymd_date &lt; #{date}, 1, 0))                        as prevcount,
                sum(if(ymd_date &lt; #{date}, (if(`status` = 3, 1, 0)), 0)) as prevcompleted
@@ -58,7 +58,7 @@
     </select>
 
     <select id="selectOverViewSafetyCheckTaskInfo" resultType="com.xunmei.core.board.dto.app.AppOverviewTaskInfoDto">
-        SELECT sum(if(t.ymd_date >= #{date}, 1, 0))                          as count,
+        SELECT sum(if(t.ymd_date >= #{date}, 1, 0))                          as total,
                sum(if(t.ymd_date >= #{date}, (if(t.`status` = 3, 1, 0)), 0))   as completed,
                sum(if(t.ymd_date &lt; #{date}, 1, 0))                        as prevcount,
                sum(if(t.ymd_date &lt; #{date}, (if(t.`status` = 3, 1, 0)), 0)) as prevcompleted
@@ -69,7 +69,7 @@
     </select>
 
     <select id="selectOverViewEduTaskInfo" resultType="com.xunmei.core.board.dto.app.AppOverviewTaskInfoDto">
-        SELECT sum(if(start_date >= #{date}, 1, 0))                          as count,
+        SELECT sum(if(start_date >= #{date}, 1, 0))                          as total,
                sum(if(start_date >= #{date}, (if(`status` = 4, 1, 0)), 0))   as completed,
                sum(if(start_date &lt; #{date}, 1, 0))                        as prevcount,
                sum(if(start_date &lt; #{date}, (if(`status` = 4, 1, 0)), 0)) as prevcompleted
@@ -79,7 +79,7 @@
     </select>
 
     <select id="selectOverViewDrillTaskInfo" resultType="com.xunmei.core.board.dto.app.AppOverviewTaskInfoDto">
-        SELECT sum(if(start_date >= #{date}, 1, 0))                          as count,
+        SELECT sum(if(start_date >= #{date}, 1, 0))                          as total,
                sum(if(start_date >= #{date}, (if(`status` = 4, 1, 0)), 0))   as completed,
                sum(if(start_date &lt; #{date}, 1, 0))                        as prevcount,
                sum(if(start_date &lt; #{date}, (if(`status` = 4, 1, 0)), 0)) as prevcompleted
@@ -89,7 +89,7 @@
     </select>
 
     <select id="selectOverViewMonitorTaskInfo" resultType="com.xunmei.core.board.dto.app.AppOverviewTaskInfoDto">
-        SELECT sum(if(ymd_date >= #{date}, 1, 0))                          as count,
+        SELECT sum(if(ymd_date >= #{date}, 1, 0))                          as total,
                sum(if(ymd_date >= #{date}, (if(`status` = 3, 1, 0)), 0))   as completed,
                sum(if(ymd_date &lt; #{date}, 1, 0))                        as prevcount,
                sum(if(ymd_date &lt; #{date}, (if(`status` = 3, 1, 0)), 0)) as prevcompleted
@@ -163,4 +163,22 @@
         GROUP BY
             p.plan_type
     </select>
+    <select id="selectSyntheticSafetyCheck" resultType="com.xunmei.core.board.dto.app.AppSyntheticTaskCategoryDto">
+        SELECT
+            p.plan_type,
+            count( 0 ) AS total,
+            sum(
+                    IF
+                        ( r.STATUS = 3, 1, 0 )) AS completed,
+            sum( r.exception_count ) AS exceptionCount
+        FROM
+            core_safety_task r
+                INNER JOIN core_safecheck_plan p ON r.plan_id = p.id
+        WHERE
+            r.ymd_date BETWEEN #{startDate}
+                AND #{endDate}
+          AND r.org_path LIKE CONCAT( #{orgPath}, '%' )
+        GROUP BY
+            p.plan_type
+    </select>
 </mapper>