package jnpf.limsService; import jnpf.limsEntity.LimsBaogaoSubmitParam; /** * 报告生命周期服务。 * *
报告数据已合并进 lims_qingyandan(baogao_* 列),本服务所有动作都按请验单 id * 在 lims_qingyandan 行上流转(baogao_zhuangtai 走 {@code BaogaoStatus}), * 不再使用独立的 lims_qingyandan_report 表。 */ public interface LimsQingyandanReportService { /** * 检验项全部 audited 后自动生成报告:在对应 lims_qingyandan 行上把 * baogao_zhuangtai 由空串推进到 created,并写入 baogao_shifou_hege、首次生成 baogao_bianhao。 * 幂等:仅当 baogao_zhuangtai 为空串且该请验单下所有 lims_jianyan_xiang 都 audited 时才生成。 * * @param qingyandanId 请验单 id(lims_qingyandan.f_id,主键查) * @return true 表示本次生成;false 表示条件不满足 / 已生成 */ boolean generateReportData(String qingyandanId); /** * “生成报告”动作(baogao_zhuangtai: created → pending_audit): * 写 baogao_ren=当前用户、baogao_riqi=入参日期、baogao_beizhu=入参备注,并清空上一次退回痕迹。 * * @param param 入参(id=请验单 id + baogaoRiqi + beizhu) * @return true 更新成功;false 状态不符 / 不存在 / 已软删 */ boolean submitReport(LimsBaogaoSubmitParam param); /** * “退回 / 不通过”动作:写 baogao_tuihui_yuanyin/ren/riqi 留痕 + 记业务日志, * 把 baogao_zhuangtai 重置回空串、清空报告人/审核人/批准人等阶段字段(baogao_bianhao 保留), * 并按报告当前状态把同流水号检验项推回: * created → audit_rejected(重新录入);pending_audit / audited → pending_audit(重新复核)。 * 报告处于 approved / 其它状态时不允许退回。 * * @param qingyandanId 请验单 id * @return true 更新成功;false 状态不符 / 不存在 / 已软删 */ boolean rejectReport(String qingyandanId, String tuihuiYuanyin); /** * “审核通过”动作(baogao_zhuangtai: pending_audit → audited): * 写 baogao_shenhe_ren=当前用户、baogao_shenhe_riqi=当前时间。 */ boolean auditPassReport(String qingyandanId); /** * “批准”动作(baogao_zhuangtai: audited → approved): * 写 baogao_pizhun_ren=当前用户、baogao_pizhun_riqi=当前时间。 */ boolean approveReport(String qingyandanId); }