fix:价格库查询到重复数据
This commit is contained in:
parent
0dac6a13eb
commit
00f6d27a37
@ -549,62 +549,60 @@ public class AssepcDynamic {
|
||||
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.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, qFilter.toArray(), "auditdate desc");
|
||||
JSONObject object = new JSONObject();
|
||||
// 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");
|
||||
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)) {
|
||||
//
|
||||
// }
|
||||
//// 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++;
|
||||
}
|
||||
|
||||
int i = 0;
|
||||
|
||||
Map<String, Map<Date, DynamicObject>> map = new HashMap<>();
|
||||
for (DynamicObject d : loaded) {
|
||||
Date auditdate = d.getDate("auditdate");
|
||||
DynamicObjectCollection entry = d.getDynamicObjectCollection("yem_accessory");
|
||||
for (DynamicObject entryObj : entry) {
|
||||
DynamicObject entry_material = entryObj.getDynamicObject("yem_material");
|
||||
String material_number = entry_material.getString("number");
|
||||
if (map.containsKey(material_number)) {
|
||||
Map<Date, DynamicObject> exist = map.get(material_number);
|
||||
Iterator<Date> iterator = exist.keySet().iterator();
|
||||
Date existDate = iterator.next();
|
||||
if (auditdate.after(existDate)) {
|
||||
HashMap<Date, DynamicObject> materialMap = new HashMap<>();
|
||||
materialMap.put(auditdate, entryObj);
|
||||
map.put(material_number, materialMap);
|
||||
}
|
||||
} else {
|
||||
HashMap<Date, DynamicObject> materialMap = new HashMap<>();
|
||||
materialMap.put(auditdate, entryObj);
|
||||
map.put(material_number, materialMap);
|
||||
}
|
||||
}
|
||||
// jsonArray.add(jsonObjectS);
|
||||
}
|
||||
|
||||
for (Map.Entry<String, Map<Date, DynamicObject>> entrySet : map.entrySet()) {
|
||||
for (Map.Entry<Date, DynamicObject> subSet : entrySet.getValue().entrySet()) {
|
||||
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();
|
||||
int i1 = number * (page - 1);
|
||||
int i2 = number * page;
|
||||
if (i >= i1 && i < i2) {
|
||||
jsonObject.put("material", entryObj.getString("yem_material.number"));
|
||||
jsonObject.put("materialename", entryObj.getString("yem_materialename"));
|
||||
jsonObject.put("markup", entryObj.getString("yem_markup"));
|
||||
jsonObject.put("standsalesprice", entryObj.getBigDecimal("yem_standsalesprice"));
|
||||
jsonObject.put("remark_a", entryObj.getString("yem_remark_a"));
|
||||
jsonObject.put("easentryid", entryObj.getString("yem_easentryid"));
|
||||
jsonArray.add(jsonObject);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int i3 = i / number + 1;
|
||||
if (i3 == page) {
|
||||
object.put("isLastPage", true);
|
||||
@ -650,6 +648,7 @@ public class AssepcDynamic {
|
||||
|
||||
/**
|
||||
* 查询客户购买过的资源
|
||||
*
|
||||
* @param customerNo
|
||||
* @return
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user