package com.newfiber.api.pc.dao.EventsManage; import com.newfiber.api.core.base.BaseDao; import com.newfiber.api.mobile.model.domain.PatrolProblem; import com.newfiber.api.mobile.model.domain.ProblemStatistical; import com.newfiber.api.pc.model.EventsManage.*; import com.newfiber.api.pc.model.River.RiverInfoBasis; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; import java.util.Date; import java.util.List; import java.util.Map; @Repository public interface ComplaintDao extends BaseDao<Complaint>{ int countByExample(ComplaintQuery example); int insertSelective(Complaint record); List<Complaint> selectByExample(ComplaintQuery example); int updateByExampleSelective(@Param("record") Complaint record, @Param("example") ComplaintQuery example); //根据事件编号查询 Complaint selectEvetByEventNo(@Param("eventNo") String eventNo); //查询我批示过的事件或者领导批示过的事件 List<Complaint> selectCommandEvent(ComplaintQuery example); //批示计数 int countCommandEvent(ComplaintQuery example); //查询不同事件来源数量 List<Complaint> selectEventSourceCount(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("typeList") List<String> typeList, @Param("divisionList") List<String> divisionList); YearCount countEventOfYear(@Param("typeList") List<String> typeList, @Param("divisionList") List<String> divisionList, @Param("year")Integer year); //根据时间以及状态查询时间数量 int countEventByTimeAndState(@Param("startTime") Date startTime, @Param("endTime") Date endTime, @Param("state") Integer state, @Param("typeList") List<String> typeList, @Param("divisionList") List<String> divisionList); //工作台--我的河道事件查询(图表) int getMyRiverEventsCount(@Param("elist") List<Integer> elist, @Param("ulist") List<String> ulist, @Param("startTime") String startTime, @Param("endTime") String endTime); int getMyRiverEventsCountNew(@Param("elist") List<Integer> elist, @Param("divisionList") List<String> divisionList, @Param("startTime") String startTime, @Param("endTime") String endTime); List<String> getCurrentUserRole(String userNo); //工作台--河道事件查询 List<Complaint> getMyRiverEvents(@Param("list") List<String> list, @Param("elist") List<Integer> elist, @Param("riverNo") String riverNo, @Param("sort") String sort, @Param("order") String order); int getEventsCount(@Param("list") List<String> list, @Param("elist") List<Integer> elist, @Param("riverNo") String riverNo); //工作台--查询管辖河道 List<RiverInfoBasis> getMyRuleRiver(List<String> list); int getMyRuleRiverCount(List<String> list); //工作台--查询我的跟踪事件 List<Complaint> getMyTraceEvents(@Param("userNo") String userNo, @Param("sort") String sort, @Param("order") String order); //查询河长用户编号(治水办用户查平级河长) List<String> getMyRiverChief(String userNo); //查询用户的跟踪事件 List<Complaint> selectEventTraceList(ComplaintQuery example); //计算该用户有多少跟踪事项 int countTraceEvent(@Param("userNo") String userNo); //查询用户可添加的跟踪事项 List<Complaint> selectAddableTraceEvent(@Param("userNo") String userNo, @Param("startRow") Integer startRow, @Param("pageSize") Integer pageSize); //计数可添加的跟踪事项 int countAddableTraceEvent(@Param("userNo") String userNo); //统计每种类型时间发生个数 List<EventStatistics> getEventStatisticsInfo(@Param("divisions") List<String> divisions, @Param("st")Date st, @Param("et")Date et); /** * 根据机构编号查询待办事项列表 * @param * @return */ int countPendingList(Complaint complaint); /** * 分页根据机构查询待办事项列表 * @param * @return */ List<Complaint> selectPendingComplaint(Complaint complaint); /** * 根据行政区划编号查询投诉列表 * @param divisionNo * @return */ List<Complaint> selectByDivisionNo(@Param("divisionNo") String divisionNo); /** * 根据投诉事件编号查询投诉详情 * @param eventNo * @return */ Complaint selectInfo(@Param("eventNo") String eventNo); /** * 根据事件编号查询负责机构的名称 * @param eventNo * @return */ String selectOrgNameByEventNo(@Param("eventNo") String eventNo); /** * 根据区划/时间/事件来源查询计数 * @return */ List<Complaint> selectStaticData(Complaint complaint); //排除待上报的数据 List<Complaint> selectWithOutType1(Complaint complaint); /** * 行政区划/时间/事件来源查询计数 * @param complaint * @return */ int countStaticData(Complaint complaint); List<InspectStatistical> getInspectStatisticalDivision(@Param("st")Date st, @Param("et")Date et, @Param("paraList")List<String> paraList, @Param("order")String order, @Param("sort")String sort); List<InspectStatistical> getInspectStatisticalRiver(@Param("st")Date st, @Param("et")Date et, @Param("paraList")List<String> paraList, @Param("order")String order, @Param("sort")String sort); List<EventSourceBasis> selectEventSourceList(); EventSourceBasis selectEventSource(@Param("sourceNo") String sourceNo); /** *获取某时间段当前用户本级别河流各类投诉问题数量 * @author chg * @date 2018-12-06 */ public List<ProblemStatistical> problemStatisticalInfo(Map<String,Object> params); /** *获取当前用户某时间段本级河流所有投诉问题总数量 * @author chg * @date 2018-12-06 */ public int problemTotal(Map<String,Object> params); /** *获取当前用户某时间段下级河流各类投诉问题总数量 * @author chg * @date 2018-12-06 */ public List<ProblemStatistical> problemStatisticalSubordinate(Map<String,Object> params); /** *获取当前用户某时间段下级河流所有投诉问题总数量 * @author chg * @date 2018-12-06 */ public int problemTotalSubordinate(Map<String,Object> params); /** *获取当前用户某时间段同本级河流投诉事件数量 * @author chg * @date 2018-12-07 */ public List<ProblemStatistical> InspectEvent(Map<String,Object> params); /** *获取当前用户某时间段下级区域投诉事件数量 * @author chg * @date 2018-12-07 */ public List<ProblemStatistical> InspectEventSubordinate(Map<String,Object> params); /** * 查询河流的投诉事件(根据河流编号) * @param params * @return */ public List<PatrolProblem> queryListByRiver(Map<String,Object> params); /** * 查询区域的投诉问题数量 * @author chg * @date 2018-12-10 */ public List<ProblemStatistical> problemTotalOfArea(Map<String,Object> params); /** * 根据行政区划编号查询投诉列表 * @param params 区域编号、起止时间 * @return */ List<Complaint> selectByDivisionNoNew(Map<String,Object> params); /** * 根据河流查询投诉列表 * @param params 区域编号、起止时间 * @return */ List<Complaint> selectByRiverNo(Map<String,Object> params); /** * 通过id查询单个事件 * @param eventNo * @return */ Complaint getComplaint(@Param("eventNo") String eventNo); /** * 查询代办事项 * @param state 1为代办事项 * @param nextRiver * @return */ List<Complaint> selectByRivers(@Param("state")Integer state,@Param("nextRiver")List<String> nextRiver,@Param("userNo")String userNo); int selectCompCount(@Param("nextRiver")List<String> nextRiver,@Param("userNo")String userNo); }