From eb3f8587aa7466fd6d2d3ca712d0f9baf4e27dcb Mon Sep 17 00:00:00 2001
From: 王佳豪 <g675230687@126.com>
Date: 星期五, 25 六月 2021 11:01:58 +0800
Subject: [PATCH] 1.sap请求日志记录

---
 src/main/java/com/slcf/controller/ReportQueryController.java      |   40 ++-
 src/main/java/com/slcf/pojo/SapRequestLogBean.java                |   84 ++++++++
 src/main/webapp/jsFiles/sapRequestLog.js                          |  100 ++++++++++
 version/新增表结构/table                                               |   44 ++++
 src/main/java/com/slcf/filter/UpdateThread.java                   |  133 +++++++++++++
 src/main/java/com/slcf/controller/SapRequestLogController.java    |   46 ++++
 src/main/java/com/slcf/service/impl/SapRequestLogServiceImpl.java |   36 +++
 src/main/webapp/WEB-INF/pages/sapRequestLog.jsp                   |   20 ++
 src/main/java/com/slcf/dao/SapRequestLogDao.java                  |   19 +
 src/main/java/com/slcf/service/SapRequestLogService.java          |   16 +
 src/main/resources/mapper/SapRequestLogMapper.xml                 |   26 ++
 11 files changed, 548 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/slcf/controller/ReportQueryController.java b/src/main/java/com/slcf/controller/ReportQueryController.java
index d59a83a..1a27df1 100644
--- a/src/main/java/com/slcf/controller/ReportQueryController.java
+++ b/src/main/java/com/slcf/controller/ReportQueryController.java
@@ -1,30 +1,20 @@
 package com.slcf.controller;
 
+import java.util.List;
 import java.util.Map;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.slcf.pojo.*;
+import com.slcf.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import com.slcf.pojo.UserBean;
-import com.slcf.pojo.ViewInOutBean;
-import com.slcf.pojo.ViewLocMapBean;
-import com.slcf.pojo.ViewStayTimeBean;
-import com.slcf.pojo.ViewStockUseBean;
-import com.slcf.pojo.ViewWorkInBean;
 import com.slcf.bean.LocDetailCondition;
-import com.slcf.pojo.AdjDetailBean;
-import com.slcf.pojo.PlcCommandBean;
-import com.slcf.pojo.SysLogBean;
-import com.slcf.service.LocDetailService;
-import com.slcf.service.ReportQueryService;
-import com.slcf.service.RoleService;
-import com.slcf.service.SysLogService;
 import com.slcf.util.AuthorityCode;
 
 /**
@@ -44,6 +34,30 @@
 	LocDetailService locDetailService;
 	@Autowired
 	RoleService roleService;
+	@Autowired
+	SapRequestLogService sapRequestLogService;
+
+	@RequestMapping("/goViewSapRequestLog.action")
+	public String goViewSapRequestLog(HttpServletRequest request){
+		try {
+			String rid = request.getSession().getAttribute("ROLEID").toString();
+			String authCode = roleService.getAuthListByRoleMenu(Integer.parseInt(rid),
+					AuthorityCode.ViewStockUseCode);
+			request.getSession().setAttribute("AUTHCODE",authCode);
+			// 鎻掑叆鏃ュ織
+			UserBean user = (UserBean) request.getSession().getAttribute("USER");
+			SysLogBean sysLog = new SysLogBean();
+			sysLog.setLogin_no(user.getUser_account());
+			sysLog.setMachine_ip(request.getRemoteAddr());
+			sysLog.setForm_no("goViewStockUse.action");
+			sysLog.setTts_keyname("璁块棶:SAP璇锋眰鏃ュ織");
+			sysLog.setModi_user(user.getUser_account());
+			sysLogService.insertSysLog(sysLog);
+		}catch (Exception e) {
+			System.out.println(e.getMessage());
+		}
+		return "sapRequestLog";
+	}
 
 	@RequestMapping("/goViewStockUse.action")
 	public String goViewStockUsePage(HttpServletRequest request){
diff --git a/src/main/java/com/slcf/controller/SapRequestLogController.java b/src/main/java/com/slcf/controller/SapRequestLogController.java
new file mode 100644
index 0000000..a926fc8
--- /dev/null
+++ b/src/main/java/com/slcf/controller/SapRequestLogController.java
@@ -0,0 +1,46 @@
+package com.slcf.controller;
+
+import com.slcf.bean.WorkDetailLogCondition;
+import com.slcf.bean.WorkMastLogCondition;
+import com.slcf.pojo.SapRequestLogBean;
+import com.slcf.pojo.SysLogBean;
+import com.slcf.pojo.UserBean;
+import com.slcf.pojo.WorkMastLogBean;
+import com.slcf.service.RoleService;
+import com.slcf.service.SapRequestLogService;
+import com.slcf.service.SysLogService;
+import com.slcf.service.WorkFileLogService;
+import com.slcf.util.AuthorityCode;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 宸ヤ綔鍘嗗彶妗f帶鍒跺櫒灞�
+ * @author admin
+ * @date 2018骞�11鏈�23鏃�
+ */
+@Controller
+@RequestMapping("/sap")
+public class SapRequestLogController {
+
+	@Autowired
+	SapRequestLogService sapRequestLogService;
+
+
+	/* 鏌ヨsap璇锋眰鏃ュ織 */
+	@ResponseBody
+	@RequestMapping("/querySapLog.action")
+	public List<SapRequestLogBean> querySapLog(){
+		List<SapRequestLogBean> list = sapRequestLogService.querySapLog();
+		return list;
+	}
+}
diff --git a/src/main/java/com/slcf/dao/SapRequestLogDao.java b/src/main/java/com/slcf/dao/SapRequestLogDao.java
new file mode 100644
index 0000000..691cd72
--- /dev/null
+++ b/src/main/java/com/slcf/dao/SapRequestLogDao.java
@@ -0,0 +1,19 @@
+package com.slcf.dao;
+
+import com.slcf.pojo.SapRequestLogBean;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+import java.util.List;
+
+@Repository
+public interface SapRequestLogDao {
+
+    // 鏌ヨsap璇锋眰鏃ュ織
+    public List<SapRequestLogBean> querySapLog();
+
+    // 鏂板sap璇锋眰鏃ュ織
+    public Integer addSapLog(@Param("matnr") String matnr, @Param("request") String request, @Param("response") String response, @Param("create_time") Date create_time, @Param("type") Integer type, @Param("remark") String remark);
+}
diff --git a/src/main/java/com/slcf/filter/UpdateThread.java b/src/main/java/com/slcf/filter/UpdateThread.java
index 50fcb96..0aa93d5 100644
--- a/src/main/java/com/slcf/filter/UpdateThread.java
+++ b/src/main/java/com/slcf/filter/UpdateThread.java
@@ -5,11 +5,16 @@
 import java.io.OutputStream;
 import java.net.HttpURLConnection;
 import java.net.URL;
+import java.util.Date;
 
 import javax.annotation.Resource;
 
+import com.slcf.pojo.SapRequestLogBean;
+import com.slcf.service.SapRequestLogService;
+import net.sf.json.JSONString;
 import org.activiti.engine.impl.transformer.IntegerToString;
 import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -40,6 +45,8 @@
 //	WaitPakOutService waitPakOutService;
 //	@Resource
 //	private static WaitPakInServiceImpl waitPakInService;
+	@Autowired
+	SapRequestLogService sapRequestLogService;
 	
 	Logger logger=Logger.getLogger(UpdateThread.class);
 	
@@ -66,9 +73,9 @@
 		waitPakOutService = getWaitPakOutService();
 		while(true) {
 			try {
-				updateWaitPakInData();
-				sendPickPrintCmd();
-				updateWaitPakOutData();
+				updateWaitPakInData(); // 鍏ュ簱
+				sendPickPrintCmd(); // 鎵撳嵃
+				updateWaitPakOutData(); // 鍑哄簱
 //				updateWaitCheckData();
 				Thread.sleep(5000);
 			} catch (InterruptedException e) {
@@ -124,6 +131,14 @@
 	        if(sessionCookie==null || sessionCookie.length()<1)
 	        {
 	        	logger.error("SAP ERROR-----璋冪敤涓婃灦瀹屾垚鎺ュ彛锛実et璇锋眰鑾峰彇cookie澶辫触");
+				// SAP INFO-----璋冪敤涓婃灦瀹屾垚鎺ュ彛锛屾棩蹇楄褰�
+				SapRequestLogBean logInfo = new SapRequestLogBean();
+				logInfo.setMatnr(waitPakIn.getMatnr());
+				logInfo.setRequest("鑾峰彇cookie澶辫触,cookie鍊�:" + sessionCookie);
+				logInfo.setResponse("SAP ERROR-----璋冪敤涓婃灦瀹屾垚鎺ュ彛锛実et璇锋眰鑾峰彇cookie澶辫触");
+				logInfo.setCreate_time(new Date());
+				logInfo.setType(2);
+				sapRequestLogService.addSapLog(logInfo);
 	        	return result;
 	        }
 	        String[] sessionId = sessionCookie.split(";");
@@ -133,6 +148,14 @@
 //	        token = map.get("x-csrf-token").toString();
 		} catch (Exception e1) {
 			logger.error("SAP ERROR-----璋冪敤涓婃灦瀹屾垚鎺ュ彛1锛実et璇锋眰鑾峰彇cookie澶辫触銆�" + e1.getMessage());
+			// SAP INFO-----璋冪敤涓婃灦瀹屾垚鎺ュ彛锛屾棩蹇楄褰�
+			SapRequestLogBean logInfo = new SapRequestLogBean();
+			logInfo.setMatnr(waitPakIn.getMatnr());
+			logInfo.setRequest("鑾峰彇cookie澶辫触");
+			logInfo.setResponse("SAP ERROR-----璋冪敤涓婃灦瀹屾垚鎺ュ彛1锛実et璇锋眰鑾峰彇cookie澶辫触銆�" + e1.getMessage());
+			logInfo.setCreate_time(new Date());
+			logInfo.setType(2);
+			sapRequestLogService.addSapLog(logInfo);
 //			e1.printStackTrace();
 		}finally {
 			if(connection1!=null){
@@ -221,11 +244,29 @@
 						}catch(Exception em) {
 						}
 						if(zstatus.equals("s") || message.contains("宸茬粡瀹屽叏鎻愪緵")) {//涓婃姤SAP鎴愬姛,杞巻鍙叉。
+							// SAP INFO-----璋冪敤涓婃灦瀹屾垚鎺ュ彛锛屾棩蹇楄褰�
+							SapRequestLogBean logInfo = new SapRequestLogBean();
+							logInfo.setMatnr(waitPakIn.getMatnr());
+							logInfo.setRequest(jsObj.toString());
+							logInfo.setResponse(sb.toString());
+							logInfo.setCreate_time(new Date());
+							logInfo.setRemark("涓婃灦瀹屾垚鎺ュ彛:" + message);
+							logInfo.setType(1);
+							sapRequestLogService.addSapLog(logInfo);
 //						if(zstatus.equals("s")) {
 							waitPakIn.setIo_status("Y");
 							waitPakInService.upWaitPakIn(waitPakIn);
 							waitPakInService.moveToLog(waitPakIn);
 						}else if(zstatus.equals("e")) {//涓婃姤SAP澶辫触,鏇存柊io_status=X
+							// SAP INFO-----璋冪敤涓婃灦瀹屾垚鎺ュ彛锛屾棩蹇楄褰�
+							SapRequestLogBean logInfo = new SapRequestLogBean();
+							logInfo.setMatnr(waitPakIn.getMatnr());
+							logInfo.setRequest(jsObj.toString());
+							logInfo.setResponse(sb.toString());
+							logInfo.setCreate_time(new Date());
+							logInfo.setRemark("涓婃灦瀹屾垚鎺ュ彛:" + message);
+							logInfo.setType(2);
+							sapRequestLogService.addSapLog(logInfo);
 							waitPakIn.setIo_status("X");
 							waitPakIn.setMemo(message);
 							waitPakInService.upWaitPakIn(waitPakIn);
@@ -300,6 +341,14 @@
 	        if(sessionCookie==null || sessionCookie.length()<1)
 	        {
 	        	logger.error("璋冪敤涓嬫灦瀹屾垚鎺ュ彛锛実et璇锋眰鑾峰彇cookie澶辫触");
+				// SAP INFO-----璋冪敤涓婃灦瀹屾垚鎺ュ彛锛屾棩蹇楄褰�
+				SapRequestLogBean logInfo = new SapRequestLogBean();
+				logInfo.setMatnr(waitPakOut.getMatnr());
+				logInfo.setRequest("鑾峰彇cookie鍊煎け璐�,cookie锛�" + sessionCookie);
+				logInfo.setResponse("璋冪敤鍑哄簱瀹屾垚鎺ュ彛锛実et璇锋眰鑾峰彇cookie澶辫触");
+				logInfo.setCreate_time(new Date());
+				logInfo.setType(2);
+				sapRequestLogService.addSapLog(logInfo);
 	        	return result;
 	        }
 	        String[] sessionId = sessionCookie.split(";");
@@ -310,6 +359,14 @@
 //	        token = map.get("x-csrf-token").toString();
 		} catch (Exception e1) {
 			logger.error("璋冪敤涓嬫灦瀹屾垚鎺ュ彛锛実et璇锋眰鑾峰彇cookie澶辫触" + e1.getMessage());
+			// SAP INFO-----璋冪敤涓婃灦瀹屾垚鎺ュ彛锛屾棩蹇楄褰�
+			SapRequestLogBean logInfo = new SapRequestLogBean();
+			logInfo.setMatnr(waitPakOut.getMatnr());
+			logInfo.setRequest("鑾峰彇cookie澶辫触");
+			logInfo.setResponse("璋冪敤鍑哄簱瀹屾垚鎺ュ彛锛実et璇锋眰鑾峰彇cookie澶辫触");
+			logInfo.setCreate_time(new Date());
+			logInfo.setType(2);
+			sapRequestLogService.addSapLog(logInfo);
 //			e1.printStackTrace();
 		}finally{
 			if(connection1!=null){
@@ -411,11 +468,29 @@
 						}catch(Exception em) {
 						}
 						if(zstatus.equals("s") || message.contains("宸茬粡瀹屽叏鎻愪緵") || message.contains("宸茬‘璁�")) {
+							// SAP INFO-----璋冪敤涓嬫灦瀹屾垚鎺ュ彛锛屾棩蹇楄褰�
+							SapRequestLogBean logInfo = new SapRequestLogBean();
+							logInfo.setMatnr(waitPakOut.getMatnr());
+							logInfo.setRequest(jsObj.toString());
+							logInfo.setResponse(sb.toString());
+							logInfo.setCreate_time(new Date());
+							logInfo.setType(1);
+							logInfo.setRemark("鍑哄簱瀹屾垚鎺ュ彛:" + message);
+							sapRequestLogService.addSapLog(logInfo);
 //						if(zstatus.equals("s")) {//涓婃姤SAP鎴愬姛,杞巻鍙叉。
 							waitPakOut.setIo_status("Y");
 							waitPakOutService.upWaitPakOut(waitPakOut,0);
 							waitPakOutService.moveToLog(waitPakOut);
 						}else if(zstatus.equals("e")) {//涓婃姤SAP澶辫触,鏇存柊io_status=X
+							// SAP INFO-----璋冪敤涓嬫灦瀹屾垚鎺ュ彛锛屾棩蹇楄褰�
+							SapRequestLogBean logInfo = new SapRequestLogBean();
+							logInfo.setMatnr(waitPakOut.getMatnr());
+							logInfo.setRequest(jsObj.toString());
+							logInfo.setResponse(sb.toString());
+							logInfo.setCreate_time(new Date());
+							logInfo.setType(2);
+							logInfo.setRemark("鍑哄簱瀹屾垚鎺ュ彛:" + message);
+							sapRequestLogService.addSapLog(logInfo);
 							waitPakOut.setIo_status("X");
 							waitPakOut.setMemo(message);
 							waitPakOutService.upWaitPakOut(waitPakOut,0);
@@ -491,6 +566,14 @@
 	        if(sessionCookie==null || sessionCookie.length()<1)
 	        {
 	        	logger.error("璋冪敤鎵撳嵃鎺ュ彛锛実et璇锋眰鑾峰彇cookie澶辫触");
+	        	// 璋冪敤sap鎵撳嵃鎺ュ彛,璁板綍鏃ュ織
+				SapRequestLogBean logInfo = new SapRequestLogBean();
+				logInfo.setMatnr(waitPakOut.getMatnr());
+				logInfo.setRequest("璋冪敤鎵撳嵃鎺ュ彛锛実et璇锋眰鑾峰彇cookie澶辫触");
+				logInfo.setResponse(sessionCookie);
+				logInfo.setCreate_time(new Date());
+				logInfo.setType(2);
+				sapRequestLogService.addSapLog(logInfo);
 	        	return result;
 	        }
 	        String[] sessionId = sessionCookie.split(";");
@@ -500,6 +583,14 @@
 //	        token = map.get("x-csrf-token").toString();
 		} catch (Exception e1) {
 			logger.error("sendPrinCommand1-----璋冪敤鎵撳嵃鎺ュ彛璇锋眰cookie澶辫触" + waitPakOut.getMaktx() + e1.getMessage());
+			// 璋冪敤sap鎵撳嵃鎺ュ彛,璁板綍鏃ュ織
+			SapRequestLogBean logInfo = new SapRequestLogBean();
+			logInfo.setMatnr(waitPakOut.getMatnr());
+			logInfo.setRequest("sendPrinCommand1-----璋冪敤鎵撳嵃鎺ュ彛璇锋眰cookie澶辫触"  + waitPakOut.getMaktx());
+			logInfo.setResponse(e1.getMessage());
+			logInfo.setCreate_time(new Date());
+			logInfo.setType(2);
+			sapRequestLogService.addSapLog(logInfo);
 			e1.printStackTrace();
 		}finally{
 			if(connection1!=null){
@@ -600,11 +691,29 @@
 							waitPakOutService.upWaitPakOut(waitPakOut,0);
 							logger.error("sendPrinCommand5---璋冪敤鎵撳嵃鎺ュ彛鎴愬姛锛岃姹俲son鏁版嵁--" + jsObj.toString());
 							logger.info("sendPrinCommand5---璋冪敤鎵撳嵃鎺ュ彛鎴愬姛锛岃繑鍥瀓son鏁版嵁--" + sb.toString());
+							// 璋冪敤sap鎵撳嵃鎺ュ彛,璁板綍鏃ュ織
+							SapRequestLogBean logInfo = new SapRequestLogBean();
+							logInfo.setMatnr(waitPakOut.getMatnr());
+							logInfo.setRequest(jsObj.toString());
+							logInfo.setResponse(sb.toString());
+							logInfo.setCreate_time(new Date());
+							logInfo.setRemark(message);
+							logInfo.setType(1);
+							sapRequestLogService.addSapLog(logInfo);
 						}else if(zstatus.equals("e")) {//涓婃姤SAP澶辫触,鏇存柊io_status=X
 							waitPakOut.setPrnstatus(3); 	//鎵撳嵃澶辫触
 							waitPakOut.setMemo(message);
 							waitPakOutService.upWaitPakOut(waitPakOut,0);
 							logger.error("sendPrinCommand6---璋冪敤鎵撳嵃鎺ュ彛澶辫触锛岃姹俲son鏁版嵁--" + message);
+							// 璋冪敤sap鎵撳嵃鎺ュ彛,璁板綍鏃ュ織
+							SapRequestLogBean logInfo = new SapRequestLogBean();
+							logInfo.setMatnr(waitPakOut.getMatnr());
+							logInfo.setRequest(jsObj.toString());
+							logInfo.setResponse(sb.toString());
+							logInfo.setCreate_time(new Date());
+							logInfo.setRemark(message);
+							logInfo.setType(2);
+							sapRequestLogService.addSapLog(logInfo);
 						}
 					}
 				}
@@ -614,6 +723,15 @@
 				waitPakOut.setMemo(e.getMessage());
 				waitPakOutService.upWaitPakOut(waitPakOut,0);
 	        	logger.error("sendPrinCommand7---璋冪敤鎵撳嵃鎺ュ彛鍥炴姤寮傚父--"+waitPakOut.getMatnr() + "---" + e.getMessage());
+				// 璋冪敤sap鎵撳嵃鎺ュ彛,璁板綍鏃ュ織
+				SapRequestLogBean logInfo = new SapRequestLogBean();
+				logInfo.setMatnr(waitPakOut.getMatnr());
+				logInfo.setRequest(jsObj.toString());
+				logInfo.setResponse("sendPrinCommand7---璋冪敤鎵撳嵃鎺ュ彛鍥炴姤寮傚父--"+waitPakOut.getMatnr() + "---");
+				logInfo.setCreate_time(new Date());
+				logInfo.setRemark(e.getMessage());
+				logInfo.setType(2);
+				sapRequestLogService.addSapLog(logInfo);
 //				System.out.println(e.getMessage());
 			}finally{
 				if(connection!=null){
@@ -625,6 +743,15 @@
 			waitPakOut.setMemo(e.getMessage());
 			waitPakOutService.upWaitPakOut(waitPakOut,0);
 			logger.error("sendPrinCommand8---璋冪敤鎵撳嵃鎺ュ彛鍥炴姤寮傚父--"+waitPakOut.getMatnr() + "---" + e.getMessage());
+			// 璋冪敤sap鎵撳嵃鎺ュ彛,璁板綍鏃ュ織
+			SapRequestLogBean logInfo = new SapRequestLogBean();
+			logInfo.setMatnr(waitPakOut.getMatnr());
+			logInfo.setRequest("鎵撳嵃璇锋眰澶辫触");
+			logInfo.setResponse("sendPrinCommand8---璋冪敤鎵撳嵃鎺ュ彛鍥炴姤寮傚父--"+waitPakOut.getMatnr() + "---");
+			logInfo.setCreate_time(new Date());
+			logInfo.setRemark(e.getMessage());
+			logInfo.setType(2);
+			sapRequestLogService.addSapLog(logInfo);
 //			System.out.println(e.getMessage());
 		}
 		return result;
diff --git a/src/main/java/com/slcf/pojo/SapRequestLogBean.java b/src/main/java/com/slcf/pojo/SapRequestLogBean.java
new file mode 100644
index 0000000..a55401e
--- /dev/null
+++ b/src/main/java/com/slcf/pojo/SapRequestLogBean.java
@@ -0,0 +1,84 @@
+package com.slcf.pojo;
+
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+public class SapRequestLogBean {
+    private int id;
+
+    private String matnr;
+
+    private String request;
+
+    private String response;
+
+    private Date create_time;
+
+    private String remark;
+
+    private Integer type;
+
+    public String getCreate_time$(){
+        if (null == this.create_time){
+            return "";
+        }
+        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.create_time);
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getMatnr() {
+        return matnr;
+    }
+
+    public void setMatnr(String matnr) {
+        this.matnr = matnr;
+    }
+
+    public String getRequest() {
+        return request;
+    }
+
+    public void setRequest(String request) {
+        this.request = request;
+    }
+
+    public String getResponse() {
+        return response;
+    }
+
+    public void setResponse(String response) {
+        this.response = response;
+    }
+
+    public Date getCreate_time() {
+        return create_time;
+    }
+
+    public void setCreate_time(Date create_time) {
+        this.create_time = create_time;
+    }
+
+    public Integer getType() {
+        return type;
+    }
+
+    public void setType(Integer type) {
+        this.type = type;
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
+}
diff --git a/src/main/java/com/slcf/service/SapRequestLogService.java b/src/main/java/com/slcf/service/SapRequestLogService.java
new file mode 100644
index 0000000..bc2b4c5
--- /dev/null
+++ b/src/main/java/com/slcf/service/SapRequestLogService.java
@@ -0,0 +1,16 @@
+package com.slcf.service;
+
+import com.slcf.bean.WorkDetailLogCondition;
+import com.slcf.bean.WorkMastLogCondition;
+import com.slcf.pojo.SapRequestLogBean;
+import com.slcf.pojo.WorkMastLogBean;
+
+import java.util.List;
+import java.util.Map;
+
+/* 鏌ヨsap璇锋眰鏃ュ織 */
+public interface SapRequestLogService {
+	public List<SapRequestLogBean> querySapLog();
+
+	public Integer addSapLog(SapRequestLogBean param);
+}
diff --git a/src/main/java/com/slcf/service/impl/SapRequestLogServiceImpl.java b/src/main/java/com/slcf/service/impl/SapRequestLogServiceImpl.java
new file mode 100644
index 0000000..4228b76
--- /dev/null
+++ b/src/main/java/com/slcf/service/impl/SapRequestLogServiceImpl.java
@@ -0,0 +1,36 @@
+package com.slcf.service.impl;
+
+import com.slcf.dao.SapRequestLogDao;
+import com.slcf.pojo.SapRequestLogBean;
+import com.slcf.service.SapRequestLogService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 宸ヤ綔鍘嗗彶妗f帴鍙e疄鐜�
+ * @author admin
+ * @date 2018骞�11鏈�23鏃�
+ */
+@Service
+public class SapRequestLogServiceImpl implements SapRequestLogService {
+
+	@Autowired
+	SapRequestLogDao sapRequestLogDao;
+
+	/**
+	 * 鏌ヨsap璇锋眰鏃ュ織
+	 */
+	public List<SapRequestLogBean> querySapLog() {
+		List<SapRequestLogBean> list = sapRequestLogDao.querySapLog();
+		return list;
+	}
+
+	public Integer addSapLog(SapRequestLogBean param) {
+		Integer result = sapRequestLogDao.addSapLog(param.getMatnr(), param.getRequest(), param.getResponse(), param.getCreate_time(), param.getType(), param.getRemark());
+		return result;
+	}
+}
diff --git a/src/main/resources/mapper/SapRequestLogMapper.xml b/src/main/resources/mapper/SapRequestLogMapper.xml
new file mode 100644
index 0000000..d4308d4
--- /dev/null
+++ b/src/main/resources/mapper/SapRequestLogMapper.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.slcf.dao.SapRequestLogDao">
+
+<!-- mapper涓嶆敮鎸乻ql璇彞宓屽鏃讹紝閲囩敤sql鐗囨鍖呭惈鏂瑰紡锛岃В鍐硏ml鏍囩闂 -->
+<resultMap id="BaseResult" type="com.slcf.pojo.SapRequestLogBean">
+	<result column="id" property="id"></result>
+	<result column="matnr" property="matnr"></result>
+	<result column="request" property="request"></result>
+	<result column="response" property="response"></result>
+	<result column="create_time" property="create_time"></result>
+	<result column="remark" property="remark"></result>
+	<result column="type" property="type"></result>
+</resultMap>
+
+<select id="querySapLog" resultMap="BaseResult">
+	SELECT * FROM sap_request_log ORDER BY create_time desc;
+</select>
+
+<insert id="addSapLog">
+	INSERT INTO sap_request_log(matnr, request, response, create_time, type, remark) VALUES (#{matnr}, #{request}, #{response}, #{create_time}, #{create_time}, #{remark})
+</insert>
+
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/pages/sapRequestLog.jsp b/src/main/webapp/WEB-INF/pages/sapRequestLog.jsp
new file mode 100644
index 0000000..fba346c
--- /dev/null
+++ b/src/main/webapp/WEB-INF/pages/sapRequestLog.jsp
@@ -0,0 +1,20 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8"
+    pageEncoding="UTF-8"%>
+    <%@ include file="../../include/core.jsp" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title></title>
+
+<script type="text/javascript" src="${path }/jsFiles/sapRequestLog.js"></script>
+<style type="text/css">
+
+</style>
+</head>
+<body>
+
+<table id="test-table" class="table table-hover table-striped table-condensed table-bordered"></table>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/src/main/webapp/jsFiles/sapRequestLog.js b/src/main/webapp/jsFiles/sapRequestLog.js
new file mode 100644
index 0000000..6d5453b
--- /dev/null
+++ b/src/main/webapp/jsFiles/sapRequestLog.js
@@ -0,0 +1,100 @@
+/**
+ * 搴撲綅浣跨敤鐜�
+ */
+$(function () {
+    $('#test-table').bootstrapTable('destroy')
+    $('#test-table').bootstrapTable({
+        method: 'GET',
+        url: "sap/querySapLog.action",
+        cache: false,
+        striped: true,
+        showColumns: true, //鏄剧ず闅愯棌鍒�
+        showRefresh: false, //鏄剧ず鍒锋柊鎸夐挳
+        showExport: false,
+        toolbar: "#toolbar",
+        singleselect: true,
+        clickToSelect: true, // 鍗曞嚮琛屽嵆鍙互閫変腑
+        search: false,//鏄剧ず鎼滅礌琛ㄥ崟
+        silent: true, //鍒锋柊浜嬩欢蹇呴』璁剧疆
+        sidePagination: "client", //鍓嶇鍒嗛〉
+        columns: [
+            {
+                field: "matnr",
+                title: "鐗╂枡缂栫爜",
+                align: "center",
+                valign: "middle",
+                // sortable: "true"
+            }, {
+                field: "request",
+                title: "璇锋眰鍙傛暟",
+                align: "center",
+                valign: "middle",
+                sortable: "true"
+            }, {
+                field: "response",
+                title: "杩斿洖鍙傛暟",
+                align: "center",
+                valign: "middle",
+                sortable: "true"
+            }, {
+                field: "create_time$",
+                title: "璁板綍鏃堕棿",
+                align: "center",
+                valign: "middle",
+                sortable: "true"
+            },
+            {
+                field: "remark",
+                title: "鍏朵粬淇℃伅",
+                align: "center",
+                valign: "middle",
+                sortable: "true"
+            },
+            {
+                field: "type",
+                title: "璇锋眰缁撴灉",
+                align: "center",
+                valign: "middle",
+                sortable: "true",
+                formatter: function (item) {
+                    if (item == 1) {
+                        return "鎴愬姛";
+                    }
+                    if (item == 2) {
+                        return "澶辫触"
+                    }
+                }
+            },
+        ],
+        queryParamsType: "undefined",
+        queryParams: function queryParams(params) {   //璁剧疆鏌ヨ鍙傛暟
+            // var param = {
+            //     pageNumber: params.pageNumber,
+            //     pageSize: params.pageSize
+            //     // searchText: params.searchText
+            // };
+            // return param;
+        },
+        formatLoadingMessage: function () {
+            return "璇风◢绛夛紝姝e湪鍔犺浇涓�...";
+        },
+
+        formatNoMatches: function () {
+            return '鏃犵鍚堟潯浠剁殑璁板綍';
+        },
+        //娉ㄥ唽鍔犺浇瀛愯〃鐨勪簨浠躲�傛敞鎰忎笅杩欓噷鐨勪笁涓弬鏁帮紒
+        onExpandRow: function (index, row, $detail) {
+            // oInit.InitSubTable(index, row, $detail);
+        }
+
+    });
+});
+
+/**
+ * 鏉′欢鏌ヨ
+ * @returns
+ */
+function getViewStockUseByCon() {
+//	$("#test-table").bootstrapTable('refresh');
+    $("#test-table").bootstrapTable('refreshOptions', {pageNumber: 1}); //鍒嗛〉鍚庨噸鏂版悳绱㈡椂锛屽垵濮嬪寲椤电爜涓�1
+}
\ No newline at end of file
diff --git "a/version/\346\226\260\345\242\236\350\241\250\347\273\223\346\236\204/table" "b/version/\346\226\260\345\242\236\350\241\250\347\273\223\346\236\204/table"
new file mode 100644
index 0000000..a00c8ea
--- /dev/null
+++ "b/version/\346\226\260\345\242\236\350\241\250\347\273\223\346\236\204/table"
@@ -0,0 +1,44 @@
+USE [klsasrs]
+GO
+
+/****** Object:  Table [dbo].[sap_request_log]    Script Date: 2021/6/25 11:01:40 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+SET ANSI_PADDING ON
+GO
+
+CREATE TABLE [dbo].[sap_request_log](
+	[id] [int] IDENTITY(1,1) NOT NULL,
+	[matnr] [varchar](250) NULL,
+	[request] [varchar](max) NULL,
+	[response] [varchar](max) NULL,
+	[create_time] [datetime] NULL,
+	[remark] [varchar](max) NULL,
+	[type] [int] NULL
+) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
+
+GO
+
+SET ANSI_PADDING OFF
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'鐗╂枡缂栫爜' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'sap_request_log', @level2type=N'COLUMN',@level2name=N'matnr'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'璇锋眰鍏ュ弬' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'sap_request_log', @level2type=N'COLUMN',@level2name=N'request'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'璇锋眰鍥炲弬' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'sap_request_log', @level2type=N'COLUMN',@level2name=N'response'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'璁板綍鏃堕棿' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'sap_request_log', @level2type=N'COLUMN',@level2name=N'create_time'
+GO
+
+EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'绫诲瀷 (1.璇锋眰鎴愬姛,2.璇锋眰澶辫触)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'sap_request_log', @level2type=N'COLUMN',@level2name=N'type'
+GO
+
+

--
Gitblit v1.9.1