package jnpf.limsService;
|
|
import jnpf.limsEntity.LimsBaogaoSubmitParam;
|
|
/**
|
* 报告生命周期服务。
|
*
|
* <p>报告数据已合并进 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);
|
}
|