Merge branch 'develop_3' into 'develop_master'
Develop 3 See merge request !113
This commit is contained in:
+38
-22
@@ -130,36 +130,52 @@ public class SarStandardsInfoController extends BaseController<SarStandardsInfo>
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) {
|
||||
List<SarAdvanceSearchVO> searchList = JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class);
|
||||
int i = 0;
|
||||
for (SarAdvanceSearchVO sarAdvanceSearchVO:searchList){
|
||||
if ("SVPPS".equals(sarAdvanceSearchVO.getField()) && StringUtils.isBlank(sarAdvanceSearchVO.getValue())){
|
||||
isNull = i;
|
||||
}
|
||||
i++;
|
||||
}
|
||||
if (-1 != isNull) {
|
||||
searchList.remove(isNull);
|
||||
}
|
||||
if (isNull == 0 && searchList.size() > 0){
|
||||
searchList.get(0).setConnect("");
|
||||
}
|
||||
String advanceStr = SarAdvanceSearchUtil.createSql(searchList);
|
||||
if (null != advanceStr) {
|
||||
advanceStr = advanceStr.replace("stand_number", "concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-',SAR_STANDARDS_INFO.STAND_YEAR)");
|
||||
}
|
||||
if (-1 != isNull && StringUtils.isBlank(advanceStr)){
|
||||
advanceStr = advanceStr + " SVPPS is null";
|
||||
}else if (-1 != isNull && StringUtils.isNotBlank(advanceStr)){
|
||||
advanceStr = advanceStr + " and SVPPS is null";
|
||||
}
|
||||
String advanceStr = SarAdvanceSearchUtil.createStandSql(searchList);
|
||||
if (StringUtils.isNotBlank(advanceStr)) {
|
||||
page.setAdvanceSearchStr(advanceStr);
|
||||
} else {
|
||||
page.setAdvanceSearchStr(null);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// if (StringUtils.isNotBlank(page.getAdvanceSearchVOStr())) {
|
||||
// List<SarAdvanceSearchVO> searchList = JSONObject.parseArray(page.getAdvanceSearchVOStr(),SarAdvanceSearchVO.class);
|
||||
// int i = 0;
|
||||
// for (SarAdvanceSearchVO sarAdvanceSearchVO:searchList){
|
||||
// if ("SVPPS".equals(sarAdvanceSearchVO.getField()) && StringUtils.isBlank(sarAdvanceSearchVO.getValue())){
|
||||
// isNull = i;
|
||||
// }
|
||||
// i++;
|
||||
// }
|
||||
// if (-1 != isNull) {
|
||||
// searchList.remove(isNull);
|
||||
// }
|
||||
// if (isNull == 0 && searchList.size() > 0){
|
||||
// searchList.get(0).setConnect("");
|
||||
// }
|
||||
// String advanceStr = SarAdvanceSearchUtil.createSql(searchList);
|
||||
// if (null != advanceStr) {
|
||||
// advanceStr = advanceStr.replace("stand_number", "concat(SAR_STANDARDS_INFO.STAND_SORT,' ',SAR_STANDARDS_INFO.STAND_NUMBER,'-',SAR_STANDARDS_INFO.STAND_YEAR)");
|
||||
// }
|
||||
// if (-1 != isNull && StringUtils.isBlank(advanceStr)){
|
||||
// advanceStr = advanceStr + " SVPPS is null";
|
||||
// }else if (-1 != isNull && StringUtils.isNotBlank(advanceStr)){
|
||||
// advanceStr = advanceStr + " and SVPPS is null";
|
||||
// }
|
||||
// if (StringUtils.isNotBlank(advanceStr)) {
|
||||
// page.setAdvanceSearchStr(advanceStr);
|
||||
// } else {
|
||||
// page.setAdvanceSearchStr(null);
|
||||
// }
|
||||
// }
|
||||
if(page.getUserId() == null || page.getUserId().equals("")){
|
||||
page.setUserId(LoginUserUtil.getUserId());
|
||||
}
|
||||
|
||||
+3
@@ -87,5 +87,8 @@ public class SarStandardsInfoEOPage extends BasePage {
|
||||
private String orderBy1 = "SAR_STANDARDS_INFO.issue_time";
|
||||
private String order1 = "desc";
|
||||
|
||||
// zhaokaiyao
|
||||
private String textStatus;//文本状态
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -14,61 +14,61 @@ import java.util.List;
|
||||
public class SarAdvanceSearchUtil {
|
||||
|
||||
// 拼接sql语句
|
||||
public static String createSql (List<SarAdvanceSearchVO> searchVOList) {
|
||||
public static String createSql(List<SarAdvanceSearchVO> searchVOList) {
|
||||
String sqlInfo = "";
|
||||
StringBuilder sqlBuilder = new StringBuilder();
|
||||
if (searchVOList != null && !searchVOList.isEmpty()) {
|
||||
for (SarAdvanceSearchVO searchVO : searchVOList) {
|
||||
String sql = "";
|
||||
if (StringUtils.isNotBlank(searchVO.getValue())) {
|
||||
if(searchVO.getValue().contains(",")){
|
||||
sql += searchVO.getConnect()+"(";
|
||||
if (searchVO.getValue().contains(",")) {
|
||||
sql += searchVO.getConnect() + "(";
|
||||
List<String> list = Arrays.asList(searchVO.getValue().split(","));
|
||||
for(int i =0;i<list.size();i++){
|
||||
if(i==list.size()-1){
|
||||
sql += searchVO.getField() +" "+searchVO.getType() + " " + "concat(concat('%','"+ list.get(i) +"'),'%') ";
|
||||
}else{
|
||||
sql += searchVO.getField() +" "+searchVO.getType() + " " + "concat(concat('%','"+ list.get(i) +"'),'%') and ";
|
||||
for (int i = 0; i < list.size(); i++) {
|
||||
if (i == list.size() - 1) {
|
||||
sql += searchVO.getField() + " " + searchVO.getType() + " " + "concat(concat('%','" + list.get(i) + "'),'%') ";
|
||||
} else {
|
||||
sql += searchVO.getField() + " " + searchVO.getType() + " " + "concat(concat('%','" + list.get(i) + "'),'%') and ";
|
||||
}
|
||||
}
|
||||
sql += " )";
|
||||
}else{
|
||||
} else {
|
||||
sql += searchVO.getConnect() + " " + searchVO.getField() + " ";
|
||||
if (!"like".equals(searchVO.getType())) {
|
||||
sql += searchVO.getType() + "'" + searchVO.getValue() + "'";
|
||||
} else {
|
||||
sql += searchVO.getType() + " " + "concat(concat('%','"+ searchVO.getValue() +"'),'%')";
|
||||
sql += searchVO.getType() + " " + "concat(concat('%','" + searchVO.getValue() + "'),'%')";
|
||||
}
|
||||
}
|
||||
sqlBuilder.append(sql);
|
||||
} else if (StringUtils.isNotBlank(searchVO.getTimeSt()) || StringUtils.isNotBlank(searchVO.getTimeEd())) {
|
||||
sql += searchVO.getConnect() + " ";
|
||||
if (StringUtils.isNotBlank(searchVO.getTimeSt()) && StringUtils.isBlank(searchVO.getTimeEd())) {
|
||||
sql += "("+searchVO.getField();
|
||||
sql += (searchVO.getType().equals("!=")?" not ":"") + " between " + "'" + searchVO.getTimeSt() + "' and '2099-12-31'";
|
||||
sql += " or "+searchVO.getField();
|
||||
sql += (searchVO.getType().equals("!=")?" not ":"") + " between " + "'" + searchVO.getTimeSt() +" 00:00:00"+ "' and '2099-12-31 23:59:59'";
|
||||
sql += " or "+searchVO.getField();
|
||||
sql += " = 'TBD'";
|
||||
sql += "(" + searchVO.getField();
|
||||
sql += (searchVO.getType().equals("!=") ? " not " : "") + " between " + "'" + searchVO.getTimeSt() + "' and '2099-12-31'";
|
||||
sql += " or " + searchVO.getField();
|
||||
sql += (searchVO.getType().equals("!=") ? " not " : "") + " between " + "'" + searchVO.getTimeSt() + " 00:00:00" + "' and '2099-12-31 23:59:59'";
|
||||
sql += " or " + searchVO.getField();
|
||||
sql += " = 'TBD'";
|
||||
sql += ")";
|
||||
} else if (StringUtils.isBlank(searchVO.getTimeSt()) && StringUtils.isNotBlank(searchVO.getTimeEd())) {
|
||||
sql += "("+searchVO.getField();
|
||||
sql += (searchVO.getType().equals("!=")?" not ":"") +" between '1970-01-01' and " + "'" + searchVO.getTimeEd() + "'";
|
||||
sql += " or "+searchVO.getField();
|
||||
sql += (searchVO.getType().equals("!=")?" not ":"") +" between '1970-01-01 00:00:00' and " +
|
||||
sql += "(" + searchVO.getField();
|
||||
sql += (searchVO.getType().equals("!=") ? " not " : "") + " between '1970-01-01' and " + "'" + searchVO.getTimeEd() + "'";
|
||||
sql += " or " + searchVO.getField();
|
||||
sql += (searchVO.getType().equals("!=") ? " not " : "") + " between '1970-01-01 00:00:00' and " +
|
||||
"'" + searchVO.getTimeEd() + " 23:59:59'";
|
||||
sql += " or "+searchVO.getField();
|
||||
sql += " = 'TBD'";
|
||||
sql += " or " + searchVO.getField();
|
||||
sql += " = 'TBD'";
|
||||
sql += ")";
|
||||
} else if (StringUtils.isNotBlank(searchVO.getTimeSt()) && StringUtils.isNotBlank(searchVO.getTimeEd())) {
|
||||
sql += "("+searchVO.getField();
|
||||
sql += (searchVO.getType().equals("!=")?" not ":"") + " between '" + searchVO.getTimeSt() + "' and '"
|
||||
sql += "(" + searchVO.getField();
|
||||
sql += (searchVO.getType().equals("!=") ? " not " : "") + " between '" + searchVO.getTimeSt() + "' and '"
|
||||
+ searchVO.getTimeEd() + "'";
|
||||
sql += " or "+searchVO.getField();
|
||||
sql += (searchVO.getType().equals("!=")?" not ":"") + " between '" + searchVO.getTimeSt() +" 00:00:00"+ "' and '"
|
||||
sql += " or " + searchVO.getField();
|
||||
sql += (searchVO.getType().equals("!=") ? " not " : "") + " between '" + searchVO.getTimeSt() + " 00:00:00" + "' and '"
|
||||
+ searchVO.getTimeEd() + " 23:59:59'";
|
||||
sql += " or "+searchVO.getField();
|
||||
sql += " = 'TBD'";
|
||||
sql += " or " + searchVO.getField();
|
||||
sql += " = 'TBD'";
|
||||
sql += ")";
|
||||
}
|
||||
sqlBuilder.append(sql);
|
||||
@@ -78,4 +78,33 @@ public class SarAdvanceSearchUtil {
|
||||
}
|
||||
return sqlInfo;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 国内外标准高级查询 对SAR_STAND_ATTR_INFO表自定义字段生成条件语句
|
||||
* @param searchVOList
|
||||
* @return
|
||||
*/
|
||||
public static String createStandSql(List<SarAdvanceSearchVO> searchVOList) {
|
||||
String sqlInfo = "";
|
||||
String tableName="SAR_STAND_ATTR_INFO.";
|
||||
StringBuilder sqlBuilder = new StringBuilder();
|
||||
if (searchVOList != null && !searchVOList.isEmpty()) {
|
||||
|
||||
for (int i = 0; i < searchVOList.size(); i++) {
|
||||
String sql = "";
|
||||
SarAdvanceSearchVO searchVO=searchVOList.get(i);
|
||||
if (StringUtils.isNotBlank(searchVO.getValue()));
|
||||
if (i==0){
|
||||
sql+=tableName+searchVO.getField()+" " + searchVO.getType() + " " + "concat(concat('%','" +searchVO.getValue() + "'),'%') ";
|
||||
}else {
|
||||
sql+="AND"+" "+tableName+searchVO.getField()+" " + searchVO.getType() + " " + "concat(concat('%','" +searchVO.getValue() + "'),'%') ";
|
||||
}
|
||||
sqlBuilder.append(sql);
|
||||
}
|
||||
sqlInfo = sqlBuilder.toString();
|
||||
}
|
||||
|
||||
return sqlInfo;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user