From eac83a3efeb78a504b46c1ca5d3b6e964b02b45b Mon Sep 17 00:00:00 2001 From: "zzs01@yunemao.com" Date: Wed, 28 Aug 2024 16:50:32 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=9F=A5=E8=AF=A2=E8=B4=AD=E4=B9=B0?= =?UTF-8?q?=E8=BF=87=E7=9A=84=E4=BA=A7=E5=93=81=E6=9C=BA=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/yem/or/api/AssepcDynamic.java | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/src/main/java/com/yem/or/api/AssepcDynamic.java b/src/main/java/com/yem/or/api/AssepcDynamic.java index 41bdb299..0a1b200a 100644 --- a/src/main/java/com/yem/or/api/AssepcDynamic.java +++ b/src/main/java/com/yem/or/api/AssepcDynamic.java @@ -702,6 +702,7 @@ public class AssepcDynamic { return CustomApiResult.success(rowMap); } + @Deprecated @ApiPostMapping("/assepcdynamic/page/pricelib") public CustomApiResult queryPriceLibPage(@ApiParam("产品机型") String type, @ApiParam("每页个数") int pageSize, @ApiParam("页码") int pageNum) { String algoKey = this.getClass().getName(); @@ -770,4 +771,47 @@ public class AssepcDynamic { int endIndex = Math.min(startIndex + pageSize, rows.size()); return rows.subList(startIndex, endIndex); } + + @ApiPostMapping("bayed_product_model") + public CustomApiResult queryProductModel(@NotBlank @ApiParam(value = "客户编码", example = "116021200012") String customerNo) { + String algoKey = this.getClass().getName(); + QFilter qFilter = new QFilter("status", "=", "C"); + qFilter.and("yem_customer.number", "=", customerNo); + qFilter.and("group", "is not null", null); + ArrayList list = Lists.newArrayList(); + list.add("group.number number"); + list.add("yem_customer"); + DataSet dataSet = ORM.create().queryDataSet(algoKey, "yem_em_devicefiles", String.join(",", list), qFilter.toArray()); + Set set = Sets.newHashSet(); + DynamicObjectCollection collection = ORM.create().toPlainDynamicObjectCollection(dataSet); + for (DynamicObject dynamicObject : collection) { + String number = dynamicObject.getString("number"); + set.add(number); + } + + ArrayList procs = Lists.newArrayList(); + procs.add("number number");//编码 + procs.add("name name");//名称 + procs.add("yem_classification yem_classification");//业务分类 [Z:整机, P:配件] + procs.add("yem_namecn yem_namecn");//英文名称 + procs.add("group.longnumber group_number");//产品类型.长编码 + List> rows = new ArrayList<>(); + if (set.isEmpty()) { + return CustomApiResult.success(rows); + } + QFilter procFilter = new QFilter("status", "=", "C"); + procFilter.and("number", "in", set); + DataSet procDataSet = ORM.create().queryDataSet(algoKey, "yem_bd_productstree", String.join(",", procs), procFilter.toArray()); + DynamicObjectCollection procColl = ORM.create().toPlainDynamicObjectCollection(procDataSet); + for (DynamicObject dynamicObject : procColl) { + HashMap map = Maps.newHashMap(); + map.put("number", dynamicObject.get("number")); + map.put("name", dynamicObject.get("name")); + map.put("yem_classification", dynamicObject.get("yem_classification")); + map.put("yem_namecn", dynamicObject.get("yem_namecn")); + map.put("group_number", dynamicObject.get("group_number")); + rows.add(map); + } + return CustomApiResult.success(rows); + } }