Prechádzať zdrojové kódy

【亿道外协厂EIS增加接口:校验SN序列号是否绑定完整正确】

xiaost 2 týždňov pred
rodič
commit
81978e3df5

+ 15 - 0
src/main/java/com/uas/eis/controller/MESDataController.java

@@ -270,4 +270,19 @@ public class MESDataController {
         }
         return mesDataService.SNBindMaterial(accessKey,requestId,reqData,rawJson);
     }
+
+
+    /**
+     * @add xiaost 2026-06-04
+     * 校验SN序列号是否绑定完整正确
+     * @param request
+     * @param rawJson
+     * @return
+     */
+    @RequestMapping(value = "/api/mes/checkSNBind" , method = RequestMethod.POST)
+    public ApiResult<Map<Object,Object>> checkSNBind(HttpServletRequest request,@RequestBody String rawJson){
+        String accessKey = request.getHeader("AccessKey");
+        String requestId = request.getHeader("RequestId");
+        return mesDataService.checkSNBind(accessKey,requestId,rawJson);
+    }
 }

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

@@ -43,4 +43,6 @@ public interface MESDataService {
 	ApiResult<Map<Object, Object>> SNBindInfo(String accessKey, String requestId, SNBindInfoRequest reqData, String rawJson);
 
 	ApiResult<Map<Object, Object>> SNBindMaterial(String accessKey, String requestId, SNBindMaterialRequest reqData, String rawJson);
+
+	ApiResult<Map<Object, Object>> checkSNBind(String accessKey, String requestId, String rawJson);
 }

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

@@ -644,6 +644,53 @@ public class MESDataServiceImpl implements MESDataService {
 		return executeSNBindMaterial(accessKey,requestId,reqData);
 	}
 
+	/**
+	 *  @add xiaost 2026-06-04
+	 *  校验SN序列号是否绑定完整正确
+	 * {
+	 * "code": "CHECKSNBIND",
+	 * "data": {
+	 *    "sncode":"W20211230029A1" ,
+	 *    "prodcode": "01.ER0.60R4J02010A",
+	 *    "macode":"MA2026052801-1"
+	 *  }
+	 * @param accessKey
+	 * @param requestId
+	 * @param rawJson
+	 * @return
+	 */
+	@Override
+	public ApiResult<Map<Object, Object>> checkSNBind(String accessKey, String requestId, String rawJson) {
+		String AE_MASTER = checkAccessKey(accessKey, requestId);
+		SpObserver.putSp(AE_MASTER);  //切换数据源
+		//保存传参数据原始JSON串,记录日志
+		savelog("校验SN序列号绑定数据",rawJson,accessKey,requestId);
+		Map<Object, Object> map = BaseUtil.parseFormStoreToMap(rawJson);
+		if(!map.containsKey("data") || !StringUtil.hasText(map.get("data"))){
+			return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(), requestId, "参数错误sncode不能为空");
+		}
+		Map<Object, Object> map1 = BaseUtil.parseFormStoreToMap(map.get("data").toString());
+		if(!map1.containsKey("sncode") || !StringUtil.hasText(map1.get("sncode"))){
+			return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(), requestId, "参数错误sncode不能为空");
+		}
+		if(!map1.containsKey("prodcode") || !StringUtil.hasText(map1.get("prodcode"))){
+			return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(), requestId, "参数错误prodcode不能为空");
+		}
+		if(!map1.containsKey("macode") || !StringUtil.hasText(map1.get("macode"))){
+			return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(), requestId, "参数错误macode不能为空");
+		}
+		String sncode = map1.get("sncode").toString();
+		String prodcode =  map1.get("prodcode").toString();
+		String macode =  map1.get("macode").toString();
+		//调用存储过程判断
+		String data = baseDao.callProcedure("SP_SNBIND_CHECK",new Object[] {sncode,prodcode,macode});
+		if(StringUtil.hasText(data)){
+			return ApiResponse.failRsp(ErrorMessage.BUSINESS_ILLEGAL.getCode(), requestId, "校验失败," + data);
+		}else{
+			return ApiResponse.successRsp("0",requestId,"校验成功");
+		}
+	}
+
 
 	@Transactional
 	public ApiResult<Map<Object, Object>> executeSNBindMaterial(String accessKey, String requestId, SNBindMaterialRequest reqData) {