|
|
@@ -2,19 +2,32 @@ 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;
|
|
|
import com.xjrsoft.common.utils.VoToColumnUtil;
|
|
|
+import com.xjrsoft.module.organization.entity.Department;
|
|
|
import com.xjrsoft.module.outint.dto.AddVisitorOutInRecordDto;
|
|
|
import com.xjrsoft.module.outint.dto.UpdateVisitorOutInRecordDto;
|
|
|
import com.xjrsoft.module.outint.dto.VisitorOutInRecordPageDto;
|
|
|
+import com.xjrsoft.module.outint.entity.CarOutInRecord;
|
|
|
import com.xjrsoft.module.outint.entity.VisitorOutInRecord;
|
|
|
import com.xjrsoft.module.outint.service.IVisitorOutInRecordService;
|
|
|
+import com.xjrsoft.module.outint.vo.CarOutInRecordPageVo;
|
|
|
import com.xjrsoft.module.outint.vo.VisitorOutInRecordPageVo;
|
|
|
import com.xjrsoft.module.outint.vo.VisitorOutInRecordVo;
|
|
|
+import com.xjrsoft.module.personnel.entity.CarMessageApply;
|
|
|
+import com.xjrsoft.module.personnel.entity.ReservationSchool;
|
|
|
+import com.xjrsoft.module.personnel.entity.ReservationSchoolPeople;
|
|
|
+import com.xjrsoft.module.personnel.vo.ReservationSchoolVisitorPageVo;
|
|
|
+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 +62,29 @@ public class VisitorOutInRecordController {
|
|
|
@ApiOperation(value="访客出入记录列表(分页)")
|
|
|
@SaCheckPermission("visitoroutinrecord:detail")
|
|
|
public RT<PageOutput<VisitorOutInRecordPageVo>> page(@Valid VisitorOutInRecordPageDto dto){
|
|
|
-
|
|
|
- LambdaQueryWrapper<VisitorOutInRecord> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper
|
|
|
- .orderByDesc(VisitorOutInRecord::getId)
|
|
|
- .select(VisitorOutInRecord.class,x -> VoToColumnUtil.fieldsToColumns(VisitorOutInRecordPageVo.class).contains(x.getProperty()));
|
|
|
- IPage<VisitorOutInRecord> page = visitorOutInRecordService.page(ConventPage.getPage(dto), queryWrapper);
|
|
|
+ IPage<VisitorOutInRecordPageVo> page = visitorOutInRecordService.selectJoinListPage(ConventPage.getPage(dto),VisitorOutInRecordPageVo.class,
|
|
|
+ MPJWrappers.<VisitorOutInRecord>lambdaJoin()
|
|
|
+ .orderByDesc(VisitorOutInRecord::getId)
|
|
|
+ .like(StrUtil.isNotBlank(dto.getName()), ReservationSchoolPeople::getName,dto.getName())
|
|
|
+ .like(StrUtil.isNotBlank(dto.getIdentityCard()), ReservationSchoolPeople::getIdentityCard,dto.getIdentityCard())
|
|
|
+ .eq(ObjectUtil.isNotNull(dto.getDeptId())&&dto.getDeptId()!=0, ReservationSchool::getDeptId, dto.getDeptId())
|
|
|
+ .eq(ObjectUtil.isNotNull(dto.getRespondentUserId())&&dto.getRespondentUserId()!=0, ReservationSchool::getRespondentUserId, dto.getRespondentUserId())
|
|
|
+ .ge(ObjectUtil.isNotNull(dto.getStartTime()),VisitorOutInRecord::getRecordTime,dto.getStartTime())
|
|
|
+ .le(ObjectUtil.isNotNull(dto.getEndTime()),VisitorOutInRecord::getRecordTime,dto.getEndTime())
|
|
|
+ .eq(ObjectUtil.isNotNull(dto.getStatus()), VisitorOutInRecord::getStatus, dto.getStatus())
|
|
|
+ .like(StrUtil.isNotBlank(dto.getPlateNumber()),ReservationSchoolPeople::getPlateNumber,dto.getPlateNumber())
|
|
|
+ .select(VisitorOutInRecord.class,x -> VoToColumnUtil.fieldsToColumns(VisitorOutInRecordPageVo.class).contains(x.getProperty()))
|
|
|
+ .select(ReservationSchoolPeople::getName,ReservationSchoolPeople::getIdentityCard,ReservationSchoolPeople::getPhone,ReservationSchoolPeople::getPlateNumber)
|
|
|
+ .select(ReservationSchool::getReason)
|
|
|
+ .leftJoin(ReservationSchoolPeople.class,ReservationSchoolPeople::getId,VisitorOutInRecord::getReservationSchoolPeopleId)
|
|
|
+ .leftJoin(ReservationSchool.class,ReservationSchool::getId,ReservationSchoolPeople::getReservationSchooId)
|
|
|
+
|
|
|
+ .leftJoin(File.class,File::getFolderId, VisitorOutInRecord::getFacePhoto, ext->ext.selectAs(File::getFileUrl, VisitorOutInRecordPageVo::getFacePhotoUrl))
|
|
|
+
|
|
|
+ .leftJoin(XjrUser.class,XjrUser::getId,ReservationSchool::getRespondentUserId,ext->ext.selectAs(XjrUser::getName,VisitorOutInRecordPageVo::getRespondentUserCn))
|
|
|
+ .leftJoin(Department.class,Department::getId,ReservationSchool::getDeptId,ext->ext.selectAs(Department::getName,VisitorOutInRecordPageVo::getDeptCn))
|
|
|
+ .leftJoin(DictionaryDetail.class,DictionaryDetail::getCode, ReservationSchoolPeople::getGender, ext->ext.selectAs(DictionaryDetail::getName, VisitorOutInRecordPageVo::getGender))
|
|
|
+ );
|
|
|
PageOutput<VisitorOutInRecordPageVo> pageOutput = ConventPage.getPageOutput(page, VisitorOutInRecordPageVo.class);
|
|
|
return RT.ok(pageOutput);
|
|
|
}
|