package org.jeecg.modules.dnc.service.impl;
|
|
import cn.hutool.core.util.StrUtil;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.apache.shiro.SecurityUtils;
|
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.system.vo.LoginUser;
|
import org.jeecg.modules.dnc.entity.DeviceCharacters;
|
import org.jeecg.modules.dnc.exception.ExceptionCast;
|
import org.jeecg.modules.dnc.mapper.DeviceCharactersMapper;
|
import org.jeecg.modules.dnc.request.DeviceCharactersRequest;
|
import org.jeecg.modules.dnc.response.CommonCode;
|
import org.jeecg.modules.dnc.service.IDeviceCharactersService;
|
import org.springframework.stereotype.Service;
|
|
import java.util.Arrays;
|
import java.util.List;
|
|
@Service
|
public class DeviceCharactersServiceImpl extends ServiceImpl<DeviceCharactersMapper, DeviceCharacters> implements IDeviceCharactersService {
|
@Override
|
public Result<?> findByPageList(int page, int size, DeviceCharactersRequest deviceCharactersRequest) {
|
|
if(page < 1 || size < 1) {
|
ExceptionCast.cast(CommonCode.INVALID_PAGE);
|
}
|
IPage<DeviceCharacters> pageData = new Page<>(page, size);
|
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
List<String> productIdList = Arrays.asList(user.getProductionIds().split(","));
|
LambdaQueryChainWrapper<DeviceCharacters> lambdaQuery = super.lambdaQuery();
|
if(deviceCharactersRequest != null) {
|
lambdaQuery.like(StrUtil.isNotEmpty(deviceCharactersRequest.getDeviceNo()),DeviceCharacters::getDeviceNo, deviceCharactersRequest.getDeviceNo());
|
lambdaQuery.eq(StrUtil.isNotEmpty(deviceCharactersRequest.getDepartId()),DeviceCharacters::getDepartId, deviceCharactersRequest.getDepartId());
|
lambdaQuery.like(StrUtil.isNotEmpty(deviceCharactersRequest.getControlSystem()),DeviceCharacters::getControlSystem, deviceCharactersRequest.getControlSystem());
|
lambdaQuery.like(StrUtil.isNotEmpty(deviceCharactersRequest.getCharacters()),DeviceCharacters::getCharacters, deviceCharactersRequest.getCharacters());
|
lambdaQuery.ge(StrUtil.isNotEmpty(deviceCharactersRequest.getStartTime()),DeviceCharacters::getCreateTime,deviceCharactersRequest.getStartTime());
|
lambdaQuery.le(StrUtil.isNotEmpty(deviceCharactersRequest.getEndTime()),DeviceCharacters::getCreateTime,deviceCharactersRequest.getEndTime());
|
}
|
lambdaQuery.in(DeviceCharacters::getDepartId, productIdList);
|
lambdaQuery.orderByDesc(DeviceCharacters::getCreateTime);
|
IPage<DeviceCharacters> userIPage = lambdaQuery.page(pageData);
|
return Result.ok(userIPage);
|
}
|
}
|