feat(invoice): 完善发票管理权限控制和检验申请功能

- 超级管理员可以编辑操作员字段,普通用户不可编辑
- 修改权限判断逻辑,只有用户名等于 'admin' 的用户才是超级管理员
- 非超级管理员用户只能查询自己的发票数据
- 添加根据员工ID更新操作员名称功能
- 新增行时根据用户权限填充信息
- 严格检查权限,超级管理员可以删除所有记录,普通用户只能删除自己维护的记录
- 在 bargain 组件中验证患者选择
- 添加检验申请单相关API接口
- 在医生工作站中添加检验申请tab页
- 实现检验申请单的增删改查功能
- 添加公告通知已读记录相关功能
- 实现用户未读公告数量统计和标记已读功能
This commit is contained in:
2025-12-30 13:52:15 +08:00
parent 49b8a975a8
commit 1c16d6ba0f
10 changed files with 443 additions and 41 deletions

View File

@@ -10,6 +10,7 @@
<result property="noticeType" column="notice_type"/>
<result property="noticeContent" column="notice_content"/>
<result property="status" column="status"/>
<result property="publishStatus" column="publish_status"/>
<result property="createBy" column="create_by"/>
<result property="createTime" column="create_time"/>
<result property="updateBy" column="update_by"/>
@@ -21,8 +22,9 @@
select notice_id,
notice_title,
notice_type,
cast(notice_content as char) as notice_content,
convert_from(notice_content, 'UTF8') as notice_content,
status,
publish_status,
create_by,
create_time,
update_by,
@@ -48,11 +50,19 @@
<if test="createBy != null and createBy != ''">
AND create_by like concat('%', #{createBy}, '%')
</if>
<if test="status != null and status != ''">
AND status = #{status}
</if>
<if test="publishStatus != null and publishStatus != ''">
AND publish_status = #{publishStatus}
</if>
</where>
order by create_time desc
</select>
<insert id="insertNotice" parameterType="SysNotice">
insert into sys_notice (
notice_id,
<if test="noticeTitle != null and noticeTitle != '' ">notice_title,</if>
<if test="noticeType != null and noticeType != '' ">notice_type,</if>
<if test="noticeContent != null and noticeContent != '' ">notice_content,</if>
@@ -61,9 +71,10 @@
<if test="createBy != null and createBy != ''">create_by,</if>
create_time
)values(
(SELECT COALESCE(MAX(notice_id), 0) + 1 FROM sys_notice),
<if test="noticeTitle != null and noticeTitle != ''">#{noticeTitle},</if>
<if test="noticeType != null and noticeType != ''">#{noticeType},</if>
<if test="noticeContent != null and noticeContent != ''">#{noticeContent},</if>
<if test="noticeContent != null and noticeContent != ''">cast(#{noticeContent} as bytea),</if>
<if test="status != null and status != ''">#{status},</if>
<if test="remark != null and remark != ''">#{remark},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if>
@@ -76,8 +87,9 @@
<set>
<if test="noticeTitle != null and noticeTitle != ''">notice_title = #{noticeTitle},</if>
<if test="noticeType != null and noticeType != ''">notice_type = #{noticeType},</if>
<if test="noticeContent != null">notice_content = #{noticeContent},</if>
<if test="noticeContent != null">notice_content = cast(#{noticeContent} as bytea),</if>
<if test="status != null and status != ''">status = #{status},</if>
<if test="publishStatus != null and publishStatus != ''">publish_status = #{publishStatus},</if>
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
update_time = now()
</set>