package com.ycl.service.caseHandler;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
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.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.BaseCaseDetail;
import com.ycl.vo.casePool.BaseCaseVO;
import com.ycl.vo.casePool.QueryForViolationVO;
import com.ycl.vo.cockpit.enforcementEvents.DelayVO;
import com.ycl.vo.cockpit.enforcementEvents.EventVO;
import com.ycl.vo.cockpit.enforcementEvents.VideoAndAreaVO;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
*
* 案件基本信息 服务类
*
*
* @author wl
* @since 2022-09-24
*/
public interface IBaseCaseService extends IService {
/**
* 上传市平台
*
* @param caseId
* @return String
* @author AI
* @date 2022-09-28 16:52
*/
String uploadEvent(Long caseId);
Page listViolationsPage(Page page, Integer state, Integer resource);
Page listIllegalBuilding(Page page, Integer state, Integer resource);
Boolean saveViolationCase(ViolationParam violationParam, Long id);
Boolean saveIllegalBuildingCase(IllegalBuildingParam illegalBuildingParam, Long id);
/**
* 同步案件进度
*
* @param caseId
* @return java.lang.String
* @author AI
* @date 2022-09-28 17:45
*/
String processEvent(Integer caseId);
BaseCaseDetail baseCaseDetail(String code);
ArrayList listCaseImages(Integer id, Integer type);
void endCase(Long caseId, String result, String opinion);
Page selectPage(Page setSize, String number, Integer streetId, Integer categories, String startTime, String endTime, String site);
Page selectViolation(QueryForViolationParam queryForViolationParam);
List selectViolationList(QueryForViolationParam queryForViolationParam);
Page selectVideoInspection(Integer current);
Map selectCount();
Boolean updateCase(VideoInspectParam videoInspectParam);
Integer dayCount();
Integer weekCount();
Integer dispatchCount();
Integer alCount();
List selectEventList(String beginTime, String endTime);
List areaCount();
List selectDelayList();
Map statistics();
}