Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit c04e8917
由
LN
编写于
2023-09-13 10:18:50 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
bug修改 Order修改
1 个父辈
04d57262
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
38 行增加
和
4 行删除
src/main/java/com/neotel/smfcore/custom/micron20031/Micron20031Api.java
src/main/java/com/neotel/smfcore/custom/micron20031/MicronSpOrderController.java
src/main/java/com/neotel/smfcore/custom/micron20031/bean/MatOrderBean.java
src/main/java/com/neotel/smfcore/custom/micron20031/bean/dto/OrderInfoDto.java
src/main/java/com/neotel/smfcore/custom/micron20031/Micron20031Api.java
查看文件 @
c04e891
...
@@ -50,6 +50,8 @@ public class Micron20031Api {
...
@@ -50,6 +50,8 @@ public class Micron20031Api {
private
static
String
api_ChkAuthoriseToDispatch
=
"ChkAuthoriseToDispatch"
;
private
static
String
api_ChkAuthoriseToDispatch
=
"ChkAuthoriseToDispatch"
;
private
static
String
api_ReturnMaterial
=
"ReturnMaterial"
;
private
static
String
api_ReturnMaterial
=
"ReturnMaterial"
;
private
static
boolean
Debug
=
false
;
@Value
(
"${micron.api_CheckUserRights:}"
)
@Value
(
"${micron.api_CheckUserRights:}"
)
public
void
setApi_CheckUserRights
(
String
api_config
)
{
public
void
setApi_CheckUserRights
(
String
api_config
)
{
if
(
ObjectUtil
.
isEmpty
(
api_config
)){
if
(
ObjectUtil
.
isEmpty
(
api_config
)){
...
@@ -292,6 +294,16 @@ public class Micron20031Api {
...
@@ -292,6 +294,16 @@ public class Micron20031Api {
// String resultStr="{\"materials\":[{\"materialType\":\"SOLDER_PASTE\",\"systemId\":\"\",\"typeOfReturn\":\"\",\"sapLocationMovementType\":\"\",\"matReqNo\":\"\",\"micronPn\":\"507-10187\",\"lotNo\":\"\",\"batchNo\":\"\",\"micronLotId\":\"\",\"location\":\"\",\"unitOfMeasures\":\"BOT\",\"equipId\":\"\",\"message\":\"\",\"status\":\"\",\"spoolStatus\":\"\",\"expiredDate\":\"\",\"stepId\":\"\",\"materialDocumentNo\":\"\",\"username\":\"\",\"mode\":\"\",\"quantity\":155.0,\"remainingQuantity\":0,\"expiredDate2\":\"\",\"stabilizationEndDate\":\"\",\"isQualLot\":\"\",\"exposureStartDateTime\":\"\",\"lotNo2\":\"\",\"targetSystemId\":\"\",\"transferMode\":\"\",\"adjustedQuantity\":0,\"manufacturerLotNo\":\"\",\"lotList\":{\"lots\":null},\"newMergeLotId\":\"\",\"inHouseMark\":\"\",\"leadFrameCount\":0,\"modSolderPaste\":\"\",\"supplier\":\"\",\"supplierPN\":\"\",\"printerName\":\"\"},{\"materialType\":\"SOLDER_PASTE\",\"systemId\":\"\",\"typeOfReturn\":\"\",\"sapLocationMovementType\":\"\",\"matReqNo\":\"\",\"micronPn\":\"507-10363\",\"lotNo\":\"\",\"batchNo\":\"\",\"micronLotId\":\"\",\"location\":\"\",\"unitOfMeasures\":\"BOT\",\"equipId\":\"\",\"message\":\"\",\"status\":\"\",\"spoolStatus\":\"\",\"expiredDate\":\"\",\"stepId\":\"\",\"materialDocumentNo\":\"\",\"username\":\"\",\"mode\":\"\",\"quantity\":504.0,\"remainingQuantity\":0,\"expiredDate2\":\"\",\"stabilizationEndDate\":\"\",\"isQualLot\":\"\",\"exposureStartDateTime\":\"\",\"lotNo2\":\"\",\"targetSystemId\":\"\",\"transferMode\":\"\",\"adjustedQuantity\":0,\"manufacturerLotNo\":\"\",\"lotList\":{\"lots\":null},\"newMergeLotId\":\"\",\"inHouseMark\":\"\",\"leadFrameCount\":0,\"modSolderPaste\":\"\",\"supplier\":\"\",\"supplierPN\":\"\",\"printerName\":\"\"}],\"status\":\"PASS\",\"message\":\"\"}";
// String resultStr="{\"materials\":[{\"materialType\":\"SOLDER_PASTE\",\"systemId\":\"\",\"typeOfReturn\":\"\",\"sapLocationMovementType\":\"\",\"matReqNo\":\"\",\"micronPn\":\"507-10187\",\"lotNo\":\"\",\"batchNo\":\"\",\"micronLotId\":\"\",\"location\":\"\",\"unitOfMeasures\":\"BOT\",\"equipId\":\"\",\"message\":\"\",\"status\":\"\",\"spoolStatus\":\"\",\"expiredDate\":\"\",\"stepId\":\"\",\"materialDocumentNo\":\"\",\"username\":\"\",\"mode\":\"\",\"quantity\":155.0,\"remainingQuantity\":0,\"expiredDate2\":\"\",\"stabilizationEndDate\":\"\",\"isQualLot\":\"\",\"exposureStartDateTime\":\"\",\"lotNo2\":\"\",\"targetSystemId\":\"\",\"transferMode\":\"\",\"adjustedQuantity\":0,\"manufacturerLotNo\":\"\",\"lotList\":{\"lots\":null},\"newMergeLotId\":\"\",\"inHouseMark\":\"\",\"leadFrameCount\":0,\"modSolderPaste\":\"\",\"supplier\":\"\",\"supplierPN\":\"\",\"printerName\":\"\"},{\"materialType\":\"SOLDER_PASTE\",\"systemId\":\"\",\"typeOfReturn\":\"\",\"sapLocationMovementType\":\"\",\"matReqNo\":\"\",\"micronPn\":\"507-10363\",\"lotNo\":\"\",\"batchNo\":\"\",\"micronLotId\":\"\",\"location\":\"\",\"unitOfMeasures\":\"BOT\",\"equipId\":\"\",\"message\":\"\",\"status\":\"\",\"spoolStatus\":\"\",\"expiredDate\":\"\",\"stepId\":\"\",\"materialDocumentNo\":\"\",\"username\":\"\",\"mode\":\"\",\"quantity\":504.0,\"remainingQuantity\":0,\"expiredDate2\":\"\",\"stabilizationEndDate\":\"\",\"isQualLot\":\"\",\"exposureStartDateTime\":\"\",\"lotNo2\":\"\",\"targetSystemId\":\"\",\"transferMode\":\"\",\"adjustedQuantity\":0,\"manufacturerLotNo\":\"\",\"lotList\":{\"lots\":null},\"newMergeLotId\":\"\",\"inHouseMark\":\"\",\"leadFrameCount\":0,\"modSolderPaste\":\"\",\"supplier\":\"\",\"supplierPN\":\"\",\"printerName\":\"\"}],\"status\":\"PASS\",\"message\":\"\"}";
// log.info("调用MES接口 checkStockAvailable 返回:" + resultStr);
// log.info("调用MES接口 checkStockAvailable 返回:" + resultStr);
if
(
Debug
){
List
<
MatOrderBean
>
list
=
new
ArrayList
<>();
for
(
String
key
:
pnMap
.
keySet
())
{
Integer
value
=
pnMap
.
get
(
key
);
MatOrderBean
bean
=
new
MatOrderBean
(
key
,
""
,
999
,
""
,
999
,
""
,
""
,
""
);
list
.
add
(
bean
);
}
return
list
;
}
//pnMap的key为pn, value为库存数量
//pnMap的key为pn, value为库存数量
String
checkStockAvailableUrl
=
getUrl
(
api_CheckStockAvailable
);
String
checkStockAvailableUrl
=
getUrl
(
api_CheckStockAvailable
);
...
...
src/main/java/com/neotel/smfcore/custom/micron20031/MicronSpOrderController.java
查看文件 @
c04e891
...
@@ -6,8 +6,10 @@ import com.neotel.smfcore.common.bean.ResultBean;
...
@@ -6,8 +6,10 @@ import com.neotel.smfcore.common.bean.ResultBean;
import
com.neotel.smfcore.common.exception.ApiException
;
import
com.neotel.smfcore.common.exception.ApiException
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.storage.bean.InventoryItem
;
import
com.neotel.smfcore.core.storage.bean.InventoryItem
;
import
com.neotel.smfcore.core.storage.bean.UsageItem
;
import
com.neotel.smfcore.core.storage.rest.dto.InventoryItemDto
;
import
com.neotel.smfcore.core.storage.rest.dto.InventoryItemDto
;
import
com.neotel.smfcore.core.storage.rest.mapstruct.InventoryItemMapper
;
import
com.neotel.smfcore.core.storage.rest.mapstruct.InventoryItemMapper
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.custom.micron20031.bean.MatOrderBean
;
import
com.neotel.smfcore.custom.micron20031.bean.MatOrderBean
;
import
com.neotel.smfcore.custom.micron20031.bean.dto.OrderInfoDto
;
import
com.neotel.smfcore.custom.micron20031.bean.dto.OrderInfoDto
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -43,6 +45,7 @@ public class MicronSpOrderController {
...
@@ -43,6 +45,7 @@ public class MicronSpOrderController {
@RequestMapping
(
value
=
"/stockAvailable"
)
@RequestMapping
(
value
=
"/stockAvailable"
)
public
ResultBean
checkStockAvailable
(
@RequestBody
List
<
String
>
pnList
)
throws
ApiException
{
public
ResultBean
checkStockAvailable
(
@RequestBody
List
<
String
>
pnList
)
throws
ApiException
{
List
<
OrderInfoDto
>
resultList
=
new
ArrayList
<>();
List
<
OrderInfoDto
>
resultList
=
new
ArrayList
<>();
Map
<
String
,
InventoryItem
>
inventoryItemDtoMap
=
dataCache
.
getAllInventory
(
null
,
""
);
Map
<
String
,
InventoryItem
>
inventoryItemDtoMap
=
dataCache
.
getAllInventory
(
null
,
""
);
Map
<
String
,
Integer
>
pnVMap
=
new
HashMap
<>();
Map
<
String
,
Integer
>
pnVMap
=
new
HashMap
<>();
for
(
String
pn
:
for
(
String
pn
:
...
@@ -56,12 +59,25 @@ public class MicronSpOrderController {
...
@@ -56,12 +59,25 @@ public class MicronSpOrderController {
}
}
try
{
try
{
List
<
MatOrderBean
>
stockResults
=
Micron20031Api
.
checkStockAvailable
(
pnVMap
);
List
<
MatOrderBean
>
stockResults
=
Micron20031Api
.
checkStockAvailable
(
pnVMap
);
if
(
stockResults
==
null
||
stockResults
.
size
()<=
0
){
if
(
stockResults
==
null
||
stockResults
.
size
()
<=
0
)
{
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.api.nodata"
,
"Failed to get data"
);
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.api.nodata"
,
"Failed to get data"
);
}
int
slotsCount
=
0
;
Map
<
String
,
Storage
>
allStorageMap
=
dataCache
.
getAllStorage
();
for
(
Storage
storage
:
allStorageMap
.
values
())
{
// if (storage.isSolderPaste()) {
Map
<
String
,
UsageItem
>
userItemMap
=
storage
.
getUsageMap
();
for
(
UsageItem
item
:
userItemMap
.
values
())
{
slotsCount
+=
item
.
getTotalCount
()
-
item
.
getUsedCount
();
}
// }
}
}
for
(
MatOrderBean
bean
:
for
(
MatOrderBean
bean
:
stockResults
)
{
stockResults
)
{
OrderInfoDto
orderInfoDto
=
new
OrderInfoDto
(
bean
.
getMicronPN
(),
0
,
bean
.
getQuantity
(),
bean
.
getUnitOfMeasures
());
OrderInfoDto
orderInfoDto
=
new
OrderInfoDto
(
bean
.
getMicronPN
(),
0
,
slotsCount
,
bean
.
getQuantity
(),
bean
.
getUnitOfMeasures
());
if
(
inventoryItemDtoMap
.
containsKey
(
bean
.
getMicronPN
()))
{
if
(
inventoryItemDtoMap
.
containsKey
(
bean
.
getMicronPN
()))
{
InventoryItem
item
=
inventoryItemDtoMap
.
get
(
bean
.
getMicronPN
());
InventoryItem
item
=
inventoryItemDtoMap
.
get
(
bean
.
getMicronPN
());
...
@@ -69,7 +85,7 @@ public class MicronSpOrderController {
...
@@ -69,7 +85,7 @@ public class MicronSpOrderController {
}
}
resultList
.
add
(
orderInfoDto
);
resultList
.
add
(
orderInfoDto
);
}
}
}
catch
(
ApiException
e
)
{
}
catch
(
ApiException
e
)
{
return
ResultBean
.
newErrorResult
(
1
,
e
.
getMessage
(),
e
.
getMessage
());
return
ResultBean
.
newErrorResult
(
1
,
e
.
getMessage
(),
e
.
getMessage
());
}
}
...
...
src/main/java/com/neotel/smfcore/custom/micron20031/bean/MatOrderBean.java
查看文件 @
c04e891
package
com
.
neotel
.
smfcore
.
custom
.
micron20031
.
bean
;
package
com
.
neotel
.
smfcore
.
custom
.
micron20031
.
bean
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
/**
* @author sunke
* @author sunke
* @date 2022/12/21 9:33 AM
* @date 2022/12/21 9:33 AM
*/
*/
@Data
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
MatOrderBean
{
public
class
MatOrderBean
{
@JsonProperty
(
"micronPn"
)
@JsonProperty
(
"micronPn"
)
...
...
src/main/java/com/neotel/smfcore/custom/micron20031/bean/dto/OrderInfoDto.java
查看文件 @
c04e891
...
@@ -17,6 +17,8 @@ public class OrderInfoDto implements Serializable {
...
@@ -17,6 +17,8 @@ public class OrderInfoDto implements Serializable {
@ApiModelProperty
(
"库存数量"
)
@ApiModelProperty
(
"库存数量"
)
private
int
stockCount
=
0
;
private
int
stockCount
=
0
;
@ApiModelProperty
(
"空位数量"
)
private
int
slotsCount
=
0
;
@JsonProperty
(
"Quantity"
)
@JsonProperty
(
"Quantity"
)
private
Integer
quantity
;
private
Integer
quantity
;
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论