fix:价格库查询到重复数据

This commit is contained in:
zzs 2024-11-21 14:56:21 +08:00
parent 0dac6a13eb
commit 00f6d27a37

View File

@ -549,62 +549,60 @@ public class AssepcDynamic {
JSONArray jsonArray = new JSONArray(); JSONArray jsonArray = new JSONArray();
QFilter qFilter = new QFilter("yem_productclass.number", QCP.equals, modnumber + "PJ").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.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, qFilter.toArray(), "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<>();
List<String> stringList = new ArrayList<>();
int i = 0; int i = 0;
if (loaded.length > 0) {
for (DynamicObject dynamicObject : loaded) { Map<String, Map<Date, DynamicObject>> map = new HashMap<>();
// Date yemBizdate = dynamicObject.getDate("auditdate"); for (DynamicObject d : loaded) {
DynamicObjectCollection dynamicObjectCollection = dynamicObject.getDynamicObjectCollection("yem_accessory"); Date auditdate = d.getDate("auditdate");
if (dynamicObjectCollection.size() > 0) { DynamicObjectCollection entry = d.getDynamicObjectCollection("yem_accessory");
for (DynamicObject collection : dynamicObjectCollection) { for (DynamicObject entryObj : entry) {
DynamicObject yemMaterial = collection.getDynamicObject("yem_material"); DynamicObject entry_material = entryObj.getDynamicObject("yem_material");
// if (yemMaterial != null) { String material_number = entry_material.getString("number");
// String yemMaterialString = yemMaterial.getString("number"); if (map.containsKey(material_number)) {
// if (map.get(yemMaterialString) == null) { Map<Date, DynamicObject> exist = map.get(material_number);
// map.put(yemMaterialString, yemBizdate); Iterator<Date> iterator = exist.keySet().iterator();
// JSONObject jsonObject = new JSONObject(); Date existDate = iterator.next();
// int i1 = number * (page - 1); if (auditdate.after(existDate)) {
// int i2 = number * page; HashMap<Date, DynamicObject> materialMap = new HashMap<>();
// stringList.add(yemMaterialString); materialMap.put(auditdate, entryObj);
// String string = ""; map.put(material_number, materialMap);
// for (String s : stringList) { }
// if (s.equals(material)) { } else {
// string = s; HashMap<Date, DynamicObject> materialMap = new HashMap<>();
// } materialMap.put(auditdate, entryObj);
// } map.put(material_number, materialMap);
// if (string.equals(yemMaterialString)) { }
// }
// } }
//// jsonObjectS.put("total", i);//总数
// } for (Map.Entry<String, Map<Date, DynamicObject>> entrySet : map.entrySet()) {
// } for (Map.Entry<Date, DynamicObject> subSet : entrySet.getValue().entrySet()) {
if (material.equals(yemMaterial.getString("number")) || yemMaterial.getString("name").contains(material)) { DynamicObject entryObj = subSet.getValue();
DynamicObject yemMaterial = entryObj.getDynamicObject("yem_material");
String materialNumber = yemMaterial.getString("number");
if (material.equals(materialNumber) || yemMaterial.getString("name").contains(material)) {
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;
if (i >= i1 && i < i2) { if (i >= i1 && i < i2) {
jsonObject.put("material", collection.getString("yem_material.number")); jsonObject.put("material", entryObj.getString("yem_material.number"));
jsonObject.put("materialename", collection.getString("yem_materialename")); jsonObject.put("materialename", entryObj.getString("yem_materialename"));
jsonObject.put("markup", collection.getString("yem_markup")); jsonObject.put("markup", entryObj.getString("yem_markup"));
jsonObject.put("standsalesprice", collection.getBigDecimal("yem_standsalesprice")); jsonObject.put("standsalesprice", entryObj.getBigDecimal("yem_standsalesprice"));
jsonObject.put("remark_a", collection.getString("yem_remark_a")); jsonObject.put("remark_a", entryObj.getString("yem_remark_a"));
jsonObject.put("easentryid", collection.getString("yem_easentryid")); jsonObject.put("easentryid", entryObj.getString("yem_easentryid"));
jsonArray.add(jsonObject); jsonArray.add(jsonObject);
} }
i++; i++;
} }
}
}
}
}
}
// jsonArray.add(jsonObjectS);
}
int i3 = i / number + 1; int i3 = i / number + 1;
if (i3 == page) { if (i3 == page) {
object.put("isLastPage", true); object.put("isLastPage", true);
@ -650,6 +648,7 @@ public class AssepcDynamic {
/** /**
* 查询客户购买过的资源 * 查询客户购买过的资源
*
* @param customerNo * @param customerNo
* @return * @return
*/ */