From f0288c563bc006446f067f54eafe44733616c9ae Mon Sep 17 00:00:00 2001 From: "zzs01@yunemao.com" Date: Tue, 27 Aug 2024 10:33:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=AE=A2=E6=88=B7=E8=B4=AD?= =?UTF-8?q?=E4=B9=B0=E8=BF=87=E7=9A=84=E8=B5=84=E6=BA=90API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + .../java/com/yem/or/api/AssepcDynamic.java | 72 +++++++++++++++++++ .../salesorder/op/SalesOrderAutoSignOp.java | 6 +- 3 files changed, 76 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b961e7ff..627233e8 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ *.idea/ out/ +!/src/main/java/kd/cosmic/ diff --git a/src/main/java/com/yem/or/api/AssepcDynamic.java b/src/main/java/com/yem/or/api/AssepcDynamic.java index 1d1524b8..b26a33ee 100644 --- a/src/main/java/com/yem/or/api/AssepcDynamic.java +++ b/src/main/java/com/yem/or/api/AssepcDynamic.java @@ -2,8 +2,12 @@ package com.yem.or.api; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import com.yem.em.utils.SubRelationUtils; import com.yem.or.utils.OrderUtils; +import com.yem.rf.utils.RFUtils; import com.yem.wm.utils.DynamicObjectUtil; import com.yem.wm.utils.YEM; import kd.bos.algo.DataSet; @@ -23,6 +27,7 @@ import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.QueryServiceHelper; import org.jetbrains.annotations.NotNull; +import javax.validation.constraints.NotBlank; import java.io.IOException; import java.math.BigDecimal; import java.text.ParseException; @@ -629,4 +634,71 @@ public class AssepcDynamic { } } } + + /** + * 查询客户购买过的资源 + * @param customerNo + * @return + */ + @ApiPostMapping("/assepcdynamic/queassequipment") + public CustomApiResult queryBayedResourceNo(@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("yem_model", "is not null", null); + ArrayList list = Lists.newArrayList(); + list.add("yem_model"); + list.add("yem_customer"); + list.add("number"); + DataSet dataSet = ORM.create().queryDataSet(algoKey, "yem_em_devicefiles", String.join(",", list), qFilter.toArray()); + HashSet set = Sets.newHashSet(); + DynamicObjectCollection collection = ORM.create().toPlainDynamicObjectCollection(dataSet); + Set ids = new HashSet<>(); + for (DynamicObject dynamicObject : collection) { + Long model = dynamicObject.getLong("yem_model"); + ids.add(model); + } + DataSet basemodelib = ORM.create().queryDataSet(algoKey, "yem_bd_basemodelib", "number", new QFilter[]{new QFilter("id", "in", ids)}); + DynamicObjectCollection libs = ORM.create().toPlainDynamicObjectCollection(basemodelib); + for (DynamicObject lib : libs) { + set.add(lib.getString("number")); + } + + ArrayList ass = Lists.newArrayList(); + ass.add("number");//电子目录编码 + ass.add("name");//电子目录名称 + ass.add("yem_eqctype.number");//产品类型.编码 + ass.add("yem_eqctype.name");//产品类型.名称 + ass.add("yem_eqctype.longnumber");//产品类型.长编码 + ass.add("yem_eqctype.fullname");//产品类型.长名称 + ass.add("yem_brandmodel.number");//品牌车型.编码 + ass.add("yem_brandmodel.name");//品牌车型.名称 + ass.add("yem_brandmodel.longnumber");//品牌车型.长编码 + ass.add("yem_brandmodel.fullname");//品牌车型.长名称 + ass.add("yem_eqctype.yem_enname");//产品类型.英文名称 + QFilter assFilter = new QFilter("status", "=", "C"); + assFilter.and("number", "in", set); + DataSet assDataSet = ORM.create().queryDataSet(algoKey, "yem_em_assequipment", String.join(",", ass), assFilter.toArray()); + DynamicObjectCollection assColl = ORM.create().toPlainDynamicObjectCollection(assDataSet); + HashMap map = Maps.newHashMap(); + ArrayList> rows = Lists.newArrayList(); + for (DynamicObject dynamicObject : assColl) { + Map row = Maps.newHashMap(); + row.put("number", dynamicObject.getString("number"));//电子目录编码 + row.put("name", dynamicObject.getString("name"));//电子目录名称 + row.put("yem_eqctype_number", dynamicObject.getString("yem_eqctype.number"));//产品类型.编码 + row.put("yem_eqctype_name", dynamicObject.getString("yem_eqctype.name"));//产品类型.名称 + row.put("yem_eqctype_longnumber", dynamicObject.getString("yem_eqctype.longnumber"));//产品类型.长编码 + row.put("yem_eqctype_fullname", dynamicObject.getString("yem_eqctype.fullname"));//产品类型.长名称 + row.put("yem_brandmodel_number", dynamicObject.getString("yem_brandmodel.number"));//品牌车型.编码 + row.put("yem_brandmodel_name", dynamicObject.getString("yem_brandmodel.name"));//品牌车型.名称 + row.put("yem_brandmodel_longnumber", dynamicObject.getString("yem_brandmodel.longnumber"));//品牌车型.长编码 + row.put("yem_brandmodel_fullname", dynamicObject.getString("yem_brandmodel.fullname"));//品牌车型.长名称 + row.put("yem_eqctype_yem_enname", dynamicObject.getString("yem_eqctype.yem_enname"));//产品类型.英文名称 + rows.add(row); + } + HashMap rowMap = Maps.newHashMap(); + rowMap.put("rows", rows); + return CustomApiResult.success(rowMap); + } } diff --git a/src/main/java/com/yem/wm/es/salesorder/op/SalesOrderAutoSignOp.java b/src/main/java/com/yem/wm/es/salesorder/op/SalesOrderAutoSignOp.java index a863a600..de2bab43 100644 --- a/src/main/java/com/yem/wm/es/salesorder/op/SalesOrderAutoSignOp.java +++ b/src/main/java/com/yem/wm/es/salesorder/op/SalesOrderAutoSignOp.java @@ -47,7 +47,7 @@ public class SalesOrderAutoSignOp extends AbstractOperationServicePlugIn { DynamicObject[] entities = e.getDataEntities(); // Word中的书签名称 - final String bookmark = "ensign"; + final String BOOKMARK = "ensign"; // 修改Word后上传的附件面板 final String UPLOAD_ATTACHMENT_KEY = "yem_approval"; @@ -113,7 +113,7 @@ public class SalesOrderAutoSignOp extends AbstractOperationServicePlugIn { // 获取书签 List bookMarks = ContactSignUtils.getFileBookMarks(validatorStream); - validatorSignAble(bookMarks, bookmark, filename); + validatorSignAble(bookMarks, BOOKMARK, filename); File file; try { @@ -121,7 +121,7 @@ public class SalesOrderAutoSignOp extends AbstractOperationServicePlugIn { ByteArrayInputStream stream = new ByteArrayInputStream(imageData); // 书签位置替换为图片(书签不会删除) - file = ContactSignUtils.replaceBookmarkWithImage(in, stream, filename, bookmark); + file = ContactSignUtils.replaceBookmarkWithImage(in, stream, filename, BOOKMARK); AttachmentUtil.uploadAttachment(appId, formId, String.valueOf(pkId), UPLOAD_ATTACHMENT_KEY, file.getName(), file.getPath()); } catch (IOException ex) { throw new RuntimeException(ex);