From 7a741704d3a3a76f8a8ff36060accada00d42898 Mon Sep 17 00:00:00 2001 From: zhangzhiqiang Date: Thu, 1 Dec 2022 11:12:20 +0800 Subject: [PATCH] =?UTF-8?q?mdf:=E7=B2=89=E6=96=99=E5=BC=80=E5=8D=95?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=E5=90=8E=E7=AB=AF=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/PowderOrderQueryServiceImpl.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/PowderOrderQueryServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/PowderOrderQueryServiceImpl.java index a02e14ae..ccf67599 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/PowderOrderQueryServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/statistics/service/impl/PowderOrderQueryServiceImpl.java @@ -17,6 +17,7 @@ import org.nl.wql.core.bean.WQLObject; import org.nl.wql.util.WqlUtil; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; +import org.springframework.util.CollectionUtils; import javax.servlet.http.HttpServletResponse; import java.io.IOException; @@ -61,15 +62,21 @@ public class PowderOrderQueryServiceImpl implements PowderOrderQueryService { String formula_id = json.getString("formula_id"); // 根据配方主表id查找明细 JSONArray dtlArr = WQL.getWO("QP_POWDERORDERQUERY01").addParam("flag", "3").addParam("formula_id", formula_id).process().getResultJSONArray(0); + JSONArray formulaDtlArrays = WQLObject.getWQLObject("PDM_BI_FormulaDtl").query("formula_id ='" + formula_id+"'").getResultJSONArray(0); + Map> formulaDtlBymId = formulaDtlArrays.stream().collect(Collectors.groupingBy(a -> { + JSONObject object = (JSONObject) a; + return object.getString("material_id"); + })); for (int j = 0; j < dtlArr.size(); j++) { JSONObject jsonDtl = dtlArr.getJSONObject(j); - JSONArray arr = WQLObject.getWQLObject("PDM_BI_FormulaDtl").query("formula_id ='" + formula_id + "' and material_id ='" + jsonDtl.getString("material_id") + "'").getResultJSONArray(0); +// JSONArray arr = WQLObject.getWQLObject("PDM_BI_FormulaDtl").query("formula_id ='" + formula_id + "' and material_id ='" + jsonDtl.getString("material_id") + "'").getResultJSONArray(0); + List mIdFormulaDtl = formulaDtlBymId.get(jsonDtl.getString("material_id")); jsonResult.put(jsonDtl.getString("material_id")+"",jsonDtl.getString("material_name")); - if (arr.size() > 1) { + if (!CollectionUtils.isEmpty(mIdFormulaDtl)) { String resPcsn = ""; String formula_qty = ""; - for (int k = 0; k < arr.size(); k++) { - JSONObject jsonObject = arr.getJSONObject(k); + for (int k = 0; k < mIdFormulaDtl.size(); k++) { + JSONObject jsonObject = (JSONObject)mIdFormulaDtl.get(k); resPcsn = resPcsn + jsonObject.getString("pcsn") + "+"; formula_qty = formula_qty + NumberUtil.round(jsonObject.getDouble("formula_qty"),3)+"+"; }