Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
huang.tao
/
jmai-platform
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
732cec16
authored
Nov 28, 2025
by
huangtao
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
签名
parent
a72240d7
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
437 additions
and
62 deletions
config/application-dev.yaml
jmai-physic/src/main/java/com/jmai/physic/controller/PhysicAmpouleController.java
jmai-physic/src/main/java/com/jmai/physic/controller/PhysicDestroyController.java
jmai-physic/src/main/java/com/jmai/physic/controller/PhysicRecordController.java
jmai-physic/src/main/java/com/jmai/physic/controller/PhysicStorageAmpouleController.java
jmai-physic/src/main/java/com/jmai/physic/dto/BillDTO.java
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicAmpouleQueryReq.java
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicAmpouleSignReq.java
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicApplyCreateReq.java
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicDestroySignReq.java
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicRecordSignReq.java
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicStorageAmpouleSignReq.java
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicAmpoule.java
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicApply.java
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicRecord.java
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicStorageAmpoule.java
jmai-physic/src/main/java/com/jmai/physic/mapper/PhysicDestroyCheckDetailMapper.java
jmai-physic/src/main/java/com/jmai/physic/service/PhysicAmpouleService.java
jmai-physic/src/main/java/com/jmai/physic/service/PhysicDestroyService.java
jmai-physic/src/main/java/com/jmai/physic/service/PhysicRecordService.java
jmai-physic/src/main/java/com/jmai/physic/service/PhysicStorageAmpouleService.java
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicAmpouleServiceImpl.java
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicBillServiceImpl.java
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicDestroyServiceImpl.java
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicRecordServiceImpl.java
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicStorageAmpouleServiceImpl.java
jmai-physic/src/main/resources/mapper/PhysicAmpouleMapper.xml
jmai-physic/src/main/resources/mapper/PhysicStorageAmpouleMapper.xml
jmai-sys/src/main/java/com/jmai/sys/dto/UserCreateReq.java
jmai-sys/src/main/java/com/jmai/sys/dto/UserDto.java
jmai-sys/src/main/java/com/jmai/sys/dto/UserQueryReq.java
jmai-sys/src/main/java/com/jmai/sys/service/impl/UserServiceImpl.java
logs/jmai/error.log
spy.log
config/application-dev.yaml
View file @
732cec16
...
@@ -13,9 +13,9 @@ infynova:
...
@@ -13,9 +13,9 @@ infynova:
# 本地存储
# 本地存储
local
:
local
:
# 本地存储路径
# 本地存储路径
basePath
:
/data/
infyos
/file
basePath
:
/data/
jmai
/file
# 后端下载地址
# 后端下载地址
downloadUrl
:
http://${serverAddress}:3
7
098/api/oss/downloadFile
downloadUrl
:
http://${serverAddress}:3
8
098/api/oss/downloadFile
# # ########################
# # ########################
# # IVS
# # IVS
...
...
jmai-physic/src/main/java/com/jmai/physic/controller/PhysicAmpouleController.java
View file @
732cec16
...
@@ -4,7 +4,10 @@ package com.jmai.physic.controller;
...
@@ -4,7 +4,10 @@ package com.jmai.physic.controller;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.jmai.physic.dto.PhysicAmpouleCreateReq
;
import
com.jmai.physic.dto.PhysicAmpouleCreateReq
;
import
com.jmai.physic.dto.PhysicAmpouleQueryReq
;
import
com.jmai.physic.dto.PhysicAmpouleQueryReq
;
import
com.jmai.physic.dto.PhysicAmpouleSignReq
;
import
com.jmai.physic.dto.PhysicStorageAmpouleSignReq
;
import
com.jmai.physic.entity.PhysicAmpoule
;
import
com.jmai.physic.entity.PhysicAmpoule
;
import
com.jmai.physic.entity.PhysicStorageAmpoule
;
import
com.jmai.physic.service.PhysicAmpouleService
;
import
com.jmai.physic.service.PhysicAmpouleService
;
import
com.jmai.physic.vo.PhysicAmpouleUseVO
;
import
com.jmai.physic.vo.PhysicAmpouleUseVO
;
import
com.jmai.sys.aop.Auth
;
import
com.jmai.sys.aop.Auth
;
...
@@ -25,7 +28,7 @@ import java.util.List;
...
@@ -25,7 +28,7 @@ import java.util.List;
@Auth
@Auth
@RestController
@RestController
@RequestMapping
(
"/physicAmpoule"
)
@RequestMapping
(
"/physicAmpoule"
)
@Api
(
tags
=
"药品
专用
登记-药室"
)
@Api
(
tags
=
"药品
空安瓿
登记-药室"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
paramType
=
"header"
,
name
=
"Access-Token"
,
value
=
"凭证"
,
required
=
true
,
dataType
=
"string"
)})
@ApiImplicitParams
({
@ApiImplicitParam
(
paramType
=
"header"
,
name
=
"Access-Token"
,
value
=
"凭证"
,
required
=
true
,
dataType
=
"string"
)})
public
class
PhysicAmpouleController
{
public
class
PhysicAmpouleController
{
...
@@ -39,6 +42,7 @@ public class PhysicAmpouleController {
...
@@ -39,6 +42,7 @@ public class PhysicAmpouleController {
physicAmpouleService
.
create
(
req
);
physicAmpouleService
.
create
(
req
);
return
ResponseData
.
ok
();
return
ResponseData
.
ok
();
}
}
@PostMapping
(
"/listPage"
)
@PostMapping
(
"/listPage"
)
@ApiOperation
(
value
=
"查询"
)
@ApiOperation
(
value
=
"查询"
)
public
Page
<
PhysicAmpoule
>
listPage
(
@RequestBody
PhysicAmpouleQueryReq
req
)
{
public
Page
<
PhysicAmpoule
>
listPage
(
@RequestBody
PhysicAmpouleQueryReq
req
)
{
...
@@ -53,4 +57,11 @@ public class PhysicAmpouleController {
...
@@ -53,4 +57,11 @@ public class PhysicAmpouleController {
return
ResponseData
.
ok
(
physicAmpouleUseVOS
);
return
ResponseData
.
ok
(
physicAmpouleUseVOS
);
}
}
@PostMapping
(
"/sign"
)
@ApiOperation
(
value
=
"签名"
)
public
ResponseData
<
PhysicAmpoule
>
sign
(
@RequestBody
PhysicAmpouleSignReq
physicAmpouleSignReq
)
{
PhysicAmpoule
ampoule
=
physicAmpouleService
.
sign
(
physicAmpouleSignReq
);
return
ResponseData
.
ok
(
ampoule
);
}
}
}
jmai-physic/src/main/java/com/jmai/physic/controller/PhysicDestroyController.java
View file @
732cec16
...
@@ -2,14 +2,12 @@ package com.jmai.physic.controller;
...
@@ -2,14 +2,12 @@ package com.jmai.physic.controller;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.jmai.physic.dto.PhysicCheckQueryReq
;
import
com.jmai.physic.dto.*
;
import
com.jmai.physic.dto.PhysicDestroyCheckCreateReq
;
import
com.jmai.physic.dto.PhysicDestroyCreateReq
;
import
com.jmai.physic.dto.PhysicRecordQueryReq
;
import
com.jmai.physic.entity.PhysicDestroy
;
import
com.jmai.physic.entity.PhysicDestroy
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.service.PhysicDestroyCheckService
;
import
com.jmai.physic.service.PhysicDestroyCheckService
;
import
com.jmai.physic.service.PhysicDestroyService
;
import
com.jmai.physic.service.PhysicDestroyService
;
import
com.jmai.physic.vo.PhysicApplyVO
;
import
com.jmai.sys.aop.Auth
;
import
com.jmai.sys.aop.Auth
;
import
com.jmai.sys.dto.ResponseData
;
import
com.jmai.sys.dto.ResponseData
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -47,5 +45,12 @@ public class PhysicDestroyController {
...
@@ -47,5 +45,12 @@ public class PhysicDestroyController {
public
Page
<
PhysicDestroy
>
listPage
(
@RequestBody
PhysicCheckQueryReq
req
)
{
public
Page
<
PhysicDestroy
>
listPage
(
@RequestBody
PhysicCheckQueryReq
req
)
{
return
physicDestroyService
.
listPage
(
req
);
return
physicDestroyService
.
listPage
(
req
);
}
}
@PostMapping
(
"/sign"
)
@ApiOperation
(
value
=
"签名"
)
public
ResponseData
<
PhysicDestroy
>
sign
(
@RequestBody
PhysicDestroySignReq
physicDestroySignReq
)
{
PhysicDestroy
physicDestroy
=
physicDestroyService
.
sign
(
physicDestroySignReq
);
return
ResponseData
.
ok
(
physicDestroy
);
}
}
}
jmai-physic/src/main/java/com/jmai/physic/controller/PhysicRecordController.java
View file @
732cec16
...
@@ -4,8 +4,10 @@ package com.jmai.physic.controller;
...
@@ -4,8 +4,10 @@ package com.jmai.physic.controller;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.jmai.physic.dto.PhysicRecordCreateReq
;
import
com.jmai.physic.dto.PhysicRecordCreateReq
;
import
com.jmai.physic.dto.PhysicRecordQueryReq
;
import
com.jmai.physic.dto.PhysicRecordQueryReq
;
import
com.jmai.physic.dto.PhysicRecordSignReq
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.service.PhysicRecordService
;
import
com.jmai.physic.service.PhysicRecordService
;
import
com.jmai.physic.vo.PhysicApplyVO
;
import
com.jmai.sys.aop.Auth
;
import
com.jmai.sys.aop.Auth
;
import
com.jmai.sys.dto.ResponseData
;
import
com.jmai.sys.dto.ResponseData
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.Api
;
...
@@ -36,8 +38,8 @@ public class PhysicRecordController {
...
@@ -36,8 +38,8 @@ public class PhysicRecordController {
@PostMapping
(
"/create"
)
@PostMapping
(
"/create"
)
@ApiOperation
(
value
=
"创建"
)
@ApiOperation
(
value
=
"创建"
)
public
ResponseData
createPhysicRecord
(
@RequestBody
@Valid
PhysicRecordCreateReq
req
)
{
public
ResponseData
createPhysicRecord
(
@RequestBody
@Valid
PhysicRecordCreateReq
req
)
{
physicRecordService
.
P
hysicRecordCreate
(
req
);
List
<
PhysicRecord
>
records
=
physicRecordService
.
p
hysicRecordCreate
(
req
);
return
ResponseData
.
ok
();
return
ResponseData
.
ok
(
records
);
}
}
@PostMapping
(
"/listPage"
)
@PostMapping
(
"/listPage"
)
...
@@ -46,4 +48,11 @@ public class PhysicRecordController {
...
@@ -46,4 +48,11 @@ public class PhysicRecordController {
return
physicRecordService
.
listPage
(
req
);
return
physicRecordService
.
listPage
(
req
);
}
}
@PostMapping
(
"/sign"
)
@ApiOperation
(
value
=
"签名"
)
public
ResponseData
<
PhysicRecord
>
sign
(
@RequestBody
PhysicRecordSignReq
physicApplySignReq
)
{
PhysicRecord
record
=
physicRecordService
.
sign
(
physicApplySignReq
);
return
ResponseData
.
ok
(
record
);
}
}
}
jmai-physic/src/main/java/com/jmai/physic/controller/PhysicStorageAmpouleController.java
View file @
732cec16
...
@@ -2,9 +2,7 @@ package com.jmai.physic.controller;
...
@@ -2,9 +2,7 @@ package com.jmai.physic.controller;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.jmai.physic.dto.PhysicAmpouleQueryReq
;
import
com.jmai.physic.dto.*
;
import
com.jmai.physic.dto.PhysicRecordQueryReq
;
import
com.jmai.physic.dto.PhysicStorageAmpouleCreateReq
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.entity.PhysicStorageAmpoule
;
import
com.jmai.physic.entity.PhysicStorageAmpoule
;
import
com.jmai.physic.service.PhysicStorageAmpouleService
;
import
com.jmai.physic.service.PhysicStorageAmpouleService
;
...
@@ -27,7 +25,7 @@ import javax.validation.Valid;
...
@@ -27,7 +25,7 @@ import javax.validation.Valid;
@Auth
@Auth
@RestController
@RestController
@RequestMapping
(
"/physicStorageAmpoule"
)
@RequestMapping
(
"/physicStorageAmpoule"
)
@Api
(
tags
=
"药品
专用
登记-药库"
)
@Api
(
tags
=
"药品
空安瓿
登记-药库"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
paramType
=
"header"
,
name
=
"Access-Token"
,
value
=
"凭证"
,
required
=
true
,
dataType
=
"string"
)})
@ApiImplicitParams
({
@ApiImplicitParam
(
paramType
=
"header"
,
name
=
"Access-Token"
,
value
=
"凭证"
,
required
=
true
,
dataType
=
"string"
)})
public
class
PhysicStorageAmpouleController
{
public
class
PhysicStorageAmpouleController
{
...
@@ -42,11 +40,16 @@ public class PhysicStorageAmpouleController {
...
@@ -42,11 +40,16 @@ public class PhysicStorageAmpouleController {
return
ResponseData
.
ok
();
return
ResponseData
.
ok
();
}
}
@PostMapping
(
"/listPage"
)
@PostMapping
(
"/listPage"
)
@ApiOperation
(
value
=
"查询"
)
@ApiOperation
(
value
=
"查询"
)
public
Page
<
PhysicStorageAmpoule
>
listPage
(
@RequestBody
PhysicAmpouleQueryReq
req
)
{
public
Page
<
PhysicStorageAmpoule
>
listPage
(
@RequestBody
PhysicAmpouleQueryReq
req
)
{
return
physicStorageAmpouleService
.
listPage
(
req
);
return
physicStorageAmpouleService
.
listPage
(
req
);
}
}
@PostMapping
(
"/sign"
)
@ApiOperation
(
value
=
"签名"
)
public
ResponseData
<
PhysicStorageAmpoule
>
sign
(
@RequestBody
PhysicStorageAmpouleSignReq
physicStorageAmpouleSignReq
)
{
PhysicStorageAmpoule
ampoule
=
physicStorageAmpouleService
.
sign
(
physicStorageAmpouleSignReq
);
return
ResponseData
.
ok
(
ampoule
);
}
}
}
jmai-physic/src/main/java/com/jmai/physic/dto/BillDTO.java
View file @
732cec16
...
@@ -23,7 +23,7 @@ public class BillDTO {
...
@@ -23,7 +23,7 @@ public class BillDTO {
@ApiModelProperty
(
value
=
"数量"
)
@ApiModelProperty
(
value
=
"数量"
)
private
Integer
physicNum
;
private
Integer
physicNum
;
@ApiModelProperty
(
value
=
"
1-采购入库 2-申领入库 3-申领出库
"
)
@ApiModelProperty
(
value
=
"
1-采购入库 2-申领入库 3-申领出库 4-使用出库 5-回收空安瓿 6-退回空安瓿 7-销毁空安瓿
"
)
private
Integer
type
;
private
Integer
type
;
@ApiModelProperty
(
value
=
"厂家名称"
)
@ApiModelProperty
(
value
=
"厂家名称"
)
...
...
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicAmpouleQueryReq.java
View file @
732cec16
...
@@ -15,7 +15,7 @@ public class PhysicAmpouleQueryReq extends PageReq {
...
@@ -15,7 +15,7 @@ public class PhysicAmpouleQueryReq extends PageReq {
private
String
physicName
;
private
String
physicName
;
private
LocalDate
dateTime
;
private
String
dateTime
;
@ApiModelProperty
(
value
=
"部门"
)
@ApiModelProperty
(
value
=
"部门"
)
private
Integer
deptId
;
private
Integer
deptId
;
...
...
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicAmpouleSignReq.java
0 → 100644
View file @
732cec16
package
com
.
jmai
.
physic
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
PhysicAmpouleSignReq
{
@ApiModelProperty
(
value
=
"签名token"
)
private
String
encryptedToken
;
@ApiModelProperty
(
value
=
"签名账号"
)
private
String
relBizNo
;
@ApiModelProperty
(
value
=
"签名base64图片"
)
private
String
base64SourceData
;
@ApiModelProperty
(
value
=
"药库空安瓿id"
)
private
Long
physicAmpouleId
;
}
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicApplyCreateReq.java
View file @
732cec16
...
@@ -53,6 +53,8 @@ public class PhysicApplyCreateReq {
...
@@ -53,6 +53,8 @@ public class PhysicApplyCreateReq {
@ApiModelProperty
(
value
=
"厂家名称"
)
@ApiModelProperty
(
value
=
"厂家名称"
)
private
String
factoryName
;
private
String
factoryName
;
@ApiModelProperty
(
value
=
"失效时间"
)
private
String
expireDate
;
}
}
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicDestroySignReq.java
0 → 100644
View file @
732cec16
package
com
.
jmai
.
physic
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
PhysicDestroySignReq
{
@ApiModelProperty
(
value
=
"签名token"
)
private
String
encryptedToken
;
@ApiModelProperty
(
value
=
"签名账号"
)
private
String
relBizNo
;
@ApiModelProperty
(
value
=
"签名base64图片"
)
private
String
base64SourceData
;
@ApiModelProperty
(
value
=
"药品销毁id"
)
private
Long
physicDestroyId
;
}
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicRecordSignReq.java
0 → 100644
View file @
732cec16
package
com
.
jmai
.
physic
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
PhysicRecordSignReq
{
@ApiModelProperty
(
value
=
"签名token"
)
private
String
encryptedToken
;
@ApiModelProperty
(
value
=
"签名账号"
)
private
String
relBizNo
;
@ApiModelProperty
(
value
=
"签名base64图片"
)
private
String
base64SourceData
;
@ApiModelProperty
(
value
=
"药品登记id"
)
private
Long
physicRecordId
;
}
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicStorageAmpouleSignReq.java
0 → 100644
View file @
732cec16
package
com
.
jmai
.
physic
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
@Data
public
class
PhysicStorageAmpouleSignReq
{
@ApiModelProperty
(
value
=
"签名token"
)
private
String
encryptedToken
;
@ApiModelProperty
(
value
=
"签名账号"
)
private
String
relBizNo
;
@ApiModelProperty
(
value
=
"签名base64图片"
)
private
String
base64SourceData
;
@ApiModelProperty
(
value
=
"药库空安瓿id"
)
private
Long
physicStorageAmpouleId
;
}
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicAmpoule.java
View file @
732cec16
...
@@ -35,7 +35,7 @@ public class PhysicAmpoule extends BaseVersionEntity {
...
@@ -35,7 +35,7 @@ public class PhysicAmpoule extends BaseVersionEntity {
private
String
orderNo
;
private
String
orderNo
;
private
Integer
deptId
;
private
Long
deptId
;
private
Integer
batchBalance
;
private
Integer
batchBalance
;
...
@@ -46,6 +46,9 @@ public class PhysicAmpoule extends BaseVersionEntity {
...
@@ -46,6 +46,9 @@ public class PhysicAmpoule extends BaseVersionEntity {
private
String
fhUser
;
private
String
fhUser
;
@ApiModelProperty
(
value
=
"0-待处理 1-接受退回处理 2-复核人处理"
)
private
Integer
status
;
private
String
remark
;
private
String
remark
;
}
}
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicApply.java
View file @
732cec16
...
@@ -36,6 +36,10 @@ public class PhysicApply extends BaseVersionEntity{
...
@@ -36,6 +36,10 @@ public class PhysicApply extends BaseVersionEntity{
private
String
factoryName
;
private
String
factoryName
;
@ApiModelProperty
(
value
=
"失效时间"
)
private
String
expireDate
;
@ApiModelProperty
(
value
=
"发药部门"
)
@ApiModelProperty
(
value
=
"发药部门"
)
private
Long
fyDeptId
;
private
Long
fyDeptId
;
...
...
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicRecord.java
View file @
732cec16
...
@@ -12,6 +12,8 @@ import lombok.Data;
...
@@ -12,6 +12,8 @@ import lombok.Data;
public
class
PhysicRecord
extends
BaseVersionEntity
{
public
class
PhysicRecord
extends
BaseVersionEntity
{
private
Long
deptId
;
@ApiModelProperty
(
value
=
"药品名称"
)
@ApiModelProperty
(
value
=
"药品名称"
)
private
String
physicName
;
private
String
physicName
;
...
@@ -19,7 +21,7 @@ public class PhysicRecord extends BaseVersionEntity {
...
@@ -19,7 +21,7 @@ public class PhysicRecord extends BaseVersionEntity {
private
Integer
physicNum
;
private
Integer
physicNum
;
@ApiModelProperty
(
value
=
"规格"
)
@ApiModelProperty
(
value
=
"规格"
)
private
String
physiSpec
;
private
String
physi
c
Spec
;
@ApiModelProperty
(
value
=
"批号"
)
@ApiModelProperty
(
value
=
"批号"
)
private
String
batchNo
;
private
String
batchNo
;
...
...
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicStorageAmpoule.java
View file @
732cec16
...
@@ -20,7 +20,7 @@ public class PhysicStorageAmpoule extends BaseVersionEntity {
...
@@ -20,7 +20,7 @@ public class PhysicStorageAmpoule extends BaseVersionEntity {
private
Integer
physicNum
;
private
Integer
physicNum
;
@ApiModelProperty
(
value
=
"规格"
)
@ApiModelProperty
(
value
=
"规格"
)
private
String
physiSpec
;
private
String
physi
c
Spec
;
@ApiModelProperty
(
value
=
"批号"
)
@ApiModelProperty
(
value
=
"批号"
)
private
String
batchNo
;
private
String
batchNo
;
...
@@ -31,11 +31,13 @@ public class PhysicStorageAmpoule extends BaseVersionEntity {
...
@@ -31,11 +31,13 @@ public class PhysicStorageAmpoule extends BaseVersionEntity {
private
String
physicType
;
private
String
physicType
;
@ApiModelProperty
(
value
=
"1-接收 2-销毁"
)
private
Integer
type
;
private
Integer
type
;
private
String
orderNo
;
private
String
orderNo
;
private
Integer
deptId
;
private
Long
deptId
;
private
Integer
recycleReceiptNum
;
private
Integer
recycleReceiptNum
;
...
...
jmai-physic/src/main/java/com/jmai/physic/mapper/PhysicDestroyCheckDetailMapper.java
View file @
732cec16
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
...
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import
com.jmai.physic.entity.PhysicDestroyCheckDetail
;
import
com.jmai.physic.entity.PhysicDestroyCheckDetail
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Mapper
;
@Mapper
@Mapper
public
interface
PhysicDestroyCheckDetailMapper
extends
BaseMapper
<
PhysicDestroyCheckDetail
>
{
public
interface
PhysicDestroyCheckDetailMapper
extends
BaseMapper
<
PhysicDestroyCheckDetail
>
{
}
}
jmai-physic/src/main/java/com/jmai/physic/service/PhysicAmpouleService.java
View file @
732cec16
...
@@ -3,7 +3,9 @@ package com.jmai.physic.service;
...
@@ -3,7 +3,9 @@ package com.jmai.physic.service;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.jmai.physic.dto.PhysicAmpouleCreateReq
;
import
com.jmai.physic.dto.PhysicAmpouleCreateReq
;
import
com.jmai.physic.dto.PhysicAmpouleQueryReq
;
import
com.jmai.physic.dto.PhysicAmpouleQueryReq
;
import
com.jmai.physic.dto.PhysicAmpouleSignReq
;
import
com.jmai.physic.entity.PhysicAmpoule
;
import
com.jmai.physic.entity.PhysicAmpoule
;
import
com.jmai.physic.entity.PhysicStorageAmpoule
;
import
com.jmai.physic.vo.PhysicAmpouleUseVO
;
import
com.jmai.physic.vo.PhysicAmpouleUseVO
;
import
java.util.List
;
import
java.util.List
;
...
@@ -15,4 +17,7 @@ public interface PhysicAmpouleService {
...
@@ -15,4 +17,7 @@ public interface PhysicAmpouleService {
List
<
PhysicAmpouleUseVO
>
analysis
();
List
<
PhysicAmpouleUseVO
>
analysis
();
PhysicAmpoule
sign
(
PhysicAmpouleSignReq
physicAmpouleSignReq
);
PhysicAmpoule
getInfo
(
Long
id
);
}
}
jmai-physic/src/main/java/com/jmai/physic/service/PhysicDestroyService.java
View file @
732cec16
...
@@ -4,10 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
...
@@ -4,10 +4,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import
com.jmai.physic.dto.PhysicAmpouleCreateReq
;
import
com.jmai.physic.dto.PhysicAmpouleCreateReq
;
import
com.jmai.physic.dto.PhysicCheckQueryReq
;
import
com.jmai.physic.dto.PhysicCheckQueryReq
;
import
com.jmai.physic.dto.PhysicDestroyCreateReq
;
import
com.jmai.physic.dto.PhysicDestroyCreateReq
;
import
com.jmai.physic.dto.PhysicDestroySignReq
;
import
com.jmai.physic.entity.PhysicDestroy
;
import
com.jmai.physic.entity.PhysicDestroy
;
import
com.jmai.physic.entity.PhysicRecord
;
public
interface
PhysicDestroyService
{
public
interface
PhysicDestroyService
{
void
create
(
PhysicDestroyCreateReq
req
);
void
create
(
PhysicDestroyCreateReq
req
);
Page
<
PhysicDestroy
>
listPage
(
PhysicCheckQueryReq
req
);
Page
<
PhysicDestroy
>
listPage
(
PhysicCheckQueryReq
req
);
PhysicDestroy
sign
(
PhysicDestroySignReq
physicDestroySignReq
);
PhysicDestroy
getInfo
(
Long
id
);
}
}
jmai-physic/src/main/java/com/jmai/physic/service/PhysicRecordService.java
View file @
732cec16
...
@@ -3,14 +3,19 @@ package com.jmai.physic.service;
...
@@ -3,14 +3,19 @@ package com.jmai.physic.service;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.jmai.physic.dto.PhysicRecordCreateReq
;
import
com.jmai.physic.dto.PhysicRecordCreateReq
;
import
com.jmai.physic.dto.PhysicRecordQueryReq
;
import
com.jmai.physic.dto.PhysicRecordQueryReq
;
import
com.jmai.physic.dto.PhysicRecordSignReq
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.entity.PhysicRecord
;
import
java.util.List
;
import
java.util.List
;
public
interface
PhysicRecordService
{
public
interface
PhysicRecordService
{
void
P
hysicRecordCreate
(
PhysicRecordCreateReq
req
);
List
<
PhysicRecord
>
p
hysicRecordCreate
(
PhysicRecordCreateReq
req
);
Page
<
PhysicRecord
>
listPage
(
PhysicRecordQueryReq
req
);
Page
<
PhysicRecord
>
listPage
(
PhysicRecordQueryReq
req
);
PhysicRecord
sign
(
PhysicRecordSignReq
physicRecordSignReq
);
PhysicRecord
getInfo
(
Long
id
);
}
}
jmai-physic/src/main/java/com/jmai/physic/service/PhysicStorageAmpouleService.java
View file @
732cec16
...
@@ -3,10 +3,17 @@ package com.jmai.physic.service;
...
@@ -3,10 +3,17 @@ package com.jmai.physic.service;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.jmai.physic.dto.PhysicAmpouleQueryReq
;
import
com.jmai.physic.dto.PhysicAmpouleQueryReq
;
import
com.jmai.physic.dto.PhysicStorageAmpouleCreateReq
;
import
com.jmai.physic.dto.PhysicStorageAmpouleCreateReq
;
import
com.jmai.physic.dto.PhysicStorageAmpouleSignReq
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.entity.PhysicStorageAmpoule
;
import
com.jmai.physic.entity.PhysicStorageAmpoule
;
public
interface
PhysicStorageAmpouleService
{
public
interface
PhysicStorageAmpouleService
{
void
create
(
PhysicStorageAmpouleCreateReq
req
);
void
create
(
PhysicStorageAmpouleCreateReq
req
);
Page
<
PhysicStorageAmpoule
>
listPage
(
PhysicAmpouleQueryReq
req
);
Page
<
PhysicStorageAmpoule
>
listPage
(
PhysicAmpouleQueryReq
req
);
PhysicStorageAmpoule
sign
(
PhysicStorageAmpouleSignReq
physicStorageAmpouleSignReq
);
PhysicStorageAmpoule
getInfo
(
Long
id
);
}
}
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicAmpouleServiceImpl.java
View file @
732cec16
...
@@ -2,21 +2,29 @@ package com.jmai.physic.service.impl;
...
@@ -2,21 +2,29 @@ package com.jmai.physic.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.jmai.physic.dto.PhysicAmpouleCreateReq
;
import
com.jmai.api.exception.ServiceException
;
import
com.jmai.physic.dto.PhysicAmpouleQueryReq
;
import
com.jmai.physic.cloudsign.CloudsignService
;
import
com.jmai.physic.dto.*
;
import
com.jmai.physic.entity.PhysicAmpoule
;
import
com.jmai.physic.entity.PhysicAmpoule
;
import
com.jmai.physic.entity.PhysicStorageAmpoule
;
import
com.jmai.physic.entity.PhysicStorageAmpoule
;
import
com.jmai.physic.mapper.PhysicAmpouleMapper
;
import
com.jmai.physic.mapper.PhysicAmpouleMapper
;
import
com.jmai.physic.service.PhysicAmpouleService
;
import
com.jmai.physic.service.PhysicAmpouleService
;
import
com.jmai.physic.service.PhysicBillService
;
import
com.jmai.physic.vo.PhysicAmpouleUseVO
;
import
com.jmai.physic.vo.PhysicAmpouleUseVO
;
import
com.jmai.sys.AbstractService
;
import
com.jmai.sys.AbstractService
;
import
com.jmai.sys.consts.enums.RoleTypeEum
;
import
com.jmai.sys.ctx.SpringContextUtils
;
import
com.jmai.sys.entity.SysUser
;
import
com.jmai.sys.mapper.SysUserMapper
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.math.RoundingMode
;
import
java.math.RoundingMode
;
import
java.time.LocalDateTime
;
import
java.util.List
;
import
java.util.List
;
@Service
@Service
...
@@ -25,6 +33,15 @@ public class PhysicAmpouleServiceImpl extends AbstractService implements PhysicA
...
@@ -25,6 +33,15 @@ public class PhysicAmpouleServiceImpl extends AbstractService implements PhysicA
@Resource
@Resource
private
PhysicAmpouleMapper
physicAmpouleMapper
;
private
PhysicAmpouleMapper
physicAmpouleMapper
;
@Resource
private
CloudsignService
cloudsignService
;
@Resource
private
SysUserMapper
sysUserMapper
;
@Resource
private
PhysicBillService
physicBillService
;
@Transactional
@Transactional
@Override
@Override
...
@@ -59,6 +76,46 @@ public class PhysicAmpouleServiceImpl extends AbstractService implements PhysicA
...
@@ -59,6 +76,46 @@ public class PhysicAmpouleServiceImpl extends AbstractService implements PhysicA
return
physicAmpouleUseVOS
;
return
physicAmpouleUseVOS
;
}
}
@Override
public
PhysicAmpoule
sign
(
PhysicAmpouleSignReq
physicAmpouleSignReq
)
{
Boolean
f
=
false
;
Long
userId
=
SpringContextUtils
.
getUserId
();
String
getstamp
=
cloudsignService
.
sign
(
physicAmpouleSignReq
.
getEncryptedToken
(),
physicAmpouleSignReq
.
getRelBizNo
(),
physicAmpouleSignReq
.
getBase64SourceData
());
PhysicAmpoule
ampoule
=
getInfo
(
physicAmpouleSignReq
.
getPhysicAmpouleId
());
SysUser
sysUser
=
sysUserMapper
.
selectById
(
userId
);
if
(
ampoule
.
getStatus
().
equals
(
0
)){
if
(!(
RoleTypeEum
.
isPass
(
sysUser
.
getRoleAsList
(),
RoleTypeEum
.
JS
)||
RoleTypeEum
.
isPass
(
sysUser
.
getRoleAsList
(),
RoleTypeEum
.
TH
))){
throw
new
ServiceException
(
"需要接受或退回人权限才可进行签名"
);
}
ampoule
.
setStatus
(
1
);
SignInfoDTO
signInfoDTO
=
new
SignInfoDTO
(
getstamp
,
LocalDateTime
.
now
(),
userId
);
ampoule
.
setChUser
(
JSONUtil
.
toJsonStr
(
signInfoDTO
));
}
else
if
(
ampoule
.
getStatus
().
equals
(
1
))
{
if
(!
RoleTypeEum
.
isPass
(
sysUser
.
getRoleAsList
(),
RoleTypeEum
.
FH
))
{
throw
new
ServiceException
(
"需要复核人权限才可进行签名"
);
}
ampoule
.
setStatus
(
2
);
SignInfoDTO
signInfoDTO
=
new
SignInfoDTO
(
getstamp
,
LocalDateTime
.
now
(),
userId
);
ampoule
.
setFhUser
(
JSONUtil
.
toJsonStr
(
signInfoDTO
));
f
=
true
;
}
if
(
f
){
BillDTO
billDTO
=
new
BillDTO
();
BeanUtil
.
copyProperties
(
ampoule
,
billDTO
);
billDTO
.
setType
(
ampoule
.
getType
().
equals
(
"1"
)?
5
:
6
);
billDTO
.
setDeptId
(
ampoule
.
getDeptId
());
billDTO
.
setRefId
(
ampoule
.
getId
());
physicBillService
.
createBill
(
billDTO
);
}
physicAmpouleMapper
.
updateById
(
ampoule
);
return
getInfo
(
ampoule
.
getId
());
}
@Override
public
PhysicAmpoule
getInfo
(
Long
id
)
{
PhysicAmpoule
ampoule
=
physicAmpouleMapper
.
selectById
(
id
);
return
ampoule
;
}
private
String
getRate
(
BigDecimal
num1
,
BigDecimal
num2
){
private
String
getRate
(
BigDecimal
num1
,
BigDecimal
num2
){
return
num1
.
divide
(
num2
,
4
,
RoundingMode
.
HALF_UP
)
return
num1
.
divide
(
num2
,
4
,
RoundingMode
.
HALF_UP
)
.
multiply
(
new
BigDecimal
(
100
))
.
multiply
(
new
BigDecimal
(
100
))
...
...
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicBillServiceImpl.java
View file @
732cec16
...
@@ -46,7 +46,7 @@ public class PhysicBillServiceImpl extends AbstractService implements PhysicBill
...
@@ -46,7 +46,7 @@ public class PhysicBillServiceImpl extends AbstractService implements PhysicBill
bill
.
setAcquireNum
(
billDTO
.
getPhysicNum
());
bill
.
setAcquireNum
(
billDTO
.
getPhysicNum
());
bill
.
setBalance
(
batchNoSum
+
billDTO
.
getPhysicNum
());
bill
.
setBalance
(
batchNoSum
+
billDTO
.
getPhysicNum
());
bill
.
setBalanceAll
(
sum
+
billDTO
.
getPhysicNum
());
bill
.
setBalanceAll
(
sum
+
billDTO
.
getPhysicNum
());
}
else
if
(
billDTO
.
getType
()==
3
){
}
else
if
(
billDTO
.
getType
()==
3
||
billDTO
.
getType
()==
4
){
bill
.
setExpendNum
(
billDTO
.
getPhysicNum
());
bill
.
setExpendNum
(
billDTO
.
getPhysicNum
());
bill
.
setBalance
(
batchNoSum
-
billDTO
.
getPhysicNum
());
bill
.
setBalance
(
batchNoSum
-
billDTO
.
getPhysicNum
());
bill
.
setBalanceAll
(
sum
-
billDTO
.
getPhysicNum
());
bill
.
setBalanceAll
(
sum
-
billDTO
.
getPhysicNum
());
...
...
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicDestroyServiceImpl.java
View file @
732cec16
package
com
.
jmai
.
physic
.
service
.
impl
;
package
com
.
jmai
.
physic
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.jmai.physic.dto.PhysicCheckQueryReq
;
import
com.jmai.api.exception.ServiceException
;
import
com.jmai.physic.dto.PhysicDestroyCreateReq
;
import
com.jmai.physic.cloudsign.CloudsignService
;
import
com.jmai.physic.dto.*
;
import
com.jmai.physic.entity.PhysicDestroy
;
import
com.jmai.physic.entity.PhysicDestroy
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.entity.PhysicWarehouse
;
import
com.jmai.physic.mapper.PhysicDestroyMapper
;
import
com.jmai.physic.mapper.PhysicDestroyMapper
;
import
com.jmai.physic.service.PhysicBillService
;
import
com.jmai.physic.service.PhysicBillService
;
import
com.jmai.physic.service.PhysicDestroyService
;
import
com.jmai.physic.service.PhysicDestroyService
;
import
com.jmai.sys.AbstractService
;
import
com.jmai.sys.AbstractService
;
import
com.jmai.sys.consts.enums.RoleTypeEum
;
import
com.jmai.sys.ctx.SpringContextUtils
;
import
com.jmai.sys.ctx.SpringContextUtils
;
import
com.jmai.sys.entity.SysUser
;
import
com.jmai.sys.entity.SysUser
;
import
com.jmai.sys.mapper.SysUserMapper
;
import
com.jmai.sys.mapper.SysUserMapper
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
@Service
@Service
public
class
PhysicDestroyServiceImpl
extends
AbstractService
implements
PhysicDestroyService
{
public
class
PhysicDestroyServiceImpl
extends
AbstractService
implements
PhysicDestroyService
{
...
@@ -25,6 +30,13 @@ public class PhysicDestroyServiceImpl extends AbstractService implements PhysicD
...
@@ -25,6 +30,13 @@ public class PhysicDestroyServiceImpl extends AbstractService implements PhysicD
@Resource
@Resource
private
PhysicDestroyMapper
physicDestroyMapper
;
private
PhysicDestroyMapper
physicDestroyMapper
;
@Resource
private
CloudsignService
cloudsignService
;
@Resource
private
PhysicBillService
physicBillService
;
@Override
@Override
public
void
create
(
PhysicDestroyCreateReq
req
)
{
public
void
create
(
PhysicDestroyCreateReq
req
)
{
Long
userId
=
SpringContextUtils
.
getUserId
();
Long
userId
=
SpringContextUtils
.
getUserId
();
...
@@ -43,4 +55,48 @@ public class PhysicDestroyServiceImpl extends AbstractService implements PhysicD
...
@@ -43,4 +55,48 @@ public class PhysicDestroyServiceImpl extends AbstractService implements PhysicD
Page
<
PhysicDestroy
>
destroyPage
=
physicDestroyMapper
.
selectDestroyPage
(
page
,
req
);
Page
<
PhysicDestroy
>
destroyPage
=
physicDestroyMapper
.
selectDestroyPage
(
page
,
req
);
return
destroyPage
;
return
destroyPage
;
}
}
@Override
public
PhysicDestroy
sign
(
PhysicDestroySignReq
physicDestroySignReq
)
{
Boolean
f
=
false
;
Long
userId
=
SpringContextUtils
.
getUserId
();
String
getstamp
=
cloudsignService
.
sign
(
physicDestroySignReq
.
getEncryptedToken
(),
physicDestroySignReq
.
getRelBizNo
(),
physicDestroySignReq
.
getBase64SourceData
());
PhysicDestroy
physicDestroy
=
physicDestroyMapper
.
selectById
(
physicDestroySignReq
.
getPhysicDestroyId
());
SysUser
sysUser
=
sysUserMapper
.
selectById
(
userId
);
if
(
physicDestroy
.
getStatus
().
equals
(
0
)){
if
(!
RoleTypeEum
.
isPass
(
sysUser
.
getRoleAsList
(),
RoleTypeEum
.
CZ
)){
throw
new
ServiceException
(
"需要操作人权限才可进行签名"
);
}
physicDestroy
.
setStatus
(
1
);
SignInfoDTO
signInfoDTO
=
new
SignInfoDTO
(
getstamp
,
LocalDateTime
.
now
(),
userId
);
physicDestroy
.
setCzUser
(
JSONUtil
.
toJsonStr
(
signInfoDTO
));
}
else
if
(
physicDestroy
.
getStatus
().
equals
(
1
)){
if
(!
RoleTypeEum
.
isPass
(
sysUser
.
getRoleAsList
(),
RoleTypeEum
.
XH
)){
throw
new
ServiceException
(
"需要验收人权限才可进行签名"
);
}
physicDestroy
.
setStatus
(
2
);
SignInfoDTO
signInfoDTO
=
new
SignInfoDTO
(
getstamp
,
LocalDateTime
.
now
(),
userId
);;
physicDestroy
.
setXhUser
(
JSONUtil
.
toJsonStr
(
signInfoDTO
));
f
=
true
;
}
if
(
f
){
BillDTO
billDTO
=
new
BillDTO
();
BeanUtil
.
copyProperties
(
physicDestroy
,
billDTO
);
billDTO
.
setType
(
7
);
billDTO
.
setDeptId
(
physicDestroy
.
getDeptId
());
billDTO
.
setRefId
(
physicDestroy
.
getId
());
physicBillService
.
createBill
(
billDTO
);
}
physicDestroyMapper
.
updateById
(
physicDestroy
);
return
getInfo
(
physicDestroy
.
getId
());
}
@Override
public
PhysicDestroy
getInfo
(
Long
id
)
{
PhysicDestroy
physicDestroy
=
physicDestroyMapper
.
selectById
(
id
);
return
physicDestroy
;
}
}
}
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicRecordServiceImpl.java
View file @
732cec16
...
@@ -3,20 +3,30 @@ package com.jmai.physic.service.impl;
...
@@ -3,20 +3,30 @@ package com.jmai.physic.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.jmai.physic.dto.PhysicRecordCreateReq
;
import
com.jmai.api.exception.ServiceException
;
import
com.jmai.physic.dto.PhysicRecordQueryReq
;
import
com.jmai.physic.cloudsign.CloudsignService
;
import
com.jmai.physic.dto.*
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.entity.PhysicWarehouse
;
import
com.jmai.physic.mapper.PhysicRecordMapper
;
import
com.jmai.physic.mapper.PhysicRecordMapper
;
import
com.jmai.physic.service.PhysicBillService
;
import
com.jmai.physic.service.PhysicRecordService
;
import
com.jmai.physic.service.PhysicRecordService
;
import
com.jmai.sys.AbstractService
;
import
com.jmai.sys.AbstractService
;
import
com.jmai.sys.consts.BizFileTypes
;
import
com.jmai.sys.consts.BizFileTypes
;
import
com.jmai.sys.consts.enums.RoleTypeEum
;
import
com.jmai.sys.ctx.SpringContextUtils
;
import
com.jmai.sys.entity.SysUser
;
import
com.jmai.sys.mapper.SysUserMapper
;
import
com.jmai.sys.service.BizFileService
;
import
com.jmai.sys.service.BizFileService
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.apache.commons.collections4.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
@Service
@Service
...
@@ -28,29 +38,40 @@ public class PhysicRecordServiceImpl extends AbstractService implements PhysicRe
...
@@ -28,29 +38,40 @@ public class PhysicRecordServiceImpl extends AbstractService implements PhysicRe
@Resource
@Resource
private
BizFileService
bizFileService
;
private
BizFileService
bizFileService
;
@Resource
private
CloudsignService
cloudsignService
;
@Resource
private
SysUserMapper
sysUserMapper
;
@Resource
private
PhysicBillService
physicBillService
;
@Transactional
@Transactional
@Override
@Override
public
void
PhysicRecordCreate
(
PhysicRecordCreateReq
req
)
{
public
List
<
PhysicRecord
>
physicRecordCreate
(
PhysicRecordCreateReq
req
)
{
List
<
PhysicRecord
>
records
=
new
ArrayList
<>();
Long
userId
=
SpringContextUtils
.
getUserId
();
SysUser
sysUser
=
sysUserMapper
.
selectById
(
userId
);
for
(
PhysicRecordCreateReq
.
Physic
physic
:
req
.
getPhysicList
())
{
for
(
PhysicRecordCreateReq
.
Physic
physic
:
req
.
getPhysicList
())
{
PhysicRecord
record
=
new
PhysicRecord
();
PhysicRecord
record
=
new
PhysicRecord
();
BeanUtil
.
copyProperties
(
req
,
record
);
BeanUtil
.
copyProperties
(
req
,
record
);
record
.
setPhysicName
(
physic
.
getPhysicName
());
record
.
setPhysicName
(
physic
.
getPhysicName
());
record
.
setBatchNo
(
physic
.
getBatchNo
());
record
.
setBatchNo
(
physic
.
getBatchNo
());
record
.
setPhysicNum
(
physic
.
getPhysicNum
());
record
.
setPhysicNum
(
physic
.
getPhysicNum
());
record
.
setPhysiSpec
(
physic
.
getPhysicSpec
());
record
.
setPhysicSpec
(
physic
.
getPhysicSpec
());
record
.
setDeptId
(
sysUser
.
getDeptId
());
physicRecordMapper
.
insert
(
record
);
physicRecordMapper
.
insert
(
record
);
if
(
ObjectUtil
.
isNotEmpty
(
req
.
getPrescriptionImages
())){
if
(
ObjectUtil
.
isNotEmpty
(
req
.
getPrescriptionImages
())){
if
(
CollectionUtils
.
isNotEmpty
(
req
.
getPrescriptionImages
()))
{
if
(
CollectionUtils
.
isNotEmpty
(
req
.
getPrescriptionImages
()))
{
bizFileService
.
addBizFilesIfAbsent
(
BizFileTypes
.
PHYSIC_RECORD_IMAGE
,
record
.
getId
().
toString
(),
req
.
getPrescriptionImages
());
bizFileService
.
addBizFilesIfAbsent
(
BizFileTypes
.
PHYSIC_RECORD_IMAGE
,
record
.
getId
().
toString
(),
req
.
getPrescriptionImages
());
}
}
}
}
records
.
add
(
record
);
}
}
return
records
;
}
}
@Override
@Override
...
@@ -60,4 +81,45 @@ public class PhysicRecordServiceImpl extends AbstractService implements PhysicRe
...
@@ -60,4 +81,45 @@ public class PhysicRecordServiceImpl extends AbstractService implements PhysicRe
return
recordPage
;
return
recordPage
;
}
}
@Override
public
PhysicRecord
sign
(
PhysicRecordSignReq
physicRecordSignReq
)
{
Boolean
f
=
false
;
Long
userId
=
SpringContextUtils
.
getUserId
();
String
getstamp
=
cloudsignService
.
sign
(
physicRecordSignReq
.
getEncryptedToken
(),
physicRecordSignReq
.
getRelBizNo
(),
physicRecordSignReq
.
getBase64SourceData
());
PhysicRecord
physicRecord
=
getInfo
(
physicRecordSignReq
.
getPhysicRecordId
());
SysUser
sysUser
=
sysUserMapper
.
selectById
(
userId
);
if
(
physicRecord
.
getStatus
().
equals
(
0
)){
if
(!
RoleTypeEum
.
isPass
(
sysUser
.
getRoleAsList
(),
RoleTypeEum
.
DP
)){
throw
new
ServiceException
(
"需要调配人权限才可进行签名"
);
}
physicRecord
.
setStatus
(
1
);
SignInfoDTO
signInfoDTO
=
new
SignInfoDTO
(
getstamp
,
LocalDateTime
.
now
(),
userId
);
physicRecord
.
setDpUser
(
JSONUtil
.
toJsonStr
(
signInfoDTO
));
}
else
if
(
physicRecord
.
getStatus
().
equals
(
1
))
{
if
(!
RoleTypeEum
.
isPass
(
sysUser
.
getRoleAsList
(),
RoleTypeEum
.
FY
))
{
throw
new
ServiceException
(
"需要发药人权限才可进行签名"
);
}
physicRecord
.
setStatus
(
2
);
SignInfoDTO
signInfoDTO
=
new
SignInfoDTO
(
getstamp
,
LocalDateTime
.
now
(),
userId
);
physicRecord
.
setFyUser
(
JSONUtil
.
toJsonStr
(
signInfoDTO
));
f
=
true
;
}
if
(
f
){
BillDTO
billDTO
=
new
BillDTO
();
BeanUtil
.
copyProperties
(
physicRecord
,
billDTO
);
billDTO
.
setType
(
4
);
billDTO
.
setDeptId
(
physicRecord
.
getDeptId
());
billDTO
.
setRefId
(
physicRecord
.
getId
());
physicBillService
.
createBill
(
billDTO
);
}
physicRecordMapper
.
updateById
(
physicRecord
);
return
getInfo
(
physicRecord
.
getId
());
}
@Override
public
PhysicRecord
getInfo
(
Long
id
)
{
PhysicRecord
physicRecord
=
physicRecordMapper
.
selectById
(
id
);
return
physicRecord
;
}
}
}
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicStorageAmpouleServiceImpl.java
View file @
732cec16
...
@@ -2,18 +2,26 @@ package com.jmai.physic.service.impl;
...
@@ -2,18 +2,26 @@ package com.jmai.physic.service.impl;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.jmai.physic.dto.PhysicAmpouleQueryReq
;
import
com.jmai.api.exception.ServiceException
;
import
com.jmai.physic.dto.PhysicStorageAmpouleCreateReq
;
import
com.jmai.physic.cloudsign.CloudsignService
;
import
com.jmai.physic.dto.*
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.entity.PhysicStorageAmpoule
;
import
com.jmai.physic.entity.PhysicStorageAmpoule
;
import
com.jmai.physic.mapper.PhysicStorageAmpouleMapper
;
import
com.jmai.physic.mapper.PhysicStorageAmpouleMapper
;
import
com.jmai.physic.service.PhysicBillService
;
import
com.jmai.physic.service.PhysicStorageAmpouleService
;
import
com.jmai.physic.service.PhysicStorageAmpouleService
;
import
com.jmai.sys.AbstractService
;
import
com.jmai.sys.AbstractService
;
import
com.jmai.sys.consts.enums.RoleTypeEum
;
import
com.jmai.sys.ctx.SpringContextUtils
;
import
com.jmai.sys.entity.SysUser
;
import
com.jmai.sys.mapper.SysUserMapper
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
@Service
@Service
public
class
PhysicStorageAmpouleServiceImpl
extends
AbstractService
implements
PhysicStorageAmpouleService
{
public
class
PhysicStorageAmpouleServiceImpl
extends
AbstractService
implements
PhysicStorageAmpouleService
{
...
@@ -21,6 +29,15 @@ public class PhysicStorageAmpouleServiceImpl extends AbstractService implements
...
@@ -21,6 +29,15 @@ public class PhysicStorageAmpouleServiceImpl extends AbstractService implements
@Resource
@Resource
private
PhysicStorageAmpouleMapper
physicStorageAmpouleMapper
;
private
PhysicStorageAmpouleMapper
physicStorageAmpouleMapper
;
@Resource
private
CloudsignService
cloudsignService
;
@Resource
private
SysUserMapper
sysUserMapper
;
@Resource
private
PhysicBillService
physicBillService
;
@Transactional
@Transactional
@Override
@Override
...
@@ -32,7 +49,7 @@ public class PhysicStorageAmpouleServiceImpl extends AbstractService implements
...
@@ -32,7 +49,7 @@ public class PhysicStorageAmpouleServiceImpl extends AbstractService implements
ampoule
.
setPhysicName
(
physic
.
getPhysicName
());
ampoule
.
setPhysicName
(
physic
.
getPhysicName
());
ampoule
.
setBatchNo
(
physic
.
getBatchNo
());
ampoule
.
setBatchNo
(
physic
.
getBatchNo
());
ampoule
.
setPhysicNum
(
physic
.
getPhysicNum
());
ampoule
.
setPhysicNum
(
physic
.
getPhysicNum
());
ampoule
.
setPhysiSpec
(
physic
.
getPhysicSpec
());
ampoule
.
setPhysi
c
Spec
(
physic
.
getPhysicSpec
());
ampoule
.
setPhysicType
(
physic
.
getPhysicType
());
ampoule
.
setPhysicType
(
physic
.
getPhysicType
());
physicStorageAmpouleMapper
.
insert
(
ampoule
);
physicStorageAmpouleMapper
.
insert
(
ampoule
);
}
}
...
@@ -46,4 +63,46 @@ public class PhysicStorageAmpouleServiceImpl extends AbstractService implements
...
@@ -46,4 +63,46 @@ public class PhysicStorageAmpouleServiceImpl extends AbstractService implements
Page
<
PhysicStorageAmpoule
>
ampoulePage
=
physicStorageAmpouleMapper
.
selectAmpoulePage
(
page
,
req
);
Page
<
PhysicStorageAmpoule
>
ampoulePage
=
physicStorageAmpouleMapper
.
selectAmpoulePage
(
page
,
req
);
return
ampoulePage
;
return
ampoulePage
;
}
}
@Override
public
PhysicStorageAmpoule
sign
(
PhysicStorageAmpouleSignReq
physicStorageAmpouleSignReq
)
{
Boolean
f
=
false
;
Long
userId
=
SpringContextUtils
.
getUserId
();
String
getstamp
=
cloudsignService
.
sign
(
physicStorageAmpouleSignReq
.
getEncryptedToken
(),
physicStorageAmpouleSignReq
.
getRelBizNo
(),
physicStorageAmpouleSignReq
.
getBase64SourceData
());
PhysicStorageAmpoule
ampoule
=
getInfo
(
physicStorageAmpouleSignReq
.
getPhysicStorageAmpouleId
());
SysUser
sysUser
=
sysUserMapper
.
selectById
(
userId
);
if
(
ampoule
.
getStatus
().
equals
(
0
)){
if
(!
RoleTypeEum
.
isPass
(
sysUser
.
getRoleAsList
(),
RoleTypeEum
.
JS
)){
throw
new
ServiceException
(
"需要接收人权限才可进行签名"
);
}
ampoule
.
setStatus
(
1
);
SignInfoDTO
signInfoDTO
=
new
SignInfoDTO
(
getstamp
,
LocalDateTime
.
now
(),
userId
);
ampoule
.
setJsUser
(
JSONUtil
.
toJsonStr
(
signInfoDTO
));
}
else
if
(
ampoule
.
getStatus
().
equals
(
1
))
{
if
(!
RoleTypeEum
.
isPass
(
sysUser
.
getRoleAsList
(),
RoleTypeEum
.
TH
))
{
throw
new
ServiceException
(
"需要退回人权限才可进行签名"
);
}
ampoule
.
setStatus
(
2
);
SignInfoDTO
signInfoDTO
=
new
SignInfoDTO
(
getstamp
,
LocalDateTime
.
now
(),
userId
);
ampoule
.
setThUser
(
JSONUtil
.
toJsonStr
(
signInfoDTO
));
f
=
true
;
}
if
(
f
){
BillDTO
billDTO
=
new
BillDTO
();
BeanUtil
.
copyProperties
(
ampoule
,
billDTO
);
billDTO
.
setType
(
ampoule
.
getType
().
equals
(
"1"
)?
5
:
7
);
billDTO
.
setDeptId
(
ampoule
.
getDeptId
());
billDTO
.
setRefId
(
ampoule
.
getId
());
physicBillService
.
createBill
(
billDTO
);
}
physicStorageAmpouleMapper
.
updateById
(
ampoule
);
return
getInfo
(
ampoule
.
getId
());
}
@Override
public
PhysicStorageAmpoule
getInfo
(
Long
id
)
{
PhysicStorageAmpoule
ampoule
=
physicStorageAmpouleMapper
.
selectById
(
id
);
return
ampoule
;
}
}
}
jmai-physic/src/main/resources/mapper/PhysicAmpouleMapper.xml
View file @
732cec16
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<select
id=
"selectAmpoulePage"
resultType=
"com.jmai.physic.entity.PhysicAmpoule"
>
<select
id=
"selectAmpoulePage"
resultType=
"com.jmai.physic.entity.PhysicAmpoule"
>
select * from physic_ampoule
select * from physic_ampoule
where
where
del_flag 0
del_flag
=
0
<if
test=
"req.dateTime != null "
>
<if
test=
"req.dateTime != null "
>
and DATE_FORMAT(create_time, '%Y-%m-%d') = DATE_FORMAT(#{req.dateTime}, '%Y-%m-%d')
and DATE_FORMAT(create_time, '%Y-%m-%d') = DATE_FORMAT(#{req.dateTime}, '%Y-%m-%d')
</if>
</if>
...
...
jmai-physic/src/main/resources/mapper/PhysicStorageAmpouleMapper.xml
View file @
732cec16
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<select
id=
"selectAmpoulePage"
resultType=
"com.jmai.physic.entity.PhysicStorageAmpoule"
>
<select
id=
"selectAmpoulePage"
resultType=
"com.jmai.physic.entity.PhysicStorageAmpoule"
>
select * from physic_storage_ampoule
select * from physic_storage_ampoule
where
where
del_flag 0
del_flag
=
0
<if
test=
"req.dateTime != null "
>
<if
test=
"req.dateTime != null "
>
and DATE_FORMAT(create_time, '%Y-%m-%d') = DATE_FORMAT(#{req.dateTime}, '%Y-%m-%d')
and DATE_FORMAT(create_time, '%Y-%m-%d') = DATE_FORMAT(#{req.dateTime}, '%Y-%m-%d')
</if>
</if>
...
...
jmai-sys/src/main/java/com/jmai/sys/dto/UserCreateReq.java
View file @
732cec16
...
@@ -29,6 +29,12 @@ public class UserCreateReq {
...
@@ -29,6 +29,12 @@ public class UserCreateReq {
@ApiModelProperty
(
value
=
"盐"
,
hidden
=
true
)
@ApiModelProperty
(
value
=
"盐"
,
hidden
=
true
)
private
String
salt
;
private
String
salt
;
@ApiModelProperty
(
value
=
"组织(ID)"
)
private
Long
deptId
;
@ApiModelProperty
(
value
=
"用户角色(ID)列表(逗号隔开)"
)
private
String
roleList
;
@ApiModelProperty
(
value
=
"状态:0 - 禁用,1 - 启用"
)
@ApiModelProperty
(
value
=
"状态:0 - 禁用,1 - 启用"
)
private
Integer
status
;
private
Integer
status
;
...
...
jmai-sys/src/main/java/com/jmai/sys/dto/UserDto.java
View file @
732cec16
...
@@ -27,7 +27,7 @@ public class UserDto extends BaseDto implements IStatus {
...
@@ -27,7 +27,7 @@ public class UserDto extends BaseDto implements IStatus {
@ApiModelProperty
(
value
=
"手机号"
)
@ApiModelProperty
(
value
=
"手机号"
)
private
String
mobile
;
private
String
mobile
;
@ApiModelProperty
(
value
=
"
组织
"
)
@ApiModelProperty
(
value
=
"
权限范围
"
)
private
String
authDeptList
;
private
String
authDeptList
;
@ApiModelProperty
(
value
=
"状态:0 - 禁用,1 - 启用"
)
@ApiModelProperty
(
value
=
"状态:0 - 禁用,1 - 启用"
)
...
...
jmai-sys/src/main/java/com/jmai/sys/dto/UserQueryReq.java
View file @
732cec16
...
@@ -8,20 +8,9 @@ import lombok.Data;
...
@@ -8,20 +8,9 @@ import lombok.Data;
@Data
@Data
@ApiModel
(
value
=
"UserQueryReq"
,
description
=
"用户查询"
)
@ApiModel
(
value
=
"UserQueryReq"
,
description
=
"用户查询"
)
public
class
UserQueryReq
extends
PageReq
{
public
class
UserQueryReq
extends
PageReq
{
@ApiModelProperty
(
value
=
"用户ID"
)
private
Long
userId
;
@ApiModelProperty
(
value
=
"用户名称"
)
private
String
userName
;
@ApiModelProperty
(
value
=
"用户类型"
)
private
Long
userType
;
@ApiModelProperty
(
value
=
"手机号"
)
private
String
mobile
;
@ApiModelProperty
(
value
=
"工号"
)
private
String
workNo
;
@ApiModelProperty
(
value
=
"授权仓库/站点(ID)列表(逗号隔开)"
)
private
String
warehouse
;
@ApiModelProperty
(
value
=
"用户名称"
)
private
String
keyword
;
@ApiModelProperty
(
value
=
"状态:0 - 禁用,1 - 启用"
)
@ApiModelProperty
(
value
=
"状态:0 - 禁用,1 - 启用"
)
private
Integer
status
;
private
Integer
status
;
}
}
jmai-sys/src/main/java/com/jmai/sys/service/impl/UserServiceImpl.java
View file @
732cec16
...
@@ -279,12 +279,10 @@ public class UserServiceImpl extends AbstractService implements UserService {
...
@@ -279,12 +279,10 @@ public class UserServiceImpl extends AbstractService implements UserService {
private
Wrapper
<
SysUser
>
buildQuery
(
UserQueryReq
req
)
{
private
Wrapper
<
SysUser
>
buildQuery
(
UserQueryReq
req
)
{
return
Wrappers
.
lambdaQuery
(
SysUser
.
class
)
return
Wrappers
.
lambdaQuery
(
SysUser
.
class
)
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
getUserId
()),
SysUser:
:
getId
,
req
.
getUserId
())
.
like
(
ObjectUtil
.
isNotEmpty
(
req
.
getKeyword
()),
SysUser:
:
getName
,
req
.
getKeyword
()).
or
()
.
like
(
ObjectUtil
.
isNotEmpty
(
req
.
getUserName
()),
SysUser:
:
getName
,
req
.
getUserName
())
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
getKeyword
()),
SysUser:
:
getMobile
,
req
.
getKeyword
())
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
getUserType
()),
SysUser:
:
getType
,
req
.
getUserType
())
// 过滤非系统管理员
// 过滤非系统管理员
.
ne
(!
SpringContextUtils
.
isPlatformAdmin
(),
SysUser:
:
getType
,
PLATFORM_ADMIN
.
getCode
())
.
ne
(!
SpringContextUtils
.
isPlatformAdmin
(),
SysUser:
:
getType
,
PLATFORM_ADMIN
.
getCode
())
.
like
(
ObjectUtil
.
isNotEmpty
(
req
.
getMobile
()),
SysUser:
:
getMobile
,
req
.
getMobile
())
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
getStatus
()),
SysUser:
:
getStatus
,
req
.
getStatus
());
.
eq
(
ObjectUtil
.
isNotEmpty
(
req
.
getStatus
()),
SysUser:
:
getStatus
,
req
.
getStatus
());
}
}
...
@@ -347,9 +345,10 @@ public class UserServiceImpl extends AbstractService implements UserService {
...
@@ -347,9 +345,10 @@ public class UserServiceImpl extends AbstractService implements UserService {
});
});
// 处理密码
// 处理密码
String
salt
=
PasswordUtil
.
newSalt
();
String
salt
=
PasswordUtil
.
newSalt
();
String
password
=
req
.
getPassword
(
);
String
password
=
SecureUtil
.
md5
(
"123456"
);
String
hash
=
PasswordUtil
.
hash
(
salt
,
password
);
String
hash
=
PasswordUtil
.
hash
(
salt
,
password
);
String
md5Password
=
isMD5
(
password
)
?
SecureUtil
.
md5
(
hash
)
:
""
;
String
md5Password
=
SecureUtil
.
md5
(
hash
);
// 不能新建超管
// 不能新建超管
Long
userType
=
Optional
.
ofNullable
(
req
.
getUserType
())
Long
userType
=
Optional
.
ofNullable
(
req
.
getUserType
())
...
@@ -364,7 +363,8 @@ public class UserServiceImpl extends AbstractService implements UserService {
...
@@ -364,7 +363,8 @@ public class UserServiceImpl extends AbstractService implements UserService {
user
.
setSalt
(
salt
);
user
.
setSalt
(
salt
);
user
.
setPassword
(
md5Password
);
user
.
setPassword
(
md5Password
);
user
.
setStatus
(
Optional
.
ofNullable
(
req
.
getStatus
()).
orElse
(
StatusEnum
.
ACTIVE
.
getCode
()));
user
.
setStatus
(
Optional
.
ofNullable
(
req
.
getStatus
()).
orElse
(
StatusEnum
.
ACTIVE
.
getCode
()));
user
.
setRoleList
(
req
.
getRoleList
());
user
.
setDeptId
(
req
.
getDeptId
());
userMapper
.
insert
(
user
);
userMapper
.
insert
(
user
);
return
convertTo
(
user
);
return
convertTo
(
user
);
...
...
logs/jmai/error.log
View file @
732cec16
This diff is collapsed.
Click to expand it.
spy.log
View file @
732cec16
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment