Переглянути джерело

宿管值班安排表导出

dzx 1 рік тому
батько
коміт
60f7f944f5

+ 53 - 3
src/main/java/com/xjrsoft/module/room/service/impl/RoomValueWeekServiceImpl.java

@@ -151,14 +151,64 @@ public class RoomValueWeekServiceImpl extends MPJBaseServiceImpl<RoomValueWeekMa
         List<RoomValueWeekExcelVo> dataList = BeanUtil.copyToList(weekList, RoomValueWeekExcelVo.class);
 
         List<RoomValueWeekPageVo> allItemList = roomValueWeekRoomValueWeekItemMapper.getItemList(dto);
-
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
         for (RoomValueWeekExcelVo weekExcelVo : dataList) {
+            String title = sdf.format(weekExcelVo.getStartTime()) + "-" + sdf.format(weekExcelVo.getEndTime()) + "留宿情况及值班安排表";
             List<RoomValueWeekItemExcelVo> itemList = new ArrayList<>();
+            itemList.add(new RoomValueWeekItemExcelVo(){{
+                setColumn1(title);
+                setColumn2(title);
+                setColumn3(title);
+                setColumn4(title);
+            }});
+            itemList.add(new RoomValueWeekItemExcelVo(){{
+                setColumn1("留宿情况");
+                setColumn2("留宿情况");
+                setColumn3("宿舍值班人员安排");
+                setColumn4("宿舍值班人员安排");
+            }});
+
+            int maleStudents = 0;
+            int femaleStudents = 0;
+            String maleHousemaster = "",femaleHousemaster = "", instructor = "";
             for (RoomValueWeekPageVo roomValueWeekPageVo : allItemList) {
-                if(roomValueWeekPageVo.getRoomValueWeekId().equals(weekExcelVo.getId())){
-                    RoomValueWeekItemExcelVo itemExcelVo = new RoomValueWeekItemExcelVo();
+                if(!roomValueWeekPageVo.getRoomValueWeekId().equals(weekExcelVo.getId())){
+                    continue;
+                }
+                if("男寝".equals(roomValueWeekPageVo.getRoomType())){
+                    maleStudents = roomValueWeekPageVo.getNumberPeople();
+                    maleHousemaster = roomValueWeekPageVo.getUserName();
+                }
+                if("女寝".equals(roomValueWeekPageVo.getRoomType())){
+                    femaleStudents = roomValueWeekPageVo.getNumberPeople();
+                    femaleHousemaster = roomValueWeekPageVo.getUserName();
+                }
+                if("教官".equals(roomValueWeekPageVo.getPostName())){
+                    instructor = roomValueWeekPageVo.getUserName();
                 }
             }
+            RoomValueWeekItemExcelVo maleHousemasterVo = new RoomValueWeekItemExcelVo();
+            maleHousemasterVo.setColumn1("男生留宿情况");
+            maleHousemasterVo.setColumn2("女生留宿情况");
+            maleHousemasterVo.setColumn3("男生宿管");
+            maleHousemasterVo.setColumn4(maleHousemaster);
+            itemList.add(maleHousemasterVo);
+
+            RoomValueWeekItemExcelVo femaleHousemasterVo = new RoomValueWeekItemExcelVo();
+            femaleHousemasterVo.setColumn1(maleStudents + "");
+            femaleHousemasterVo.setColumn2(femaleStudents + "");
+            femaleHousemasterVo.setColumn3("女生宿管");
+            femaleHousemasterVo.setColumn4(femaleHousemaster);
+            itemList.add(femaleHousemasterVo);
+
+            RoomValueWeekItemExcelVo instructorVo = new RoomValueWeekItemExcelVo();
+            instructorVo.setColumn1(maleStudents + "");
+            instructorVo.setColumn2(femaleStudents + "");
+            instructorVo.setColumn3("教官");
+            instructorVo.setColumn4(instructor);
+            itemList.add(instructorVo);
+
+            weekExcelVo.setItemList(itemList);
         }