package com.xinelu.familydoctor.applet.service;

import com.github.pagehelper.PageInfo;
import com.xinelu.familydoctor.applet.pojo.body.ApprovalBody;
import com.xinelu.familydoctor.applet.pojo.body.ResidentSignApplyBody;
import com.xinelu.familydoctor.applet.pojo.body.SyncHospitalPersonInfoBody;
import com.xinelu.familydoctor.applet.pojo.query.ApplyQuery;
import com.xinelu.familydoctor.applet.pojo.vo.ResidentSignApplyVo;

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

/**
 * @Author mengkuiliang
 * @Description 居民签约申请Service
 * @Date 2023-09-26 026 10:37
 * @Param
 * @return
 **/
public interface IResidentSignAppletService {

    /**
     * 新增签约预约
     * @author lixinying
     * @param body:
     * @return Integer
     * @date 2022/11/21 9:38
     */
    void insert(ResidentSignApplyBody body, String region);
    /**
     * 取消
     * @author lixinying
     * @param bookingNo:
     * @return Integer
     * @date 2022/11/21 10:10
     */
    Integer delete(String bookingNo);
    /**
     * fd查找
     * @author lixinying
     * @param query:
     * @return List<FdSignBookingVo>
     * @date 2022/11/21 16:02
     */
    List<ResidentSignApplyVo> findList(ApplyQuery query);

    /**
     * 修改审批
     * @author lixinying
     * @param body:
     * @return Integer
     * @date 2022/11/21 17:07
     */
    Integer updateFd(ApprovalBody body);

    /**
     * @Author mengkuiliang
     * @Description 查询签约申请记录
     * @Date 2022-11-22 10:56
     * @Param
     * @return
     **/
    ResidentSignApplyVo getSignBookingByIdentity(String identity, String region);

    /**
     * @Author mengkuiliang
     * @Description 签约申请详情
     * @Date 2022-11-23 10:05
     * @Param [bookingNo]
     * @return java.lang.Object
     **/
    ResidentSignApplyVo detail(String bookingNo);

    /**
     * @Author mengkuiliang
     * @Description 取消签约申请
     * @Date 2022-11-23 14:42
     * @Param [bookingNo]
     * @return void
     **/
    void cancel(String bookingNo);

    /**
     * @Author mengkuiliang
     * @Description 是否已申请签约
     * @Date 2022-11-30 9:48
     * @Param [identity]
     * @return java.lang.String
     **/
    Map<String, Object> checkSignApply(String identity, String region);

}
