zhuth 7 years ago
parent
commit
2d036fa7a7

+ 2 - 2
pom.xml

@@ -41,10 +41,10 @@
 			<artifactId>spring-boot-starter-jdbc</artifactId>
 		</dependency>
 
-		<dependency>
+		<!-- <dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-devtools</artifactId>
-		</dependency>
+		</dependency> -->
 
 		<dependency>  
             <groupId>org.springframework.boot</groupId>  

+ 0 - 130
src/main/java/com/uas/eis/controller/HelloWorldController.java

@@ -1,130 +0,0 @@
-package com.uas.eis.controller;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.http.Header;
-import org.apache.http.HeaderElement;
-import org.apache.http.ParseException;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.uas.eis.service.UserService;
-import com.uas.eis.utils.HttpUtil;
-import com.uas.eis.utils.HttpUtil.Response;
-
-import net.sf.json.JSONObject;
-
-@RestController
-public class HelloWorldController {
-
-	@Autowired
-	private UserService userService;
-	
-	@RequestMapping(value = "/hello", produces = "application/json;charset=utf-8")
-	public String hello(){
-		return "Hello,World!";
-	}
-	
-	@RequestMapping("/getUser")
-	public Map<String, Object> getUser(String username){
-		return userService.getUser(username);
-	}
-	
-	/**
-	 * 首次登陆请求token
-	 */
-	@RequestMapping(value = "/login", produces = "application/json;charset=utf-8")
-	public String login(HttpServletRequest request, String username, String password){
-		String token = userService.login(username, password);
-		request.getSession().removeAttribute("token");
-		if(token != null) {
-			request.getSession().setAttribute("token", token);
-			return "登录成功";
-		}
-		return "账号有误";
-	}
-	
-	/**
-	 * token 测试
-	 */
-	@RequestMapping(value = "/test", produces = "application/json;charset=utf-8")
-	public String test(String username){
-		return "中文";
-	}
-	
-	/**
-	 * http请求测试
-	 * @return 
-	 */
-	@RequestMapping(value = "/baidu", produces = "text/html;charset=utf-8")
-	public String testHttpRequest() {
-		try {
-			return HttpUtil.sendGetRequest("https://www.baidu.com/", null, null).getResponseText();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-	
-	/**
-	 * http请求测试
-	 * @return 
-	 */
-	@RequestMapping(value = "/requestUas", produces = "text/json;charset=utf-8")
-	public String testHttpRequest(String url, String params) {
-		try {
-			JSONObject jb = JSONObject.fromObject(params);
-			Map<String, String> p = jb;
-			for (Map.Entry<String, String> entry : p.entrySet()) {
-				System.out.println(entry.getKey()+": "+entry.getValue());
-			}
-			return HttpUtil.sendGetRequest("http://192.168.253.38:8098/ERP/"+url, null, p).getResponseText();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-	
-	@RequestMapping(value = "/getInfo", produces = "text/json;charset=utf-8")
-	public String getInfo(String url, Map<String, String> params) {
-		try {
-			Map<String, String> p = new HashMap<String, String>();
-			p.put("parentId", "0");
-			HashMap<String, String> header = new HashMap<String, String>();
-			header.put("Cookie", " JSESSIONID=B8DA7A516B9ABCE045B3BFC28E7817DA;");
-			return HttpUtil.sendGetRequest("http://192.168.253.38:8098/ERP/common/lazyTree.action", header, p).getResponseText();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-
-	@RequestMapping(value = "/postInfo", produces = "text/json;charset=utf-8")
-	public String postInfo(String url, Map<String, String> params) {
-		try {
-			Map<String, String> p = new HashMap<String, String>();
-			p.put("caller", "WorkDaily");
-			p.put("page", "1");
-			p.put("pageSize", "17");
-			p.put("fromHeader", "false");
-			p.put("condition", "");
-			p.put("_noc", "");
-			p.put("_f", "");
-			p.put("orderby", "");
-			p.put("_self", "");
-			p.put("_config", "");
-			HashMap<String, String> header = new HashMap<String, String>();
-			header.put("Cookie", "JSESSIONID=B8DA7A516B9ABCE045B3BFC28E7817DA;");
-			return HttpUtil.sendPostRequest("http://192.168.253.38:8098/ERP/common/datalist.action", header, p).getResponseText();
-		} catch (Exception e) {
-			e.printStackTrace();
-		}
-		return null;
-	}
-}

+ 24 - 0
src/main/java/com/uas/eis/controller/QueryController.java

@@ -0,0 +1,24 @@
+package com.uas.eis.controller;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.uas.eis.service.QueryService;
+
+@RestController
+public class QueryController {
+
+	@Autowired
+	private QueryService userService;
+	
+	@RequestMapping("/api/query")
+	public Object query(String code, String param){
+		Map<String, Object> map = new HashMap<String, Object>();
+		return userService.query(code, param);
+	}
+	
+}

+ 36 - 0
src/main/java/com/uas/eis/core/WebAppConfig.java

@@ -1,10 +1,20 @@
 package com.uas.eis.core;
 
+import java.nio.charset.Charset;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.List;
+
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.StringHttpMessageConverter;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.uas.eis.core.support.DataSourceInterceptor;
 import com.uas.eis.core.support.InterceptorConfig;
 
@@ -22,4 +32,30 @@ public class WebAppConfig extends WebMvcConfigurationSupport{
 		registry.addInterceptor(new DataSourceInterceptor()).addPathPatterns("/*/**");
 	}
 	
+	@Bean
+    public HttpMessageConverter<String> responseBodyConverter() {
+        StringHttpMessageConverter converter = new StringHttpMessageConverter(Charset.forName("UTF-8"));
+        return converter;
+    }
+
+	@Bean
+	public MappingJackson2HttpMessageConverter MappingJacksonHttpMessageConverter(){
+		MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
+		ObjectMapper objectMapper = new ObjectMapper();
+		objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
+		converter.setObjectMapper(objectMapper);
+		return converter;
+	}
+	
+    @Override
+    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
+        super.configureMessageConverters(converters);
+        converters.add(responseBodyConverter());
+        converters.add(MappingJacksonHttpMessageConverter());
+    }
+
+    @Override
+    public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
+        configurer.favorPathExtension(false);
+    }
 }

+ 5 - 2
src/main/java/com/uas/eis/core/support/InterceptorConfig.java

@@ -9,7 +9,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.servlet.HandlerInterceptor;
 import org.springframework.web.servlet.ModelAndView;
 
-import com.uas.eis.service.UserService;
+import com.uas.eis.service.QueryService;
+import com.uas.eis.dao.BaseDao;
 import com.uas.eis.utils.BaseUtil;
 
 import io.jsonwebtoken.Claims;
@@ -17,7 +18,9 @@ import io.jsonwebtoken.Claims;
 public class InterceptorConfig implements HandlerInterceptor{
 
 	@Autowired
-	private UserService userService;
+	private QueryService userService;
+	
+	private BaseDao baseDao;
 	
 	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
 		//token认证

+ 48 - 0
src/main/java/com/uas/eis/entity/QueryArgs.java

@@ -0,0 +1,48 @@
+package com.uas.eis.entity;
+
+public class QueryArgs {
+
+	private Integer qa_id;
+	private String qa_qccode;
+	private String qa_param;
+	private String qa_paramtype;
+	private String qa_relation;
+	private Integer qa_detno;
+	public Integer getQa_id() {
+		return qa_id;
+	}
+	public void setQa_id(Integer qa_id) {
+		this.qa_id = qa_id;
+	}
+	public String getQa_qccode() {
+		return qa_qccode;
+	}
+	public void setQa_qccode(String qa_qccode) {
+		this.qa_qccode = qa_qccode;
+	}
+	public String getQa_param() {
+		return qa_param;
+	}
+	public void setQa_param(String qa_param) {
+		this.qa_param = qa_param;
+	}
+	public String getQa_paramtype() {
+		return qa_paramtype;
+	}
+	public void setQa_paramtype(String qa_paramtype) {
+		this.qa_paramtype = qa_paramtype;
+	}
+	public String getQa_relation() {
+		return qa_relation;
+	}
+	public void setQa_relation(String qa_relation) {
+		this.qa_relation = qa_relation;
+	}
+	public Integer getQa_detno() {
+		return qa_detno;
+	}
+	public void setQa_detno(Integer qa_detno) {
+		this.qa_detno = qa_detno;
+	}
+	
+}

+ 95 - 0
src/main/java/com/uas/eis/entity/QueryConfig.java

@@ -0,0 +1,95 @@
+package com.uas.eis.entity;
+
+/**
+ * 标准查询配置
+ * @author chenw
+ *
+ */
+public class QueryConfig {
+
+	private Integer qc_id;
+	private String qc_code;
+	private String qc_table;
+	private String qc_condition;
+	private String qc_mapkey;
+	private String qc_beforesql;
+	private String qc_return;
+	private Integer qc_detno;
+	private String qc_orderby;
+	private Integer qc_isArray;
+	private String qc_relationCode;
+	private String qc_mainVar;
+	public String getQc_mainVar() {
+		return qc_mainVar;
+	}
+	public void setQc_mainVar(String qc_mainVar) {
+		this.qc_mainVar = qc_mainVar;
+	}
+	public String getQc_relationCode() {
+		return qc_relationCode;
+	}
+	public void setQc_relationCode(String qc_relationCode) {
+		this.qc_relationCode = qc_relationCode;
+	}
+	public Integer getQc_id() {
+		return qc_id;
+	}
+	public void setQc_id(Integer qc_id) {
+		this.qc_id = qc_id;
+	}
+	public String getQc_code() {
+		return qc_code;
+	}
+	public void setQc_code(String qc_code) {
+		this.qc_code = qc_code;
+	}
+	public String getQc_table() {
+		return qc_table;
+	}
+	public void setQc_table(String qc_table) {
+		this.qc_table = qc_table;
+	}
+	public String getQc_condition() {
+		return qc_condition;
+	}
+	public void setQc_condition(String qc_condition) {
+		this.qc_condition = qc_condition;
+	}
+	public String getQc_mapkey() {
+		return qc_mapkey;
+	}
+	public void setQc_mapkey(String qc_mapkey) {
+		this.qc_mapkey = qc_mapkey;
+	}
+	public String getQc_return() {
+		return qc_return;
+	}
+	public void setQc_return(String qc_return) {
+		this.qc_return = qc_return;
+	}
+	public Integer getQc_detno() {
+		return qc_detno;
+	}
+	public void setQc_detno(Integer qc_detno) {
+		this.qc_detno = qc_detno;
+	}
+	public String getQc_orderby() {
+		return qc_orderby;
+	}
+	public void setQc_orderby(String qc_orderby) {
+		this.qc_orderby = qc_orderby;
+	}
+	public String getQc_beforesql() {
+		return qc_beforesql;
+	}
+	public void setQc_beforesql(String qc_beforesql) {
+		this.qc_beforesql = qc_beforesql;
+	}
+	public Integer getQc_isArray() {
+		return qc_isArray;
+	}
+	public void setQc_isArray(Integer qc_isArray) {
+		this.qc_isArray = qc_isArray;
+	}
+	
+}

+ 34 - 0
src/main/java/com/uas/eis/entity/QueryConfigDetail.java

@@ -0,0 +1,34 @@
+package com.uas.eis.entity;
+
+public class QueryConfigDetail {
+
+	private Integer qcd_id;
+	private Integer qcd_qcid;
+	private String qcd_field;
+	private String qcd_mappingkey;
+	public Integer getQcd_id() {
+		return qcd_id;
+	}
+	public void setQcd_id(Integer qcd_id) {
+		this.qcd_id = qcd_id;
+	}
+	public Integer getQcd_qcid() {
+		return qcd_qcid;
+	}
+	public void setQcd_qcid(Integer qcd_qcid) {
+		this.qcd_qcid = qcd_qcid;
+	}
+	public String getQcd_field() {
+		return qcd_field;
+	}
+	public void setQcd_field(String qcd_field) {
+		this.qcd_field = qcd_field;
+	}
+	public String getQcd_mappingkey() {
+		return qcd_mappingkey;
+	}
+	public void setQcd_mappingkey(String qcd_mappingkey) {
+		this.qcd_mappingkey = qcd_mappingkey;
+	}
+	
+}

+ 19 - 0
src/main/java/com/uas/eis/exception/ExceptionHandlerAdvice.java

@@ -5,11 +5,15 @@ import javax.servlet.http.HttpServletRequest;
 import org.apache.log4j.Logger;
 import org.springframework.http.HttpStatus;
 import org.springframework.ui.ModelMap;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.ControllerAdvice;
 import org.springframework.web.bind.annotation.ExceptionHandler;
 import org.springframework.web.bind.annotation.ResponseBody;
 import org.springframework.web.bind.annotation.ResponseStatus;
 
+import com.uas.eis.utils.StringUtil;
+
+
 @ControllerAdvice
 public class ExceptionHandlerAdvice {
 
@@ -32,5 +36,20 @@ public class ExceptionHandlerAdvice {
 		return map;
 	}
 	
+	/**
+	 * 处理通过BaseUtil.showError抛出的异常
+	 * 
+	 * @param ex
+	 * @return
+	 */
+	@ExceptionHandler(SystemException.class)
+	@ResponseStatus(value = HttpStatus.INTERNAL_SERVER_ERROR)
+	@ResponseBody
+	public ModelMap handleSystemError(SystemException ex, HttpServletRequest request) {
+		ModelMap map = new ModelMap();
+		map.put("exceptionInfo", ex.getMessage());
+		return map;
+	}
+
 	
 }

+ 3 - 5
src/main/java/com/uas/eis/service/UserService.java → src/main/java/com/uas/eis/service/QueryService.java

@@ -1,15 +1,13 @@
 package com.uas.eis.service;
 
-import java.util.Map;
-
-public interface UserService {
+public interface QueryService {
 
 	public abstract String login(String username, String password);
 	
-	public abstract Map<String, Object> getUser(String username);
-	
 	public abstract boolean checkUser(String username, String password);
 	
 	public abstract boolean checkAction(String username, String action);
+	
+	public Object query(String code, String param);
 
 }

+ 0 - 10
src/main/java/com/uas/eis/service/RoleService.java

@@ -1,10 +0,0 @@
-package com.uas.eis.service;
-
-public interface RoleService {
-	
-	public abstract String login(String username, String password);
-
-	public abstract boolean checkActionAccess(String username, String action);
-
-	public abstract boolean checkRoleEnable(String username);
-}

+ 228 - 0
src/main/java/com/uas/eis/serviceImpl/QueryServiceImpl.java

@@ -0,0 +1,228 @@
+package com.uas.eis.serviceImpl;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import com.alibaba.fastjson.JSON;
+import com.uas.eis.core.support.TokenHandler;
+import com.uas.eis.dao.BaseDao;
+import com.uas.eis.entity.QueryArgs;
+import com.uas.eis.entity.QueryConfig;
+import com.uas.eis.entity.QueryConfigDetail;
+import com.uas.eis.service.QueryService;
+import com.uas.eis.utils.BaseUtil;
+
+import net.sf.json.JSONObject;
+
+@Service
+public class QueryServiceImpl implements QueryService {
+
+	@Autowired
+	private BaseDao baseDao;
+	
+	@Override
+	public String login(String username, String password) {
+		return TokenHandler.createToken(username, password);
+	}
+	
+	@Override
+	@Cacheable(value="userEnableCache")
+	public boolean checkUser(String username, String password) {
+		return baseDao.checkIf("EIS_USER", "eu_enable=-1 and " + "eu_name='" + username + "' and eu_password='" + password + "'");
+	}
+
+	@Override
+	@Cacheable(value="userActionEnableCache")
+	public boolean checkAction(String username, String action) {
+		boolean flag = false;
+		String roles = baseDao.queryForObject("select eu_role from eis_user where eu_name='" + username + "'", String.class);
+		String[] fields = {"er_reg","er_action"};
+		if(roles == null) {
+			return false;
+		}
+		List<JSONObject> res = baseDao.getFieldsJSONDatasByCondition("EIS_ROLE", fields, "er_id in (" + roles + ")");
+		for(int o = 0; o< res.size(); o++) {
+			JSONObject data = res.get(o);
+			String reg = data.containsKey("er_reg")?data.getString("er_reg"):"";
+			String act = data.containsKey("er_action")?data.getString("er_action"):"";
+			if(action.matches(reg) || act.indexOf(action) != -1) {
+				flag = true;
+				break;
+			}
+		}
+		return flag;
+	}
+	public String getUsers(){
+		String sql = "SELECT EM_NAME,EM_CODE,TO_CHAR(EM_INDATE,'yyyy-MM-dd hh24:mm:ss') EM_INDATE FROM EMPLOYEE WHERE EM_CODE = 'U0818'";
+		Map<String, Object> map = baseDao.getJdbcTemplate().queryForMap(sql);
+		List<Map<String,Object>> list = baseDao.queryForList("SELECT * FROM UPLOADDOCDETAIL WHERE UDD_UDID=284");
+		return BaseUtil.parseDataToJson(map,list);
+	}
+	
+	/**
+	 * 标准查询API
+	 * @param code		查询方案Code
+	 * @param param		参数
+	 * @return
+	 */
+	public Object query(String code, String param){
+		Map<String, Object> resultmap = new HashMap<String, Object>();
+		List<Map<String, Object>> resultList = new ArrayList<Map<String,Object>>();
+		com.alibaba.fastjson.JSONObject json = JSON.parseObject(param);
+		//查询参数配置表
+		String getInOutParamsSql = "select * from queryArgs where qa_qccode = ?";
+		List<QueryArgs> inOutParamList = baseDao.query(getInOutParamsSql,  QueryArgs.class, code);
+		Map<String, String> argsMap = new HashMap<String, String>();	//存参数名对应的参数值
+		Map<String, String> argsTypeMap = new HashMap<String, String>();		//存参数名对应的参数类型
+		for(QueryArgs args : inOutParamList){
+			argsMap.put(args.getQa_param(),json.getString(args.getQa_param()));
+			argsTypeMap.put(args.getQa_param(), args.getQa_paramtype());
+		}
+		//校验查询方案传入的参数是否正确
+		checkParam(code, param);
+		//code对应的查询方案
+		String getQueryConfigsql = "select * from queryconfig where qc_code=? order by qc_detno"; 
+		List<QueryConfig> queryConfigList = baseDao.query(getQueryConfigsql, QueryConfig.class, code);
+		if(queryConfigList != null){
+			List<String> valueList = new ArrayList<String>();
+			Object mainField = baseDao.getFieldDataByCondition("queryArgs", "qa_param", "qa_qccode='"+code+"' and qa_ismainfield=1");
+			if(mainField != null && "array".equals(argsTypeMap.get(mainField))){
+				String argValue = argsMap.get(mainField);
+				String[] valueArray = argValue.replace("[", "").replace("]", "").replaceAll("\"", "").split(",");
+				valueList = new ArrayList<String>(Arrays.asList(valueArray));
+			}else{
+				valueList.add(argsMap.get(mainField));
+			}
+			for(int i = 0; i < valueList.size(); i++){
+				Map<String, Object> map = new HashMap<String, Object>();
+				for(QueryConfig queryConfig : queryConfigList){
+					StringBuilder inParam = new StringBuilder();
+					StringBuilder outParam = new StringBuilder();
+					//查询方案明细表,得到要查询的字段
+					String getQueryFieldssql = "select * from queryConfigDetail where qcd_qcid = ?";
+					List<QueryConfigDetail> queryFieldsList = baseDao.query(getQueryFieldssql, QueryConfigDetail.class, queryConfig.getQc_id());
+					StringBuilder sb = new StringBuilder();
+					sb.append("select ");
+					for(QueryConfigDetail field : queryFieldsList){
+						sb.append(field.getQcd_field() + " \"" + field.getQcd_mappingkey() + "\",");
+					}
+					sb.deleteCharAt(sb.length()-1);			//去掉最后一个 ,
+					sb.append(" from " + queryConfig.getQc_table());
+					//拼接condition
+					String condition = queryConfig.getQc_condition();
+					Pattern pattern = Pattern.compile("@[\\w]+");		//通过正则替换@变量
+					Matcher m = pattern.matcher(condition);
+					List<String> matchList = new ArrayList<String>();
+					while(m.find()){
+						matchList.add(m.group());
+					}
+					for(String match : matchList){
+						/*if("array".equals(argsTypeMap.get(match.replace("@", "")))){
+							String value = argsMap.get(match.replace("@", ""));
+							value = value.replaceAll("\"", "'");
+							condition = condition.replaceAll(match, value);
+						}else{
+							condition = condition.replaceAll(match, "'"+argsMap.get(match.replace("@", ""))+"'");
+						}*/
+						if(match.equals("@"+mainField)){
+							condition = condition.replaceAll(match, "'"+valueList.get(i)+"'");
+							inParam.append(mainField+"="+valueList.get(i)+";");
+						}else{
+							condition = condition.replaceAll(match, "'"+argsMap.get(match.replace("@", ""))+"'");
+							inParam.append(match.replace("@","")+"="+argsMap.get(match.replace("@", ""))+";");
+						}
+					}
+					sb.append(" " + condition);		//append where条件
+					//append order by语句
+					if(!StringUtils.isEmpty(queryConfig.getQc_orderby())){
+						sb.append(" " + queryConfig.getQc_orderby());
+					}
+					if(queryFieldsList != null && queryFieldsList.size()>0){
+						if(queryConfig.getQc_isArray() != null && queryConfig.getQc_isArray() == 0){
+							map.put(queryConfig.getQc_mapkey(), baseDao.getJdbcTemplate().queryForMap(sb.toString()));
+						}else{
+							map.put(queryConfig.getQc_mapkey(), baseDao.queryForList(sb.toString()));
+						}
+					}
+					
+					//获取额外返回值
+					if(!StringUtils.isEmpty(queryConfig.getQc_return())){
+						String getReturnSql = "select " + queryConfig.getQc_return() + " from " + queryConfig.getQc_table() + " " + condition;
+						Map<String, Object> returnMap = baseDao.getJdbcTemplate().queryForMap(getReturnSql);
+						List<Object> list = baseDao.getFieldDatasByCondition("queryArgs", "qa_param", "qa_qccode='"+queryConfig.getQc_code()+"' and qa_relation="+queryConfig.getQc_id()+" order by qa_detno");
+						Iterator<Object> it = returnMap.values().iterator();
+						int j = 0;
+						while(it.hasNext()){
+							String value = String.valueOf(it.next());
+							argsMap.put(String.valueOf(list.get(j)), value);
+							outParam.append(String.valueOf(list.get(j))+"="+value+";");
+							j++;
+						}
+					}
+					//记录日志
+					String insertSql = "INSERT INTO QUERYLOG(QL_ID,QL_QCCODE,QL_PARAM,QL_RETURN,QL_DATE) VALUES(QUERYLOG_SEQ.NEXTVAL,'"+queryConfig.getQc_code()+"','"+inParam.toString()+"','"+outParam.toString()+"',SYSDATE)";
+					baseDao.execute(insertSql);
+				}
+				if(valueList.size() > 1){
+					resultList.add(map);
+				}else{
+					resultmap.putAll(map);
+				}
+			}
+			if(valueList.size() > 1)
+				return resultList;
+			else
+				return resultmap;
+		}else{
+			return resultmap;
+		}
+		
+	}
+	
+	/**
+	 * 传入参数的合法性校验
+	 * @param code
+	 * @param param
+	 */
+	private void checkParam(String code, String param){
+		com.alibaba.fastjson.JSONObject json = JSON.parseObject(param);
+		if(StringUtils.isEmpty(code)){
+			BaseUtil.showError("查询方案编号不能为空");
+		}
+		if(json == null){
+			BaseUtil.showError("传入的参数个数不正确");
+		}
+		String getInParamsSql = "select * from queryArgs where qa_qccode = ? and qa_relation is null";
+		List<QueryArgs> inParamList = baseDao.query(getInParamsSql,  QueryArgs.class, code);
+		if(inParamList.size() != json.size()){
+			BaseUtil.showError("传入的参数个数不正确");
+		}else{
+			 for(QueryArgs queryArgs : inParamList){
+				 if(json.getString(queryArgs.getQa_param()) == null){
+					 BaseUtil.showError("传入的参数名不正确");
+				 }else{
+					 if("array".equals(queryArgs.getQa_paramtype())){
+						 String stringArray = json.getString(queryArgs.getQa_param());
+						 if(!(stringArray.contains("[") && stringArray.contains("]"))){
+							 BaseUtil.showError("传入的参数:"+queryArgs.getQa_param()+"格式不正确");
+						 }
+					 }
+				 }
+			 }
+		}
+	}
+	
+	
+	
+}

+ 0 - 33
src/main/java/com/uas/eis/serviceImpl/RoleServiceImpl.java

@@ -1,33 +0,0 @@
-package com.uas.eis.serviceImpl;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.core.JdbcTemplate;
-import org.springframework.stereotype.Service;
-
-import com.uas.eis.core.support.TokenHandler;
-import com.uas.eis.service.RoleService;
-
-@Service
-public class RoleServiceImpl implements RoleService {
-
-	@Autowired
-	private JdbcTemplate jdbcTemplate; 
-	
-	@Override
-	public String login(String username, String password) {
-		return TokenHandler.createToken(username, password);
-	}
-
-	@Override
-	public boolean checkActionAccess(String username, String action) {
-		return true;
-	}
-
-	@Override
-	public boolean checkRoleEnable(String username) {
-		System.out.println("coming.....");
-		int enable = jdbcTemplate.queryForObject("select eu_enable from EIS_USER where eu_name = '" + username + "'", Integer.class);
-		return enable == -1;
-	}
-
-}

+ 0 - 70
src/main/java/com/uas/eis/serviceImpl/UserServiceImpl.java

@@ -1,70 +0,0 @@
-package com.uas.eis.serviceImpl;
-
-import java.util.List;
-import java.util.Map;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.cache.annotation.Cacheable;
-import org.springframework.stereotype.Service;
-
-import com.uas.eis.core.support.TokenHandler;
-import com.uas.eis.dao.BaseDao;
-import com.uas.eis.service.UserService;
-
-import net.sf.json.JSONObject;
-
-@Service
-public class UserServiceImpl implements UserService {
-
-	@Autowired
-	private BaseDao baseDao;
-	
-	@Override
-	@Cacheable(value="loginCache")
-	public String login(String username, String password) {
-		if(checkUser(username, password)) {
-			return TokenHandler.createToken(username, password);
-		}else {
-			return null;
-		}
-	}
-	
-	@Override
-	@Cacheable(value="userCache")
-	public Map<String, Object> getUser(String username){
-		//SpObserver.putSp("UAS_TEST");
-		System.out.println("uuuu...........");
-		return baseDao.getJdbcTemplate().queryForMap("select em_auditman from employee where em_name = ?",username);
-	}
-	
-	@Override
-	@Cacheable(value="userEnableCache")
-	public boolean checkUser(String username, String password) {
-		System.out.println("query user enable cache.....");
-		return baseDao.checkIf("EIS_USER", "eu_enable=-1 and " + "eu_name='" + username + "' and eu_password='" + password + "'");
-	}
-
-	@Override
-	@Cacheable(value="userActionEnableCache")
-	public boolean checkAction(String username, String action) {
-		System.out.println("query user action enable.....");
-		boolean flag = false;
-		String roles = baseDao.queryForObject("select eu_role from eis_user where eu_name='" + username + "'", String.class);
-		String[] fields = {"er_reg","er_action"};
-		if(roles == null) {
-			return false;
-		}
-		List<JSONObject> res = baseDao.getFieldsJSONDatasByCondition("EIS_ROLE", fields, "er_id in (" + roles + ")");
-		for(int o = 0; o< res.size(); o++) {
-			JSONObject data = res.get(o);
-			String reg = data.containsKey("er_reg")?data.getString("er_reg"):"";
-			String act = data.containsKey("er_action")?data.getString("er_action"):"";
-			if(action.matches(reg) || act.indexOf(action) != -1) {
-				flag = true;
-				break;
-			}
-		}
-		return flag;
-	}
-	
-}

+ 1 - 1
src/main/java/com/uas/eis/utils/BaseUtil.java

@@ -129,7 +129,7 @@ public class BaseUtil {
 		return map;
 	}
 	
-	public static String parsetListToJson(Map<String, Object> formMap,List<Map<String, Object>> gridList){
+	public static String parseDataToJson(Map<String, Object> formMap,List<Map<String, Object>> gridList){
 		JSONObject json = new JSONObject();
 		json.put("form", JSON.toJSON(formMap));
 		json.put("grid", JSONArray.fromObject(gridList));

+ 10 - 10
src/main/resources/application.yml

@@ -5,13 +5,13 @@ spring:
         username: UAS_DEV
         password: select!#%*(
         url: jdbc:oracle:thin:@192.168.253.6:1521:orcl
-        # 初始化大小,最小,最大
-        initialSize: 5
-        minIdle: 3
-        maxActive: 20
-        # 配置获取连接等待超时的时间
-        maxWait: 60000
-        # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
-        timeBetweenEvictionRunsMillis: 60000
-        # 配置一个连接在池中最小生存的时间,单位是毫秒
-        minEvictableIdleTimeMillis: 30000
+    http:
+        encoding:
+            force: true
+            charset: UTF-8
+            enabled: true
+    message:
+        encoding: UTF-8
+server:
+    tomcat:
+        uri_encoding: UTF-8