通知新增

1、新增数据结构 2、getById 入参:id 响应:Notice 3、update 入参:Notice 描述:修改操作 4、getListByTimeAndTypeOrIsRead 入参: beginTime:开始时间;yyyyMMdd endTime:结束时间;yyyyMMdd timeRange:是否需要时间段;true表示需要; type:类别;1:借用通知;2:审批通知;3:通用通知;4:仓库管理员通知;-1:全部类别 isType:是否通过类别进行访问;如果为false则根据是否已读来进行判断; isRead:true/false; 响应:List<Notice> 解释: ``` if (isType) { if(timeRange) { // where type = ${type} and createTime >= beginTime and createTime <= endTime } else { // where type = ${type} } } else { if(timeRange) { // where isRead = ${isRead} and createTime >= beginTime and createTime <= endTime } else { // where time = ${time} } } 注意:type为-1为特殊情况,表示所有类别 ``` 5、insert 入参:Notice 描述:新增记录 6、readAll 入参:List<String>;通知Id列表 描述:一键已读 update... set isRead = true where id in List<Integer> 将通知Id列表中的IsRead改为true; 7、getTypeCounts;获取各状态列表counts 入参: beginTime:开始时间;yyyyMMdd endTime:结束时间;yyyyMMdd timeRange:是否需要时间段;true表示需要; isRead:true/false; 响应: NoticeCountsDTO{ allCounts、borrowCounts、auditCounts、normalCounts、placeManagerCounts } 提示:可改造getListByTimeAndTypeOrIsRead方法,实现复用; ``` List<Notice> getListByTimeAndTypeOrIsRead2(...) { if(timeRange) { // where isRead = ${isRead} and type = ${type} and createTime >= beginTime and createTime <= endTime } else { // isRead = ${isRead} and type = ${type} } } int allCounts = getListByTimeAndTypeOrIsRead2(..., type = -1).length int borrowCounts = getListByTimeAndTypeOrIsRead2(..., type = 1).length ```