package cn.iocoder.yudao.module.system.service.biz;


import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.biz.vo.ElderlySyntheticAbilityPageReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.ElderSyntheticAbilitySignDO;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.ElderlySyntheticAbilityDO;
import cn.iocoder.yudao.module.system.dal.dataobject.biz.ElderlySyntheticAbilityInfoDO;

import java.util.List;
import java.util.Map;

public interface ElderlySyntheticAbilityService {


    PageResult<ElderlySyntheticAbilityDO> queryPage(ElderlySyntheticAbilityPageReqVO pageVO);

    ElderlySyntheticAbilityDO getAdmissionAssessment(Long syntheticAbilityId);

    Long addOrUpdate(ElderlySyntheticAbilityDO syntheticAbilityDO);

    ElderlySyntheticAbilityDO getSyntheticAbilityInfoById(Long syntheticAbilityId);

    ElderlySyntheticAbilityInfoDO findElderlySyntheticAbilityInfo(Long syntheticAbilityInfoId);

    Map<String, Object> generateSignInfo(Long syntheticAbilityId);

    Long addSignInfo(ElderSyntheticAbilitySignDO signDO);

    void confirmSign(Long elderSyntheticAbilitySignId, String randomStr);

    ElderSyntheticAbilitySignDO getSignInfoById(Long syntheticAbilityId);

    List<ElderlySyntheticAbilityDO> getByElderId(Long elderId, Integer evaluationAgencyType);

    ElderlySyntheticAbilityDO findLatestByElderId(Long elderId);

    void delete(Long id);
}

