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
32440598
authored
Dec 26, 2025
by
zhu.zewen
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
修复业务单创建
parent
67052241
Show whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
221 additions
and
120 deletions
jmai-physic/src/main/java/com/jmai/physic/dto/BillDTO.java
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicDestroyCheckCreateReq.java
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicRecordCreateReq.java
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicStorageAmpouleCreateReq.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/PhysicBill.java
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicDestroy.java
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicDestroyCheck.java
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicDestroyCheckDetail.java
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicStorageAmpoule.java
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicWarehouse.java
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicAmpouleServiceImpl.java
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicApplyServiceImpl.java
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicBillServiceImpl.java
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicDestroyCheckServiceImpl.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/java/com/jmai/physic/service/impl/PhysicWarehouseServiceImpl.java
jmai-physic/src/main/java/com/jmai/physic/vo/PhysicAmpouleVO.java
jmai-sys/src/main/java/com/jmai/sys/consts/HeaderCode.java
jmai-sys/src/main/java/com/jmai/sys/ctx/SpringContextUtils.java
jmai-sys/src/main/java/com/jmai/sys/entity/SysUser.java
jmai-physic/src/main/java/com/jmai/physic/dto/BillDTO.java
View file @
32440598
...
...
@@ -6,30 +6,26 @@ import lombok.Data;
@Data
public
class
BillDTO
{
@ApiModelProperty
(
value
=
"部门id"
)
private
Long
deptId
;
@ApiModelProperty
(
value
=
"药品名称"
)
private
String
physicName
;
@ApiModelProperty
(
value
=
"药品类型"
)
private
String
physicSpec
;
private
Long
deptId
;
@ApiModelProperty
(
value
=
"厂家名称"
)
private
String
factoryName
;
@ApiModelProperty
(
value
=
"失效时间"
)
private
String
expireDate
;
@ApiModelProperty
(
value
=
"批号"
)
private
String
batchNo
;
@ApiModelProperty
(
value
=
"数量"
)
private
Integer
physicNum
;
@ApiModelProperty
(
value
=
" 1-采购入库 2-申领入库 3-申领出库 4-使用出库 5-回收空安瓿 6-退回空安瓿 7-销毁空安瓿"
)
private
Integer
type
;
@ApiModelProperty
(
value
=
"厂家名称"
)
private
String
factoryName
;
@ApiModelProperty
(
value
=
"相关申请、入库id"
)
private
Long
refId
;
}
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicDestroyCheckCreateReq.java
View file @
32440598
...
...
@@ -2,17 +2,22 @@ package com.jmai.physic.dto;
import
com.jmai.physic.entity.PhysicDestroyCheckDetail
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Collections
;
import
java.util.List
;
@Data
public
class
PhysicDestroyCheckCreateReq
{
@ApiModelProperty
(
value
=
"申请人"
)
private
String
applyName
;
private
String
applyDeptId
;
@ApiModelProperty
(
value
=
"申请科室"
)
private
Long
applyDeptId
;
@ApiModelProperty
(
value
=
"申请标题"
)
private
String
applyTitle
;
@ApiModelProperty
(
value
=
"申请理由"
)
private
String
applyReason
;
private
List
<
Long
>
images
;
private
List
<
PhysicDestroyCheckDetail
>
checkDetailList
;
private
List
<
PhysicDestroyCheckDetail
>
checkDetailList
=
Collections
.
emptyList
()
;
}
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicRecordCreateReq.java
View file @
32440598
...
...
@@ -10,9 +10,13 @@ import java.util.List;
public
class
PhysicRecordCreateReq
{
@ApiModelProperty
(
value
=
"患者姓名"
)
private
String
sickName
;
@ApiModelProperty
(
value
=
"患者性别"
)
private
Integer
sickSex
;
@ApiModelProperty
(
value
=
"患者年龄"
)
private
Integer
sickAge
;
@ApiModelProperty
(
value
=
"患者身份证号"
)
private
String
sickIdCard
;
@ApiModelProperty
(
value
=
"住院号"
)
private
String
hospitalNumber
;
@ApiModelProperty
(
value
=
"疾病名称"
)
private
String
diseaseName
;
...
...
jmai-physic/src/main/java/com/jmai/physic/dto/PhysicStorageAmpouleCreateReq.java
View file @
32440598
...
...
@@ -9,16 +9,16 @@ import java.util.List;
@Data
public
class
PhysicStorageAmpouleCreateReq
{
@NotNull
(
message
=
"type不能为空"
)
@ApiModelProperty
(
value
=
"1-回收 2-移至销毁"
)
private
Integer
type
;
@ApiModelProperty
(
value
=
"移交部门"
)
private
Integer
transferDeptId
;
private
Long
transferDeptId
;
@ApiModelProperty
(
value
=
"备注"
)
private
String
remark
;
@ApiModelProperty
(
value
=
"回收处方数量"
)
private
Integer
recycleReceiptNum
;
@ApiModelProperty
(
value
=
"药品记录集"
)
...
...
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicAmpoule.java
View file @
32440598
...
...
@@ -10,8 +10,10 @@ import lombok.Data;
@Data
@ApiModel
(
description
=
"药品专用登记-科室/药房"
)
@TableName
(
"physic_ampoule"
)
public
class
PhysicAmpoule
extends
BaseVersionEntity
{
@ApiModelProperty
(
value
=
"部门ID"
)
private
Long
deptId
;
@ApiModelProperty
(
value
=
"药品名称"
)
private
String
physicName
;
@ApiModelProperty
(
value
=
"规格"
)
...
...
@@ -35,9 +37,6 @@ public class PhysicAmpoule extends BaseVersionEntity {
@ApiModelProperty
(
value
=
"订单号"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"部门ID"
)
private
Long
deptId
;
private
Integer
batchBalance
;
private
Integer
physicBalance
;
...
...
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicApply.java
View file @
32440598
...
...
@@ -35,7 +35,6 @@ public class PhysicApply extends BaseVersionEntity{
@ApiModelProperty
(
value
=
"实发数量"
)
private
Integer
actualNum
;
@ApiModelProperty
(
value
=
"发药部门"
)
private
Long
fyDeptId
;
@ApiModelProperty
(
value
=
"领药部门"
)
...
...
@@ -44,9 +43,13 @@ public class PhysicApply extends BaseVersionEntity{
@ApiModelProperty
(
value
=
"状态 0 -待领药 1-待审核 2-待发药 3 -待复核 4 -完成"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"领药人"
)
private
String
lyUser
;
@ApiModelProperty
(
value
=
"审核人"
)
private
String
shUser
;
@ApiModelProperty
(
value
=
"发药人"
)
private
String
fyUser
;
@ApiModelProperty
(
value
=
"复核人"
)
private
String
fhUser
;
}
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicBill.java
View file @
32440598
...
...
@@ -52,8 +52,4 @@ public class PhysicBill extends BaseVersionEntity {
private
Integer
balance
;
@ApiModelProperty
(
value
=
"总结存"
)
private
Integer
balanceAll
;
}
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicDestroy.java
View file @
32440598
...
...
@@ -7,26 +7,30 @@ import io.swagger.annotations.ApiModel;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.time.LocalDateTime
;
import
java.util.Date
;
@Data
@ApiModel
(
description
=
"药品销毁表"
)
@TableName
(
"physic_destroy"
)
public
class
PhysicDestroy
extends
BaseVersionEntity
{
@ApiModelProperty
(
value
=
"部门id"
)
private
Long
deptId
;
@ApiModelProperty
(
value
=
"患者名称"
)
private
String
sickName
;
@ApiModelProperty
(
value
=
"订单编号"
)
private
String
orderNo
;
private
String
surplus
;
@ApiModelProperty
(
value
=
"状态 0-代操作 1-待复核 2-已完成"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"操作人"
)
private
String
czUser
;
@ApiModelProperty
(
value
=
"复核人"
)
private
String
fhUser
;
@ApiModelProperty
(
value
=
"图片"
)
private
String
images
;
private
Date
destroyTime
;
@ApiModelProperty
(
value
=
"销毁时间"
)
private
LocalDateTime
destroyTime
;
}
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicDestroyCheck.java
View file @
32440598
...
...
@@ -11,19 +11,32 @@ import lombok.Data;
@ApiModel
(
description
=
"药品销毁审核表"
)
@TableName
(
"physic_destroy_check"
)
public
class
PhysicDestroyCheck
extends
BaseVersionEntity
{
@ApiModelProperty
(
value
=
"单号"
)
private
String
orderNo
;
@ApiModelProperty
(
value
=
"申请人"
)
private
String
applyName
;
@ApiModelProperty
(
value
=
"申请部门"
)
private
Long
applyDeptId
;
@ApiModelProperty
(
value
=
"申请标题"
)
private
String
applyTitle
;
@ApiModelProperty
(
value
=
"申请事由"
)
private
String
applyReason
;
@ApiModelProperty
(
value
=
"销毁数量"
)
private
Integer
destroyNum
;
@ApiModelProperty
(
value
=
"销毁状态:0-5审批中, 6-已销毁 "
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"销毁人"
)
private
String
xhUser
;
@ApiModelProperty
(
value
=
"监督人"
)
private
String
jdUser
;
@ApiModelProperty
(
value
=
"药学部主任"
)
private
String
yxbzrUser
;
@ApiModelProperty
(
value
=
"医务科科长"
)
private
String
ywkkzUser
;
@ApiModelProperty
(
value
=
"保卫科科长"
)
private
String
bwkkzUser
;
@ApiModelProperty
(
value
=
"主管院长"
)
private
String
zgyzUser
;
}
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicDestroyCheckDetail.java
View file @
32440598
...
...
@@ -11,18 +11,18 @@ import lombok.Data;
@ApiModel
(
description
=
"药品销毁审核详情表"
)
@TableName
(
"physic_destroy_check_detail"
)
public
class
PhysicDestroyCheckDetail
extends
BaseVersionEntity
{
@ApiModelProperty
(
value
=
"审核id"
)
private
Long
checkId
;
@ApiModelProperty
(
value
=
"药品名称"
)
private
String
physicName
;
@ApiModelProperty
(
value
=
"药品数量"
)
private
Integer
physicNum
;
@ApiModelProperty
(
value
=
"规格"
)
private
String
physicSpec
;
@ApiModelProperty
(
value
=
"生产厂家"
)
private
String
factoryName
;
@ApiModelProperty
(
value
=
"批号"
)
private
String
batchNo
;
private
String
factoryName
;
@ApiModelProperty
(
value
=
"药品数量"
)
private
Integer
physicNum
;
}
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicStorageAmpoule.java
View file @
32440598
...
...
@@ -12,7 +12,6 @@ import lombok.Data;
@TableName
(
"physic_storage_ampoule"
)
public
class
PhysicStorageAmpoule
extends
BaseVersionEntity
{
@ApiModelProperty
(
value
=
"药品名称"
)
private
String
physicName
;
@ApiModelProperty
(
value
=
"药品规格"
)
...
...
@@ -33,6 +32,8 @@ public class PhysicStorageAmpoule extends BaseVersionEntity {
private
Integer
acquireNum
;
@ApiModelProperty
(
value
=
"发出"
)
private
Integer
expendNum
;
@ApiModelProperty
(
value
=
"回收处方数量"
)
private
Integer
recycleReceiptNum
;
@ApiModelProperty
(
value
=
"类型:1-接收,2-移至销毁"
)
private
Integer
type
;
...
...
@@ -46,12 +47,12 @@ public class PhysicStorageAmpoule extends BaseVersionEntity {
@ApiModelProperty
(
value
=
"接收部门"
)
private
Long
acceptDeptId
;
private
Integer
recycleReceiptNum
;
private
Integer
batchBalance
;
private
Integer
physicBalance
;
@ApiModelProperty
(
value
=
"接收人"
)
private
String
jsUser
;
@ApiModelProperty
(
value
=
"退回人"
)
private
String
thUser
;
@ApiModelProperty
(
value
=
"状态:0-待处理、1-退出人处理、2-接收人处理"
)
...
...
jmai-physic/src/main/java/com/jmai/physic/entity/PhysicWarehouse.java
View file @
32440598
...
...
@@ -38,7 +38,10 @@ public class PhysicWarehouse extends BaseVersionEntity{
@ApiModelProperty
(
value
=
"状态 0 -待验收 1-待复核 2 -待保管 3 -完成"
)
private
Integer
status
;
@ApiModelProperty
(
value
=
"验收人"
)
private
String
ysUser
;
@ApiModelProperty
(
value
=
"复核人"
)
private
String
fhUser
;
@ApiModelProperty
(
value
=
"保管人"
)
private
String
bgUser
;
}
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicAmpouleServiceImpl.java
View file @
32440598
...
...
@@ -55,12 +55,18 @@ public class PhysicAmpouleServiceImpl extends AbstractService implements PhysicA
String
orderNo
=
sysManager
.
newOrderNo
(
PhysicAmpoule
.
class
);
PhysicAmpoule
ampoule
=
new
PhysicAmpoule
();
BeanUtil
.
copyProperties
(
req
,
ampoule
);
ampoule
.
set
OrderNo
(
orderNo
);
ampoule
.
set
DeptId
(
SpringContextUtils
.
getDeptId
()
);
ampoule
.
setPhysicName
(
physic
.
getPhysicName
());
ampoule
.
setBatchNo
(
physic
.
getBatchNo
());
ampoule
.
setPhysicNum
(
physic
.
getPhysicNum
());
ampoule
.
setPhysicSpec
(
physic
.
getPhysicSpec
());
ampoule
.
setPhysicType
(
physic
.
getPhysicType
());
ampoule
.
setUnit
(
physic
.
getUnit
());
ampoule
.
setFactoryName
(
physic
.
getFactoryName
());
ampoule
.
setExpireDate
(
physic
.
getExpireDate
());
ampoule
.
setBatchNo
(
physic
.
getBatchNo
());
ampoule
.
setPhysicNum
(
physic
.
getPhysicNum
());
ampoule
.
setType
(
req
.
getType
());
ampoule
.
setOrderNo
(
orderNo
);
ampoule
.
setRemark
(
req
.
getRemark
());
physicAmpouleMapper
.
insert
(
ampoule
);
}
}
...
...
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicApplyServiceImpl.java
View file @
32440598
...
...
@@ -30,7 +30,6 @@ import org.springframework.util.CollectionUtils;
import
javax.annotation.Resource
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
...
...
@@ -54,17 +53,23 @@ public class PhysicApplyServiceImpl extends AbstractService implements PhysicApp
@Transactional
@Override
public
PhysicApplyVO
createPhysicApply
(
PhysicApplyCreateReq
req
)
{
PhysicApply
apply
=
new
PhysicApply
();
BeanUtil
.
copyProperties
(
req
,
apply
);
PhysicApply
apply
=
new
PhysicApply
();
// 复制请求对象的属性到实体对象
BeanUtil
.
copyProperties
(
req
,
apply
);
Long
userId
=
SpringContextUtils
.
getUserId
();
SysUser
sysUser
=
sysUserMapper
.
selectById
(
userId
);
Long
deptId
=
sysUser
.
getDeptId
();
Long
deptId
=
SpringContextUtils
.
getDeptId
();
SysDept
sysDept
=
sysDeptMapper
.
selectById
(
deptId
);
apply
.
setLyDeptId
(
deptId
);
apply
.
setFyDeptId
(
sysDept
.
getParentId
());
apply
.
setLyDeptId
(
deptId
);
apply
.
setStatus
(
0
);
apply
.
setLyUser
(
""
);
apply
.
setShUser
(
""
);
apply
.
setFyUser
(
""
);
apply
.
setFhUser
(
""
);
physicApplyMapper
.
insert
(
apply
);
PhysicApplyVO
info
=
getInfo
(
apply
.
getId
());
return
info
;
...
...
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicBillServiceImpl.java
View file @
32440598
package
com
.
jmai
.
physic
.
service
.
impl
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.jmai.api.exception.ServiceException
;
...
...
@@ -10,8 +11,6 @@ import com.jmai.physic.dto.PhysicBillQueryReq;
import
com.jmai.physic.dto.PhysicBillSignReq
;
import
com.jmai.physic.dto.SignInfoDTO
;
import
com.jmai.physic.entity.PhysicBill
;
import
com.jmai.physic.entity.PhysicDestroyCheck
;
import
com.jmai.physic.entity.PhysicWarehouse
;
import
com.jmai.physic.mapper.PhysicBillMapper
;
import
com.jmai.physic.service.PhysicBillService
;
import
com.jmai.physic.vo.BillInfoVO
;
...
...
@@ -43,21 +42,21 @@ public class PhysicBillServiceImpl extends AbstractService implements PhysicBill
@Transactional
@Override
public
void
createBill
(
BillDTO
billDTO
)
{
public
void
createBill
(
BillDTO
req
)
{
PhysicBill
bill
=
new
PhysicBill
();
BeanUtil
.
copyProperties
(
billDTO
,
bill
);
bill
.
setType
(
billDTO
.
getType
());
Integer
batchNoSum
=
physicBillMapper
.
selectSumByBatchNo
(
billDTO
.
getPhysicName
(),
billDTO
.
getPhysicSpec
(),
billDTO
.
getFactoryName
(),
billDTO
.
getBatchNo
(),
billDTO
.
getDeptId
());
Integer
sum
=
physicBillMapper
.
selectSumByName
(
billDTO
.
getPhysicName
(),
billDTO
.
getPhysicSpec
(),
billDTO
.
getFactoryName
(),
billDTO
.
getDeptId
());
if
(
billDTO
.
getType
()==
1
||
billDTO
.
getType
()==
2
)
{
bill
.
setAcquireNum
(
billDTO
.
getPhysicNum
());
bill
.
setBalance
(
batchNoSum
+
billDTO
.
getPhysicNum
());
bill
.
setBalanceAll
(
sum
+
billDTO
.
getPhysicNum
());
}
else
if
(
billDTO
.
getType
()==
3
||
billDTO
.
getType
()==
4
)
{
bill
.
setExpendNum
(
billDTO
.
getPhysicNum
());
bill
.
setBalance
(
batchNoSum
-
billDTO
.
getPhysicNum
());
bill
.
setBalanceAll
(
sum
-
billDTO
.
getPhysicNum
());
BeanUtil
.
copyProperties
(
req
,
bill
);
bill
.
setType
(
req
.
getType
());
Integer
batchNoSum
=
physicBillMapper
.
selectSumByBatchNo
(
req
.
getPhysicName
(),
req
.
getPhysicSpec
(),
req
.
getFactoryName
(),
req
.
getBatchNo
(),
req
.
getDeptId
());
Integer
sum
=
physicBillMapper
.
selectSumByName
(
req
.
getPhysicName
(),
req
.
getPhysicSpec
(),
req
.
getFactoryName
(),
req
.
getDeptId
());
if
(
ObjectUtil
.
equals
(
req
.
getType
(),
1
)
||
ObjectUtil
.
equals
(
req
.
getType
(),
2
))
{
bill
.
setAcquireNum
(
req
.
getPhysicNum
());
bill
.
setBalance
(
batchNoSum
+
req
.
getPhysicNum
());
bill
.
setBalanceAll
(
sum
+
req
.
getPhysicNum
());
}
else
if
(
ObjectUtil
.
equals
(
req
.
getType
(),
3
)
||
ObjectUtil
.
equals
(
req
.
getType
(),
4
))
{
bill
.
setExpendNum
(
req
.
getPhysicNum
());
bill
.
setBalance
(
batchNoSum
-
req
.
getPhysicNum
());
bill
.
setBalanceAll
(
sum
-
req
.
getPhysicNum
());
}
bill
.
setStatus
(
0
);
...
...
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicDestroyCheckServiceImpl.java
View file @
32440598
...
...
@@ -70,20 +70,26 @@ public class PhysicDestroyCheckServiceImpl extends BaseServiceImpl<PhysicDestroy
@Override
public
void
create
(
PhysicDestroyCheckCreateReq
req
)
{
String
orderNo
=
sysManager
.
newOrderNo
(
PhysicDestroyCheck
.
class
);
int
destroyNum
=
req
.
getCheckDetailList
().
stream
().
mapToInt
(
PhysicDestroyCheckDetail:
:
getPhysicNum
).
sum
();
PhysicDestroyCheck
check
=
new
PhysicDestroyCheck
();
BeanUtil
.
copyProperties
(
req
,
check
);
BeanUtil
.
copyProperties
(
req
,
check
);
check
.
setOrderNo
(
orderNo
);
check
.
setApplyName
(
req
.
getApplyName
());
check
.
setApplyDeptId
(
req
.
getApplyDeptId
());
check
.
setApplyTitle
(
req
.
getApplyTitle
());
check
.
setApplyReason
(
req
.
getApplyReason
());
check
.
setDestroyNum
(
destroyNum
);
// 相关人员初始化为空
this
.
save
(
check
);
if
(
CollectionUtils
.
isNotEmpty
(
req
.
getCheckDetailList
()))
{
for
(
PhysicDestroyCheckDetail
physicDestroyCheckDetail
:
req
.
getCheckDetailList
())
{
physicDestroyCheckDetail
.
setCheckId
(
check
.
getId
());
}
if
(
CollectionUtils
.
isNotEmpty
(
req
.
getCheckDetailList
()))
{
req
.
getCheckDetailList
().
forEach
(
detail
->
detail
.
setCheckId
(
check
.
getId
()));
physicDestroyCheckDetailService
.
saveBatch
(
req
.
getCheckDetailList
());
}
if
(
ObjectUtil
.
isNotEmpty
(
req
.
getImages
())){
if
(
CollectionUtils
.
isNotEmpty
(
req
.
getImages
()))
{
bizFileService
.
addBizFilesIfAbsent
(
BizFileTypes
.
AMPOULE_DESTROY_IMAGE
,
check
.
getId
().
toString
(),
req
.
getImages
());
}
if
(
ObjectUtil
.
isNotEmpty
(
req
.
getImages
()))
{
bizFileService
.
addBizFilesIfAbsent
(
BizFileTypes
.
AMPOULE_DESTROY_IMAGE
,
check
.
getId
().
toString
(),
req
.
getImages
());
}
}
...
...
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicDestroyServiceImpl.java
View file @
32440598
...
...
@@ -7,8 +7,6 @@ import com.jmai.api.exception.ServiceException;
import
com.jmai.physic.cloudsign.CloudsignService
;
import
com.jmai.physic.dto.*
;
import
com.jmai.physic.entity.PhysicDestroy
;
import
com.jmai.physic.entity.PhysicRecord
;
import
com.jmai.physic.entity.PhysicWarehouse
;
import
com.jmai.physic.mapper.PhysicDestroyMapper
;
import
com.jmai.physic.service.PhysicBillService
;
import
com.jmai.physic.service.PhysicDestroyService
;
...
...
@@ -40,17 +38,15 @@ public class PhysicDestroyServiceImpl extends AbstractService implements PhysicD
@Override
public
void
create
(
PhysicDestroyCreateReq
req
)
{
Long
userId
=
SpringContextUtils
.
getUserId
();
SysUser
sysUser
=
sysUserMapper
.
selectById
(
userId
);
String
orderNo
=
sysManager
.
newOrderNo
(
PhysicDestroy
.
class
);
PhysicDestroy
destroy
=
new
PhysicDestroy
();
BeanUtil
.
copyProperties
(
req
,
destroy
);
PhysicDestroy
destroy
=
new
PhysicDestroy
();
BeanUtil
.
copyProperties
(
req
,
destroy
);
destroy
.
setDeptId
(
SpringContextUtils
.
getDeptId
());
destroy
.
setOrderNo
(
orderNo
);
destroy
.
set
DeptId
(
sysUser
.
getDeptId
());
destroy
.
set
Surplus
(
req
.
getSurplus
());
destroy
.
setStatus
(
0
);
destroy
.
setDestroyTime
(
LocalDateTime
.
now
());
physicDestroyMapper
.
insert
(
destroy
);
}
@Override
...
...
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicRecordServiceImpl.java
View file @
32440598
...
...
@@ -53,25 +53,26 @@ public class PhysicRecordServiceImpl extends AbstractService implements PhysicRe
private
PhysicBillService
physicBillService
;
@Transactional
@Override
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
())
{
PhysicRecord
record
=
new
PhysicRecord
();
BeanUtil
.
copyProperties
(
req
,
record
);
BeanUtil
.
copyProperties
(
req
,
record
);
record
.
setDeptId
(
SpringContextUtils
.
getDeptId
());
record
.
setPhysicName
(
physic
.
getPhysicName
());
record
.
setPhysicSpec
(
physic
.
getPhysicSpec
());
record
.
setPhysicType
(
physic
.
getPhysicType
());
record
.
setUnit
(
physic
.
getUnit
());
record
.
setFactoryName
(
physic
.
getFactoryName
());
record
.
setExpireDate
(
physic
.
getExpireDate
());
record
.
setBatchNo
(
physic
.
getBatchNo
());
record
.
setPhysicNum
(
physic
.
getPhysicNum
());
record
.
setPhysicSpec
(
physic
.
getPhysicSpec
());
record
.
setDeptId
(
sysUser
.
getDeptId
());
physicRecordMapper
.
insert
(
record
);
if
(
ObjectUtil
.
isNotEmpty
(
req
.
getPrescriptionImages
()))
{
if
(
ObjectUtil
.
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
);
...
...
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicStorageAmpouleServiceImpl.java
View file @
32440598
...
...
@@ -49,47 +49,87 @@ public class PhysicStorageAmpouleServiceImpl extends AbstractService implements
@Transactional
@Override
public
void
create
(
PhysicStorageAmpouleCreateReq
req
)
{
Long
userId
=
SpringContextUtils
.
getUserId
();
SysUser
sysUser
=
sysUserMapper
.
selectById
(
userId
);
Long
deptId
=
SpringContextUtils
.
getDeptId
();
if
(
req
.
getType
()==
1
)
{
if
(
ObjectUtil
.
equals
(
req
.
getType
(),
1
))
{
// 1-回收
for
(
PhysicStorageAmpouleCreateReq
.
Physic
physic
:
req
.
getPhysicList
())
{
String
orderNo
=
sysManager
.
newOrderNo
(
PhysicStorageAmpoule
.
class
);
PhysicStorageAmpoule
ampoule
=
new
PhysicStorageAmpoule
();
BeanUtil
.
copyProperties
(
req
,
ampoule
);
ampoule
.
setOrderNo
(
orderNo
);
ampoule
.
setPhysicName
(
physic
.
getPhysicName
());
ampoule
.
setBatchNo
(
physic
.
getBatchNo
());
ampoule
.
setAcceptDeptId
(
sysUser
.
getDeptId
());
ampoule
.
setPhysicNum
(
physic
.
getPhysicNum
());
ampoule
.
setPhysicSpec
(
physic
.
getPhysicSpec
());
ampoule
.
setPhysicType
(
physic
.
getPhysicType
());
ampoule
.
setUnit
(
physic
.
getUnit
());
ampoule
.
setFactoryName
(
physic
.
getFactoryName
());
ampoule
.
setBatchNo
(
physic
.
getBatchNo
());
ampoule
.
setPhysicNum
(
physic
.
getPhysicNum
());
ampoule
.
setAcquireNum
(
physic
.
getPhysicNum
());
Integer
batchNoSum
=
physicStorageAmpouleMapper
.
selectCurrentSumByBatchNo
(
physic
.
getPhysicName
(),
physic
.
getPhysicSpec
(),
physic
.
getFactoryName
(),
physic
.
getBatchNo
(),
sysUser
.
getDeptId
());
Integer
physicSum
=
physicStorageAmpouleMapper
.
selectCurrentSumByName
(
physic
.
getPhysicName
(),
physic
.
getPhysicSpec
(),
physic
.
getFactoryName
(),
sysUser
.
getDeptId
());
ampoule
.
setExpendNum
(
null
);
ampoule
.
setRecycleReceiptNum
(
req
.
getRecycleReceiptNum
());
ampoule
.
setType
(
req
.
getType
());
ampoule
.
setTransferDeptId
(
req
.
getTransferDeptId
());
ampoule
.
setAcceptDeptId
(
deptId
);
// 统计数量
Integer
batchNoSum
=
physicStorageAmpouleMapper
.
selectCurrentSumByBatchNo
(
physic
.
getPhysicName
(),
physic
.
getPhysicSpec
(),
physic
.
getFactoryName
(),
physic
.
getBatchNo
(),
deptId
);
Integer
physicSum
=
physicStorageAmpouleMapper
.
selectCurrentSumByName
(
physic
.
getPhysicName
(),
physic
.
getPhysicSpec
(),
physic
.
getFactoryName
(),
deptId
);
ampoule
.
setBatchBalance
(
batchNoSum
+
physic
.
getPhysicNum
());
ampoule
.
setPhysicNum
(
physicSum
+
physic
.
getPhysicNum
());
ampoule
.
setJsUser
(
null
);
ampoule
.
setThUser
(
null
);
ampoule
.
setStatus
(
0
);
ampoule
.
setRemark
(
req
.
getRemark
());
physicStorageAmpouleMapper
.
insert
(
ampoule
);
}
}
if
(
req
.
getType
()==
2
)
{
}
else
if
(
ObjectUtil
.
equals
(
req
.
getType
(),
2
))
{
// 2-移至销毁
for
(
PhysicStorageAmpouleCreateReq
.
Physic
physic
:
req
.
getPhysicList
())
{
String
orderNo
=
sysManager
.
newOrderNo
(
PhysicStorageAmpoule
.
class
);
PhysicStorageAmpoule
ampoule
=
new
PhysicStorageAmpoule
();
BeanUtil
.
copyProperties
(
req
,
ampoule
);
ampoule
.
setOrderNo
(
orderNo
);
ampoule
.
setPhysicName
(
physic
.
getPhysicName
());
ampoule
.
setBatchNo
(
physic
.
getBatchNo
());
ampoule
.
setTransferDeptId
(
sysUser
.
getDeptId
());
ampoule
.
setAcceptDeptId
(
sysUser
.
getDeptId
());
ampoule
.
setPhysicNum
(
physic
.
getPhysicNum
());
ampoule
.
setPhysicSpec
(
physic
.
getPhysicSpec
());
ampoule
.
setPhysicType
(
physic
.
getPhysicType
());
Integer
batchNoSum
=
physicStorageAmpouleMapper
.
selectCurrentSumByBatchNo
(
physic
.
getPhysicName
(),
physic
.
getPhysicSpec
(),
physic
.
getFactoryName
(),
physic
.
getBatchNo
(),
sysUser
.
getDeptId
());
Integer
physicSum
=
physicStorageAmpouleMapper
.
selectCurrentSumByName
(
physic
.
getPhysicName
(),
physic
.
getPhysicSpec
(),
physic
.
getFactoryName
(),
sysUser
.
getDeptId
());
ampoule
.
setUnit
(
physic
.
getUnit
());
ampoule
.
setFactoryName
(
physic
.
getFactoryName
());
ampoule
.
setBatchNo
(
physic
.
getBatchNo
());
ampoule
.
setPhysicNum
(
physic
.
getPhysicNum
());
ampoule
.
setAcquireNum
(
physic
.
getPhysicNum
());
ampoule
.
setExpendNum
(
null
);
ampoule
.
setRecycleReceiptNum
(
req
.
getRecycleReceiptNum
());
ampoule
.
setType
(
req
.
getType
());
ampoule
.
setTransferDeptId
(
deptId
);
ampoule
.
setAcceptDeptId
(
deptId
);
Integer
batchNoSum
=
physicStorageAmpouleMapper
.
selectCurrentSumByBatchNo
(
physic
.
getPhysicName
(),
physic
.
getPhysicSpec
(),
physic
.
getFactoryName
(),
physic
.
getBatchNo
(),
deptId
);
Integer
physicSum
=
physicStorageAmpouleMapper
.
selectCurrentSumByName
(
physic
.
getPhysicName
(),
physic
.
getPhysicSpec
(),
physic
.
getFactoryName
(),
deptId
);
ampoule
.
setBatchBalance
(
batchNoSum
);
ampoule
.
setPhysicNum
(
physicSum
);
ampoule
.
setJsUser
(
null
);
ampoule
.
setThUser
(
null
);
ampoule
.
setStatus
(
0
);
ampoule
.
setRemark
(
req
.
getRemark
());
physicStorageAmpouleMapper
.
insert
(
ampoule
);
}
}
else
{
throw
new
ServiceException
(
"类型错误:type="
+
req
.
getType
());
}
}
...
...
jmai-physic/src/main/java/com/jmai/physic/service/impl/PhysicWarehouseServiceImpl.java
View file @
32440598
...
...
@@ -6,12 +6,9 @@ import cn.hutool.json.JSONUtil;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.jmai.api.exception.ServiceException
;
import
com.jmai.physic.cloudsign.CloudsignService
;
import
com.jmai.physic.dto.*
;
import
com.jmai.physic.entity.PhysicAmpoule
;
import
com.jmai.physic.entity.PhysicDestroyCheck
;
import
com.jmai.physic.entity.PhysicWarehouse
;
import
com.jmai.physic.mapper.PhysicAmpouleMapper
;
import
com.jmai.physic.mapper.PhysicWarehouseMapper
;
...
...
@@ -60,13 +57,23 @@ public class PhysicWarehouseServiceImpl extends AbstractService implements Phys
public
PhysicWarehouseVO
createPhysicWarehouse
(
PhysicWarehouseCreateReq
req
)
{
PhysicWarehouse
physicWarehouse
=
new
PhysicWarehouse
();
BeanUtil
.
copyProperties
(
req
,
physicWarehouse
);
physicWarehouse
.
setDeptId
(
SpringContextUtils
.
getDeptId
());
physicWarehouse
.
setPhysicName
(
req
.
getPhysicName
());
physicWarehouse
.
setPhysicSpec
(
req
.
getPhysicSpec
());
physicWarehouse
.
setPhysicType
(
req
.
getPhysicType
());
physicWarehouse
.
setUnit
(
req
.
getUnit
());
physicWarehouse
.
setFactoryName
(
req
.
getFactoryName
());
physicWarehouse
.
setExpireDate
(
req
.
getExpireDate
());
physicWarehouse
.
setSupplyName
(
req
.
getSupplyName
());
physicWarehouse
.
setVoucherNo
(
req
.
getVoucherNo
());
physicWarehouse
.
setBatchNo
(
req
.
getBatchNo
());
physicWarehouse
.
setPhysicNum
(
req
.
getPhysicNum
());
physicWarehouse
.
setStatus
(
0
);
Long
userId
=
SpringContextUtils
.
getUserId
(
);
SysUser
sysUser
=
sysUserMapper
.
selectById
(
userId
);
physicWarehouse
.
set
DeptId
(
sysUser
.
getDeptId
()
);
physicWarehouse
.
setYsUser
(
null
);
physicWarehouse
.
setFhUser
(
null
);
physicWarehouse
.
set
BgUser
(
null
);
physicWarehouseMapper
.
insert
(
physicWarehouse
);
PhysicWarehouseVO
info
=
getInfo
(
physicWarehouse
.
getId
());
return
info
;
return
getInfo
(
physicWarehouse
.
getId
());
}
@Override
...
...
jmai-physic/src/main/java/com/jmai/physic/vo/PhysicAmpouleVO.java
View file @
32440598
...
...
@@ -5,5 +5,6 @@ import lombok.Data;
@Data
public
class
PhysicAmpouleVO
extends
PhysicAmpoule
{
private
String
deptName
;
private
String
createName
;
}
jmai-sys/src/main/java/com/jmai/sys/consts/HeaderCode.java
View file @
32440598
...
...
@@ -37,7 +37,9 @@ public interface HeaderCode {
String
USER_ID
=
"User-Id"
;
String
USER_NAME
=
"User-Name"
;
String
USER_TYPE
=
"User-Type"
;
String
DEPT_ID
=
"Dept-Id"
;
String
AUTH_DEPT_LIST
=
"Auth-Dept-List"
;
String
ROLE_LIST
=
"Role-List"
;
...
...
jmai-sys/src/main/java/com/jmai/sys/ctx/SpringContextUtils.java
View file @
32440598
...
...
@@ -4,6 +4,7 @@ import cn.hutool.core.convert.Convert;
import
cn.hutool.core.map.MapUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.alibaba.ttl.TransmittableThreadLocal
;
import
com.jmai.api.base.BaseService
;
import
com.jmai.sys.consts.HeaderCode
;
import
com.jmai.sys.consts.SpecialCharacterPool
;
import
com.jmai.sys.consts.enums.UserTypeEnum
;
...
...
@@ -18,12 +19,15 @@ import org.springframework.web.context.request.RequestContextHolder;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
import
java.util.Optional
;
import
java.util.concurrent.ConcurrentHashMap
;
import
static
com
.
jmai
.
api
.
base
.
BaseService
.
copyTo
;
import
static
com
.
jmai
.
api
.
base
.
BaseService
.
extractLongList
;
@Component
public
class
SpringContextUtils
implements
ApplicationContextAware
{
...
...
@@ -176,6 +180,18 @@ public class SpringContextUtils implements ApplicationContextAware {
.
map
(
userType
->
Long
.
parseLong
(
userType
))
.
orElse
(
null
);
}
public
static
Long
getDeptId
()
{
String
value
=
get
(
HeaderCode
.
DEPT_ID
);
return
Optional
.
ofNullable
(
value
).
filter
(
ObjectUtil:
:
isNotEmpty
).
map
(
Long:
:
valueOf
).
orElse
(
null
);
}
public
static
List
<
Long
>
getAuthDeptList
()
{
String
value
=
get
(
HeaderCode
.
AUTH_DEPT_LIST
);
return
Optional
.
ofNullable
(
value
).
filter
(
ObjectUtil:
:
isNotEmpty
).
map
(
BaseService:
:
extractLongList
).
orElse
(
Collections
.
emptyList
());
}
public
static
List
<
Long
>
getRoleList
()
{
String
value
=
get
(
HeaderCode
.
ROLE_LIST
);
return
Optional
.
ofNullable
(
value
).
filter
(
ObjectUtil:
:
isNotEmpty
).
map
(
BaseService:
:
extractLongList
).
orElse
(
Collections
.
emptyList
());
}
public
static
UserTypeEnum
getUserTypeEnum
()
{
Long
userType
=
getUserType
();
return
ObjectUtil
.
isNotEmpty
(
userType
)
?
UserTypeEnum
.
getEnum
(
userType
)
:
null
;
...
...
jmai-sys/src/main/java/com/jmai/sys/entity/SysUser.java
View file @
32440598
...
...
@@ -29,10 +29,8 @@ public class SysUser extends BaseExtEntity implements IStatus {
@ApiModelProperty
(
value
=
"组织(ID)列表(逗号隔开)"
)
private
String
authDeptList
;
@ApiModelProperty
(
value
=
"组织(ID)"
)
private
Long
deptId
;
@ApiModelProperty
(
value
=
"用户类型(角色)列表(逗号隔开)"
)
private
String
roleList
;
...
...
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