diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/MeetingReservationIOController.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/MeetingReservationIOController.java index 6b29925..de1deea 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/MeetingReservationIOController.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/MeetingReservationIOController.java @@ -3,6 +3,7 @@ package com.ics.admin.controller; import com.ics.admin.service.IMeetingReservationIOService; import com.ics.admin.utils.ExcelView; import com.ics.admin.vo.MeetingRecordExportVo; +import com.ics.admin.vo.MeetingTotalVo; import com.ics.common.core.controller.BaseController; import com.ics.common.utils.DateUtils; import org.jxls.common.Context; @@ -63,4 +64,23 @@ public class MeetingReservationIOController extends BaseController { e.printStackTrace(); } } + + /** + * 导出每月汇总 + * @param month 月份,格式:2024-10 + */ + @RequiresPermissions(value = {"mr:manage:operator"}) + @PostMapping("exportMonthMR") + public void exportMonthMR(String month) { + try { + Date mon = DateUtils.dateTime(DateUtils.YYYY_MM, month); + List list = meetingReservationIOService.total(month); + Context context = new Context(); + context.putVar("month", DateUtils.parseDateToStr("yyyy年MM月", mon)); + context.putVar("list", list); + new ExcelView("excel/会情汇总表导出模版.xls", "会议中心会情汇总表.xls", context); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/MeetingReservationIOMapper.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/MeetingReservationIOMapper.java index 41d0b0c..4c07a02 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/MeetingReservationIOMapper.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/MeetingReservationIOMapper.java @@ -1,7 +1,9 @@ package com.ics.admin.mapper; import com.ics.admin.vo.MeetingRecordExportVo; +import com.ics.admin.vo.MeetingTotalVo; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; import java.util.List; @@ -21,4 +23,10 @@ public interface MeetingReservationIOMapper { */ List getMeetingReservationList(MeetingRecordExportVo meetingRecordExportVo); + /** + * 会议预约记录汇总 + * @param filterDate 月份,格式:2024-10 + * @return + */ + List total(@Param("filterDate") String filterDate); } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IMeetingReservationIOService.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IMeetingReservationIOService.java index 189b3a7..c91bdf8 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IMeetingReservationIOService.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IMeetingReservationIOService.java @@ -1,6 +1,7 @@ package com.ics.admin.service; import com.ics.admin.vo.MeetingRecordExportVo; +import com.ics.admin.vo.MeetingTotalVo; import java.util.List; @@ -12,4 +13,7 @@ public interface IMeetingReservationIOService { * @return */ List getMeetingReservationList(MeetingRecordExportVo meetingRecordExportVo); + + + List total(String filterDate); } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/IMeetingReservationIOServiceImpl.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/IMeetingReservationIOServiceImpl.java index ff1c555..c758ce3 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/IMeetingReservationIOServiceImpl.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/IMeetingReservationIOServiceImpl.java @@ -3,6 +3,7 @@ package com.ics.admin.service.impl; import com.ics.admin.mapper.MeetingReservationIOMapper; import com.ics.admin.service.IMeetingReservationIOService; import com.ics.admin.vo.MeetingRecordExportVo; +import com.ics.admin.vo.MeetingTotalVo; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -27,4 +28,19 @@ public class IMeetingReservationIOServiceImpl implements IMeetingReservationIOSe return meetingReservationIOMapper.getMeetingReservationList(meetingRecordExportVo); } + @Override + public List total(String filterDate) { + List list = meetingReservationIOMapper.total(filterDate); + int cz = 0, pn = 0; + for (MeetingTotalVo meetingTotalVo : list) { + cz += meetingTotalVo.getCz(); + pn += meetingTotalVo.getPn(); + } + MeetingTotalVo m = new MeetingTotalVo(); + m.setName("合计"); + m.setCz(cz); + m.setPn(pn); + list.add(m); + return list; + } } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/vo/MeetingTotalVo.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/vo/MeetingTotalVo.java new file mode 100644 index 0000000..25a76cc --- /dev/null +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/vo/MeetingTotalVo.java @@ -0,0 +1,25 @@ +package com.ics.admin.vo; + +import lombok.Data; + +import java.io.Serializable; + +/** + * 会议室预约记录汇总导出 + * created at 2024-10-15 14:37 + * + * @author lujiang + * @version 1.0.0 + * @since 1.0.0 + */ +@Data +public class MeetingTotalVo implements Serializable { + private static final long serialVersionUID = -202410151438L; + + private String name;//会议室名称 + + private Integer cz;//场次 + + private Integer pn;//人次 + +} diff --git a/shoot-hand/ics-admin/src/main/resources/excel/会情汇总表导出模版.xls b/shoot-hand/ics-admin/src/main/resources/excel/会情汇总表导出模版.xls new file mode 100644 index 0000000..6e8b661 Binary files /dev/null and b/shoot-hand/ics-admin/src/main/resources/excel/会情汇总表导出模版.xls differ diff --git a/shoot-hand/ics-admin/src/main/resources/mapper/admin/MeetingReservationIOMapper.xml b/shoot-hand/ics-admin/src/main/resources/mapper/admin/MeetingReservationIOMapper.xml index 56b06b7..bbe239b 100644 --- a/shoot-hand/ics-admin/src/main/resources/mapper/admin/MeetingReservationIOMapper.xml +++ b/shoot-hand/ics-admin/src/main/resources/mapper/admin/MeetingReservationIOMapper.xml @@ -21,4 +21,10 @@ order by start + + \ No newline at end of file