更新动态多条件查询
This commit is contained in:
		| @@ -6,7 +6,7 @@ import com.xkrs.model.entity.DataDict; | ||||
| import com.xkrs.model.qo.DataDictQo; | ||||
| import com.xkrs.model.qo.DataDictUpdateQo; | ||||
| import com.xkrs.service.DataDictService; | ||||
| import com.xkrs.util.Query; | ||||
| import com.xkrs.util.DataDictQuery; | ||||
| import org.springframework.context.i18n.LocaleContextHolder; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
|  | ||||
| @@ -32,7 +32,7 @@ public class DataDictController { | ||||
|     private DataDictDao dataDictDao; | ||||
|  | ||||
|     @Resource | ||||
|     private Query query; | ||||
|     private DataDictQuery dataDictQuery; | ||||
|  | ||||
|     /** | ||||
|      * 添加字典变量数据 | ||||
| @@ -55,7 +55,7 @@ public class DataDictController { | ||||
|     @GetMapping("/selectDataDict") | ||||
|     public String selectDataDict(@RequestParam("inspectionItemName") String inspectionItemName, @RequestParam("inspectionItemCode") String inspectionItemCode) { | ||||
|         Locale locale = LocaleContextHolder.getLocale(); | ||||
|         List<DataDict> dataDict = query.selectDataDict(inspectionItemName, inspectionItemCode); | ||||
|         List<DataDict> dataDict = dataDictQuery.selectDataDict(inspectionItemName, inspectionItemCode); | ||||
|         if (dataDict == null || dataDict.size() == 0) { | ||||
|             return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时还没有该型号类型的字典信息!", locale); | ||||
|         } | ||||
|   | ||||
| @@ -5,13 +5,13 @@ import com.xkrs.encapsulation.PromptMessageEnum; | ||||
| import com.xkrs.model.entity.DataSource; | ||||
| import com.xkrs.model.qo.DataSourceQo; | ||||
| import com.xkrs.service.DataSourceService; | ||||
| import com.xkrs.util.DataSourceQuery; | ||||
| import org.springframework.context.i18n.LocaleContextHolder; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
| import java.util.List; | ||||
| import java.util.Locale; | ||||
| import java.util.Map; | ||||
|  | ||||
| import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject; | ||||
|  | ||||
| @@ -25,6 +25,9 @@ public class DataSourceController { | ||||
|     @Resource | ||||
|     private DataSourceService dataSourceService; | ||||
|  | ||||
|     @Resource | ||||
|     private DataSourceQuery dataSourceQuery; | ||||
|  | ||||
|     @Resource | ||||
|     private DataSourceDao dataSourceDao; | ||||
|  | ||||
| @@ -41,6 +44,7 @@ public class DataSourceController { | ||||
|  | ||||
|     /** | ||||
|      * 查询某一产品的测量信息 | ||||
|      * | ||||
|      * @param lotNo      批次号 | ||||
|      * @param machineNo  机器号 | ||||
|      * @param materialNo 物料号 | ||||
| @@ -49,13 +53,13 @@ public class DataSourceController { | ||||
|      * @return | ||||
|      */ | ||||
|     @GetMapping("/selectDataSource") | ||||
|     public String selectDataSource(@RequestParam("lotNo") String lotNo, | ||||
|                                    @RequestParam("machineNo") String machineNo, | ||||
|                                    @RequestParam("materialNo") String materialNo, | ||||
|                                    @RequestParam("modelNo") String modelNo, | ||||
|                                    @RequestParam("partNo") String partNo) { | ||||
|     public String selectDataSource(@RequestParam(required = false, value = "lotNo") String lotNo, | ||||
|                                    @RequestParam(required = false, value = "machineNo") String machineNo, | ||||
|                                    @RequestParam(required = false, value = "materialNo") String materialNo, | ||||
|                                    @RequestParam(required = false, value = "modelNo") String modelNo, | ||||
|                                    @RequestParam(required = false, value = "partNo") String partNo) { | ||||
|         Locale locale = LocaleContextHolder.getLocale(); | ||||
|         List<DataSource> dataSources = dataSourceDao.selectDataSource(lotNo, machineNo, materialNo, modelNo, partNo); | ||||
|         List<DataSource> dataSources = dataSourceQuery.selectDataSource(lotNo, machineNo, materialNo, modelNo, partNo); | ||||
|         if (dataSources == null || dataSources.size() == 0) { | ||||
|             return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的测量信息!", locale); | ||||
|         } | ||||
| @@ -70,8 +74,8 @@ public class DataSourceController { | ||||
|     @GetMapping("/selectAllSource") | ||||
|     public String selectAllSource() { | ||||
|         Locale locale = LocaleContextHolder.getLocale(); | ||||
|         List<DataSource> dataSources = dataSourceDao.selectAllSource(); | ||||
|         if (dataSources == null || dataSources.size() == 0) { | ||||
|         List<DataSource> dataSources = dataSourceDao.findAll(); | ||||
|         if (dataSources.size() == 0) { | ||||
|             return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的测量信息!", locale); | ||||
|         } | ||||
|         return outputEncapsulationObject(PromptMessageEnum.SUCCESS, dataSources, locale); | ||||
|   | ||||
| @@ -1,18 +1,21 @@ | ||||
| package com.xkrs.controller; | ||||
|  | ||||
| import com.xkrs.dao.PictureDao; | ||||
| import com.xkrs.encapsulation.PromptMessageEnum; | ||||
| import com.xkrs.model.entity.PictureEntity; | ||||
| import com.xkrs.model.qo.PictureQo; | ||||
| import com.xkrs.service.PictureService; | ||||
| import com.xkrs.util.PictureQuery; | ||||
| import org.springframework.context.i18n.LocaleContextHolder; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
| import org.springframework.web.bind.annotation.GetMapping; | ||||
| import org.springframework.web.bind.annotation.PostMapping; | ||||
| import org.springframework.web.bind.annotation.RequestParam; | ||||
| import org.springframework.web.bind.annotation.RestController; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
| import java.io.IOException; | ||||
| import java.util.List; | ||||
| import java.util.Locale; | ||||
| import java.util.Optional; | ||||
|  | ||||
| import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject; | ||||
|  | ||||
| @@ -27,7 +30,7 @@ public class PictureController { | ||||
|     private PictureService pictureService; | ||||
|  | ||||
|     @Resource | ||||
|     private PictureDao pictureDao; | ||||
|     private PictureQuery pictureQuery; | ||||
|  | ||||
|     /** | ||||
|      * 上传图片 | ||||
| @@ -47,10 +50,10 @@ public class PictureController { | ||||
|                                 @RequestParam("modelNo") String modelNo, | ||||
|                                 @RequestParam("partNo") String partNo) { | ||||
|         Locale locale = LocaleContextHolder.getLocale(); | ||||
|         Optional<PictureEntity> pictureEntity1 = pictureDao.selectPicture(lotNo, machineNo, materialNo, modelNo, partNo); | ||||
|         if (pictureEntity1.isEmpty()) { | ||||
|         List<PictureEntity> pictureEntities = pictureQuery.selectPicture(lotNo, machineNo, materialNo, modelNo, partNo); | ||||
|         if (pictureEntities.isEmpty()) { | ||||
|             return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该零件的图片!", locale); | ||||
|         } | ||||
|         return outputEncapsulationObject(PromptMessageEnum.SUCCESS, pictureEntity1.get(), locale); | ||||
|         return outputEncapsulationObject(PromptMessageEnum.SUCCESS, pictureEntities.get(0), locale); | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -1,16 +1,16 @@ | ||||
| package com.xkrs.controller; | ||||
|  | ||||
| import com.xkrs.dao.SpecDao; | ||||
| import com.xkrs.encapsulation.PromptMessageEnum; | ||||
| import com.xkrs.model.entity.SpecEntity; | ||||
| import com.xkrs.model.qo.SpecQo; | ||||
| import com.xkrs.service.SpecService; | ||||
| import com.xkrs.util.SpecQuery; | ||||
| import org.springframework.context.i18n.LocaleContextHolder; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
| import java.util.List; | ||||
| import java.util.Locale; | ||||
| import java.util.Optional; | ||||
|  | ||||
| import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject; | ||||
|  | ||||
| @@ -25,7 +25,7 @@ public class SpecController { | ||||
|     private SpecService specService; | ||||
|  | ||||
|     @Resource | ||||
|     private SpecDao specDao; | ||||
|     private SpecQuery specQuery; | ||||
|  | ||||
|     /** | ||||
|      * 添加规格数据 | ||||
| @@ -41,12 +41,14 @@ public class SpecController { | ||||
|      * 查询规格信息 | ||||
|      */ | ||||
|     @GetMapping("/selectSpec") | ||||
|     public String selectSpec(@RequestParam("partNo") String partNo, @RequestParam("inspectionItemCode") String inspectionItemCode) { | ||||
|     public String selectSpec(@RequestParam(required = false, value = "partNo") String partNo, | ||||
|                              @RequestParam(required = false, value = "inspectionItemCode") String inspectionItemCode) { | ||||
|         Locale locale = LocaleContextHolder.getLocale(); | ||||
|         Optional<SpecEntity> byPartNoAndInspectionItemCode = specDao.findByPartNoAndInspectionItemCode(partNo, inspectionItemCode); | ||||
|         if (byPartNoAndInspectionItemCode.isEmpty()) { | ||||
|         List<SpecEntity> specEntities = specQuery.selectSpec(partNo, inspectionItemCode); | ||||
|         if (specEntities.isEmpty()) { | ||||
|             return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该零件的规格信息!", locale); | ||||
|         } | ||||
|         return outputEncapsulationObject(PromptMessageEnum.SUCCESS, byPartNoAndInspectionItemCode.get(), locale); | ||||
|         return outputEncapsulationObject(PromptMessageEnum.SUCCESS, specEntities.get(0), locale); | ||||
|     } | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -16,24 +16,4 @@ import java.util.Optional; | ||||
| @Component | ||||
| public interface DataSourceDao extends JpaRepository<DataSource, Long>, JpaSpecificationExecutor<DataSource> { | ||||
|  | ||||
|     /** | ||||
|      * 查询测量数据信息 | ||||
|      * | ||||
|      * @param lotNo      批次号 | ||||
|      * @param machineNo  机器号 | ||||
|      * @param materialNo 物料号 | ||||
|      * @param modelNo    模具号 | ||||
|      * @param partNo     零件号 | ||||
|      * @return | ||||
|      */ | ||||
|     @Query(value = "SELECT * FROM qc_inspection_data_source WHERE lot_no = ? AND machine_no = ? AND material_no = ? AND model_no = ? AND part_no = ? ", nativeQuery = true) | ||||
|     List<DataSource> selectDataSource(String lotNo, String machineNo, String materialNo, String modelNo, String partNo); | ||||
|  | ||||
|     /** | ||||
|      * 查询全部的测量信息 | ||||
|      * | ||||
|      * @return | ||||
|      */ | ||||
|     @Query(value = "SELECT * FROM qc_inspection_data_source", nativeQuery = true) | ||||
|     List<DataSource> selectAllSource(); | ||||
| } | ||||
|   | ||||
| @@ -5,6 +5,7 @@ import org.springframework.data.jpa.repository.JpaRepository; | ||||
| import org.springframework.data.jpa.repository.JpaSpecificationExecutor; | ||||
| import org.springframework.stereotype.Component; | ||||
|  | ||||
| import java.util.List; | ||||
| import java.util.Optional; | ||||
|  | ||||
| /** | ||||
| @@ -14,6 +15,4 @@ import java.util.Optional; | ||||
| @Component | ||||
| public interface SpecDao extends JpaRepository<SpecEntity, Long>, JpaSpecificationExecutor<SpecEntity> { | ||||
|  | ||||
|     Optional<SpecEntity> findByPartNoAndInspectionItemCode(String partNo, String inspectionItemCode); | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -1,13 +1,12 @@ | ||||
| package com.xkrs.service.impl; | ||||
|  | ||||
| import com.xkrs.dao.DataDictDao; | ||||
| import com.xkrs.dao.DataSourceDao; | ||||
| import com.xkrs.dao.FileDao; | ||||
| import com.xkrs.encapsulation.PromptMessageEnum; | ||||
| import com.xkrs.model.entity.DataSource; | ||||
| import com.xkrs.model.entity.FileEntity; | ||||
| import com.xkrs.model.qo.FileQo; | ||||
| import com.xkrs.service.FileService; | ||||
| import com.xkrs.util.DataSourceQuery; | ||||
| import com.xkrs.util.ExcelUploadUtil; | ||||
| import com.xkrs.util.ExportExcel; | ||||
| import org.apache.poi.openxml4j.exceptions.InvalidFormatException; | ||||
| @@ -33,10 +32,7 @@ public class FileServiceImpl implements FileService { | ||||
|     private FileDao fileDao; | ||||
|  | ||||
|     @Resource | ||||
|     private DataDictDao dataDictDao; | ||||
|  | ||||
|     @Resource | ||||
|     private DataSourceDao dataSourceDao; | ||||
|     private DataSourceQuery dataSourceQuery; | ||||
|  | ||||
|     /** | ||||
|      * 添加模板信息 | ||||
| @@ -54,7 +50,7 @@ public class FileServiceImpl implements FileService { | ||||
|         if (fileExcel == null) { | ||||
|             return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "模板不能为空!", locale); | ||||
|         } | ||||
|         String file = ExcelUploadUtil.memoryFile(fileExcel,1); | ||||
|         String file = ExcelUploadUtil.memoryFile(fileExcel, 1); | ||||
|         FileEntity fileEntity1 = new FileEntity(); | ||||
|         fileEntity1.setLotNo(fileQo.getLotNo()); | ||||
|         fileEntity1.setMachineNo(fileQo.getMachineNo()); | ||||
| @@ -81,7 +77,7 @@ public class FileServiceImpl implements FileService { | ||||
|             return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的模板,请添加!", locale); | ||||
|         } | ||||
|         String fileUploadPath = fileEntity.get().getFileUploadPath(); | ||||
|         List<DataSource> dataSources = dataSourceDao.selectDataSource(fileQo.getLotNo(), fileQo.getMachineNo(), fileQo.getMaterialNo(), fileQo.getModelNo(), fileQo.getPartNo()); | ||||
|         List<DataSource> dataSources = dataSourceQuery.selectDataSource(fileQo.getLotNo(), fileQo.getMachineNo(), fileQo.getMaterialNo(), fileQo.getModelNo(), fileQo.getPartNo()); | ||||
|         if (dataSources == null || dataSources.size() == 0) { | ||||
|             return outputEncapsulationObject(PromptMessageEnum.DATA_NONE, "暂时没有该产品的信息!", locale); | ||||
|         } | ||||
|   | ||||
| @@ -5,26 +5,30 @@ import com.xkrs.encapsulation.PromptMessageEnum; | ||||
| import com.xkrs.model.entity.SpecEntity; | ||||
| import com.xkrs.model.qo.SpecQo; | ||||
| import com.xkrs.service.SpecService; | ||||
| import com.xkrs.util.SpecQuery; | ||||
| import org.springframework.context.i18n.LocaleContextHolder; | ||||
| import org.springframework.stereotype.Service; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
| import java.util.List; | ||||
| import java.util.Locale; | ||||
| import java.util.Optional; | ||||
|  | ||||
| import static com.xkrs.encapsulation.OutputEncapsulation.outputEncapsulationObject; | ||||
|  | ||||
| @Service | ||||
| public class SpecServiceImpl implements SpecService { | ||||
|  | ||||
|     @Resource | ||||
|     private SpecQuery specQuery; | ||||
|  | ||||
|     @Resource | ||||
|     private SpecDao specDao; | ||||
|  | ||||
|     @Override | ||||
|     public String insertSpec(SpecQo specQo) { | ||||
|         Locale locale = LocaleContextHolder.getLocale(); | ||||
|         Optional<SpecEntity> inspectionItemCode = specDao.findByPartNoAndInspectionItemCode(specQo.getPartNo(), specQo.getInspectionItemCode()); | ||||
|         if (inspectionItemCode.isPresent()) { | ||||
|         List<SpecEntity> specEntities = specQuery.selectSpec(specQo.getPartNo(), specQo.getInspectionItemCode()); | ||||
|         if (!specEntities.isEmpty()) { | ||||
|             return outputEncapsulationObject(PromptMessageEnum.DATA_EXIT, "已存在该测量规格!", locale); | ||||
|         } | ||||
|         SpecEntity specEntity1 = new SpecEntity(); | ||||
|   | ||||
							
								
								
									
										45
									
								
								src/main/java/com/xkrs/util/DataDictQuery.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								src/main/java/com/xkrs/util/DataDictQuery.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| package com.xkrs.util; | ||||
|  | ||||
| import com.xkrs.dao.DataDictDao; | ||||
| import com.xkrs.model.entity.DataDict; | ||||
| import org.springframework.data.jpa.domain.Specification; | ||||
| import org.springframework.stereotype.Component; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
| import javax.persistence.criteria.CriteriaBuilder; | ||||
| import javax.persistence.criteria.CriteriaQuery; | ||||
| import javax.persistence.criteria.Predicate; | ||||
| import javax.persistence.criteria.Root; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * @Author: XinYi Song | ||||
|  * @Date: 2022/1/19 13:56 | ||||
|  */ | ||||
| @Component | ||||
| public class DataDictQuery { | ||||
|  | ||||
|     @Resource | ||||
|     private DataDictDao dataDictDao; | ||||
|  | ||||
|     /** | ||||
|      * 动态多条件查询字典信息 | ||||
|      * | ||||
|      * @return | ||||
|      */ | ||||
|     public List<DataDict> selectDataDict(String inspectionItemName, String inspectionItemCode) { | ||||
|         Specification<DataDict> specification = (root, criteriaQuery, criteriaBuilder) -> { | ||||
|             List<Predicate> list = new ArrayList<>(); | ||||
|             if (inspectionItemName != null && !"".equals(inspectionItemName)) { | ||||
|                 list.add(criteriaBuilder.equal(root.get("inspectionItemName").as(String.class), inspectionItemName)); | ||||
|             } | ||||
|             if (inspectionItemCode != null && !"".equals(inspectionItemCode)) { | ||||
|                 list.add(criteriaBuilder.equal(root.get("inspectionItemCode").as(String.class), inspectionItemCode)); | ||||
|             } | ||||
|             Predicate[] predicates = new Predicate[list.size()]; | ||||
|             return criteriaBuilder.and(list.toArray(predicates)); | ||||
|         }; | ||||
|         return dataDictDao.findAll(specification); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										52
									
								
								src/main/java/com/xkrs/util/DataSourceQuery.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								src/main/java/com/xkrs/util/DataSourceQuery.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| package com.xkrs.util; | ||||
|  | ||||
| import com.xkrs.dao.DataSourceDao; | ||||
| import com.xkrs.model.entity.DataSource; | ||||
| 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 DataSourceQuery { | ||||
|  | ||||
|     @Resource | ||||
|     private DataSourceDao dataSourceDao; | ||||
|  | ||||
|     /** | ||||
|      * 动态多条件查询采集数据信息 | ||||
|      * | ||||
|      * @return | ||||
|      */ | ||||
|     public List<DataSource> selectDataSource(String lotNo, String machineNo, String materialNo, String modelNo, String partNo) { | ||||
|         Specification<DataSource> 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(partNo)) { | ||||
|                 list.add(criteriaBuilder.equal(root.get("partNo").as(String.class), partNo)); | ||||
|             } | ||||
|             Predicate[] predicates = new Predicate[list.size()]; | ||||
|             return criteriaBuilder.and(list.toArray(predicates)); | ||||
|         }; | ||||
|         return dataSourceDao.findAll(specification); | ||||
|     } | ||||
| } | ||||
| @@ -44,13 +44,13 @@ public class ExcelUploadUtil { | ||||
|             String newName = UUID.randomUUID().toString() + suffix; | ||||
|  | ||||
|             //将图片保存到本地/usr/etc/images/Folder | ||||
| //            File file = new File("/Users/liuchengqian/Desktop/DaJiang/"); | ||||
|             File file = new File("/home/sxy/server/industrial_measurement/" + subDir); | ||||
|             File file = new File("/Users/liuchengqian/Desktop/DaJiang/"); | ||||
| //            File file = new File("/home/sxy/server/industrial_measurement/" + subDir); | ||||
|             if (!file.exists()) { | ||||
|                 file.mkdirs(); | ||||
|             } | ||||
| //            String path = "/Users/liuchengqian/Desktop/DaJiang/"+newName; | ||||
|             String path = "/home/sxy/server/industrial_measurement/" + subDir + newName; | ||||
|             String path = "/Users/liuchengqian/Desktop/DaJiang/"+newName; | ||||
| //            String path = "/home/sxy/server/industrial_measurement/" + subDir + newName; | ||||
|             String uploadsImage = uploadPath + newName; | ||||
|             //实现上传 | ||||
|             fileInput.transferTo(new File(path)); | ||||
|   | ||||
							
								
								
									
										52
									
								
								src/main/java/com/xkrs/util/PictureQuery.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								src/main/java/com/xkrs/util/PictureQuery.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,52 @@ | ||||
| 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 partNo) { | ||||
|         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(partNo)) { | ||||
|                 list.add(criteriaBuilder.equal(root.get("partNo").as(String.class), partNo)); | ||||
|             } | ||||
|             Predicate[] predicates = new Predicate[list.size()]; | ||||
|             return criteriaBuilder.and(list.toArray(predicates)); | ||||
|         }; | ||||
|         return pictureDao.findAll(specification); | ||||
|     } | ||||
| } | ||||
| @@ -1,48 +0,0 @@ | ||||
| package com.xkrs.util; | ||||
|  | ||||
| import com.xkrs.dao.DataDictDao; | ||||
| import com.xkrs.model.entity.DataDict; | ||||
| import org.springframework.data.jpa.domain.Specification; | ||||
| import org.springframework.stereotype.Component; | ||||
|  | ||||
| import javax.annotation.Resource; | ||||
| import javax.persistence.criteria.CriteriaBuilder; | ||||
| import javax.persistence.criteria.CriteriaQuery; | ||||
| import javax.persistence.criteria.Predicate; | ||||
| import javax.persistence.criteria.Root; | ||||
| import java.util.ArrayList; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * @Author: XinYi Song | ||||
|  * @Date: 2022/1/19 13:56 | ||||
|  */ | ||||
| @Component | ||||
| public class Query { | ||||
|  | ||||
|     @Resource | ||||
|     private DataDictDao dataDictDao; | ||||
|  | ||||
|     /** | ||||
|      * 动态多条件查询字典信息 | ||||
|      * | ||||
|      * @return | ||||
|      */ | ||||
|     public List<DataDict> selectDataDict(String inspectionItemName, String inspectionItemCode) { | ||||
|         Specification<DataDict> specification = new Specification<DataDict>() { | ||||
|             @Override | ||||
|             public Predicate toPredicate(Root<DataDict> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) { | ||||
|                 List<Predicate> list = new ArrayList<>(); | ||||
|                 if (inspectionItemName != null && !"".equals(inspectionItemName)) { | ||||
|                     list.add(criteriaBuilder.equal(root.get("inspectionItemName").as(String.class), inspectionItemName)); | ||||
|                 } | ||||
|                 if (inspectionItemCode != null && !"".equals(inspectionItemCode)) { | ||||
|                     list.add(criteriaBuilder.equal(root.get("inspectionItemCode").as(String.class), inspectionItemCode)); | ||||
|                 } | ||||
|                 Predicate[] predicates = new Predicate[list.size()]; | ||||
|                 return criteriaBuilder.and(list.toArray(predicates)); | ||||
|             } | ||||
|         }; | ||||
|         return dataDictDao.findAll(specification); | ||||
|     } | ||||
| } | ||||
							
								
								
									
										43
									
								
								src/main/java/com/xkrs/util/SpecQuery.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								src/main/java/com/xkrs/util/SpecQuery.java
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| package com.xkrs.util; | ||||
|  | ||||
| import com.xkrs.dao.SpecDao; | ||||
| import com.xkrs.model.entity.SpecEntity; | ||||
| 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 SpecQuery { | ||||
|  | ||||
|     @Resource | ||||
|     private SpecDao specDao; | ||||
|  | ||||
|     /** | ||||
|      * 动态多条件查询规格信息 | ||||
|      * | ||||
|      * @return | ||||
|      */ | ||||
|     public List<SpecEntity> selectSpec(String partNo, String inspectionItemCode) { | ||||
|         Specification<SpecEntity> specification = (root, criteriaQuery, criteriaBuilder) -> { | ||||
|             List<Predicate> list = new ArrayList<>(); | ||||
|             if (!TextUtils.isEmpty(partNo)) { | ||||
|                 list.add(criteriaBuilder.equal(root.get("partNo").as(String.class), partNo)); | ||||
|             } | ||||
|             if (!TextUtils.isEmpty(inspectionItemCode)) { | ||||
|                 list.add(criteriaBuilder.equal(root.get("inspectionItemCode").as(String.class), inspectionItemCode)); | ||||
|             } | ||||
|             Predicate[] predicates = new Predicate[list.size()]; | ||||
|             return criteriaBuilder.and(list.toArray(predicates)); | ||||
|         }; | ||||
|         return specDao.findAll(specification); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user