Browse Source

产品SN工序过站记录接口

wub 4 years ago
parent
commit
64a767c971

+ 13 - 5
src/main/java/com/uas/eis/controller/MESDataController.java

@@ -1,10 +1,13 @@
 package com.uas.eis.controller;
 
+import com.uas.eis.sdk.entity.ApiResult;
+import com.uas.eis.sdk.resp.ApiResponse;
+import com.uas.eis.service.MESDataService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.HashMap;
-import java.util.Map;
+import javax.servlet.http.HttpServletRequest;
 
 /**
  * @author xiaost
@@ -14,15 +17,20 @@ import java.util.Map;
 @RestController
 public class MESDataController {
 
+    @Autowired
+    private MESDataService mesDataService;
+
     /**
      * 产品SN工序过站记录
      * @param data
      * @return
      */
     @RequestMapping("/api/mes/snStepPass")
-    public Object query(String data){
-        Map<String, Object> map = new HashMap<String, Object>();
-        return null;
+    public ApiResult<String> snStepPass(HttpServletRequest request, String data){
+        String accessKey = request.getHeader("AccessKey");
+        String requestId = request.getHeader("RequestId");
+        mesDataService.snStepPass(accessKey,requestId,data);
+        return ApiResponse.successRsp("0",requestId,"OK");
     }
 
 }

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

@@ -23,7 +23,7 @@ public class ApiSignLoginInterceptor extends HandlerInterceptorAdapter {
     private BaseDao baseDao;
 
     // 签名超时时长,默认时间为5分钟,ms
-    private static final int SIGN_EXPIRED_TIME = 5 * 60 * 1000;
+    private static final int SIGN_EXPIRED_TIME = 60 * 60 * 1000;
     private static final String ACCESS_KEY = "AccessKey";
     private static final String ACCESS_SECRET = "AccessSecret";
     private static final String TIMESTAMP_KEY = "Timestamp";

+ 7 - 0
src/main/java/com/uas/eis/service/MESDataService.java

@@ -0,0 +1,7 @@
+package com.uas.eis.service;
+
+public interface MESDataService {
+
+	public String snStepPass(String accessKey, String requestId, String data);
+
+}

+ 55 - 0
src/main/java/com/uas/eis/serviceImpl/MESDataServiceImpl.java

@@ -0,0 +1,55 @@
+package com.uas.eis.serviceImpl;
+
+import com.uas.eis.core.config.SpObserver;
+import com.uas.eis.dao.BaseDao;
+import com.uas.eis.entity.ErrorMessage;
+import com.uas.eis.exception.ApiSystemException;
+import com.uas.eis.sdk.entity.ApiResult;
+import com.uas.eis.service.MESDataService;
+import com.uas.eis.utils.BaseUtil;
+import com.uas.eis.utils.Constant;
+import com.uas.eis.utils.DateUtil;
+import com.uas.eis.utils.SqlUtil;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.sql.Timestamp;
+import java.util.List;
+import java.util.Map;
+
+@Service
+public class MESDataServiceImpl implements MESDataService {
+
+	@Autowired
+	private BaseDao baseDao;
+
+	@Override
+	public String snStepPass(String accessKey, String requestId, String data) {
+		Object accessSecret_O = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_SECRET", "AE_KEY='" + accessKey + "'");
+		Object AE_MASTER = baseDao.getFieldDataByCondition("APIEMPLOYEE", "AE_MASTER", "AE_KEY='" + accessKey + "'");
+		String accessSecret = accessSecret_O == null ? "" : accessSecret_O.toString();
+		// 检查KEY是否合理
+		if (StringUtils.isEmpty(accessKey) || StringUtils.isEmpty(accessSecret) || AE_MASTER== null) {
+			ApiResult apiResult = new ApiResult();
+			apiResult.setCode(ErrorMessage.ACCESSKEY_ILLEGAL.getCode());
+			apiResult.setMessage(ErrorMessage.ACCESSKEY_ILLEGAL.getMessage());
+			apiResult.setRequestId(requestId);
+			throw new ApiSystemException(apiResult);
+		}
+		String sob = "MES";
+		List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
+		for (Map<Object, Object> map : maps) {
+			map.put("T_STATUS","W");
+			map.put("T_KEY",accessKey);
+			map.put("T_INDATE", Timestamp.valueOf(DateUtil.currentDateString(Constant.YMD_HMS)));
+		}
+		SpObserver.putSp(AE_MASTER.toString());
+		List<String> Sqls = SqlUtil.getInsertSqlbyGridStore(maps, "TEMP_STEPPASSED");
+		baseDao.execute(Sqls);
+		baseDao.execute("update temp_steppassed set t_status='D',T_REMAKR='重复' where t_id in (select t_id from (select temp_steppassed.*,row_number()over(partition by sp_id order by t_id desc) cn from temp_steppassed where nvl(t_status,'W')='W' ) where cn>1)");
+		SpObserver.putSp(sob);
+		return null;
+	}
+
+}