Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
QisdaNew
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 93ddd934
由
sunke
编写于
2020-04-20 17:09:56 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1 条码尺寸从Qisda获取,并与测量尺寸进行比对
2 需求单无库存时,返回Not Found
1 个父辈
3cc971a5
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
153 行增加
和
107 行删除
myproject/src/main/java/com/myproject/manager/IComponentManager.java
myproject/src/main/java/com/myproject/manager/impl/BarcodeManagerImpl.java
myproject/src/main/java/com/myproject/manager/impl/ComponentManagerImpl.java
myproject/src/main/java/com/myproject/mina/TcpServer.java
myproject/src/main/java/com/myproject/webapp/controller/FileUploadController.java
myproject/src/main/java/com/myproject/webapp/controller/barcode/BarcodeGenerateController.java
myproject/src/main/java/com/myproject/webapp/controller/storage/BoxChartController.java
myproject/src/main/java/com/myproject/webapp/controller/storage/ComponentUpdateController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/DataCache.java
myproject/src/main/java/com/myproject/webapp/controller/webService/MesApiController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/QisdaApiController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/TaskService.java
myproject/src/main/webapp/WEB-INF/pages/component/reelNumModify.jsp
myproject/src/main/java/com/myproject/manager/IComponentManager.java
查看文件 @
93ddd93
...
...
@@ -9,7 +9,9 @@ import java.util.List;
*/
public
interface
IComponentManager
extends
IManager
<
Component
>
{
public
Component
findByPartNumber
(
String
partNumber
);
public
Component
findByPartNumber
(
String
partNumber
,
String
provider
);
List
<
Component
>
listByPn
(
String
pn
);
List
<
Component
>
allNeedAlarmComponents
();
...
...
myproject/src/main/java/com/myproject/manager/impl/BarcodeManagerImpl.java
查看文件 @
93ddd93
...
...
@@ -57,7 +57,7 @@ public class BarcodeManagerImpl implements IBarcodeManager {
@Override
public
Barcode
save
(
Barcode
barcode
)
throws
ValidateException
{
validateSave
(
barcode
);
Component
component
=
componentManager
.
findByPartNumber
(
barcode
.
getPartNumber
());
Component
component
=
componentManager
.
findByPartNumber
(
barcode
.
getPartNumber
()
,
barcode
.
getProvider
()
);
if
(
component
!=
null
){
if
(
barcode
.
getMaxStorageTime
()
<=
0
){
barcode
.
setMaxStorageTime
(
component
.
getMaxStorageTime
());
...
...
@@ -119,7 +119,7 @@ public class BarcodeManagerImpl implements IBarcodeManager {
protected
boolean
validateComponent
(
Barcode
barcode
)
{
return
componentManager
.
findByPartNumber
(
barcode
.
getPartNumber
())
!=
null
;
return
componentManager
.
findByPartNumber
(
barcode
.
getPartNumber
()
,
barcode
.
getProvider
()
)
!=
null
;
}
protected
boolean
validateUnique
(
Barcode
barcode
)
{
...
...
myproject/src/main/java/com/myproject/manager/impl/ComponentManagerImpl.java
查看文件 @
93ddd93
...
...
@@ -33,10 +33,17 @@ public class ComponentManagerImpl implements IComponentManager {
}
@Override
public
Component
findByPartNumber
(
String
partNumber
)
{
public
Component
findByPartNumber
(
String
partNumber
,
String
provider
)
{
if
(
StringUtils
.
isEmpty
(
partNumber
))
return
null
;
else
return
componentDao
.
findOneByCondition
(
new
String
[]
{
"partNumber"
},
new
String
[]
{
partNumber
});
else
return
componentDao
.
findOneByCondition
(
new
String
[]
{
"partNumber"
,
"provider"
},
new
String
[]
{
partNumber
,
provider
});
}
@Override
public
List
<
Component
>
listByPn
(
String
pn
){
Criteria
c
=
Criteria
.
where
(
"partNumber"
).
is
(
pn
);
Query
query
=
Query
.
query
(
c
);
return
componentDao
.
findByQuery
(
query
);
}
@Override
...
...
@@ -64,7 +71,7 @@ public class ComponentManagerImpl implements IComponentManager {
public
Component
save
(
Component
component
)
throws
ValidateException
{
String
partNumber
=
component
.
getPartNumber
();
Component
dbComponent
=
findByPartNumber
(
partNumber
);
Component
dbComponent
=
findByPartNumber
(
partNumber
,
component
.
getProvider
()
);
if
(
dbComponent
!=
null
){
//数据库中已存在,但不是更新(要保存的没有 ID,或者有 ID但与数据库中的 ID不一致)
if
(
Strings
.
isNullOrEmpty
(
component
.
getId
())
||
!
dbComponent
.
getId
().
equals
(
component
.
getId
())
){
...
...
myproject/src/main/java/com/myproject/mina/TcpServer.java
查看文件 @
93ddd93
...
...
@@ -177,7 +177,7 @@ public class TcpServer {
barcode
.
setAmount
(
amount
);
//未补过料
if
(
Strings
.
isNullOrEmpty
(
barcode
.
getNextBarcode
())){
Component
component
=
componentManager
.
findByPartNumber
(
barcode
.
getPartNumber
());
Component
component
=
componentManager
.
findByPartNumber
(
barcode
.
getPartNumber
()
,
barcode
.
getProvider
()
);
int
alarmAmount
=
component
.
getAlarmAmount
();
if
(
amount
<=
alarmAmount
){
StoragePos
pos
=
storagePosManager
.
findPartNumberPos
(
null
,
barcode
.
getPartNumber
(),
new
ArrayList
<
String
>(),
StorageConstants
.
CHECKOUT_TYPE
.
FIFO
);
...
...
myproject/src/main/java/com/myproject/webapp/controller/FileUploadController.java
查看文件 @
93ddd93
...
...
@@ -185,7 +185,7 @@ public class FileUploadController extends BaseFormController {
log
.
debug
(
"Parse component to list with size: "
+
list
.
size
());
if
(
list
!=
null
&&
list
.
size
()
>
0
)
{
for
(
ComponentExcel
componentExcel
:
list
)
{
Component
component
=
componentManager
.
findByPartNumber
(
componentExcel
.
getPartNumber
());
Component
component
=
componentManager
.
findByPartNumber
(
componentExcel
.
getPartNumber
()
,
null
);
if
(
component
==
null
)
{
component
=
new
Component
();
}
...
...
@@ -254,7 +254,7 @@ public class FileUploadController extends BaseFormController {
if
(
partNumber
.
isEmpty
()){
log
.
warn
(
"行[partNumber="
+
partNumber
+
","
+
"reelId="
+
reelId
+
",qty="
+
qty
+
"]中PN 为空,此行忽略"
);
}
else
{
Component
component
=
componentManager
.
findByPartNumber
(
partNumber
);
Component
component
=
componentManager
.
findByPartNumber
(
partNumber
,
""
);
if
(
component
==
null
){
log
.
info
(
"未找到["
+
partNumber
+
"]的档案,创建新的数量为["
+
qty
+
"]档案"
);
component
=
new
Component
();
...
...
myproject/src/main/java/com/myproject/webapp/controller/barcode/BarcodeGenerateController.java
查看文件 @
93ddd93
...
...
@@ -65,7 +65,7 @@ public class BarcodeGenerateController extends BaseUpdateController {
barcode
.
setStatus
(
StorageConstants
.
BARCODE_STATUS
.
NEW
);
barcode
.
setUsed
(
false
);
//String componentId = barcode.getComponentId();
Component
component
=
componentManager
.
findByPartNumber
(
barcode
.
getPartNumber
());
Component
component
=
componentManager
.
findByPartNumber
(
barcode
.
getPartNumber
()
,
barcode
.
getProvider
()
);
if
(
StringUtils
.
isEmpty
(
barcode
.
getBarcode
()))
{
String
bs
=
getUuid
();
...
...
myproject/src/main/java/com/myproject/webapp/controller/storage/BoxChartController.java
查看文件 @
93ddd93
...
...
@@ -282,7 +282,7 @@ public class BoxChartController extends BaseController {
List
<
SolderInventoryItem
>
results
=
Lists
.
newArrayList
();
for
(
InventoryItem
inventoryItem
:
storageTypeInventory
.
values
())
{
String
partNumber
=
inventoryItem
.
getPartNumber
();
Component
component
=
componentManager
.
findByPartNumber
(
partNumber
);
Component
component
=
componentManager
.
findByPartNumber
(
partNumber
,
""
);
int
minStoreNum
=
component
.
getMinStoreNum
();
int
maxStoreNum
=
component
.
getMaxStoreNum
();
...
...
myproject/src/main/java/com/myproject/webapp/controller/storage/ComponentUpdateController.java
查看文件 @
93ddd93
...
...
@@ -106,7 +106,7 @@ public class ComponentUpdateController extends BaseUpdateController{
if
(
Strings
.
isNullOrEmpty
(
component
.
getFixtureNumber
())){
throw
new
ValidateException
(
"夹具编号不能为空"
);
}
else
{
Component
fixture
=
componentmanager
.
findByPartNumber
(
component
.
getFixtureNumber
());
Component
fixture
=
componentmanager
.
findByPartNumber
(
component
.
getFixtureNumber
()
,
null
);
if
(
fixture
==
null
){
throw
new
ValidateException
(
"不存在编号为【"
+
component
.
getFixtureNumber
()+
"】的夹具"
);
}
else
{
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/DataCache.java
查看文件 @
93ddd93
...
...
@@ -16,10 +16,7 @@ import com.myproject.manager.IBarcodeManager;
import
com.myproject.manager.IComponentManager
;
import
com.myproject.manager.IStorageManager
;
import
com.myproject.manager.IStoragePosManager
;
import
com.myproject.util.BarcodeRule
;
import
com.myproject.util.DateUtil
;
import
com.myproject.util.PLATE_SIZE
;
import
com.myproject.util.StorageConstants
;
import
com.myproject.util.*
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -210,6 +207,56 @@ public class DataCache{
return
settings
;
}
private
Component
getComponent
(
Barcode
barcode
)
throws
ValidateException
{
boolean
needSave
=
false
;
Component
component
=
componentManager
.
findByPartNumber
(
barcode
.
getPartNumber
(),
barcode
.
getProvider
());
if
(
component
==
null
){
component
=
componentManager
.
findByPartNumber
(
barcode
.
getPartNumber
(),
null
);
if
(
component
!=
null
){
if
(
component
.
getProvider
()
==
null
){
component
.
setProvider
(
barcode
.
getProvider
());
needSave
=
true
;
}
}
}
if
(
component
==
null
){
if
(
barcode
.
getPlateSize
()
>
0
){
log
.
info
(
"自动添加["
+
barcode
.
getPartNumber
()+
"]的档案信息"
);
component
=
new
Component
();
component
.
setPartNumber
(
barcode
.
getPartNumber
());
component
.
setAmount
(
barcode
.
getAmount
());
component
.
setPlateSize
(
barcode
.
getPlateSize
());
component
.
setHeight
(
barcode
.
getHeight
());
component
.
setName
(
barcode
.
getPartNumber
());
component
.
setProvider
(
barcode
.
getProvider
());
needSave
=
true
;
}
}
if
(
component
==
null
){
throw
new
ValidateException
(
"档案不存在"
);
}
if
(!
component
.
isSizeConfirmed
()){
//尺寸未确认过,从Qisda获取
PLATE_SIZE
plateSize
=
QisdaApi
.
PartNoRule
(
barcode
.
getPartNumber
(),
barcode
.
getProvider
());
if
(
plateSize
!=
null
){
component
.
setPlateSize
(
plateSize
.
getW
());
component
.
setHeight
(
plateSize
.
getH
());
if
(
Strings
.
isNullOrEmpty
(
component
.
getProvider
())){
component
.
setProvider
(
barcode
.
getProvider
());
}
component
.
setSizeConfirmed
(
true
);
needSave
=
true
;
}
}
if
(
needSave
){
component
=
componentManager
.
save
(
component
);
}
return
component
;
}
/**
* 解析条码为单个 Barcode
*/
...
...
@@ -256,34 +303,36 @@ public class DataCache{
}
}
}
Component
component
=
componentManager
.
findByPartNumber
(
barcode
.
getPartNumber
());
int
validDay
=
0
;
if
(
component
!=
null
){
validDay
=
component
.
getValidDay
();
codeBeanFromRule
.
setShowImg
(
component
.
getShowImg
());
try
{
Component
component
=
getComponent
(
barcode
);
codeBeanFromRule
.
setError
(
null
);
if
(
component
.
isSizeConfirmed
()){
//尺寸已经确认的,判断尺寸,如果大小不符合,直接NG,如果大小符合,尺寸差别在4mm内的修改尺寸
if
(
barcode
.
getPlateSize
()
!=
component
.
getPlateSize
()){
String
msg
=
barcode
.
getBarcode
()
+
"测量尺寸["
+
barcode
.
getSizeStr
()+
"]与
确认PN
尺寸["
+
component
.
getSizeStr
()+
"]不符"
;
String
msg
=
barcode
.
getBarcode
()
+
"测量尺寸["
+
barcode
.
getSizeStr
()+
"]与
给定
尺寸["
+
component
.
getSizeStr
()+
"]不符"
;
codeBeanFromRule
.
setError
(
msg
);
throw
new
ValidateException
(
msg
);
}
else
{
//如果厚度小于4mm,使用确认的尺寸入库
int
diffHeight
=
barcode
.
getHeight
()
-
component
.
getHeight
();
if
(
diffHeight
!=
0
&&
Math
.
abs
(
diffHeight
)
<=
4
){
log
.
info
(
barcode
.
getBarcode
()
+
"测量尺寸["
+
barcode
.
getSizeStr
()+
"]与确认PN尺寸["
+
component
.
getSizeStr
()+
"]厚度误差在4mm以内,使用确认的尺寸进行入库"
);
try
{
barcode
.
setHeight
(
component
.
getHeight
());
barcodeManager
.
save
(
barcode
);
}
catch
(
Exception
e
){
}
if
(
Math
.
abs
(
diffHeight
)
>
4
){
String
msg
=
barcode
.
getBarcode
()
+
"测量厚度["
+
barcode
.
getSizeStr
()+
"]与给定厚度["
+
component
.
getSizeStr
()+
"]误差过大"
;
//codeBeanFromRule.setError(msg);
throw
new
ValidateException
(
msg
);
}
else
if
(
diffHeight
!=
0
&&
Math
.
abs
(
diffHeight
)
<=
4
){
log
.
info
(
barcode
.
getBarcode
()
+
"测量尺寸["
+
barcode
.
getSizeStr
()+
"]与给定尺寸["
+
component
.
getSizeStr
()+
"]厚度误差在4mm以内,使用给定尺寸进行入库"
);
barcode
.
setHeight
(
component
.
getHeight
());
barcodeManager
.
save
(
barcode
);
}
}
}
}
catch
(
ValidateException
e
)
{
codeBeanFromRule
.
setError
(
e
.
getMessage
());
log
.
info
(
e
.
getMessage
());
}
codeBeanFromRule
.
setError
(
null
);
codeBeanFromRule
.
setCodeStr
(
barcode
.
getBarcode
());
codeBeanFromRule
.
setBarcode
(
barcode
);
return
codeBeanFromRule
;
...
...
@@ -292,74 +341,50 @@ public class DataCache{
try
{
//如果有料盘尺寸,重新设置料盘尺寸信息,没有档案时自动添加档案
if
(
codeBeanFromRule
.
hasReelSizeInfo
()){
//log.info("料盘["+barcode.getBarcode()+"]的尺寸信息从["+barcode.getPlateSize()+"x"+barcode.getHeight()+"]设置为["+codeBeanFromRule.getReelWidth()+"x"+codeBeanFromRule.getReelHeight()+"]");
Component
component
=
componentManager
.
findByPartNumber
(
barcodeFromRule
.
getPartNumber
());
if
(
component
==
null
){
log
.
info
(
"自动添加["
+
barcodeFromRule
.
getPartNumber
()+
"]的档案信息["
+
codeBeanFromRule
.
getReelWidth
()+
"x"
+
codeBeanFromRule
.
getReelHeight
()+
"]"
);
component
=
new
Component
();
component
.
setPartNumber
(
barcodeFromRule
.
getPartNumber
());
component
.
setAmount
(
barcodeFromRule
.
getAmount
());
component
.
setPlateSize
(
barcodeFromRule
.
getPlateSize
());
component
.
setHeight
(
barcodeFromRule
.
getHeight
());
component
.
setName
(
barcodeFromRule
.
getPartNumber
());
component
.
setProvider
(
barcodeFromRule
.
getProvider
());
componentManager
.
save
(
component
);
}
else
{
//尺寸已经确认的,不再更新尺寸
if
(!
component
.
isSizeConfirmed
()){
//如果 barcode 里的料盘信息比 Component 中的大,使用比较大的,防止放不进去撞击
if
(
codeBeanFromRule
.
getReelHeight
()
>
component
.
getHeight
()
||
codeBeanFromRule
.
getReelWidth
()
>
component
.
getPlateSize
()){
log
.
info
(
"更新物料["
+
component
.
getPartNumber
()+
"]档案尺寸["
+
component
.
getPlateSize
()+
"x"
+
component
.
getHeight
()+
"]为["
+
codeBeanFromRule
.
getReelWidth
()+
"x"
+
codeBeanFromRule
.
getReelHeight
()+
"]"
);
component
.
setPlateSize
(
barcodeFromRule
.
getPlateSize
());
component
.
setHeight
(
barcodeFromRule
.
getHeight
());
componentManager
.
save
(
component
);
}
}
else
{
barcodeFromRule
.
setPlateSize
(
codeBeanFromRule
.
getReelWidth
());
barcodeFromRule
.
setHeight
(
codeBeanFromRule
.
getReelHeight
());
}
Component
component
=
getComponent
(
barcodeFromRule
);
if
(
component
.
isSizeConfirmed
()){
//尺寸已经确认的,判断尺寸,如果大小不符合,直接NG,如果大小符合,尺寸差别在4mm内的修改尺寸
if
(
barcodeFromRule
.
getPlateSize
()
!=
component
.
getPlateSize
()){
String
msg
=
barcodeFromRule
.
getBarcode
()
+
"测量尺寸["
+
barcodeFromRule
.
getSizeStr
()+
"]与给定尺寸["
+
component
.
getSizeStr
()+
"]不符"
;
codeBeanFromRule
.
setError
(
msg
);
throw
new
ValidateException
(
msg
);
}
else
{
//如果厚度小于4mm,使用确认的尺寸入库
int
diffHeight
=
barcodeFromRule
.
getHeight
()
-
component
.
getHeight
();
if
(
Math
.
abs
(
diffHeight
)
>
4
){
String
msg
=
barcodeFromRule
.
getBarcode
()
+
"测量厚度["
+
barcodeFromRule
.
getSizeStr
()+
"]与给定厚度["
+
component
.
getSizeStr
()+
"]误差过大"
;
codeBeanFromRule
.
setError
(
msg
);
throw
new
ValidateException
(
msg
);
}
else
if
(
diffHeight
!=
0
&&
Math
.
abs
(
diffHeight
)
<=
4
){
log
.
info
(
barcodeFromRule
.
getBarcode
()
+
"测量尺寸["
+
barcodeFromRule
.
getSizeStr
()+
"]与给定寸["
+
component
.
getSizeStr
()+
"]厚度误差在4mm以内,使用给定尺寸进行入库"
);
barcodeFromRule
.
setHeight
(
component
.
getHeight
());
}
//codeBeanFromRule.setShowImg(component.getShowImg());
}
}
boolean
needAddNew
=
true
;
if
(
isProductionFor
(
CUSTOMER
.
LIAN_DIAN
)
){
//联电的唯一码中必须带有-,否则无效
if
(
!
barcodeFromRule
.
getBarcode
().
contains
(
"-"
)
){
needAddNew
=
false
;
log
.
info
(
"唯一码["
+
barcodeFromRule
.
getBarcode
()+
"]中不带符号-,忽略"
);
return
null
;
//codeBeanFromRule.setShowImg(component.getShowImg());
Date
produceDate
=
barcodeFromRule
.
getProduceDate
()
;
if
(
produceDate
!=
null
&&
barcodeFromRule
.
getExpireDate
()
==
null
){
int
validDay
=
component
.
getValidDay
();
if
(
validDay
>
0
){
log
.
info
(
"设置"
+
barcodeFromRule
.
getBarcode
()+
"的过期时间"
)
;
Date
expireDate
=
DateUtil
.
addDays
(
produceDate
,
validDay
);
barcodeFromRule
.
setExpireDate
(
expireDate
)
;
}
}
if
(
needAddNew
){
log
.
info
(
"自动添加条码"
+
barcodeItemStr
+
"到数据库中"
);
Component
component
=
componentManager
.
findByPartNumber
(
barcodeFromRule
.
getPartNumber
());
if
(
component
==
null
){
throw
new
ValidateException
(
"档案不存在"
);
}
//codeBeanFromRule.setShowImg(component.getShowImg());
Date
produceDate
=
barcodeFromRule
.
getProduceDate
();
if
(
produceDate
!=
null
&&
barcodeFromRule
.
getExpireDate
()
==
null
){
int
validDay
=
component
.
getValidDay
();
if
(
validDay
>
0
){
log
.
info
(
"设置"
+
barcodeFromRule
.
getBarcode
()+
"的过期时间"
);
Date
expireDate
=
DateUtil
.
addDays
(
produceDate
,
validDay
);
barcodeFromRule
.
setExpireDate
(
expireDate
);
barcodeManager
.
save
(
barcodeFromRule
);
}
}
barcode
=
barcodeManager
.
save
(
barcodeFromRule
);
codeBeanFromRule
.
setCodeStr
(
barcode
.
getBarcode
());
codeBeanFromRule
.
setBarcode
(
barcode
);
codeBeanFromRule
.
setError
(
null
);
}
log
.
info
(
"自动添加条码"
+
barcodeItemStr
+
"到数据库中"
);
barcode
=
barcodeManager
.
save
(
barcodeFromRule
);
codeBeanFromRule
.
setCodeStr
(
barcode
.
getBarcode
());
codeBeanFromRule
.
setBarcode
(
barcode
);
codeBeanFromRule
.
setError
(
null
);
}
catch
(
ValidateException
ve
){
//档案不存在
codeBeanFromRule
.
setError
(
"x档案 "
+
barcodeFromRule
.
getPartNumber
()+
" 不存在"
);
log
.
warn
(
"x档案"
+
barcodeFromRule
.
getPartNumber
()+
"不存在"
);
codeBeanFromRule
.
setError
(
ve
.
getMessage
()
);
log
.
info
(
ve
.
getMessage
()
);
}
//解析成功了,直接返回
return
codeBeanFromRule
;
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/MesApiController.java
查看文件 @
93ddd93
...
...
@@ -66,7 +66,7 @@ public class MesApiController extends BaseController {
log
.
info
(
"收到 MES 的 数据同步信息"
+
Partnumber
+
"【"
+
w
+
"x"
+
h
+
"】"
);
Component
c
=
componentManager
.
findByPartNumber
(
Partnumber
);
Component
c
=
componentManager
.
findByPartNumber
(
Partnumber
,
null
);
if
(
c
==
null
){
c
=
new
Component
();
}
...
...
@@ -98,7 +98,7 @@ public class MesApiController extends BaseController {
String
PARTNUMBER
=
checkParameter
(
request
,
"PN"
);
String
QTY
=
checkParameter
(
request
,
"QTY"
);
log
.
info
(
"收到条码同步信息:RI="
+
REEL_ID
+
" PN="
+
PARTNUMBER
+
" QTY="
+
QTY
);
Component
c
=
componentManager
.
findByPartNumber
(
PARTNUMBER
);
Component
c
=
componentManager
.
findByPartNumber
(
PARTNUMBER
,
null
);
if
(
c
==
null
){
return
"Error: 物料编号["
+
PARTNUMBER
+
"]的档案不存在"
;
}
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/QisdaApiController.java
查看文件 @
93ddd93
...
...
@@ -181,6 +181,12 @@ public class QisdaApiController extends BaseController {
map
.
put
(
"so"
,
appendInfo
.
getSo
());
bindReelInfos
.
add
(
map
);
}
}
else
{
//无库存,返回Not Found
Map
<
String
,
String
>
map
=
new
HashMap
<>();
map
.
put
(
"reelId"
,
reelId
);
map
.
put
(
"so"
,
"Not Found"
);
bindReelInfos
.
add
(
map
);
}
}
}
catch
(
Exception
e
)
{
...
...
@@ -935,17 +941,23 @@ public class QisdaApiController extends BaseController {
//缺料,查看是否有本工单,同PN的,如果有抢一个过来
//缺料,料架留空
Component
c
=
componentManager
.
findByPartNumber
(
outItem
.
getPn
())
;
if
(
c
!=
null
){
String
shelfType
=
StorageConstants
.
SHEFL_TYPE
.
D
;
boolean
hasBigSizePn
=
false
;
List
<
Component
>
pnList
=
componentManager
.
listByPn
(
outItem
.
getPn
());
for
(
Component
c
:
pnList
)
{
if
(
c
.
getPlateSize
()
>
7
||
c
.
getHeight
()
>
12
){
shelfType
=
StorageConstants
.
SHEFL_TYPE
.
C
;
hasBigSizePn
=
true
;
break
;
}
log
.
info
(
outItem
.
getSlotlocation
()
+
"["
+
outItem
.
getPn
()+
"]缺料,保留"
+
shelfType
+
"类型架位"
);
InquiryShelfBean
.
addEmptyLoc
(
outItem
,
shelfType
);
}
else
{
}
if
(
pnList
.
isEmpty
()){
log
.
error
(
"未找到物料["
+
outItem
.
getPn
()+
"]的尺寸信息,保留C类型架位"
);
InquiryShelfBean
.
addEmptyLoc
(
outItem
,
StorageConstants
.
SHEFL_TYPE
.
C
);
}
else
if
(
hasBigSizePn
){
log
.
info
(
outItem
.
getSlotlocation
()
+
"["
+
outItem
.
getPn
()+
"]缺料,且PN数据中有大料,保留C类型架位"
);
InquiryShelfBean
.
addEmptyLoc
(
outItem
,
StorageConstants
.
SHEFL_TYPE
.
C
);
}
else
{
log
.
info
(
outItem
.
getSlotlocation
()
+
"["
+
outItem
.
getPn
()+
"]缺料,保留D类型架位"
);
InquiryShelfBean
.
addEmptyLoc
(
outItem
,
StorageConstants
.
SHEFL_TYPE
.
D
);
}
}
return
tasks
;
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/TaskService.java
查看文件 @
93ddd93
...
...
@@ -1854,10 +1854,10 @@ public class TaskService implements ITaskService {
barcode
.
setCheckOutDate
(
null
,
""
);
barcode
.
setPosName
(
task
.
getPosName
());
barcode
.
setInitialAmount
(
barcode
.
getAmount
());
if
(
Strings
.
isNullOrEmpty
(
barcode
.
getProviderNumber
())){
//补上供应商编号
Component
component
=
componentManager
.
findByPartNumber
(
barcode
.
getPartNumber
());
barcode
.
setProviderNumber
(
component
.
getProviderNumber
());
}
//
if(Strings.isNullOrEmpty(barcode.getProviderNumber())){//补上供应商编号
//
Component component = componentManager.findByPartNumber(barcode.getPartNumber());
//
barcode.setProviderNumber(component.getProviderNumber());
//
}
// AppendInfo appendInfo = barcode.getAppendInfo();
// appendInfo.setDnNo(task.getSourceName());
...
...
myproject/src/main/webapp/WEB-INF/pages/component/reelNumModify.jsp
查看文件 @
93ddd93
...
...
@@ -112,7 +112,7 @@
<!--/span-->
<div class="col-md-6">
<div class="form-group">
<label class="control-label col-md-3"><fmt:message key="component.provider
Number
"/>
<label class="control-label col-md-3"><fmt:message key="component.provider"/>
:</label>
<div class="col-md-9">
...
...
@@ -290,12 +290,12 @@
$(this).attr("placeholder", codeValue);
$(this).val("");
$.post("${ctx}/service/store/resolveBarcode", {code: codeValue}, function (data) {
if (data.
error == null
) {
if (data.
valid
) {
$("#barcode").text(data.barcode.barcode);
$("#partNumber").text(data.barcode.partNumber);
$("#batch").text(data.barcode.batch);
$("#amount").text(data.barcode.amount);
$("#providerNumber").text(data.barcode.provider
Number
);
$("#providerNumber").text(data.barcode.provider);
$("#modifyNum").focus();
} else {
printErrorMessage(data.error);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论