package thyyxxk.webserver.service.externalhttp;

import com.alibaba.fastjson.JSONObject;
import com.dtflys.forest.annotation.JSONBody;
import com.dtflys.forest.annotation.Post;
import com.dtflys.forest.annotation.Var;
import thyyxxk.webserver.entity.ResultVo;
import thyyxxk.webserver.entity.inpatient.dismiss.MedinsSettleFee;
import thyyxxk.webserver.entity.medicalinsurance.injury.InjuryCareQualification;
import thyyxxk.webserver.entity.medicalinsurance.injury.InjuryEmployeeInquiry;
import thyyxxk.webserver.entity.medicalinsurance.manage.CatalogueContrast;
import thyyxxk.webserver.entity.medicalinsurance.setlinfo.FundDetail;

import java.util.List;

public interface SiInjurySystem {
    @Post("{url}/catalogueMatch")
    ResultVo<String> catalogueMatch(@Var("url") String url, @JSONBody CatalogueContrast body);

    @Post("{url}/cancelCatalogueMatch")
    ResultVo<String> cancelCatalogueMatch(@Var("url") String url, @JSONBody CatalogueContrast body);

    @Post("{url}/employeeInfoInquiry")
    ResultVo<List<InjuryCareQualification>> getPersonBaseinfo(@Var("url") String url, @JSONBody InjuryEmployeeInquiry body);

    @Post("{url}/inpatientRegister")
    ResultVo<String> admissRegistration(@Var("url") String url, @JSONBody InjuryCareQualification body);

    @Post("{url}/revokeInpatientRegister")
    ResultVo<String> cancelRegister(@Var("url") String url, @JSONBody InjuryCareQualification body);

    @Post("{url}/revokeInpatientCost")
    ResultVo<String> cancelUploadFee(@Var("url") String url, @JSONBody InjuryCareQualification body);

    @Post("{url}/inpatientSettlement")
    ResultVo<String> preCalculateCost(@Var("url") String url, @JSONBody InjuryCareQualification body);

    @Post("{url}/inpatientDischargeProcess")
    ResultVo<MedinsSettleFee> calculateCost(@Var("url") String url, @JSONBody InjuryCareQualification body);

    @Post("{url}/revokeInpatientSettlement")
    ResultVo<String> cancelCalculate(@Var("url") String url, @JSONBody InjuryCareQualification body);

    @Post("{url}/outpatientRegister")
    ResultVo<String> outpatientRegister(@Var("url") String url, @JSONBody InjuryCareQualification body);

    @Post("{url}/outpatientFeeUpload")
    ResultVo<String> outpatientFeeUpload(@Var("url") String url, @JSONBody InjuryCareQualification body);

    @Post("{url}/outpatientSettlement")
    ResultVo<FundDetail> outpatientSettlement(@Var("url") String url, @JSONBody InjuryCareQualification body);

    @Post("{url}/revokeOutpatientFee")
    ResultVo<String> revokeOutpatientFee(@Var("url") String url, @JSONBody InjuryCareQualification body);

    @Post("{url}/outpatientFeeInquiry")
    ResultVo<JSONObject> outpatientFeeInquiry(@Var("url") String url, @JSONBody InjuryCareQualification body);

    @Post("{url}/revokeOutpatientSettlement")
    ResultVo<String> revokeOutpatientSettlement(@Var("url") String url, @JSONBody InjuryCareQualification body);

    @Post("{url}/revokeOutpatientRegistration")
    ResultVo<String> revokeOutpatientRegistration(@Var("url") String url, @JSONBody InjuryCareQualification body);

}
