zhanghua
2022-12-21 08ad4178329d0d356891aa2fef60eccb5e33970d
Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server
25个文件已修改
1个文件已添加
12 文件已重命名
319 ■■■■■ 已修改文件
ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/service/user/impl/UmsDepartManageServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/constant/BaseCaseStatus.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/constant/ChannelCode.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/constant/CheckResult.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/constant/StepName.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/CommonUtils.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/DateUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/DateUtils.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/Md5.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/ParamsMap.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/RandomNumberGenerator.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/RandomStringUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/epuipment/HandheldTerminalController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/epuipment/LoudspeakerController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/epuipment/OrgGridController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/region/SccgRegionController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/store/StoreInfoController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/task/TaskController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/writ/WritController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/message/impl/SmsTemplateServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/EnforcementEventsVO.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/StatisticsVO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-common/src/main/java/com/ycl/controller/user/UmsAdminController.java
@@ -161,11 +161,13 @@
        if (status > 0) {
            return CommonResult.success(status);
        } else if (status == -1) {
            return CommonResult.failed("提交参数不合法");
            return CommonResult.failed("密码长度8到16位且密码中的字符必须包含字母(大写或者小写)和必须包含数字,不能包含空格");
        } else if (status == -2) {
            return CommonResult.failed("找不到该用户");
        } else if (status == -3) {
            return CommonResult.failed("旧密码错误");
        }else if (status == -4) {
            return CommonResult.failed("密码不能和登录名完全一致");
        } else {
            return CommonResult.failed();
        }
ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
@@ -112,6 +112,13 @@
        }
        //将密码进行加密操作
        String encodePassword = passwordEncoder.encode(umsAdmin.getPassword());
        if ( !umsAdmin.getPassword().matches("^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,16}$")) {
            Asserts.fail("密码长度8到16位且密码中的字符必须包含字母(大写或者小写)和必须包含数字,不能包含空格");
        }
        if(umsAdmin.getUsername().equals(umsAdmin.getPassword())){
           Asserts.fail("密码不能和登录名完全一致");
        }
        umsAdmin.setPassword(encodePassword);
        baseMapper.insert(umsAdmin);
@@ -306,9 +313,12 @@
        if (StrUtil.isNotEmpty(param.getUsername())
                && StrUtil.isNotEmpty(param.getOldPassword())
                && StrUtil.isNotEmpty(param.getNewPassword())
                && !param.getNewPassword().matches("^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{6,16}$")) {
                && !param.getNewPassword().matches("^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,16}$")) {
            return -1;
        }
        if(param.getUsername().equals(param.getNewPassword())){
            return -4;
        }
        QueryWrapper<UmsAdmin> wrapper = new QueryWrapper<>();
        wrapper.lambda().eq(UmsAdmin::getUsername, param.getUsername());
        List<UmsAdmin> adminList = list(wrapper);
ycl-common/src/main/java/com/ycl/service/user/impl/UmsDepartManageServiceImpl.java
@@ -145,9 +145,5 @@
        umsDepartManage.setCreateTime(new Date());
        umsDepartManage.setDepartId(departId);
        umsDepartManageMapper.insert(umsDepartManage);
        UmsAdmin umsAdmin = new UmsAdmin();
        //umsAdmin.setDepartmentId(departId);
        umsAdmin.setId(userId);
        umsAdminService.updateById(umsAdmin);
    }
}
ycl-platform/src/main/java/com/ycl/common/constant/BaseCaseStatus.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/constant/BaseCaseStatus.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.constant;
package com.ycl.common.constant;
/**
 * <p>
ycl-platform/src/main/java/com/ycl/common/constant/ChannelCode.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/constant/ChannelCode.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.constant;
package com.ycl.common.constant;
/**
 * <p>
ycl-platform/src/main/java/com/ycl/common/constant/CheckResult.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/constant/CheckResult.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.constant;
package com.ycl.common.constant;
/**
 * <p>
ycl-platform/src/main/java/com/ycl/common/constant/StepName.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/constant/StepName.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.constant;
package com.ycl.common.constant;
public enum StepName {
ycl-platform/src/main/java/com/ycl/common/util/CommonUtils.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/CommonUtils.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
ycl-platform/src/main/java/com/ycl/common/util/DateUtil.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/DateUtil.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
ycl-platform/src/main/java/com/ycl/common/util/DateUtils.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/DateUtils.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import java.text.ParseException;
import java.text.SimpleDateFormat;
ycl-platform/src/main/java/com/ycl/common/util/Md5.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/Md5.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import java.security.MessageDigest;
ycl-platform/src/main/java/com/ycl/common/util/ParamsMap.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/ParamsMap.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import lombok.extern.slf4j.Slf4j;
ycl-platform/src/main/java/com/ycl/common/util/RandomNumberGenerator.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/RandomNumberGenerator.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import java.text.SimpleDateFormat;
import java.util.Date;
ycl-platform/src/main/java/com/ycl/common/util/RandomStringUtil.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/RandomStringUtil.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import java.util.Random;
ycl-platform/src/main/java/com/ycl/common/util/UtilNumber.java
File was renamed from ycl-platform/src/main/java/com/ycl/controller/video/common/util/UtilNumber.java
@@ -1,4 +1,4 @@
package com.ycl.controller.video.common.util;
package com.ycl.common.util;
import com.ycl.mapper.common.GeneratedCodeMapper;
ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
@@ -7,8 +7,8 @@
import com.ycl.annotation.LogSave;
import com.ycl.api.CommonResult;
import com.ycl.controller.BaseController;
import com.ycl.controller.video.common.constant.BaseCaseStatus;
import com.ycl.controller.video.common.util.UtilNumber;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.util.UtilNumber;
import com.ycl.dto.caseHandler.QueryForViolationParam;
import com.ycl.dto.casePool.IllegalBuildingParam;
import com.ycl.dto.casePool.VideoInspectParam;
ycl-platform/src/main/java/com/ycl/controller/cockpit/enforcementEvents/EnforcementEventsController.java
@@ -8,9 +8,7 @@
import com.ycl.mapper.trend.TrendAnalysisMapper;
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.service.caseHandler.IViolationsService;
import com.ycl.service.trend.TrendAnalysisService;
import com.ycl.util.CheckApiUtil;
import com.ycl.vo.TrendVo;
import com.ycl.vo.cockpit.CockpitVO;
import com.ycl.vo.cockpit.enforcementEvents.EnforcementEventsVO;
import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
@@ -24,9 +22,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@@ -54,16 +50,7 @@
    @GetMapping("/statistics")
    public CommonResult<Map<String, Object>> statistics(@Validated CockpitVO params) {
        checkApiUtil.cockpit(params);
        Map<String, Object> map = new HashMap<>();
        EnforcementEventsVO.StatisticsEventVO eventVO = new EnforcementEventsVO.StatisticsEventVO();
        eventVO.setCount(10);
        eventVO.setRatio(new BigDecimal("0.69").setScale(2, RoundingMode.HALF_UP));
        eventVO.setUp(true);
        map.put("reported", eventVO);
        map.put("disposition", eventVO);
        map.put("dispositionInTime", eventVO);
        map.put("register", eventVO);
        return CommonResult.success(map);
        return CommonResult.success(iBaseCaseService.statistics());
    }
    @ApiOperation(value = "事件类型")
@@ -74,7 +61,7 @@
        Long count = iViolationsService.count();
        typeAndSourceVO.setAll(iViolationsService.count());
        List<VideoAndAreaVO> videoAndAreaVOS = iViolationsService.selectType();
        videoAndAreaVOS.stream().forEach(item->item.setRatio(new BigDecimal(item.getCount()*1.0/count).setScale(2,BigDecimal.ROUND_HALF_UP)));
        videoAndAreaVOS.stream().forEach(item -> item.setRatio(new BigDecimal(item.getCount() * 1.0 / count).setScale(2, BigDecimal.ROUND_HALF_UP)));
        typeAndSourceVO.setRecords(videoAndAreaVOS);
        return CommonResult.success(typeAndSourceVO);
    }
ycl-platform/src/main/java/com/ycl/controller/epuipment/HandheldTerminalController.java
@@ -2,7 +2,6 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycl.annotation.LogSave;
import com.ycl.api.CommonResult;
import com.ycl.controller.BaseController;
ycl-platform/src/main/java/com/ycl/controller/epuipment/LoudspeakerController.java
@@ -1,32 +1,16 @@
package com.ycl.controller.epuipment;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycl.annotation.LogSave;
import com.ycl.api.CommonResult;
import com.ycl.controller.BaseController;
import com.ycl.entity.dict.DataDictionary;
import com.ycl.entity.equipment.EquipmentBayonet;
import com.ycl.entity.equipment.Loudspeaker;
import com.ycl.service.dict.IDataDictionaryService;
import com.ycl.service.equipment.IEquipmentBayonetService;
import com.ycl.service.equipment.ILoudspeakerService;
import com.ycl.vo.equipment.EquipmentBayonetVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.SneakyThrows;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.stream.Collectors;
/**
ycl-platform/src/main/java/com/ycl/controller/epuipment/OrgGridController.java
@@ -10,8 +10,6 @@
import com.ycl.entity.equipment.OrgGrid;
import com.ycl.service.equipment.IOrgGridService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java
@@ -4,7 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.api.CommonResult;
import com.ycl.bo.AdminUserDetails;
import com.ycl.controller.video.common.util.UtilNumber;
import com.ycl.common.util.UtilNumber;
import com.ycl.dto.message.MessageColumnParam;
import com.ycl.entity.message.MessageColumn;
import com.ycl.service.message.IMessageColumnService;
ycl-platform/src/main/java/com/ycl/controller/region/SccgRegionController.java
@@ -1,7 +1,6 @@
package com.ycl.controller.region;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycl.api.CommonPage;
import com.ycl.api.CommonResult;
ycl-platform/src/main/java/com/ycl/controller/store/StoreInfoController.java
@@ -5,7 +5,7 @@
import com.ycl.annotation.LogSave;
import com.ycl.api.CommonPage;
import com.ycl.api.CommonResult;
import com.ycl.controller.video.common.util.UtilNumber;
import com.ycl.common.util.UtilNumber;
import com.ycl.dto.store.UmsStoreInfoParam;
import com.ycl.entity.store.StoreInfo;
import com.ycl.entity.store.StoreScore;
ycl-platform/src/main/java/com/ycl/controller/task/TaskController.java
@@ -3,7 +3,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.ycl.api.CommonResult;
import com.ycl.bo.AdminUserDetails;
import com.ycl.controller.video.common.util.UtilNumber;
import com.ycl.common.util.UtilNumber;
import com.ycl.entity.task.Task;
import com.ycl.service.task.ITaskService;
import io.swagger.annotations.Api;
ycl-platform/src/main/java/com/ycl/controller/writ/WritController.java
@@ -1,7 +1,6 @@
package com.ycl.controller.writ;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycl.annotation.LogSave;
import com.ycl.api.CommonResult;
ycl-platform/src/main/java/com/ycl/mapper/caseHandler/BaseCaseMapper.java
@@ -58,4 +58,14 @@
    List<DelayDO> selectDelayVOList();
    List<VideoAndAreaVO> selectType();
    Long selectLastMonthCount(List<Integer> states);
    Long selectRecentlyMonthCount(List<Integer> states);
    Long selectOnTimeCaseCount();
    Long selectOnTimeCaseLastMonthCount();
    Long selectOnTimeCaseRecentlyMonthCount();
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java
@@ -86,4 +86,6 @@
    List<VideoAndAreaVO> areaCount();
    List<DelayVO> selectDelayList();
    Map<String,Object> statistics();
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -8,10 +8,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.bo.AdminUserDetails;
import com.ycl.controller.video.common.constant.BaseCaseStatus;
import com.ycl.controller.video.common.constant.StepName;
import com.ycl.controller.video.common.util.DateUtil;
import com.ycl.controller.video.common.util.UtilNumber;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.constant.StepName;
import com.ycl.common.util.DateUtil;
import com.ycl.common.util.UtilNumber;
import com.ycl.dto.caseHandler.DispatchInfoParam;
import com.ycl.dto.caseHandler.QueryForViolationParam;
import com.ycl.dto.casePool.IllegalBuildingParam;
@@ -35,6 +35,7 @@
import com.ycl.vo.casePool.*;
import com.ycl.vo.cockpit.enforcementEvents.DelayVO;
import com.ycl.vo.cockpit.enforcementEvents.EventVO;
import com.ycl.vo.cockpit.enforcementEvents.StatisticsVO;
import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -42,7 +43,6 @@
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -449,7 +449,8 @@
            iDispatchHandleService.dispatch(dispatchInfoParam);
        }
        if (violationParam.getState() == 2) {
            baseCaseService.uploadEvent(violationParam.getBaseId());
//            baseCaseService.uploadEvent(violationParam.getBaseId());
            /// TODO: 2022/12/16 上报接口未实现
        }
        return violationsMapper.updateById(violations) == 1 ? true : false;
    }
@@ -491,17 +492,17 @@
    public List<DelayVO> selectDelayList() {
        List<DelayDO> delayDOS = baseCaseMapper.selectDelayVOList();
        ArrayList<DelayVO> delayVOS = new ArrayList<>();
        delayDOS.stream().forEach(item->{
        delayDOS.stream().forEach(item -> {
            DelayVO delayVO = new DelayVO();
            delayVO.setDescription(item.getDescription());
            delayVO.setCode(item.getCode());
            Duration between;
            if (item.getEndTime()!=null){
            if (item.getEndTime() != null) {
                between = Duration.between(item.getEndTime(), item.getLimitTime());
            }else {
            } else {
                between = Duration.between(LocalDateTime.now(), item.getLimitTime());
            }
            if (between.isNegative()){
            if (between.isNegative()) {
                delayVO.setDuration(between.toMinutes());
                delayVOS.add(delayVO);
            }
@@ -509,4 +510,93 @@
        return delayVOS;
    }
    @Override
    public Map<String, Object> statistics() {
        Map<String, Object> map = new HashMap<>();
        Long reportCount = baseCaseMapper.selectCount(new LambdaQueryWrapper<BaseCase>().eq(BaseCase::getState, BaseCaseStatus.REPORT));
        StatisticsVO report = new StatisticsVO();
        report.setCount(reportCount);
        ArrayList<Integer> reportState = new ArrayList<>();
        reportState.add(BaseCaseStatus.REPORT);
        Long reportLastMonthCount = baseCaseMapper.selectLastMonthCount(reportState);
        Long reportRecentlyMonthCount = baseCaseMapper.selectRecentlyMonthCount(reportState);
        Double v = (reportRecentlyMonthCount - reportLastMonthCount) * 1.0 / reportLastMonthCount;
        if (reportLastMonthCount == 0) {
            report.setRatio(null);
        } else {
            report.setRatio(new BigDecimal(v).setScale(2, BigDecimal.ROUND_HALF_UP).abs());
        }
        if (v < 0) {
            report.setUp(false);
        } else {
            report.setUp(true);
        }
        Long disposeCount = baseCaseMapper.selectCount(new LambdaQueryWrapper<BaseCase>().in(BaseCase::getState, BaseCaseStatus.DISPATCH, BaseCaseStatus.DISPOSE, BaseCaseStatus.CHECK, BaseCaseStatus.CLOSING_REGISTER));
        StatisticsVO dispose = new StatisticsVO();
        dispose.setCount(disposeCount);
        ArrayList<Integer> disposeState = new ArrayList<>();
        disposeState.add(BaseCaseStatus.DISPATCH);
        disposeState.add(BaseCaseStatus.DISPOSE);
        disposeState.add(BaseCaseStatus.CHECK);
        disposeState.add(BaseCaseStatus.CLOSING_REGISTER);
        Long disposeLastMonthCount = baseCaseMapper.selectLastMonthCount(disposeState);
        Long disposeRecentlyMonthCount = baseCaseMapper.selectRecentlyMonthCount(disposeState);
        Double v1 = (disposeRecentlyMonthCount - disposeLastMonthCount) * 1.0 / disposeLastMonthCount;
        if (disposeLastMonthCount == 0) {
            dispose.setRatio(null);
        } else {
            dispose.setRatio(new BigDecimal(v1).setScale(2, BigDecimal.ROUND_HALF_UP).abs());
        }
        if (v1 < 0) {
            dispose.setUp(false);
        } else {
            dispose.setUp(true);
        }
        StatisticsVO onTimeDispose = new StatisticsVO();
        onTimeDispose.setCount(baseCaseMapper.selectOnTimeCaseCount());
        Long onTimeCaseLastMonthCount = baseCaseMapper.selectOnTimeCaseLastMonthCount();
        Long timeCaseRecentlyMonthCount = baseCaseMapper.selectOnTimeCaseRecentlyMonthCount();
        Double v2 = (timeCaseRecentlyMonthCount - onTimeCaseLastMonthCount) * 1.0 / onTimeCaseLastMonthCount;
        if (onTimeCaseLastMonthCount == 0) {
            onTimeDispose.setRatio(null);
        } else {
            onTimeDispose.setRatio(new BigDecimal(v2).setScale(2, BigDecimal.ROUND_HALF_UP).abs());
        }
        if (v2 < 0) {
            onTimeDispose.setUp(false);
        } else {
            onTimeDispose.setUp(true);
        }
        Long registerCount = baseCaseMapper.selectCount(new LambdaQueryWrapper<BaseCase>().in(BaseCase::getState, BaseCaseStatus.DISPATCH, BaseCaseStatus.DISPOSE, BaseCaseStatus.CHECK, BaseCaseStatus.CLOSING_REGISTER, BaseCaseStatus.REPORT));
        StatisticsVO register = new StatisticsVO();
        register.setCount(registerCount);
        ArrayList<Integer> registerState = new ArrayList<>();
        registerState.add(BaseCaseStatus.DISPATCH);
        registerState.add(BaseCaseStatus.DISPOSE);
        registerState.add(BaseCaseStatus.CHECK);
        registerState.add(BaseCaseStatus.CLOSING_REGISTER);
        registerState.add(BaseCaseStatus.REPORT);
        Long registerLastMonthCount = baseCaseMapper.selectLastMonthCount(registerState);
        Long registerRecentlyMonthCount = baseCaseMapper.selectRecentlyMonthCount(registerState);
        System.out.println(disposeRecentlyMonthCount);
        Double v3 = (registerRecentlyMonthCount - registerLastMonthCount) * 1.0 / registerLastMonthCount;
        if (disposeLastMonthCount == 0) {
            register.setRatio(null);
        } else {
            register.setRatio(new BigDecimal(v3).setScale(2, BigDecimal.ROUND_HALF_UP).abs());
        }
        if (v3 < 0) {
            register.setUp(false);
        } else {
            register.setUp(true);
        }
        map.put("reported", report);
        map.put("disposition", dispose);
        map.put("dispositionInTime", onTimeDispose);
        map.put("register", register);
        return map;
    }
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/CheckHandleServiceImpl.java
@@ -3,9 +3,9 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.controller.video.common.constant.BaseCaseStatus;
import com.ycl.controller.video.common.constant.CheckResult;
import com.ycl.controller.video.common.constant.StepName;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.constant.CheckResult;
import com.ycl.common.constant.StepName;
import com.ycl.dto.caseHandler.ChechParam;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.DisposeRecord;
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
@@ -7,8 +7,8 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.bo.AdminUserDetails;
import com.ycl.controller.video.common.constant.BaseCaseStatus;
import com.ycl.controller.video.common.constant.StepName;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.constant.StepName;
import com.ycl.dto.dispatch.UploadDisposingResultParam;
import com.ycl.entity.caseHandler.*;
import com.ycl.entity.resources.ImageResources;
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/IDispatchHandleServiceImpl.java
@@ -3,8 +3,8 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.controller.video.common.constant.BaseCaseStatus;
import com.ycl.controller.video.common.constant.StepName;
import com.ycl.common.constant.BaseCaseStatus;
import com.ycl.common.constant.StepName;
import com.ycl.dto.caseHandler.DispatchInfoParam;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.DispatchInfo;
ycl-platform/src/main/java/com/ycl/service/message/impl/MessageServiceImpl.java
@@ -4,8 +4,8 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ycl.controller.video.common.constant.ChannelCode;
import com.ycl.controller.video.common.util.CommonUtils;
import com.ycl.common.constant.ChannelCode;
import com.ycl.common.util.CommonUtils;
import com.ycl.dto.message.MessageParam;
import com.ycl.entity.message.Message;
import com.ycl.entity.message.SendReq;
ycl-platform/src/main/java/com/ycl/service/message/impl/SmsAuditServiceImpl.java
@@ -4,7 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.controller.video.common.util.CommonUtils;
import com.ycl.common.util.CommonUtils;
import com.ycl.dto.message.MessageSmsParam;
import com.ycl.entity.message.Message;
import com.ycl.entity.message.SmsAudit;
ycl-platform/src/main/java/com/ycl/service/message/impl/SmsTemplateServiceImpl.java
@@ -4,7 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.controller.video.common.util.CommonUtils;
import com.ycl.common.util.CommonUtils;
import com.ycl.entity.message.SmsTemplate;
import com.ycl.mapper.message.SmsTemplateMapper;
import com.ycl.service.message.ISmsTemplateService;
ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/EnforcementEventsVO.java
@@ -16,18 +16,7 @@
 */
@ApiModel(description = "驾驶舱数据-执法事件VO层")
public class EnforcementEventsVO {
    @ApiModel(description = "执法事件统计")
    @Data
    public static class StatisticsEventVO {
        @ApiModelProperty(value = "数量")
        private Integer count;
        @ApiModelProperty(value = "比例")
        private BigDecimal ratio;
        @ApiModelProperty(value = "上升下降")
        private Boolean up;
    }
    @Data
    @ApiModel(description = "事件类型/事件来源")
ycl-platform/src/main/java/com/ycl/vo/cockpit/enforcementEvents/StatisticsVO.java
New file
@@ -0,0 +1,19 @@
package com.ycl.vo.cockpit.enforcementEvents;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class StatisticsVO {
        @ApiModelProperty(value = "数量")
        private Long count;
        @ApiModelProperty(value = "比例")
        private BigDecimal ratio;
        @ApiModelProperty(value = "上升下降")
        private Boolean up;
}
ycl-platform/src/main/resources/mapper/caseHandler/BaseCaseMapper.xml
@@ -254,14 +254,14 @@
    <select id="selectRegisterCount" resultType="java.lang.Long">
        select count(1)
        from ums_base_case
        where state in (2, 6)
        where state in (2, 6,7,8,9)
          and to_days(create_time) = TO_DAYS(now());
    </select>
    <select id="selectStudyCount" resultType="java.lang.Long">
        select count(1)
        from ums_base_case
        where state =3
        where state = 3
          and to_days(create_time) = TO_DAYS(now());
    </select>
@@ -337,13 +337,51 @@
    </select>
    <select id="selectType" resultType="com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO">
        SELECT
            IFNULL( t2.`name`, "其他" ) as name,
            COUNT( 1 )  as count
        SELECT IFNULL(t2.`name`, "其他") as name,
               COUNT(1) as count
        FROM
            ums_violations t1
                LEFT JOIN ums_data_dictionary t2 ON t1.category_id = t2.id
            LEFT JOIN ums_data_dictionary t2
        ON t1.category_id = t2.id
        GROUP BY
            t1.category_id
    </select>
    <select id="selectLastMonthCount" resultType="java.lang.Long">
        SELECT
        count(1)
        FROM
        ums_base_case
        WHERE
        state in
        <foreach collection="list" open="(" separator="," close=")" item="state">
            #{state}
        </foreach>
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) =1
    </select>
    <select id="selectRecentlyMonthCount" resultType="java.lang.Long">
        SELECT
        count(1)
        FROM
        ums_base_case
        WHERE
        state in
        <foreach collection="list" open="(" separator="," close=")" item="state">
            #{state}
        </foreach>
        AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) =0
    </select>
    <select id="selectOnTimeCaseCount" resultType="java.lang.Long">
        SELECT COUNT(1) FROM ums_dispose_record WHERE end_time &lt; limit_time
    </select>
    <select id="selectOnTimeCaseLastMonthCount" resultType="java.lang.Long">
        SELECT COUNT(1) FROM ums_dispose_record WHERE end_time &lt; limit_time  AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) =1
    </select>
    <select id="selectOnTimeCaseRecentlyMonthCount" resultType="java.lang.Long">
        SELECT COUNT(1) FROM ums_dispose_record WHERE end_time &lt; limit_time  AND PERIOD_DIFF( date_format( now( ), '%Y%m' ), date_format( create_time, '%Y%m' ) ) =0
    </select>
</mapper>
ycl-platform/src/test/java/com/ycl/sccgplatform/SccgPlatformApplicationTests.java
@@ -1,10 +1,9 @@
package com.ycl.sccgplatform;
import com.ycl.controller.video.common.util.UtilNumber;
import com.ycl.common.util.UtilNumber;
import com.ycl.enums.common.DictTypeEnum;
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.utils.MD5Util;
import org.apache.commons.codec.digest.Md5Crypt;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;