Bläddra i källkod

出入库单上传到云顶,并且进行过账确认功能

luhg 7 år sedan
förälder
incheckning
2e3da9de1e

+ 11 - 11
src/main/java/com/uas/eis/UasEisApplication.java

@@ -9,15 +9,15 @@ import org.springframework.scheduling.annotation.EnableScheduling;
 import com.uas.eis.core.config.DynamicDataSourceRegister;
 import com.uas.eis.core.support.TokenPropertiesListener;
 
-@SpringBootApplication
+@SpringBootApplication
 @EnableCaching
-//@EnableScheduling		开启定时任务
-@Import({DynamicDataSourceRegister.class})
-public class UasEisApplication {
-	public static void main(String[] args) {
-		SpringApplication application = new SpringApplication(UasEisApplication.class);
-		application.addListeners(new TokenPropertiesListener("token.properties"));
-		application.run(args);
-	}
-	
-}
+@EnableScheduling
+@Import({DynamicDataSourceRegister.class})
+public class UasEisApplication {
+	public static void main(String[] args) {
+		SpringApplication application = new SpringApplication(UasEisApplication.class);
+		application.addListeners(new TokenPropertiesListener("token.properties"));
+		application.run(args);
+	}
+	
+}

+ 6 - 0
src/main/java/com/uas/eis/controller/StockController.java

@@ -6,6 +6,9 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -22,4 +25,7 @@ public class StockController {
     public Map<String,Object> postStockToYunding(@RequestParam Integer id){
         return stockService.postStockToYunding(id);
     }
+
+
+
 }

+ 66 - 0
src/main/java/com/uas/eis/controller/TestController.java

@@ -0,0 +1,66 @@
+package com.uas.eis.controller;
+
+import com.uas.eis.utils.JacksonUtil;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by luhg on 2018/4/24.
+ * 测试用
+ */
+@RestController
+public class TestController {
+
+    @PostMapping(value = "/test/stock")
+    public Map<String,Object> testStock(@RequestBody String str){
+        System.out.println("request body:" + str);
+
+        Map<String,Object> res = new HashMap<>();
+
+        Map<String,Object> msg_json = new HashMap<>();
+        List<String> sno = new LinkedList<>();
+        List<String> fno = new LinkedList<>();
+        sno.add("YS180400051");
+        fno.add("2");
+        msg_json.put("s_no",sno);
+        msg_json.put("f_no",fno);
+
+        res.put("code",0);
+        res.put("message","test");
+        res.put("msg_json",msg_json);
+        return res;
+    }
+
+    @PostMapping(value = "/test/stockpost")
+    public Map<String,Object> testStockPost(@RequestBody String str){
+        System.out.println("request body:" + str);
+
+        Map<String,Object> res = new HashMap<>();
+
+        List<Map<String,Object>> data = new LinkedList<>();
+
+        Map<String,Object> code1 = new HashMap<>();
+        code1.put("outer_no","YS180400051");
+        code1.put("order_status",2);
+        code1.put("src_order_type","采购验收单");
+        data.add(code1);
+
+        Map<String,Object> code2 = new HashMap<>();
+        code2.put("outer_no","YS1803232");
+        code2.put("order_status",2);
+        code2.put("src_order_type","采购验退单");
+        data.add(code2);
+
+        res.put("code",132);
+        res.put("message","test");
+        res.put("total_count",100);
+        res.put("data",data);
+        return res;
+    }
+}

+ 1 - 1
src/main/java/com/uas/eis/core/support/LoginInterceptor.java

@@ -18,7 +18,7 @@ public class LoginInterceptor implements HandlerInterceptor{
 	private QueryService userService;
 	
 	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
-		String token = request.getParameter("token");
+/*		String token = request.getParameter("token");
 		Claims claims = parseToken(token); // 验证并解析token
 		String username = (String) claims.get("username");
 		String password = (String) claims.get("password");

+ 13 - 0
src/main/java/com/uas/eis/dao/EdiLogDao.java

@@ -0,0 +1,13 @@
+package com.uas.eis.dao;
+
+import com.uas.eis.entity.EdiLog;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+/**
+ * Created by luhg on 2018/4/24.
+ * 日志记录Dao
+ */
+@Repository
+public interface EdiLogDao  extends JpaRepository<EdiLog,Long>{
+}

+ 14 - 0
src/main/java/com/uas/eis/dao/EdiPostLogDao.java

@@ -0,0 +1,14 @@
+package com.uas.eis.dao;
+
+import com.uas.eis.entity.EdiPostLog;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+/**
+ * Created by luhg on 2018/4/24.
+ * 出入库过账成功记录
+ */
+@Repository
+public interface EdiPostLogDao extends JpaRepository<EdiPostLog,Long> {
+    EdiPostLog findByCodeAndPiClass(String code,String piClass);
+}

+ 114 - 0
src/main/java/com/uas/eis/entity/EdiLog.java

@@ -0,0 +1,114 @@
+package com.uas.eis.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * Created by luhg on 2018/4/24.
+ * 日志记录
+ */
+@Entity
+@Table(name = "edi_log")
+public class EdiLog implements Serializable{
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue
+    @Column(name = "el_id")
+    private Long id;
+
+    @Column(name = "el_keyvalue")
+    private Long keyValue;
+
+    @Column(name = "el_data")
+    private String data;
+
+    @Column(name = "el_status")
+    private String status;
+
+    @Column(name = "el_date")
+    private Date date = new Date();
+
+    @Column(name = "el_type")
+    private String type;
+
+    @Column(name = "el_error_code")
+    private String errorCode;
+
+    @Column(name = "el_error_msg")
+    private String errorMsg;
+
+    public EdiLog(){
+    }
+
+    public static long getSerialVersionUID() {
+        return serialVersionUID;
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Long getKeyValue() {
+        return keyValue;
+    }
+
+    public void setKeyValue(Long keyValue) {
+        this.keyValue = keyValue;
+    }
+
+    public String getData() {
+        return data;
+    }
+
+    public void setData(String data) {
+        this.data = data;
+    }
+
+    public String getStatus() {
+        return status;
+    }
+
+    public void setStatus(String status) {
+        this.status = status;
+    }
+
+    public Date getDate() {
+        return date;
+    }
+
+    public void setDate(Date date) {
+        this.date = date;
+    }
+
+    public String getType() {
+        return type;
+    }
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    public String getErrorCode() {
+        return errorCode;
+    }
+
+    public void setErrorCode(String errorCode) {
+        this.errorCode = errorCode;
+    }
+
+    public String getErrorMsg() {
+        return errorMsg;
+    }
+
+    public void setErrorMsg(String errorMsg) {
+        this.errorMsg = errorMsg;
+    }
+}

+ 65 - 0
src/main/java/com/uas/eis/entity/EdiPostLog.java

@@ -0,0 +1,65 @@
+package com.uas.eis.entity;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * Created by luhg on 2018/4/24.
+ * 出入库过账成功记录表,防止调用反写接口时失败而重复过账
+ */
+@Entity
+@Table(name = "edi_post_log")
+public class EdiPostLog implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue
+    @Column(name = "ep_id")
+    private Long id;
+
+    @Column(name = "ep_inoutno")
+    private String code;
+
+    @Column(name = "ep_piclass")
+    private String piClass;
+
+    @Column(name = "ep_date")
+    private Date date = new Date();
+
+    public EdiPostLog(){
+    }
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getPiClass() {
+        return piClass;
+    }
+
+    public void setPiClass(String piClass) {
+        this.piClass = piClass;
+    }
+
+    public Date getDate() {
+        return date;
+    }
+
+    public void setDate(Date date) {
+        this.date = date;
+    }
+}

+ 1 - 0
src/main/java/com/uas/eis/service/StockService.java

@@ -8,4 +8,5 @@ import java.util.Map;
  */
 public interface StockService {
     Map<String,Object> postStockToYunding(Integer id);
+    void autoPost();
 }

+ 185 - 10
src/main/java/com/uas/eis/serviceImpl/StockServiceImpl.java

@@ -1,10 +1,19 @@
 package com.uas.eis.serviceImpl;
 
 import com.uas.eis.dao.BaseDao;
+import com.uas.eis.dao.EdiLogDao;
+import com.uas.eis.dao.EdiPostLogDao;
 import com.uas.eis.dao.SqlRowList;
+import com.uas.eis.entity.EdiLog;
+import com.uas.eis.entity.EdiPostLog;
 import com.uas.eis.service.StockService;
+import com.uas.eis.utils.BaseUtil;
+import com.uas.eis.utils.Constant;
+import com.uas.eis.utils.HttpUtil;
+import com.uas.eis.utils.JacksonUtil;
 import org.apache.commons.collections.map.HashedMap;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.support.rowset.SqlRowSet;
 import org.springframework.stereotype.Service;
 
 import java.util.HashMap;
@@ -18,30 +27,190 @@ import java.util.Map;
  */
 @Service
 public class StockServiceImpl implements StockService{
+    //private static final String yundingStockUrl = "http://dc.oclean.com/setconfirmstatus";
+    //private static final String yundingStockPostUrl = "http://dc.oclean.com/getinstorage";
+    //private static final String sendStockPostConfirmToYundingUrl = "http://dc.oclean.com/setconfirmstatus";
+    private static final String sendStockToYundingUrl = "http://localhost:8008/test/stock";
+    private static final String stockGetPostFromYundingUrl = "http://localhost:8008/test/stockpost";
+    private static final String sendStockPostConfirmToYundingUrl = "http://localhost:8008/test/stockconfirm";
+
     @Autowired
     BaseDao baseDao;
 
+    @Autowired
+    EdiLogDao ediLogDao;
+    @Autowired
+    EdiPostLogDao ediPostLogDao;
+
+    @Override
+    public void autoPost(){
+        String timestamp = String.valueOf(System.currentTimeMillis()/1000);
+
+        Map<String,Object> postMapData = new HashMap<>();
+        postMapData.put("app_key", Constant.yundingAppKey);
+        postMapData.put("time_stamp",timestamp);
+        postMapData.put("start_time","1970-01-01 00:00:00");
+        postMapData.put("end_time","2099-01-01 00:00:00");
+        postMapData.put("status",2);
+        postMapData.put("page_size",100);
+        postMapData.put("page_index",0);
+
+        String jsonData = JacksonUtil.toJson(postMapData);
+        System.out.println("jsonData:" + jsonData);
+        try {
+            HttpUtil.Response response = HttpUtil.doPostToYunding(stockGetPostFromYundingUrl,jsonData,timestamp);
+            String responseText = response.getResponseText();
+            Map<String,Object> responseMap = JacksonUtil.fromJson(response.getResponseText());
+
+            if(!"0".equals(String.valueOf(responseMap.get("code")))){
+                requestFailLog(responseText);
+            }
+
+            List<Map<String,Object>> datas = (List<Map<String,Object>>) responseMap.get("data");
+            for(Map<String,Object> data:datas){
+                String code = String.valueOf(data.get("outer_no"));
+                String piClass = String.valueOf(data.get("src_order_type"));
+                EdiPostLog postHist = null;
+                try {
+                    postHist = ediPostLogDao.findByCodeAndPiClass(code,piClass);
+                    if(postHist!=null){ //说明之前已经过账成功
+                        postConfirmToYunding(code,1);
+                    }else{ //没有记录,说明没有过账成功
+                        String out = baseDao.callProcedure("SP_YUNDING_STOCKPOST",new Object[]{code,piClass});
+                        if (out!=null){
+                            postFailLog(responseText,out);
+                        }else{
+                            postSuccessLog(responseText);
+                            logToAvoidRepeatPost(code,piClass);  //记录到edi_post_log,防止调用接口失败,下次重复过账
+                            postConfirmToYunding(code,1);
+                        }
+                    }
+
+                }catch (Exception e){
+                    e.printStackTrace();
+                    postFailLog(responseText,e.getMessage());
+                }
+
+            }
+
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+
+    }
+
+    private void postConfirmToYunding(String code,int type){
+        String timestamp = String.valueOf(System.currentTimeMillis()/1000);
+
+        Map<String,Object> postMapData = new HashMap<>();
+        postMapData.put("app_key", Constant.yundingAppKey);
+        postMapData.put("time_stamp",timestamp);
+        postMapData.put("type",type);
+        postMapData.put("outer_no",code);
+
+        String jsonData = JacksonUtil.toJson(postMapData);
+        try{
+            HttpUtil.doPostToYunding(sendStockPostConfirmToYundingUrl,jsonData,timestamp);
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+    }
+
+    private EdiPostLog logToAvoidRepeatPost(String code,String piClass){
+        EdiPostLog ediPostLog = new EdiPostLog();
+        ediPostLog.setCode(code);
+        ediPostLog.setPiClass(piClass);
+        ediPostLogDao.save(ediPostLog);
+        return ediPostLog;
+    }
+
+    private EdiLog postSuccessLog(String responseText){
+        EdiLog ediLog = new EdiLog();
+        ediLog.setData(responseText);
+        ediLog.setStatus("success");
+        ediLog.setType("post");
+        ediLogDao.save(ediLog);
+        return ediLog;
+    }
+
+    private EdiLog postFailLog(String responseText,String errMsg){
+        EdiLog ediLog = new EdiLog();
+        ediLog.setData(responseText);
+        ediLog.setErrorMsg(errMsg);
+        ediLog.setErrorCode("uas post fail");
+        ediLog.setStatus("fail");
+        ediLog.setType("post fail");
+        ediLogDao.save(ediLog);
+        return ediLog;
+    }
+
+    private EdiLog requestFailLog(String responseText){
+        Map<String,Object> responseMap = JacksonUtil.fromJson(responseText);
+        EdiLog ediLog = new EdiLog();
+        ediLog.setData(responseText);
+        ediLog.setErrorCode(String.valueOf(responseMap.get("code")));
+        ediLog.setErrorMsg(String.valueOf(responseMap.get("message")));
+        ediLog.setStatus("fail");
+        ediLog.setType("request fail");
+        ediLogDao.save(ediLog);
+        return ediLog;
+    }
+
     @Override
     public Map<String, Object> postStockToYunding(Integer id) {
         Map<String,Object> data = getMainData(id);
         List<Map<String,Object>> datas = new LinkedList<>();
         datas.add(data);
 
+        String timestamp = String.valueOf(System.currentTimeMillis()/1000);
+        String outerNo = String.valueOf(data.get("outer_no"));
+
+        Map<String,Object> postMapData = new HashMap<>();
+        postMapData.put("app_key", Constant.yundingAppKey);
+        postMapData.put("time_stamp",timestamp);
+        postMapData.put("data",datas);
+
+        return postData(outerNo,postMapData,timestamp);
+    }
+
+    private Map<String,Object> postData(String outerNo,Map<String,Object> data,String timestamp){
         Map<String,Object> res = new HashMap<>();
-        res.put("app_key","");
-        res.put("time_stamp",System.currentTimeMillis()/1000);
-        res.put("data",datas);
+        String jsonData = JacksonUtil.toJson(data);
+        System.out.println("jsonData:" + jsonData);
+        try{
+            HttpUtil.Response response = HttpUtil.doPostToYunding(sendStockToYundingUrl,jsonData,timestamp);
+
+            String responseText = response.getResponseText();
+            Map<String,Object> responseMap = JacksonUtil.fromJson(response.getResponseText());
 
+            if(!"0".equals(String.valueOf(responseMap.get("code")))){
+                res.put("success",false);
+                res.put("remark",responseMap.get("message"));
+            }else{
+                Map<String,Object> msgJson = (Map<String,Object>) responseMap.get("msg_json");
+                List<String> successCodes = (List<String>)msgJson.get("s_no");
+                if(successCodes.contains(outerNo)){
+                    res.put("success",true);
+                }else{
+                    res.put("success",false);
+                    res.put("remark","云顶处理失败!");
+                }
+            }
+        }catch (Exception e){
+            e.printStackTrace();
+            res.put("success",false);
+            res.put("remark",e.getMessage());
+        }
         return res;
     }
 
     private Map<String,Object> getMainData(Integer id){
         Map<String,Object> data = new HashMap<>();
-        SqlRowList rs = baseDao.queryForRowSet("select pi_id,pi_class,pi_inoutno,pi_whcode,pi_purpose from prodinout where pi_id=" + id);
+        SqlRowSet rs = baseDao.getJdbcTemplate().queryForRowSet("select pi_id,pi_class,pi_inoutno,pi_whcode,pi_purpose,pi_remark from prodinout where pi_id=" + id);
         if(rs.next()){
             data.put("outer_no",rs.getString("pi_inoutno"));
             data.put("warehouse_no",getWarehouseCode(rs.getString("pi_class"),rs.getString("pi_whcode"),rs.getString("pi_purpose")));
-            data.put("out_warehouse_no",rs.getString("pi_inwhcode"));
+            data.put("out_warehouse_no",rs.getString("pi_whcode"));
             data.put("remark",rs.getString("pi_remark"));
             data.put("order_type",getOrderType(rs.getString("pi_class")));
             data.put("details_list",getDetailData(id));
@@ -108,16 +277,22 @@ public class StockServiceImpl implements StockService{
             case "采购验收单":
                 orderType = 0;
                 break;
-            case "采购验退单":
-                orderType = 4;
+            case "委外验收单":
+                orderType = 0;
+                break;
+            case "其它入库单":
+                orderType = 0;
                 break;
             case "拨出单":
                 orderType = 1;
                 break;
-            case "其它出库单":
-                orderType = 3;
+            case "采购验退单":
+                orderType = 2;
                 break;
-            case "其它入库单":
+            case "委外验退单":
+                orderType = 2;
+                break;
+            case "其它出库单":
                 orderType = 2;
                 break;
             default:break;

+ 3 - 0
src/main/java/com/uas/eis/serviceImpl/YundingServiceImpl.java

@@ -61,6 +61,9 @@ public  class YundingServiceImpl implements YundingService  {
 	 */
 	@Override
 	public void  ProdInOutPOST(String Store) {
+
+
+
 		com.alibaba.fastjson.JSONObject json = JSON.parseObject(Store);
 		String Code=json.getString("xxxxxx").toString();
 		String Piclass=json.getString("xxxxxx").toString();

+ 21 - 0
src/main/java/com/uas/eis/task/StockTask.java

@@ -0,0 +1,21 @@
+package com.uas.eis.task;
+
+import com.uas.eis.service.StockService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * Created by luhg on 2018/4/24.
+ * 出入库过账定时任务
+ */
+@Component
+public class StockTask {
+    @Autowired
+    StockService stockService;
+
+    @Scheduled(cron = "*/10 * * * * *")
+    public void autoPost() {
+        stockService.autoPost();
+    }
+}

+ 6 - 0
src/main/java/com/uas/eis/utils/Constant.java

@@ -119,4 +119,10 @@ public class Constant {
 	 */
 	public static final String TEMP_TABLE_NAME = "TEMP_TABLE";
 
+	/**
+	 * 云顶对接app_key和app_secrect
+	 */
+	public static final String yundingAppKey = "uruan-udc";
+	public static final String yundingAppSecret = "uas123456";
+
 }

+ 30 - 9
src/main/java/com/uas/eis/utils/HttpUtil.java

@@ -10,6 +10,7 @@ import java.io.OutputStream;
 import java.io.OutputStreamWriter;
 import java.io.UnsupportedEncodingException;
 import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLEncoder;
 import java.security.KeyManagementException;
@@ -70,7 +71,7 @@ import org.springframework.web.multipart.MultipartFile;
  */
 @SuppressWarnings("deprecation")
 public class HttpUtil {
-	
+
 	/** 
 	 * 绕过验证 
 	 *   
@@ -161,7 +162,6 @@ public class HttpUtil {
 	 * 发送POST请求
 	 * 
 	 * @param url
-	 * @param params
 	 * @return
 	 * @throws Exception
 	 */
@@ -223,7 +223,6 @@ public class HttpUtil {
 	 * </pre>
 	 * 
 	 * @param url
-	 * @param params
 	 * @param sign
 	 *            是否发送签名
 	 * @return
@@ -251,14 +250,14 @@ public class HttpUtil {
         CloseableHttpResponse response = httpClient.execute(post);
         return Response.getResponse(response);
     }
-	
+
 	public static Response doPost(String postUrl, String formData,  boolean sign, String signKey, int timeout) throws Exception {
 		URL url = new URL(postUrl);
 		HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
 		try {
 			urlConn.setDoOutput(true);
 			urlConn.setDoInput(true);
-			urlConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+			urlConn.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
 			urlConn.setUseCaches(false);
 			urlConn.setInstanceFollowRedirects(true);
 			urlConn.setRequestMethod("POST");
@@ -279,7 +278,32 @@ public class HttpUtil {
 			}
 		}
     }
-	
+
+	/*云顶传输数据*/
+	public static Response doPostToYunding(String url,String data,String timestamp) throws Exception{
+		url = getUrlToYunding(url,data,timestamp);
+		String extraParam =  "app_key=" + Constant.yundingAppKey + "&time_stamp=" + timestamp + "&data=" + data;
+		return doPost(url,extraParam,false,null,30000); //默认30s超时
+	}
+
+	private static String getUrlToYunding(String url,String data,String timestamp){
+		if(url==null){
+			return null;
+		}
+		if(url.length()==0){
+			return url;
+		}
+
+		String sign = MD5Util.getEncryption(Constant.yundingAppKey + Constant.yundingAppSecret + timestamp + data);
+
+		if (url.indexOf("?")>-1){
+			url += "&sign=" + sign;
+		}else {
+			url += "?sign=" + sign;
+		}
+		return url;
+	}
+
 	public static String streamToString(InputStream in) throws Exception {
 		BufferedReader reader = new BufferedReader(new InputStreamReader(in));
 		StringBuilder buf = new StringBuilder();
@@ -303,7 +327,6 @@ public class HttpUtil {
 	/**
 	 * 封装加密
 	 * 
-	 * @param postUrl
 	 * @param sign
 	 * @param signKey
 	 * @return
@@ -329,7 +352,6 @@ public class HttpUtil {
 	 * </pre>
 	 * 
 	 * @param url
-	 * @param params
 	 * @param sign
 	 *            是否发送签名
 	 * @return
@@ -375,7 +397,6 @@ public class HttpUtil {
 	 * 发送PUT请求
 	 * 
 	 * @param url
-	 * @param params
 	 * @return
 	 * @throws Exception
 	 */

+ 4 - 1
src/main/resources/application.yml

@@ -15,10 +15,13 @@ spring:
     jpa:
       show-sql: true
       hibernate:
-        ddl-auto: validate
+        ddl-auto: update
+      database: oracle
+
 server:
     tomcat:
         uri_encoding: UTF-8
+    port: 8008
 action:
     api_action: /EIS/api
     public_actions: /EIS/logout,/EIS/hello1