|
|
@@ -1,9 +1,13 @@
|
|
|
package com.xjrsoft.module.outint.controller;
|
|
|
|
|
|
import cn.dev33.satoken.annotation.SaCheckPermission;
|
|
|
+import cn.dev33.satoken.stp.StpUtil;
|
|
|
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;
|
|
|
@@ -15,6 +19,12 @@ import com.xjrsoft.module.outint.entity.CarOutInRecord;
|
|
|
import com.xjrsoft.module.outint.service.ICarOutInRecordService;
|
|
|
import com.xjrsoft.module.outint.vo.CarOutInRecordPageVo;
|
|
|
import com.xjrsoft.module.outint.vo.CarOutInRecordVo;
|
|
|
+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.entity.StundentFaceProcess;
|
|
|
+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;
|
|
|
@@ -50,11 +60,25 @@ public class CarOutInRecordController {
|
|
|
@SaCheckPermission("caroutinrecord:detail")
|
|
|
public RT<PageOutput<CarOutInRecordPageVo>> page(@Valid CarOutInRecordPageDto dto){
|
|
|
|
|
|
- LambdaQueryWrapper<CarOutInRecord> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper
|
|
|
- .orderByDesc(CarOutInRecord::getId)
|
|
|
- .select(CarOutInRecord.class,x -> VoToColumnUtil.fieldsToColumns(CarOutInRecordPageVo.class).contains(x.getProperty()));
|
|
|
- IPage<CarOutInRecord> page = carOutInRecordService.page(ConventPage.getPage(dto), queryWrapper);
|
|
|
+ IPage<CarOutInRecordPageVo> page = carOutInRecordService.selectJoinListPage(ConventPage.getPage(dto),CarOutInRecordPageVo.class,
|
|
|
+ MPJWrappers.<CarOutInRecord>lambdaJoin()
|
|
|
+ .orderByDesc(CarOutInRecord::getId)
|
|
|
+ .ge(ObjectUtil.isNotNull(dto.getStartTime()),CarOutInRecord::getRecordTime,dto.getStartTime())
|
|
|
+ .le(ObjectUtil.isNotNull(dto.getEndTime()),CarOutInRecord::getRecordTime,dto.getEndTime())
|
|
|
+ .eq(ObjectUtil.isNotNull(dto.getCategory()), CarOutInRecord::getCategory, dto.getCategory())
|
|
|
+ .eq(ObjectUtil.isNotNull(dto.getStatus()), CarOutInRecord::getStatus, dto.getStatus())
|
|
|
+ .eq(ObjectUtil.isNotNull(dto.getVehicleType()), CarMessageApply::getVehicleType, dto.getVehicleType())
|
|
|
+ .like(StrUtil.isNotBlank(dto.getName()), ReservationSchoolPeople::getName,dto.getName())
|
|
|
+ .like(StrUtil.isNotBlank(dto.getPhone()),ReservationSchoolPeople::getPhone,dto.getPhone())
|
|
|
+ .select(CarOutInRecord::getId)
|
|
|
+ .select(ReservationSchoolPeople::getPhone,ReservationSchoolPeople::getGender,ReservationSchoolPeople::getName,ReservationSchoolPeople::getIdentityCard,ReservationSchoolPeople::getPlateNumber)
|
|
|
+ .select(CarOutInRecord.class,x -> VoToColumnUtil.fieldsToColumns(CarOutInRecordPageVo.class).contains(x.getProperty()))
|
|
|
+ .select(CarMessageApply::getVehicleType)
|
|
|
+ .leftJoin(ReservationSchoolPeople.class,ReservationSchoolPeople::getId,CarOutInRecord::getReservationSchoolPeopleId)
|
|
|
+ .leftJoin(CarMessageApply.class,CarMessageApply::getId,CarOutInRecord::getCarMessageApplyId)
|
|
|
+ .leftJoin(File.class,File::getFolderId, CarOutInRecord::getFacePhoto,ext->ext.selectAs(File::getFileUrl,CarOutInRecordPageVo::getFacePhotoUrl))
|
|
|
+ );
|
|
|
+
|
|
|
PageOutput<CarOutInRecordPageVo> pageOutput = ConventPage.getPageOutput(page, CarOutInRecordPageVo.class);
|
|
|
return RT.ok(pageOutput);
|
|
|
}
|