fix:价格库查询到重复数据
This commit is contained in:
parent
0dac6a13eb
commit
00f6d27a37
@ -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;
|
|
||||||
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;
|
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
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user