Bläddra i källkod

留宿管理导出

phoenix 1 år sedan
förälder
incheckning
706b8b9788

+ 2 - 1
src/main/java/com/xjrsoft/module/liteflow/node/AddTextbookNode.java

@@ -12,7 +12,8 @@ import java.util.Map;
  * 添加新出现的教材数据到教材管理
  */
 @Component("add_textbook_node")
-public class AddTextbookNode extends NodeComponent {
+public class
+AddTextbookNode extends NodeComponent {
     @Autowired
     private ITextbookService textbookService;
 

+ 13 - 3
src/main/java/com/xjrsoft/module/room/controller/WfRoomStayOvernightController.java

@@ -27,7 +27,6 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -111,9 +110,20 @@ public class WfRoomStayOvernightController {
     @GetMapping("/export")
     @ApiOperation(value = "导出")
     public ResponseEntity<byte[]> exportData(@Valid WfRoomStayOvernightPageDto dto, @RequestParam(defaultValue = "false") Boolean isTemplate) {
-        List<WfRoomStayOvernightPageVo> customerList = isTemplate != null && isTemplate ? new ArrayList<>() : ((PageOutput<WfRoomStayOvernightPageVo>) page(dto).getData()).getList();
+        MPJLambdaWrapper<WfRoomStayOvernight> queryWrapper = new MPJLambdaWrapper<>();
+        queryWrapper
+                .disableSubLogicDel()
+                .leftJoin(XjrUser.class,XjrUser::getId,WfRoomStayOvernight::getApplicantUserId,ext1->ext1
+                        .selectAs(XjrUser::getName,WfRoomStayOvernightVo::getApplicantUserIdCN))
+                .leftJoin(XjrUser.class,XjrUser::getId,WfRoomStayOvernight::getHeadTeacherId,ext2->ext2
+                        .selectAs(XjrUser::getName,WfRoomStayOvernightVo::getHeadTeacherIdCN))
+                .orderByDesc(WfRoomStayOvernight::getId)
+                .select(WfRoomStayOvernight::getId)
+                .select(WfRoomStayOvernight.class,x -> VoToColumnUtil.fieldsToColumns(WfRoomStayOvernightVo.class).contains(x.getProperty()));
+        List<WfRoomStayOvernightVo> wfRoomStayOvernightVoList = wfRoomStayOvernightService.selectJoinList(WfRoomStayOvernightVo.class, queryWrapper);
+
         ByteArrayOutputStream bot = new ByteArrayOutputStream();
-        EasyExcel.write(bot, WfRoomStayOvernightPageVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet().doWrite(customerList);
+        EasyExcel.write(bot, WfRoomStayOvernightVo.class).automaticMergeHead(false).excelType(ExcelTypeEnum.XLSX).sheet("WfRoomStayOvernight").doWrite(wfRoomStayOvernightVoList);
 
         return RT.fileStream(bot.toByteArray(), "WfRoomStayOvernight" + ExcelTypeEnum.XLSX.getValue());
     }

+ 8 - 0
src/main/java/com/xjrsoft/module/room/service/impl/RoomBedCheckRecordServiceImpl.java

@@ -11,10 +11,12 @@ import com.xjrsoft.common.utils.VoToColumnUtil;
 import com.xjrsoft.module.base.entity.BaseClass;
 import com.xjrsoft.module.base.entity.BaseOfficeBuild;
 import com.xjrsoft.module.room.dto.RoomBedCheckRecordPageDto;
+import com.xjrsoft.module.room.entity.Room;
 import com.xjrsoft.module.room.entity.RoomBedCheckRecord;
 import com.xjrsoft.module.room.entity.RoomBedCheckRecordRelation;
 import com.xjrsoft.module.room.mapper.RoomBedCheckRecordMapper;
 import com.xjrsoft.module.room.mapper.RoomBedCheckRecordRelationMapper;
+import com.xjrsoft.module.room.mapper.RoomMapper;
 import com.xjrsoft.module.room.service.IRoomBedCheckRecordService;
 import com.xjrsoft.module.room.vo.RoomBedCheckRecordPageVo;
 import com.xjrsoft.module.room.vo.RoomBedCheckRecordRelationVo;
@@ -45,6 +47,8 @@ public class RoomBedCheckRecordServiceImpl extends MPJBaseServiceImpl<RoomBedChe
 
     private final IFileService fileService;
 
+    private final RoomMapper roomMapper;
+
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -52,6 +56,10 @@ public class RoomBedCheckRecordServiceImpl extends MPJBaseServiceImpl<RoomBedChe
         roomBedCheckRecordRoomBedCheckRecordMapper.insert(roomBedCheckRecord);
         for (RoomBedCheckRecordRelation roomBedCheckRecordRelation : roomBedCheckRecord.getRoomBedCheckRecordRelationList()) {
             roomBedCheckRecordRelation.setRoomBedCheckRecordId(roomBedCheckRecord.getId());
+            Room room = roomMapper.selectById(roomBedCheckRecordRelation.getRoomId());
+            roomBedCheckRecordRelation.setRoomName(room.getRoomName());
+            roomBedCheckRecordRelation.setFloorNumber(room.getFloorNumber());
+            roomBedCheckRecordRelation.setOfficeBuildId(room.getOfficeBuildId());
             roomBedCheckRecordRoomBedCheckRecordRelationMapper.insert(roomBedCheckRecordRelation);
         }
 

+ 64 - 6
src/main/java/com/xjrsoft/module/room/vo/WfRoomStayOvernightVo.java

@@ -1,13 +1,13 @@
 package com.xjrsoft.module.room.vo;
 
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
+import com.alibaba.excel.annotation.write.style.HeadFontStyle;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import java.time.LocalTime;
 import java.time.LocalDateTime;
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Date;
 
 /**
 * @title: 留校住宿申请表单出参
@@ -33,11 +33,29 @@ public class WfRoomStayOvernightVo {
     */
     @ApiModelProperty("申请人")
     private Long applicantUserId;
+    /**
+     * 申请人姓名
+     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("申请人姓名")
+    @ApiModelProperty("申请人姓名")
+    private String applicantUserIdCN;
     /**
     * 班主任用户编号
     */
     @ApiModelProperty("班主任用户编号")
     private Long headTeacherId;
+    /**
+     * 班主任姓名
+     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("班主任用户编号")
+    @ApiModelProperty("班主任姓名")
+    private String headTeacherIdCN;
     /**
     * 寝室编号(room)
     */
@@ -46,51 +64,91 @@ public class WfRoomStayOvernightVo {
     /**
     * 寝室+床位名称
     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("寝室+床位名称")
     @ApiModelProperty("寝室+床位名称")
     private String roomBedNumber;
     /**
     * 学号
     */
+    @ColumnWidth(20)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("学号")
     @ApiModelProperty("学号")
     private String studentId;
     /**
     * 性别
     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("性别")
     @ApiModelProperty("性别")
     private String genderName;
     /**
     * 班级
     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("班级")
     @ApiModelProperty("班级")
     private String className;
     /**
     * 开始时间
     */
+    @ColumnWidth(20)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("开始时间")
     @ApiModelProperty("开始时间")
-    private Date startTime;
+    private LocalDateTime startTime;
     /**
     * 结束时间
     */
+    @ColumnWidth(20)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("结束时间")
     @ApiModelProperty("结束时间")
-    private Date endTime;
+    private LocalDateTime endTime;
     /**
     * 时长(天)
     */
+    @ColumnWidth(10)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("时长(天)")
     @ApiModelProperty("时长(天)")
     private Integer duration;
     /**
     * 联系电话
     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("联系电话")
     @ApiModelProperty("联系电话")
     private String mobile;
     /**
     * 监护人电话
     */
+    @ColumnWidth(15)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("监护人电话")
     @ApiModelProperty("监护人电话")
     private String guardianMobile;
     /**
     * 备注
     */
+    @ColumnWidth(20)
+    @HeadFontStyle(color = 9)
+    @ContentStyle(dataFormat = 60)
+    @ExcelProperty("备注")
     @ApiModelProperty("备注")
     private String remark;
     /**

+ 8 - 1
src/main/java/com/xjrsoft/module/textbook/service/impl/TextbookServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 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.ExerciseBookeTypeEnum;
 import com.xjrsoft.common.enums.SubscriptionTypeEnum;
 import com.xjrsoft.common.enums.TextbookTypeEnum;
 import com.xjrsoft.common.enums.WarehouseModeEnum;
@@ -301,7 +302,13 @@ public class TextbookServiceImpl extends MPJBaseServiceImpl<TextbookMapper, Text
                 if (ObjectUtil.isNull(textbookList) || textbookList.size() == 0) {
                     Textbook textbook = new Textbook() {{
                         setBaseSemesterId(wfExerciseBook.getBaseSemesterId());
-                        setBookName(wfExerciseBookItem.getSubscriptionType());
+                        if(ObjectUtil.isNotNull(wfExerciseBookItem.getSubscriptionType()) && wfExerciseBookItem.getSubscriptionType().equals(ExerciseBookeTypeEnum.ExerciseBook1.getCode())){
+                            setBookName(ExerciseBookeTypeEnum.ExerciseBook1.getValue());
+                        }
+                        if(ObjectUtil.isNotNull(wfExerciseBookItem.getSubscriptionType()) && wfExerciseBookItem.getSubscriptionType().equals(ExerciseBookeTypeEnum.ExerciseBook2.getCode())){
+                            setBookName(ExerciseBookeTypeEnum.ExerciseBook2.getValue());
+                        }
+
                         setTextbookType(TextbookTypeEnum.TExerciseBook.getCode());
                         //年级id
                         if (ObjectUtil.isNotNull(wfExerciseBook.getClassId()) && wfExerciseBook.getClassId() > 0){

+ 1 - 1
src/test/java/com/xjrsoft/module/textbook/service/impl/TextbookServiceImplTest.java

@@ -18,7 +18,7 @@ class TextbookServiceImplTest {
 
     @Test
     void dataHandleAddTextbookNode() {
-        textbookService.dataHandleAddTextbookNode(1742830195832844288L);
+        textbookService.dataHandleAddTextbookNode(1742828225583706112L);
     }
 
     @Test