Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit c7bd53b4
由
sunke
编写于
2022-08-26 15:30:25 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
重置用户密码功能修复
导出元器件信息 料架展示IP修改 横向转储入库修正
1 个父辈
e2a19195
隐藏空白字符变更
内嵌
并排
正在显示
16 个修改的文件
包含
229 行增加
和
166 行删除
src/main/java/com/neotel/smfcore/common/utils/YmlUpdateUtil.java
src/main/java/com/neotel/smfcore/core/barcode/rest/ComponentController.java
src/main/java/com/neotel/smfcore/core/barcode/service/manager/IComponentManager.java
src/main/java/com/neotel/smfcore/core/barcode/service/manager/impl/ComponentManagerImpl.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
src/main/java/com/neotel/smfcore/core/hik/rest/SingleInController.java
src/main/java/com/neotel/smfcore/core/inList/util/InListCache.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/outList/util/OutListCache.java
src/main/java/com/neotel/smfcore/core/storage/rest/StorageController.java
src/main/java/com/neotel/smfcore/hikvision/HikConfig.java
src/main/java/com/neotel/smfcore/security/rest/UserController.java
src/main/resources/config/application-prod.yml
src/main/resources/config/application.yml
src/main/java/com/neotel/smfcore/common/utils/YmlUpdateUtil.java
查看文件 @
c7bd53b
package
com
.
neotel
.
smfcore
.
common
.
utils
;
package
com
.
neotel
.
smfcore
.
common
.
utils
;
import
com.neotel.smfcore.SmfCoreApplication
;
import
com.neotel.smfcore.security.rest.UserController
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.util.StringUtil
;
import
org.springframework.util.ClassUtils
;
import
org.springframework.util.ClassUtils
;
import
org.yaml.snakeyaml.Yaml
;
import
org.yaml.snakeyaml.Yaml
;
import
java.net.URL
;
import
java.io.*
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileWriter
;
import
java.net.URL
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
@Slf4j
@Slf4j
public
class
YmlUpdateUtil
{
public
class
YmlUpdateUtil
{
public
static
void
updateYamlFile
(
Map
<
String
,
Object
>
updateMap
)
{
public
static
void
updateYamlFile
(
Map
<
String
,
Object
>
updateMap
)
{
...
@@ -39,24 +39,23 @@ public class YmlUpdateUtil {
...
@@ -39,24 +39,23 @@ public class YmlUpdateUtil {
for
(
String
key
:
updateMap
.
keySet
()
for
(
String
key
:
updateMap
.
keySet
()
)
{
)
{
Object
value
=
updateMap
.
get
(
key
);
Object
value
=
updateMap
.
get
(
key
);
if
(
StringUtils
.
isEmpty
(
value
.
toString
()))
{
if
(
StringUtils
.
isEmpty
(
value
.
toString
()))
{
continue
;
continue
;
}
}
key
=
key
.
replace
(
'.'
,
','
);
key
=
key
.
replace
(
'.'
,
','
);
String
[]
keyarray
=
key
.
split
(
","
);
String
[]
keyarray
=
key
.
split
(
","
);
if
(
keyarray
!=
null
){
if
(
keyarray
!=
null
)
{
Map
<
String
,
Object
>
currMap
=
resultMap
;
Map
<
String
,
Object
>
currMap
=
resultMap
;
int
index
=
0
;
int
index
=
0
;
for
(
String
mapKey
:
for
(
String
mapKey
:
keyarray
)
{
keyarray
)
{
if
(
index
==
(
keyarray
.
length
-
1
))
{
if
(
index
==(
keyarray
.
length
-
1
)){
currMap
=
updateMapValue
(
mapKey
,
value
,
currMap
);
currMap
=
updateMapValue
(
mapKey
,
value
,
currMap
);
}
else
{
}
else
{
currMap
=
updateMapMap
(
mapKey
,
currMap
);
currMap
=
updateMapMap
(
mapKey
,
currMap
);
}
}
index
++;
index
++;
}
}
}
}
msg
+=
key
+
"="
+
value
+
","
;
msg
+=
key
+
"="
+
value
+
","
;
}
}
...
@@ -65,7 +64,7 @@ public class YmlUpdateUtil {
...
@@ -65,7 +64,7 @@ public class YmlUpdateUtil {
//字符输出
//字符输出
fileWriter
=
new
FileWriter
(
new
File
(
src
));
fileWriter
=
new
FileWriter
(
new
File
(
src
));
//用yaml方法把map结构格式化为yaml文件结构
//用yaml方法把map结构格式化为yaml文件结构
String
writeStr
=
yaml
.
dumpAsMap
(
resultMap
);
String
writeStr
=
yaml
.
dumpAsMap
(
resultMap
);
fileWriter
.
write
(
writeStr
);
fileWriter
.
write
(
writeStr
);
//刷新
//刷新
fileWriter
.
flush
();
fileWriter
.
flush
();
...
@@ -74,22 +73,24 @@ public class YmlUpdateUtil {
...
@@ -74,22 +73,24 @@ public class YmlUpdateUtil {
log
.
info
(
"更改yml配置:"
+
msg
);
log
.
info
(
"更改yml配置:"
+
msg
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
log
.
error
(
"updateYamlFile error :"
+
e
.
toString
());
log
.
error
(
"updateYamlFile error :"
+
e
.
toString
());
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
log
.
error
(
"updateYamlFile error :"
+
e
.
toString
());
log
.
error
(
"updateYamlFile error :"
+
e
.
toString
());
}
}
}
}
private
static
Map
<
String
,
Object
>
updateMapMap
(
String
key
,
Map
<
String
,
Object
>
map
){
private
static
Map
<
String
,
Object
>
updateMapMap
(
String
key
,
Map
<
String
,
Object
>
map
)
{
if
(!
map
.
containsKey
(
key
))
{
if
(!
map
.
containsKey
(
key
))
{
map
.
put
(
key
,
new
HashMap
<
String
,
Object
>());
map
.
put
(
key
,
new
HashMap
<
String
,
Object
>());
}
}
return
(
Map
<
String
,
Object
>)
map
.
get
(
key
);
return
(
Map
<
String
,
Object
>)
map
.
get
(
key
);
}
}
private
static
Map
<
String
,
Object
>
updateMapValue
(
String
key
,
Object
value
,
Map
<
String
,
Object
>
map
){
private
static
Map
<
String
,
Object
>
updateMapValue
(
String
key
,
Object
value
,
Map
<
String
,
Object
>
map
)
{
if
(
map
.
containsKey
(
key
))
{
if
(
map
.
containsKey
(
key
))
{
map
.
remove
(
key
);
map
.
remove
(
key
);
}
}
...
...
src/main/java/com/neotel/smfcore/core/barcode/rest/ComponentController.java
查看文件 @
c7bd53b
...
@@ -2,10 +2,13 @@ package com.neotel.smfcore.core.barcode.rest;
...
@@ -2,10 +2,13 @@ package com.neotel.smfcore.core.barcode.rest;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.convert.Convert
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.base.IExcelDownLoad
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.csv.CsvReader
;
import
com.neotel.smfcore.common.csv.CsvReader
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.core.barcode.rest.bean.dto.ComponentDto
;
import
com.neotel.smfcore.core.barcode.rest.bean.dto.ComponentDto
;
...
@@ -33,6 +36,7 @@ import org.springframework.validation.annotation.Validated;
...
@@ -33,6 +36,7 @@ import org.springframework.validation.annotation.Validated;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
org.springframework.web.multipart.MultipartFile
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.File
;
import
java.io.File
;
import
java.io.IOException
;
import
java.io.IOException
;
...
@@ -60,10 +64,52 @@ public class ComponentController {
...
@@ -60,10 +64,52 @@ public class ComponentController {
@ApiOperation
(
"导出元器件信息"
)
@ApiOperation
(
"导出元器件信息"
)
@GetMapping
(
value
=
"/download"
)
@GetMapping
(
value
=
"/download"
)
public
void
download
(
HttpServletResponse
response
,
ComponentQueryCriteria
criteria
)
throws
Exception
{
public
void
download
(
HttpServletResponse
response
,
ComponentQueryCriteria
criteria
,
Pageable
pageable
,
HttpServletRequest
request
)
throws
Exception
{
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
List
<
Component
>
list
=
componentManager
.
findByQuery
(
query
);
FileUtil
.
downloadExcel
(
query
,
pageable
,
response
,
new
IExcelDownLoad
()
{
componentManager
.
download
(
list
,
response
);
@Override
public
List
<
List
<
String
>>
getHeader
()
{
List
<
List
<
String
>>
headerList
=
new
ArrayList
<>();
headerList
.
add
(
Lists
.
newArrayList
(
"料件编号"
));
headerList
.
add
(
Lists
.
newArrayList
(
"数量"
));
headerList
.
add
(
Lists
.
newArrayList
(
"直径"
));
headerList
.
add
(
Lists
.
newArrayList
(
"厚度"
));
headerList
.
add
(
Lists
.
newArrayList
(
"补充盘数上限"
));
headerList
.
add
(
Lists
.
newArrayList
(
"截料设置盘数"
));
headerList
.
add
(
Lists
.
newArrayList
(
"安全库存盘数"
));
headerList
.
add
(
Lists
.
newArrayList
(
"呆滞天数"
));
headerList
.
add
(
Lists
.
newArrayList
(
"物料间距"
));
headerList
.
add
(
Lists
.
newArrayList
(
"尺寸是否已确认"
));
headerList
.
add
(
Lists
.
newArrayList
(
"描述"
));
return
headerList
;
}
@Override
public
List
<
List
<
Object
>>
getPageData
(
Query
query
,
Pageable
pageable
)
{
List
<
Component
>
list
=
componentManager
.
findByQuery
(
query
,
pageable
);
List
<
List
<
Object
>>
dataList
=
new
ArrayList
<>();
for
(
Component
component
:
list
)
{
List
<
Object
>
data
=
new
ArrayList
<>();
data
.
add
(
component
.
getPartNumber
());
data
.
add
(
component
.
getAmount
());
data
.
add
(
component
.
getPlateSize
());
data
.
add
(
component
.
getHeight
());
data
.
add
(
component
.
getMaxStoreNum
());
data
.
add
(
component
.
getMinStoreNum
());
data
.
add
(
component
.
getSafetyStoreNum
());
data
.
add
(
component
.
getSluggishDay
());
data
.
add
(
component
.
getDistance
());
String
confirmed
=
"否"
;
if
(
component
.
isSizeConfirmed
()){
confirmed
=
"是"
;
}
data
.
add
(
confirmed
);
data
.
add
(
component
.
getDescription
());
dataList
.
add
(
data
);
}
return
dataList
;
}
});
}
}
@ApiOperation
(
"查询元器件"
)
@ApiOperation
(
"查询元器件"
)
...
@@ -293,7 +339,10 @@ public class ComponentController {
...
@@ -293,7 +339,10 @@ public class ComponentController {
continue
;
continue
;
}
}
try
{
try
{
Component
item
=
new
Component
();
Component
item
=
componentManager
.
findOneByPN
(
PN
);
if
(
item
==
null
){
item
=
new
Component
();
}
item
.
setPartNumber
(
lineValues
[
partNumberIndex
].
trim
());
item
.
setPartNumber
(
lineValues
[
partNumberIndex
].
trim
());
item
.
setAmount
(
Convert
.
toInt
(
lineValues
[
amountIndex
].
trim
()));
item
.
setAmount
(
Convert
.
toInt
(
lineValues
[
amountIndex
].
trim
()));
item
.
setPlateSize
(
Convert
.
toInt
(
lineValues
[
plateSizeIndex
].
trim
()));
item
.
setPlateSize
(
Convert
.
toInt
(
lineValues
[
plateSizeIndex
].
trim
()));
...
...
src/main/java/com/neotel/smfcore/core/barcode/service/manager/IComponentManager.java
查看文件 @
c7bd53b
...
@@ -2,6 +2,8 @@ package com.neotel.smfcore.core.barcode.service.manager;
...
@@ -2,6 +2,8 @@ package com.neotel.smfcore.core.barcode.service.manager;
import
com.neotel.smfcore.common.base.IBaseManager
;
import
com.neotel.smfcore.common.base.IBaseManager
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.query.Query
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.io.IOException
;
...
@@ -9,14 +11,14 @@ import java.util.List;
...
@@ -9,14 +11,14 @@ import java.util.List;
import
java.util.Set
;
import
java.util.Set
;
public
interface
IComponentManager
extends
IBaseManager
<
Component
>
{
public
interface
IComponentManager
extends
IBaseManager
<
Component
>
{
List
<
Component
>
findByQuery
(
Query
query
,
Pageable
pageable
);
Component
findByPartNumberAndProvider
(
String
partNumber
,
String
provider
);
Component
findByPartNumberAndProvider
(
String
partNumber
,
String
provider
);
Component
findOneByPN
(
String
partNumber
);
Component
findOneByPN
(
String
partNumber
);
Component
saveComponent
(
Component
resources
);
Component
saveComponent
(
Component
resources
);
void
download
(
List
<
Component
>
queryAll
,
HttpServletResponse
response
)
throws
IOException
;
void
deleteComponents
(
Set
<
String
>
ids
);
void
deleteComponents
(
Set
<
String
>
ids
);
int
saveComponentList
(
List
<
Component
>
componentList
);
int
saveComponentList
(
List
<
Component
>
componentList
);
...
...
src/main/java/com/neotel/smfcore/core/barcode/service/manager/impl/ComponentManagerImpl.java
查看文件 @
c7bd53b
...
@@ -2,8 +2,6 @@ package com.neotel.smfcore.core.barcode.service.manager.impl;
...
@@ -2,8 +2,6 @@ package com.neotel.smfcore.core.barcode.service.manager.impl;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.StorageConstants
;
import
com.neotel.smfcore.common.utils.StorageConstants
;
import
com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE
;
import
com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE
;
import
com.neotel.smfcore.core.barcode.service.dao.IBarcodeDao
;
import
com.neotel.smfcore.core.barcode.service.dao.IBarcodeDao
;
...
@@ -15,14 +13,13 @@ import com.neotel.smfcore.core.storage.service.dao.IStoragePosDao;
...
@@ -15,14 +13,13 @@ import com.neotel.smfcore.core.storage.service.dao.IStoragePosDao;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.logging.log4j.util.Strings
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.*
;
import
java.util.*
;
@Slf4j
@Slf4j
...
@@ -59,6 +56,11 @@ public class ComponentManagerImpl implements IComponentManager {
...
@@ -59,6 +56,11 @@ public class ComponentManagerImpl implements IComponentManager {
}
}
@Override
@Override
public
List
<
Component
>
findByQuery
(
Query
query
,
Pageable
pageable
)
{
return
componentDao
.
findByQuery
(
query
,
pageable
);
}
@Override
public
List
<
Component
>
findByQuery
(
Query
query
)
{
public
List
<
Component
>
findByQuery
(
Query
query
)
{
return
componentDao
.
findByQuery
(
query
);
return
componentDao
.
findByQuery
(
query
);
}
}
...
@@ -96,22 +98,6 @@ public class ComponentManagerImpl implements IComponentManager {
...
@@ -96,22 +98,6 @@ public class ComponentManagerImpl implements IComponentManager {
}
}
@Override
@Override
public
void
download
(
List
<
Component
>
queryAll
,
HttpServletResponse
response
)
throws
IOException
{
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
for
(
Component
component
:
queryAll
)
{
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
"名称"
,
component
.
getName
());
map
.
put
(
"物料编号"
,
component
.
getPartNumber
());
map
.
put
(
"供应商编码"
,
component
.
getProviderNumber
());
map
.
put
(
"料盘尺寸"
,
component
.
getPlateSize
()
+
"X"
+
component
.
getHeight
());
map
.
put
(
"封装数量"
,
component
.
getAmount
());
map
.
put
(
"创建日期"
,
DateUtil
.
toDateTimeString
(
component
.
getCreateDate
()));
list
.
add
(
map
);
}
FileUtil
.
downloadExcel
(
list
,
response
);
}
@Override
public
void
deleteComponents
(
Set
<
String
>
ids
)
{
public
void
deleteComponents
(
Set
<
String
>
ids
)
{
Query
query
=
new
Query
(
Criteria
.
where
(
"id"
).
in
(
ids
));
Query
query
=
new
Query
(
Criteria
.
where
(
"id"
).
in
(
ids
));
List
<
Component
>
components
=
componentDao
.
findByQuery
(
query
);
List
<
Component
>
components
=
componentDao
.
findByQuery
(
query
);
...
@@ -129,8 +115,7 @@ public class ComponentManagerImpl implements IComponentManager {
...
@@ -129,8 +115,7 @@ public class ComponentManagerImpl implements IComponentManager {
List
<
Component
>
newComList
=
new
ArrayList
<>();
List
<
Component
>
newComList
=
new
ArrayList
<>();
String
addPnStr
=
""
;
String
addPnStr
=
""
;
for
(
Component
resources
:
for
(
Component
resources
:
componentList
)
{
componentList
)
{
if
(
resources
.
getPartNumber
()
==
null
)
{
if
(
resources
.
getPartNumber
()
==
null
)
{
continue
;
continue
;
}
}
...
@@ -144,14 +129,19 @@ public class ComponentManagerImpl implements IComponentManager {
...
@@ -144,14 +129,19 @@ public class ComponentManagerImpl implements IComponentManager {
resources
.
setDescription
(
""
);
resources
.
setDescription
(
""
);
}
}
//判断partNum是否重复
if
(
Strings
.
isNotBlank
(
resources
.
getId
())){
Criteria
c
=
Criteria
.
where
(
"partNumber"
).
is
(
resources
.
getPartNumber
());
componentDao
.
save
(
resources
);
Component
com
=
componentDao
.
findOne
(
new
Query
(
c
));
if
(
com
!=
null
)
{
log
.
info
(
"saveComponentList 元器件["
+
resources
.
getPartNumber
()
+
"]已存在,暂不处理"
);
continue
;
continue
;
}
}
//判断partNum是否重复
// Criteria c = Criteria.where("partNumber").is(resources.getPartNumber());
//
// Component com = componentDao.findOne(new Query(c));
// if (com != null) {
// log.info("saveComponentList 元器件[" + resources.getPartNumber() + "]已存在,暂不处理");
// continue;
// }
addPnStr
+=
resources
.
getPartNumber
()
+
","
;
addPnStr
+=
resources
.
getPartNumber
()
+
","
;
newComList
.
add
(
resources
);
newComList
.
add
(
resources
);
}
}
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
查看文件 @
c7bd53b
...
@@ -795,6 +795,7 @@ public class BaseDeviceHandler implements IDeviceHandler {
...
@@ -795,6 +795,7 @@ public class BaseDeviceHandler implements IDeviceHandler {
statusBean
.
setStatus
(
statusBeanToSave
.
getStatus
());
statusBean
.
setStatus
(
statusBeanToSave
.
getStatus
());
statusBean
.
setOp
(
statusBeanToSave
.
getOp
());
statusBean
.
setOp
(
statusBeanToSave
.
getOp
());
statusBean
.
setSeq
(
statusBeanToSave
.
getSeq
());
statusBean
.
setSeq
(
statusBeanToSave
.
getSeq
());
statusBean
.
setClientIp
(
statusBeanToSave
.
getClientIp
());
/**
/**
* 已解除的报警信息存到数据库中
* 已解除的报警信息存到数据库中
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
查看文件 @
c7bd53b
...
@@ -52,6 +52,15 @@ public class NLPShelfHandler extends BaseDeviceHandler{
...
@@ -52,6 +52,15 @@ public class NLPShelfHandler extends BaseDeviceHandler{
@Autowired
@Autowired
private
IUserManager
userManager
;
private
IUserManager
userManager
;
/**
* 库位盘点料架CID列表
*/
private
static
Collection
<
String
>
lightPosCidList
=
new
ArrayList
<>();
public
static
void
updateOpenCidList
(
Collection
<
String
>
cidList
){
lightPosCidList
=
cidList
;
}
public
NLPShelfHandler
(
List
<
IOpAuthApi
>
apiList
)
{
public
NLPShelfHandler
(
List
<
IOpAuthApi
>
apiList
)
{
super
(
apiList
);
super
(
apiList
);
}
}
...
@@ -327,6 +336,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
...
@@ -327,6 +336,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
if
(
queueTask
.
isCheckOutTask
()
&&
queueTask
.
getPosName
().
equals
(
posName
)){
if
(
queueTask
.
isCheckOutTask
()
&&
queueTask
.
getPosName
().
equals
(
posName
)){
//出库完成
//出库完成
try
{
try
{
outResult
=
posName
;
outResult
=
posName
;
super
.
finishedOutPos
(
cid
,
posName
);
super
.
finishedOutPos
(
cid
,
posName
);
String
msg
=
queueTask
.
getBarcode
()+
"从"
+
posName
+
"出库成功,颜色["
+
queueTask
.
getLightColor
()+
"]"
;
String
msg
=
queueTask
.
getBarcode
()+
"从"
+
posName
+
"出库成功,颜色["
+
queueTask
.
getLightColor
()+
"]"
;
...
@@ -389,8 +399,14 @@ public class NLPShelfHandler extends BaseDeviceHandler{
...
@@ -389,8 +399,14 @@ public class NLPShelfHandler extends BaseDeviceHandler{
}
}
}
}
Map
<
String
,
List
<
String
>>
dataMap
=
new
HashMap
<>();
String
hasReelPosColor
=
"off"
;
if
(
lightPosCidList
.
contains
(
cid
)){
hasReelPosColor
=
ORDER_COLOR
.
LIGHTBLUE
.
name
();
}
Map
<
String
,
Object
>
dataMap
=
new
HashMap
<>();
dataMap
.
put
(
"hasReelPosList"
,
posList
);
dataMap
.
put
(
"hasReelPosList"
,
posList
);
dataMap
.
put
(
"hasReelPosColor"
,
hasReelPosColor
);
dataMap
.
put
(
"outTaskList"
,
outTaskPosList
);
dataMap
.
put
(
"outTaskList"
,
outTaskPosList
);
//log.info("客户端获取["+cid+"]库位占用情况返回");
//log.info("客户端获取["+cid+"]库位占用情况返回");
return
ResultBean
.
newOkResult
(
dataMap
);
return
ResultBean
.
newOkResult
(
dataMap
);
...
@@ -402,7 +418,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
...
@@ -402,7 +418,7 @@ public class NLPShelfHandler extends BaseDeviceHandler{
@RequestMapping
(
"/service/store/sensorShelf/hasReelPosList"
)
@RequestMapping
(
"/service/store/sensorShelf/hasReelPosList"
)
@ResponseBody
@ResponseBody
@AnonymousAccess
@AnonymousAccess
public
ResultBean
checkAll
(
HttpServletRequest
request
){
public
ResultBean
hasReelPosList
(
HttpServletRequest
request
){
String
cid
=
request
.
getParameter
(
"cid"
);
String
cid
=
request
.
getParameter
(
"cid"
);
List
<
String
>
posList
=
dataCache
.
getUsedPosNameList
(
cid
);
List
<
String
>
posList
=
dataCache
.
getUsedPosNameList
(
cid
);
return
ResultBean
.
newOkResult
(
posList
);
return
ResultBean
.
newOkResult
(
posList
);
...
...
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
查看文件 @
c7bd53b
...
@@ -161,9 +161,9 @@ public class DataCache {
...
@@ -161,9 +161,9 @@ public class DataCache {
}
}
configValue
=
cacheValue
;
configValue
=
cacheValue
;
Map
<
String
,
Object
>
updateMap
=
new
HashMap
<>();
//
Map<String, Object> updateMap = new HashMap<>();
updateMap
.
put
(
configKey
,
configValue
);
//
updateMap.put(configKey, configValue);
YmlUpdateUtil
.
updateYamlFile
(
updateMap
);
//
YmlUpdateUtil.updateYamlFile(updateMap);
}
else
{
}
else
{
updateCache
(
cacheKey
,
configValue
);
updateCache
(
cacheKey
,
configValue
);
}
}
...
@@ -493,6 +493,9 @@ public class DataCache {
...
@@ -493,6 +493,9 @@ public class DataCache {
* 获取设备所有占用的库位名称列表
* 获取设备所有占用的库位名称列表
*/
*/
public
List
<
String
>
getUsedPosNameList
(
String
cid
)
{
public
List
<
String
>
getUsedPosNameList
(
String
cid
)
{
if
(
cid
==
null
){
cid
=
""
;
}
List
<
String
>
posNameList
=
usedPosNameMap
.
get
(
cid
);
List
<
String
>
posNameList
=
usedPosNameMap
.
get
(
cid
);
if
(
posNameList
==
null
)
{
if
(
posNameList
==
null
)
{
Storage
storage
=
getStorage
(
cid
);
Storage
storage
=
getStorage
(
cid
);
...
...
src/main/java/com/neotel/smfcore/core/hik/rest/SingleInController.java
查看文件 @
c7bd53b
...
@@ -239,11 +239,6 @@ public class SingleInController {
...
@@ -239,11 +239,6 @@ public class SingleInController {
if
(
ObjectUtil
.
isEmpty
(
docName
)){
if
(
ObjectUtil
.
isEmpty
(
docName
)){
throw
new
ValidateException
(
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"docName"
});
throw
new
ValidateException
(
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"docName"
});
}
}
//入库单验证
resultBean
=
inListCache
.
inListValidate
(
docName
,
barcode
.
getPartNumber
(),
barcode
.
getAmount
());
if
(!
resultBean
.
isOkResult
())
{
return
resultBean
;
}
InList
inList
=
inListCache
.
getInList
(
docName
);
InList
inList
=
inListCache
.
getInList
(
docName
);
if
(
inList
!=
null
){
if
(
inList
!=
null
){
if
(
inList
.
getDocType
()
==
4
){
if
(
inList
.
getDocType
()
==
4
){
...
@@ -269,6 +264,14 @@ public class SingleInController {
...
@@ -269,6 +264,14 @@ public class SingleInController {
}
else
{
}
else
{
throw
new
ValidateException
(
"smfcore.returnMaterialApi.error"
,
"入库:["
+
barcode
.
getBarcode
()
+
"]获取数量失败"
);
throw
new
ValidateException
(
"smfcore.returnMaterialApi.error"
,
"入库:["
+
barcode
.
getBarcode
()
+
"]获取数量失败"
);
}
}
if
(
inType
.
equals
(
5
))
{
//入库单验证
resultBean
=
inListCache
.
inListValidate
(
docName
,
barcode
.
getPartNumber
(),
barcode
.
getAmount
());
if
(!
resultBean
.
isOkResult
())
{
return
resultBean
;
}
}
}
else
{
}
else
{
//唯一码校验接口
//唯一码校验接口
ResponseParam
param
=
HikApi
.
riCheckApi
(
SecurityUtils
.
getCurrentUsername
(),
barcode
.
getBarcode
(),
""
,
""
);
ResponseParam
param
=
HikApi
.
riCheckApi
(
SecurityUtils
.
getCurrentUsername
(),
barcode
.
getBarcode
(),
""
,
""
);
...
...
src/main/java/com/neotel/smfcore/core/inList/util/InListCache.java
查看文件 @
c7bd53b
...
@@ -130,17 +130,14 @@ public class InListCache {
...
@@ -130,17 +130,14 @@ public class InListCache {
return
ResultBean
.
newOkResult
(
""
);
return
ResultBean
.
newOkResult
(
""
);
}
}
for
(
InListItem
item
:
inList
.
getInListItems
()
for
(
InListItem
item
:
inList
.
getInListItems
())
{
)
{
if
(
item
.
getMaterialNo
().
equals
(
pn
)
)
{
if
(
item
.
getMaterialNo
().
equals
(
pn
)
)
{
if
(
item
.
getNum
()
>
item
.
getInNum
())
{
if
(
item
.
getNum
()
>
item
.
getInNum
())
{
if
(
barcodeNum
+
item
.
getInNum
()>
item
.
getNum
()){
if
(
barcodeNum
+
item
.
getInNum
()>
item
.
getNum
()){
log
.
error
(
"inListValidate 验证失败: 入库单["
+
inListName
+
"] PN["
+
pn
+
"] 目标数量["
+
item
.
getNum
()+
"]已入数量["
+
item
.
getInNum
()+
"]条码数量["
+
barcodeNum
+
"],超出目标数量"
);
log
.
error
(
"inListValidate 验证失败: 入库单["
+
inListName
+
"] PN["
+
pn
+
"] 目标数量["
+
item
.
getNum
()+
"]已入数量["
+
item
.
getInNum
()+
"]条码数量["
+
barcodeNum
+
"],超出目标数量"
);
int
num
=
item
.
getNum
()-
item
.
getInNum
();
int
num
=
item
.
getNum
()-
item
.
getInNum
();
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.inlist.pnNum"
,
"入库单[{0}]的物料[{1}]可入数量为[{2}]"
,
new
String
[]{
inListName
,
pn
,
num
+
""
}
);
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.inlist.pnNum"
,
"入库单[{0}]的物料[{1}]可入数量为[{2}]"
,
new
String
[]{
inListName
,
pn
,
num
+
""
}
);
}
}
return
ResultBean
.
newOkResult
(
""
);
return
ResultBean
.
newOkResult
(
""
);
}
else
{
}
else
{
log
.
error
(
"inListValidate 验证失败: 入库单["
+
inListName
+
"] PN["
+
pn
+
"] 已达到目标数量["
+
item
.
getNum
()+
"]["
+
item
.
getInNum
()+
"]"
);
log
.
error
(
"inListValidate 验证失败: 入库单["
+
inListName
+
"] PN["
+
pn
+
"] 已达到目标数量["
+
item
.
getNum
()+
"]["
+
item
.
getInNum
()+
"]"
);
...
...
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
c7bd53b
...
@@ -59,8 +59,6 @@ public class LiteOrderCache implements ITaskListener {
...
@@ -59,8 +59,6 @@ public class LiteOrderCache implements ITaskListener {
@Autowired
@Autowired
private
IStoragePosManager
storagePosManager
;
private
IStoragePosManager
storagePosManager
;
@Autowired
private
OrderPnMapper
orderPnMapper
;
/**
/**
...
...
src/main/java/com/neotel/smfcore/core/outList/util/OutListCache.java
查看文件 @
c7bd53b
...
@@ -239,15 +239,6 @@ public class OutListCache implements ITaskListener {
...
@@ -239,15 +239,6 @@ public class OutListCache implements ITaskListener {
continue
;
continue
;
}
}
//查找PN的所有库存,PN=pn,未锁定,qty 从大到小,入库时间正序
List
<
StoragePos
>
posList
=
storagePosManager
.
findOrderItemInStorage
(
availableStorageIds
,
pn
,
taskService
.
excludePosIds
());
log
.
info
(
"共找到"
+
posList
.
size
()+
"盘"
+
pn
+
"的物料"
);
int
storageNum
=
0
;
for
(
StoragePos
pos
:
posList
)
{
storageNum
+=
pos
.
getBarcode
().
getAmount
();
}
Component
component
=
componentManager
.
findOneByPN
(
pn
);
Component
component
=
componentManager
.
findOneByPN
(
pn
);
if
(
component
==
null
)
{
if
(
component
==
null
)
{
if
(
isShortageOut
){
if
(
isShortageOut
){
...
@@ -259,6 +250,15 @@ public class OutListCache implements ITaskListener {
...
@@ -259,6 +250,15 @@ public class OutListCache implements ITaskListener {
}
}
}
}
//查找PN的所有库存,PN=pn,未锁定,qty 从大到小,入库时间正序
List
<
StoragePos
>
posList
=
storagePosManager
.
findOrderItemInStorage
(
availableStorageIds
,
pn
,
taskService
.
excludePosIds
());
log
.
info
(
"共找到"
+
posList
.
size
()+
"盘"
+
pn
+
"的物料"
);
int
storageNum
=
0
;
for
(
StoragePos
pos
:
posList
)
{
storageNum
+=
pos
.
getBarcode
().
getAmount
();
}
//判断库存数量是否小于需求数量,小于直接返回缺料
//判断库存数量是否小于需求数量,小于直接返回缺料
if
(
storageNum
<
needNum
)
{
if
(
storageNum
<
needNum
)
{
if
(
isShortageOut
){
if
(
isShortageOut
){
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/StorageController.java
查看文件 @
c7bd53b
...
@@ -11,6 +11,7 @@ import com.neotel.smfcore.common.utils.QueryHelp;
...
@@ -11,6 +11,7 @@ import com.neotel.smfcore.common.utils.QueryHelp;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.core.device.bean.BoxStatusBean
;
import
com.neotel.smfcore.core.device.bean.BoxStatusBean
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.handler.impl.NLPShelfHandler
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.order.enums.ORDER_COLOR
;
import
com.neotel.smfcore.core.order.enums.ORDER_COLOR
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
...
@@ -87,45 +88,51 @@ public class StorageController {
...
@@ -87,45 +88,51 @@ public class StorageController {
PageData
<
Storage
>
pages
=
storageManager
.
findByPage
(
query
,
pageable
);
PageData
<
Storage
>
pages
=
storageManager
.
findByPage
(
query
,
pageable
);
List
<
StorageDto
>
StorageDtos
=
storageMapper
.
toDto
(
pages
.
getContent
());
List
<
StorageDto
>
StorageDtos
=
storageMapper
.
toDto
(
pages
.
getContent
());
StorageDtos
=
updateDtos
(
StorageDtos
);
StorageDtos
=
updateDtos
(
StorageDtos
);
for
(
int
i
=
0
;
i
<
StorageDtos
.
size
();
i
++)
{
//
for (int i = 0; i < StorageDtos.size(); i++) {
StorageDtos
.
get
(
i
).
setOnLine
(
false
);
//
StorageDtos.get(i).setOnLine(false);
StorageDtos
.
get
(
i
).
setStatus
(
0
);
//
StorageDtos.get(i).setStatus(0);
StatusBean
bean
=
DevicesStatusUtil
.
getStatusBean
(
StorageDtos
.
get
(
i
).
getCid
());
//
StatusBean bean = DevicesStatusUtil.getStatusBean(StorageDtos.get(i).getCid());
//
if
(
bean
!=
null
&&
(!
bean
.
timeOut
()))
{
//
if (bean != null && (!bean.timeOut())) {
StorageDtos
.
get
(
i
).
setOnLine
(
true
);
//
StorageDtos.get(i).setOnLine(true);
for
(
BoxStatusBean
boxStatus
:
bean
.
getBoxStatus
().
values
())
{
//
for (BoxStatusBean boxStatus : bean.getBoxStatus().values()) {
StorageDtos
.
get
(
i
).
setStatus
(
bean
.
getStatus
());
//
StorageDtos.get(i).setStatus(bean.getStatus());
StorageDtos
.
get
(
i
).
setClientIp
(
bean
.
getClientIp
());
//
StorageDtos.get(i).setClientIp(bean.getClientIp());
break
;
//
break;
}
//
}
}
//
}
}
//
}
return
new
PageData
(
StorageDtos
,
pages
.
getTotalElements
());
return
new
PageData
(
StorageDtos
,
pages
.
getTotalElements
());
}
}
private
List
<
StorageDto
>
updateDtos
(
List
<
StorageDto
>
dtoList
)
{
private
List
<
StorageDto
>
updateDtos
(
List
<
StorageDto
>
dtoList
)
{
for
(
int
i
=
0
;
i
<
dtoList
.
size
();
i
++
)
{
for
(
StorageDto
storageDto
:
dtoList
)
{
String
groupId
=
""
;
String
groupId
=
""
;
if
(
dtoList
.
get
(
i
).
getGroupId
()
!=
null
&&
(!
dtoList
.
get
(
i
)
.
getGroupId
().
isEmpty
()))
{
if
(
storageDto
.
getGroupId
()
!=
null
&&
(!
storageDto
.
getGroupId
().
isEmpty
()))
{
groupId
=
dtoList
.
get
(
i
)
.
getGroupId
();
groupId
=
storageDto
.
getGroupId
();
}
}
Group
group
=
groupManager
.
get
(
groupId
);
Group
group
=
groupManager
.
get
(
groupId
);
if
(
group
!=
null
)
{
if
(
group
!=
null
)
{
dtoList
.
get
(
i
)
.
setGroupName
(
group
.
getGroupName
());
storageDto
.
setGroupName
(
group
.
getGroupName
());
}
else
{
}
else
{
//此料仓未分组
//此料仓未分组
dtoList
.
get
(
i
)
.
setGroupName
(
""
);
storageDto
.
setGroupName
(
""
);
if
(!
dtoList
.
get
(
i
)
.
getGroupId
().
equals
(
""
))
{
if
(!
storageDto
.
getGroupId
().
equals
(
""
))
{
storageManager
.
updateStorageGroup
(
dtoList
.
get
(
i
)
.
getId
(),
""
);
storageManager
.
updateStorageGroup
(
storageDto
.
getId
(),
""
);
log
.
info
(
"料仓["
+
dtoList
.
get
(
i
).
getId
()
+
"]["
+
dtoList
.
get
(
i
)
.
getName
()
+
"]的组不存在,修改组为空"
);
log
.
info
(
"料仓["
+
storageDto
.
getId
()
+
"]["
+
storageDto
.
getName
()
+
"]的组不存在,修改组为空"
);
}
}
}
}
storageDto
.
setOnLine
(
false
);
storageDto
.
setStatus
(
0
);
//获取设备状态,设置状态和当前任务信息
//获取设备状态,设置状态和当前任务信息
StatusBean
bean
=
DevicesStatusUtil
.
getStatusBean
(
dtoList
.
get
(
i
)
.
getCid
());
StatusBean
bean
=
DevicesStatusUtil
.
getStatusBean
(
storageDto
.
getCid
());
if
(
bean
!=
null
&&
bean
.
getBoxStatus
()
!=
null
)
{
if
(
bean
!=
null
&&
bean
.
getBoxStatus
()
!=
null
)
{
dtoList
.
get
(
i
).
setClientIp
(
bean
.
getClientIp
());
if
(!
bean
.
timeOut
()){
storageDto
.
setOnLine
(
true
);
}
storageDto
.
setStatus
(
bean
.
getStatus
());
storageDto
.
setClientIp
(
bean
.
getClientIp
());
}
}
}
}
return
dtoList
;
return
dtoList
;
...
@@ -175,8 +182,7 @@ public class StorageController {
...
@@ -175,8 +182,7 @@ public class StorageController {
Query
query
=
new
Query
(
Criteria
.
where
(
"type"
).
in
(
new
String
[]{
DeviceType
.
NLP
.
name
(),
DeviceType
.
NL
.
name
()}));
Query
query
=
new
Query
(
Criteria
.
where
(
"type"
).
in
(
new
String
[]{
DeviceType
.
NLP
.
name
(),
DeviceType
.
NL
.
name
()}));
List
<
Storage
>
storages
=
storageManager
.
findByQuery
(
query
);
List
<
Storage
>
storages
=
storageManager
.
findByQuery
(
query
);
List
<
StorageDto
>
storageDtos
=
new
ArrayList
<>();
List
<
StorageDto
>
storageDtos
=
new
ArrayList
<>();
for
(
Storage
storage
:
for
(
Storage
storage
:
storages
)
{
storages
)
{
StorageDto
dto
=
new
StorageDto
();
StorageDto
dto
=
new
StorageDto
();
dto
.
setName
(
storage
.
getName
());
dto
.
setName
(
storage
.
getName
());
dto
.
setId
(
storage
.
getId
());
dto
.
setId
(
storage
.
getId
());
...
@@ -276,25 +282,16 @@ public class StorageController {
...
@@ -276,25 +282,16 @@ public class StorageController {
@ApiOperation
(
"库位盘点"
)
@ApiOperation
(
"库位盘点"
)
@PostMapping
(
value
=
"/openAllUsedPos"
)
@PostMapping
(
value
=
"/openAllUsedPos"
)
public
ResultBean
openAllUsedPos
(
@RequestBody
Set
<
String
>
cids
)
{
public
ResultBean
openAllUsedPos
(
@RequestBody
Set
<
String
>
cids
)
{
ORDER_COLOR
color
=
ORDER_COLOR
.
LIGHTBLUE
;
log
.
info
(
"盘点料架:"
+
String
.
join
(
","
,
cids
));
for
(
String
cid
:
cids
)
{
NLPShelfHandler
.
updateOpenCidList
(
cids
);
log
.
info
(
"盘点料架:"
+
cid
);
List
<
String
>
posList
=
dataCache
.
getUsedPosNameList
(
cid
);
for
(
String
posName
:
posList
)
{
String
openValue
=
posName
+
"="
+
color
.
name
();
DevicesStatusUtil
.
appendOp
(
cid
,
"open"
,
openValue
);
}
}
return
ResultBean
.
newOkResult
(
""
);
return
ResultBean
.
newOkResult
(
""
);
}
}
@ApiOperation
(
"关闭料架
所有亮灯
"
)
@ApiOperation
(
"关闭料架
盘点
"
)
@PostMapping
(
value
=
"/closeAllPos"
)
@PostMapping
(
value
=
"/closeAllPos"
)
public
ResultBean
closeAll
(
@RequestBody
Set
<
String
>
cids
)
{
public
ResultBean
closeAll
(
@RequestBody
Set
<
String
>
cids
)
{
for
(
String
cid
:
cids
)
{
log
.
info
(
"关闭所有料架盘点"
);
log
.
info
(
"关闭料架所有亮灯:"
+
cid
);
NLPShelfHandler
.
updateOpenCidList
(
new
ArrayList
<>());
DevicesStatusUtil
.
appendOp
(
cid
,
"closeAll"
,
"true"
);
}
return
ResultBean
.
newOkResult
(
""
);
return
ResultBean
.
newOkResult
(
""
);
}
}
...
...
src/main/java/com/neotel/smfcore/hikvision/HikConfig.java
查看文件 @
c7bd53b
...
@@ -58,20 +58,6 @@ public class HikConfig {
...
@@ -58,20 +58,6 @@ public class HikConfig {
public
String
addr_11_orderEndApi
=
""
;
public
String
addr_11_orderEndApi
=
""
;
// key_1_transferOrderApi:
// key_2_transferOrderInApi:
// key_3_scheduleTaskApi:
// key_4_returnMaterialApi:
// key_5_putInApi:
// key_6_checkOutApi:
// key_7_updateOrderApi:
// key_8_riCheckApi:
// key_9_updateRepOrderApi:
// key_10_reservedOrderApi:
// key_11_orderEndApi:
@Value
(
"${hik.key_1_transferOrderApi:}"
)
@Value
(
"${hik.key_1_transferOrderApi:}"
)
public
String
key_1_transferOrderApi
=
""
;
public
String
key_1_transferOrderApi
=
""
;
...
@@ -105,17 +91,6 @@ public class HikConfig {
...
@@ -105,17 +91,6 @@ public class HikConfig {
@Value
(
"${hik.key_11_orderEndApi:}"
)
@Value
(
"${hik.key_11_orderEndApi:}"
)
public
String
key_11_orderEndApi
=
""
;
public
String
key_11_orderEndApi
=
""
;
// secret_1_transferOrderApi:
// secret_2_transferOrderInApi:
// secret_3_scheduleTaskApi:
// secret_4_returnMaterialApi:
// secret_5_putInApi:
// secret_6_checkOutApi:
// secret_7_updateOrderApi:
// secret_8_riCheckApi:
// secret_9_updateRepOrderApi:
// secret_10_reservedOrderApi:
// secret_11_orderEndApi:
@Value
(
"${hik.secret_1_transferOrderApi:}"
)
@Value
(
"${hik.secret_1_transferOrderApi:}"
)
public
String
secret_1_transferOrderApi
=
""
;
public
String
secret_1_transferOrderApi
=
""
;
...
@@ -152,6 +127,7 @@ public class HikConfig {
...
@@ -152,6 +127,7 @@ public class HikConfig {
@Autowired
@Autowired
private
DataCache
dataCache
;
private
DataCache
dataCache
;
private
Integer
currReqCodeNum
=
10000000
;
@PostConstruct
@PostConstruct
public
void
init
()
{
public
void
init
()
{
...
@@ -172,6 +148,32 @@ public class HikConfig {
...
@@ -172,6 +148,32 @@ public class HikConfig {
addr_10_reservedOrderApi
=
dataCache
.
GetConfigCache
(
"hik.addr_10_reservedOrderApi"
,
"hik.addr_10_reservedOrderApi"
,
addr_10_reservedOrderApi
);
addr_10_reservedOrderApi
=
dataCache
.
GetConfigCache
(
"hik.addr_10_reservedOrderApi"
,
"hik.addr_10_reservedOrderApi"
,
addr_10_reservedOrderApi
);
addr_11_orderEndApi
=
dataCache
.
GetConfigCache
(
"hik.addr_11_orderEndApi"
,
"hik.addr_11_orderEndApi"
,
addr_11_orderEndApi
);
addr_11_orderEndApi
=
dataCache
.
GetConfigCache
(
"hik.addr_11_orderEndApi"
,
"hik.addr_11_orderEndApi"
,
addr_11_orderEndApi
);
key_1_transferOrderApi
=
dataCache
.
GetConfigCache
(
"hik.key_1_transferOrderApi"
,
"hik.key_1_transferOrderApi"
,
key_1_transferOrderApi
);
key_2_transferOrderInApi
=
dataCache
.
GetConfigCache
(
"hik.key_2_transferOrderInApi"
,
"hik.key_2_transferOrderInApi"
,
key_2_transferOrderInApi
);
key_3_scheduleTaskApi
=
dataCache
.
GetConfigCache
(
"hik.key_3_scheduleTaskApi"
,
"hik.key_3_scheduleTaskApi"
,
key_3_scheduleTaskApi
);
key_4_returnMaterialApi
=
dataCache
.
GetConfigCache
(
"hik.key_4_returnMaterialApi"
,
"hik.key_4_returnMaterialApi"
,
key_4_returnMaterialApi
);
key_5_putInApi
=
dataCache
.
GetConfigCache
(
"hik.key_5_putInApi"
,
"hik.key_5_putInApi"
,
key_5_putInApi
);
key_6_checkOutApi
=
dataCache
.
GetConfigCache
(
"hik.key_6_checkOutApi"
,
"hik.key_6_checkOutApi"
,
key_6_checkOutApi
);
key_7_updateOrderApi
=
dataCache
.
GetConfigCache
(
"hik.key_7_updateOrderApi"
,
"hik.key_7_updateOrderApi"
,
key_7_updateOrderApi
);
key_8_riCheckApi
=
dataCache
.
GetConfigCache
(
"hik.key_8_riCheckApi"
,
"hik.key_8_riCheckApi"
,
key_8_riCheckApi
);
key_9_updateRepOrderApi
=
dataCache
.
GetConfigCache
(
"hik.key_9_updateRepOrderApi"
,
"hik.key_9_updateRepOrderApi"
,
key_9_updateRepOrderApi
);
key_10_reservedOrderApi
=
dataCache
.
GetConfigCache
(
"hik.key_10_reservedOrderApi"
,
"hik.key_10_reservedOrderApi"
,
key_10_reservedOrderApi
);
key_11_orderEndApi
=
dataCache
.
GetConfigCache
(
"hik.key_11_orderEndApi"
,
"hik.key_11_orderEndApi"
,
key_11_orderEndApi
);
secret_1_transferOrderApi
=
dataCache
.
GetConfigCache
(
"hik.secret_1_transferOrderApi"
,
"hik.secret_1_transferOrderApi"
,
secret_1_transferOrderApi
);
secret_2_transferOrderInApi
=
dataCache
.
GetConfigCache
(
"hik.secret_2_transferOrderInApi"
,
"hik.secret_2_transferOrderInApi"
,
secret_2_transferOrderInApi
);
secret_3_scheduleTaskApi
=
dataCache
.
GetConfigCache
(
"hik.secret_3_scheduleTaskApi"
,
"hik.secret_3_scheduleTaskApi"
,
secret_3_scheduleTaskApi
);
secret_4_returnMaterialApi
=
dataCache
.
GetConfigCache
(
"hik.secret_4_returnMaterialApi"
,
"hik.secret_4_returnMaterialApi"
,
secret_4_returnMaterialApi
);
secret_5_putInApi
=
dataCache
.
GetConfigCache
(
"hik.secret_5_putInApi"
,
"hik.secret_5_putInApi"
,
secret_5_putInApi
);
secret_6_checkOutApi
=
dataCache
.
GetConfigCache
(
"hik.secret_6_checkOutApi"
,
"hik.secret_6_checkOutApi"
,
secret_6_checkOutApi
);
secret_7_updateOrderApi
=
dataCache
.
GetConfigCache
(
"hik.secret_7_updateOrderApi"
,
"hik.secret_7_updateOrderApi"
,
secret_7_updateOrderApi
);
secret_8_riCheckApi
=
dataCache
.
GetConfigCache
(
"hik.secret_8_riCheckApi"
,
"hik.secret_8_riCheckApi"
,
secret_8_riCheckApi
);
secret_9_updateRepOrderApi
=
dataCache
.
GetConfigCache
(
"hik.secret_9_updateRepOrderApi"
,
"hik.secret_9_updateRepOrderApi"
,
secret_9_updateRepOrderApi
);
secret_10_reservedOrderApi
=
dataCache
.
GetConfigCache
(
"hik.secret_10_reservedOrderApi"
,
"hik.secret_10_reservedOrderApi"
,
secret_10_reservedOrderApi
);
secret_11_orderEndApi
=
dataCache
.
GetConfigCache
(
"hik.secret_11_orderEndApi"
,
"hik.secret_11_orderEndApi"
,
secret_11_orderEndApi
);
try
{
try
{
String
cacheCode
=
dataCache
.
getCache
(
"hikapi_req"
);
String
cacheCode
=
dataCache
.
getCache
(
"hikapi_req"
);
if
(
ObjectUtil
.
isEmpty
(
cacheCode
))
{
if
(
ObjectUtil
.
isEmpty
(
cacheCode
))
{
...
@@ -180,7 +182,7 @@ public class HikConfig {
...
@@ -180,7 +182,7 @@ public class HikConfig {
SimpleDateFormat
sf
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
SimpleDateFormat
sf
=
new
SimpleDateFormat
(
"yyyyMMdd"
);
String
temp
=
sf
.
format
(
new
Date
());
String
temp
=
sf
.
format
(
new
Date
());
if
(
cacheCode
.
startsWith
(
temp
))
{
if
(
cacheCode
.
startsWith
(
temp
))
{
String
str
=
cacheCode
.
substring
(
14
,
cacheCode
.
length
());
String
str
=
cacheCode
.
substring
(
14
,
cacheCode
.
length
());
currReqCodeNum
=
Integer
.
parseInt
(
str
);
currReqCodeNum
=
Integer
.
parseInt
(
str
);
}
}
}
}
...
@@ -190,22 +192,22 @@ public class HikConfig {
...
@@ -190,22 +192,22 @@ public class HikConfig {
log
.
info
(
"HIK服务器地址:"
+
mesServer
+
",baseCode="
+
baseCode
+
",lgort="
+
lgort
+
",currReqCodeNum="
+
currReqCodeNum
);
log
.
info
(
"HIK服务器地址:"
+
mesServer
+
",baseCode="
+
baseCode
+
",lgort="
+
lgort
+
",currReqCodeNum="
+
currReqCodeNum
);
}
}
private
Integer
currReqCodeNum
=
10000000
;
/**
/**
* 获取请求号
* 获取请求号
*
* @return
* @return
*/
*/
public
String
getReqCode
()
public
String
getReqCode
()
{
{
String
id
=
""
;
String
id
=
""
;
SimpleDateFormat
sf
=
new
SimpleDateFormat
(
"yyyyMMddHHmmss"
);
SimpleDateFormat
sf
=
new
SimpleDateFormat
(
"yyyyMMddHHmmss"
);
String
temp
=
sf
.
format
(
new
Date
());
String
temp
=
sf
.
format
(
new
Date
());
id
=
temp
+
codeAdd
();
id
=
temp
+
codeAdd
();
dataCache
.
updateCache
(
"hikapi_req"
,
id
);
dataCache
.
updateCache
(
"hikapi_req"
,
id
);
return
id
;
return
id
;
}
}
private
synchronized
String
codeAdd
()
{
private
synchronized
String
codeAdd
()
{
currReqCodeNum
++;
currReqCodeNum
++;
return
currReqCodeNum
.
toString
();
return
currReqCodeNum
.
toString
();
}
}
...
...
src/main/java/com/neotel/smfcore/security/rest/UserController.java
查看文件 @
c7bd53b
...
@@ -167,10 +167,9 @@ public class UserController {
...
@@ -167,10 +167,9 @@ public class UserController {
if
(
id
==
null
)
{
if
(
id
==
null
)
{
throw
new
ValidateException
(
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"ID"
}
);
throw
new
ValidateException
(
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"ID"
}
);
}
}
log
.
info
(
"重置用户["
+
id
+
"]密码"
);
User
resources
=
userManager
.
get
(
id
);
User
resources
=
userManager
.
get
(
id
);
resources
.
setPassword
(
passwordEncoder
.
encode
(
Constants
.
USER_DEFAULTP_PWD
));
userManager
.
updatePass
(
resources
.
getUsername
(),
passwordEncoder
.
encode
(
Constants
.
USER_DEFAULTP_PWD
));
resources
.
setPwdResetTime
(
new
Date
());
userManager
.
update
(
resources
);
userCacheClean
.
cleanUserCache
(
resources
.
getUsername
());
userCacheClean
.
cleanUserCache
(
resources
.
getUsername
());
return
ResultBean
.
newOkResult
(
""
);
return
ResultBean
.
newOkResult
(
""
);
}
}
...
...
src/main/resources/config/application-prod.yml
查看文件 @
c7bd53b
#配置数据源
data
:
mongodb
:
host
:
localhost
# 主机地址
port
:
27017
# 端口
database
:
hikvision
# 数据库
# 登录相关配置
# 登录相关配置
login
:
login
:
...
...
src/main/resources/config/application.yml
查看文件 @
c7bd53b
server
:
server
:
port
:
8800
port
:
8800
#
hik:
hik
:
# server: http://cloudapi-uat.hikvision.com.cn/api/
# server: http://cloudapi-uat.hikvision.com.cn/api/
# baseCode: "8001"
# baseCode: "8001"
# lgort: "M9142"
# lgort: "M9142"
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论