云
2 天以前 87733eb3623593da247c051593d64b8ff9e1d3a4
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/qc/seedquality/MesQcSeedQualityService.java
@@ -14,19 +14,46 @@
    java.util.Map<String, Object> resolveScan(String code);
    java.util.Map<String, Object> resolveScan(String code, String scanType);
    java.util.Map<String, Object> resolveScan(String code, String scanType, Integer qcLine);
    java.util.Map<String, Object> submitGroup(cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityGroupSubmitReqVO reqVO);
    void retest(Long id, cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityRetestReqVO reqVO);
    void retestBatch(cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityBatchRetestReqVO reqVO);
    java.util.Map<String, Object> resolveRetestScope(String code, String scanType);
    java.util.Map<String, Object> resolveRetestScope(String code, String scanType, Integer qcLine);
    java.util.Map<String, Object> retestScope(cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityScopeRetestReqVO reqVO);
    void processApprove(Long id, boolean approved, String opinion);
    void companyApprove(Long id, boolean approved, String opinion);
    void processApproveBatch(List<Long> ids, boolean approved, String opinion);
    void companyApproveBatch(List<Long> ids, boolean approved, String opinion);
    /** 解析经销商退货单的待质检信息 */
    java.util.Map<String, Object> resolveReturnQuality(Long returnSalesId);
    /** 提交经销商退货质检 */
    Long submitReturnQuality(cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedReturnQualitySubmitReqVO reqVO);
    /** 经销商退货质检销售部领导审批 */
    void returnApprove(Long id, boolean approved, String opinion);
    /** 管理员在流程定义发布后,对尚未生成 BPM 实例的记录重试发起审批。 */
    void retryBpmProcess(Long id);
    /** BPM 回调:本线领导审批完成 */
    void handleLineProcessResult(String processInstanceId, Integer qcLine, String batchCode, boolean approved, String reason);
    /** BPM 回调:公司质检审批完成(businessKey 为生产批次号,历史数据可能为袋码) */
    void handleCompanyProcessResult(String processInstanceId, String businessKey, boolean approved, String reason);
    /** BPM 回调:经销商退货销售部审批完成 */
    void handleReturnProcessResult(String processInstanceId, Long returnSalesId, boolean approved, String reason);
    PageResult<MesQcSeedQualityDO> getQualityPage(MesQcSeedQualityPageReqVO reqVO);
    /**
     * 按生产批次分组分页查询质检记录汇总,未绑定批次的记录归入空批次组。
     *
     * @param reqVO 查询条件(与明细分页一致)
     * @return 批次分组分页结果
     */
    PageResult<cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityBatchRespVO>
            getQualityBatchPage(MesQcSeedQualityPageReqVO reqVO);
    /**
     * 根据批次号查询质检记录(按检验时间倒序,取最新),用于公开溯源。
     * 种子质检表未初始化时返回空列表(容错,不影响追溯)。
     *