Parcourir la source

修改教师进出记录查询

DESKTOP-USV654P\pc il y a 1 an
Parent
commit
ef51814950

+ 24 - 6
src/main/java/com/xjrsoft/module/outint/controller/TeacherOutInRecordController.java

@@ -2,8 +2,11 @@ package com.xjrsoft.module.outint.controller;
 
 import cn.dev33.satoken.annotation.SaCheckPermission;
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.yulichang.toolkit.MPJWrappers;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
 import com.xjrsoft.common.page.PageOutput;
@@ -12,9 +15,16 @@ import com.xjrsoft.module.outint.dto.AddTeacherOutInRecordDto;
 import com.xjrsoft.module.outint.dto.TeacherOutInRecordPageDto;
 import com.xjrsoft.module.outint.dto.UpdateTeacherOutInRecordDto;
 import com.xjrsoft.module.outint.entity.TeacherOutInRecord;
+import com.xjrsoft.module.outint.entity.VisitorOutInRecord;
 import com.xjrsoft.module.outint.service.ITeacherOutInRecordService;
 import com.xjrsoft.module.outint.vo.TeacherOutInRecordPageVo;
 import com.xjrsoft.module.outint.vo.TeacherOutInRecordVo;
+import com.xjrsoft.module.outint.vo.VisitorOutInRecordPageVo;
+import com.xjrsoft.module.personnel.entity.ReservationSchool;
+import com.xjrsoft.module.personnel.entity.ReservationSchoolPeople;
+import com.xjrsoft.module.system.entity.DictionaryDetail;
+import com.xjrsoft.module.system.entity.File;
+import com.xjrsoft.module.teacher.entity.XjrUser;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -49,12 +59,20 @@ public class TeacherOutInRecordController {
     @ApiOperation(value="教师出入记录列表(分页)")
     @SaCheckPermission("teacheroutinrecord:detail")
     public RT<PageOutput<TeacherOutInRecordPageVo>> page(@Valid TeacherOutInRecordPageDto dto){
-
-        LambdaQueryWrapper<TeacherOutInRecord> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper
-                    .orderByDesc(TeacherOutInRecord::getId)
-                .select(TeacherOutInRecord.class,x -> VoToColumnUtil.fieldsToColumns(TeacherOutInRecordPageVo.class).contains(x.getProperty()));
-        IPage<TeacherOutInRecord> page = teacherOutInRecordService.page(ConventPage.getPage(dto), queryWrapper);
+        IPage<TeacherOutInRecordPageVo> page = teacherOutInRecordService.selectJoinListPage(ConventPage.getPage(dto),TeacherOutInRecordPageVo.class,
+                MPJWrappers.<TeacherOutInRecord>lambdaJoin()
+                        .orderByDesc(TeacherOutInRecord::getId)
+                        .like(StrUtil.isNotBlank(dto.getName()), XjrUser::getName,dto.getName())
+                        .ge(ObjectUtil.isNotNull(dto.getStartTime()),TeacherOutInRecord::getRecordTime,dto.getStartTime()+" 00:00:00")
+                        .le(ObjectUtil.isNotNull(dto.getStartTime()),TeacherOutInRecord::getRecordTime,dto.getStartTime()+" 23:59:59")
+                        .eq(ObjectUtil.isNotNull(dto.getStatus()), TeacherOutInRecord::getStatus, dto.getStatus())
+                        .select(TeacherOutInRecord::getId)
+                        .select(TeacherOutInRecord.class,x -> VoToColumnUtil.fieldsToColumns(TeacherOutInRecordPageVo.class).contains(x.getProperty()))
+                        .select(XjrUser::getName,XjrUser::getMobile,XjrUser::getCredentialNumber)
+                        .leftJoin(XjrUser.class,XjrUser::getId,TeacherOutInRecord::getUserId)
+                        .leftJoin(File.class,File::getFolderId, TeacherOutInRecord::getFacePhoto, ext->ext.selectAs(File::getFileUrl, TeacherOutInRecordPageVo::getFacePhotoUrl))
+                        .leftJoin(DictionaryDetail.class,DictionaryDetail::getCode, XjrUser::getGender, ext->ext.selectAs(DictionaryDetail::getName, TeacherOutInRecordPageVo::getGender))
+        );
         PageOutput<TeacherOutInRecordPageVo> pageOutput = ConventPage.getPageOutput(page, TeacherOutInRecordPageVo.class);
         return RT.ok(pageOutput);
     }

+ 27 - 0
src/main/java/com/xjrsoft/module/outint/dto/TeacherOutInRecordPageDto.java

@@ -1,9 +1,13 @@
 package com.xjrsoft.module.outint.dto;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.xjrsoft.common.page.PageInput;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.time.LocalDateTime;
+
 
 /**
 * @title: 教师出入记录分页查询入参
@@ -14,6 +18,29 @@ import lombok.EqualsAndHashCode;
 @Data
 @EqualsAndHashCode(callSuper = false)
 public class TeacherOutInRecordPageDto extends PageInput {
+    /**
+     * 记录开始时间
+     */
+    @ApiModelProperty("记录开始时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDateTime startTime;
+    /**
+     * 记录开始时间
+     */
+    @ApiModelProperty("记录结束时间")
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    private LocalDateTime endTime;
+
+    /**
+     * 教师名称
+     */
+    @ApiModelProperty("教师名称")
+    private String name;
 
+    /**
+     * 过车方向
+     */
+    @ApiModelProperty("过车方向")
+    private  String status;
 
 }

+ 26 - 0
src/main/java/com/xjrsoft/module/outint/vo/TeacherOutInRecordPageVo.java

@@ -70,4 +70,30 @@ public class TeacherOutInRecordPageVo {
     @ApiModelProperty("进出状态(0:进 1:出)")
     private Integer status;
 
+    /**
+     * 姓名
+     */
+    @ApiModelProperty("姓名")
+    private String name;
+    /**
+     * 身份证号
+     */
+    @ApiModelProperty("身份证号")
+    private String identityCard;
+    /**
+     * 手机号码
+     */
+    @ApiModelProperty("手机号码")
+    private Long phone;
+    /**
+     * 性别
+     */
+    @ApiModelProperty("性别")
+    private String gender;
+    /**
+     * 人脸照片地址
+     */
+    @ApiModelProperty("人脸照片地址")
+    private String facePhotoUrl;
+
 }