Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
QisdaNew
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 002c9fad
由
sunke
编写于
2020-03-17 15:40:19 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
去掉AAA测试
1 个父辈
057147e6
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
63 行增加
和
47 行删除
myproject/src/main/java/com/myproject/bean/update/Barcode.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/manager/impl/BarcodeManagerImpl.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/storage/allBoxView.jsp
myproject/src/main/java/com/myproject/bean/update/Barcode.java
查看文件 @
002c9fa
...
...
@@ -643,14 +643,14 @@ public class Barcode extends BaseMongoBean {
}
public
boolean
needToQisda
(){
if
(
appendInfo
==
null
){
return
false
;
}
else
{
String
facility
=
appendInfo
.
getFacility
();
if
(
facility
!=
null
&&
facility
.
contains
(
"AAA"
)){
return
false
;
}
}
//
if(appendInfo == null){
//
return false;
//
}else{
//
String facility = appendInfo.getFacility();
//
if(facility != null && facility.contains("AAA")){
//
return false;
//
}
//
}
return
true
;
}
}
...
...
myproject/src/main/java/com/myproject/dao/mongo/IStoragePosDao.java
查看文件 @
002c9fa
...
...
@@ -62,10 +62,10 @@ public interface IStoragePosDao extends IMongoDao {
*/
List
<
StoragePos
>
findPreBindList
(
String
so
,
int
slotlocation
);
List
<
StoragePos
>
findCutList
(
String
so
,
int
slotlocation
);
// int getCutCount(String so, String slot);
List
<
StoragePos
>
findCutList
(
String
so
,
int
slotlocation
,
String
soseq
);
/**
* 获取工单的所有绑定料盘
*/
...
...
myproject/src/main/java/com/myproject/dao/mongo/impl/StoragePosDaoImpl.java
查看文件 @
002c9fa
...
...
@@ -318,8 +318,8 @@ public class StoragePosDaoImpl extends AbstractMongoDao implements IStoragePosDa
* @return
*/
@Override
public
List
<
StoragePos
>
findCutList
(
String
so
,
int
slotlocation
){
String
outItemKey
=
so
+
"@"
+
slotlocation
;
public
List
<
StoragePos
>
findCutList
(
String
so
,
int
slotlocation
,
String
soseq
){
String
outItemKey
=
so
+
"@"
+
slotlocation
+
"@"
+
soseq
;
String
mapKey
=
"barcode.appendInfo.cutMap."
+
outItemKey
;
Criteria
c
=
Criteria
.
where
(
mapKey
).
exists
(
true
);
Query
q
=
new
Query
(
c
);
...
...
myproject/src/main/java/com/myproject/manager/impl/BarcodeManagerImpl.java
查看文件 @
002c9fa
...
...
@@ -62,9 +62,9 @@ public class BarcodeManagerImpl implements IBarcodeManager {
if
(
barcode
.
getMaxStorageTime
()
<=
0
){
barcode
.
setMaxStorageTime
(
component
.
getMaxStorageTime
());
}
if
(
barcode
.
getAmount
()
==
1
){
barcode
.
setAmount
(
component
.
getAmount
());
}
//
if(barcode.getAmount() == 1){
//
barcode.setAmount(component.getAmount());
//
}
barcode
.
setType
(
component
.
getType
());
barcode
.
setWarmTime
(
component
.
getWarmTime
());
barcode
.
setFixtureNumber
(
component
.
getFixtureNumber
());
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/QisdaApiController.java
查看文件 @
002c9fa
...
...
@@ -210,6 +210,7 @@ public class QisdaApiController extends BaseController {
}
private
void
bindOutInfoList
(
Collection
<
OutInfo
>
outInfoList
){
for
(
OutInfo
outInfo
:
outInfoList
)
{
if
(
outInfo
.
isReelCutAction
()
||
outInfo
.
isFirstReelAction
()){
//首盘和分盘进行缺料反馈
...
...
@@ -239,6 +240,7 @@ public class QisdaApiController extends BaseController {
}
}
}
}
for
(
OutInfo
outInfo
:
outInfoList
)
{
...
...
@@ -257,6 +259,15 @@ public class QisdaApiController extends BaseController {
}
/**
* 检查首盘料中不同Slot上相同的PN, 如果缺料,出首盘时要保证每一个Slot上都有料
*/
private
void
fistActionSlotBind
(
OutInfo
outInfo
){
for
(
OutItem
outItem
:
outInfo
.
getOutItems
())
{
}
}
/**
*
...
...
@@ -439,6 +450,7 @@ public class QisdaApiController extends BaseController {
private
void
realBindReel
(
OutItem
outItem
){
if
(!
outItem
.
isCutMaterial
()){
//先从预绑定料盘中进行绑定,如果还有缺料的,从未使用的物料中查找,如果还缺料,从预绑定的物料中查找
updateRealLockQty
(
outItem
);
log
.
info
(
"绑定非分盘料:So=["
+
outItem
.
getSo
()+
"]hSerial=["
+
outItem
.
gethSerial
()+
"]+refno=["
+
outItem
.
getRefno
()+
"]的slotLoction"
+
outItem
.
getSlotlocation
()+
"]pn=["
+
outItem
.
getPn
()+
"]当前绑定数量["
+
outItem
.
getRealLockQty
()+
"/"
+
outItem
.
getQty
()+
"]当前出库/发料数量["
+
outItem
.
getOutQty
()+
"/"
+
outItem
.
getSendQty
()+
"]"
);
List
<
StoragePos
>
preBindPosList
=
storagePosDao
.
findPreBindList
(
outItem
.
getSo
(),
outItem
.
getSlotlocation
());
...
...
@@ -482,6 +494,8 @@ public class QisdaApiController extends BaseController {
}
}
}
//首盘,如果此站位一盘也没有,查找是否有同工单不同站位的PN,如果有,抢一盘过来
log
.
info
(
"So=["
+
outItem
.
getSo
()+
"]hSerial=["
+
outItem
.
gethSerial
()+
"]+refno=["
+
outItem
.
getRefno
()+
"]的slot"
+
outItem
.
getSlotlocation
()+
"]pn=["
+
outItem
.
getPn
()+
"]真实绑定结束,当前数量:"
+
outItem
.
getSendQty
()+
"+"
+
outItem
.
getRealLockQty
()
+
"/"
+
outItem
.
getQty
());
}
}
...
...
@@ -509,9 +523,6 @@ public class QisdaApiController extends BaseController {
appendInfo
.
setSo
(
outItem
.
getSo
());
appendInfo
.
setSoseq
(
outItem
.
getSoseq
());
appendInfo
.
setPreBindSlot
(
outItem
.
getSlotlocation
()+
""
);
//预绑定时slotIndex留空
//appendInfo.setSlot(outItem.getSlot());
//appendInfo.setSlotIndex(outItem.getSlotIndex());
barcode
.
setAppendInfo
(
appendInfo
);
pos
.
setBarcode
(
barcode
);
storagePosDao
.
save
(
pos
);
...
...
@@ -628,6 +639,7 @@ public class QisdaApiController extends BaseController {
}
else
{
AppendInfo
appendInfo
=
barcode
.
getAppendInfo
();
appendInfo
.
setSo
(
outItem
.
getSo
());
appendInfo
.
setSoseq
(
outItem
.
getSoseq
());
barcode
.
setAppendInfo
(
appendInfo
);
log
.
info
(
"分盘料["
+
barcode
.
getBarcode
()+
"]分盘信息:"
+
barcode
.
getAppendInfo
().
getCutMap
());
}
...
...
@@ -684,7 +696,7 @@ public class QisdaApiController extends BaseController {
if
(
resultStr
.
startsWith
(
"0"
)){
throw
new
ValidateException
(
" ["
+
dnOrFacility
+
"]收料判定NG:"
+
resultStr
);
}
else
{
throw
new
ValidateException
(
" ["
+
dnOrFacility
+
"]收料判定NG:
内部异常"
);
throw
new
ValidateException
(
" ["
+
dnOrFacility
+
"]收料判定NG:
"
+
resultStr
);
}
}
...
...
@@ -741,6 +753,7 @@ public class QisdaApiController extends BaseController {
appendInfo
.
setCutMap
(
null
);
appendInfo
.
setSo
(
so
);
appendInfo
.
setSoseq
(
soseq
);
appendInfo
.
setSlotStr
(
slot
);
if
(
slotlocation
==
null
||
slotlocation
.
equals
(
"0"
)){
appendInfo
.
setBindSlot
(
null
);
...
...
@@ -761,7 +774,7 @@ public class QisdaApiController extends BaseController {
}
}
appendInfo
.
setSoseq
(
soseq
);
appendInfo
.
setFacility
(
facility
);
appendInfo
.
setCompany
(
company
);
int
amount
=
Integer
.
valueOf
(
qty
);
...
...
@@ -1033,7 +1046,7 @@ public class QisdaApiController extends BaseController {
//分盘料
secondBindCutReel
(
outItem
);
//出分盘料
List
<
StoragePos
>
cutPosList
=
storagePosDao
.
findCutList
(
outItem
.
getSo
(),
outItem
.
getSlotlocation
());
List
<
StoragePos
>
cutPosList
=
storagePosDao
.
findCutList
(
outItem
.
getSo
(),
outItem
.
getSlotlocation
()
,
outItem
.
getSoseq
()
);
for
(
StoragePos
pos
:
cutPosList
)
{
DataLog
task
=
newTask
(
outItem
,
pos
);
task
=
InquiryShelfBean
.
addUnlimitLoc
(
task
,
outItem
);
...
...
@@ -1108,6 +1121,9 @@ public class QisdaApiController extends BaseController {
task
=
dataLogDao
.
save
(
task
);
tasks
.
add
(
task
);
}
else
{
//缺料,查看是否有本工单,同PN的,如果有抢一个过来
//缺料,料架留空
Component
c
=
componentManager
.
findByPartNumber
(
outItem
.
getPn
());
if
(
c
!=
null
){
...
...
@@ -1167,7 +1183,8 @@ public class QisdaApiController extends BaseController {
List
<
DataLog
>
tasks
=
new
ArrayList
<>();
List
<
OutItem
>
itemList
=
outItemDao
.
findByHSerial
(
hSerial
);
int
taskCount
=
0
;
for
(
OutItem
outItem
:
itemList
)
{
outItem
=
updateRealLockQty
(
outItem
);
List
<
DataLog
>
itemTasks
=
null
;
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/TaskService.java
查看文件 @
002c9fa
...
...
@@ -807,10 +807,10 @@ public class TaskService implements ITaskService {
if
(
task
.
isCheckOutTask
()){
Barcode
barcode
=
barcodeManager
.
findByBarcode
(
task
.
getBarcode
());
if
(
barcode
.
needToQisda
()){
//
if(barcode.needToQisda()){
log
.
info
(
"["
+
task
.
getBarcode
()+
"]任务已出库完成,但未放上小车,发送E状态到佳世达"
);
QisdaApiController
.
VMIMateriaRecAss
(
task
,
barcode
,
"E"
);
}
//
}
}
//TODO:如果是首盘料的料架任务,需要填充料架相应的架位,否则料架会卡在那里
...
...
@@ -1524,23 +1524,23 @@ public class TaskService implements ITaskService {
task
=
dataLogDao
.
save
(
task
);
Barcode
barcode
=
pos
.
getBarcode
();
if
(
barcode
!=
null
){
if
(
barcode
.
needToQisda
()){
log
.
info
(
"非测试物料["
+
barcode
.
getBarcode
()+
"]出库"
+
barcode
.
getAppendInfo
());
}
else
{
log
.
info
(
"测试物料["
+
barcode
.
getBarcode
()+
"]出库"
);
if
(
this
.
getQueueTasks
().
isEmpty
()
&&
this
.
getFinishedTasks
().
isEmpty
()){
//没有任务了,清空料架缓存
InquiryShelfBean
.
hSerialShelfMap
.
clear
();
}
//测试用的料盘,分配架位
OutItem
outItem
=
new
OutItem
();
outItem
.
sethSerial
(
"Test"
);
task
.
setSourceName
(
"Test_AAA"
);
task
=
InquiryShelfBean
.
addUnlimitLoc
(
task
,
outItem
);
}
}
//
if(barcode != null){
//
if(barcode.needToQisda()){
//
log.info("非测试物料["+barcode.getBarcode()+"]出库" + barcode.getAppendInfo());
//
}else{
//
log.info("测试物料["+barcode.getBarcode()+"]出库");
//
if(this.getQueueTasks().isEmpty() && this.getFinishedTasks().isEmpty()){
//
//没有任务了,清空料架缓存
//
InquiryShelfBean.hSerialShelfMap.clear();
//
}
//
//测试用的料盘,分配架位
//
OutItem outItem = new OutItem();
//
outItem.sethSerial("Test");
//
task.setSourceName("Test_AAA");
//
//
task = InquiryShelfBean.addUnlimitLoc(task, outItem);
//
}
//
}
addTaskToExecute
(
task
);
...
...
myproject/src/main/webapp/WEB-INF/pages/storage/allBoxView.jsp
查看文件 @
002c9fa
...
...
@@ -8,7 +8,6 @@
padding: 10px;
font-size: 30px;
margin-bottom: 10px;
min-height: 50px;
}
.row{
margin:0px;
...
...
@@ -145,11 +144,11 @@
<div class="bg-primary kabanTitle col-md-12">
<%--<span><fmt:message key="allBoxView.kanban"/></span>--%>
<%--<span style="margin-left: 40px;" id="storageTotalPos">总容量:1000</span>--%>
<
%--<div class="col-md-3">--%
>
<
%--<button class="btn yellow outBtn" id="outPn"><i class="fa fa-sign-out"></i><fmt:message key="button.checkout"/></button>--%
>
<
%--<button class="btn yellow outBtn" id="outOrder"><i class="fa fa-sign-out"></i><fmt:message key="工单出库"/></button>--%
>
<
%--</div>--%
>
<div class="col-md-
12
">
<
div class="col-md-3"
>
<
button class="btn yellow outBtn" id="outPn"><i class="fa fa-sign-out"></i><fmt:message key="button.checkout"/></button
>
<
button class="btn yellow outBtn" id="outOrder"><i class="fa fa-sign-out"></i><fmt:message key="工单出库"/></button
>
<
/div
>
<div class="col-md-">
<div id="lineMsg"></div>
</div>
</div>
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论