zhanghua
2022-12-12 fd071f321fb967f36cf795fc40b4f2e87e89e69d
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -15,7 +15,9 @@
import com.ycl.dto.caseHandler.DispatchInfoParam;
import com.ycl.dto.caseHandler.QueryForViolationParam;
import com.ycl.dto.casePool.IllegalBuildingParam;
import com.ycl.dto.casePool.VideoInspectParam;
import com.ycl.dto.casePool.ViolationParam;
import com.ycl.dto.cockpitManage.DelayDO;
import com.ycl.entity.caseHandler.*;
import com.ycl.entity.dict.DataDictionary;
import com.ycl.entity.resources.ImageResources;
@@ -31,8 +33,9 @@
import com.ycl.service.caseHandler.IViolationsService;
import com.ycl.service.video.IVideoAlarmReportService;
import com.ycl.vo.casePool.*;
import com.ycl.vo.cockpit.enforcementEvents.EnforcementEventsVO;
import com.ycl.vo.cockpit.enforcementEvents.DelayVO;
import com.ycl.vo.cockpit.enforcementEvents.EventVO;
import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
@@ -40,7 +43,9 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -250,8 +255,8 @@
        if (baseCase.getCategory() == 1) {
            Map mapV = new HashMap();
            mapV.put("id", baseCase.getId());
            Violations violations = violationsMapper.selectCondMap(mapV);
            baseCase.setViolations(violations);
            ViolationsVO violationsVO = violationsMapper.selectCondMap(mapV);
            baseCase.setViolationsVO(violationsVO);
        } else {
            IllegalBuilding illegalBuilding = illegalBuildingMapper.selectById(baseCase.getId());
            LambdaQueryWrapper<DataDictionary> dict = new LambdaQueryWrapper<>();
@@ -416,17 +421,17 @@
    public Map<String, Object> selectCount() {
        HashMap<String, Object> map = new HashMap<>();
        Long review = baseCaseMapper.selectCount(new LambdaQueryWrapper<BaseCase>().eq(BaseCase::getState, 1));
        Long register = baseCaseMapper.selectCount(new LambdaQueryWrapper<BaseCase>().in(BaseCase::getState, 2,6));
        Long register = baseCaseMapper.selectRegisterCount();
        Long study = baseCaseMapper.selectCount(new LambdaQueryWrapper<BaseCase>().eq(BaseCase::getState, 3));
        map.put("review", review);
        map.put("register",register);
        map.put("study",study);
        map.put("register", register);
        map.put("study", study);
        return map;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public Boolean updateCase(ViolationParam violationParam) {
    public Boolean updateCase(VideoInspectParam violationParam) {
        BaseCase baseCase = new BaseCase();
        BeanUtils.copyProperties(violationParam, baseCase);
        baseCase.setId(violationParam.getBaseId());
@@ -434,7 +439,7 @@
        baseCaseMapper.updateById(baseCase);
        Violations violations = new Violations();
        BeanUtils.copyProperties(violationParam, violations);
        violations.setId(violations.getId());
        violations.setId(violationParam.getBaseId());
        if (violationParam.getState() == 6) {
            AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
            violationParam.setCreateUser(user.getUserId());
@@ -446,7 +451,7 @@
        if (violationParam.getState() == 2) {
            baseCaseService.uploadEvent(violationParam.getBaseId());
        }
        return violationsMapper.insert(violations) == 1 ? true : false;
        return violationsMapper.updateById(violations) == 1 ? true : false;
    }
    @Override
@@ -471,6 +476,36 @@
    @Override
    public List<EventVO> selectEventList(String beginTime, String endTime) {
        return baseCaseMapper.selectEventList(beginTime,endTime);
        return baseCaseMapper.selectEventList(beginTime, endTime);
    }
    @Override
    public List<VideoAndAreaVO> areaCount() {
        List<VideoAndAreaVO> areaCountList = baseCaseMapper.areaCount();
        Long allCount = baseCaseMapper.selectCount(new LambdaQueryWrapper<>());
        areaCountList.stream().forEach(item -> item.setRatio(new BigDecimal(item.getCount() * 1.0 / allCount).setScale(2, BigDecimal.ROUND_HALF_UP)));
        return areaCountList;
    }
    @Override
    public List<DelayVO> selectDelayList() {
        List<DelayDO> delayDOS = baseCaseMapper.selectDelayVOList();
        ArrayList<DelayVO> delayVOS = new ArrayList<>();
        delayDOS.stream().forEach(item->{
            DelayVO delayVO = new DelayVO();
            delayVO.setDescription(item.getDescription());
            delayVO.setCode(item.getCode());
            Duration between;
            if (item.getEndTime()!=null){
                between = Duration.between(item.getEndTime(), item.getLimitTime());
            }else {
                between = Duration.between(LocalDateTime.now(), item.getLimitTime());
            }
            if (between.isNegative()){
                delayVO.setDuration(between.toMinutes());
                delayVOS.add(delayVO);
            }
        });
        return delayVOS;
    }
}