刘光辉
4 小时以前 06f314545ac3514d7ce28939920866ae8188d31c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package jnpf.dmsService;
 
import jnpf.dmsEntity.recordprint.form.DmsRecordPrintHuishouForm;
import jnpf.dmsEntity.recordprint.form.DmsRecordPrintIssueForm;
import jnpf.dmsEntity.recordprint.vo.DmsRecordPrintConfirmVO;
import jnpf.dmsEntity.recordprint.vo.DmsRecordPrintPrepareVO;
import jnpf.dmsEntity.recordprint.vo.DmsRecordPrintSerialVO;
import jnpf.dmsEntity.print.vo.DmsWorkflowPrintFilesGrantResultVO;
import jnpf.exception.DataException;
 
/**
 * 记录文件打印准备服务。
 */
public interface DmsRecordPrintService {
 
    /**
     * 按流程申请为申请人永久授予全部记录文件版本的打印权限。
     *
     * @param flowId 流程实例 ID
     * @param flowTaskId 流程任务 ID
     * @return 文件打印授权结果
     * @throws DataException 申请、明细或文件版本无效,或者授权调用失败
     */
    DmsWorkflowPrintFilesGrantResultVO authorize(
            String flowId, String flowTaskId) throws DataException;
 
    /**
     * 批量发放记录打印流水并登记接收信息。
     *
     * @param form 电子签名及发放明细
     * @throws DataException 参数无效、流水不存在或条码已经发放
     */
    void issue(DmsRecordPrintIssueForm form) throws DataException;
 
    /**
     * 批量回收记录打印流水并登记接收信息。
     *
     * @param form 电子签名及回收明细
     * @throws DataException 参数无效、流水不存在或条码已经回收
     */
    void huishou(DmsRecordPrintHuishouForm form) throws DataException;
 
    /**
     * 根据流水号查询未发放的打印记录及对应文件信息。
     *
     * @param serialNumber 打印流水号
     * @param chazhaoLeixing 查找类型
     * @return 流水记录及文件信息
     * @throws DataException 流水号为空、记录不存在或已经签收/发放
     */
    DmsRecordPrintSerialVO findBySerialNumber(String serialNumber, String chazhaoLeixing) throws DataException;
 
    /**
     * 为打印预览预占连续流水号,不写入打印业务表。
     *
     * @param printItemId B 表打印申请子项主键
     * @return 打印单元与流水号对应关系
     * @throws DataException 申请无效、已经打印、文件页码无效或预占失败
     */
    DmsRecordPrintPrepareVO prepare(String printItemId) throws DataException;
 
    /**
     * 将预览阶段预占的流水号正式写入打印流水表。
     *
     * @param reservationId 打印预占标识
     * @return 已确认的打印单元及数据库记录主键
     * @throws DataException 预占无效、已经过期或打印申请状态已变化
     */
    DmsRecordPrintConfirmVO confirm(String reservationId) throws DataException;
 
    /** 按打印申请子项主键将打印状态更新为打印完成。 */
    void complete(String printItemId) throws DataException;
}