| | |
| | | package cn.iocoder.yudao.module.erp.service.purchase; |
| | | |
| | | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| | | import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderImportExcelVO; |
| | | import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderImportReqVO; |
| | | import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderImportRespVO; |
| | | import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderPageReqVO; |
| | | import cn.iocoder.yudao.module.erp.controller.admin.purchase.vo.order.ErpPurchaseOrderSaveReqVO; |
| | | import cn.iocoder.yudao.module.erp.dal.dataobject.purchase.ErpPurchaseOrderDO; |
| | |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Set; |
| | | |
| | | /** |
| | | * ERP 采购订单 Service 接口 |
| | | * |
| | | * @author 芋道源码 |
| | | * @author 超级管理员 |
| | | */ |
| | | public interface ErpPurchaseOrderService { |
| | | |
| | |
| | | /** |
| | | * 提交采购订单审批 |
| | | * |
| | | * 仅【未提交】或【审核不通过】状态可提交;提交后进入【审批中】,并清空上一轮审核信息。 |
| | | * |
| | | * @param id 编号 |
| | | * @param processDefinitionKey 流程定义 Key |
| | | * @param userId 用户编号 |
| | | */ |
| | | void submitPurchaseOrder(Long id, String processDefinitionKey, Long userId); |
| | | void submitPurchaseOrder(Long id); |
| | | |
| | | /** |
| | | * 获取采购订单审批流程列表 |
| | | * 获取采购订单的审批人编号集合(或签:任一人审核即可) |
| | | * |
| | | * @return 流程定义列表 |
| | | * @return 审批人用户编号 |
| | | */ |
| | | List<Map<String, Object>> getPurchaseOrderApproveProcessDefinitionList(); |
| | | Set<Long> getPurchaseOrderApproverUserIds(); |
| | | |
| | | /** |
| | | * 审核采购订单(通过 / 不通过) |
| | | * |
| | | * 仅配置内的审批人可执行;审核不通过时必须填写驳回原因,单据退回后可重新修改并提交。 |
| | | * |
| | | * @param id 编号 |
| | | * @param pass 是否审核通过 |
| | | * @param reviewRemark 审核意见 |
| | | */ |
| | | void auditPurchaseOrder(Long id, Boolean pass, String reviewRemark); |
| | | |
| | | /** |
| | | * 更新采购订单审批结果(BPM 回调) |
| | |
| | | * @param bpmResult BPM 审批结果 |
| | | */ |
| | | void updatePurchaseOrderAuditStatus(Long id, Integer bpmResult); |
| | | |
| | | /** |
| | | * BPM 审批结果回调更新采购订单状态 |
| | | * |
| | | * 由 BPM 流程实例结束事件触发,将审批结果回写为业务状态: |
| | | * 审批通过 → 审核通过;审批不通过 → 审核不通过;流程取消 → 已取消。 |
| | | * |
| | | * @param id 采购订单编号 |
| | | * @param bpmStatus BPM 审批结果状态 |
| | | * @param reason 审核意见(BPM 审批意见) |
| | | */ |
| | | void updatePurchaseOrderAuditStatus(Long id, Integer bpmStatus, String reason); |
| | | |
| | | /** |
| | | * 更新采购订单的入库数量 |
| | |
| | | */ |
| | | Long confirmReceipt(Long id); |
| | | |
| | | /** |
| | | * 导入采购订单 |
| | | * |
| | | * @param importOrders 导入的采购订单列表(一行一条明细) |
| | | * @param importReqVO 导入参数 |
| | | * @return 导入结果 |
| | | */ |
| | | ErpPurchaseOrderImportRespVO importPurchaseOrderList(List<ErpPurchaseOrderImportExcelVO> importOrders, |
| | | ErpPurchaseOrderImportReqVO importReqVO); |
| | | |
| | | } |