From 4ebf483e9e440ff731f2a5b84f5a675430382704 Mon Sep 17 00:00:00 2001 From: zzs Date: Tue, 19 Nov 2024 15:55:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E5=8D=95=E5=B9=B3=E5=8F=B0=EF=BC=9A?= =?UTF-8?q?=E9=85=8D=E4=BB=B6=E4=BB=B7=E6=A0=BC=E6=A0=B9=E6=8D=AE=E5=90=8D?= =?UTF-8?q?=E7=A7=B0=E6=A8=A1=E7=B3=8A=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (cherry picked from commit 04ad4b12d337e361c8d17249498944c687fabde7) --- .../java/com/yem/or/api/AssepcDynamic.java | 85 +++++++++++-------- 1 file changed, 49 insertions(+), 36 deletions(-) diff --git a/src/main/java/com/yem/or/api/AssepcDynamic.java b/src/main/java/com/yem/or/api/AssepcDynamic.java index 6cfc9ad1..b7a85a30 100644 --- a/src/main/java/com/yem/or/api/AssepcDynamic.java +++ b/src/main/java/com/yem/or/api/AssepcDynamic.java @@ -33,6 +33,10 @@ import java.math.BigDecimal; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; /** * @author zhouc @@ -434,8 +438,8 @@ public class AssepcDynamic { List> result = new ArrayList<>(); QFilter qFilter = new QFilter("yem_customer.number", QCP.equals, number); qFilter.and("status", QCP.equals, "C"); - ORM orm = ORM.create(); - DynamicObjectCollection load = orm.query("yem_em_devicefiles", qFilter.toArray()); + String selectfields = DynamicObjectUtil.getSelectfields("yem_em_devicefiles"); + DynamicObjectCollection load = ORM.create().query("yem_em_devicefiles", selectfields + ",id", qFilter.toArray()); for (DynamicObject dynamicObject : load) { Map map = new HashMap<>(); map.put("id", dynamicObject.getPkValue()); @@ -450,7 +454,7 @@ public class AssepcDynamic { DynamicObject group = dynamicObject.getDynamicObject("group"); if (group != null) { map.put("yem_products_number", group.getString("number")); - DynamicObject single = BusinessDataServiceHelper.loadSingle(group.getLong("id"), "yem_em_electronicgroup"); + DynamicObject single = BusinessDataServiceHelper.loadSingleFromCache(group.getLong("id"), "yem_em_electronicgroup", "id, yem_model, yem_modelname, yem_modelenname"); map.put("productnumber", single.getString("yem_model")); map.put("productname", single.getString("yem_modelname")); map.put("productenname", single.getString("yem_modelenname")); @@ -463,7 +467,7 @@ public class AssepcDynamic { map.put("number", dynamicObject.getString("number")); DynamicObject model = dynamicObject.getDynamicObject("yem_model"); if (model != null) { - DynamicObject modelObj = BusinessDataServiceHelper.loadSingle(model.getPkValue(), "yem_bd_basemodelib"); + DynamicObject modelObj = BusinessDataServiceHelper.loadSingleFromCache(model.getPkValue(), "yem_bd_basemodelib", "id, number, yem_zhdescription, yem_endescription"); map.put("yem_modelno", modelObj.getString("number")); String zhdescription = modelObj.getString("yem_zhdescription"); map.put("zhdescription", zhdescription); @@ -500,6 +504,7 @@ public class AssepcDynamic { result.add(map); } + return CustomApiResult.success(result); } @@ -542,51 +547,59 @@ public class AssepcDynamic { @ApiParam("每一页个数") int number) { material = material.trim(); JSONArray jsonArray = new JSONArray(); - QFilter qFilter = new QFilter("yem_productclass.number", QCP.equals, modnumber + "PJ"); - qFilter.and(new QFilter("yem_accessory.yem_material.number", QCP.equals, material)); + QFilter qFilter = new QFilter("yem_productclass.number", QCP.equals, modnumber + "PJ").and(new QFilter("yem_accessory.yem_material.number", QCP.equals, material)); + qFilter.or(new QFilter("yem_productclass.number", QCP.equals, modnumber + "PJ").and(new QFilter("yem_accessory.yem_material.name", QCP.like, "%" + material + "%"))); +// QFilter qFilter = new QFilter("yem_productclass.number", QCP.equals, modnumber + "PJ").and(new QFilter("yem_accessory.yem_material.name", QCP.like, "%" + material + "%")); String selectfield = DynamicObjectUtil.getSelectfields("yem_pricelibrary", false); String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_pricelibrary", "yem_accessory", false); - DynamicObject[] loaded = BusinessDataServiceHelper.load("yem_pricelibrary", selectfields, new QFilter[]{qFilter}, "auditdate desc"); + DynamicObject[] loaded = BusinessDataServiceHelper.load("yem_pricelibrary", selectfields, qFilter.toArray(), "auditdate desc"); JSONObject object = new JSONObject(); - Map map = new HashMap<>(); +// Map map = new HashMap<>(); List stringList = new ArrayList<>(); int i = 0; if (loaded.length > 0) { for (DynamicObject dynamicObject : loaded) { - Date yemBizdate = dynamicObject.getDate("auditdate"); +// Date yemBizdate = dynamicObject.getDate("auditdate"); DynamicObjectCollection dynamicObjectCollection = dynamicObject.getDynamicObjectCollection("yem_accessory"); if (dynamicObjectCollection.size() > 0) { for (DynamicObject collection : dynamicObjectCollection) { DynamicObject yemMaterial = collection.getDynamicObject("yem_material"); - if (yemMaterial != null) { - String yemMaterialString = yemMaterial.getString("number"); - if (map.get(yemMaterialString) == null) { - map.put(yemMaterialString, yemBizdate); - JSONObject jsonObject = new JSONObject(); - int i1 = number * (page - 1); - int i2 = number * page; - stringList.add(yemMaterialString); - String string = ""; - for (String s : stringList) { - if (s.equals(material)) { - string = s; - } - } - if (string.equals(yemMaterialString)) { - if (i >= i1 && i < i2) { - jsonObject.put("material", collection.getString("yem_material.number")); - jsonObject.put("materialename", collection.getString("yem_materialename")); - jsonObject.put("markup", collection.getString("yem_markup")); - jsonObject.put("standsalesprice", collection.getBigDecimal("yem_standsalesprice")); - jsonObject.put("remark_a", collection.getString("yem_remark_a")); - jsonObject.put("easentryid", collection.getString("yem_easentryid")); - jsonArray.add(jsonObject); - } - i++; - } -// jsonObjectS.put("total", i);//总数 +// if (yemMaterial != null) { +// String yemMaterialString = yemMaterial.getString("number"); +// if (map.get(yemMaterialString) == null) { +// map.put(yemMaterialString, yemBizdate); +// JSONObject jsonObject = new JSONObject(); +// int i1 = number * (page - 1); +// int i2 = number * page; +// stringList.add(yemMaterialString); +// String string = ""; +// for (String s : stringList) { +// if (s.equals(material)) { +// string = s; +// } +// } +// if (string.equals(yemMaterialString)) { +// +// } +//// jsonObjectS.put("total", i);//总数 +// } +// } + if (material.equals(yemMaterial.getString("number")) || yemMaterial.getString("name").contains(material)) { + JSONObject jsonObject = new JSONObject(); + int i1 = number * (page - 1); + int i2 = number * page; + if (i >= i1 && i < i2) { + jsonObject.put("material", collection.getString("yem_material.number")); + jsonObject.put("materialename", collection.getString("yem_materialename")); + jsonObject.put("markup", collection.getString("yem_markup")); + jsonObject.put("standsalesprice", collection.getBigDecimal("yem_standsalesprice")); + jsonObject.put("remark_a", collection.getString("yem_remark_a")); + jsonObject.put("easentryid", collection.getString("yem_easentryid")); + jsonArray.add(jsonObject); } + i++; } + } } }