下单平台:配件价格根据名称模糊查询

(cherry picked from commit 04ad4b12d3)
This commit is contained in:
zzs 2024-11-19 15:55:12 +08:00
parent 07d1a90efe
commit 4ebf483e9e

View File

@ -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<Map<String, Object>> 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<String, Object> 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<String, Date> map = new HashMap<>();
// Map<String, Date> map = new HashMap<>();
List<String> 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++;
}
}
}
}