Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 9d1e0a8c
由
LN
编写于
2021-07-23 14:19:47 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增加StorageController
1 个父辈
89c27dc1
显示空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
196 行增加
和
0 行删除
src/main/java/com/neotel/smfcore/core/storage/rest/StorageController.java
src/main/java/com/neotel/smfcore/core/storage/rest/dto/StorageDto.java
src/main/java/com/neotel/smfcore/core/storage/rest/mapstruct/StorageMapper.java
src/main/java/com/neotel/smfcore/core/storage/rest/query/StorageQueryCriteria.java
src/main/java/com/neotel/smfcore/core/storage/service/manager/IStorageManager.java
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StorageManagerImpl.java
src/main/java/com/neotel/smfcore/core/storage/rest/StorageController.java
0 → 100644
查看文件 @
9d1e0a8
package
com
.
neotel
.
smfcore
.
core
.
storage
.
rest
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.exception.BadRequestException
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.core.storage.rest.dto.StorageDto
;
import
com.neotel.smfcore.core.storage.rest.mapstruct.StorageMapper
;
import
com.neotel.smfcore.core.storage.rest.query.StorageQueryCriteria
;
import
com.neotel.smfcore.core.storage.service.manager.IStorageManager
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Set
;
@Slf4j
@RestController
@RequiredArgsConstructor
@Api
(
tags
=
"料仓管理"
)
@RequestMapping
(
"api/storage"
)
public
class
StorageController
{
@Autowired
private
final
IStorageManager
storageManager
;
@Autowired
private
final
StorageMapper
storageMapper
;
@ApiOperation
(
"查询料仓"
)
@GetMapping
@PreAuthorize
(
"@el.check('storage:list')"
)
public
PageData
<
StorageDto
>
query
(
StorageQueryCriteria
criteria
,
Pageable
pageable
){
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
PageData
<
Storage
>
pages
=
storageManager
.
findByPage
(
query
,
pageable
);
List
<
StorageDto
>
StorageDtos
=
storageMapper
.
toDto
(
pages
.
getContent
());
return
new
PageData
(
StorageDtos
,
pages
.
getTotalElements
());
}
@ApiOperation
(
"新增料仓"
)
@PostMapping
@PreAuthorize
(
"@el.check('storage:add')"
)
public
ResponseEntity
<
Object
>
create
(
@Validated
@RequestBody
StorageDto
resources
)
{
Storage
Storage
=
storageMapper
.
toEntity
(
resources
);
storageManager
.
saveStorage
(
Storage
);
return
new
ResponseEntity
<>(
HttpStatus
.
CREATED
);
}
@ApiOperation
(
"修改料仓"
)
@PutMapping
@PreAuthorize
(
"@el.check('storage:edit')"
)
public
ResponseEntity
<
Object
>
update
(
@Validated
@RequestBody
StorageDto
resources
)
{
Storage
Storage
=
storageMapper
.
toEntity
(
resources
);
if
(
Storage
.
getId
()
==
null
)
{
throw
new
BadRequestException
(
"修改条码:ID不能为空"
);
}
storageManager
.
saveStorage
(
Storage
);
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
@ApiOperation
(
"删除料仓"
)
@DeleteMapping
@PreAuthorize
(
"@el.check('storage:del')"
)
public
ResponseEntity
<
Object
>
delete
(
@RequestBody
Set
<
String
>
ids
)
{
List
<
Storage
>
storages
=
new
ArrayList
<
Storage
>();
for
(
String
id
:
ids
)
{
if
(
id
==
null
)
{
throw
new
BadRequestException
(
"删除料仓:ID不能为空"
);
}
else
{
throw
new
BadRequestException
(
"删除料仓:暂未开放"
);
}
}
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
}
src/main/java/com/neotel/smfcore/core/storage/rest/dto/StorageDto.java
0 → 100644
查看文件 @
9d1e0a8
package
com
.
neotel
.
smfcore
.
core
.
storage
.
rest
.
dto
;
import
com.neotel.smfcore.core.storage.bean.UsageItem
;
import
com.neotel.smfcore.core.storage.enums.COMPATIBLE_TYPE
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
@Getter
@Setter
public
class
StorageDto
implements
Serializable
{
@ApiModelProperty
(
"名称"
)
private
String
name
;
@ApiModelProperty
(
"程序路径"
)
private
String
sourcePath
;
@ApiModelProperty
(
"料仓CID"
)
private
String
cid
;
private
int
totalSlots
;
private
int
emptySlots
;
@ApiModelProperty
(
"兼容类型:完全匹配,完全兼容,同尺寸兼容"
)
private
COMPATIBLE_TYPE
compatibleType
=
COMPATIBLE_TYPE
.
EXACT_MATCH
;
@ApiModelProperty
(
"料仓类型:单台自动料仓,手动料仓流水线料仓"
)
private
String
type
=
DeviceType
.
AUTO
.
name
();
//包含料仓 Box数量
@ApiModelProperty
(
"包含料仓 Box数量"
)
private
Integer
boxCount
=
1
;
public
Integer
getBoxCount
()
{
if
(
boxCount
==
null
){
boxCount
=
1
;
}
return
boxCount
;
}
@ApiModelProperty
(
"使用情况"
)
private
Map
<
String
,
UsageItem
>
usageMap
=
new
ConcurrentHashMap
<>();
@ApiModelProperty
(
"是否可用"
)
private
boolean
available
=
true
;
@ApiModelProperty
(
"分组"
)
private
String
groupId
=
""
;
}
src/main/java/com/neotel/smfcore/core/storage/rest/mapstruct/StorageMapper.java
0 → 100644
查看文件 @
9d1e0a8
package
com
.
neotel
.
smfcore
.
core
.
storage
.
rest
.
mapstruct
;
import
com.neotel.smfcore.common.base.BaseMapper
;
import
com.neotel.smfcore.core.storage.rest.dto.StorageDto
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.ReportingPolicy
;
@Mapper
(
componentModel
=
"spring"
,
unmappedTargetPolicy
=
ReportingPolicy
.
IGNORE
)
public
interface
StorageMapper
extends
BaseMapper
<
StorageDto
,
Storage
>
{
}
src/main/java/com/neotel/smfcore/core/storage/rest/query/StorageQueryCriteria.java
0 → 100644
查看文件 @
9d1e0a8
package
com
.
neotel
.
smfcore
.
core
.
storage
.
rest
.
query
;
import
com.neotel.smfcore.common.annotation.QueryCondition
;
import
com.neotel.smfcore.common.bean.BetweenData
;
import
lombok.Data
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
@Data
public
class
StorageQueryCriteria
{
@QueryCondition
(
blurry
=
"name,cid"
)
private
String
blurry
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
BETWEEN
,
propName
=
"updateDate"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
BetweenData
<
Date
>
createDate
;
@QueryCondition
private
String
name
;
@QueryCondition
private
String
cid
;
@QueryCondition
private
String
type
;
}
src/main/java/com/neotel/smfcore/core/storage/service/manager/IStorageManager.java
查看文件 @
9d1e0a8
...
@@ -7,4 +7,6 @@ import java.util.List;
...
@@ -7,4 +7,6 @@ import java.util.List;
public
interface
IStorageManager
extends
IBaseManager
<
Storage
>
{
public
interface
IStorageManager
extends
IBaseManager
<
Storage
>
{
List
<
Storage
>
findAll
();
List
<
Storage
>
findAll
();
void
saveStorage
(
Storage
storage
);
}
}
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StorageManagerImpl.java
查看文件 @
9d1e0a8
package
com
.
neotel
.
smfcore
.
core
.
storage
.
service
.
manager
.
impl
;
package
com
.
neotel
.
smfcore
.
core
.
storage
.
service
.
manager
.
impl
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.exception.BadRequestException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.core.storage.service.dao.IStorageDao
;
import
com.neotel.smfcore.core.storage.service.dao.IStorageDao
;
import
com.neotel.smfcore.core.storage.service.manager.IStorageManager
;
import
com.neotel.smfcore.core.storage.service.manager.IStorageManager
;
...
@@ -49,4 +50,23 @@ public class StorageManagerImpl implements IStorageManager {
...
@@ -49,4 +50,23 @@ public class StorageManagerImpl implements IStorageManager {
public
List
<
Storage
>
findAll
(){
public
List
<
Storage
>
findAll
(){
return
storageDao
.
findAll
();
return
storageDao
.
findAll
();
}
}
@Override
public
void
saveStorage
(
Storage
storage
)
{
if
(
storage
.
getName
()==
null
){
throw
new
BadRequestException
(
"料仓名称不能为空"
);
}
if
(
storage
.
getCid
()==
null
){
throw
new
BadRequestException
(
"料仓编号不能为空"
);
}
if
(
storage
.
getType
()==
null
){
throw
new
BadRequestException
(
"料仓类型不能为空"
);
}
if
(
storage
.
getCompatibleType
()==
null
){
throw
new
BadRequestException
(
"料仓兼容性不能为空"
);
}
if
(
storage
.
getSourcePath
()==
null
){
storage
.
setSourcePath
(
""
);
}
storageDao
.
save
(
storage
);
}
}
}
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论