Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 40aa49ce
由
sunke
编写于
2023-01-04 14:27:25 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
镁光20031API
1 个父辈
63434ac1
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
492 行增加
和
39 行删除
src/main/java/com/neotel/smfcore/common/utils/HttpHelper.java
src/main/java/com/neotel/smfcore/core/barcode/service/po/Barcode.java
src/main/java/com/neotel/smfcore/custom/micron20031/Micron20031Api.java
src/main/java/com/neotel/smfcore/custom/micron20031/bean/DepositMatReqBean.java
src/main/java/com/neotel/smfcore/custom/micron20031/bean/MatOrderBean.java
src/main/java/com/neotel/smfcore/common/utils/HttpHelper.java
查看文件 @
40aa49c
...
@@ -46,12 +46,23 @@ public class HttpHelper {
...
@@ -46,12 +46,23 @@ public class HttpHelper {
private
static
final
int
READ_DATA_TIMEOUT
=
10000
;
private
static
final
int
READ_DATA_TIMEOUT
=
10000
;
public
static
String
postJson
(
String
url
,
Map
<
String
,
Object
>
params
)
throws
ApiException
{
public
static
String
postJson
(
String
url
,
Map
<
String
,
Object
>
params
)
throws
ApiException
{
// 设置请求参数
if
(
params
==
null
||
params
.
isEmpty
())
{
params
=
null
;
}
return
postJsonWithAuth
(
url
,
params
,
null
);
}
public
static
String
postJsonWithAuth
(
String
url
,
Object
params
,
String
auth
)
throws
ApiException
{
HttpPost
httpPost
=
new
HttpPost
(
url
);
HttpPost
httpPost
=
new
HttpPost
(
url
);
httpPost
.
addHeader
(
"Content-Type"
,
"application/json;charset=utf-8"
);
httpPost
.
addHeader
(
"Content-Type"
,
"application/json;charset=utf-8"
);
if
(
auth
!=
null
&&
!
auth
.
isEmpty
()){
httpPost
.
addHeader
(
"Authorization"
,
auth
);
}
// 设置请求参数
// 设置请求参数
if
(
params
!=
null
&&
!
params
.
isEmpty
())
{
if
(
params
!=
null
)
{
ObjectMapper
mapper
=
new
ObjectMapper
();
try
{
try
{
ObjectMapper
mapper
=
new
ObjectMapper
();
String
requestBody
=
mapper
.
writeValueAsString
(
params
);
String
requestBody
=
mapper
.
writeValueAsString
(
params
);
httpPost
.
setEntity
(
new
StringEntity
(
requestBody
,
CONTENT_CHARSET
));
httpPost
.
setEntity
(
new
StringEntity
(
requestBody
,
CONTENT_CHARSET
));
}
catch
(
JsonProcessingException
e
)
{
}
catch
(
JsonProcessingException
e
)
{
...
@@ -71,7 +82,6 @@ public class HttpHelper {
...
@@ -71,7 +82,6 @@ public class HttpHelper {
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
throw
new
ApiException
(
"Request to ["
+
url
+
"] failed:"
+
e
.
getMessage
());
throw
new
ApiException
(
"Request to ["
+
url
+
"] failed:"
+
e
.
getMessage
());
}
}
}
}
/**
/**
...
...
src/main/java/com/neotel/smfcore/core/barcode/service/po/Barcode.java
查看文件 @
40aa49c
...
@@ -225,6 +225,35 @@ public class Barcode extends BasePo implements Serializable {
...
@@ -225,6 +225,35 @@ public class Barcode extends BasePo implements Serializable {
* 呆滞到期时间(入库时间+呆滞日期)
* 呆滞到期时间(入库时间+呆滞日期)
*/
*/
private
Date
sluggishTime
;
private
Date
sluggishTime
;
/**
* 自定义的附加信息
*/
private
Map
<
String
,
Object
>
appendData
=
new
HashMap
<>();
/**
* 添加或更新自定义附加信息
* @param appendKey
* @param appendValue
*/
public
void
updateAppendData
(
String
appendKey
,
Object
appendValue
){
appendData
.
put
(
appendKey
,
appendValue
);
}
/**
* 获取自定义附加信息
* @param appendKey
* @param <T>
* @return
*/
public
<
T
>
T
getAppendData
(
String
appendKey
){
Object
value
=
appendData
.
get
(
appendKey
);
if
(
value
!=
null
){
return
(
T
)
value
;
}
return
null
;
}
/**
/**
* 添加相关联条码
* 添加相关联条码
*
*
...
...
src/main/java/com/neotel/smfcore/custom/micron20031/Micron20031Api.java
查看文件 @
40aa49c
package
com
.
neotel
.
smfcore
.
custom
.
micron20031
;
package
com
.
neotel
.
smfcore
.
custom
.
micron20031
;
import
com.neotel.smfcore.common.exception.ApiException
;
import
com.neotel.smfcore.common.exception.ApiException
;
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
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.custom.micron20031.bean.DepositMatReqBean
;
import
com.neotel.smfcore.custom.micron20031.bean.MatOrderBean
;
import
com.neotel.smfcore.custom.micron20031.bean.MatOrderBean
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.ArrayList
;
import
java.util.*
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* @author sunke
* @author sunke
...
@@ -18,13 +18,17 @@ import java.util.Map;
...
@@ -18,13 +18,17 @@ import java.util.Map;
@Slf4j
@Slf4j
public
class
Micron20031Api
{
public
class
Micron20031Api
{
public
static
void
getToken
(){
private
static
String
AUTH_TOKEN
=
""
;
private
static
String
MATERIAL_TYPE
=
"SOLDER_PASTE"
;
public
static
String
getAuthToken
(){
String
url
=
"https://boapi3testgtwy.micron.com/token"
;
String
url
=
"https://boapi3testgtwy.micron.com/token"
;
try
{
try
{
log
.
info
(
"get token from MES"
);
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"grant_type"
,
"client_credentials"
);
dataMap
.
put
(
"grant_type"
,
"client_credentials"
);
String
resultStr
=
HttpHelper
.
postFormParam
(
url
,
dataMap
);
String
resultStr
=
HttpHelper
.
postFormParam
(
url
,
dataMap
);
log
.
info
(
"get token from MES 返回:"
+
resultStr
);
Map
<
String
,
Object
>
resultMap
=
JsonUtil
.
toMap
(
resultStr
);
Map
<
String
,
Object
>
resultMap
=
JsonUtil
.
toMap
(
resultStr
);
Object
username1
=
resultMap
.
get
(
"Username"
);
Object
username1
=
resultMap
.
get
(
"Username"
);
...
@@ -32,9 +36,14 @@ public class Micron20031Api {
...
@@ -32,9 +36,14 @@ public class Micron20031Api {
Object
MaterialType
=
resultMap
.
get
(
"MaterialType"
);
Object
MaterialType
=
resultMap
.
get
(
"MaterialType"
);
Object
Message
=
resultMap
.
get
(
"Message"
);
Object
Message
=
resultMap
.
get
(
"Message"
);
Object
Status
=
resultMap
.
get
(
"Status"
);
Object
Status
=
resultMap
.
get
(
"Status"
);
AUTH_TOKEN
=
"Bearer 03400c52-9b1d-3e10-b40c-a95fbfdcec67"
;
return
AUTH_TOKEN
;
}
catch
(
ApiException
e
)
{
}
catch
(
ApiException
e
)
{
log
.
error
(
"checkUserRights Error"
,
e
);
log
.
error
(
"checkUserRights Error"
,
e
);
}
}
return
""
;
}
}
/**
/**
...
@@ -48,22 +57,15 @@ public class Micron20031Api {
...
@@ -48,22 +57,15 @@ 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
){
public
static
void
checkUserRights
(
String
username
)
throws
ApiException
{
String
checkUserRightsUrl
=
""
;
String
checkUserRightsUrl
=
""
;
try
{
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
));
String
resultStr
=
HttpHelper
.
postJson
(
checkUserRightsUrl
,
dataMap
);
String
resultStr
=
HttpHelper
.
postJson
(
checkUserRightsUrl
,
dataMap
);
Map
<
String
,
Object
>
resultMap
=
JsonUtil
.
toMap
(
resultStr
);
log
.
info
(
"调用MES接口 checkUserRights 返回:"
+
resultStr
);
Object
username1
=
resultMap
.
get
(
"Username"
);
getResult
(
resultStr
,
""
);
Object
Role
=
resultMap
.
get
(
"Role"
);
Object
MaterialType
=
resultMap
.
get
(
"MaterialType"
);
Object
Message
=
resultMap
.
get
(
"Message"
);
Object
Status
=
resultMap
.
get
(
"Status"
);
}
catch
(
ApiException
e
)
{
log
.
error
(
"checkUserRights Error"
,
e
);
}
}
}
/**
/**
...
@@ -84,23 +86,387 @@ public class Micron20031Api {
...
@@ -84,23 +86,387 @@ public class Micron20031Api {
* ]
* ]
* //Input: Micron Part Number, MaterialType
* //Input: Micron Part Number, MaterialType
* //Output: Micron Part Number, Quantity, UnitOfMeasures, MaterialType, Message, Status
* //Output: Micron Part Number, Quantity, UnitOfMeasures, MaterialType, Message, Status
*
*/
public
static
List
<
MatOrderBean
>
checkStockAvailable
(
Map
<
String
,
Integer
>
pnMap
)
throws
ApiException
{
//pnMap的key为pn, value为库存数量
String
checkStockAvailableUrl
=
""
;
String
auth
=
getAuthToken
();
List
<
Map
<
String
,
String
>>
paramList
=
new
ArrayList
<>();
for
(
String
pn
:
pnMap
.
keySet
())
{
Map
<
String
,
String
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"MicronPN"
,
pn
);
dataMap
.
put
(
"MaterialType"
,
MATERIAL_TYPE
);
paramList
.
add
(
dataMap
);
}
log
.
info
(
"调用MES接口 checkStockAvailable,参数:"
+
JsonUtil
.
toJsonStr
(
paramList
));
String
resultStr
=
HttpHelper
.
postJsonWithAuth
(
checkStockAvailableUrl
,
paramList
,
auth
);
log
.
info
(
"调用MES接口 checkStockAvailable 返回:"
+
resultStr
);
List
<
MatOrderBean
>
orderBeanList
=
JsonUtil
.
toList
(
resultStr
,
MatOrderBean
.
class
);
for
(
MatOrderBean
matOrderBean
:
orderBeanList
)
{
Integer
qty
=
pnMap
.
get
(
matOrderBean
.
getMicronPN
());
if
(
qty
!=
null
){
matOrderBean
.
setStockRoomQty
(
qty
);
}
}
return
orderBeanList
;
}
/**
*TriggerMatReqOrder
* {
* "MicronPN": "501-10187",
* "UnitOfMeasures": "TUBE",
* "Quantity": 1,
* "MaterialType": "SOLDER_PASTE"
* }
* //Input: Micron Part Numbers, Quantity, UnitOfMeasures, MaterialType
* //Output: Micron Part Numbers, Quantity, UnitOfMeasures, MatReqNo, MaterialType, Message, Status
*/
public
static
MatOrderBean
triggerMatReqOrder
(
MatOrderBean
orderBean
)
throws
ApiException
{
//pnMap的key为pn, value为库存数量
String
checkStockAvailableUrl
=
""
;
String
auth
=
getAuthToken
();
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"MicronPN"
,
orderBean
.
getMicronPN
());
dataMap
.
put
(
"UnitOfMeasures"
,
orderBean
.
getUnitOfMeasures
());
dataMap
.
put
(
"Quantity"
,
orderBean
.
getQuantity
());
dataMap
.
put
(
"MaterialType"
,
MATERIAL_TYPE
);
log
.
info
(
"调用MES接口 triggerMatReqOrder,参数:"
+
JsonUtil
.
toJsonStr
(
dataMap
));
String
resultStr
=
HttpHelper
.
postJsonWithAuth
(
checkStockAvailableUrl
,
dataMap
,
auth
);
log
.
info
(
"调用MES接口 triggerMatReqOrder 返回:"
+
resultStr
);
MatOrderBean
resultOrderBean
=
JsonUtil
.
toObj
(
resultStr
,
MatOrderBean
.
class
);
return
resultOrderBean
;
}
/**
* Deposit
* GetMatReqDetail
* {
* "MatReqNo": "0730000956",
* "MaterialType": "SOLDER_PASTE"
* }
* //Input: MatReqNo, MaterialType
* //Output: MatReqNo, Micron Part Number, Lot No, Quantity, UnitOfMeasures, MaterialType, Message, Status
*/
*/
// public static List<MatOrderBean> checkStockAvailable(List<String> pnList){
public
static
DepositMatReqBean
getMatReqDetail
(
String
matReqNo
)
throws
ApiException
{
// String checkStockAvailableUrl = "";
//pnMap的key为pn, value为库存数量
// try {
String
getMatReqDetailUrl
=
""
;
// List<Map<String,String>> paramList = new ArrayList<>();
String
auth
=
getAuthToken
();
// for (String pn : pnList) {
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
// Map<String,String> dataMap = new HashMap<>();
dataMap
.
put
(
"MatReqNo"
,
matReqNo
);
// dataMap.put("MicronPN",pn);
dataMap
.
put
(
"MaterialType"
,
MATERIAL_TYPE
);
// dataMap.put("MaterialType","SOLDER_PASTE");
// paramList.add(dataMap);
log
.
info
(
"调用MES接口 getMatReqDetail,参数:"
+
JsonUtil
.
toJsonStr
(
dataMap
));
// }
String
resultStr
=
HttpHelper
.
postJsonWithAuth
(
getMatReqDetailUrl
,
dataMap
,
auth
);
// String resultStr = HttpHelper.posJsonParams(checkStockAvailableUrl, paramList);
log
.
info
(
"调用MES接口 getMatReqDetail 返回:"
+
resultStr
);
// List<MatOrderBean> orderBeanList = JsonUtil.toList(resultStr,MatOrderBean.class);
DepositMatReqBean
depositMatReqBean
=
JsonUtil
.
toObj
(
resultStr
,
DepositMatReqBean
.
class
);
// return orderBeanList;
return
depositMatReqBean
;
// } catch (ApiException e) {
}
// log.error("CheckStockAvailable Error", e);
// }
/**
// return new ArrayList<>();
* DepositCreateMA 扫码之后调用,获取ExposureStartDate和StabilizationEndDate
// }
* {
* "MicronPN": "501-10187",
* "LotNo": "10819093SP-0148",
* "Quantity": 1,
* "ExpiredDate": "02-15-2022",
* "SystemID": "SPMMS",
* "MaterialType": "SOLDER_PASTE",
* "Username": "KHIENYONGCHE"
* }
* //Input: MicronPN, LotNo, Quantity, ExpiredDate, Username, SystemID, MaterialType
* //Output: MicronPN, LotNo, Quantity, ExpiredDate, Username, SystemID, MaterialType, StabilizationEndDate, Message, Status, ExposureStartDate
*/
public
static
Barcode
depositCreateMA
(
Barcode
barcode
,
String
username
)
throws
ApiException
{
//pnMap的key为pn, value为库存数量
String
depositCreateMAUrl
=
""
;
String
auth
=
getAuthToken
();
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"MicronPN"
,
barcode
.
getPartNumber
());
dataMap
.
put
(
"LotNo"
,
barcode
.
getBarcode
());
dataMap
.
put
(
"Quantity"
,
barcode
.
getAmount
());
dataMap
.
put
(
"ExpiredDate"
,
barcode
.
getExpireDate
());
dataMap
.
put
(
"SystemID"
,
"SPMMS"
);
dataMap
.
put
(
"MaterialType"
,
MATERIAL_TYPE
);
dataMap
.
put
(
"Username"
,
username
);
log
.
info
(
"调用MES接口 depositCreateMA,参数:"
+
JsonUtil
.
toJsonStr
(
dataMap
));
String
resultStr
=
HttpHelper
.
postJsonWithAuth
(
depositCreateMAUrl
,
dataMap
,
auth
);
log
.
info
(
"调用MES接口 depositCreateMA 返回:"
+
resultStr
);
Map
<
String
,
Object
>
resultMap
=
JsonUtil
.
toMap
(
resultStr
);
Object
resultStatus
=
resultMap
.
get
(
"Status"
);
if
(
resultStatus
!=
null
&&
!
resultStatus
.
toString
().
equalsIgnoreCase
(
"PASS"
)){
String
msg
=
resultMap
.
get
(
"Message"
).
toString
();
throw
new
ApiException
(
msg
);
}
Object
stabilizationEndDateObj
=
resultMap
.
get
(
"StabilizationEndDate"
);
Date
stabilizationEndDate
=
DateUtil
.
toDate
(
stabilizationEndDateObj
.
toString
(),
"MM-dd-yyyy"
);
barcode
.
updateAppendData
(
"stabilizationEndDate"
,
stabilizationEndDate
);
barcode
.
updateAppendData
(
"opUsername"
,
username
);
Object
exposureStartDateObj
=
resultMap
.
get
(
"ExposureStartDate"
);
Date
exposureStartDate
=
DateUtil
.
toDate
(
exposureStartDateObj
.
toString
(),
"MM-dd-yyyy"
);
barcode
.
setOpenTime
(
exposureStartDate
);
return
barcode
;
}
/**
* matreq order超过一小时还未完成,发送邮件
* SendEmail
* {
* "To": "SELECTEDMTGROUP",
* "From": "SPMMS",
* "CC": "KHIENYONGCHE",
* "BCC": "",
* "Subject": "This is Title",
* "Text": "This is message content"
* }
* //Input: To, From, CC, BCC, Subject, Text
* //Output: To, From, CC, BCC, Subject, Text, Status, Message
*/
public
static
void
sendEmail
(
String
to
,
String
cc
,
String
subject
,
String
conent
){
String
url
=
""
;
String
auth
=
getAuthToken
();
try
{
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"To"
,
to
);
dataMap
.
put
(
"From"
,
"SPMMS"
);
dataMap
.
put
(
"CC"
,
cc
);
dataMap
.
put
(
"BCC"
,
""
);
dataMap
.
put
(
"Subject"
,
subject
);
dataMap
.
put
(
"Text"
,
conent
);
log
.
info
(
"调用MES接口 SendEmail,参数:"
+
JsonUtil
.
toJsonStr
(
dataMap
));
String
resultStr
=
HttpHelper
.
postJsonWithAuth
(
url
,
dataMap
,
auth
);
log
.
info
(
"调用MES接口 SendEmail 返回:"
+
resultStr
);
}
catch
(
ApiException
e
)
{
log
.
error
(
"SendEmail Error"
,
e
);
}
}
/**
* 到达stabilizationEndDate时间后调用
* {
* "LotNo": "10819093SP-0148",
* "SystemID": "SPMMS",
* "MaterialType": "SOLDER_PASTE",
* "Username": "KHIENYONGCHE"
* }
* //Input: Lot No, Username, SystemID, MaterialType
* //Output: Lot No, Username, SystemID, MaterialType, Message, Status
*/
public
static
void
mATrackOut
(
Barcode
barcode
){
String
url
=
""
;
String
auth
=
getAuthToken
();
try
{
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"LotNo"
,
barcode
.
getBarcode
());
dataMap
.
put
(
"SystemID"
,
"SPMMS"
);
dataMap
.
put
(
"MaterialType"
,
MATERIAL_TYPE
);
dataMap
.
put
(
"Username"
,
"KHIENYONGCHE"
);
log
.
info
(
"调用MES接口 mATrackOut,参数:"
+
JsonUtil
.
toJsonStr
(
dataMap
));
String
resultStr
=
HttpHelper
.
postJsonWithAuth
(
url
,
dataMap
,
auth
);
log
.
info
(
"调用MES接口 mATrackOut 返回:"
+
resultStr
);
}
catch
(
ApiException
e
)
{
log
.
error
(
"mATrackOut Error"
,
e
);
}
}
/**
* GetEquipIDList
* Input:
* {
* "Facility": "MODULE SINGAPORE",
* "Area": "MSA MODSSD-ASSEMBLY",
* "EquipmentGroup" :"SMT AUTO ETA"
* }
* Sample Output:
* {
* "equipList": [
* {
* "equipId": "LINE007",
* "facility": "MODULE SINGAPORE",
* "area": "MSA MODSSD-ASSEMBLY",
* "equipmentGroup": "SMT AUTO ETA"
* },
* {
* "equipId": "LINE008",
* "facility": "MODULE SINGAPORE",
* "area": "MSA MODSSD-ASSEMBLY",
* "equipmentGroup": "SMT AUTO ETA"
* },
* {
* "equipId": "LINE011",
* "facility": "MODULE SINGAPORE",
* "area": "MSA MODSSD-ASSEMBLY",
* "equipmentGroup": "SMT AUTO ETA"
* },
* {
* "equipId": "LINE013",
* "facility": "MODULE SINGAPORE",
* "area": "MSA MODSSD-ASSEMBLY",
* "equipmentGroup": "SMT AUTO ETA"
* },
* {
* "equipId": "LINE015",
* "facility": "MODULE SINGAPORE",
* "area": "MSA MODSSD-ASSEMBLY",
* "equipmentGroup": "SMT AUTO ETA"
* },
* {
* "equipId": "LINE016",
* "facility": "MODULE SINGAPORE",
* "area": "MSA MODSSD-ASSEMBLY",
* "equipmentGroup": "SMT AUTO ETA"
* }
* ],
* "message": "",
* "status": "PASS"
* }
* @return
*/
public
static
List
<
String
>
getEquipIDList
()
throws
ApiException
{
List
<
String
>
equipIdList
=
new
ArrayList
<>();
String
checkStockAvailableUrl
=
""
;
String
auth
=
getAuthToken
();
Map
<
String
,
String
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"Facility"
,
"MODULE SINGAPORE"
);
dataMap
.
put
(
"Area"
,
"MSA MODSSD-ASSEMBLY"
);
dataMap
.
put
(
"EquipmentGroup"
,
"SMT AUTO ETA"
);
log
.
info
(
"调用MES接口 GetEquipIDList,参数:"
+
JsonUtil
.
toJsonStr
(
dataMap
));
String
resultStr
=
HttpHelper
.
postJsonWithAuth
(
checkStockAvailableUrl
,
dataMap
,
auth
);
log
.
info
(
"调用MES接口 GetEquipIDList 返回:"
+
resultStr
);
List
<
Map
<
String
,
String
>>
equipList
=
getResult
(
resultStr
,
"equipList"
);
if
(
equipList
!=
null
){
List
<
Map
<
String
,
String
>>
listMap
=
(
List
<
Map
<
String
,
String
>>)
equipList
;
for
(
Map
<
String
,
String
>
eqiup
:
listMap
)
{
equipIdList
.
add
(
eqiup
.
get
(
"equipId"
));
}
}
return
equipIdList
;
}
/**
* GetMicronPN 获取PartNumber
* {
* "MicronLotID": "CBNN5PG009",
* "EquipID": "LINE011",
* "MaterialType": "SOLDER_PASTE"
* }
* //Input: Equip ID, Micron LotID, MaterialType
* //Output: Equip ID, Micron LotID, Micron Part Number, Status, MaterialType
*/
public
static
String
getMicronPN
(
String
micronLotId
,
String
equipId
)
throws
ApiException
{
String
checkStockAvailableUrl
=
""
;
String
auth
=
getAuthToken
();
Map
<
String
,
String
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"MicronLotID"
,
micronLotId
);
dataMap
.
put
(
"EquipID"
,
equipId
);
log
.
info
(
"调用MES接口 GetMicronPN,参数:"
+
JsonUtil
.
toJsonStr
(
dataMap
));
String
resultStr
=
HttpHelper
.
postJsonWithAuth
(
checkStockAvailableUrl
,
dataMap
,
auth
);
log
.
info
(
"调用MES接口 GetMicronPN 返回:"
+
resultStr
);
String
pn
=
getResult
(
resultStr
,
"MicronPN"
);
return
pn
;
}
/**
* ChkAuthoriseToDispatch 判定是否可出库
* {
* "MicronPN": "501-10187",
* "LotNo": "10819093SP-0148",
* "BatchNo": "10819093SP",
* "SpoolStatus": "NEW", //Indicate new material
* "Quantity": 1,
* "Mode": "ENABLE_MAM_SAP",
* "Username": "KHIENYONGCHE",
* "MaterialType": "SOLDER_PASTE"
* }
* //Input: MicronPN, LotNo, BatchNo, SpoolStatus, Quantity, Username, Mode, MaterialType
* //Output: MicronPN, LotNo, BatchNo, SpoolStatus, Quantity, Username, Mode, MaterialType, MaterialDocumentNo, Message, Status
*/
public
static
void
chkAuthoriseToDispatch
(
Barcode
barcode
,
String
mode
,
String
username
)
throws
ApiException
{
String
checkStockAvailableUrl
=
""
;
String
auth
=
getAuthToken
();
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"MicronPN"
,
barcode
.
getPartNumber
());
dataMap
.
put
(
"LotNo"
,
barcode
.
getBarcode
());
dataMap
.
put
(
"BatchNo"
,
barcode
.
getBatch
());
dataMap
.
put
(
"SpoolStatus"
,
"NEW"
);
dataMap
.
put
(
"Quantity"
,
barcode
.
getAmount
());
dataMap
.
put
(
"Mode"
,
mode
);
dataMap
.
put
(
"Username"
,
username
);
dataMap
.
put
(
"MaterialType"
,
MATERIAL_TYPE
);
log
.
info
(
"调用MES接口 ChkAuthoriseToDispatch,参数:"
+
JsonUtil
.
toJsonStr
(
dataMap
));
String
resultStr
=
HttpHelper
.
postJsonWithAuth
(
checkStockAvailableUrl
,
dataMap
,
auth
);
log
.
info
(
"调用MES接口 ChkAuthoriseToDispatch 返回:"
+
resultStr
);
getResult
(
resultStr
,
null
);
}
private
static
<
T
>
T
getResult
(
String
resultJson
,
String
key
)
throws
ApiException
{
Map
<
String
,
Object
>
resultMap
=
JsonUtil
.
toMap
(
resultJson
);
Object
resultStatus
=
resultMap
.
get
(
"Status"
);
if
(
resultStatus
!=
null
&&
!
resultStatus
.
toString
().
equalsIgnoreCase
(
"PASS"
)){
String
msg
=
resultMap
.
get
(
"Message"
).
toString
();
throw
new
ApiException
(
msg
);
}
if
(
key
!=
null
&&
!
key
.
isEmpty
()){
Object
value
=
resultMap
.
get
(
key
);
if
(
value
!=
null
){
return
(
T
)
value
;
}
}
return
null
;
}
/**
* ReturnMaterial
* {
* "TypeOfReturn": "NORMAL_RETURN",
* "MicronPN": "501-10187",
* "LotNo": "10819093SP-0148",
* "BatchNo": "10819093SP",
* "Location": "SF01",
* "RemainingQuantity": 1, //Always 1 because will not allow partially return
* "Mode": "ENABLE_MAM_SAP",
* "Username": "KHIENYONGCHE",
* "SystemID": "SPMMS",
* "MaterialType": "SOLDER_PASTE"
* }
* //Input: TypeofReturn, MicronPN, LotNo, BatchNo, Location, RemainingQuantity, Mode, Username, SystemId, MaterialType
* //Output: TypeofReturn, MicronPN, LotNo, BatchNo, Location, RemainingQuantity, Mode, Username, SystemId, MaterialType, Message, Status, ExpiredDate
*/
public
static
Barcode
returnMaterial
(
Barcode
barcode
,
String
mode
,
String
username
)
throws
ApiException
{
String
checkStockAvailableUrl
=
""
;
String
auth
=
getAuthToken
();
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"TypeofReturn"
,
"NORMAL_RETURN"
);
dataMap
.
put
(
"MicronPN"
,
barcode
.
getPartNumber
());
dataMap
.
put
(
"LotNo"
,
barcode
.
getBarcode
());
dataMap
.
put
(
"BatchNo"
,
barcode
.
getBatch
());
dataMap
.
put
(
"Location"
,
""
);
dataMap
.
put
(
"RemainingQuantity"
,
1
);
dataMap
.
put
(
"Mode"
,
"ENABLE_MAM_SAP"
);
dataMap
.
put
(
"Username"
,
username
);
dataMap
.
put
(
"SystemID"
,
"SPMMS"
);
dataMap
.
put
(
"MaterialType"
,
MATERIAL_TYPE
);
log
.
info
(
"调用MES接口 ReturnMaterial,参数:"
+
JsonUtil
.
toJsonStr
(
dataMap
));
String
resultStr
=
HttpHelper
.
postJsonWithAuth
(
checkStockAvailableUrl
,
dataMap
,
auth
);
log
.
info
(
"调用MES接口 ReturnMaterial 返回:"
+
resultStr
);
String
expiredDateStr
=
getResult
(
resultStr
,
"ExpiredDate"
);
Date
expiredDate
=
DateUtil
.
toDate
(
expiredDateStr
.
toString
(),
"MM-dd-yyyy"
);
barcode
.
setExpireDate
(
expiredDate
);
return
barcode
;
}
}
}
src/main/java/com/neotel/smfcore/custom/micron20031/bean/DepositMatReqBean.java
0 → 100644
查看文件 @
40aa49c
package
com
.
neotel
.
smfcore
.
custom
.
micron20031
.
bean
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.Data
;
/**
* @author sunke
* @date 2023/1/3 3:28 PM
*/
@Data
public
class
DepositMatReqBean
{
/**
* {
* * "MatReqNo": "0730000956",
* * "MaterialType": "SOLDER_PASTE"
* * }
* * //Input: MatReqNo, MaterialType
* * //Output: MatReqNo, Micron Part Number, Lot No, Quantity, UnitOfMeasures, MaterialType, Message, Status
*/
@JsonProperty
(
"MicronPN"
)
private
String
micronPN
;
@JsonProperty
(
"LotNo"
)
private
String
lotNo
;
@JsonProperty
(
"Quantity"
)
private
Integer
quantity
;
@JsonProperty
(
"UnitOfMeasures"
)
private
String
unitOfMeasures
;
@JsonProperty
(
"MaterialType"
)
private
String
materialType
;
@JsonProperty
(
"MatReqNo"
)
private
String
matReqNo
;
@JsonProperty
(
"Message"
)
private
String
message
;
@JsonProperty
(
"Status"
)
private
String
status
;
}
src/main/java/com/neotel/smfcore/custom/micron20031/bean/MatOrderBean.java
查看文件 @
40aa49c
...
@@ -8,7 +8,7 @@ import lombok.Data;
...
@@ -8,7 +8,7 @@ import lombok.Data;
* @date 2022/12/21 9:33 AM
* @date 2022/12/21 9:33 AM
*/
*/
@Data
@Data
public
class
MatOrderBean
{
public
class
MatOrderBean
{
@JsonProperty
(
"MicronPN"
)
@JsonProperty
(
"MicronPN"
)
private
String
micronPN
;
private
String
micronPN
;
...
@@ -19,4 +19,13 @@ public class MatOrderBean {
...
@@ -19,4 +19,13 @@ public class MatOrderBean {
@JsonProperty
(
"MaterialType"
)
@JsonProperty
(
"MaterialType"
)
private
String
materialType
;
private
String
materialType
;
private
Integer
stockRoomQty
;
@JsonProperty
(
"MatReqNo"
)
private
String
matReqNo
;
@JsonProperty
(
"Message"
)
private
String
message
;
@JsonProperty
(
"Status"
)
private
String
status
;
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论