Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
QisdaNew
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 6ee0aba6
由
sunke
编写于
2020-04-08 15:48:57 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1 流水线有出库任务的,不分配入库任务(出库优先),
2多个有效条码不允许入库 3 发料完成时,清空料串和料架缓存 4 确认过物料尺寸的与测试尺寸进行比对,如果厚度偏差在4mm以内,才允许入库
1 个父辈
00e6858a
显示空白字符变更
内嵌
并排
正在显示
19 个修改的文件
包含
159 行增加
和
246 行删除
myproject/src/main/java/com/myproject/bean/update/Barcode.java
myproject/src/main/java/com/myproject/bean/update/Component.java
myproject/src/main/java/com/myproject/bean/update/qisda/OutInfo.java
myproject/src/main/java/com/myproject/webapp/controller/cloud/AlarmInfoSearchController.java
myproject/src/main/java/com/myproject/webapp/controller/qisda/util/OutInfoCache.java
myproject/src/main/java/com/myproject/webapp/controller/storage/BoxChartController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/DataCache.java
myproject/src/main/java/com/myproject/webapp/controller/webService/QisdaApiController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/QisdaDeviceController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/StorageDataController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/TaskService.java
myproject/src/main/webapp/WEB-INF/pages/cloud/alarmInfoSearch.jsp
myproject/src/main/webapp/WEB-INF/pages/component/componentSearch.jsp
myproject/src/main/webapp/WEB-INF/pages/component/componentUpdate.jsp
myproject/src/main/webapp/WEB-INF/pages/component/storagePosFind.jsp
myproject/src/main/webapp/WEB-INF/pages/qisda/orderOut.jsp
myproject/src/main/webapp/WEB-INF/pages/qisda/outInfoSearch.jsp
myproject/src/main/webapp/assets/global/plugins/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js
myproject/src/main/webapp/common/metroTopMenu.jsp
myproject/src/main/java/com/myproject/bean/update/Barcode.java
查看文件 @
6ee0aba
...
@@ -517,6 +517,10 @@ public class Barcode extends BaseMongoBean {
...
@@ -517,6 +517,10 @@ public class Barcode extends BaseMongoBean {
}
}
}
}
public
String
getSizeStr
(){
return
getPlateSize
()
+
" x "
+
getHeight
();
}
public
String
getLifeCycle
()
{
public
String
getLifeCycle
()
{
return
lifeCycle
;
return
lifeCycle
;
}
}
...
...
myproject/src/main/java/com/myproject/bean/update/Component.java
查看文件 @
6ee0aba
...
@@ -123,6 +123,11 @@ public class Component extends BaseMongoBean {
...
@@ -123,6 +123,11 @@ public class Component extends BaseMongoBean {
*/
*/
private
int
validDay
=
730
;
private
int
validDay
=
730
;
/**
* 尺寸是否已经确认
*/
private
boolean
sizeConfirmed
=
false
;
public
Component
()
{
public
Component
()
{
//this.height = StorageConstants.DEFAULT_HEIGHT;
//this.height = StorageConstants.DEFAULT_HEIGHT;
//this.plateSize = StorageConstants.PLATE_SIZE_SMALL;
//this.plateSize = StorageConstants.PLATE_SIZE_SMALL;
...
@@ -373,4 +378,17 @@ public class Component extends BaseMongoBean {
...
@@ -373,4 +378,17 @@ public class Component extends BaseMongoBean {
public
void
setValidDay
(
int
validDay
)
{
public
void
setValidDay
(
int
validDay
)
{
this
.
validDay
=
validDay
;
this
.
validDay
=
validDay
;
}
}
public
boolean
isSizeConfirmed
()
{
return
sizeConfirmed
;
}
public
void
setSizeConfirmed
(
boolean
sizeConfirmed
)
{
this
.
sizeConfirmed
=
sizeConfirmed
;
}
public
String
getSizeStr
(){
return
getPlateSize
()
+
" x "
+
getHeight
();
}
}
}
myproject/src/main/java/com/myproject/bean/update/qisda/OutInfo.java
查看文件 @
6ee0aba
...
@@ -234,6 +234,10 @@ public class OutInfo extends BaseMongoBean {
...
@@ -234,6 +234,10 @@ public class OutInfo extends BaseMongoBean {
return
sendStatus
;
return
sendStatus
;
}
}
public
boolean
isSendEnd
(){
return
sendStatus
==
2
;
}
public
void
setSendStatus
(
int
sendStatus
)
{
public
void
setSendStatus
(
int
sendStatus
)
{
this
.
sendStatus
=
sendStatus
;
this
.
sendStatus
=
sendStatus
;
}
}
...
...
myproject/src/main/java/com/myproject/webapp/controller/cloud/AlarmInfoSearchController.java
查看文件 @
6ee0aba
...
@@ -50,6 +50,8 @@ public class AlarmInfoSearchController extends BaseSearchController {
...
@@ -50,6 +50,8 @@ public class AlarmInfoSearchController extends BaseSearchController {
}
}
}
}
query
.
addCriteria
(
baseCriteria
);
query
.
addCriteria
(
baseCriteria
);
PageList
pageList
=
alarmInfoDao
.
findByQuery
(
query
,
searchCriteria
.
getPageList
());
PageList
pageList
=
alarmInfoDao
.
findByQuery
(
query
,
searchCriteria
.
getPageList
());
searchCriteria
.
setPageList
(
pageList
);
searchCriteria
.
setPageList
(
pageList
);
...
...
myproject/src/main/java/com/myproject/webapp/controller/qisda/util/OutInfoCache.java
查看文件 @
6ee0aba
package
com
.
myproject
.
webapp
.
controller
.
qisda
.
util
;
package
com
.
myproject
.
webapp
.
controller
.
qisda
.
util
;
import
com.myproject.bean.qisda.InquiryShelfBean
;
import
com.myproject.bean.update.qisda.OutInfo
;
import
com.myproject.bean.update.qisda.OutInfo
;
import
com.myproject.bean.update.qisda.OutItem
;
import
com.myproject.bean.update.qisda.OutItem
;
import
com.myproject.dao.mongo.qisda.IOutInfoDao
;
import
com.myproject.dao.mongo.qisda.IOutInfoDao
;
...
@@ -75,7 +76,13 @@ public class OutInfoCache {
...
@@ -75,7 +76,13 @@ public class OutInfoCache {
for
(
OutItem
outItem
:
outItemList
)
{
for
(
OutItem
outItem
:
outItemList
)
{
outInfo
.
updateItem
(
outItem
);;
outInfo
.
updateItem
(
outItem
);;
}
}
if
(!
outInfo
.
getOutItemMap
().
isEmpty
()){
outInfoMap
.
put
(
hserial
,
outInfo
);
outInfoMap
.
put
(
hserial
,
outInfo
);
}
else
{
outInfo
.
setSendStatus
(
2
);
outInfoDao
.
save
(
outInfo
);
}
}
}
}
}
...
@@ -103,9 +110,9 @@ public class OutInfoCache {
...
@@ -103,9 +110,9 @@ public class OutInfoCache {
* 更新需求单的发料状态
* 更新需求单的发料状态
*/
*/
private
void
updateStatus
(
String
hSerial
){
private
void
updateStatus
(
String
hSerial
){
log
.
info
(
"更新需求单["
+
hSerial
+
"]的发料状态"
);
OutInfo
outInfo
=
outInfoMap
.
get
(
hSerial
);
OutInfo
outInfo
=
outInfoMap
.
get
(
hSerial
);
if
(
outInfo
!=
null
){
if
(
outInfo
!=
null
){
log
.
info
(
"更新需求单["
+
hSerial
+
"]的发料状态 ["
+
outInfo
.
getSendStatus
()+
"]"
);
boolean
sendEnd
=
true
;
boolean
sendEnd
=
true
;
boolean
hasOut
=
false
;
boolean
hasOut
=
false
;
//默认为绑定OK,
//默认为绑定OK,
...
@@ -113,7 +120,7 @@ public class OutInfoCache {
...
@@ -113,7 +120,7 @@ public class OutInfoCache {
for
(
OutItem
outItem
:
outInfo
.
getOutItemMap
().
values
())
{
for
(
OutItem
outItem
:
outInfo
.
getOutItemMap
().
values
())
{
if
(
outItem
.
isUrgentAction
()){
if
(
outItem
.
isUrgentAction
()){
//紧急料,设置发料数量与出库数量一致
//紧急料,设置发料数量与出库数量一致
outItem
.
setSendQty
(
outItem
.
getOutQty
());
//
outItem.setSendQty(outItem.getOutQty());
}
}
if
(!
outItem
.
isItemEnd
()){
if
(!
outItem
.
isItemEnd
()){
sendEnd
=
false
;
sendEnd
=
false
;
...
@@ -148,6 +155,11 @@ public class OutInfoCache {
...
@@ -148,6 +155,11 @@ public class OutInfoCache {
dbOutInfo
.
setBindStatus
(
outInfo
.
getBindStatus
());
dbOutInfo
.
setBindStatus
(
outInfo
.
getBindStatus
());
outInfoDao
.
save
(
dbOutInfo
);
outInfoDao
.
save
(
dbOutInfo
);
log
.
info
(
"需求单["
+
hSerial
+
"]状态与数据库不一致,更新到数据库"
);
log
.
info
(
"需求单["
+
hSerial
+
"]状态与数据库不一致,更新到数据库"
);
if
(
dbOutInfo
.
isSendEnd
()){
outInfoMap
.
remove
(
dbOutInfo
.
gethSerial
());
InquiryShelfBean
.
clearShelf
(
dbOutInfo
.
gethSerial
());
log
.
info
(
"需求单["
+
hSerial
+
"]发料已完成,从缓存中清除,同时清理使用过的料串"
);
}
}
}
}
}
}
}
...
...
myproject/src/main/java/com/myproject/webapp/controller/storage/BoxChartController.java
查看文件 @
6ee0aba
...
@@ -316,6 +316,7 @@ public class BoxChartController extends BaseController {
...
@@ -316,6 +316,7 @@ public class BoxChartController extends BaseController {
return
taskService
.
cancelTask
(
taskId
);
return
taskService
.
cancelTask
(
taskId
);
}
}
@RequestMapping
(
value
=
"/service/store/hideTask"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/service/store/hideTask"
,
method
=
RequestMethod
.
POST
)
@ResponseBody
@ResponseBody
public
void
removeTaskFromQueue
(
HttpServletRequest
request
)
throws
Exception
{
public
void
removeTaskFromQueue
(
HttpServletRequest
request
)
throws
Exception
{
...
@@ -323,7 +324,6 @@ public class BoxChartController extends BaseController {
...
@@ -323,7 +324,6 @@ public class BoxChartController extends BaseController {
taskService
.
hideTask
(
taskId
);
taskService
.
hideTask
(
taskId
);
}
}
/**
/**
* 正在执行和等待的任务
* 正在执行和等待的任务
*/
*/
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/DataCache.java
查看文件 @
6ee0aba
...
@@ -246,8 +246,7 @@ public class DataCache{
...
@@ -246,8 +246,7 @@ public class DataCache{
//如果客户端传入的有尺寸,但尺寸不一致,使用上传上来的尺寸
//如果客户端传入的有尺寸,但尺寸不一致,使用上传上来的尺寸
if
(
barcode
.
getHeight
()
!=
codeBeanFromRule
.
getReelHeight
()
||
barcode
.
getPlateSize
()
!=
codeBeanFromRule
.
getReelWidth
()){
if
(
barcode
.
getHeight
()
!=
codeBeanFromRule
.
getReelHeight
()
||
barcode
.
getPlateSize
()
!=
codeBeanFromRule
.
getReelWidth
()){
try
{
try
{
log
.
warn
(
"重新设置尺寸["
+
barcode
.
getPlateSize
()+
"x"
+
barcode
.
getHeight
()+
"]为["
+
codeBeanFromRule
.
getReelWidth
()+
"x"
+
codeBeanFromRule
.
getReelHeight
()+
"]"
);
log
.
warn
(
"重新设置尺寸["
+
barcode
.
getSizeStr
()+
"]为["
+
codeBeanFromRule
.
getReelWidth
()+
"x"
+
codeBeanFromRule
.
getReelHeight
()+
"]"
);
barcode
.
setPlateSize
(
codeBeanFromRule
.
getReelWidth
());
barcode
.
setPlateSize
(
codeBeanFromRule
.
getReelWidth
());
barcode
.
setHeight
(
codeBeanFromRule
.
getReelHeight
());
barcode
.
setHeight
(
codeBeanFromRule
.
getReelHeight
());
barcode
=
barcodeManager
.
save
(
barcode
);
barcode
=
barcodeManager
.
save
(
barcode
);
...
@@ -261,24 +260,23 @@ public class DataCache{
...
@@ -261,24 +260,23 @@ public class DataCache{
if
(
component
!=
null
){
if
(
component
!=
null
){
validDay
=
component
.
getValidDay
();
validDay
=
component
.
getValidDay
();
codeBeanFromRule
.
setShowImg
(
component
.
getShowImg
());
codeBeanFromRule
.
setShowImg
(
component
.
getShowImg
());
}
if
(
component
.
isSizeConfirmed
()){
//尺寸已经确认的,判断尺寸,如果大小不符合,直接NG,如果大小符合,尺寸差别在4mm内的修改尺寸
Barcode
barcodeFromRule
=
codeBeanFromRule
.
getBarcode
();
if
(
barcode
.
getPlateSize
()
!=
component
.
getPlateSize
()){
if
(
barcodeFromRule
!=
null
){
String
msg
=
barcode
.
getBarcode
()
+
"测量尺寸["
+
barcode
.
getSizeStr
()+
"]与确认PN尺寸["
+
component
.
getSizeStr
()+
"]不符"
;
Date
produceDate
=
barcodeFromRule
.
getProduceDate
();
codeBeanFromRule
.
setError
(
msg
);
if
(
produceDate
!=
null
){
}
else
{
//抓取到了生产日期,未抓取到过期日期,重新设置过期日期
//如果厚度小于4mm,使用确认的尺寸入库
if
(
barcode
.
getExpireDate
()
==
null
){
int
diffHeight
=
barcode
.
getHeight
()
-
component
.
getHeight
();
if
(
validDay
>
0
){
if
(
diffHeight
!=
0
&&
Math
.
abs
(
diffHeight
)
<=
4
){
log
.
info
(
barcode
.
getBarcode
()
+
"测量尺寸["
+
barcode
.
getSizeStr
()+
"]与确认PN尺寸["
+
component
.
getSizeStr
()+
"]厚度误差在4mm以内,使用确认的尺寸进行入库"
);
try
{
try
{
log
.
warn
(
"重新设置"
+
codeBeanFromRule
.
getCodeStr
()+
"生产日期和过期日期"
);
barcode
.
setHeight
(
component
.
getHeight
());
Date
expireDate
=
DateUtil
.
addDays
(
produceDate
,
validDay
);
barcode
.
setExpireDate
(
expireDate
);
barcode
.
setProduceDate
(
produceDate
);
barcodeManager
.
save
(
barcode
);
barcodeManager
.
save
(
barcode
);
}
catch
(
Exception
e
){
}
catch
(
Exception
e
){
}
}
}
}
}
}
}
}
...
@@ -293,8 +291,6 @@ public class DataCache{
...
@@ -293,8 +291,6 @@ public class DataCache{
try
{
try
{
//如果有料盘尺寸,重新设置料盘尺寸信息,没有档案时自动添加档案
//如果有料盘尺寸,重新设置料盘尺寸信息,没有档案时自动添加档案
if
(
codeBeanFromRule
.
hasReelSizeInfo
()){
if
(
codeBeanFromRule
.
hasReelSizeInfo
()){
//log.info("料盘["+barcode.getBarcode()+"]的尺寸信息从["+barcode.getPlateSize()+"x"+barcode.getHeight()+"]设置为["+codeBeanFromRule.getReelWidth()+"x"+codeBeanFromRule.getReelHeight()+"]");
//log.info("料盘["+barcode.getBarcode()+"]的尺寸信息从["+barcode.getPlateSize()+"x"+barcode.getHeight()+"]设置为["+codeBeanFromRule.getReelWidth()+"x"+codeBeanFromRule.getReelHeight()+"]");
Component
component
=
componentManager
.
findByPartNumber
(
barcodeFromRule
.
getPartNumber
());
Component
component
=
componentManager
.
findByPartNumber
(
barcodeFromRule
.
getPartNumber
());
...
@@ -306,8 +302,11 @@ public class DataCache{
...
@@ -306,8 +302,11 @@ public class DataCache{
component
.
setPlateSize
(
barcodeFromRule
.
getPlateSize
());
component
.
setPlateSize
(
barcodeFromRule
.
getPlateSize
());
component
.
setHeight
(
barcodeFromRule
.
getHeight
());
component
.
setHeight
(
barcodeFromRule
.
getHeight
());
component
.
setName
(
barcodeFromRule
.
getPartNumber
());
component
.
setName
(
barcodeFromRule
.
getPartNumber
());
component
.
setProvider
(
barcodeFromRule
.
getProvider
());
componentManager
.
save
(
component
);
componentManager
.
save
(
component
);
}
else
{
}
else
{
//尺寸已经确认的,不再更新尺寸
if
(!
component
.
isSizeConfirmed
()){
//如果 barcode 里的料盘信息比 Component 中的大,使用比较大的,防止放不进去撞击
//如果 barcode 里的料盘信息比 Component 中的大,使用比较大的,防止放不进去撞击
if
(
codeBeanFromRule
.
getReelHeight
()
>
component
.
getHeight
()
||
codeBeanFromRule
.
getReelWidth
()
>
component
.
getPlateSize
()){
if
(
codeBeanFromRule
.
getReelHeight
()
>
component
.
getHeight
()
||
codeBeanFromRule
.
getReelWidth
()
>
component
.
getPlateSize
()){
log
.
info
(
"更新物料["
+
component
.
getPartNumber
()+
"]档案尺寸["
+
component
.
getPlateSize
()+
"x"
+
component
.
getHeight
()+
"]为["
+
codeBeanFromRule
.
getReelWidth
()+
"x"
+
codeBeanFromRule
.
getReelHeight
()+
"]"
);
log
.
info
(
"更新物料["
+
component
.
getPartNumber
()+
"]档案尺寸["
+
component
.
getPlateSize
()+
"x"
+
component
.
getHeight
()+
"]为["
+
codeBeanFromRule
.
getReelWidth
()+
"x"
+
codeBeanFromRule
.
getReelHeight
()+
"]"
);
...
@@ -315,6 +314,9 @@ public class DataCache{
...
@@ -315,6 +314,9 @@ public class DataCache{
component
.
setHeight
(
barcodeFromRule
.
getHeight
());
component
.
setHeight
(
barcodeFromRule
.
getHeight
());
componentManager
.
save
(
component
);
componentManager
.
save
(
component
);
}
}
}
else
{
}
codeBeanFromRule
.
setShowImg
(
component
.
getShowImg
());
codeBeanFromRule
.
setShowImg
(
component
.
getShowImg
());
}
}
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/QisdaApiController.java
查看文件 @
6ee0aba
...
@@ -1367,7 +1367,7 @@ public class QisdaApiController extends BaseController {
...
@@ -1367,7 +1367,7 @@ public class QisdaApiController extends BaseController {
allTasks
.
addAll
(
queueTasks
);
allTasks
.
addAll
(
queueTasks
);
}
}
//是
滞
有工单料任务
//是
否
有工单料任务
boolean
hasOrderTask
=
false
;
boolean
hasOrderTask
=
false
;
for
(
DataLog
dataLog
:
allTasks
)
{
for
(
DataLog
dataLog
:
allTasks
)
{
if
(
dataLog
.
isCheckOutTask
()){
if
(
dataLog
.
isCheckOutTask
()){
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/QisdaDeviceController.java
查看文件 @
6ee0aba
...
@@ -453,6 +453,8 @@ public class QisdaDeviceController extends BaseController {
...
@@ -453,6 +453,8 @@ public class QisdaDeviceController extends BaseController {
}
}
/**
/**
* 更新位置信息
* 更新位置信息
*/
*/
...
@@ -481,6 +483,7 @@ public class QisdaDeviceController extends BaseController {
...
@@ -481,6 +483,7 @@ public class QisdaDeviceController extends BaseController {
log
.
error
(
"补发通知出错"
,
e
);
log
.
error
(
"补发通知出错"
,
e
);
}
}
}
}
if
(
task
.
isFinished
()){
if
(
task
.
isFinished
()){
log
.
error
(
"料盘["
+
barcode
+
"]的任务已完成"
);
log
.
error
(
"料盘["
+
barcode
+
"]的任务已完成"
);
return
ResultBean
.
newErrorResult
(
302
,
"料盘["
+
barcode
+
"]的任务已完成"
);
return
ResultBean
.
newErrorResult
(
302
,
"料盘["
+
barcode
+
"]的任务已完成"
);
...
@@ -767,12 +770,12 @@ public class QisdaDeviceController extends BaseController {
...
@@ -767,12 +770,12 @@ public class QisdaDeviceController extends BaseController {
if
(
totalOrderTaskCount
>
0
){
if
(
totalOrderTaskCount
>
0
){
log
.
info
(
"当前任务数:"
+
resultMap
);
log
.
info
(
"当前任务数:"
+
resultMap
);
}
else
{
}
else
{
if
(!
hSerial
.
isEmpty
()){
//
if(!hSerial.isEmpty()){
if
(!
usedRfidList
.
isEmpty
()){
//
if(!usedRfidList.isEmpty()){
log
.
info
(
"工单总任务数为0,且工单有料架已经绑定,清空当前的工单序号["
+
hSerial
+
"]"
);
//
log.info("工单总任务数为0,且工单有料架已经绑定,清空当前的工单序号["+hSerial+"]");
outInfoCache
.
setCurrentOrderHSerial
(
null
);
//
outInfoCache.setCurrentOrderHSerial(null);
}
//
}
}
//
}
}
}
return
ResultBean
.
newOkResult
(
resultMap
);
return
ResultBean
.
newOkResult
(
resultMap
);
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/StorageDataController.java
查看文件 @
6ee0aba
...
@@ -571,10 +571,16 @@ public class StorageDataController extends BaseController {
...
@@ -571,10 +571,16 @@ public class StorageDataController extends BaseController {
}
else
{
}
else
{
Collection
<
CodeBean
>
codeBeans
=
dataCache
.
resolveCodeStr
(
code
);
Collection
<
CodeBean
>
codeBeans
=
dataCache
.
resolveCodeStr
(
code
);
Barcode
barcode
=
null
;
Barcode
barcode
=
null
;
String
validBarcodeStr
=
""
;
for
(
CodeBean
codeBean:
codeBeans
)
{
for
(
CodeBean
codeBean:
codeBeans
)
{
if
(
codeBean
.
isValid
()){
if
(
codeBean
.
isValid
()){
if
(
barcode
==
null
){
barcode
=
codeBean
.
getBarcode
();
barcode
=
codeBean
.
getBarcode
();
break
;
validBarcodeStr
=
barcode
.
getBarcode
();
}
else
{
//有多个有效的条码
validBarcodeStr
=
validBarcodeStr
+
","
+
barcode
.
getBarcode
();
}
}
}
}
}
if
(
barcode
==
null
){
if
(
barcode
==
null
){
...
@@ -582,13 +588,12 @@ public class StorageDataController extends BaseController {
...
@@ -582,13 +588,12 @@ public class StorageDataController extends BaseController {
errorMsg
=
"条码["
+
code
+
"]无效"
;
errorMsg
=
"条码["
+
code
+
"]无效"
;
resultMap
.
put
(
"msg"
,
errorMsg
);
resultMap
.
put
(
"msg"
,
errorMsg
);
}
else
{
}
else
{
StoragePos
pos
=
null
;
try
{
try
{
// log.info("条码["+barcode.getBarcode()+"]入库,清空Facility入库信息");
if
(!
validBarcodeStr
.
equals
(
barcode
.
getBarcode
())){
// barcode.setAppendInfo(null
);
throw
new
ValidateException
(
"发现多个有效条码:"
+
validBarcodeStr
);
// barcode = barcodeManager.save(barcode);
}
pos
=
taskService
.
findEmptyPosForPutIn
(
storageList
,
barcode
,
rfid
);
StoragePos
pos
=
taskService
.
findEmptyPosForPutIn
(
storageList
,
barcode
,
rfid
);
if
(
pos
!=
null
){
if
(
pos
!=
null
){
resultMap
.
put
(
"result"
,
"0"
);
resultMap
.
put
(
"result"
,
"0"
);
resultMap
.
put
(
"msg"
,
""
);
resultMap
.
put
(
"msg"
,
""
);
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/TaskService.java
查看文件 @
6ee0aba
...
@@ -553,6 +553,7 @@ public class TaskService implements ITaskService {
...
@@ -553,6 +553,7 @@ public class TaskService implements ITaskService {
countMap
.
put
(
storage
.
getId
(),
0
);
countMap
.
put
(
storage
.
getId
(),
0
);
}
}
Set
<
String
>
hasOutTaskStorageIds
=
new
HashSet
<>();
for
(
DataLog
task
:
allTasks
)
{
for
(
DataLog
task
:
allTasks
)
{
String
storageId
=
task
.
getStorageId
();
String
storageId
=
task
.
getStorageId
();
if
(!
Strings
.
isNullOrEmpty
(
storageId
)){
if
(!
Strings
.
isNullOrEmpty
(
storageId
)){
...
@@ -561,6 +562,9 @@ public class TaskService implements ITaskService {
...
@@ -561,6 +562,9 @@ public class TaskService implements ITaskService {
taskCount
=
taskCount
+
1
;
taskCount
=
taskCount
+
1
;
countMap
.
put
(
storageId
,
taskCount
);
countMap
.
put
(
storageId
,
taskCount
);
}
}
if
(
task
.
isCheckOutTask
()){
hasOutTaskStorageIds
.
add
(
storageId
);
}
}
}
}
}
...
@@ -572,6 +576,10 @@ public class TaskService implements ITaskService {
...
@@ -572,6 +576,10 @@ public class TaskService implements ITaskService {
if
(
status
.
timeOut
()){
if
(
status
.
timeOut
()){
continue
;
continue
;
}
}
if
(
hasOutTaskStorageIds
.
contains
(
storage
.
getId
())){
//流水线有出库任务的,不分配入库任务(出库优先)
continue
;
}
if
(
storage
.
canPutIn
(
barcode
.
getPlateSize
(),
barcode
.
getHeight
())){
if
(
storage
.
canPutIn
(
barcode
.
getPlateSize
(),
barcode
.
getHeight
())){
availbleStorageList
.
add
(
storage
);
availbleStorageList
.
add
(
storage
);
}
}
...
@@ -797,25 +805,35 @@ public class TaskService implements ITaskService {
...
@@ -797,25 +805,35 @@ public class TaskService implements ITaskService {
@Override
@Override
public
boolean
cancelTask
(
String
taskId
)
{
public
boolean
cancelTask
(
String
taskId
)
{
DataLog
task
=
dataLogDao
.
findOneById
(
taskId
);
DataLog
task
=
dataLogDao
.
findOneById
(
taskId
);
if
(
task
.
isCheckOutTask
()){
log
.
info
(
task
.
getBarcode
()
+
"出库任务取消失败: 不允许取消"
);
return
false
;
}
return
cancelTask
(
task
);
return
cancelTask
(
task
);
}
}
@Override
@Override
public
void
hideTask
(
String
taskId
)
{
public
void
hideTask
(
String
taskId
)
{
DataLog
task
=
dataLogDao
.
findOneById
(
taskId
);
DataLog
task
=
dataLogDao
.
findOneById
(
taskId
);
//发送取消(发料)指令到佳世达
if
(
task
.
isCheckOutTask
()){
if
(
task
.
isCheckOutTask
()){
//发送取消(发料)指令到佳世达
AppendInfo
taskAppendInfo
=
task
.
getAppendInfo
();
AppendInfo
taskAppendInfo
=
task
.
getAppendInfo
();
if
(
taskAppendInfo
.
isFirstReelAction
()
||
taskAppendInfo
.
isTailAction
()){
if
(
taskAppendInfo
.
isFirstReelAction
()
||
taskAppendInfo
.
isTailAction
()){
Barcode
barcode
=
barcodeManager
.
findByBarcode
(
task
.
getBarcode
());
Barcode
barcode
=
barcodeManager
.
findByBarcode
(
task
.
getBarcode
());
log
.
info
(
"["
+
task
.
getBarcode
()+
"]任务已出库完成,但未放上小车,发送E状态到佳世达,同时解除料架架位"
);
log
.
info
(
"["
+
task
.
getBarcode
()+
"]任务已出库完成,但未放上小车,发送E状态到佳世达,同时解除料架架位,发料任务完成数量+1"
);
OutInfo
outInfo
=
outInfoDao
.
findByHSerial
(
taskAppendInfo
.
gethSerial
());
if
(
outInfo
!=
null
)
{
outInfo
.
setTaskFinishNum
(
outInfo
.
getTaskFinishNum
()
+
1
);
log
.
info
(
"需求单["
+
outInfo
.
gethSerial
()
+
"]任务完成数量:"
+
outInfo
.
getTaskFinishNum
()
+
"/"
+
outInfo
.
getTaskNum
()
+
"已出仓料盘数量:"
+
outInfo
.
getOutReelNum
());
outInfoDao
.
save
(
outInfo
);
InquiryShelfBean
.
cancelReelTask
(
task
);
InquiryShelfBean
.
cancelReelTask
(
task
);
QisdaApiController
.
VMIMateriaRecAss
(
task
,
barcode
,
"E"
);
QisdaApiController
.
VMIMateriaRecAss
(
task
,
barcode
,
"E"
);
}
}
}
}
finishedTaskMap
.
remove
(
task
.
getBarcode
());
finishedTaskMap
.
remove
(
task
.
getBarcode
());
}
}
}
/**
/**
* 获取正在执行出库(或入库)的 boxID,用作出入库时分配仓位,防止卡死的问题
* 获取正在执行出库(或入库)的 boxID,用作出入库时分配仓位,防止卡死的问题
...
@@ -843,6 +861,7 @@ public class TaskService implements ITaskService {
...
@@ -843,6 +861,7 @@ public class TaskService implements ITaskService {
public
Collection
<
String
>
excludePosIds
(){
public
Collection
<
String
>
excludePosIds
(){
//排除掉正在执行的仓位
//排除掉正在执行的仓位
Collection
<
DataLog
>
allTasks
=
taskMap
.
values
();
Collection
<
DataLog
>
allTasks
=
taskMap
.
values
();
allTasks
.
addAll
(
finishedTaskMap
.
values
());
Collection
<
String
>
operatingPosIds
=
new
HashSet
<>();
Collection
<
String
>
operatingPosIds
=
new
HashSet
<>();
for
(
DataLog
task
:
allTasks
){
for
(
DataLog
task
:
allTasks
){
String
posId
=
task
.
getPosId
();
String
posId
=
task
.
getPosId
();
...
@@ -1478,6 +1497,8 @@ public class TaskService implements ITaskService {
...
@@ -1478,6 +1497,8 @@ public class TaskService implements ITaskService {
}
}
DataLog
task
=
newTask
(
pos
);
DataLog
task
=
newTask
(
pos
);
//手动出库的当做是紧急料
task
.
setUrgentReel
(
true
);
task
.
setType
(
StorageConstants
.
OP
.
CHECKOUT
);
task
.
setType
(
StorageConstants
.
OP
.
CHECKOUT
);
task
.
setStatus
(
StorageConstants
.
OP_STATUS
.
WAIT
.
name
());
task
.
setStatus
(
StorageConstants
.
OP_STATUS
.
WAIT
.
name
());
task
.
setSingleOut
(
isSingleOut
);
task
.
setSingleOut
(
isSingleOut
);
...
...
myproject/src/main/webapp/WEB-INF/pages/cloud/alarmInfoSearch.jsp
查看文件 @
6ee0aba
...
@@ -28,26 +28,26 @@
...
@@ -28,26 +28,26 @@
</div>
</div>
<div class="portlet-body">
<div class="portlet-body">
<form id="searchCriteria" class="form-horizontal form-bordered" action="alarmInfoSearch.html" method="post">
<form id="searchCriteria" class="form-horizontal form-bordered" action="alarmInfoSearch.html" method="post">
<div class="form-group">
<label class="control-label col-md-2"><fmt:message key="inOutList.time"/></label>
<div class="col-md-4" style="padding-left:0px;">
<div class="col-md-4 col-sm-4">
<div class="input-group input-large date-picker input-daterange" data-date="2017-05-10" data-date-format="yyyy-mm-dd">
<div class="form-group form-inline">
<div class="input-group input-large date-picker input-daterange margin-top-10" data-date="2017-05-10" data-date-format="yyyy-mm-dd">
<span class="input-group-addon">
<fmt:message key="inOutList.time"/></span>
<input type="text" class="form-control" name="startDay" value="${startDay}">
<input type="text" class="form-control" name="startDay" value="${startDay}">
<span class="input-group-addon">
<span class="input-group-addon">
to </span>
to </span>
<input type="text" class="form-control" name="endDay" value="${endDay}">
<input type="text" class="form-control" name="endDay" value="${endDay}">
</div>
</div>
<!-- /input-group -->
</div>
<span class="help-block"> </span>
</div>
</div>
<div class="col-md-2">
<div class="col-md-2">
<button class="btn purple" type="submit"><i class="fa fa-search"></i>
<button class="btn purple
margin-top-10
" type="submit"><i class="fa fa-search"></i>
<fmt:message key="button.search"/>
<fmt:message key="button.search"/>
</button>
</button>
</div>
</div>
</div>
</form>
</form>
<display:table name="searchCriteria.pageList" requestURI=""
<display:table name="searchCriteria.pageList" requestURI=""
...
...
myproject/src/main/webapp/WEB-INF/pages/component/componentSearch.jsp
查看文件 @
6ee0aba
...
@@ -91,11 +91,17 @@
...
@@ -91,11 +91,17 @@
<a href="${ctx}/component/componentUpdate.html?type=${component.type}&id=${component.id}">${component.partNumber}</a>
<a href="${ctx}/component/componentUpdate.html?type=${component.type}&id=${component.id}">${component.partNumber}</a>
</display:column>
</display:column>
<display:column titleKey="component.partNumber" media="csv" property="partNumber"/>
<display:column titleKey="component.partNumber" media="csv" property="partNumber"/>
<display:column property="provider
Number" titleKey="component.providerNumb
er"/>
<display:column property="provider
" titleKey="component.provid
er"/>
<display:column titleKey="component.plate.size">
<display:column titleKey="component.plate.size">
${component.plateSize} x ${component.height}
${component.sizeStr}
</display:column>
<display:column titleKey="尺寸已确认" sortProperty="sizeConfirmed" sortable="true">
<c:if test="${component.sizeConfirmed}">
是
</c:if>
</display:column>
</display:column>
<
display:column property="validDay" titleKey="component.validDay"/
>
<
%--<display:column property="validDay" titleKey="component.validDay"/>--%
>
<%--<display:column property="type" titleKey="类型"/>--%>
<%--<display:column property="type" titleKey="类型"/>--%>
<display:column property="amount" titleKey="component.amount"/>
<display:column property="amount" titleKey="component.amount"/>
...
...
myproject/src/main/webapp/WEB-INF/pages/component/componentUpdate.jsp
查看文件 @
6ee0aba
...
@@ -461,11 +461,11 @@
...
@@ -461,11 +461,11 @@
</div>
</div>
</div>
</div>
<%--贵重物料--%>
<%--贵重物料--%>
<label class="control-label col-md-2"><fmt:message key="
otherComponent.expensive
"/> </label>
<label class="control-label col-md-2"><fmt:message key="
尺寸确认
"/> </label>
<div class="col-md-3">
<div class="col-md-3">
<div style="text-align:left" class="input-group">
<div style="text-align:left" class="input-group">
<form:checkbox path="
needAuth
" class="form-control"/>
<form:checkbox path="
sizeConfirmed
" class="form-control"/>
</div>
</div>
</div>
</div>
...
...
myproject/src/main/webapp/WEB-INF/pages/component/storagePosFind.jsp
查看文件 @
6ee0aba
...
@@ -113,16 +113,16 @@
...
@@ -113,16 +113,16 @@
</form:form>
</form:form>
<
security:authorize ifAnyGranted="ROLE_MANAGE_STACK_OUT, ROLE_MANAGE_FEEDER"
>
<
%--<security:authorize ifAnyGranted="ROLE_MANAGE_STACK_OUT, ROLE_MANAGE_FEEDER">--%
>
<
div class="table-toolbar"
>
<
%--<div class="table-toolbar">--%
>
<
div class="col-md-4"
>
<
%--<div class="col-md-4">--%
>
<
div class="btn-group"
>
<
%--<div class="btn-group">--%
>
<
button class="btn yellow" id="checkoutBtn"
>
<
%--<button class="btn yellow" id="checkoutBtn">--%
>
<
i class="fa fa-sign-out"></i><fmt:message key="storagePosFind.outSelect"/></button
>
<
%--<i class="fa fa-sign-out"></i><fmt:message key="storagePosFind.outSelect"/></button>--%
>
<
/div
>
<
%--</div>--%
>
<
/div
>
<
%--</div>--%
>
<
/div
>
<
%--</div>--%
>
<
/security:authorize
>
<
%--</security:authorize>--%
>
<div class="table-scrollable">
<div class="table-scrollable">
<c:set var="today" value="<%= new Date()%>"/>
<c:set var="today" value="<%= new Date()%>"/>
<display:table name="searchCriteria.pageList" requestURI="storagePosFind.html" sort="external"
<display:table name="searchCriteria.pageList" requestURI="storagePosFind.html" sort="external"
...
@@ -138,13 +138,13 @@
...
@@ -138,13 +138,13 @@
</c:if>
</c:if>
<c:set var="limitCheckOut" value="${pos.locked || (pos.barcode.maxStorageTime != 0 && pos.inStoreHour * 60 + pos.inStoreMiniute <= pos.barcode.warmTime * 60)}"/>
<c:set var="limitCheckOut" value="${pos.locked || (pos.barcode.maxStorageTime != 0 && pos.inStoreHour * 60 + pos.inStoreMiniute <= pos.barcode.warmTime * 60)}"/>
<
security:authorize ifAnyGranted="ROLE_MANAGE_STACK_OUT, ROLE_MANAGE_FEEDER"
>
<
%--<security:authorize ifAnyGranted="ROLE_MANAGE_STACK_OUT, ROLE_MANAGE_FEEDER">--%
>
<
display:column title="<input type='checkbox' id='allCheck'/>" media="html"
>
<
%--<display:column title="<input type='checkbox' id='allCheck'/>" media="html">--%
>
<
c:if test="${!limitCheckOut}"
>
<
%--<c:if test="${!limitCheckOut}">--%
>
<
input type="checkbox" name="posIds" value="${pos.id}" id="check${pos.id}" class="limit${pos.barcode.inFixture}"/
>
<
%--<input type="checkbox" name="posIds" value="${pos.id}" id="check${pos.id}" class="limit${pos.barcode.inFixture}"/>--%
>
<
/c:if
>
<
%--</c:if>--%
>
<
/display:column
>
<
%--</display:column>--%
>
<
/security:authorize
>
<
%--</security:authorize>--%
>
<display:column titleKey="storagePosFind.index">${pos_rowNum}</display:column>
<display:column titleKey="storagePosFind.index">${pos_rowNum}</display:column>
<display:column titleKey="component.partNumber" style="width: 15%;" sortProperty="barcode.partNumber" sortable="true" class="${alarmClass}">
<display:column titleKey="component.partNumber" style="width: 15%;" sortProperty="barcode.partNumber" sortable="true" class="${alarmClass}">
...
@@ -184,15 +184,15 @@
...
@@ -184,15 +184,15 @@
<%--<display:column titleKey="barcode.expireDate" sortProperty="barcode.expireDate" sortable="true">--%>
<%--<display:column titleKey="barcode.expireDate" sortProperty="barcode.expireDate" sortable="true">--%>
<%--<fmt:formatDate value="${pos.barcode.expireDate}" pattern="yyyy-MM-dd"/>--%>
<%--<fmt:formatDate value="${pos.barcode.expireDate}" pattern="yyyy-MM-dd"/>--%>
<%--</display:column>--%>
<%--</display:column>--%>
<
security:authorize ifAnyGranted="ROLE_MANAGE_STACK_OUT, ROLE_MANAGE_FEEDER"
>
<
%--<security:authorize ifAnyGranted="ROLE_MANAGE_STACK_OUT, ROLE_MANAGE_FEEDER">--%
>
<
display:column titleKey="checkOut.operate" media="html"
>
<
%--<display:column titleKey="checkOut.operate" media="html">--%
>
<
c:if test="${!limitCheckOut}"
>
<
%--<c:if test="${!limitCheckOut}">--%
>
<
button class="btn yellow limit${pos.barcode.inFixture}" id="btn${pos.id}"
<
%--<button class="btn yellow limit${pos.barcode.inFixture}" id="btn${pos.id}"--%>
onclick="checkoutStorage('${pos.id}')"
>
<%--onclick="checkoutStorage('${pos.id}')">--%
>
<
i class="fa fa-sign-out"></i><fmt:message key="button.checkout"/></button
>
<
%--<i class="fa fa-sign-out"></i><fmt:message key="button.checkout"/></button>--%
>
<
/c:if
>
<
%--</c:if>--%
>
<
/display:column
>
<
%--</display:column>--%
>
<
/security:authorize
>
<
%--</security:authorize>--%
>
<c:if test="${limitCheckOut}">
<c:if test="${limitCheckOut}">
<c:set var="limitCodes" value="${pos.barcode.inFixture},${limitCodes}"/>
<c:set var="limitCodes" value="${pos.barcode.inFixture},${limitCodes}"/>
</c:if>
</c:if>
...
...
myproject/src/main/webapp/WEB-INF/pages/qisda/orderOut.jsp
查看文件 @
6ee0aba
...
@@ -75,172 +75,6 @@
...
@@ -75,172 +75,6 @@
</div>
</div>
</div>
</div>
</div>
</div>
<%--<div class="panel-group accordion" id="accordion3">--%>
<%--<div class="panel panel-default">--%>
<%--<div class="panel-heading">--%>
<%--<h4 class="panel-title">--%>
<%--<a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion3" href="#collapse_3_1">--%>
<%--<i class="icon-cursor-move"></i>--%>
<%--[首盘] 需求单: 81 工单: 879235<span class="right">建议时间: 2019-11-18 08:59</span>--%>
<%--</a>--%>
<%--</h4>--%>
<%--</div>--%>
<%--<div id="collapse_3_1" class="panel-collapse collapse">--%>
<%--<div class="panel-body">--%>
<%--<ul class="list-inline">--%>
<%--<li>--%>
<%--<i class="fa fa-tasks"></i>工单: 879235--%>
<%--</li>--%>
<%--<li>--%>
<%--<i class="fa fa-briefcase"></i>备料单: F001_879235N_1--%>
<%--</li>--%>
<%--<li>--%>
<%--<i class="fa fa-calendar"></i>建议时间:2019-11-18 08:59--%>
<%--</li>--%>
<%--<li>--%>
<%--<i class="fa fa-star"></i>必须出仓日期:2019-11-18 08:59--%>
<%--</li>--%>
<%--</ul>--%>
<%--<table class="table table-striped table-bordered table-hover">--%>
<%--<thead>--%>
<%--<tr><th>料号</th><th>厂别</th><th>料站</th><th>分盘料</th><th>需求数量</th><th>绑定数量</th></tr>--%>
<%--</thead>--%>
<%--<tbody>--%>
<%--<tr>--%>
<%--<td>7H.47134.1F1</td><td>SU</td><td>1-11</td><td>否</td><td>2006</td><td>2006</td>--%>
<%--</tr>--%>
<%--<tr>--%>
<%--<td>7H.47134.1F1</td>--%>
<%--<td>SU</td>--%>
<%--<td>1-12</td>--%>
<%--<td>是</td>--%>
<%--<td>1000</td>--%>
<%--<td>800</td>--%>
<%--</tr>--%>
<%--</tbody>--%>
<%--</table>--%>
<%--</div>--%>
<%--</div>--%>
<%--</div>--%>
<%--<div class="panel panel-default">--%>
<%--<div class="panel-heading">--%>
<%--<h4 class="panel-title">--%>
<%--<a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion3" href="#collapse_3_2">--%>
<%--<i class="icon-cursor-move"></i>--%>
<%--[首盘] 需求单: 82 工单: 879235 备料单: F001_879235N_1 <span class="right">建议时间: 2019-11-18 08:59</span>--%>
<%--</a>--%>
<%--</h4>--%>
<%--</div>--%>
<%--<div id="collapse_3_2" class="panel-collapse collapse">--%>
<%--<div class="panel-body">--%>
<%--<table class="table table-striped table-bordered table-hover">--%>
<%--<thead>--%>
<%--<tr>--%>
<%--<th>料号</th>--%>
<%--<th>厂别</th>--%>
<%--<th>料站</th>--%>
<%--<th>数量</th>--%>
<%--</tr>--%>
<%--</thead>--%>
<%--<tbody>--%>
<%--<tr>--%>
<%--<td>7H.47134.1F1</td>--%>
<%--<td>SU</td>--%>
<%--<td>1-11</td>--%>
<%--<td>2006</td>--%>
<%--</tr>--%>
<%--<tr>--%>
<%--<td>7H.47134.1F1</td>--%>
<%--<td>SU</td>--%>
<%--<td>1-12</td>--%>
<%--<td>1000</td>--%>
<%--</tr>--%>
<%--</tbody>--%>
<%--</table>--%>
<%--</div>--%>
<%--</div>--%>
<%--</div>--%>
<%--<div class="panel panel-default">--%>
<%--<div class="panel-heading">--%>
<%--<h4 class="panel-title">--%>
<%--<a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion3" href="#collapse_3_3">--%>
<%--<i class="icon-cursor-move"></i>--%>
<%--[首盘] 需求单: 83 工单: 879235 备料单: F001_879235N_1 <span class="right">建议时间: 2019-11-18 08:59</span>--%>
<%--</a>--%>
<%--</h4>--%>
<%--</div>--%>
<%--<div id="collapse_3_3" class="panel-collapse collapse">--%>
<%--<div class="panel-body">--%>
<%--<table class="table table-striped table-bordered table-hover">--%>
<%--<thead>--%>
<%--<tr>--%>
<%--<th>料号</th>--%>
<%--<th>厂别</th>--%>
<%--<th>料站</th>--%>
<%--<th>数量</th>--%>
<%--</tr>--%>
<%--</thead>--%>
<%--<tbody>--%>
<%--<tr>--%>
<%--<td>7H.47134.1F1</td>--%>
<%--<td>SU</td>--%>
<%--<td>1-11</td>--%>
<%--<td>2006</td>--%>
<%--</tr>--%>
<%--<tr>--%>
<%--<td>7H.47134.1F1</td>--%>
<%--<td>SU</td>--%>
<%--<td>1-12</td>--%>
<%--<td>1000</td>--%>
<%--</tr>--%>
<%--</tbody>--%>
<%--</table>--%>
<%--</div>--%>
<%--</div>--%>
<%--</div>--%>
<%--<div class="panel panel-default">--%>
<%--<div class="panel-heading">--%>
<%--<h4 class="panel-title">--%>
<%--<a class="accordion-toggle collapsed" data-toggle="collapse" data-parent="#accordion3" href="#collapse_3_4">--%>
<%--<i class="icon-cursor-move"></i>--%>
<%--[首盘] 需求单: 84 工单: 879235 备料单: F001_879235N_1 <span class="right">建议时间: 2019-11-18 08:59</span>--%>
<%--</a>--%>
<%--</h4>--%>
<%--</div>--%>
<%--<div id="collapse_3_4" class="panel-collapse collapse">--%>
<%--<div class="panel-body">--%>
<%--<table class="table table-striped table-bordered table-hover">--%>
<%--<thead>--%>
<%--<tr>--%>
<%--<th>料号</th>--%>
<%--<th>厂别</th>--%>
<%--<th>料站</th>--%>
<%--<th>数量</th>--%>
<%--</tr>--%>
<%--</thead>--%>
<%--<tbody>--%>
<%--<tr>--%>
<%--<td>7H.47134.1F1</td>--%>
<%--<td>SU</td>--%>
<%--<td>1-11</td>--%>
<%--<td>2006</td>--%>
<%--</tr>--%>
<%--<tr>--%>
<%--<td>7H.47134.1F1</td>--%>
<%--<td>SU</td>--%>
<%--<td>1-12</td>--%>
<%--<td>1000</td>--%>
<%--</tr>--%>
<%--</tbody>--%>
<%--</table>--%>
<%--</div>--%>
<%--</div>--%>
<%--</div>--%>
<%--</div>--%>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -290,12 +124,12 @@
...
@@ -290,12 +124,12 @@
var mdate = new Date(outInfo.mdate).Format("yyyy-MM-dd hh:mm:ss");
var mdate = new Date(outInfo.mdate).Format("yyyy-MM-dd hh:mm:ss");
var sdate = new Date(outInfo.sdate).Format("yyyy-MM-dd hh:mm:ss");
var sdate = new Date(outInfo.sdate).Format("yyyy-MM-dd hh:mm:ss");
var infoHtml = '<div class="panel panel-default">' +
var infoHtml = '<div class="panel panel-default"
id='+data[i].hSerial+'
>' +
'<div class="panel-heading">' +
'<div class="panel-heading">' +
'<h4 class="panel-title">' +
'<h4 class="panel-title">' +
'<a class="accordion-toggle" data-toggle="collapse" data-parent="#executing" href="#'+data[i].hSerial+'">' +
'<a class="accordion-toggle" data-toggle="collapse" data-parent="#executing" href="#'+data[i].hSerial+'">' +
'<i class="icon-cursor-move"></i>' +
'<i class="icon-cursor-move"></i>' +
' ['+data[i].action+'] 需求单:'+ data[i].hSerial+' 工单: ' + data[i].so +' 备料单: ' + data[i].refno +
' ['+data[i].action+'] 需求单:'+ data[i].hSerial+' 工单: ' + data[i].so +' 备料单: ' + data[i].refno +
'[' + data[i].sendStatus +']' +
'<span class="right">建议时间: '+sdate+'</span>' +
'<span class="right">建议时间: '+sdate+'</span>' +
'</a></h4></div>' +
'</a></h4></div>' +
'<div id="'+data[i].hSerial+'" class="panel-collapse collapse">' +
'<div id="'+data[i].hSerial+'" class="panel-collapse collapse">' +
...
@@ -314,9 +148,9 @@
...
@@ -314,9 +148,9 @@
});
});
}
}
//
setInterval(function(){
setInterval(function(){
flushOutInfos();
flushOutInfos();
//
}, 1000);
}, 1000);
// var dragOptions = {
// var dragOptions = {
...
...
myproject/src/main/webapp/WEB-INF/pages/qisda/outInfoSearch.jsp
查看文件 @
6ee0aba
...
@@ -92,7 +92,8 @@
...
@@ -92,7 +92,8 @@
<fmt:formatDate value="${outInfo.createDate}" pattern="yyyy-MM-dd HH:mm"/>
<fmt:formatDate value="${outInfo.createDate}" pattern="yyyy-MM-dd HH:mm"/>
</display:column>
</display:column>
<display:column titleKey="checkOut.operate" media="html">
<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.sendStatus != 2 && outInfo.taskNum == 0}">
<button class="btn yellow" id="btn${outInfo.hSerial}"
<button class="btn yellow" id="btn${outInfo.hSerial}"
onclick="executeOut('${outInfo.hSerial}')">
onclick="executeOut('${outInfo.hSerial}')">
...
...
myproject/src/main/webapp/assets/global/plugins/bootstrap-datepicker/js/locales/bootstrap-datepicker.zh-CN.js
查看文件 @
6ee0aba
...
@@ -12,6 +12,7 @@
...
@@ -12,6 +12,7 @@
today
:
"今日"
,
today
:
"今日"
,
weekStart
:
1
weekStart
:
1
};
};
$
.
fn
.
datepicker
.
dates
[
'en'
]
=
{
$
.
fn
.
datepicker
.
dates
[
'en'
]
=
{
days
:
[
"Sunday"
,
"Monday"
,
"Tuesday"
,
"Wednesday"
,
"Thursday"
,
"Friday"
,
"Saturday"
],
days
:
[
"Sunday"
,
"Monday"
,
"Tuesday"
,
"Wednesday"
,
"Thursday"
,
"Friday"
,
"Saturday"
],
daysShort
:
[
"Sun"
,
"Mon"
,
"Tue"
,
"Wed"
,
"Thu"
,
"Fri"
,
"Sat"
],
daysShort
:
[
"Sun"
,
"Mon"
,
"Tue"
,
"Wed"
,
"Thu"
,
"Fri"
,
"Sat"
],
...
...
myproject/src/main/webapp/common/metroTopMenu.jsp
查看文件 @
6ee0aba
...
@@ -51,7 +51,7 @@
...
@@ -51,7 +51,7 @@
</li>
</li>
<li class="classic-menu-dropdown">
<li class="classic-menu-dropdown">
<a href="${ctx}/qisda/diffInventory.html" name="qisda">
<a href="${ctx}/qisda/diffInventory.html" name="qisda">
<fmt:message key="库存"/><span class="selected"></span>
<fmt:message key="库存
比对
"/><span class="selected"></span>
</a>
</a>
</li>
</li>
</ul>
</ul>
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论