From fe6abde400c8f68c4af1807cc307c4c5cbd8547c Mon Sep 17 00:00:00 2001 From: 李林 <z1292839451@163.com> Date: 星期三, 26 六月 2024 11:28:36 +0800 Subject: [PATCH] 域名更换、下单找项目sql语句=变like --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java | 65 +++++++++++++++++++++++++++----- 1 files changed, 54 insertions(+), 11 deletions(-) diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java index 66ca4aa..d3a90b4 100644 --- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java +++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java @@ -1,9 +1,11 @@ package com.yuanchu.mom.service.impl; +import cn.hutool.core.lang.Console; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -57,17 +59,21 @@ @Override public List<StandardProductList> selectStandardProductList(InsSample insSample) { String[] models = insSample.getModel().split("-(?=[^-]*$)");//鎷嗗垎鏈�鍚庝竴涓��-銆� - String[] factorys = insSample.getFactory().split(" - "); - List<StandardProductList> list = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, insSample.getStandardMethodListId()).eq(StandardProductList::getState, 1).eq(StandardProductList::getModel, models[0]).eq(StandardProductList::getSampleType, factorys[2])); +// String[] factorys = insSample.getFactory().split(" - "); + //List<StandardProductList> list = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, insSample.getStandardMethodListId()).eq(StandardProductList::getState, 1).eq(StandardProductList::getModel, models[0]).eq(StandardProductList::getSampleType, factorys[2])); + List<StandardProductList> list = standardProductListMapper.selectDetail(insSample.getStandardMethodListId(), 1, models[0]); if (list.size() == 0) { if (Objects.equals(insSample.getFactory(), "") || insSample.getFactory() == null) { return null; } String[] split = insSample.getFactory().split(" - "); - list = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() + String tree = split[0] + " - " + split[1] + " - " + split[2] + " - " + split[3]; + list = standardProductListMapper.selectDetail2(insSample.getStandardMethodListId(), 1, tree); + /* list = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() .eq(StandardProductList::getStandardMethodListId, insSample.getStandardMethodListId()) .eq(StandardProductList::getState, 1) - .like(StandardProductList::getTree, split[0] + " - " + split[1] + " - " + split[2] + " - " + split[3])); + .like(StandardProductList::getTree, split[0] + " - " + split[1] + " - " + split[2] + " - " + split[3]));*/ + } list = list.stream().filter(a -> { try { @@ -314,7 +320,7 @@ && Objects.equals((sp.getInspectionItemSubclass() == null) ? "" : sp.getInspectionItemSubclass(), pl.getInspectionItemSubclass() == null ? "" : pl.getInspectionItemSubclass()) // && Objects.equals(sp.getSample(), pl.getSample()) && Objects.equals(sp.getModel(), pl.getModel()) - && sp.getTree().indexOf(pl.getSample()==null?"null":pl.getSample())>-1 + && sp.getTree().indexOf(pl.getSample() == null ? "null" : pl.getSample()) > -1 && Objects.equals(sp.getStructureItemParameterId(), pl.getStructureItemParameterId())) { pl.setId(sp.getId()); if (sp.getState() != null && !sp.getState().equals("")) { @@ -373,6 +379,25 @@ }); } Map<String, Object> map = new HashMap<>(); + Collections.sort(list, (o1, o2) -> { + String field1 = o1.getManHourGroup(); + String field2 = o2.getManHourGroup(); + + boolean isEmpty1 = field1 == null || field1.isEmpty(); + boolean isEmpty2 = field2 == null || field2.isEmpty(); + + if (isEmpty1 && isEmpty2) { + return 0; + } else if (isEmpty1) { + return 1; + } else if (isEmpty2) { + return -1; + } else { + int num1 = extractNumber(field1); + int num2 = extractNumber(field2); + return Integer.compare(num1, num2); + } + }); try { map.put("productList", list.subList((page - 1) * 50, page * 50)); } catch (IndexOutOfBoundsException e) { @@ -380,6 +405,15 @@ } map.put("total", list.size()); return map; + } + + private int extractNumber(String s) { + // 浠庡瓧绗︿覆涓彁鍙栨暟瀛楃殑閫昏緫锛岃繖閲屽亣璁惧瓧娈电殑鏍煎紡鏄� "text<number>" + String number = s; + if (!s.matches("\\d+")) { + number = s.replaceAll("\\D", ""); + } + return Integer.parseInt(number); } @Override @@ -391,18 +425,27 @@ } @Override - public Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree) { + public Map<String, List<?>> selectStandardProductEnumByMethodId(Integer id, String tree, String item) { HashMap<String, List<?>> map = new HashMap<>(); map.put("item", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() .eq(StandardProductList::getStandardMethodListId, id) .like(StandardProductList::getTree, tree) .select(StandardProductList::getInspectionItem) .groupBy(StandardProductList::getInspectionItem))); - map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() - .eq(StandardProductList::getStandardMethodListId, id) - .like(StandardProductList::getTree, tree) - .select(StandardProductList::getInspectionItemSubclass) - .groupBy(StandardProductList::getInspectionItemSubclass))); + if (ObjectUtils.isNotEmpty(item)) { + map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() + .eq(StandardProductList::getStandardMethodListId, id) + .eq(StandardProductList::getInspectionItem, item) + .like(StandardProductList::getTree, tree) + .select(StandardProductList::getInspectionItemSubclass) + .groupBy(StandardProductList::getInspectionItemSubclass))); + } else { + map.put("items", standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery() + .eq(StandardProductList::getStandardMethodListId, id) + .like(StandardProductList::getTree, tree) + .select(StandardProductList::getInspectionItemSubclass) + .groupBy(StandardProductList::getInspectionItemSubclass))); + } return map; } } -- Gitblit v1.9.3