OutInfoSearchController.java
3.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package com.myproject.webapp.controller.qisda;
import com.myproject.bean.search.BaseSearchCriteria;
import com.myproject.bean.search.PageList;
import com.myproject.bean.update.qisda.OutItem;
import com.myproject.dao.mongo.ILiteOrderDao;
import com.myproject.dao.mongo.qisda.IOutInfoDao;
import com.myproject.dao.mongo.qisda.IOutItemDao;
import com.myproject.webapp.controller.storage.BaseSearchController;
import com.myproject.webapp.controller.webService.DataCache;
import org.apache.logging.log4j.util.Strings;
import org.displaytag.properties.SortOrderEnum;
import org.displaytag.tags.TableTagParameters;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Pattern;
/**
* Created by kangmor on 2015/12/1.
*/
@Controller
@RequestMapping("/qisda")
public class OutInfoSearchController extends BaseSearchController {
@Autowired
protected IOutInfoDao outInfoDao;
@Autowired
protected IOutItemDao outItemDao;
@Autowired
private DataCache dataCache;
@RequestMapping("/outInfoSearch*")
public String onSubmit(@ModelAttribute("searchCriteria") BaseSearchCriteria searchCriteria, HttpServletRequest request) {
boolean stopJob = dataCache.getSettings().isStopJob();
request.setAttribute("stopJob",stopJob);
Query query = new Query();
Criteria criteria = new Criteria();
addLikeParam(request,criteria,"so");
String lineStr = request.getParameter("line");
if(lineStr == null){
lineStr = "NONE";
}
request.setAttribute("line",lineStr);
if(Strings.isNotBlank(lineStr)){
String line = lineStr;
if(lineStr.equals("NONE")){
line = null;
}
criteria.and("line").is(line);
}
String pn = request.getParameter("pn");
if(Strings.isNotBlank(pn)){
Pattern pattern = Pattern.compile(pn, Pattern.CASE_INSENSITIVE);
Criteria c = Criteria.where("pn").regex(pattern);
List<OutItem> itemList = outItemDao.findByQuery(new Query(c));
List<String> hSerialList = new ArrayList<>();
for (OutItem outItem : itemList) {
hSerialList.add(outItem.gethSerial());
}
criteria.and("hSerial").in(hSerialList);
request.setAttribute("pn",pn);
}else{
addLikeParam(request,criteria,"hSerial");
}
query.addCriteria(criteria);
PageList pageList = searchCriteria.getPageList();
if(pageList.getSortCriterion().equals("id")){
pageList.setSortCriterion("createDate");
pageList.setSortDirection(SortOrderEnum.DESCENDING);
searchCriteria.setPageList(pageList);
}
//导出
if (request.getParameter(TableTagParameters.PARAMETER_EXPORTING) != null){
pageList.setPageNumber(-1);
}
pageList = outInfoDao.findByQuery(query, pageList);
searchCriteria.setPageList(pageList);
return "qisda/outInfoSearch";
}
@Override
protected BaseSearchCriteria getNewSearchCriteria() {
return new BaseSearchCriteria();
}
}