From ecda360755699a66ace496aa2c32d3325d2c7338 Mon Sep 17 00:00:00 2001 From: weishengyou <2454197255@qq.com> Date: Tue, 30 Dec 2025 10:47:38 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E5=B7=A5=E7=B3=BB=E7=BB=9F=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E6=88=BF=E5=8A=9F=E8=83=BD=E6=A8=A1=E5=9D=97=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E4=BF=AE=E6=94=B9=20-=E4=BF=AE=E6=94=B9=E9=A2=84?= =?UTF-8?q?=E7=BA=A6=E8=AE=B0=E5=BD=95=E5=AF=BC=E5=87=BA=E5=AD=97=E6=AE=B5?= =?UTF-8?q?(=E5=80=9F=E7=94=A8=E5=AD=A6=E6=9C=9F)=20-=E4=B8=BA=E8=AF=A6?= =?UTF-8?q?=E6=83=85=E7=BB=9F=E8=AE=A1=E6=B7=BB=E5=8A=A0=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E5=A4=9A=E9=80=89=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ffOneStopRegistrationRecordController.java | 12 +-- .../mapper/SrsStuYearMapper.java | 1 - ...StuDisciplinaryApplicationServiceImpl.java | 2 + .../domain/StaffOneStopRoomReservation.java | 8 ++ ...sStaffOneStopRegistrationRecordMapper.java | 8 +- ...StaffOneStopRegistrationRecordService.java | 8 +- ...fOneStopRegistrationRecordServiceImpl.java | 8 +- ...taffOneStopRoomReservationServiceImpl.java | 76 ++++++++++++++++++- ...rsStaffOneStopRegistrationRecordMapper.xml | 28 +++++-- 9 files changed, 122 insertions(+), 29 deletions(-) diff --git a/srs-admin/src/main/java/com/srs/web/controller/staff/SrsStaffOneStopRegistrationRecordController.java b/srs-admin/src/main/java/com/srs/web/controller/staff/SrsStaffOneStopRegistrationRecordController.java index d91e8f9..7edb0e4 100644 --- a/srs-admin/src/main/java/com/srs/web/controller/staff/SrsStaffOneStopRegistrationRecordController.java +++ b/srs-admin/src/main/java/com/srs/web/controller/staff/SrsStaffOneStopRegistrationRecordController.java @@ -147,7 +147,7 @@ public class SrsStaffOneStopRegistrationRecordController extends BaseController @RequestParam(value = "role", required = false) String role, @RequestParam(value = "borrower", required = false) String borrower, @RequestParam(value = "auditStatus", required = false) Integer auditStatus, - @RequestParam(value = "rtDepar", required = false) String rtDepar) { + @RequestParam(value = "rtDepar", required = false) List rtDepar) { // Call Service method with the Map return success(srsStaffOneStopRegistrationRecordService.getDepartmentReservationCount(startTime,endTime,role,borrower,auditStatus,rtDepar)); @@ -162,7 +162,7 @@ public class SrsStaffOneStopRegistrationRecordController extends BaseController @RequestParam(value = "role", required = false) String role, @RequestParam(value = "borrower", required = false) String borrower, @RequestParam(value = "auditStatus", required = false) Integer auditStatus, - @RequestParam(value = "rtDepar", required = false) String rtDepar,HttpServletResponse response) { + @RequestParam(value = "rtDepar", required = false) List rtDepar,HttpServletResponse response) { List> departmentReservationCount = srsStaffOneStopRegistrationRecordService.getDepartmentReservationCount(startTime, endTime, role, borrower, auditStatus, rtDepar); // 把departmentReservationCount的值转给DepartmentReservationCountExport对象 List list = new ArrayList<>(); @@ -185,7 +185,7 @@ public class SrsStaffOneStopRegistrationRecordController extends BaseController @RequestParam(value = "role", required = false) String role, @RequestParam(value = "borrower", required = false) String borrower, @RequestParam(value = "auditStatus", required = false) Integer auditStatus, - @RequestParam(value = "rtDepar", required = false) String rtDepar) { + @RequestParam(value = "rtDepar", required = false) List rtDepar) { // Call Service method with the Map return success(srsStaffOneStopRegistrationRecordService.getRoomReservationCount(startTime,endTime,role,borrower,auditStatus,rtDepar)); } @@ -199,7 +199,7 @@ public class SrsStaffOneStopRegistrationRecordController extends BaseController @RequestParam(value = "role", required = false) String role, @RequestParam(value = "borrower", required = false) String borrower, @RequestParam(value = "auditStatus", required = false) Integer auditStatus, - @RequestParam(value = "rtDepar", required = false) String rtDepar,HttpServletResponse response) { + @RequestParam(value = "rtDepar", required = false) List rtDepar,HttpServletResponse response) { // Call Service method with the Map List> roomReservationCount = srsStaffOneStopRegistrationRecordService.getRoomReservationCount(startTime, endTime, role, borrower, auditStatus, rtDepar); List list = new ArrayList<>(); @@ -222,7 +222,7 @@ public class SrsStaffOneStopRegistrationRecordController extends BaseController @RequestParam(value = "role", required = false) String role, @RequestParam(value = "borrower", required = false) String borrower, @RequestParam(value = "auditStatus", required = false) Integer auditStatus, - @RequestParam(value = "rtDepar", required = false) String rtDepar) { + @RequestParam(value = "rtDepar", required = false) List rtDepar) { // Call Service method with the Map return success(srsStaffOneStopRegistrationRecordService.getDepartmentUsageStatistics(startTime,endTime,role,borrower,auditStatus,rtDepar)); } @@ -235,7 +235,7 @@ public class SrsStaffOneStopRegistrationRecordController extends BaseController @RequestParam(value = "role", required = false) String role, @RequestParam(value = "borrower", required = false) String borrower, @RequestParam(value = "auditStatus", required = false) Integer auditStatus, - @RequestParam(value = "rtDepar", required = false) String rtDepar) { + @RequestParam(value = "rtDepar", required = false) List rtDepar) { // Call Service method with the Map return success(srsStaffOneStopRegistrationRecordService.getRoomUsageStatistics(startTime,endTime,role,borrower,auditStatus,rtDepar)); diff --git a/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsStuYearMapper.java b/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsStuYearMapper.java index f8aea83..df874e1 100644 --- a/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsStuYearMapper.java +++ b/srs-comprehensive/src/main/java/com/srs/comprehensive/mapper/SrsStuYearMapper.java @@ -34,7 +34,6 @@ public interface SrsStuYearMapper extends BaseMapper /** * 查询【请填写功能名称】列表 - * * @param srsStuYear 【请填写功能名称】 * @return 【请填写功能名称】集合 */ diff --git a/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryApplicationServiceImpl.java b/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryApplicationServiceImpl.java index 2b747e5..2078af4 100644 --- a/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryApplicationServiceImpl.java +++ b/srs-routine/src/main/java/com/srs/routine/service/impl/RtStuDisciplinaryApplicationServiceImpl.java @@ -116,6 +116,8 @@ public class RtStuDisciplinaryApplicationServiceImpl extends ServiceImpl rtDepar ); List> getRoomReservationCount( @@ -110,7 +110,7 @@ public interface SrsStaffOneStopRegistrationRecordMapper extends BaseMapper rtDepar ); List> getDepartmentUsageStatistics( @@ -119,7 +119,7 @@ public interface SrsStaffOneStopRegistrationRecordMapper extends BaseMapper rtDepar ); List> getRoomUsageStatistics( @@ -128,7 +128,7 @@ public interface SrsStaffOneStopRegistrationRecordMapper extends BaseMapper rtDepar ); int updateAuditStatusToPending(@Param("id") Integer id); diff --git a/srs-staff/src/main/java/com/srs/staff/service/ISrsStaffOneStopRegistrationRecordService.java b/srs-staff/src/main/java/com/srs/staff/service/ISrsStaffOneStopRegistrationRecordService.java index 6e87560..8e1b81a 100644 --- a/srs-staff/src/main/java/com/srs/staff/service/ISrsStaffOneStopRegistrationRecordService.java +++ b/srs-staff/src/main/java/com/srs/staff/service/ISrsStaffOneStopRegistrationRecordService.java @@ -82,13 +82,13 @@ public interface ISrsStaffOneStopRegistrationRecordService extends IService> getDepartmentReservationCount(String startTime,String endTime,String role,String borrower,Integer auditStatus,String rtDepar); + public List> getDepartmentReservationCount(String startTime,String endTime,String role,String borrower,Integer auditStatus,List rtDepar); - public List> getRoomReservationCount(String startTime,String endTime,String role,String borrower,Integer auditStatus,String rtDepar); + public List> getRoomReservationCount(String startTime,String endTime,String role,String borrower,Integer auditStatus,List rtDepar); - public List> getDepartmentUsageStatistics(String startTime,String endTime,String role,String borrower,Integer auditStatus,String rtDepar); + public List> getDepartmentUsageStatistics(String startTime,String endTime,String role,String borrower,Integer auditStatus,List rtDepar); - public List> getRoomUsageStatistics(String startTime,String endTime,String role,String borrower,Integer auditStatus,String rtDepar); + public List> getRoomUsageStatistics(String startTime,String endTime,String role,String borrower,Integer auditStatus,List rtDepar); int resetAuditStatus(Integer id); diff --git a/srs-staff/src/main/java/com/srs/staff/service/impl/SrsStaffOneStopRegistrationRecordServiceImpl.java b/srs-staff/src/main/java/com/srs/staff/service/impl/SrsStaffOneStopRegistrationRecordServiceImpl.java index 835e577..66f7bc4 100644 --- a/srs-staff/src/main/java/com/srs/staff/service/impl/SrsStaffOneStopRegistrationRecordServiceImpl.java +++ b/srs-staff/src/main/java/com/srs/staff/service/impl/SrsStaffOneStopRegistrationRecordServiceImpl.java @@ -260,22 +260,22 @@ public class SrsStaffOneStopRegistrationRecordServiceImpl extends ServiceImpl> getDepartmentReservationCount(String startTime,String endTime,String role,String borrower,Integer auditStatus,String rtDepar) { + public List> getDepartmentReservationCount(String startTime,String endTime,String role,String borrower,Integer auditStatus,List rtDepar) { return srsStaffOneStopRegistrationRecordMapper.getDepartmentUsage(startTime,endTime,role,borrower,auditStatus,rtDepar); } // 统计各个功能房的预约数量 - public List> getRoomReservationCount(String startTime,String endTime,String role,String borrower,Integer auditStatus,String rtDepar) { + public List> getRoomReservationCount(String startTime,String endTime,String role,String borrower,Integer auditStatus,List rtDepar) { return srsStaffOneStopRegistrationRecordMapper.getRoomReservationCount(startTime,endTime,role,borrower,auditStatus,rtDepar); } // 统计各部门功能房使用情况 - public List> getDepartmentUsageStatistics(String startTime,String endTime,String role,String borrower,Integer auditStatus,String rtDepar) { + public List> getDepartmentUsageStatistics(String startTime,String endTime,String role,String borrower,Integer auditStatus,List rtDepar) { return srsStaffOneStopRegistrationRecordMapper.getDepartmentUsageStatistics(startTime,endTime,role,borrower,auditStatus,rtDepar); } // 统计各个功能房使用情况 - public List> getRoomUsageStatistics(String startTime,String endTime,String role,String borrower,Integer auditStatus,String rtDepar) { + public List> getRoomUsageStatistics(String startTime,String endTime,String role,String borrower,Integer auditStatus,List rtDepar) { return srsStaffOneStopRegistrationRecordMapper.getRoomUsageStatistics(startTime,endTime,role,borrower,auditStatus,rtDepar); } diff --git a/srs-staff/src/main/java/com/srs/staff/service/impl/StaffOneStopRoomReservationServiceImpl.java b/srs-staff/src/main/java/com/srs/staff/service/impl/StaffOneStopRoomReservationServiceImpl.java index 583a0e8..36d3144 100644 --- a/srs-staff/src/main/java/com/srs/staff/service/impl/StaffOneStopRoomReservationServiceImpl.java +++ b/srs-staff/src/main/java/com/srs/staff/service/impl/StaffOneStopRoomReservationServiceImpl.java @@ -5,13 +5,19 @@ import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.format.TextStyle; import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; import java.util.List; import java.util.Locale; import java.util.Objects; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.srs.common.exception.ServiceException; import com.srs.common.utils.DateUtils; import com.srs.common.utils.SecurityUtils; +import com.srs.comprehensive.domain.SrsStuYear; +import com.srs.comprehensive.domain.Vo.StuYearIdName; +import com.srs.comprehensive.mapper.SrsStuYearMapper; import com.srs.staff.domain.StaffOneStopRoom; import com.srs.staff.domain.StaffOneStopRoomOpeningHours; import com.srs.staff.mapper.StaffOneStopRoomMapper; @@ -39,6 +45,9 @@ public class StaffOneStopRoomReservationServiceImpl extends ServiceImpl selectStaffOneStopRoomReservationByRtTime(String roomNo ,String rtTime) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); @@ -95,8 +105,70 @@ public class StaffOneStopRoomReservationServiceImpl extends ServiceImpl selectStaffOneStopRoomReservationList(StaffOneStopRoomReservation staffOneStopRoomReservation) { - return staffOneStopRoomReservationMapper.selectStaffOneStopRoomReservationList(staffOneStopRoomReservation); + List list = staffOneStopRoomReservationMapper.selectStaffOneStopRoomReservationList(staffOneStopRoomReservation); + + // 查询所有学年数据用于匹配 + List allYears = srsStuYearMapper.selectSrsStuYearList(new SrsStuYear()); + + for (StaffOneStopRoomReservation reservation : list) { + // 根据预约时间确定学年 + if (reservation.getRtTime() != null && !reservation.getRtTime().isEmpty()) { + String yearName = determineSchoolYearByTime(reservation.getRtTime(), allYears); + reservation.setYearName(yearName); + } + } + return list; } + + /** + * 根据预约时间确定所属学年 + * + * @param rtTime 预约时间 + * @param allYears 所有学年数据 + * @return 学年名称 + */ + private String determineSchoolYearByTime(String rtTime, List allYears) { + try { + // 解析预约时间 + Date reservationDate = null; + // 尝试解析不同的日期格式 + if (rtTime.length() == 10) { // "yyyy-MM-dd" 格式 + reservationDate = DateUtils.parseDate(rtTime, "yyyy-MM-dd"); + } else if (rtTime.length() == 7) { // "yyyy-MM" 格式 + reservationDate = DateUtils.parseDate(rtTime + "-01", "yyyy-MM-dd"); + } else if (rtTime.length() == 4) { // "yyyy" 格式 + reservationDate = DateUtils.parseDate(rtTime + "-01-01", "yyyy-MM-dd"); + } else { + // 尝试解析其他格式 + reservationDate = DateUtils.parseDate(rtTime); + } + + if (reservationDate == null) { + return null; + } + + // 遍历所有学年,找到匹配的学年 + for (SrsStuYear year : allYears) { + if (year.getStartTime() != null && year.getEndTime() != null) { + // 直接使用学年自身的起始和结束时间进行判断 + if (reservationDate.compareTo(year.getStartTime()) >= 0 && reservationDate.compareTo(year.getEndTime()) <= 0) { + // 截取字符串,去掉"学年"两个字 + String yearName = year.getStuYearName(); + if (yearName != null && yearName.endsWith("学年")) { + return yearName.substring(0, yearName.length() - 2); + } + return yearName; + } + } + } + } catch (Exception e) { + // 解析日期失败,返回null + System.out.println("解析预约时间失败: " + rtTime + ", 错误: " + e.getMessage()); + } + + return null; + } + /** * 新增一站式社区-功能房-预约记录 @@ -158,4 +230,4 @@ public class StaffOneStopRoomReservationServiceImpl extends ServiceImpl AND audit_status = #{auditStatus} - - AND rt_depar = #{rtDepar} + + AND rt_depar IN + + #{item} + GROUP BY @@ -182,8 +185,11 @@ AND audit_status = #{auditStatus} - - AND rt_depar = #{rtDepar} + + AND rt_depar IN + + #{item} + GROUP BY room_name @@ -216,8 +222,11 @@ AND audit_status = #{auditStatus} - - AND rt_depar = #{rtDepar} + + AND rt_depar IN + + #{item} + GROUP BY rt_depar @@ -250,8 +259,11 @@ AND audit_status = #{auditStatus} - - AND rt_depar = #{rtDepar} + + AND rt_depar IN + + #{item} + GROUP BY room_name