package cn.iocoder.yudao.module.mes.service.qc.seedquality;
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualityPageReqVO;
|
import cn.iocoder.yudao.module.mes.controller.admin.qc.seedquality.vo.MesQcSeedQualitySubmitReqVO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.seedquality.MesQcSeedQualityDO;
|
import cn.iocoder.yudao.module.mes.dal.dataobject.qc.seedquality.MesQcSeedQualityIndicatorDO;
|
|
import java.util.List;
|
|
public interface MesQcSeedQualityService {
|
|
Long submit(MesQcSeedQualitySubmitReqVO reqVO);
|
|
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);
|
|
/**
|
* 根据批次号查询质检记录(按检验时间倒序,取最新),用于公开溯源。
|
* 种子质检表未初始化时返回空列表(容错,不影响追溯)。
|
*
|
* @param batchCode 批次号
|
* @return 质检记录列表
|
*/
|
List<MesQcSeedQualityDO> getQualityByBatchCode(String batchCode);
|
|
/**
|
* 根据质检记录编号查询质检指标列表
|
*
|
* @param qualityId 质检记录编号
|
* @return 质检指标列表
|
*/
|
List<MesQcSeedQualityIndicatorDO> getIndicatorsByQualityId(Long qualityId);
|
List<cn.iocoder.yudao.module.mes.dal.dataobject.qc.seedquality.MesQcSeedQualityActionDO> getActions(Long qualityId);
|
}
|