Browse Source

Merge remote-tracking branch 'origin/dev' into dev

phoenix 1 năm trước cách đây
mục cha
commit
378da0e0b8

+ 0 - 2
src/main/java/com/xjrsoft/module/room/controller/RoomValueWeekController.java

@@ -1,7 +1,6 @@
 package com.xjrsoft.module.room.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
-import cn.hutool.core.bean.BeanUtil;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.support.ExcelTypeEnum;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -11,7 +10,6 @@ import com.xjrsoft.common.page.PageOutput;
 import com.xjrsoft.module.room.dto.AddRoomValueWeekDto;
 import com.xjrsoft.module.room.dto.RoomValueWeekPageDto;
 import com.xjrsoft.module.room.dto.UpdateRoomValueWeekDto;
-import com.xjrsoft.module.room.entity.RoomValueWeek;
 import com.xjrsoft.module.room.service.IRoomValueWeekService;
 import com.xjrsoft.module.room.vo.RoomValueWeekItemVo;
 import com.xjrsoft.module.room.vo.RoomValueWeekPageVo;

+ 2 - 3
src/main/java/com/xjrsoft/module/room/mapper/RoomValueWeekItemMapper.java

@@ -1,15 +1,13 @@
 package com.xjrsoft.module.room.mapper;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseMapper;
 import com.xjrsoft.module.room.dto.RoomValueWeekPageDto;
 import com.xjrsoft.module.room.entity.RoomValueWeekItem;
-import com.xjrsoft.module.room.vo.RoomValueWeekItemVo;
 import com.xjrsoft.module.room.vo.RoomValueWeekPageVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-
 /**
 * @title: 宿管值班管理(人员)
 * @Author dzx
@@ -22,4 +20,5 @@ public interface RoomValueWeekItemMapper extends MPJBaseMapper<RoomValueWeekItem
     Page<RoomValueWeekPageVo> getItemList(Page<RoomValueWeekPageDto> page, @Param("dto") RoomValueWeekPageDto dto);
 
     Integer getMaxSortCode();
+
 }

+ 43 - 2
src/main/java/com/xjrsoft/module/room/service/impl/RoomValueWeekServiceImpl.java

@@ -5,13 +5,16 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseServiceImpl;
+import com.xjrsoft.common.enums.DeleteMark;
 import com.xjrsoft.module.room.dto.AddRoomValueWeekDto;
 import com.xjrsoft.module.room.dto.RoomValueWeekPageDto;
 import com.xjrsoft.module.room.dto.UpdateRoomValueWeekDto;
 import com.xjrsoft.module.room.entity.RoomValueWeek;
 import com.xjrsoft.module.room.entity.RoomValueWeekItem;
+import com.xjrsoft.module.room.entity.WfRoomStayOvernight;
 import com.xjrsoft.module.room.mapper.RoomValueWeekItemMapper;
 import com.xjrsoft.module.room.mapper.RoomValueWeekMapper;
+import com.xjrsoft.module.room.mapper.WfRoomStayOvernightMapper;
 import com.xjrsoft.module.room.service.IRoomValueWeekService;
 import com.xjrsoft.module.room.vo.RoomValueWeekItemVo;
 import com.xjrsoft.module.room.vo.RoomValueWeekPageVo;
@@ -19,6 +22,7 @@ import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.text.SimpleDateFormat;
 import java.time.ZoneId;
 import java.time.ZonedDateTime;
 import java.util.Date;
@@ -39,6 +43,8 @@ public class RoomValueWeekServiceImpl extends MPJBaseServiceImpl<RoomValueWeekMa
 
     private final RoomValueWeekItemMapper roomValueWeekRoomValueWeekItemMapper;
 
+    private final WfRoomStayOvernightMapper wfRoomStayOvernightMapper;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -135,12 +141,47 @@ public class RoomValueWeekServiceImpl extends MPJBaseServiceImpl<RoomValueWeekMa
     @Override
     public Boolean updateNumberPeople() {
         Date date = new Date();
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
         List<RoomValueWeek> weeks = roomValueWeekRoomValueWeekMapper.selectList(
             new QueryWrapper<RoomValueWeek>().lambda()
-            .le(RoomValueWeek::getEndTime, date)
-            .ge(RoomValueWeek::getStartTime, date)
+            .ge(RoomValueWeek::getEndTime, sdf.format(date))
+            .le(RoomValueWeek::getStartTime, sdf.format(date))
         );
 
+        for (RoomValueWeek week : weeks) {
+            List<RoomValueWeekItem> roomValueWeekItems = roomValueWeekRoomValueWeekItemMapper.selectList(
+                    new QueryWrapper<RoomValueWeekItem>().lambda().eq(RoomValueWeekItem::getRoomValueWeekId, week.getId())
+            );
+            for (RoomValueWeekItem roomValueWeekItem : roomValueWeekItems) {
+                if("男寝".equals(roomValueWeekItem.getRoomType())){
+                    Long maleStudents = wfRoomStayOvernightMapper.selectCount(
+                            new QueryWrapper<WfRoomStayOvernight>().lambda()
+                            .eq(WfRoomStayOvernight::getGenderName, "男")
+                            .eq(WfRoomStayOvernight::getStatus, 1)
+                            .eq(WfRoomStayOvernight::getDeleteMark, DeleteMark.NODELETE.getCode())
+                            .le(WfRoomStayOvernight::getEndTime, sdf.format(week.getEndTime()))
+                            .ge(WfRoomStayOvernight::getStartTime, sdf.format(week.getStartTime()))
+                    );
+                    roomValueWeekRoomValueWeekItemMapper.updateById(new RoomValueWeekItem(){{
+                        setId(roomValueWeekItem.getId());
+                        setNumberPeople(maleStudents.intValue());
+                    }});
+                }else if("女寝".equals(roomValueWeekItem.getRoomType())){
+                    Long FemaleStudents = wfRoomStayOvernightMapper.selectCount(
+                            new QueryWrapper<WfRoomStayOvernight>().lambda()
+                                    .eq(WfRoomStayOvernight::getGenderName, "女")
+                                    .eq(WfRoomStayOvernight::getStatus, 1)
+                                    .eq(WfRoomStayOvernight::getDeleteMark, DeleteMark.NODELETE.getCode())
+                                    .le(WfRoomStayOvernight::getEndTime, sdf.format(week.getEndTime()))
+                                    .ge(WfRoomStayOvernight::getStartTime, sdf.format(week.getStartTime()))
+                    );
+                    roomValueWeekRoomValueWeekItemMapper.updateById(new RoomValueWeekItem(){{
+                        setId(roomValueWeekItem.getId());
+                        setNumberPeople(FemaleStudents.intValue());
+                    }});
+                }
+            }
+        }
         return null;
     }
 

+ 21 - 0
src/main/java/com/xjrsoft/module/room/vo/RoomValueWeekItemPeopleVo.java

@@ -0,0 +1,21 @@
+package com.xjrsoft.module.room.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+* @title: 宿管值班管理(人员)表单出参
+* @Author dzx
+* @Date: 2024-01-03
+* @Version 1.0
+*/
+@Data
+public class RoomValueWeekItemPeopleVo {
+
+    @ApiModelProperty("男生留宿人数")
+    private Integer maleStudents;
+
+    @ApiModelProperty("女生留宿人数")
+    private Integer femaleStudents;
+
+}

+ 4 - 1
src/main/java/com/xjrsoft/module/textbook/dto/TextbookPageDto.java

@@ -43,7 +43,10 @@ public class TextbookPageDto extends PageInput {
     @ApiModelProperty("书号")
     public String issn;
 
-    @ApiModelProperty("出版社")
+    @ApiModelProperty("主编")
     public String editorInChief;
 
+    @ApiModelProperty("出版色")
+    public String publishingHouse;
+
 }

+ 2 - 2
src/main/resources/mapper/room/RoomBedMapper.xml

@@ -73,10 +73,10 @@
         AND a2.class_id = t1.id
         )
         <if test="dto.gradeId != null">
-            and t1.grade_id = #{dto.gradeId}
+            and a2.grade_id = #{dto.gradeId}
         </if>
         <if test="dto.classId != null">
-            and t1.class_id = #{dto.classId}
+            and a2.class_id = #{dto.classId}
         </if>
     </select>
     <select id="getDistributeRoomBedInfo" parameterType="com.xjrsoft.module.room.dto.DistributeRoomBedPageDto" resultType="com.xjrsoft.module.room.vo.DistributeRoomBedPageVo">

+ 5 - 2
src/main/resources/mapper/room/RoomValueWeekItemMapper.xml

@@ -4,7 +4,7 @@
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.xjrsoft.module.room.mapper.RoomValueWeekItemMapper">
     <select id="getItemList" parameterType="com.xjrsoft.module.room.dto.RoomValueWeekPageDto" resultType="com.xjrsoft.module.room.vo.RoomValueWeekPageVo">
-        SELECT t1.id,t2.sort_code,t2.start_time,t2.end_time,t3.name as user_name,t1.post_name,t1.room_type,t1.number_people FROM room_value_week_item t1
+        SELECT t1.id,t2.sort_code,t2.start_time,t2.end_time,t1.user_id,t3.name as user_name,t1.post_name,t1.room_type,t1.number_people FROM room_value_week_item t1
         LEFT JOIN room_value_week t2 ON t1.room_value_week_id = t2.id
         LEFT JOIN xjr_user t3 ON t1.user_id = t3.id
         WHERE t2.delete_mark = 0 AND t1.delete_mark = 0
@@ -14,9 +14,12 @@
         <if test="dto.endTime != null">
             and #{dto.endTime} >= t2.end_time
         </if>
-        <if test="dto.userId != null and dto.userId != ''">
+        <if test="dto.userId != null">
             and t3.id = #{dto.userId}
         </if>
+        <if test="dto.userName != null and dto.userName != ''">
+            and t3.name like concat('%', #{dto.userId}, '%')
+        </if>
         <if test="dto.roomType != null and dto.roomType != ''">
             and t1.room_type = #{dto.roomType}
         </if>

+ 3 - 0
src/main/resources/mapper/textbook/TextbookMapper.xml

@@ -45,6 +45,9 @@
         <if test="dto.editorInChief != null and dto.editorInChief != ''">
             and t1.editor_in_chief like concat('%', #{dto.editorInChief}, '%')
         </if>
+        <if test="dto.publishingHouse != null and dto.publishingHouse != ''">
+            and t1.publishing_house like concat('%', #{dto.publishingHouse}, '%')
+        </if>
     </select>
 
     <select id="subscriptionList" resultType="com.xjrsoft.module.textbook.vo.TextbookSubscriptionRecordVo">