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

(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.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; 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 * @author zhouc
@ -434,8 +438,8 @@ public class AssepcDynamic {
List<Map<String, Object>> result = new ArrayList<>(); List<Map<String, Object>> result = new ArrayList<>();
QFilter qFilter = new QFilter("yem_customer.number", QCP.equals, number); QFilter qFilter = new QFilter("yem_customer.number", QCP.equals, number);
qFilter.and("status", QCP.equals, "C"); qFilter.and("status", QCP.equals, "C");
ORM orm = ORM.create(); String selectfields = DynamicObjectUtil.getSelectfields("yem_em_devicefiles");
DynamicObjectCollection load = orm.query("yem_em_devicefiles", qFilter.toArray()); DynamicObjectCollection load = ORM.create().query("yem_em_devicefiles", selectfields + ",id", qFilter.toArray());
for (DynamicObject dynamicObject : load) { for (DynamicObject dynamicObject : load) {
Map<String, Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("id", dynamicObject.getPkValue()); map.put("id", dynamicObject.getPkValue());
@ -450,7 +454,7 @@ public class AssepcDynamic {
DynamicObject group = dynamicObject.getDynamicObject("group"); DynamicObject group = dynamicObject.getDynamicObject("group");
if (group != null) { if (group != null) {
map.put("yem_products_number", group.getString("number")); 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("productnumber", single.getString("yem_model"));
map.put("productname", single.getString("yem_modelname")); map.put("productname", single.getString("yem_modelname"));
map.put("productenname", single.getString("yem_modelenname")); map.put("productenname", single.getString("yem_modelenname"));
@ -463,7 +467,7 @@ public class AssepcDynamic {
map.put("number", dynamicObject.getString("number")); map.put("number", dynamicObject.getString("number"));
DynamicObject model = dynamicObject.getDynamicObject("yem_model"); DynamicObject model = dynamicObject.getDynamicObject("yem_model");
if (model != null) { 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")); map.put("yem_modelno", modelObj.getString("number"));
String zhdescription = modelObj.getString("yem_zhdescription"); String zhdescription = modelObj.getString("yem_zhdescription");
map.put("zhdescription", zhdescription); map.put("zhdescription", zhdescription);
@ -500,6 +504,7 @@ public class AssepcDynamic {
result.add(map); result.add(map);
} }
return CustomApiResult.success(result); return CustomApiResult.success(result);
} }
@ -542,51 +547,59 @@ public class AssepcDynamic {
@ApiParam("每一页个数") int number) { @ApiParam("每一页个数") int number) {
material = material.trim(); material = material.trim();
JSONArray jsonArray = new JSONArray(); JSONArray jsonArray = new JSONArray();
QFilter qFilter = new QFilter("yem_productclass.number", QCP.equals, modnumber + "PJ"); QFilter qFilter = new QFilter("yem_productclass.number", QCP.equals, modnumber + "PJ").and(new QFilter("yem_accessory.yem_material.number", QCP.equals, material));
qFilter.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 selectfield = DynamicObjectUtil.getSelectfields("yem_pricelibrary", false);
String selectfields = DynamicObjectUtil.getEntrySelectfields(selectfield, "yem_pricelibrary", "yem_accessory", 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(); JSONObject object = new JSONObject();
Map<String, Date> map = new HashMap<>(); // Map<String, Date> map = new HashMap<>();
List<String> stringList = new ArrayList<>(); List<String> stringList = new ArrayList<>();
int i = 0; int i = 0;
if (loaded.length > 0) { if (loaded.length > 0) {
for (DynamicObject dynamicObject : loaded) { for (DynamicObject dynamicObject : loaded) {
Date yemBizdate = dynamicObject.getDate("auditdate"); // Date yemBizdate = dynamicObject.getDate("auditdate");
DynamicObjectCollection dynamicObjectCollection = dynamicObject.getDynamicObjectCollection("yem_accessory"); DynamicObjectCollection dynamicObjectCollection = dynamicObject.getDynamicObjectCollection("yem_accessory");
if (dynamicObjectCollection.size() > 0) { if (dynamicObjectCollection.size() > 0) {
for (DynamicObject collection : dynamicObjectCollection) { for (DynamicObject collection : dynamicObjectCollection) {
DynamicObject yemMaterial = collection.getDynamicObject("yem_material"); DynamicObject yemMaterial = collection.getDynamicObject("yem_material");
if (yemMaterial != null) { // if (yemMaterial != null) {
String yemMaterialString = yemMaterial.getString("number"); // String yemMaterialString = yemMaterial.getString("number");
if (map.get(yemMaterialString) == null) { // if (map.get(yemMaterialString) == null) {
map.put(yemMaterialString, yemBizdate); // map.put(yemMaterialString, yemBizdate);
JSONObject jsonObject = new JSONObject(); // JSONObject jsonObject = new JSONObject();
int i1 = number * (page - 1); // int i1 = number * (page - 1);
int i2 = number * page; // int i2 = number * page;
stringList.add(yemMaterialString); // stringList.add(yemMaterialString);
String string = ""; // String string = "";
for (String s : stringList) { // for (String s : stringList) {
if (s.equals(material)) { // if (s.equals(material)) {
string = s; // string = s;
} // }
} // }
if (string.equals(yemMaterialString)) { // if (string.equals(yemMaterialString)) {
if (i >= i1 && i < i2) { //
jsonObject.put("material", collection.getString("yem_material.number")); // }
jsonObject.put("materialename", collection.getString("yem_materialename")); //// jsonObjectS.put("total", i);//总数
jsonObject.put("markup", collection.getString("yem_markup")); // }
jsonObject.put("standsalesprice", collection.getBigDecimal("yem_standsalesprice")); // }
jsonObject.put("remark_a", collection.getString("yem_remark_a")); if (material.equals(yemMaterial.getString("number")) || yemMaterial.getString("name").contains(material)) {
jsonObject.put("easentryid", collection.getString("yem_easentryid")); JSONObject jsonObject = new JSONObject();
jsonArray.add(jsonObject); int i1 = number * (page - 1);
} int i2 = number * page;
i++; if (i >= i1 && i < i2) {
} jsonObject.put("material", collection.getString("yem_material.number"));
// jsonObjectS.put("total", i);//总数 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++;
} }
} }
} }
} }