Commit edd8a5ff LN

增加接口地址配置

1 个父辈 cd8a0ac9
...@@ -144,7 +144,10 @@ public class HttpHelper { ...@@ -144,7 +144,10 @@ public class HttpHelper {
if (params == null || params.isEmpty()) { if (params == null || params.isEmpty()) {
params = null; params = null;
} }
return postJsonWithAuth(url, params, null); String result= postJsonWithAuth(url, params, null);
log.info(" postJson url=["+url+"],return=["+result+"]");
return result;
} }
public static String postJsonWithAuth(String url, Object params, String auth) throws ApiException { public static String postJsonWithAuth(String url, Object params, String auth) throws ApiException {
...@@ -172,6 +175,8 @@ public class HttpHelper { ...@@ -172,6 +175,8 @@ public class HttpHelper {
String responseContent = EntityUtils.toString(entity, CONTENT_CHARSET); String responseContent = EntityUtils.toString(entity, CONTENT_CHARSET);
response.close(); response.close();
httpClient.close(); httpClient.close();
log.info("postJsonWithAuth url=["+url+"] return= ["+responseContent+"]");
return responseContent; return responseContent;
} catch (Exception e) { } catch (Exception e) {
throw new ApiException("Request to [" + url + "] failed:" + e.getMessage()); throw new ApiException("Request to [" + url + "] failed:" + e.getMessage());
......
...@@ -225,7 +225,7 @@ public class SmfApi { ...@@ -225,7 +225,7 @@ public class SmfApi {
return null; return null;
} }
public boolean canLogin(String username, String pwd)throws ValidateException { public boolean canLogin(String username, String pwd)throws ValidateException {
if (ObjectUtil.isNotEmpty(username) && ObjectUtil.isNotEmpty(pwd)) { if (ObjectUtil.isNotEmpty(username) ) {
if (isUrlExist(loginCheckUrl)) { if (isUrlExist(loginCheckUrl)) {
for (ISmfApiListener apiListener : apiListenerList) { for (ISmfApiListener apiListener : apiListenerList) {
......
...@@ -2,6 +2,7 @@ package com.neotel.smfcore.custom.micron20031; ...@@ -2,6 +2,7 @@ package com.neotel.smfcore.custom.micron20031;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.neotel.smfcore.common.exception.ApiException; import com.neotel.smfcore.common.exception.ApiException;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.DateUtil; import com.neotel.smfcore.common.utils.DateUtil;
import com.neotel.smfcore.common.utils.HttpHelper; import com.neotel.smfcore.common.utils.HttpHelper;
import com.neotel.smfcore.common.utils.JsonUtil; import com.neotel.smfcore.common.utils.JsonUtil;
...@@ -21,6 +22,7 @@ import java.util.*; ...@@ -21,6 +22,7 @@ import java.util.*;
@Slf4j @Slf4j
@Service @Service
public class Micron20031Api { public class Micron20031Api {
// https://testapigtwy.micron.com/t/app.mfg/mmsil/v1/DEVL/SINGAPORE/CheckUserRights
public static String MODE_DISABLE_SAP="DISABLE_SAP"; public static String MODE_DISABLE_SAP="DISABLE_SAP";
public static String MODE_DISABLE_MAM="DISABLE_MAM"; public static String MODE_DISABLE_MAM="DISABLE_MAM";
public static String MODE_DISABLE_MAM_AND_SAP="DISABLE_MAM_AND_SAP"; public static String MODE_DISABLE_MAM_AND_SAP="DISABLE_MAM_AND_SAP";
...@@ -33,6 +35,116 @@ public class Micron20031Api { ...@@ -33,6 +35,116 @@ public class Micron20031Api {
public static String Email_CC=""; public static String Email_CC="";
private static String apiAddr = ""; private static String apiAddr = "";
private static String url_getToken="https://boapi3testgtwy.micron.com/token";
private static String api_CheckUserRights="CheckUserRights";
private static String api_CheckStockAvailable="CheckStockAvailable";
private static String api_TriggerMatReqOrder="TriggerMatReqOrder";
private static String api_GetMatReqDetail="GetMatReqDetail";
private static String api_DepositCreateMA="DepositCreateMA";
private static String api_SendEmail="SendEmail";
private static String api_MATrackOut="MATrackOut";
private static String api_GetEquipIDList="GetEquipIDList";
private static String api_GetMicronPN="GetMicronPN";
private static String api_ChkAuthoriseToDispatch="ChkAuthoriseToDispatch";
private static String api_ReturnMaterial="ReturnMaterial";
@Value("${micron.api_CheckUserRights:}")
public void setApi_CheckUserRights(String api_config) {
if(ObjectUtil.isEmpty(api_config)){
return;
}
Micron20031Api.api_CheckUserRights = api_config;
}
@Value("${micron.api_CheckStockAvailable:}")
public void setApi_CheckStockAvailable(String api_config) {
if(ObjectUtil.isEmpty(api_config)){
return;
}
Micron20031Api.api_CheckStockAvailable = api_config;
}
@Value("${micron.api_TriggerMatReqOrder:}")
public void setApi_TriggerMatReqOrder(String api_config) {
if(ObjectUtil.isEmpty(api_config)){
return;
}
Micron20031Api.api_TriggerMatReqOrder = api_config;
}
@Value("${micron.api_GetMatReqDetail:}")
public void setApi_GetMatReqDetail(String api_config) {
if(ObjectUtil.isEmpty(api_config)){
return;
}
Micron20031Api.api_GetMatReqDetail = api_config;
}
@Value("${micron.api_DepositCreateMA:}")
public void setApi_DepositCreateMA(String api_config) {
if(ObjectUtil.isEmpty(api_config)){
return;
}
Micron20031Api.api_DepositCreateMA = api_config;
}
@Value("${micron.api_SendEmail:}")
public void setApi_SendEmail(String api_config) {
if(ObjectUtil.isEmpty(api_config)){
return;
}
Micron20031Api.api_SendEmail = api_config;
}
@Value("${micron.api_MATrackOut:}")
public void setApi_MATrackOut(String api_config) {
if(ObjectUtil.isEmpty(api_config)){
return;
}
Micron20031Api.api_MATrackOut = api_config;
}
@Value("${micron.api_GetEquipIDList:}")
public void setApi_GetEquipIDList(String api_config) {
if(ObjectUtil.isEmpty(api_config)){
return;
}
Micron20031Api.api_GetEquipIDList = api_config;
}
@Value("${micron.api_GetMicronPN:}")
public void setApi_GetMicronPN(String api_config) {
if(ObjectUtil.isEmpty(api_config)){
return;
}
Micron20031Api.api_GetMicronPN = api_config;
}
@Value("${micron.email.api_ChkAuthoriseToDispatch:}")
public void setApi_ChkAuthoriseToDispatch(String api_config) {
if(ObjectUtil.isEmpty(api_config)){
return;
}
Micron20031Api.api_ChkAuthoriseToDispatch = api_config;
}
@Value("${micron.email.api_ReturnMaterial:}")
public void setApi_ReturnMaterial(String api_config) {
if(ObjectUtil.isEmpty(api_config)){
return;
}
Micron20031Api.api_ReturnMaterial = api_config;
}
@Value("${micron.email.to:}") @Value("${micron.email.to:}")
public void setEmaillTo(String to) { public void setEmaillTo(String to) {
Micron20031Api.Email_TO = to; Micron20031Api.Email_TO = to;
...@@ -44,8 +156,16 @@ public class Micron20031Api { ...@@ -44,8 +156,16 @@ public class Micron20031Api {
@Value("${micron.apiAddr:}") @Value("${micron.apiAddr:}")
public void setApiaddr(String apiAddr) { public void setApiaddr(String apiAddr) {
Micron20031Api.apiAddr = apiAddr; Micron20031Api.apiAddr = apiAddr;
} }
@Value("${micron.getTokenUrl:}")
public void seturl_GetToken(String url_getToken) {
Micron20031Api.url_getToken = url_getToken;
}
private static String AUTH_TOKEN = ""; private static String AUTH_TOKEN = "";
private static String MATERIAL_TYPE = "SOLDER_PASTE"; private static String MATERIAL_TYPE = "SOLDER_PASTE";
...@@ -57,9 +177,25 @@ public class Micron20031Api { ...@@ -57,9 +177,25 @@ public class Micron20031Api {
return true; return true;
} }
public static String getUrl(String methodName){
if(isEnable()){
//如果配置是完整的地址,不需要拼接
if(methodName.startsWith("http")){
return methodName;
}
return apiAddr+methodName;
}
return "";
}
public static String getAuthToken(){ public static String getAuthToken(){
String url = "https://boapi3testgtwy.micron.com/token"; String url = "https://boapi3testgtwy.micron.com/token";
if(ObjectUtil.isNotEmpty(url_getToken)){
url=url_getToken;
}
try { try {
Map<String,Object> dataMap = new HashMap<>(); Map<String,Object> dataMap = new HashMap<>();
dataMap.put("grant_type","client_credentials"); dataMap.put("grant_type","client_credentials");
...@@ -93,15 +229,27 @@ public class Micron20031Api { ...@@ -93,15 +229,27 @@ public class Micron20031Api {
* //Output: Username, Role, MaterialType, Message, Status * //Output: Username, Role, MaterialType, Message, Status
* @param username * @param username
*/ */
public static void checkUserRights(String username) throws ApiException { public static boolean checkUserRights(String username) throws ApiException {
String checkUserRightsUrl = ""; String checkUserRightsUrl = getUrl(api_CheckUserRights);
Map<String,Object> dataMap = new HashMap<>(); Map<String, Object> dataMap = new HashMap<>();
dataMap.put("Username",username); dataMap.put("Username", username);
dataMap.put("MaterialType","SOLDER_PASTE"); dataMap.put("MaterialType", "SOLDER_PASTE");
log.info("调用MES接口 checkUserRights,参数:"+JsonUtil.toJsonStr(dataMap)); log.info("调用MES接口 checkUserRights,参数:" + JsonUtil.toJsonStr(dataMap));
String resultStr = HttpHelper.postJson(checkUserRightsUrl, dataMap); String resultStr = HttpHelper.postJson(checkUserRightsUrl, dataMap);
//如果包含userName
Map<String, Object> map = JsonUtil.toMap(resultStr);
if (map.containsKey("Username")) {
return true;
}
log.info("调用MES接口 checkUserRights 返回:" + resultStr); log.info("调用MES接口 checkUserRights 返回:" + resultStr);
getResult(resultStr,""); String returnData = getResult(resultStr, "Username");
if (ObjectUtil.isNotEmpty(returnData)) {
return true;
}else{
throw new ValidateException("smfcore.mesApi.loginCheck.ng","NG: "+resultStr);
}
} }
/** /**
...@@ -126,7 +274,7 @@ public class Micron20031Api { ...@@ -126,7 +274,7 @@ public class Micron20031Api {
*/ */
public static List<MatOrderBean> checkStockAvailable(Map<String,Integer> pnMap) throws ApiException { public static List<MatOrderBean> checkStockAvailable(Map<String,Integer> pnMap) throws ApiException {
//pnMap的key为pn, value为库存数量 //pnMap的key为pn, value为库存数量
String checkStockAvailableUrl = ""; String checkStockAvailableUrl = getUrl(api_CheckStockAvailable);
String auth = getAuthToken(); String auth = getAuthToken();
List<Map<String,String>> paramList = new ArrayList<>(); List<Map<String,String>> paramList = new ArrayList<>();
for (String pn : pnMap.keySet()) { for (String pn : pnMap.keySet()) {
...@@ -161,7 +309,7 @@ public class Micron20031Api { ...@@ -161,7 +309,7 @@ public class Micron20031Api {
*/ */
public static MatOrderBean triggerMatReqOrder(MatOrderBean orderBean) throws ApiException { public static MatOrderBean triggerMatReqOrder(MatOrderBean orderBean) throws ApiException {
//pnMap的key为pn, value为库存数量 //pnMap的key为pn, value为库存数量
String checkStockAvailableUrl = ""; String checkStockAvailableUrl = getUrl(api_TriggerMatReqOrder);
String auth = getAuthToken(); String auth = getAuthToken();
Map<String,Object> dataMap = new HashMap<>(); Map<String,Object> dataMap = new HashMap<>();
dataMap.put("MicronPN",orderBean.getMicronPN()); dataMap.put("MicronPN",orderBean.getMicronPN());
...@@ -189,7 +337,7 @@ public class Micron20031Api { ...@@ -189,7 +337,7 @@ public class Micron20031Api {
*/ */
public static List<DepositMatReqBean> getMatReqDetail(String matReqNo) throws ApiException { public static List<DepositMatReqBean> getMatReqDetail(String matReqNo) throws ApiException {
//pnMap的key为pn, value为库存数量 //pnMap的key为pn, value为库存数量
String getMatReqDetailUrl = ""; String getMatReqDetailUrl = getUrl(api_GetMatReqDetail);;
String auth = getAuthToken(); String auth = getAuthToken();
Map<String, Object> dataMap = new HashMap<>(); Map<String, Object> dataMap = new HashMap<>();
dataMap.put("MatReqNo", matReqNo); dataMap.put("MatReqNo", matReqNo);
...@@ -223,7 +371,7 @@ public class Micron20031Api { ...@@ -223,7 +371,7 @@ public class Micron20031Api {
*/ */
public static Barcode depositCreateMA(Barcode barcode,String username) throws ApiException { public static Barcode depositCreateMA(Barcode barcode,String username) throws ApiException {
//pnMap的key为pn, value为库存数量 //pnMap的key为pn, value为库存数量
String depositCreateMAUrl = ""; String depositCreateMAUrl = getUrl(api_DepositCreateMA);
String auth = getAuthToken(); String auth = getAuthToken();
Map<String,Object> dataMap = new HashMap<>(); Map<String,Object> dataMap = new HashMap<>();
dataMap.put("MicronPN",barcode.getPartNumber()); dataMap.put("MicronPN",barcode.getPartNumber());
...@@ -269,7 +417,7 @@ public class Micron20031Api { ...@@ -269,7 +417,7 @@ public class Micron20031Api {
* //Output: To, From, CC, BCC, Subject, Text, Status, Message * //Output: To, From, CC, BCC, Subject, Text, Status, Message
*/ */
public static void sendEmail(String to, String cc, String subject, String conent){ public static void sendEmail(String to, String cc, String subject, String conent){
String url = ""; String url = getUrl(api_SendEmail);
String auth = getAuthToken(); String auth = getAuthToken();
try { try {
Map<String,Object> dataMap = new HashMap<>(); Map<String,Object> dataMap = new HashMap<>();
...@@ -301,7 +449,7 @@ public class Micron20031Api { ...@@ -301,7 +449,7 @@ public class Micron20031Api {
* //Output: Lot No, Username, SystemID, MaterialType, Message, Status * //Output: Lot No, Username, SystemID, MaterialType, Message, Status
*/ */
public static void mATrackOut(Barcode barcode){ public static void mATrackOut(Barcode barcode){
String url = ""; String url = getUrl(api_MATrackOut);
String auth = getAuthToken(); String auth = getAuthToken();
try { try {
Map<String,Object> dataMap = new HashMap<>(); Map<String,Object> dataMap = new HashMap<>();
...@@ -374,7 +522,7 @@ public class Micron20031Api { ...@@ -374,7 +522,7 @@ public class Micron20031Api {
*/ */
public static List<String> getEquipIDList() throws ApiException { public static List<String> getEquipIDList() throws ApiException {
List<String> equipIdList = new ArrayList<>(); List<String> equipIdList = new ArrayList<>();
String checkStockAvailableUrl = ""; String checkStockAvailableUrl = getUrl(api_GetEquipIDList);
if(ObjectUtil.isEmpty(checkStockAvailableUrl)) { if(ObjectUtil.isEmpty(checkStockAvailableUrl)) {
List<String> result = new ArrayList<String>(); List<String> result = new ArrayList<String>();
result.add("test1"); result.add("test1");
...@@ -411,7 +559,7 @@ public class Micron20031Api { ...@@ -411,7 +559,7 @@ public class Micron20031Api {
* //Output: Equip ID, Micron LotID, Micron Part Number, Status, MaterialType * //Output: Equip ID, Micron LotID, Micron Part Number, Status, MaterialType
*/ */
public static String getMicronPN(String micronLotId, String equipId) throws ApiException { public static String getMicronPN(String micronLotId, String equipId) throws ApiException {
String checkStockAvailableUrl = ""; String checkStockAvailableUrl = getUrl(api_GetMicronPN);
if(ObjectUtil.isEmpty(checkStockAvailableUrl)){ if(ObjectUtil.isEmpty(checkStockAvailableUrl)){
return "2K.K2275.010"; return "2K.K2275.010";
} }
...@@ -443,7 +591,7 @@ public class Micron20031Api { ...@@ -443,7 +591,7 @@ public class Micron20031Api {
* //Output: MicronPN, LotNo, BatchNo, SpoolStatus, Quantity, Username, Mode, MaterialType, MaterialDocumentNo, Message, Status * //Output: MicronPN, LotNo, BatchNo, SpoolStatus, Quantity, Username, Mode, MaterialType, MaterialDocumentNo, Message, Status
*/ */
public static void chkAuthoriseToDispatch(Barcode barcode, String mode, String username) throws ApiException { public static void chkAuthoriseToDispatch(Barcode barcode, String mode, String username) throws ApiException {
String checkStockAvailableUrl = ""; String checkStockAvailableUrl = getUrl(api_ChkAuthoriseToDispatch);
if(ObjectUtil.isEmpty(checkStockAvailableUrl)){ if(ObjectUtil.isEmpty(checkStockAvailableUrl)){
return; return;
} }
...@@ -467,6 +615,9 @@ public class Micron20031Api { ...@@ -467,6 +615,9 @@ public class Micron20031Api {
private static <T> T getResult(String resultJson, String key) throws ApiException { private static <T> T getResult(String resultJson, String key) throws ApiException {
if(ObjectUtil.isEmpty(resultJson)){
return null;
}
Map<String,Object> resultMap = JsonUtil.toMap(resultJson); Map<String,Object> resultMap = JsonUtil.toMap(resultJson);
Object resultStatus = resultMap.get("Status"); Object resultStatus = resultMap.get("Status");
if(resultStatus != null && !resultStatus.toString().equalsIgnoreCase("PASS")){ if(resultStatus != null && !resultStatus.toString().equalsIgnoreCase("PASS")){
...@@ -500,7 +651,7 @@ public class Micron20031Api { ...@@ -500,7 +651,7 @@ public class Micron20031Api {
* //Output: TypeofReturn, MicronPN, LotNo, BatchNo, Location, RemainingQuantity, Mode, Username, SystemId, MaterialType, Message, Status, ExpiredDate * //Output: TypeofReturn, MicronPN, LotNo, BatchNo, Location, RemainingQuantity, Mode, Username, SystemId, MaterialType, Message, Status, ExpiredDate
*/ */
public static Barcode returnMaterial(Barcode barcode, String typeOfReturn, String username) throws ApiException { public static Barcode returnMaterial(Barcode barcode, String typeOfReturn, String username) throws ApiException {
String checkStockAvailableUrl = ""; String checkStockAvailableUrl = getUrl(api_ReturnMaterial);
if(ObjectUtil.isEmpty(checkStockAvailableUrl)){ if(ObjectUtil.isEmpty(checkStockAvailableUrl)){
return barcode; return barcode;
} }
......
...@@ -12,8 +12,9 @@ import com.neotel.smfcore.core.inList.util.InListCache; ...@@ -12,8 +12,9 @@ import com.neotel.smfcore.core.inList.util.InListCache;
import com.neotel.smfcore.core.storage.service.po.Storage; import com.neotel.smfcore.core.storage.service.po.Storage;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.swing.text.html.InlineView; @Service
@Slf4j @Slf4j
public class MicronSpApiListener extends BaseSmfApiListener { public class MicronSpApiListener extends BaseSmfApiListener {
...@@ -21,7 +22,11 @@ public class MicronSpApiListener extends BaseSmfApiListener { ...@@ -21,7 +22,11 @@ public class MicronSpApiListener extends BaseSmfApiListener {
private InListCache inListCache; private InListCache inListCache;
@Override @Override
public boolean isForThisApi(String apiName) { public boolean isForThisApi(String apiName) {
return Micron20031Api.isEnable(); if (Micron20031Api.isEnable()) {
return true;
}
// return apiName != null && apiName.equalsIgnoreCase("20031");
return false;
} }
@Override @Override
public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException { public Barcode canPutInAfterResolve(String inCheckUrl, CodeValidateParam params, Barcode barcode) throws ValidateException {
...@@ -58,4 +63,19 @@ public class MicronSpApiListener extends BaseSmfApiListener { ...@@ -58,4 +63,19 @@ public class MicronSpApiListener extends BaseSmfApiListener {
} }
return null; return null;
} }
@Override
public boolean canLogin(String loginCheckUrl, String userName, String pwd) throws ValidateException {
try {
return Micron20031Api.checkUserRights(userName);
}catch (ValidateException e){
throw e;
}
catch (Exception e) {
log.error("登陆验证接口出错:" + e.getMessage());
throw new ValidateException("smfcore.mesApi.loginCheck.error", "MES Login Error:" + e.getMessage());
}
}
} }
...@@ -13,6 +13,7 @@ import com.neotel.smfcore.core.inList.util.InListCache; ...@@ -13,6 +13,7 @@ import com.neotel.smfcore.core.inList.util.InListCache;
import com.neotel.smfcore.core.storage.enums.DeviceType; import com.neotel.smfcore.core.storage.enums.DeviceType;
import com.neotel.smfcore.core.storage.service.manager.IStorageManager; import com.neotel.smfcore.core.storage.service.manager.IStorageManager;
import com.neotel.smfcore.core.storage.service.po.Storage; import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.system.util.DevicesStatusUtil;
import com.neotel.smfcore.custom.micron20031.bean.DepositMatReqBean; import com.neotel.smfcore.custom.micron20031.bean.DepositMatReqBean;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -105,9 +106,12 @@ public class MicronSpLoadController { ...@@ -105,9 +106,12 @@ public class MicronSpLoadController {
inListCache.addInListToMap(inList); inListCache.addInListToMap(inList);
storage.setInListName(matReqNo); storage.setInListName(matReqNo);
log.info("设置料仓[" + storage.getName() + "]的入库单为:[" + matReqNo + "],同时更新入库单开始时间"); log.info("设置料仓[" + storage.getName() + "]的入库单为:[" + matReqNo + "],同时更新入库单开始时间,同时发送 closeInLock=doit");
storageManager.save(storage); storageManager.save(storage);
dataCache.reloadStorage(storage, ""); dataCache.reloadStorage(storage, "");
//设置开始入库
DevicesStatusUtil.appendOp(storage.getCid(),"closeInLock","doit");
return ResultBean.newOkResult(matReqNo); return ResultBean.newOkResult(matReqNo);
} }
...@@ -122,9 +126,13 @@ public class MicronSpLoadController { ...@@ -122,9 +126,13 @@ public class MicronSpLoadController {
return ResultBean.newErrorResult(-1, "smfcore.micron.operationFailure", "操作失败"); return ResultBean.newErrorResult(-1, "smfcore.micron.operationFailure", "操作失败");
} }
storage.setInListName(""); storage.setInListName("");
log.info("设置料仓[" + storage.getName() + "]开始 return "); log.info("设置料仓[" + storage.getName() + "]开始 return ,同时发送 closeInLock=doit ");
storageManager.save(storage); storageManager.save(storage);
dataCache.reloadStorage(storage,""); dataCache.reloadStorage(storage,"");
//设置开始入库
DevicesStatusUtil.appendOp(storage.getCid(),"closeInLock","doit");
return ResultBean.newOkResult(""); return ResultBean.newOkResult("");
} }
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!