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
3445cc84
authored
Jan 20, 2026
by
zhu.zewen
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
修复剩余药品数量/可销毁数量
parent
0a44c500
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
43 additions
and
24 deletions
jmai-physic/src/main/java/com/jmai/physic/mapper/PhysicStorageAmpouleMapper.java
jmai-physic/src/main/java/com/jmai/physic/vo/PhysicDestroyNumVO.java
jmai-physic/src/main/resources/mapper/PhysicStorageAmpouleMapper.xml
jmai-physic/src/main/java/com/jmai/physic/mapper/PhysicStorageAmpouleMapper.java
View file @
3445cc84
...
...
@@ -20,6 +20,9 @@ public interface PhysicStorageAmpouleMapper extends BaseMapper<PhysicStorageAmpo
Integer
selectCurrentSumByName
(
@Param
(
"name"
)
String
name
,
@Param
(
"spec"
)
String
spec
,
@Param
(
"factoryName"
)
String
factoryName
);
/**
* 获取剩余药品数量(可销毁数量=库存数量 - 已销毁数量)
*/
List
<
PhysicDestroyNumVO
>
selectDestroy
(
@Param
(
"deptId"
)
Long
deptId
);
}
jmai-physic/src/main/java/com/jmai/physic/vo/PhysicDestroyNumVO.java
View file @
3445cc84
...
...
@@ -17,6 +17,6 @@ public class PhysicDestroyNumVO {
private
String
factoryName
;
private
String
unit
;
private
String
remark
;
@ApiModelProperty
(
value
=
"销毁数量"
)
@ApiModelProperty
(
value
=
"
剩余数量/可
销毁数量"
)
private
Integer
destroyNum
;
}
jmai-physic/src/main/resources/mapper/PhysicStorageAmpouleMapper.xml
View file @
3445cc84
...
...
@@ -44,28 +44,44 @@
<select
id=
"selectDestroy"
resultType=
"com.jmai.physic.vo.PhysicDestroyNumVO"
>
SELECT
a.id,
a.order_no AS ampouleOrderNo,
d.order_no AS destroyCheckOrderNo,
a.physic_name,
a.physic_spec,
a.batch_no,
a.factory_name,
a.unit,
(IFNULL(sum(a.physic_num),0) - IFNULL(sum(a.expend_num),0)) AS destroyNum,
a.type,
a.destroy_status,
d.status AS destroyCheckStatus
FROM physic_storage_ampoule a
LEFT JOIN physic_destroy_check d ON a.order_no = d.order_no
WHERE a.del_flag = 0
AND a.accept_dept_id = #{deptId}
-- 2-移至销毁
AND a.type = 2
-- 销毁状态:0-待销毁 1-已销毁
AND a.destroy_status = 0
-- 销毁状态:0-5审批中, 100-已销毁
AND (d.id IS NULL OR d.status BETWEEN 0 AND 99)
GROUP BY a.physic_name,a.physic_spec,a.batch_no,a.factory_name,a.accept_dept_id
s.physic_name,
s.physic_spec,
s.batch_no,
s.factory_name,
s.unit,
(IFNULL(s.total_physic_num, 0) - IFNULL(d.total_destroy_num, 0)) AS destroyNum
FROM (
-- 按药品名称、规格、批号、厂家分组统计physic_storage_ampoule表中的physic_num数量
SELECT
physic_name,
physic_spec,
batch_no,
factory_name,
unit,
SUM(physic_num) AS total_physic_num
FROM physic_storage_ampoule
WHERE del_flag = 0
AND accept_dept_id = #{deptId}
AND type = 2
AND destroy_status = 0
GROUP BY physic_name, physic_spec, batch_no, factory_name, unit
) s
LEFT JOIN (
-- 按药品名称、规格、批号、厂家分组统计physic_destroy_check_detail表中的destroy_num数量
SELECT
d.physic_name,
d.physic_spec,
d.batch_no,
d.factory_name,
SUM(d.destroy_num) AS total_destroy_num
FROM physic_destroy_check_detail d
INNER JOIN physic_destroy_check c ON d.check_id = c.id AND c.del_flag = 0 AND c._dept_id = #{deptId}
WHERE d.del_flag = 0
GROUP BY d.physic_name, d.physic_spec, d.batch_no, d.factory_name
) d ON s.physic_name = d.physic_name
AND s.physic_spec = d.physic_spec
AND s.batch_no = d.batch_no
AND s.factory_name = d.factory_name
ORDER BY s.physic_name ASC, s.physic_spec ASC, s.factory_name ASC, s.batch_no ASC
</select>
</mapper>
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