Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
WeiChuangOrderStorage
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 624e29bb
由
sunke
编写于
2022-07-27 14:48:25 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
新增加料仓库位库存接口
1 个父辈
f1ef7b50
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
192 行增加
和
27 行删除
myproject/src/main/java/StSys/RoyoTech/ServiceHandle.java
myproject/src/main/java/com/myproject/webapp/controller/storage/StoragePosUpdateController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/MesApiController.java
myproject/src/main/webapp/decorators/metro.jsp
myproject/storageManager.iml
pom.xml
myproject/src/main/java/StSys/RoyoTech/ServiceHandle.java
查看文件 @
624e29b
...
@@ -325,6 +325,7 @@ public class ServiceHandle {
...
@@ -325,6 +325,7 @@ public class ServiceHandle {
if
(
last
.
length
()
==
1
){
if
(
last
.
length
()
==
1
){
last
=
"0"
+
last
;
last
=
"0"
+
last
;
}
}
//T8001.010203 0102为Magazine 03为Slot
String
depot
=
"T"
+
cid
+
"."
+
first
+
middle
+
last
;
String
depot
=
"T"
+
cid
+
"."
+
first
+
middle
+
last
;
data
.
Depot
=
depot
;
data
.
Depot
=
depot
;
}
}
...
...
myproject/src/main/java/com/myproject/webapp/controller/storage/StoragePosUpdateController.java
查看文件 @
624e29b
...
@@ -12,6 +12,8 @@ import com.myproject.manager.IBarcodeManager;
...
@@ -12,6 +12,8 @@ import com.myproject.manager.IBarcodeManager;
import
com.myproject.manager.IStoragePosManager
;
import
com.myproject.manager.IStoragePosManager
;
import
com.myproject.util.StorageConstants
;
import
com.myproject.util.StorageConstants
;
import
com.myproject.webapp.controller.webService.DataCache
;
import
com.myproject.webapp.controller.webService.DataCache
;
import
com.myproject.webapp.controller.webService.ITaskService
;
import
com.myproject.webapp.controller.webService.StorageDataController
;
import
org.apache.commons.lang.StringUtils
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.stereotype.Controller
;
...
@@ -36,6 +38,9 @@ public class StoragePosUpdateController extends BaseUpdateController {
...
@@ -36,6 +38,9 @@ public class StoragePosUpdateController extends BaseUpdateController {
@Autowired
@Autowired
private
DataCache
dataCache
;
private
DataCache
dataCache
;
@Autowired
private
ITaskService
taskService
;
private
final
static
String
UPDATE_VIEW
=
"storage/storagePosUpdate"
;
private
final
static
String
UPDATE_VIEW
=
"storage/storagePosUpdate"
;
@RequestMapping
(
"/storage/getStoragePos"
)
@RequestMapping
(
"/storage/getStoragePos"
)
...
@@ -69,21 +74,29 @@ public class StoragePosUpdateController extends BaseUpdateController {
...
@@ -69,21 +74,29 @@ public class StoragePosUpdateController extends BaseUpdateController {
if
(
barcode
!=
null
){
if
(
barcode
!=
null
){
log
.
info
(
"清理库位["
+
storagePos
.
getPosName
()+
"]中的库存"
+
barcode
.
getBarcode
());
log
.
info
(
"清理库位["
+
storagePos
.
getPosName
()+
"]中的库存"
+
barcode
.
getBarcode
());
String
opUser
=
StorageDataController
.
getLoginUsername
()
+
"-clear"
;
taskService
.
addTaskToFinished
(
storagePos
,
null
,
opUser
);
Storage
storage
=
dataCache
.
getStorageById
(
storagePos
.
getStorageId
());
Storage
storage
=
dataCache
.
getStorageById
(
storagePos
.
getStorageId
());
if
(
storage
!=
null
){
if
(
storage
!=
null
){
WebServiceClient
.
NotifyCarrierUnload
(
barcode
.
getBarcode
(),
storage
.
getCid
());
if
(
dataCache
.
needConnectWeiChuang
()){
WebServiceClient
.
NotifyCarrierUnload
(
barcode
.
getBarcode
(),
storage
.
getCid
());
}
}
}
barcode
=
barcodeManager
.
findByBarcode
(
barcode
.
getBarcode
());
barcode
.
setPosName
(
""
);
barcodeManager
.
save
(
barcode
);
// barcode = barcodeManager.findByBarcode(barcode.getBarcode());
storagePos
.
setBarcode
(
null
);
// barcode.setPosName("");
storagePos
.
setUsed
(
false
);
// barcodeManager.save(barcode);
storagePosManager
.
save
(
storagePos
);
// storagePos.setBarcode(null);
// storagePos.setUsed(false);
// storagePosManager.save(storagePos);
}
}
return
""
;
return
""
;
}
catch
(
Validate
Exception
e
)
{
}
catch
(
Exception
e
)
{
return
e
.
getMessage
();
return
e
.
getMessage
();
}
}
}
}
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/MesApiController.java
查看文件 @
624e29b
...
@@ -18,21 +18,16 @@ import com.myproject.manager.IStoragePosManager;
...
@@ -18,21 +18,16 @@ import com.myproject.manager.IStoragePosManager;
import
com.myproject.util.DateUtil
;
import
com.myproject.util.DateUtil
;
import
com.myproject.util.StorageConstants
;
import
com.myproject.util.StorageConstants
;
import
com.myproject.webapp.controller.storage.BaseController
;
import
com.myproject.webapp.controller.storage.BaseController
;
import
com.myproject.webapp.filter.LocaleFilter
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.apache.logging.log4j.Logger
;
import
org.apache.logging.log4j.core.util.Integers
;
import
org.apache.logging.log4j.core.util.Integers
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.IOException
;
import
java.text.ParseException
;
import
java.util.*
;
import
java.util.*
;
import
java.util.stream.Collectors
;
@Controller
@Controller
...
@@ -387,7 +382,7 @@ public class MesApiController extends BaseController {
...
@@ -387,7 +382,7 @@ public class MesApiController extends BaseController {
}
}
String
msg
=
statusBean
.
getMsg
();
String
msg
=
statusBean
.
getMsg
();
String
msgEn
=
statusBean
.
getMsgEn
()
;
String
msgEn
=
msg
;
String
doorReelSingnal
=
statusBean
.
getDoorReelSingnal
();
String
doorReelSingnal
=
statusBean
.
getDoorReelSingnal
();
Exception
e
=
taskService
.
getServerException
(
storage
.
getCid
());
Exception
e
=
taskService
.
getServerException
(
storage
.
getCid
());
if
(
e
!=
null
){
if
(
e
!=
null
){
...
@@ -412,6 +407,9 @@ public class MesApiController extends BaseController {
...
@@ -412,6 +407,9 @@ public class MesApiController extends BaseController {
itemMap
.
put
(
"name"
,
storage
.
getName
());
itemMap
.
put
(
"name"
,
storage
.
getName
());
itemMap
.
put
(
"status"
,
storageStatus
);
itemMap
.
put
(
"status"
,
storageStatus
);
itemMap
.
put
(
"msg"
,
msg
);
itemMap
.
put
(
"msg"
,
msg
);
if
(
msg
.
isEmpty
()){
msgEn
=
""
;
}
itemMap
.
put
(
"msgEn"
,
msgEn
);
itemMap
.
put
(
"msgEn"
,
msgEn
);
itemMap
.
put
(
"doorReelSignal"
,
doorReelSingnal
);
itemMap
.
put
(
"doorReelSignal"
,
doorReelSingnal
);
log
.
info
(
"doorReelSignal:"
+
doorReelSingnal
);
log
.
info
(
"doorReelSignal:"
+
doorReelSingnal
);
...
@@ -432,14 +430,166 @@ public class MesApiController extends BaseController {
...
@@ -432,14 +430,166 @@ public class MesApiController extends BaseController {
return
results
;
return
results
;
}
}
/**
* 功能: 开发 储位(solt)占用情况接口, 供MES 系统调用 方式: 沟通方式采用 Restful API沟通方式,method使用Get方式
* Interface
* Method: Get
*
* [
* {
* "towerId": "tower01", // tower編號
* "usedSlot": { //已使用儲位
* "7x8": "200", //已使用的7x8儲位
* "7x12": "350" //已使用的7x12儲位
* },
* "freeSlot": {
* "7x8": "100", //未使用的7x8儲位
* "7x12": "250" //未使用的7x12儲位
* },
* "material": [
* {
* "barcode": "A00000000001", //料捲編號
* "magazine": "A:1", //tower magazine, Depot T8001.010203,Magazine為紅色四碼
* "slot": "08", //tower slot , Depot T8001.010203,slot為紅色兩碼
* "reelSize": "7x8", //料捲尺寸
* "slotSize": "7x8" //該儲位可放尺寸
* },
* {
* "barcode": "A00000000002", //料捲編號
* "magazine": "A:1", //tower magazine
* "slot": "08", //tower slot
* "reelSize": "7x8", //料捲尺寸
* "slotSize": "7x12" //該儲位可放尺寸
* },
* {
* "barcode": "A00000000003",
* "magazine": "A:1",
* "slot": "08",
* "reelSize": "7x8",
* "slotSize": "7x16"
* }
* ]
* },
* {
* "towerId": "tower02",
* "usedSlot": {
* "7x8": "200",
* "7x12": "350"
* },
* "freeSlot": {
* "7x8": "100",
* "7x12": "250"
* },
* "material": [
* {
* "barcode": "B00000000001",
* "magazine": "A:1",
* "slot": "08",
* "reelSize": "7x8",
* "slotSize": "7x12"
* },
* {
* "barcode": "B00000000002",
* "magazine": "A:1",
* "slot": "08",
* "reelSize": "7x8",
* "slotSize": "7x12"
* },
* {
* "barcode": "B00000000003",
* "magazine": "A:1",
* "slot": "08",
* "reelSize": "7x8",
* "slotSize": "7x12"
* }
* ]
* }
* ]
* @return
*/
@RequestMapping
(
value
=
"/slotStatus"
)
@ResponseBody
public
List
<
Map
<
String
,
Object
>>
getSlotStatus
(){
List
<
Map
<
String
,
Object
>>
resultMap
=
new
ArrayList
<>();
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
materialMap
=
getMaterialMap
();
for
(
Storage
storage
:
dataCache
.
getAllStorage
().
values
())
{
String
cid
=
storage
.
getCid
();
String
storageId
=
storage
.
getId
();
Map
<
String
,
String
>
usedSlot
=
new
HashMap
<>();
Map
<
String
,
String
>
freeSlot
=
new
HashMap
<>();
for
(
UsageItem
useageItem
:
storage
.
getUsageMap
().
values
())
{
String
sizeStr
=
useageItem
.
getSizeStr
();
int
usedCount
=
useageItem
.
getUsedCount
();
int
totalCount
=
useageItem
.
getTotalCount
();
if
(
usedCount
>
totalCount
){
usedCount
=
totalCount
;
}
int
freeCount
=
totalCount
-
usedCount
;
usedSlot
.
put
(
sizeStr
,
usedCount
+
""
);
freeSlot
.
put
(
sizeStr
,
freeCount
+
""
);
}
List
<
Map
<
String
,
Object
>>
materialList
=
materialMap
.
get
(
storage
.
getId
());
if
(
materialList
==
null
){
materialList
=
new
ArrayList
<>();
}
Map
<
String
,
Object
>
towerMap
=
new
HashMap
<>();
towerMap
.
put
(
"towerId"
,
storage
.
getCid
());
towerMap
.
put
(
"usedSlot"
,
usedSlot
);
towerMap
.
put
(
"freeSlot"
,
freeSlot
);
towerMap
.
put
(
"material"
,
materialList
);
}
private
Date
toDate
(
String
dateStr
){
return
resultMap
;
try
{
}
return
DateUtil
.
toDate
(
dateStr
,
"yyyyMMddHHmmss"
);
}
catch
(
Exception
e
)
{
private
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
getMaterialMap
(){
List
<
StoragePos
>
posList
=
storagePosManager
.
findNotEmpty
();
Map
<
String
,
List
<
Map
<
String
,
Object
>>>
materialMap
=
new
HashMap
<>();
for
(
StoragePos
storagePos
:
posList
)
{
String
[]
infos
=
storagePos
.
getPosName
().
split
(
"_"
);
String
magazine
=
""
;
//后面第6-后2位
String
slot
=
""
;
//最后2位
if
(
infos
.
length
>=
3
){
String
last
=
infos
[
infos
.
length
-
1
];
String
middle
=
infos
[
infos
.
length
-
2
];
String
first
=
infos
[
infos
.
length
-
3
];
if
(
first
.
length
()==
1
){
first
=
"0"
+
first
;
}
if
(
middle
.
length
()
==
1
){
middle
=
"0"
+
middle
;
}
if
(
last
.
length
()
==
1
){
last
=
"0"
+
last
;
}
//T8001.010203 0102为Magazine 03为Slot
magazine
=
first
+
middle
;
slot
=
last
;
}
Barcode
barcode
=
storagePos
.
getBarcode
();
String
slotSize
=
storagePos
.
getW
()
+
"x"
+
storagePos
.
getH
();
String
reelSize
=
barcode
.
getPlateSize
()
+
"x"
+
barcode
.
getHeight
();
String
storageId
=
storagePos
.
getStorageId
();
List
<
Map
<
String
,
Object
>>
materialList
=
materialMap
.
get
(
storageId
);
if
(
materialList
==
null
){
materialList
=
new
ArrayList
<>();
}
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"barcode"
,
barcode
.
getBarcode
());
//料捲編號
dataMap
.
put
(
"magazine"
,
magazine
);
//////tower magazine, Depot T8001.010203,Magazine為0102
dataMap
.
put
(
"slot"
,
slot
);
//tower slot , Depot T8001.010203,slot為03
dataMap
.
put
(
"reelSize"
,
reelSize
);
//料捲尺寸
dataMap
.
put
(
"slotSize"
,
slotSize
);
//該儲位可放尺寸
materialList
.
add
(
dataMap
);
materialMap
.
put
(
storageId
,
materialList
);
}
}
return
null
;
return
materialMap
;
}
}
}
}
myproject/src/main/webapp/decorators/metro.jsp
查看文件 @
624e29b
...
@@ -237,7 +237,7 @@
...
@@ -237,7 +237,7 @@
<!-- BEGIN FOOTER -->
<!-- BEGIN FOOTER -->
<div
class=
"page-footer"
>
<div
class=
"page-footer"
>
<div
class=
"page-footer-inner"
>
<div
class=
"page-footer-inner"
>
2016
©
<a
href=
"${ctx}/updateHistory.html"
>
SMD BOX
</a>
2016
©
<a
href=
"${ctx}/updateHistory.html"
>
SMD BOX
1.27.2714
</a>
</div>
</div>
<div
class=
"scroll-to-top"
>
<div
class=
"scroll-to-top"
>
<i
class=
"icon-arrow-up"
></i>
<i
class=
"icon-arrow-up"
></i>
...
...
myproject/storageManager.iml
查看文件 @
624e29b
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
</configuration>
</configuration>
</facet>
</facet>
</component>
</component>
<component
name=
"NewModuleRootManager"
LANGUAGE_LEVEL=
"JDK_1_7"
inherit-compiler-output=
"false"
>
<component
name=
"NewModuleRootManager"
LANGUAGE_LEVEL=
"JDK_1_7"
>
<output
url=
"file://$MODULE_DIR$/target/classes"
/>
<output
url=
"file://$MODULE_DIR$/target/classes"
/>
<output-test
url=
"file://$MODULE_DIR$/target/test-classes"
/>
<output-test
url=
"file://$MODULE_DIR$/target/test-classes"
/>
<content
url=
"file://$MODULE_DIR$"
>
<content
url=
"file://$MODULE_DIR$"
>
...
@@ -49,11 +49,11 @@
...
@@ -49,11 +49,11 @@
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.hamcrest:hamcrest-all:1.3"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"TEST"
name=
"Maven: org.hamcrest:hamcrest-all:1.3"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: junit:junit:4.12"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: junit:junit:4.12"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.slf4j:slf4j-api:1.7.11"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.slf4j:slf4j-api:1.7.11"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-jcl:2.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-jcl:2.1
7.0
"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: commons-logging:commons-logging:1.2"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: commons-logging:commons-logging:1.2"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-api:2.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-api:2.1
7.0
"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-slf4j-impl:2.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-slf4j-impl:2.1
7.0
"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-core:2.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.apache.logging.log4j:log4j-core:2.1
7.0
"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.jboss.logging:jboss-logging:3.2.0.Beta1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.jboss.logging:jboss-logging:3.2.0.Beta1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: mysql:mysql-connector-java:5.1.27"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: mysql:mysql-connector-java:5.1.27"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: commons-fileupload:commons-fileupload:1.3.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: commons-fileupload:commons-fileupload:1.3.1"
level=
"project"
/>
...
@@ -105,8 +105,8 @@
...
@@ -105,8 +105,8 @@
<orderEntry
type=
"library"
name=
"Maven: org.webjars:jquery:1.11.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.webjars:jquery:1.11.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.webjars:bootstrap-datepicker:1.3.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.webjars:bootstrap-datepicker:1.3.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.webjars:bootswatch-spacelab:3.3.1+2"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: org.webjars:bootswatch-spacelab:3.3.1+2"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: org.apache.logging.log4j:log4j-1.2-api:2.1"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: org.apache.logging.log4j:log4j-1.2-api:2.1
7.0
"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: org.apache.logging.log4j:log4j-web:2.1"
level=
"project"
/>
<orderEntry
type=
"library"
scope=
"RUNTIME"
name=
"Maven: org.apache.logging.log4j:log4j-web:2.1
7.0
"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: commons-collections:commons-collections:3.2.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: commons-collections:commons-collections:3.2.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: javax.mail:mail:1.4.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: javax.mail:mail:1.4.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: javax.activation:activation:1.1.1"
level=
"project"
/>
<orderEntry
type=
"library"
name=
"Maven: javax.activation:activation:1.1.1"
level=
"project"
/>
...
...
pom.xml
查看文件 @
624e29b
...
@@ -970,5 +970,6 @@
...
@@ -970,5 +970,6 @@
<wicket-webjars.version>
0.4.1
</wicket-webjars.version>
<wicket-webjars.version>
0.4.1
</wicket-webjars.version>
<wro4j.version>
1.7.5
</wro4j.version>
<wro4j.version>
1.7.5
</wro4j.version>
<spring-data.version>
1.8.0.RELEASE
</spring-data.version>
<spring-data.version>
1.8.0.RELEASE
</spring-data.version>
<log4j2.version>
2.17.0
</log4j2.version>
</properties>
</properties>
</project>
</project>
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论