Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
Gree
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 8d45b57d
由
sunke
编写于
2020-04-21 14:36:04 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
关闭三天前的工单出库需求
关闭工单接口
1 个父辈
93ddd934
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
227 行增加
和
58 行删除
myproject/src/main/java/com/myproject/bean/update/qisda/OutInfo.java
myproject/src/main/java/com/myproject/dao/mongo/IStoragePosDao.java
myproject/src/main/java/com/myproject/dao/mongo/impl/StoragePosDaoImpl.java
myproject/src/main/java/com/myproject/dao/mongo/qisda/IOutInfoDao.java
myproject/src/main/java/com/myproject/dao/mongo/qisda/impl/OutIInfoDaoImpl.java
myproject/src/main/java/com/myproject/util/StorageConstants.java
myproject/src/main/java/com/myproject/webapp/controller/qisda/QisdaController.java
myproject/src/main/java/com/myproject/webapp/controller/qisda/util/OutInfoCache.java
myproject/src/main/java/com/myproject/webapp/controller/storage/BaseController.java
myproject/src/main/java/com/myproject/webapp/controller/storage/StoragePosFindController.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/storagePosFind.jsp
myproject/src/main/webapp/WEB-INF/pages/qisda/outInfoSearch.jsp
myproject/src/main/java/com/myproject/bean/update/qisda/OutInfo.java
查看文件 @
8d45b57
...
...
@@ -20,6 +20,7 @@ public class OutInfo extends BaseMongoBean {
this
.
action
=
outItem
.
getAction
();
this
.
hSerial
=
outItem
.
gethSerial
();
this
.
so
=
outItem
.
getSo
();
this
.
soseq
=
outItem
.
getSoseq
();
this
.
refno
=
outItem
.
getRefno
();
this
.
sdate
=
outItem
.
getSdate
();
this
.
mdate
=
outItem
.
getMdate
();
...
...
@@ -40,6 +41,11 @@ public class OutInfo extends BaseMongoBean {
private
String
so
;
/**
* 工单序号
*/
private
String
soseq
;
/**
* 备料单号
*/
private
String
refno
;
...
...
@@ -210,6 +216,9 @@ public class OutInfo extends BaseMongoBean {
return
"M"
;
}
/**
* 放上料架顺序
*/
public
String
getShelfLatest
(){
if
(
taskNum
==
1
){
return
"L"
;
...
...
@@ -235,14 +244,34 @@ public class OutInfo extends BaseMongoBean {
return
sendStatus
;
}
/**
* 是否发料完成(不缺料)
*/
public
boolean
isSendEnd
(){
return
sendStatus
==
StorageConstants
.
SEND_STATUS
.
SEND_OK
;
}
/**
* 是否已关闭
*/
public
boolean
isClosed
(){
return
sendStatus
==
StorageConstants
.
SEND_STATUS
.
CLOSED
;
}
/**
* 是否本次任务执行完成
*/
public
boolean
isTaskEnd
(){
return
taskNum
>
0
&&
taskFinishNum
>=
taskNum
;
}
/**
* 是否正在执行
*/
public
boolean
isExecuting
(){
return
taskNum
>
0
&&
sendStatus
==
StorageConstants
.
SEND_STATUS
.
EXECUTING
;
}
public
void
setSendStatus
(
int
sendStatus
)
{
this
.
sendStatus
=
sendStatus
;
}
...
...
@@ -259,6 +288,14 @@ public class OutInfo extends BaseMongoBean {
this
.
outItemMap
=
outItemMap
;
}
public
String
getSoseq
()
{
return
soseq
;
}
public
void
setSoseq
(
String
soseq
)
{
this
.
soseq
=
soseq
;
}
@Override
public
String
toString
()
{
return
"OutInfo{"
+
...
...
myproject/src/main/java/com/myproject/dao/mongo/IStoragePosDao.java
查看文件 @
8d45b57
...
...
@@ -79,6 +79,8 @@ public interface IStoragePosDao extends IMongoDao {
List
<
StoragePos
>
allBindPos
(
String
so
);
List
<
StoragePos
>
listSoSeqBindPos
(
String
soseq
);
StoragePos
findByBarcode
(
String
barcode
);
StoragePos
unbindReel
(
StoragePos
storagePos
);
...
...
myproject/src/main/java/com/myproject/dao/mongo/impl/StoragePosDaoImpl.java
查看文件 @
8d45b57
...
...
@@ -428,6 +428,16 @@ public class StoragePosDaoImpl extends AbstractMongoDao implements IStoragePosDa
return
findByQuery
(
q
);
}
/**
* 获取工单的所有绑定料盘
*/
@Override
public
List
<
StoragePos
>
listSoSeqBindPos
(
String
soseq
)
{
Criteria
c
=
Criteria
.
where
(
"barcode.appendInfo.soseq"
).
is
(
soseq
);
Query
q
=
new
Query
(
c
);
return
findByQuery
(
q
);
}
@Override
public
StoragePos
findByBarcode
(
String
barcode
){
return
findOneByCondition
(
new
String
[]{
"barcode.barcode"
},
new
String
[]{
barcode
});
...
...
myproject/src/main/java/com/myproject/dao/mongo/qisda/IOutInfoDao.java
查看文件 @
8d45b57
...
...
@@ -10,6 +10,10 @@ public interface IOutInfoDao extends IMongoDao {
OutInfo
findByHSerial
(
String
hSerial
);
List
<
OutInfo
>
listBySo
(
String
so
);
List
<
OutInfo
>
listBySoSeq
(
String
soseq
);
List
<
OutInfo
>
findUnEndOutInfos
();
void
updateStatus
(
String
hSerial
,
int
bindStatus
,
int
sendStatus
);
...
...
myproject/src/main/java/com/myproject/dao/mongo/qisda/impl/OutIInfoDaoImpl.java
查看文件 @
8d45b57
...
...
@@ -6,6 +6,7 @@ import com.myproject.bean.update.qisda.OutItem;
import
com.myproject.dao.mongo.AbstractMongoDao
;
import
com.myproject.dao.mongo.qisda.IOutInfoDao
;
import
com.myproject.dao.mongo.qisda.IOutItemDao
;
import
com.myproject.util.StorageConstants
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
...
...
@@ -26,12 +27,34 @@ public class OutIInfoDaoImpl extends AbstractMongoDao implements IOutInfoDao {
}
/**
* 查找所有发料状态不为2(未发料完成)的工单需求单
*/
@Override
public
List
<
OutInfo
>
listBySo
(
String
so
){
Criteria
c
=
new
Criteria
();
c
.
and
(
"so"
).
is
(
so
);
Query
query
=
new
Query
(
c
);
return
findByQuery
(
query
);
}
/**
* 查找所有发料状态不为2(未发料完成)的工单需求单
*/
@Override
public
List
<
OutInfo
>
listBySoSeq
(
String
soseq
){
Criteria
c
=
new
Criteria
();
c
.
and
(
"soseq"
).
is
(
soseq
);
Query
query
=
new
Query
(
c
);
return
findByQuery
(
query
);
}
/**
* 查找所有发料状态不为2(未发料完成)的需求单
*/
@Override
public
List
<
OutInfo
>
findUnEndOutInfos
(){
Criteria
c
=
new
Criteria
();
c
.
and
(
"sendStatus"
).
n
e
(
2
);
c
.
and
(
"sendStatus"
).
n
in
(
StorageConstants
.
SEND_STATUS
.
CLOSED
,
StorageConstants
.
SEND_STATUS
.
SEND_OK
);
Query
query
=
new
Query
(
c
);
return
findByQuery
(
query
);
}
...
...
myproject/src/main/java/com/myproject/util/StorageConstants.java
查看文件 @
8d45b57
...
...
@@ -697,6 +697,11 @@ public class StorageConstants {
*/
public
static
int
CLOSED
=
3
;
/**
* 需求单正在执行
*/
public
static
int
EXECUTING
=
4
;
}
}
myproject/src/main/java/com/myproject/webapp/controller/qisda/QisdaController.java
查看文件 @
8d45b57
...
...
@@ -180,18 +180,9 @@ public class QisdaController extends BaseController {
public
String
unBindAllReel
(
HttpServletRequest
request
){
String
so
=
request
.
getParameter
(
"so"
);
if
(
Strings
.
isNullOrEmpty
(
so
)){
return
"无工单号参数so,无法解绑"
;
return
"无工单
序
号参数so,无法解绑"
;
}
log
.
info
(
"开始解绑绑定工单["
+
so
+
"]的料盘"
);
int
count
=
0
;
List
<
StoragePos
>
bindPosList
=
storagePosDao
.
allBindPos
(
so
);
for
(
StoragePos
storagePos
:
bindPosList
)
{
storagePosDao
.
unbindReel
(
storagePos
);
log
.
info
(
"解除["
+
storagePos
.
getBarcode
().
getBarcode
()+
"]的工单["
+
so
+
"]绑定"
);
count
=
count
+
1
;
}
String
msg
=
"工单["
+
so
+
"]解除绑定完成,共解绑["
+
count
+
"]盘"
;
log
.
info
(
msg
);
String
msg
=
outInfoCache
.
closeSo
(
so
);
return
msg
;
}
...
...
myproject/src/main/java/com/myproject/webapp/controller/qisda/util/OutInfoCache.java
查看文件 @
8d45b57
package
com
.
myproject
.
webapp
.
controller
.
qisda
.
util
;
import
com.myproject.bean.qisda.InquiryShelfBean
;
import
com.myproject.bean.update.Barcode
;
import
com.myproject.bean.update.StoragePos
;
import
com.myproject.bean.update.qisda.OutInfo
;
import
com.myproject.bean.update.qisda.OutItem
;
import
com.myproject.dao.mongo.IStoragePosDao
;
import
com.myproject.dao.mongo.qisda.IOutInfoDao
;
import
com.myproject.dao.mongo.qisda.IOutItemDao
;
import
com.myproject.util.DateUtil
;
import
com.myproject.util.StorageConstants
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.apache.logging.log4j.util.Strings
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
...
...
@@ -50,6 +55,9 @@ public class OutInfoCache {
@Autowired
private
IOutItemDao
outItemDao
;
@Autowired
private
IStoragePosDao
storagePosDao
;
/**
* 更新需求项
*/
...
...
@@ -80,7 +88,7 @@ public class OutInfoCache {
if
(!
outInfo
.
getOutItemMap
().
isEmpty
()){
outInfoMap
.
put
(
hserial
,
outInfo
);
}
else
{
outInfo
.
setSendStatus
(
2
);
outInfo
.
setSendStatus
(
StorageConstants
.
SEND_STATUS
.
SEND_OK
);
outInfoDao
.
save
(
outInfo
);
}
...
...
@@ -94,12 +102,74 @@ public class OutInfoCache {
public
void
loadUnEndOutInfos
(){
log
.
info
(
"开始加载未完成的需求单"
);
List
<
OutInfo
>
unEndOutInfoList
=
outInfoDao
.
findUnEndOutInfos
();
long
now
=
System
.
currentTimeMillis
();
for
(
OutInfo
outInfo
:
unEndOutInfoList
)
{
addOutInfo
(
outInfo
);
updateStatus
(
outInfo
.
gethSerial
());
if
(
now
-
outInfo
.
getMdate
().
getTime
()
>
3
*
24
*
60
*
60
*
1000
){
//3天前的需求单(非紧急料),关闭,并解绑
if
(!
outInfo
.
isUrgentAction
()){
String
so
=
outInfo
.
getSo
();
String
mDataStr
=
DateUtil
.
toDateString
(
outInfo
.
getMdate
(),
"yyyy-MM-dd HH:mm"
);
log
.
info
(
"工单["
+
so
+
"]的必须出库日期["
+
mDataStr
+
"]为3天前,关闭并解绑工单"
);
closeSo
(
outInfo
.
getSo
());
}
}
else
{
addOutInfo
(
outInfo
);
updateStatus
(
outInfo
.
gethSerial
());
}
}
}
public
String
closeSoSeq
(
String
soseq
){
log
.
info
(
"开始关闭并解绑工单soseq=["
+
soseq
+
"]的料盘"
);
List
<
OutInfo
>
outInfoList
=
outInfoDao
.
listBySoSeq
(
soseq
);
if
(
outInfoList
.
isEmpty
()){
return
"未找到工单序号soseq为["
+
soseq
+
"]的数据"
;
}
for
(
OutInfo
outInfo
:
outInfoList
)
{
if
(!
outInfo
.
isClosed
()
&&
!
outInfo
.
isSendEnd
()){
log
.
info
(
"关闭需求单["
+
outInfo
.
gethSerial
()+
"]so=["
+
outInfo
.
getSo
()+
"]soseq=["
+
outInfo
.
getSoseq
()+
"]"
);
int
sendStatus
=
StorageConstants
.
SEND_STATUS
.
CLOSED
;
outInfoDao
.
updateStatus
(
outInfo
.
gethSerial
(),
outInfo
.
getBindStatus
(),
sendStatus
);
}
}
int
count
=
0
;
List
<
StoragePos
>
bindPosList
=
storagePosDao
.
listSoSeqBindPos
(
soseq
);
for
(
StoragePos
storagePos
:
bindPosList
)
{
Barcode
barcode
=
storagePos
.
getBarcode
();
storagePosDao
.
unbindReel
(
storagePos
);
count
=
count
+
1
;
log
.
info
(
"解除["
+
barcode
.
getBarcode
()+
"]的工单so=["
+
barcode
.
getAppendInfo
().
getSo
()+
"]soseq=["
+
barcode
.
getAppendInfo
().
getSoseq
()+
"]绑定,累计解除"
+
count
);
}
return
""
;
}
public
String
closeSo
(
String
so
){
if
(
Strings
.
isBlank
(
so
)){
return
"无效的工单序号"
;
}
List
<
OutInfo
>
outInfoList
=
outInfoDao
.
listBySo
(
so
);
for
(
OutInfo
outInfo
:
outInfoList
)
{
if
(!
outInfo
.
isClosed
()
&&
!
outInfo
.
isSendEnd
()){
log
.
info
(
"关闭需求单["
+
outInfo
.
gethSerial
()+
"]"
);
int
sendStatus
=
StorageConstants
.
SEND_STATUS
.
CLOSED
;
outInfoDao
.
updateStatus
(
outInfo
.
gethSerial
(),
outInfo
.
getBindStatus
(),
sendStatus
);
}
}
int
count
=
0
;
List
<
StoragePos
>
bindPosList
=
storagePosDao
.
allBindPos
(
so
);
for
(
StoragePos
storagePos
:
bindPosList
)
{
storagePosDao
.
unbindReel
(
storagePos
);
log
.
info
(
"解除["
+
storagePos
.
getBarcode
().
getBarcode
()+
"]的工单so=["
+
so
+
"]绑定"
);
count
=
count
+
1
;
}
String
msg
=
"工单so=["
+
so
+
"]解除绑定完成,共解绑["
+
count
+
"]盘"
;
log
.
info
(
msg
);
return
msg
;
}
/**
* 获取缓存的需求单信息
*/
...
...
@@ -118,6 +188,12 @@ public class OutInfoCache {
outInfo
.
setOutReelNum
(
0
);
outInfo
.
setTaskFinishNum
(
0
);
outInfo
.
setTaskNum
(
outReelNum
);
if
(
outReelNum
!=
0
){
outInfo
.
setSendStatus
(
StorageConstants
.
SEND_STATUS
.
EXECUTING
);
}
else
{
outInfo
.
setSendStatus
(
StorageConstants
.
SEND_STATUS
.
SEND_LESS
);
}
outInfoMap
.
put
(
hSerial
,
outInfo
);
}
}
...
...
@@ -175,7 +251,6 @@ public class OutInfoCache {
}
log
.
info
(
"更新需求单["
+
hSerial
+
"]的发料状态 ["
+
outInfo
.
getSendStatus
()+
"]"
);
boolean
sendEnd
=
true
;
boolean
hasOut
=
false
;
//默认为绑定OK,
int
bindStatus
=
2
;
for
(
OutItem
outItem
:
outInfo
.
getOutItemMap
().
values
())
{
...
...
@@ -186,9 +261,6 @@ public class OutInfoCache {
if
(!
outItem
.
isItemEnd
()){
sendEnd
=
false
;
}
if
(
outItem
.
getOutQty
()
>
0
){
hasOut
=
true
;
}
if
(!
outItem
.
isBindOk
()){
//有绑定缺料的情况,即认为是绑定缺料
bindStatus
=
1
;
...
...
@@ -197,12 +269,11 @@ public class OutInfoCache {
if
(
sendEnd
){
outInfo
.
setSendStatus
(
StorageConstants
.
SEND_STATUS
.
SEND_OK
);
}
else
{
if
(
hasOut
){
//有出库的,状态为发料缺料
//有出库的,状态为发料缺料
if
(
outInfo
.
isTaskEnd
()){
outInfo
.
setSendStatus
(
StorageConstants
.
SEND_STATUS
.
SEND_LESS
);
}
else
{
//无出过库的,状态为未发料
outInfo
.
setSendStatus
(
StorageConstants
.
SEND_STATUS
.
NEW
);
outInfo
.
setSendStatus
(
StorageConstants
.
SEND_STATUS
.
EXECUTING
);
}
}
outInfo
.
setBindStatus
(
bindStatus
);
...
...
@@ -216,5 +287,4 @@ public class OutInfoCache {
}
}
}
myproject/src/main/java/com/myproject/webapp/controller/storage/BaseController.java
查看文件 @
8d45b57
...
...
@@ -183,11 +183,16 @@ public class BaseController {
}
protected
void
addLikeParam
(
HttpServletRequest
request
,
Criteria
criteria
,
String
fieldStr
){
String
fieldValue
=
request
.
getParameter
(
fieldStr
);
String
parmaKey
=
fieldStr
;
int
splitIndex
=
fieldStr
.
lastIndexOf
(
'.'
);
if
(
splitIndex
>=
0
){
parmaKey
=
fieldStr
.
substring
(
splitIndex
+
1
);
}
String
fieldValue
=
request
.
getParameter
(
parmaKey
);
if
(!
Strings
.
isNullOrEmpty
(
fieldValue
)){
Pattern
pattern
=
Pattern
.
compile
(
fieldValue
,
Pattern
.
CASE_INSENSITIVE
);
criteria
.
and
(
fieldStr
).
regex
(
pattern
);
request
.
setAttribute
(
fieldStr
,
fieldValue
);
request
.
setAttribute
(
parmaKey
,
fieldValue
);
}
}
...
...
myproject/src/main/java/com/myproject/webapp/controller/storage/StoragePosFindController.java
查看文件 @
8d45b57
...
...
@@ -98,19 +98,9 @@ public class StoragePosFindController extends BaseSearchController {
addFromToDateParam
(
request
,
baseCriteria
,
"updateDate"
);
String
memo
=
request
.
getParameter
(
"memo"
);
if
(!
Strings
.
isNullOrEmpty
(
memo
)){
Pattern
pattern
=
Pattern
.
compile
(
memo
,
Pattern
.
CASE_INSENSITIVE
);
baseCriteria
.
and
(
"barcode.memo"
).
regex
(
pattern
);
request
.
setAttribute
(
"memo"
,
memo
);
}
String
facility
=
request
.
getParameter
(
"facility"
);
if
(!
Strings
.
isNullOrEmpty
(
facility
)){
Pattern
pattern
=
Pattern
.
compile
(
facility
,
Pattern
.
CASE_INSENSITIVE
);
baseCriteria
.
and
(
"barcode.appendInfo.facility"
).
regex
(
pattern
);
request
.
setAttribute
(
"facility"
,
facility
);
}
addLikeParam
(
request
,
baseCriteria
,
"barcode.memo"
);
addLikeParam
(
request
,
baseCriteria
,
"barcode.appendInfo.facility"
);
addLikeParam
(
request
,
baseCriteria
,
"barcode.appendInfo.so"
);
String
expire
=
request
.
getParameter
(
"expire"
);
if
(!
Strings
.
isNullOrEmpty
(
expire
)){
...
...
@@ -122,11 +112,8 @@ public class StoragePosFindController extends BaseSearchController {
request
.
setAttribute
(
"expire"
,
expire
);
}
String
lockId
=
request
.
getParameter
(
"lockId"
);
if
(!
Strings
.
isNullOrEmpty
(
lockId
)){
baseCriteria
.
and
(
"barcode.lockId"
).
is
(
lockId
);
request
.
setAttribute
(
"lockId"
,
lockId
);
}
addLikeParam
(
request
,
baseCriteria
,
"barcode.lockId"
);
addLikeParam
(
baseCriteria
,
request
,
"otherField1"
);
addLikeParam
(
baseCriteria
,
request
,
"otherField2"
);
...
...
@@ -140,6 +127,7 @@ public class StoragePosFindController extends BaseSearchController {
baseCriteria
.
and
(
"barcode.barcode"
).
regex
(
pattern
);
}
int
inactionDay
=
dataCache
.
getSettings
().
getInactionDay
();
if
(
inactionDay
<=
0
){
inactionDay
=
3
;
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/QisdaApiController.java
查看文件 @
8d45b57
...
...
@@ -161,7 +161,7 @@ public class QisdaApiController extends BaseController {
public
ResultBean
checkLockSo
(
HttpServletRequest
request
)
{
List
<
Map
<
String
,
String
>>
bindReelInfos
=
new
ArrayList
<>();
try
{
String
paramInfo
=
receiveParamInfo
(
request
);
String
paramInfo
=
receiveParamInfo
(
request
,
"paramInfo"
);
log
.
info
(
"收到检测锁定工单请求:"
+
paramInfo
);
if
(
paramInfo
==
null
){
return
ResultBean
.
newErrorResult
(-
1
,
"参数为空"
);
...
...
@@ -190,13 +190,38 @@ public class QisdaApiController extends BaseController {
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
"
需求
单请求处理出错"
,
e
);
log
.
error
(
"
检测料盘是否绑定工
单请求处理出错"
,
e
);
return
ResultBean
.
newErrorResult
(
1001
,
"内部错误:"
+
e
.
getMessage
());
}
return
ResultBean
.
newOkResult
(
bindReelInfos
);
}
/**
* 检测料盘是否绑定工单
*/
@RequestMapping
(
value
=
"/closeSoSeq"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
public
ResultBean
closeSo
(
HttpServletRequest
request
)
{
List
<
Map
<
String
,
String
>>
bindReelInfos
=
new
ArrayList
<>();
try
{
String
soseq
=
receiveParamInfo
(
request
,
"soseq"
);
log
.
info
(
"收到检测锁定工单请求:"
+
soseq
);
if
(
soseq
==
null
){
return
ResultBean
.
newErrorResult
(-
1
,
"未找到soseq参数"
);
}
String
result
=
outInfoCache
.
closeSoSeq
(
soseq
);
if
(
result
.
isEmpty
()){
return
ResultBean
.
newOkResult
(
"OK"
);
}
else
{
return
ResultBean
.
newErrorResult
(
2003
,
result
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"需求单请求处理出错"
,
e
);
return
ResultBean
.
newErrorResult
(
1001
,
"内部错误:"
+
e
.
getMessage
());
}
}
/**
* 出库
*/
@RequestMapping
(
value
=
"/out"
,
method
=
RequestMethod
.
POST
)
...
...
@@ -204,7 +229,7 @@ public class QisdaApiController extends BaseController {
public
Object
out
(
HttpServletRequest
request
)
{
List
<
String
>
failedReelIdList
=
new
ArrayList
<>();
try
{
String
paramInfo
=
receiveParamInfo
(
request
);
String
paramInfo
=
receiveParamInfo
(
request
,
"paramInfo"
);
log
.
info
(
"收到需求单请求:"
+
paramInfo
);
if
(
paramInfo
==
null
){
return
ResultBean
.
newErrorResult
(-
1
,
"参数为空"
);
...
...
@@ -246,7 +271,7 @@ public class QisdaApiController extends BaseController {
appendInfo
.
sethSerial
(
outItem
.
gethSerial
());
appendInfo
.
setRefno
(
outItem
.
getRefno
());
appendInfo
.
setSo
(
"HSerial-"
+
outItem
.
gethSerial
());
appendInfo
.
setSoseq
(
"HSerial-"
+
outItem
.
get
Soseq
());
appendInfo
.
setSoseq
(
"HSerial-"
+
outItem
.
get
hSerial
());
appendInfo
.
setSlotStr
(
outItem
.
getSlotStr
());
appendInfo
.
setBindSlot
(
"1"
);
...
...
@@ -1052,6 +1077,7 @@ public class QisdaApiController extends BaseController {
outInfo
.
setOutReelNum
(
0
);
outInfo
.
setTaskFinishNum
(
0
);
outInfo
.
setTaskNum
(
outReelNum
);
outInfo
.
setSendStatus
(
StorageConstants
.
SEND_STATUS
.
EXECUTING
);
outInfo
=
outInfoDao
.
save
(
outInfo
);
outInfoCache
.
resetTaskNum
(
hSerial
,
outReelNum
);
...
...
@@ -1088,12 +1114,12 @@ public class QisdaApiController extends BaseController {
/**
* 获取接收参数
*/
private
String
receiveParamInfo
(
HttpServletRequest
request
){
String
paramInfo
=
request
.
getParameter
(
"paramInfo"
);
private
String
receiveParamInfo
(
HttpServletRequest
request
,
String
paramKey
){
String
paramInfo
=
request
.
getParameter
(
paramKey
);
if
(
Strings
.
isNullOrEmpty
(
paramInfo
)){
//从body里面再获取一次
Map
<
String
,
String
>
bodyParamMap
=
getParamMapFromBody
(
request
);
paramInfo
=
bodyParamMap
.
get
(
"paramInfo"
);
paramInfo
=
bodyParamMap
.
get
(
paramKey
);
}
return
paramInfo
;
}
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/TaskService.java
查看文件 @
8d45b57
...
...
@@ -18,7 +18,6 @@ import com.myproject.bean.utils.BoxStatusBean;
import
com.myproject.bean.utils.StatusBean
;
import
com.myproject.dao.mongo.*
;
import
com.myproject.dao.mongo.qisda.IDNItemDao
;
import
com.myproject.dao.mongo.qisda.IOutInfoDao
;
import
com.myproject.dao.mongo.qisda.IOutItemDao
;
import
com.myproject.exception.ValidateException
;
import
com.myproject.manager.IBarcodeManager
;
...
...
@@ -91,9 +90,6 @@ public class TaskService implements ITaskService {
@Autowired
private
OutInfoCache
outInfoCache
;
@Autowired
private
IOutInfoDao
outInfoDao
;
/**
* 任务队列,Key 为dataLog的ID,value 为本区域待执行的任务
*/
...
...
myproject/src/main/webapp/WEB-INF/pages/component/storagePosFind.jsp
查看文件 @
8d45b57
...
...
@@ -83,6 +83,14 @@
</div>
</div>
<label class="control-label col-md-1"><fmt:message key="工单"/></label>
<div class="col-md-2">
<div style="text-align:left">
<input type="text" name="so" class="form-control" value="${so}"/>
</div>
</div>
<div class="col-md-2">
<button class="btn purple" type="submit"><i class="fa fa-search"></i><fmt:message key="button.search"/> </button>
...
...
@@ -177,6 +185,9 @@
<c:if test="${pos.barcode.type == 1 || pos.barcode.type == 4}">-</c:if>
<c:if test="${pos.barcode.type != 1 && pos.barcode.type != 4}">${pos.barcode.amount} ${pos.barcode.appendInfo.cutMap}</c:if>
</display:column>
<%--<display:column titleKey="工单序号" sortProperty="barcode.appendInfo.soseq" sortable="true">--%>
<%--${pos.barcode.appendInfo.soseq}--%>
<%--</display:column>--%>
<display:column titleKey="工单" sortProperty="barcode.appendInfo.so" sortable="true">
${pos.barcode.appendInfo.so}
</display:column>
...
...
myproject/src/main/webapp/WEB-INF/pages/qisda/outInfoSearch.jsp
查看文件 @
8d45b57
...
...
@@ -82,7 +82,9 @@
<a href="#" onclick="showDetail('${outInfo.hSerial}')">${outInfo.hSerial}</a>
</display:column>
<display:column titleKey="动作" property="action" sortable="true" sortProperty="action"/>
<display:column titleKey="工单" property="so" sortable="true" sortProperty="so"/>
<display:column titleKey="工单" sortable="true" sortProperty="so">
${outInfo.so}<c:if test="${outInfo.soseq != null}">(${outInfo.soseq})</c:if>
</display:column>
<display:column titleKey="备料单号" property="refno" sortable="true" sortProperty="refno"/>
<display:column titleKey="建议出仓时间" sortable="true" sortProperty="sdate">
<fmt:formatDate value="${outInfo.sdate}" pattern="yyyy-MM-dd HH:mm"/>
...
...
@@ -102,8 +104,7 @@
</display:column>
<display:column titleKey="checkOut.operate" media="html" sortProperty="sendStatus" sortable="true">
<span class="hide">${outInfo.sendStatus}</span>
<c:if test="${outInfo.sendStatus != 2 && outInfo.taskNum == 0}">
<c:if test="${!outInfo.sendEnd && outInfo.taskNum == 0 && !outInfo.closed}">
<button class="btn yellow" id="btn${outInfo.hSerial}"
onclick="executeOut('${outInfo.hSerial}')">
<i class="fa fa-sign-out"></i><fmt:message key="button.checkout"/></button>
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论