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<Object> 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<Object> 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<String> 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<String> set = Sets.newHashSet(); + DynamicObjectCollection collection = ORM.create().toPlainDynamicObjectCollection(dataSet); + for (DynamicObject dynamicObject : collection) { + String number = dynamicObject.getString("number"); + set.add(number); + } + + ArrayList<String> 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<Map<String, Object>> 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<String, Object> 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); + } }