/**
* 从内存中查找需要的商品信息
*
* @author: Santy
* @date: 2015年7月15日
* 从内存中查找需要的商品信息
*
* @author: Santy
* @date: 2015年7月15日
*/
@SuppressWarnings("unchecked")
@SuppressWarnings("unchecked")
private Map<String, Object> searchFromMenory(Map<String, Object> map) {
Map<String, Object> tMap = new HashMap<String, Object>();
// 条件查询
List<ProductVo> products = (List<ProductVo>) map.get("rows");
List<ProductVo> tmpList1 = new ArrayList<ProductVo>();
List<ProductVo> tmpList2 = new ArrayList<ProductVo>();
List<ProductVo> tmpList3 = new ArrayList<ProductVo>();
List<ProductVo> tmpList4 = new ArrayList<ProductVo>();
Map<String, Object> tMap = new HashMap<String, Object>();
// 条件查询
List<ProductVo> products = (List<ProductVo>) map.get("rows");
List<ProductVo> tmpList1 = new ArrayList<ProductVo>();
List<ProductVo> tmpList2 = new ArrayList<ProductVo>();
List<ProductVo> tmpList3 = new ArrayList<ProductVo>();
List<ProductVo> tmpList4 = new ArrayList<ProductVo>();
// 条件过滤筛选
// 供应商id
if (supId != null) {
for (int i = 0; i < products.size(); i++) {
ProductVo vo = products.get(i);
if (vo.getSupplierId() != null && vo.getSupplierId().longValue() == supId.longValue()) {
tmpList1.add(vo);
}
}
} else {
tmpList1 = products;
}
// 商品编号/或者商品名称
if (StringUtils.isNotBlank(q)) {
for (int i = 0; i < tmpList1.size(); i++) {
ProductVo vo = tmpList1.get(i);
if (StringUtils.isNotBlank(vo.getProNo()) && vo.getProNo().contains(q)) {
// 如果是商品编码
tmpList2.add(vo);
} else if (StringUtils.isNotBlank(vo.getProName()) && vo.getProName().contains(q)) {
// 如果是商品名称
tmpList2.add(vo);
}
}
} else {
tmpList2 = tmpList1;
}
// 商品类型(自营或联营)
if (busType != null) {
for (int i = 0; i < tmpList2.size(); i++) {
ProductVo vo = tmpList2.get(i);
if (busType.intValue() == 1) {
tmpList3.add(vo);
} else {
tmpList3.add(vo);
}
}
} else {
tmpList3 = tmpList2;
}
// 供应商id
if (supId != null) {
for (int i = 0; i < products.size(); i++) {
ProductVo vo = products.get(i);
if (vo.getSupplierId() != null && vo.getSupplierId().longValue() == supId.longValue()) {
tmpList1.add(vo);
}
}
} else {
tmpList1 = products;
}
// 商品编号/或者商品名称
if (StringUtils.isNotBlank(q)) {
for (int i = 0; i < tmpList1.size(); i++) {
ProductVo vo = tmpList1.get(i);
if (StringUtils.isNotBlank(vo.getProNo()) && vo.getProNo().contains(q)) {
// 如果是商品编码
tmpList2.add(vo);
} else if (StringUtils.isNotBlank(vo.getProName()) && vo.getProName().contains(q)) {
// 如果是商品名称
tmpList2.add(vo);
}
}
} else {
tmpList2 = tmpList1;
}
// 商品类型(自营或联营)
if (busType != null) {
for (int i = 0; i < tmpList2.size(); i++) {
ProductVo vo = tmpList2.get(i);
if (busType.intValue() == 1) {
tmpList3.add(vo);
} else {
tmpList3.add(vo);
}
}
} else {
tmpList3 = tmpList2;
}
// 分页处理
pager = getPager();
if (CollectionUtils.listNotNull(tmpList3)) {
if (tmpList3.size() > pager.getPageSize()) {
// 当前页
int curPage = pager.getPageIndex();
int start = pager.getStartIndex(curPage);
int end = pager.getStartIndex(curPage + 1);
if (tmpList3.size() < end) {
end = tmpList3.size();
}
for (int i = start; i < end; i++) {
tmpList4.add(tmpList3.get(i));
}
} else {
tmpList4 = tmpList3;
}
}
tMap.put("rows", tmpList4);
tMap.put("total", tmpList3.size());
return tMap;
}
pager = getPager();
if (CollectionUtils.listNotNull(tmpList3)) {
if (tmpList3.size() > pager.getPageSize()) {
// 当前页
int curPage = pager.getPageIndex();
int start = pager.getStartIndex(curPage);
int end = pager.getStartIndex(curPage + 1);
if (tmpList3.size() < end) {
end = tmpList3.size();
}
for (int i = start; i < end; i++) {
tmpList4.add(tmpList3.get(i));
}
} else {
tmpList4 = tmpList3;
}
}
tMap.put("rows", tmpList4);
tMap.put("total", tmpList3.size());
return tMap;
}