查询客户购买过的资源API

This commit is contained in:
zzs01@yunemao.com 2024-08-27 10:33:00 +08:00
parent e5519f773d
commit f0288c563b
3 changed files with 76 additions and 3 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@
*.idea/
out/
!/src/main/java/kd/cosmic/

View File

@ -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<Object> 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<String> 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<String> set = Sets.newHashSet();
DynamicObjectCollection collection = ORM.create().toPlainDynamicObjectCollection(dataSet);
Set<Long> 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<String> 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<String, Object> map = Maps.newHashMap();
ArrayList<Map<String, String>> rows = Lists.newArrayList();
for (DynamicObject dynamicObject : assColl) {
Map<String, String> 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<Object, Object> rowMap = Maps.newHashMap();
rowMap.put("rows", rows);
return CustomApiResult.success(rowMap);
}
}

View File

@ -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<CTBookmark> 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);