From 14b0f84370eaa3500e1fbdb560592a7a5e2bf1e3 Mon Sep 17 00:00:00 2001 From: zss <zss@example.com> Date: 星期五, 07 六月 2024 10:43:37 +0800 Subject: [PATCH] 光纤配置的报告生产 --- inspect-server/src/main/java/com/yuanchu/mom/service/impl/StandardProductListServiceImpl.java | 72 ++++++++++++++++++++++------------- 1 files changed, 45 insertions(+), 27 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 416e151..d363088 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 @@ -56,7 +56,14 @@ String[] models = insSample.getModel().split("-(?=[^-]*$)");//鎷嗗垎鏈�鍚庝竴涓��-銆� List<StandardProductList> list = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, insSample.getStandardMethodListId()).eq(StandardProductList::getState, 1).eq(StandardProductList::getModel, models[0])); if (list.size() == 0) { - list = standardProductListMapper.selectList(Wrappers.<StandardProductList>lambdaQuery().eq(StandardProductList::getStandardMethodListId, insSample.getStandardMethodListId()).eq(StandardProductList::getState, 1)); + if(Objects.equals(insSample.getFactory(), "") || insSample.getFactory() == null){ + return null; + } + String[] split = insSample.getFactory().split(" - "); + 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])); } list = list.stream().filter(a -> { try { @@ -66,34 +73,25 @@ List<String> tells = JSON.parseArray(a.getTell(), String.class); List<String> manHours = JSON.parseArray(a.getManHour(), String.class); List<String> prices = JSON.parseArray(a.getPrice(), String.class); - boolean isIf = false; + boolean isIf; for (int i = 0; i < sections.size(); i++) { - if (sections.get(i).contains("&")) { - String[] split = sections.get(i).split("&"); - isIf = new BigDecimal(models[1]).compareTo(new BigDecimal(split[0])) > -1 && new BigDecimal(models[1]).compareTo(new BigDecimal(split[1])) < 1; - } else if (sections.get(i).contains("鈮�") || sections.get(i).contains(">=")) { - String param = sections.get(i).replace("鈮�", "").replace(">=", ""); - isIf = new BigDecimal(models[1]).compareTo(new BigDecimal(param)) > -1; - } else if (sections.get(i).contains("鈮�") || sections.get(i).contains("<=")) { - String param = sections.get(i).replace("鈮�", "").replace("<=", ""); - isIf = new BigDecimal(models[1]).compareTo(new BigDecimal(param)) < 1; - } else if (sections.get(i).contains(">")) { - String param = sections.get(i).replace(">", ""); - isIf = new BigDecimal(models[1]).compareTo(new BigDecimal(param)) > 0; - } else if (sections.get(i).contains("<")) { - String param = sections.get(i).replace("<", ""); - isIf = new BigDecimal(models[1]).compareTo(new BigDecimal(param)) < 0; - } else if (sections.get(i).contains("=")) { - String param = sections.get(i).replace("=", ""); - isIf = new BigDecimal(models[1]).compareTo(new BigDecimal(param)) == 0; - } - if (isIf) { - a.setSection(sections.get(i)); - a.setAsk(asks.get(i)); - a.setTell(tells.get(i)); - a.setPrice(prices.get(i)); - a.setManHour(manHours.get(i)); + if(Objects.equals(a.getBsm(), "1")){ return true; + }else{ + if (sections.get(i).contains("&")) { + String[] split = sections.get(i).split("&"); + isIf = getIsIf(split[0], models[1]) && getIsIf(split[1], models[1]); + } else { + isIf = getIsIf(sections.get(i), models[1]); + } + if (isIf) { + a.setSection(sections.get(i)); + a.setAsk(asks.get(i)); + a.setTell(tells.get(i)); + a.setPrice(prices.get(i)); + a.setManHour(manHours.get(i)); + return true; + } } } return false; @@ -106,6 +104,26 @@ return list; } + private boolean getIsIf(String str, String model){ + if (str.contains("鈮�") || str.contains(">=")) { + String param = str.replace("鈮�", "").replace(">=", ""); + return new BigDecimal(model).compareTo(new BigDecimal(param)) > -1; + } else if (str.contains("鈮�") || str.contains("<=")) { + String param = str.replace("鈮�", "").replace("<=", ""); + return new BigDecimal(model).compareTo(new BigDecimal(param)) < 1; + } else if (str.contains(">")||str.contains("锛�")) { + String param = str.replace(">", "").replace("锛�", ""); + return new BigDecimal(model).compareTo(new BigDecimal(param)) > 0; + } else if (str.contains("<")||str.contains("锛�")) { + String param = str.replace("<", "").replace("锛�", ""); + return new BigDecimal(model).compareTo(new BigDecimal(param)) < 0; + } else if (str.contains("=")) { + String param = str.replace("=", ""); + return new BigDecimal(model).compareTo(new BigDecimal(param)) == 0; + } + return false; + } + @Override public Map<String, Object> selectStandardProductListByMethodId(Integer id, String tree, Integer page) { String[] trees = tree.split(" - "); -- Gitblit v1.9.3