feat: 会议劳务/会务材料分轨审核 + 注册页标题 + 下拉空值修复
会议材料分轨 (material_audit_stage 单轨 → labor/service 双轨): - biz_meeting: labor_audit_stage/labor_compliance_approved + service_audit_stage/service_compliance_approved 四列替换原单轨两列 - StageDeriver: 单轨状态机(R/N/C0/C1/A) + 角色优先级选代表轨 + 会议物理态取两轨最小进度 - MeetingAuditStageEnum / 前端 meetingStage.js 镜像: 分轨推导 + 颜色跟随角色展示阶段(避免文案与颜色错位) - BizMeetingController/ServiceImpl/AuditLog + mapper + MeetingStageScheduler 同步分轨字段 - MeetingDetail/Meetings/doctor/executor Meetings/ManagerProjectDetail/ManagerProjectsAssign/PublicityDetail 同步双轨 其它: - 注册页 (执行单位/专家/支持单位) 加居中页标题 - DoctorDeptSelect/DoctorTitleSelect 空字符串统一 null, 避免挂载必填项飘红 - BizOrgMapper sponsor/executor options 加 status 字段 - sponsor/NewPerson 编辑态 orgName 只读
This commit is contained in:
+4
-1
@@ -15,11 +15,12 @@
|
||||
<result property="auditTime" column="audit_time" />
|
||||
<result property="auditType" column="audit_type" />
|
||||
<result property="auditResult" column="audit_result" />
|
||||
<result property="materialType" column="material_type" />
|
||||
<result property="isDeleted" column="is_deleted" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectFields">
|
||||
select id, meeting_id, auditor, opinion, executor_stage, sponsor_stage, manager_stage, admin_stage, create_time, audit_time, audit_type, audit_result, is_deleted
|
||||
select id, meeting_id, auditor, opinion, executor_stage, sponsor_stage, manager_stage, admin_stage, create_time, audit_time, audit_type, audit_result, material_type, is_deleted
|
||||
from biz_meeting_audit_log
|
||||
</sql>
|
||||
|
||||
@@ -52,6 +53,7 @@
|
||||
<if test="auditTime != null">audit_time,</if>
|
||||
<if test="auditType != null and auditType != ''">audit_type,</if>
|
||||
<if test="auditResult != null and auditResult != ''">audit_result,</if>
|
||||
<if test="materialType != null and materialType != ''">material_type,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="meetingId != null">#{meetingId},</if>
|
||||
@@ -65,6 +67,7 @@
|
||||
<if test="auditTime != null">#{auditTime},</if>
|
||||
<if test="auditType != null and auditType != ''">#{auditType},</if>
|
||||
<if test="auditResult != null and auditResult != ''">#{auditResult},</if>
|
||||
<if test="materialType != null and materialType != ''">#{materialType},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
|
||||
@@ -21,7 +21,8 @@
|
||||
<result property="supervisionOpinion" column="supervision_opinion" />
|
||||
<result property="supervisionBy" column="supervision_by" />
|
||||
<result property="supervisionTime" column="supervision_time" />
|
||||
<result property="materialAuditStage" column="material_audit_stage" />
|
||||
<result property="laborAuditStage" column="labor_audit_stage" />
|
||||
<result property="serviceAuditStage" column="service_audit_stage" />
|
||||
<result property="isExecuted" column="is_executed" />
|
||||
<result property="executeTime" column="execute_time" />
|
||||
<result property="isSettled" column="is_settled" />
|
||||
@@ -31,7 +32,8 @@
|
||||
<result property="isFrozen" column="is_frozen" />
|
||||
<result property="freezeTime" column="freeze_time" />
|
||||
<result property="materialAuditTime" column="material_audit_time" />
|
||||
<result property="materialComplianceApproved" column="material_compliance_approved" />
|
||||
<result property="laborComplianceApproved" column="labor_compliance_approved" />
|
||||
<result property="serviceComplianceApproved" column="service_compliance_approved" />
|
||||
<result property="submitDeadline" column="submit_deadline" />
|
||||
<result property="invitationUrl" column="invitation_url" />
|
||||
<result property="projectInvitationUrl" column="project_invitation_url" />
|
||||
@@ -51,7 +53,7 @@
|
||||
<result property="isDeleted" column="is_deleted" />
|
||||
</resultMap>
|
||||
<sql id="selectFields">
|
||||
meeting_id, business_id, project_id, execution_unit_id, project_no, project_name, meeting_name, period_no, total_periods, project_form, start_time, end_time, address, remark, current_stage, supervision_opinion, supervision_by, supervision_time, material_audit_stage, is_executed, execute_time, is_settled, settle_time, is_finished, finish_time, is_frozen, freeze_time, material_audit_time, material_compliance_approved, submit_deadline, invitation_url, schedule_url, poster_url, labor_signed, labor_fee, meeting_fee, total_fee, fee_calc_status, create_by, create_time, update_by, update_time, is_deleted
|
||||
meeting_id, business_id, project_id, execution_unit_id, project_no, project_name, meeting_name, period_no, total_periods, project_form, start_time, end_time, address, remark, current_stage, supervision_opinion, supervision_by, supervision_time, labor_audit_stage, service_audit_stage, is_executed, execute_time, is_settled, settle_time, is_finished, finish_time, is_frozen, freeze_time, material_audit_time, labor_compliance_approved, service_compliance_approved, submit_deadline, invitation_url, schedule_url, poster_url, labor_signed, labor_fee, meeting_fee, total_fee, fee_calc_status, create_by, create_time, update_by, update_time, is_deleted
|
||||
</sql>
|
||||
<select id="selectByPrimaryKey" resultMap="BizMeetingResult" parameterType="Long">
|
||||
select
|
||||
@@ -93,16 +95,13 @@
|
||||
and p2.is_finished = '1' and p2.open_status = 'N'
|
||||
)
|
||||
</if>
|
||||
<!-- executor 数据权限: 只看"我的项目"下的会议. MAIN 走 biz_project_assign (execution_unit_id), SUB(执行人) 走 biz_project_executor_assign.staff_user_id -->
|
||||
<!-- executor 数据权限: MAIN 看本执行单位项目下的会议 (biz_project_assign.execution_unit_id), SUB(执行人) 只看本人创建的会议 (create_by) -->
|
||||
<if test="params.executorUserId != null">and project_id in (
|
||||
select distinct a.project_id from biz_project_assign a
|
||||
where a.is_deleted = 0
|
||||
and a.execution_unit_id = (select org_id from biz_org where user_id = #{params.executorUserId} and org_type = 'executor')
|
||||
)</if>
|
||||
<if test="params.executorStaffUserId != null">and project_id in (
|
||||
select distinct a.project_id from biz_project_executor_assign a
|
||||
where a.is_deleted = 0 and a.staff_user_id = #{params.executorStaffUserId}
|
||||
)</if>
|
||||
<if test="params.executorCreatorUsername != null and params.executorCreatorUsername != ''">and create_by = #{params.executorCreatorUsername}</if>
|
||||
<!-- 合规人员(manager) 数据权限: 只看本人创建项目的会议 -->
|
||||
<if test="params.managerCreateUserId != null">and project_id in (
|
||||
select project_id from biz_project where create_user_id = #{params.managerCreateUserId} and is_deleted = 0
|
||||
@@ -131,7 +130,8 @@
|
||||
<if test="supervisionOpinion != null and supervisionOpinion != ''">supervision_opinion,</if>
|
||||
<if test="supervisionBy != null and supervisionBy != ''">supervision_by,</if>
|
||||
<if test="supervisionTime != null">supervision_time,</if>
|
||||
<if test="materialAuditStage != null and materialAuditStage != ''">material_audit_stage,</if>
|
||||
<if test="laborAuditStage != null and laborAuditStage != ''">labor_audit_stage,</if>
|
||||
<if test="serviceAuditStage != null and serviceAuditStage != ''">service_audit_stage,</if>
|
||||
<if test="submitDeadline != null">submit_deadline,</if>
|
||||
<if test="invitationUrl != null and invitationUrl != ''">invitation_url,</if>
|
||||
<if test="scheduleUrl != null and scheduleUrl != ''">schedule_url,</if>
|
||||
@@ -161,7 +161,8 @@
|
||||
<if test="supervisionOpinion != null and supervisionOpinion != ''">#{supervisionOpinion},</if>
|
||||
<if test="supervisionBy != null and supervisionBy != ''">#{supervisionBy},</if>
|
||||
<if test="supervisionTime != null">#{supervisionTime},</if>
|
||||
<if test="materialAuditStage != null and materialAuditStage != ''">#{materialAuditStage},</if>
|
||||
<if test="laborAuditStage != null and laborAuditStage != ''">#{laborAuditStage},</if>
|
||||
<if test="serviceAuditStage != null and serviceAuditStage != ''">#{serviceAuditStage},</if>
|
||||
<if test="submitDeadline != null">#{submitDeadline},</if>
|
||||
<if test="invitationUrl != null and invitationUrl != ''">#{invitationUrl},</if>
|
||||
<if test="scheduleUrl != null and scheduleUrl != ''">#{scheduleUrl},</if>
|
||||
@@ -194,7 +195,8 @@
|
||||
<if test="supervisionOpinion != null and supervisionOpinion != ''">supervision_opinion = #{supervisionOpinion},</if>
|
||||
<if test="supervisionBy != null and supervisionBy != ''">supervision_by = #{supervisionBy},</if>
|
||||
<if test="supervisionTime != null">supervision_time = #{supervisionTime},</if>
|
||||
<if test="materialAuditStage != null and materialAuditStage != ''">material_audit_stage = #{materialAuditStage},</if>
|
||||
<if test="laborAuditStage != null and laborAuditStage != ''">labor_audit_stage = #{laborAuditStage},</if>
|
||||
<if test="serviceAuditStage != null and serviceAuditStage != ''">service_audit_stage = #{serviceAuditStage},</if>
|
||||
<if test="isExecuted != null">is_executed = #{isExecuted},</if>
|
||||
<if test="executeTime != null">execute_time = #{executeTime},</if>
|
||||
<if test="isSettled != null">is_settled = #{isSettled},</if>
|
||||
@@ -204,7 +206,8 @@
|
||||
<if test="isFrozen != null">is_frozen = #{isFrozen},</if>
|
||||
<if test="freezeTime != null">freeze_time = #{freezeTime},</if>
|
||||
<if test="materialAuditTime != null">material_audit_time = #{materialAuditTime},</if>
|
||||
<if test="materialComplianceApproved != null">material_compliance_approved = #{materialComplianceApproved},</if>
|
||||
<if test="laborComplianceApproved != null">labor_compliance_approved = #{laborComplianceApproved},</if>
|
||||
<if test="serviceComplianceApproved != null">service_compliance_approved = #{serviceComplianceApproved},</if>
|
||||
<if test="submitDeadline != null">submit_deadline = #{submitDeadline},</if>
|
||||
<if test="invitationUrl != null and invitationUrl != ''">invitation_url = #{invitationUrl},</if>
|
||||
<if test="scheduleUrl != null and scheduleUrl != ''">schedule_url = #{scheduleUrl},</if>
|
||||
@@ -258,7 +261,8 @@
|
||||
and is_frozen = 0
|
||||
and start_time is not null
|
||||
and start_time <= NOW()
|
||||
and material_audit_stage = 'NOT_SUBMITTED'
|
||||
and labor_audit_stage = 'NOT_SUBMITTED'
|
||||
and service_audit_stage = 'NOT_SUBMITTED'
|
||||
</update>
|
||||
<!-- 自动流转 (MeetingStageScheduler 每分钟调): material 未提交/已退回 且 submit_deadline 已过 → 冻结.
|
||||
submit_deadline 由建会/退回/解冻 时写入 (end_time 或 now + 项目 submit_deadline_days 天), null = 项目未设天数 → 永不冻结. -->
|
||||
@@ -269,7 +273,8 @@
|
||||
current_stage = 'FROZEN'
|
||||
where is_deleted = 0
|
||||
and is_frozen = 0
|
||||
and material_audit_stage in ('NOT_SUBMITTED', 'REJECTED')
|
||||
and (labor_audit_stage in ('NOT_SUBMITTED', 'REJECTED')
|
||||
or service_audit_stage in ('NOT_SUBMITTED', 'REJECTED'))
|
||||
and submit_deadline is not null
|
||||
and submit_deadline <= NOW()
|
||||
</update>
|
||||
|
||||
@@ -111,6 +111,7 @@
|
||||
<select id="selectSponsorOrgOptions" parameterType="BizOrg" resultType="java.util.LinkedHashMap">
|
||||
select o.org_id as orgId,
|
||||
o.org_name as orgName,
|
||||
o.status as status,
|
||||
u.user_name as userName
|
||||
from biz_org o
|
||||
join sys_user u on u.user_id = o.user_id
|
||||
@@ -135,6 +136,7 @@
|
||||
<select id="selectExecutorOrgOptions" parameterType="BizOrg" resultType="java.util.LinkedHashMap">
|
||||
select o.org_id as orgId,
|
||||
o.org_name as orgName,
|
||||
o.status as status,
|
||||
u.user_name as userName
|
||||
from biz_org o
|
||||
join sys_user u on u.user_id = o.user_id
|
||||
|
||||
Reference in New Issue
Block a user