Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 460e1125
由
sunke
编写于
2021-07-22 17:51:07 +0800
浏览文件
选项
浏览文件
标签
下载
差异文件
Merge remote-tracking branch 'origin/master'
2 个父辈
02c8513d
a42ddc86
隐藏空白字符变更
内嵌
并排
正在显示
21 个修改的文件
包含
893 行增加
和
17 行删除
src/main/java/com/neotel/smfcore/common/exception/handler/GlobalExceptionHandler.java
src/main/java/com/neotel/smfcore/core/barcode/rest/BacodeController.java
src/main/java/com/neotel/smfcore/core/barcode/rest/ComponentController.java
src/main/java/com/neotel/smfcore/core/barcode/rest/bean/dto/BarcodeDto.java
src/main/java/com/neotel/smfcore/core/barcode/rest/bean/dto/ComponentDto.java
src/main/java/com/neotel/smfcore/core/barcode/rest/bean/mapstruct/BarcodeMapper.java
src/main/java/com/neotel/smfcore/core/barcode/rest/bean/mapstruct/ComponentMapper.java
src/main/java/com/neotel/smfcore/core/barcode/rest/bean/query/BarcodeQueryCriteria.java
src/main/java/com/neotel/smfcore/core/barcode/rest/bean/query/ComponentQueryCriteria.java
src/main/java/com/neotel/smfcore/core/barcode/service/manager/IBarcodeManager.java
src/main/java/com/neotel/smfcore/core/barcode/service/manager/IComponentManager.java
src/main/java/com/neotel/smfcore/core/barcode/service/manager/impl/BarcodeManagerImpl.java
src/main/java/com/neotel/smfcore/core/barcode/service/manager/impl/ComponentManagerImpl.java
src/main/java/com/neotel/smfcore/core/barcode/service/po/Barcode.java
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
src/main/java/com/neotel/smfcore/core/system/rest/TaskController.java
src/main/java/com/neotel/smfcore/security/rest/GroupController.java
src/main/java/com/neotel/smfcore/security/rest/UserController.java
src/main/java/com/neotel/smfcore/security/rest/bean/dto/UserDto.java
src/main/java/com/neotel/smfcore/security/rest/bean/vo/UserPassVo.java
src/main/java/com/neotel/smfcore/security/service/OnlineUserService.java
src/main/java/com/neotel/smfcore/common/exception/handler/GlobalExceptionHandler.java
查看文件 @
460e112
...
@@ -13,7 +13,9 @@ import org.springframework.security.authentication.BadCredentialsException;
...
@@ -13,7 +13,9 @@ import org.springframework.security.authentication.BadCredentialsException;
import
org.springframework.web.bind.MethodArgumentNotValidException
;
import
org.springframework.web.bind.MethodArgumentNotValidException
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.ExceptionHandler
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
import
org.springframework.web.bind.annotation.RestControllerAdvice
;
import
org.springframework.web.context.support.HttpRequestHandlerServlet
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Objects
;
import
java.util.Objects
;
import
static
org
.
springframework
.
http
.
HttpStatus
.
BAD_REQUEST
;
import
static
org
.
springframework
.
http
.
HttpStatus
.
BAD_REQUEST
;
...
@@ -36,7 +38,7 @@ public class GlobalExceptionHandler {
...
@@ -36,7 +38,7 @@ public class GlobalExceptionHandler {
* BadCredentialsException
* BadCredentialsException
*/
*/
@ExceptionHandler
(
BadCredentialsException
.
class
)
@ExceptionHandler
(
BadCredentialsException
.
class
)
public
ResponseEntity
<
ApiError
>
badCredentialsException
(
BadCredentialsException
e
){
public
ResponseEntity
<
ApiError
>
badCredentialsException
(
BadCredentialsException
e
){
// 打印堆栈信息
// 打印堆栈信息
String
message
=
"坏的凭证"
.
equals
(
e
.
getMessage
())
?
"用户名或密码不正确"
:
e
.
getMessage
();
String
message
=
"坏的凭证"
.
equals
(
e
.
getMessage
())
?
"用户名或密码不正确"
:
e
.
getMessage
();
log
.
error
(
message
);
log
.
error
(
message
);
...
@@ -47,10 +49,11 @@ public class GlobalExceptionHandler {
...
@@ -47,10 +49,11 @@ public class GlobalExceptionHandler {
* 处理自定义异常
* 处理自定义异常
*/
*/
@ExceptionHandler
(
value
=
BadRequestException
.
class
)
@ExceptionHandler
(
value
=
BadRequestException
.
class
)
public
ResponseEntity
<
ApiError
>
badRequestException
(
BadRequestException
e
)
{
public
ResponseEntity
<
ApiError
>
badRequestException
(
HttpServletRequest
servlet
,
BadRequestException
e
)
{
String
language
=
servlet
.
getLocale
().
getLanguage
();
// 打印堆栈信息
// 打印堆栈信息
log
.
error
(
ThrowableUtil
.
getStackTrace
(
e
));
log
.
error
(
ThrowableUtil
.
getStackTrace
(
e
));
return
buildResponseEntity
(
ApiError
.
error
(
e
.
getStatus
(),
e
.
getMessage
()));
return
buildResponseEntity
(
ApiError
.
error
(
e
.
getStatus
(),
e
.
getMessage
()
+
servlet
.
toString
()
));
}
}
/**
/**
...
...
src/main/java/com/neotel/smfcore/core/barcode/rest/BacodeController.java
0 → 100644
查看文件 @
460e112
package
com
.
neotel
.
smfcore
.
core
.
barcode
.
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.barcode.rest.bean.dto.BarcodeDto
;
import
com.neotel.smfcore.core.barcode.rest.bean.mapstruct.BarcodeMapper
;
import
com.neotel.smfcore.core.barcode.rest.bean.query.BarcodeQueryCriteria
;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
import
com.neotel.smfcore.security.rest.bean.dto.RoleDto
;
import
com.neotel.smfcore.security.rest.bean.dto.UserDto
;
import
com.neotel.smfcore.security.rest.bean.query.RoleQueryCriteria
;
import
com.neotel.smfcore.security.service.po.Role
;
import
com.neotel.smfcore.security.service.po.User
;
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.Map
;
import
java.util.Set
;
@Slf4j
@RestController
@RequiredArgsConstructor
@Api
(
tags
=
"条码管理"
)
@RequestMapping
(
"api/barcode"
)
public
class
BacodeController
{
@Autowired
private
final
IBarcodeManager
barcodeManager
;
@Autowired
private
final
BarcodeMapper
barcodeMapper
;
@ApiOperation
(
"导出条码数据"
)
@GetMapping
(
value
=
"/download"
)
public
void
download
(
HttpServletResponse
response
,
BarcodeQueryCriteria
criteria
)
throws
Exception
{
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
List
<
Barcode
>
list
=
barcodeManager
.
findByQuery
(
query
);
barcodeManager
.
download
(
list
,
response
);
}
@ApiOperation
(
"查询条码"
)
@GetMapping
@PreAuthorize
(
"@el.check('barcode:list')"
)
public
PageData
<
BarcodeDto
>
query
(
BarcodeQueryCriteria
criteria
,
Pageable
pageable
){
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
PageData
<
Barcode
>
barcodes
=
barcodeManager
.
findByPage
(
query
,
pageable
);
List
<
BarcodeDto
>
barcodeDtos
=
barcodeMapper
.
toDto
(
barcodes
.
getContent
());
return
new
PageData
(
barcodeDtos
,
barcodes
.
getTotalElements
());
}
@ApiOperation
(
"新增条码"
)
@PostMapping
@PreAuthorize
(
"@el.check('barcode:add')"
)
public
ResponseEntity
<
Object
>
create
(
@Validated
@RequestBody
BarcodeDto
resources
)
{
Barcode
barcode
=
barcodeMapper
.
toEntity
(
resources
);
barcodeManager
.
saveBarcode
(
barcode
);
return
new
ResponseEntity
<>(
HttpStatus
.
CREATED
);
}
@ApiOperation
(
"修改条码"
)
@PutMapping
@PreAuthorize
(
"@el.check('barcode:edit')"
)
public
ResponseEntity
<
Object
>
update
(
@Validated
@RequestBody
BarcodeDto
resources
)
{
Barcode
barcode
=
barcodeMapper
.
toEntity
(
resources
);
if
(
barcode
.
getId
()
==
null
)
{
throw
new
BadRequestException
(
"修改条码:ID不能为空"
);
}
barcodeManager
.
saveBarcode
(
barcode
);
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
@ApiOperation
(
"删除条码"
)
@DeleteMapping
@PreAuthorize
(
"@el.check('barcode:del')"
)
public
ResponseEntity
<
Object
>
delete
(
@RequestBody
Set
<
String
>
ids
)
{
List
<
Barcode
>
barcodes
=
new
ArrayList
<
Barcode
>();
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/barcode/rest/ComponentController.java
0 → 100644
查看文件 @
460e112
package
com
.
neotel
.
smfcore
.
core
.
barcode
.
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.barcode.rest.bean.dto.ComponentDto
;
import
com.neotel.smfcore.core.barcode.rest.bean.mapstruct.ComponentMapper
;
import
com.neotel.smfcore.core.barcode.rest.bean.query.ComponentQueryCriteria
;
import
com.neotel.smfcore.core.barcode.service.manager.IComponentManager
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
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/component"
)
public
class
ComponentController
{
@Autowired
private
final
IComponentManager
componentManager
;
@Autowired
private
final
ComponentMapper
componentMapper
;
@ApiOperation
(
"导出元器件信息"
)
@GetMapping
(
value
=
"/download"
)
public
void
download
(
HttpServletResponse
response
,
ComponentQueryCriteria
criteria
)
throws
Exception
{
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
List
<
Component
>
list
=
componentManager
.
findByQuery
(
query
);
componentManager
.
download
(
list
,
response
);
}
@ApiOperation
(
"查询元器件"
)
@GetMapping
@PreAuthorize
(
"@el.check('component:list')"
)
public
PageData
<
ComponentDto
>
query
(
ComponentQueryCriteria
criteria
,
Pageable
pageable
){
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
PageData
<
Component
>
pages
=
componentManager
.
findByPage
(
query
,
pageable
);
List
<
ComponentDto
>
componentDtos
=
componentMapper
.
toDto
(
pages
.
getContent
());
return
new
PageData
(
componentDtos
,
pages
.
getTotalElements
());
}
@ApiOperation
(
"新增元器件"
)
@PostMapping
@PreAuthorize
(
"@el.check('component:add')"
)
public
ResponseEntity
<
Object
>
create
(
@Validated
@RequestBody
ComponentDto
resources
)
{
Component
component
=
componentMapper
.
toEntity
(
resources
);
componentManager
.
saveComponent
(
component
);
return
new
ResponseEntity
<>(
HttpStatus
.
CREATED
);
}
@ApiOperation
(
"修改元器件"
)
@PutMapping
@PreAuthorize
(
"@el.check('component:edit')"
)
public
ResponseEntity
<
Object
>
update
(
@Validated
@RequestBody
ComponentDto
resources
)
{
Component
component
=
componentMapper
.
toEntity
(
resources
);
if
(
component
.
getId
()
==
null
)
{
throw
new
BadRequestException
(
"修改条码:ID不能为空"
);
}
componentManager
.
saveComponent
(
component
);
return
new
ResponseEntity
<>(
HttpStatus
.
OK
);
}
@ApiOperation
(
"删除元器件"
)
@DeleteMapping
@PreAuthorize
(
"@el.check('component:del')"
)
public
ResponseEntity
<
Object
>
delete
(
@RequestBody
Set
<
String
>
ids
)
{
List
<
Component
>
Components
=
new
ArrayList
<
Component
>();
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/barcode/rest/bean/dto/BarcodeDto.java
0 → 100644
查看文件 @
460e112
package
com
.
neotel
.
smfcore
.
core
.
barcode
.
rest
.
bean
.
dto
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.core.barcode.enums.BARCODE_STATUS
;
import
com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE
;
import
com.neotel.smfcore.core.barcode.enums.SOLDER_STATUS
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
org.springframework.data.annotation.Transient
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.List
;
@Getter
@Setter
public
class
BarcodeDto
implements
Serializable
{
/**
* 条码编号
*/
@ApiModelProperty
(
"条码编号"
)
private
String
barcode
;
/**
* 物料类型:PCB,锡膏,或其他
*/
@ApiModelProperty
(
"物料类型:PCB,锡膏,或其他"
)
private
int
type
=
COMPONENT_TYPE
.
COMPONENT
;
//锡膏回温时间,小于回温时间不可出库
@ApiModelProperty
(
"锡膏回温时间,小于回温时间不可出库"
)
private
int
warmTime
=
0
;
/**
* 搅拌时间(分钟)
*/
@ApiModelProperty
(
"搅拌时间(分钟)"
)
private
int
mixTime
=
0
;
private
float
maxStorageTime
=
0
;
/**
* 过期时间(入库时间+最大存储时间)
*/
@ApiModelProperty
(
"过期时间(入库时间+最大存储时间)"
)
private
Date
expTime
;
/**
* 过期状态,-1未入库0在库,1已出库正常,2已出库且已过期
*/
@ApiModelProperty
(
"过期状态,-1未入库0在库,1已出库正常,2已出库且已过期"
)
private
int
status
=
BARCODE_STATUS
.
NEW
;
/**
* 锡膏状态
*/
@ApiModelProperty
(
"锡膏状态"
)
private
int
solderStatus
=
SOLDER_STATUS
.
NONE
;
/**
* 锡膏指定时间出库
*/
@ApiModelProperty
(
"锡膏指定时间出库"
)
private
Date
needOutDate
;
//private int componentType = 0;
/**
* 料件编号
*/
@ApiModelProperty
(
"料件编号"
)
private
String
partNumber
;
/**
* 供应商编号
*/
@ApiModelProperty
(
"供应商编号"
)
private
String
providerNumber
;
private
int
initialAmount
;
@ApiModelProperty
(
"数量"
)
private
int
amount
;
/**
* 标签解析出来的数量,用于判断条码是否是重新打印的,重新打印的条码需要重新设置数量
*/
private
int
labelAmount
=
0
;
private
int
plateSize
=
0
;
private
int
height
=
0
;
private
String
provider
;
/**
* 批次
*/
private
String
batch
;
private
String
msl
;
//备用字段1(配套单号))或 family
private
String
otherField1
;
//备用字段2 (产品型号)
private
String
otherField2
;
//备用字段3 (组件型号)
private
String
otherField3
;
//备用字段4 (元器件型号)
private
String
otherField4
;
//备用字段5 (检验编号)
private
String
otherField5
;
//备用字段5 (备注)
private
String
otherField6
;
/**
* 包装上带的过期时间
*/
private
Date
expireDate
;
private
boolean
used
=
false
;
//备注信息
private
String
memo
;
/**
* 库位信息
*/
private
String
posName
;
/**
* 只能单盘出库
*/
private
boolean
onlySingleOut
=
false
;
/**
* 贴片机补料信息
*/
private
String
nextBarcode
;
/**
* 第一次入库时间戳
*/
private
long
putInTime
=
-
1
;
/**
* 开始回温时间
*/
private
long
startWarmTime
=
-
1
;
/**
* 入库时间
*/
private
Date
putInDate
;
/**
* 入库操作人
*/
private
String
inOpor
;
/**
* 出库操作人
*/
private
String
outOpor
;
/**
* 最后一次出库的时间
*/
private
Date
checkOutDate
;
/**
* 关联条码,夹具时关联相关的物料,用于入库完成时插入相关物料
*/
@Transient
private
List
<
String
>
relationCodes
;
/**
* 是否是锡膏
*/
public
boolean
isSolder
(){
return
type
==
COMPONENT_TYPE
.
SOLDERPASTE
;
}
public
List
<
String
>
getRelationCodes
()
{
if
(
relationCodes
==
null
)
{
return
Lists
.
newArrayList
();
}
return
relationCodes
;
}
/**
* 上次使用时间(出入库时更改)
*/
private
Date
usedDate
;
/**
* 使用次数(入库后+1)
*/
private
int
usedCount
=
0
;
/**
* 生产日期
*/
private
Date
produceDate
;
/**
* 锁定ID(目前只有指定批次会锁定)
*/
private
String
lockId
;
/**
* 锁定名
*/
private
String
lockName
;
/**
* 原始条码
*/
private
String
fullCode
;
}
src/main/java/com/neotel/smfcore/core/barcode/rest/bean/dto/ComponentDto.java
0 → 100644
查看文件 @
460e112
package
com
.
neotel
.
smfcore
.
core
.
barcode
.
rest
.
bean
.
dto
;
import
com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.io.Serializable
;
@Getter
@Setter
public
class
ComponentDto
implements
Serializable
{
/**
* 产品类型:0元器件,1锡膏2PCB3其他4夹具
*/
@ApiModelProperty
(
"产品类型:0元器件,1锡膏2PCB3其他4夹具"
)
private
int
type
=
COMPONENT_TYPE
.
COMPONENT
;
/**
* 产品型号
*/
@ApiModelProperty
(
"产品型号"
)
private
String
model
;
//元器件型号
@ApiModelProperty
(
"元器件型号"
)
private
String
productionType
;
//"封装"/组件型号
@ApiModelProperty
(
"组件型号"
)
private
String
encapsulation
;
/**
* 冰箱存储条件
*/
@ApiModelProperty
(
"冰箱存储条件"
)
private
int
storageCondition
;
/**
* 室温最多存储时间
*/
@ApiModelProperty
(
"室温最多存储时间"
)
private
int
maxStorageTime
;
/**
* 回温时间
*/
@ApiModelProperty
(
"回温时间"
)
private
int
warmTime
;
/**
* 搅拌时间(分钟)
*/
@ApiModelProperty
(
"搅拌时间(分钟)"
)
private
int
mixTime
;
/**
* 夹具编号
*/
@ApiModelProperty
(
"夹具编号"
)
private
String
fixtureNumber
;
/**
* 名称 用户输入文本
锡膏类型(productionType) 有铅/无铅 选择
型号 文本输入
包装方式(encapsulation) 罐装/管装 选择
冰箱存储条件 默认单位是摄氏度,仅作输入显示
室温最多存储时间 用户输入数字,单位为小时,此时间为锡膏在料仓内最大存储时间,报警提示
回温时间 用户输入数字,单位为小时,达到回温时间按才能出库
开封后可以保存时间 室温最多存储时间-回温时间,第一次出库,就认为是开封
*/
//名称
private
String
name
;
//料号
//@NotEmpty(message = "{component.partNumber.empty}")
// @NotEmpty(message = "{component.partNumber.empty}")
// @NotNull
private
String
partNumber
;
/**
* 供应商PN,用于扫码贴标机转换PN
*/
// private String supplierPn;
//uid
private
String
uid
;
//物料描述
private
String
description
;
//单耗
private
String
unitCost
;
//"MSL等级"
private
String
msl
;
//"单位"
private
String
unit
;
//"厂商"
private
String
producer
;
//"厂商编号"
private
String
producerNumber
;
//"供应商"
private
String
provider
;
//"供应商编号"
private
String
providerNumber
;
private
int
amount
;
/**
* 报警值,与贴片机连机时使用,值小于1时为初始数量amount百分比,大于等于1时为数量,小于此值时会根据贴片机信息自动出料
*/
private
float
alarmValue
=
0.5f
;
private
int
plateSize
;
private
int
height
;
/**
* 单台料仓可存储此种物料的最大数量
*/
private
int
maxStoreNum
=
999999999
;
/**
* 单台料仓存储此种物料的最小数量
*/
private
int
minStoreNum
=
0
;
/**
* 出库时是否需要授权
*/
private
boolean
needAuth
=
false
;
/**
* 展示的图片
*/
private
String
showImg
=
""
;
/**
* 有效时长(生产日期+此天数为过期日期),设置默认有效期为2年
*/
private
int
validDay
=
0
;
public
String
getPSize
(){
if
(
plateSize
==
0
||
height
==
0
){
return
""
;
}
if
(
type
==
COMPONENT_TYPE
.
FIXTURE
){
return
plateSize
+
"x"
+
height
+
"x"
+
partNumber
;
}
return
plateSize
+
"x"
+
height
;
}
public
int
getAlarmAmount
(){
if
(
alarmValue
<
1
){
return
Float
.
valueOf
(
getAmount
()
*
alarmValue
).
intValue
();
}
else
{
return
Float
.
valueOf
(
alarmValue
).
intValue
();
}
}
/**
* 是否是锡膏
*/
public
boolean
isSolder
(){
return
type
==
COMPONENT_TYPE
.
SOLDERPASTE
;
}
}
src/main/java/com/neotel/smfcore/core/barcode/rest/bean/mapstruct/BarcodeMapper.java
0 → 100644
查看文件 @
460e112
package
com
.
neotel
.
smfcore
.
core
.
barcode
.
rest
.
bean
.
mapstruct
;
import
com.neotel.smfcore.common.base.BaseMapper
;
import
com.neotel.smfcore.core.barcode.rest.bean.dto.BarcodeDto
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.ReportingPolicy
;
import
org.springframework.web.bind.annotation.RequestMapping
;
@Mapper
(
componentModel
=
"spring"
,
unmappedTargetPolicy
=
ReportingPolicy
.
IGNORE
)
public
interface
BarcodeMapper
extends
BaseMapper
<
BarcodeDto
,
Barcode
>
{
}
src/main/java/com/neotel/smfcore/core/barcode/rest/bean/mapstruct/ComponentMapper.java
0 → 100644
查看文件 @
460e112
package
com
.
neotel
.
smfcore
.
core
.
barcode
.
rest
.
bean
.
mapstruct
;
import
com.neotel.smfcore.common.base.BaseMapper
;
import
com.neotel.smfcore.core.barcode.rest.bean.dto.ComponentDto
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.ReportingPolicy
;
@Mapper
(
componentModel
=
"spring"
,
unmappedTargetPolicy
=
ReportingPolicy
.
IGNORE
)
public
interface
ComponentMapper
extends
BaseMapper
<
ComponentDto
,
Component
>
{
}
src/main/java/com/neotel/smfcore/core/barcode/rest/bean/query/BarcodeQueryCriteria.java
0 → 100644
查看文件 @
460e112
package
com
.
neotel
.
smfcore
.
core
.
barcode
.
rest
.
bean
.
query
;
import
com.neotel.smfcore.common.annotation.QueryCondition
;
import
lombok.Data
;
import
java.sql.Timestamp
;
import
java.util.List
;
@Data
public
class
BarcodeQueryCriteria
{
@QueryCondition
(
blurry
=
"partNumber,barcode,batch"
)
private
String
blurry
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
BETWEEN
)
private
List
<
Timestamp
>
createTime
;
@QueryCondition
private
String
partNumber
;
@QueryCondition
private
String
barcode
;
@QueryCondition
private
String
batch
;
}
src/main/java/com/neotel/smfcore/core/barcode/rest/bean/query/ComponentQueryCriteria.java
0 → 100644
查看文件 @
460e112
package
com
.
neotel
.
smfcore
.
core
.
barcode
.
rest
.
bean
.
query
;
import
com.neotel.smfcore.common.annotation.QueryCondition
;
import
lombok.Data
;
import
java.sql.Timestamp
;
import
java.util.List
;
@Data
public
class
ComponentQueryCriteria
{
@QueryCondition
(
blurry
=
"name,partNumber,model,uid,productionType,encapsulation,description"
)
private
String
blurry
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
BETWEEN
)
private
List
<
Timestamp
>
createTime
;
@QueryCondition
private
String
name
;
@QueryCondition
private
String
partNumber
;
@QueryCondition
private
String
model
;
@QueryCondition
private
String
uid
;
@QueryCondition
private
String
productionType
;
@QueryCondition
private
String
encapsulation
;
@QueryCondition
private
String
description
;
}
src/main/java/com/neotel/smfcore/core/barcode/service/manager/IBarcodeManager.java
查看文件 @
460e112
...
@@ -3,8 +3,15 @@ package com.neotel.smfcore.core.barcode.service.manager;
...
@@ -3,8 +3,15 @@ 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.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.List
;
public
interface
IBarcodeManager
extends
IBaseManager
<
Barcode
>
{
public
interface
IBarcodeManager
extends
IBaseManager
<
Barcode
>
{
Barcode
findByBarcode
(
String
reelId
);
Barcode
findByBarcode
(
String
reelId
);
Barcode
saveBarcode
(
Barcode
resources
);
void
download
(
List
<
Barcode
>
list
,
HttpServletResponse
response
)
throws
IOException
;
}
}
src/main/java/com/neotel/smfcore/core/barcode/service/manager/IComponentManager.java
查看文件 @
460e112
...
@@ -3,6 +3,16 @@ package com.neotel.smfcore.core.barcode.service.manager;
...
@@ -3,6 +3,16 @@ 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
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.List
;
public
interface
IComponentManager
extends
IBaseManager
<
Component
>
{
public
interface
IComponentManager
extends
IBaseManager
<
Component
>
{
Component
findByPartNumberAndProvider
(
String
partNumber
,
String
provider
);
Component
findByPartNumberAndProvider
(
String
partNumber
,
String
provider
);
Component
findOneByPN
(
String
partNumber
);
void
saveComponent
(
Component
resources
);
void
download
(
List
<
Component
>
queryAll
,
HttpServletResponse
response
)
throws
IOException
;
}
}
src/main/java/com/neotel/smfcore/core/barcode/service/manager/impl/BarcodeManagerImpl.java
查看文件 @
460e112
package
com
.
neotel
.
smfcore
.
core
.
barcode
.
service
.
manager
.
impl
;
package
com
.
neotel
.
smfcore
.
core
.
barcode
.
service
.
manager
.
impl
;
import
com.google.common.base.Strings
;
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.common.utils.FileUtil
;
import
com.neotel.smfcore.core.barcode.service.dao.IBarcodeDao
;
import
com.neotel.smfcore.core.barcode.service.dao.IBarcodeDao
;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
import
com.neotel.smfcore.core.barcode.service.manager.IComponentManager
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
import
lombok.extern.slf4j.Slf4j
;
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.Query
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
@Slf4j
@Service
@Service
public
class
BarcodeManagerImpl
implements
IBarcodeManager
{
public
class
BarcodeManagerImpl
implements
IBarcodeManager
{
@Autowired
@Autowired
private
IBarcodeDao
barcodeDao
;
private
IBarcodeDao
barcodeDao
;
@Autowired
private
IComponentManager
componentManager
;
@Override
@Override
public
Barcode
get
(
String
id
)
{
public
Barcode
get
(
String
id
)
{
return
null
;
return
barcodeDao
.
findOneById
(
id
)
;
}
}
@Override
@Override
public
Barcode
save
(
Barcode
object
)
throws
ValidateException
{
public
Barcode
save
(
Barcode
object
)
throws
ValidateException
{
return
null
;
return
barcodeDao
.
save
(
object
)
;
}
}
@Override
@Override
public
void
delete
(
Barcode
object
)
throws
ValidateException
{
public
void
delete
(
Barcode
object
)
throws
ValidateException
{
barcodeDao
.
removeOne
(
object
);
}
}
@Override
@Override
public
PageData
<
Barcode
>
findByPage
(
Query
query
,
Pageable
pageable
)
{
public
PageData
<
Barcode
>
findByPage
(
Query
query
,
Pageable
pageable
)
{
return
null
;
List
<
Barcode
>
barcodes
=
barcodeDao
.
findByQuery
(
query
,
pageable
);
return
new
PageData
(
barcodes
,
barcodes
.
size
());
}
}
@Override
@Override
public
List
<
Barcode
>
findByQuery
(
Query
query
)
{
public
List
<
Barcode
>
findByQuery
(
Query
query
)
{
return
null
;
return
barcodeDao
.
findByQuery
(
query
)
;
}
}
@Override
@Override
public
Barcode
findByBarcode
(
String
reelId
)
{
public
Barcode
findByBarcode
(
String
reelId
)
{
return
barcodeDao
.
findOneByCondition
(
new
String
[]{
"barcode"
},
new
String
[]{
reelId
});
return
barcodeDao
.
findOneByCondition
(
new
String
[]{
"barcode"
},
new
String
[]{
reelId
});
}
}
@Override
public
void
download
(
List
<
Barcode
>
barcodes
,
HttpServletResponse
response
)
throws
IOException
{
List
<
Map
<
String
,
Object
>>
list
=
new
ArrayList
<>();
for
(
Barcode
barcode
:
barcodes
)
{
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
"条码编号"
,
barcode
.
getBarcode
());
map
.
put
(
"物料编号"
,
barcode
.
getPartNumber
());
map
.
put
(
"批次"
,
barcode
.
getBatch
());
map
.
put
(
"供应商编码"
,
barcode
.
getProviderNumber
());
map
.
put
(
"料盘尺寸"
,
barcode
.
getPlateSize
()+
"X"
+
barcode
.
getHeight
());
map
.
put
(
"封装数量"
,
barcode
.
getAmount
());
map
.
put
(
"创建日期"
,
barcode
.
getCreateDate
());
list
.
add
(
map
);
}
FileUtil
.
downloadExcel
(
list
,
response
);
}
@Override
public
Barcode
saveBarcode
(
Barcode
resources
)
{
validateSave
(
resources
);
Criteria
c
=
Criteria
.
where
(
"barcode"
).
is
(
resources
.
getBarcode
());
String
logName
=
"新增条码:"
;
if
(
resources
.
getId
()!=
null
){
logName
=
"修改条码:"
;
c
.
and
(
"id"
).
ne
(
resources
.
getId
());
}
Query
query
=
new
Query
(
c
);
//readID不能重复
Barcode
data
=
barcodeDao
.
findOne
(
query
);
if
(
data
!=
null
){
throw
new
BadRequestException
(
"条码["
+
resources
.
getBarcode
()+
"]已存在"
);
}
if
(
resources
.
getProvider
()==
null
){
resources
.
setProvider
(
""
);
}
Component
component
=
componentManager
.
findByPartNumberAndProvider
(
resources
.
getPartNumber
(),
resources
.
getProvider
());
if
(
component
==
null
){
//未找到对应供应商的物料,如果有无供应商的物料,更改并使用
log
.
info
(
"找到供应商信息为空的档案,修改档案的供应商信息"
+
resources
.
getProvider
());
component
=
componentManager
.
findByPartNumberAndProvider
(
resources
.
getPartNumber
(),
null
);
}
if
(
component
==
null
){
//查找其他供应商的物料档案,复制一个
component
=
componentManager
.
findOneByPN
(
resources
.
getPartNumber
());
if
(
component
!=
null
){
log
.
info
(
"未找到["
+
resources
.
getPartNumber
()+
"]供应商["
+
resources
.
getProvider
()+
"]对应的档案信息,从其他供应商["
+
component
.
getProvider
()+
"]档案复制一个"
);
//找到了,复制一个
Component
newComponent
=
new
Component
();
newComponent
.
setProvider
(
resources
.
getProvider
());
newComponent
.
setPlateSize
(
component
.
getPlateSize
());
newComponent
.
setHeight
(
component
.
getHeight
());
newComponent
.
setPartNumber
(
component
.
getPartNumber
());
newComponent
.
setAmount
(
resources
.
getAmount
());
newComponent
.
setName
(
component
.
getPartNumber
());
component
=
componentManager
.
save
(
component
);
}
}
if
(
component
!=
null
){
if
(
Strings
.
isNullOrEmpty
(
component
.
getProvider
())){
//无供应商信息,更新供应商信息
log
.
info
(
"设置["
+
component
.
getPartNumber
()+
"]的供应商信息:"
+
resources
.
getProvider
());
component
.
setProvider
(
resources
.
getProvider
());
componentManager
.
save
(
component
);
}
if
(
resources
.
getMaxStorageTime
()
<=
0
){
resources
.
setMaxStorageTime
(
component
.
getMaxStorageTime
());
}
// if(barcode.getAmount() == 1){
// barcode.setAmount(component.getAmount());
// }
resources
.
setType
(
component
.
getType
());
resources
.
setWarmTime
(
component
.
getWarmTime
());
resources
.
setMixTime
(
component
.
getMixTime
());
resources
.
setOtherField1
(
component
.
getProductionType
());
if
(
resources
.
getPlateSize
()
<=
0
){
log
.
info
(
"设置置["
+
resources
.
getBarcode
()+
"]的尺寸信息"
);
resources
.
setPlateSize
(
component
.
getPlateSize
());
resources
.
setHeight
(
component
.
getHeight
());
}
}
else
{
log
.
error
(
"未找到物料["
+
resources
.
getPartNumber
()+
"]的档案"
);
}
return
barcodeDao
.
save
(
resources
);
}
protected
boolean
validateComponent
(
Barcode
barcode
)
{
return
componentManager
.
findOneByPN
(
barcode
.
getPartNumber
())
!=
null
;
}
protected
void
validateSave
(
Barcode
barcode
)
throws
BadRequestException
{
if
(
barcode
.
getBarcode
()==
null
)
{
throw
new
ValidateException
(
"barcode.error.empty"
);
}
if
(
barcode
.
getPartNumber
()==
null
)
{
throw
new
BadRequestException
(
"["
+
barcode
.
getBarcode
()+
"]barcode.error.partNumber.empty"
);
}
if
(
barcode
.
getBatch
()
==
null
)
{
throw
new
BadRequestException
(
"批次不能为空"
);
}
if
(
barcode
.
getAmount
()
<
0
)
{
throw
new
BadRequestException
(
"["
+
barcode
.
getBarcode
()+
"]barcode.error.amount.negative"
);
}
if
(!
validateUnique
(
barcode
))
{
throw
new
BadRequestException
(
"["
+
barcode
.
getBarcode
()+
"]barcode.error.unique"
);
}
if
(!
validateComponent
(
barcode
))
{
throw
new
BadRequestException
(
"["
+
barcode
.
getBarcode
()+
"]barcode.error.component.notExist"
);
}
}
protected
boolean
validateUnique
(
Barcode
barcode
)
{
boolean
unique
=
true
;
if
(
Strings
.
isNullOrEmpty
(
barcode
.
getId
())){
Barcode
anotherBarcode
=
findByBarcode
(
barcode
.
getBarcode
());
if
(
anotherBarcode
!=
null
){
log
.
info
(
"ID:"
+
barcode
.
getId
()+
"[barcode:"
+
barcode
.
getBarcode
()
+
"] another ID:"
+
anotherBarcode
.
getId
()
+
" With the same barcode:"
+
anotherBarcode
.
getBarcode
());
unique
=
false
;
}
}
return
unique
;
}
}
}
src/main/java/com/neotel/smfcore/core/barcode/service/manager/impl/ComponentManagerImpl.java
查看文件 @
460e112
...
@@ -2,16 +2,23 @@ package com.neotel.smfcore.core.barcode.service.manager.impl;
...
@@ -2,16 +2,23 @@ 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.FileUtil
;
import
com.neotel.smfcore.core.barcode.service.dao.IComponentDao
;
import
com.neotel.smfcore.core.barcode.service.dao.IComponentDao
;
import
com.neotel.smfcore.core.barcode.service.manager.IComponentManager
;
import
com.neotel.smfcore.core.barcode.service.manager.IComponentManager
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
import
com.neotel.smfcore.security.service.po.User
;
import
org.apache.commons.lang3.StringUtils
;
import
org.apache.commons.lang3.StringUtils
;
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.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.ArrayList
;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
@Service
@Service
public
class
ComponentManagerImpl
implements
IComponentManager
{
public
class
ComponentManagerImpl
implements
IComponentManager
{
...
@@ -62,4 +69,34 @@ public class ComponentManagerImpl implements IComponentManager {
...
@@ -62,4 +69,34 @@ public class ComponentManagerImpl implements IComponentManager {
return
component
;
return
component
;
}
}
}
}
@Override
public
Component
findOneByPN
(
String
partNumber
)
{
if
(
StringUtils
.
isEmpty
(
partNumber
))
{
return
null
;
}
else
{
return
componentDao
.
findOneByCondition
(
new
String
[]{
"partNumber"
},
new
String
[]{
partNumber
});
}
}
@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
(
"创建日期"
,
component
.
getCreateDate
());
list
.
add
(
map
);
}
FileUtil
.
downloadExcel
(
list
,
response
);
}
@Override
public
void
saveComponent
(
Component
resources
)
{
}
}
}
src/main/java/com/neotel/smfcore/core/barcode/service/po/Barcode.java
查看文件 @
460e112
...
@@ -19,6 +19,9 @@ import java.util.List;
...
@@ -19,6 +19,9 @@ import java.util.List;
@Data
@Data
@Document
@Document
public
class
Barcode
extends
BasePo
implements
Serializable
{
public
class
Barcode
extends
BasePo
implements
Serializable
{
/**
* 条码编号
*/
private
String
barcode
;
private
String
barcode
;
/**
/**
* 物料类型:PCB,锡膏,或其他
* 物料类型:PCB,锡膏,或其他
...
@@ -53,8 +56,13 @@ public class Barcode extends BasePo implements Serializable {
...
@@ -53,8 +56,13 @@ public class Barcode extends BasePo implements Serializable {
*/
*/
private
Date
needOutDate
;
private
Date
needOutDate
;
//private int componentType = 0;
//private int componentType = 0;
/**
* 料件编号
*/
private
String
partNumber
;
private
String
partNumber
;
//"供应商编号"
/**
* 供应商编号
*/
private
String
providerNumber
;
private
String
providerNumber
;
private
int
initialAmount
;
private
int
initialAmount
;
private
int
amount
;
private
int
amount
;
...
@@ -62,9 +70,12 @@ public class Barcode extends BasePo implements Serializable {
...
@@ -62,9 +70,12 @@ public class Barcode extends BasePo implements Serializable {
* 标签解析出来的数量,用于判断条码是否是重新打印的,重新打印的条码需要重新设置数量
* 标签解析出来的数量,用于判断条码是否是重新打印的,重新打印的条码需要重新设置数量
*/
*/
private
int
labelAmount
=
0
;
private
int
labelAmount
=
0
;
private
int
plateSize
;
private
int
plateSize
=
0
;
private
int
height
;
private
int
height
=
0
;
private
String
provider
;
private
String
provider
;
/**
* 批次
*/
private
String
batch
;
private
String
batch
;
private
String
msl
;
private
String
msl
;
...
...
src/main/java/com/neotel/smfcore/core/order/rest/OrderController.java
查看文件 @
460e112
...
@@ -8,7 +8,6 @@ import com.neotel.smfcore.common.bean.ResultBean;
...
@@ -8,7 +8,6 @@ import com.neotel.smfcore.common.bean.ResultBean;
import
com.neotel.smfcore.common.exception.BadRequestException
;
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.common.utils.Constants
;
import
com.neotel.smfcore.common.utils.Constants
;
import
com.neotel.smfcore.common.utils.PageUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
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.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
...
...
src/main/java/com/neotel/smfcore/core/system/rest/TaskController.java
查看文件 @
460e112
...
@@ -4,7 +4,6 @@ package com.neotel.smfcore.core.system.rest;
...
@@ -4,7 +4,6 @@ package com.neotel.smfcore.core.system.rest;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Lists
;
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.utils.PageUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
...
...
src/main/java/com/neotel/smfcore/security/rest/GroupController.java
查看文件 @
460e112
...
@@ -3,7 +3,6 @@ package com.neotel.smfcore.security.rest;
...
@@ -3,7 +3,6 @@ package com.neotel.smfcore.security.rest;
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.BadRequestException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.PageUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.core.storage.service.manager.IStorageManager
;
import
com.neotel.smfcore.core.storage.service.manager.IStorageManager
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
...
...
src/main/java/com/neotel/smfcore/security/rest/UserController.java
查看文件 @
460e112
...
@@ -63,6 +63,8 @@ public class UserController {
...
@@ -63,6 +63,8 @@ public class UserController {
@Autowired
@Autowired
private
IUserManager
userManager
;
private
IUserManager
userManager
;
@Autowired
@Autowired
private
UserMapper
userMapper
;
@Autowired
private
IRoleManager
roleManager
;
private
IRoleManager
roleManager
;
...
@@ -89,7 +91,8 @@ public class UserController {
...
@@ -89,7 +91,8 @@ public class UserController {
@ApiOperation
(
"新增用户"
)
@ApiOperation
(
"新增用户"
)
@PostMapping
@PostMapping
@PreAuthorize
(
"@el.check('user:add')"
)
@PreAuthorize
(
"@el.check('user:add')"
)
public
ResponseEntity
<
Object
>
create
(
@Validated
@RequestBody
User
resources
)
{
public
ResponseEntity
<
Object
>
create
(
@Validated
@RequestBody
UserDto
userDto
)
{
User
resources
=
userMapper
.
toEntity
(
userDto
);
if
(
resources
.
getId
()
!=
null
)
{
if
(
resources
.
getId
()
!=
null
)
{
throw
new
BadRequestException
(
"新增用户:ID已存在"
);
throw
new
BadRequestException
(
"新增用户:ID已存在"
);
}
}
...
@@ -116,7 +119,8 @@ public class UserController {
...
@@ -116,7 +119,8 @@ public class UserController {
@PutMapping
@PutMapping
@PreAuthorize
(
"@el.check('user:edit')"
)
@PreAuthorize
(
"@el.check('user:edit')"
)
// public ResponseEntity<Object> update(@Validated(User.Update.class) @RequestBody User resources) throws Exception {
// public ResponseEntity<Object> update(@Validated(User.Update.class) @RequestBody User resources) throws Exception {
public
ResponseEntity
<
Object
>
update
(
@Validated
@RequestBody
User
resources
)
{
public
ResponseEntity
<
Object
>
update
(
@Validated
@RequestBody
UserDto
userDto
)
{
User
resources
=
userMapper
.
toEntity
(
userDto
);
if
(
resources
.
getId
()
==
null
)
{
if
(
resources
.
getId
()
==
null
)
{
throw
new
BadRequestException
(
"修改用户:ID不能为空"
);
throw
new
BadRequestException
(
"修改用户:ID不能为空"
);
}
}
...
...
src/main/java/com/neotel/smfcore/security/rest/bean/dto/UserDto.java
查看文件 @
460e112
package
com
.
neotel
.
smfcore
.
security
.
rest
.
bean
.
dto
;
package
com
.
neotel
.
smfcore
.
security
.
rest
.
bean
.
dto
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
...
@@ -11,27 +13,36 @@ import java.util.Set;
...
@@ -11,27 +13,36 @@ import java.util.Set;
@Setter
@Setter
public
class
UserDto
implements
Serializable
{
public
class
UserDto
implements
Serializable
{
@ApiModelProperty
(
value
=
"ID"
)
private
String
id
;
private
String
id
;
@ApiModelProperty
(
value
=
"角色ID"
)
private
String
roleId
;
private
String
roleId
;
@ApiModelProperty
(
value
=
"用户名"
)
private
String
username
;
private
String
username
;
@ApiModelProperty
(
value
=
"邮箱"
)
private
String
email
;
private
String
email
;
@ApiModelProperty
(
value
=
"语言"
)
private
String
language
=
""
;
private
String
language
=
""
;
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
private
String
password
;
private
String
password
;
@ApiModelProperty
(
value
=
"是否启用"
)
private
Boolean
enabled
;
private
Boolean
enabled
;
@JSONField
(
serialize
=
false
)
@JSONField
(
serialize
=
false
)
private
Boolean
isAdmin
=
false
;
private
Boolean
isAdmin
=
false
;
@ApiModelProperty
(
value
=
"重置密码时间"
)
private
Date
pwdResetTime
;
private
Date
pwdResetTime
;
@ApiModelProperty
(
value
=
"组ID列表"
)
private
Set
<
String
>
groups
;
private
Set
<
String
>
groups
;
@ApiModelProperty
(
value
=
"角色名称"
)
private
String
roleName
;
private
String
roleName
;
}
}
src/main/java/com/neotel/smfcore/security/rest/bean/vo/UserPassVo.java
查看文件 @
460e112
package
com
.
neotel
.
smfcore
.
security
.
rest
.
bean
.
vo
;
package
com
.
neotel
.
smfcore
.
security
.
rest
.
bean
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.Setter
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
...
@@ -8,7 +9,9 @@ import org.springframework.stereotype.Service;
...
@@ -8,7 +9,9 @@ import org.springframework.stereotype.Service;
@Getter
@Getter
public
class
UserPassVo
{
public
class
UserPassVo
{
@ApiModelProperty
(
"旧密码"
)
private
String
oldPass
;
private
String
oldPass
;
@ApiModelProperty
(
"新密码"
)
private
String
newPass
;
private
String
newPass
;
}
}
src/main/java/com/neotel/smfcore/security/service/OnlineUserService.java
查看文件 @
460e112
...
@@ -21,7 +21,6 @@ import com.neotel.smfcore.security.rest.bean.dto.JwtUserDto;
...
@@ -21,7 +21,6 @@ import com.neotel.smfcore.security.rest.bean.dto.JwtUserDto;
import
com.neotel.smfcore.security.rest.bean.dto.OnlineUserDto
;
import
com.neotel.smfcore.security.rest.bean.dto.OnlineUserDto
;
import
com.neotel.smfcore.common.utils.EncryptUtils
;
import
com.neotel.smfcore.common.utils.EncryptUtils
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.PageUtil
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Pageable
;
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论