.
This commit is contained in:
55
src/main/java/com/xkrs/util/PictureQuery.java
Normal file
55
src/main/java/com/xkrs/util/PictureQuery.java
Normal file
@ -0,0 +1,55 @@
|
||||
package com.xkrs.util;
|
||||
|
||||
import com.xkrs.dao.PictureDao;
|
||||
import com.xkrs.model.entity.PictureEntity;
|
||||
import org.apache.http.util.TextUtils;
|
||||
import org.springframework.data.jpa.domain.Specification;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.persistence.criteria.Predicate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author: XinYi Song
|
||||
* @Date: 2022/1/19 13:56
|
||||
*/
|
||||
@Component
|
||||
public class PictureQuery {
|
||||
|
||||
@Resource
|
||||
private PictureDao pictureDao;
|
||||
|
||||
/**
|
||||
* 动态多条件查询图片信息
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public List<PictureEntity> selectPicture(String lotNo, String machineNo, String materialNo, String modelNo, String machineTypeNo, String craftItemName) {
|
||||
Specification<PictureEntity> specification = (root, criteriaQuery, criteriaBuilder) -> {
|
||||
List<Predicate> list = new ArrayList<>();
|
||||
if (!TextUtils.isEmpty(lotNo)) {
|
||||
list.add(criteriaBuilder.equal(root.get("lotNo").as(String.class), lotNo));
|
||||
}
|
||||
if (!TextUtils.isEmpty(machineNo)) {
|
||||
list.add(criteriaBuilder.equal(root.get("machineNo").as(String.class), machineNo));
|
||||
}
|
||||
if (!TextUtils.isEmpty(materialNo)) {
|
||||
list.add(criteriaBuilder.equal(root.get("materialNo").as(String.class), materialNo));
|
||||
}
|
||||
if (!TextUtils.isEmpty(modelNo)) {
|
||||
list.add(criteriaBuilder.equal(root.get("modelNo").as(String.class), modelNo));
|
||||
}
|
||||
if (!TextUtils.isEmpty(machineTypeNo)) {
|
||||
list.add(criteriaBuilder.equal(root.get("machineTypeNo").as(String.class), machineTypeNo));
|
||||
}
|
||||
if (!TextUtils.isEmpty(craftItemName)) {
|
||||
list.add(criteriaBuilder.equal(root.get("craftItemName").as(String.class), craftItemName));
|
||||
}
|
||||
Predicate[] predicates = new Predicate[list.size()];
|
||||
return criteriaBuilder.and(list.toArray(predicates));
|
||||
};
|
||||
return pictureDao.findAll(specification);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user