diff --git a/src/main/java/com/glxp/udi/admin/mongo/dao/CodesDao.java b/src/main/java/com/glxp/udi/admin/mongo/dao/CodesDao.java index e0e6ea7..ccd2f52 100644 --- a/src/main/java/com/glxp/udi/admin/mongo/dao/CodesDao.java +++ b/src/main/java/com/glxp/udi/admin/mongo/dao/CodesDao.java @@ -32,7 +32,7 @@ public class CodesDao implements MongoBaseDao if (null == query && orderFilterRequest != null) { query = buildQuery(orderFilterRequest); } - return mongoPageHelper.pageQuery(query, OrderMdEntity.class, page, size, MongoDBName.NAME_ORDER); + return mongoPageHelper.pageQuery(query, OrderMdEntity.class, size, page, MongoDBName.NAME_ORDER); } @Override @@ -101,22 +102,36 @@ public class OrderDao implements MongoBaseDao Query query = new Query(); Field[] fields = ReflectUtil.getFields(OrderFilterRequest.class); for (Field field : fields) { - Object fieldValue = ReflectUtil.getFieldValue(orderFilterRequest, field); - if (ObjectUtil.isNotNull(fieldValue)) { - if ("id".equals(field.getName())) { - query.addCriteria(Criteria.where("orderId").is(fieldValue)); - } else if ("invCodes".equals(field.getName())) { - query.addCriteria(Criteria.where("locStorageCode").in(fieldValue)); - } else if ("actDate".equals(field.getName())) { - query.addCriteria(Criteria.where("actDate").gte(fieldValue + " 00:00:00").andOperator(Criteria.where("actDate").lte(fieldValue + " 23:59:59"))); - } else if ("isError".equals(field.getName())) { - query.addCriteria(Criteria.where("status").ne(fieldValue)); + if (field.getName() != "page" && field.getName() != "limit") { + Object fieldValue = ReflectUtil.getFieldValue(orderFilterRequest, field); + if (ObjectUtil.isNotEmpty(fieldValue) && StrUtil.isNotBlank(String.valueOf(fieldValue))) { + if ("id".equals(field.getName())) { + query.addCriteria(Criteria.where("orderId").is(fieldValue)); + } else if ("invCodes".equals(field.getName())) { + List invCodes = (List) fieldValue; + query.addCriteria(Criteria.where("locStorageCode").in(invCodes.toArray())); + } else if ("actDate".equals(field.getName())) { + query.addCriteria(Criteria.where("actDate").gte(fieldValue + " 00:00:00").andOperator(Criteria.where("actDate").lte(fieldValue + " 23:59:59"))); + } else if ("isError".equals(field.getName())) { + query.addCriteria(Criteria.where("status").ne(fieldValue)); + } else if ("receiveStatus".equals(field.getName())) { + break; + } else if ("checkReceiveStatus".equals(field.getName())) { + if ("true".equals(String.valueOf(fieldValue))) { + Object receiveStatus = ReflectUtil.getFieldValue(orderFilterRequest, "receiveStatus"); + if (null != receiveStatus) { + query.addCriteria(Criteria.where("receiveStatus").is(fieldValue)); + } else { + query.addCriteria(Criteria.where("receiveStatus").ne(0)); + } + } + } else { + query.addCriteria(Criteria.where(field.getName()).is(fieldValue)); + } } else { - query.addCriteria(Criteria.where(field.getName()).is(fieldValue)); - } - } else { - if ("receiveStatus".equals(field.getName())) { - query.addCriteria(Criteria.where("receiveStatus").ne(0)); + if ("action".equals(field.getName())) { + query.addCriteria(Criteria.where("action").ne("StockCheck")); + } } } } @@ -134,7 +149,7 @@ public class OrderDao implements MongoBaseDao Field[] fields = ReflectUtil.getFields(OrderMdEntity.class); for (Field field : fields) { Object fieldValue = ReflectUtil.getFieldValue(orderMdEntity, field); - if (ObjectUtil.isNotEmpty(fieldValue)) { + if (ObjectUtil.isNotEmpty(fieldValue) && StrUtil.isNotBlank(String.valueOf(fieldValue))) { if ("id".equals(field.getName())) { query.addCriteria(Criteria.where("_id").is(fieldValue)); } @@ -154,7 +169,7 @@ public class OrderDao implements MongoBaseDao Field[] fields = ReflectUtil.getFields(OrderMdEntity.class); for (Field field : fields) { Object fieldValue = ReflectUtil.getFieldValue(orderMdEntity, field); - if (ObjectUtil.isNotEmpty(fieldValue)) { + if (ObjectUtil.isNotEmpty(fieldValue) && StrUtil.isNotBlank(String.valueOf(fieldValue))) { if (!field.getName().equals("id") && !field.getName().equals("orderId")) { update.set(field.getName(), fieldValue); } diff --git a/src/main/java/com/glxp/udi/admin/mongo/dao/OrderDetailDao.java b/src/main/java/com/glxp/udi/admin/mongo/dao/OrderDetailDao.java index 9ce921f..6a5fdb2 100644 --- a/src/main/java/com/glxp/udi/admin/mongo/dao/OrderDetailDao.java +++ b/src/main/java/com/glxp/udi/admin/mongo/dao/OrderDetailDao.java @@ -33,7 +33,7 @@ public class OrderDetailDao implements MongoBaseDao