package com.lantone.qc.kernel.catalogue.behospitalized;

import com.lantone.qc.kernel.catalogue.QCCatalogue;
import com.lantone.qc.kernel.util.KernelConstants;
import com.lantone.qc.kernel.util.RedisUtil;
import com.lantone.qc.pub.model.InputInfo;
import com.lantone.qc.pub.model.OutputInfo;
import com.lantone.qc.pub.model.entity.BodyPart;
import com.lantone.qc.pub.model.entity.Cause;
import com.lantone.qc.pub.model.entity.Clinical;
import com.lantone.qc.pub.model.entity.Lis;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;


/**
 * @ClassName : BEH0015
 * @Description :  现病史症状缺少部位,只判断现病史中的第一个症状
 * @Author : 楼辉荣
 * @Date: 2020-03-06 17:28
 */
@Component
public class BEH0015 extends QCCatalogue {
    @Autowired
    private RedisUtil redisUtil;
    public void start(InputInfo inputInfo, OutputInfo outputInfo) {
        status.set("0");
        if(inputInfo.getBeHospitalizedDoc() == null){
            return;
        }
        List<String> clinicalList = (List<String>) redisUtil.getJsonStringValue(KernelConstants.CONCEPT_CLINIC_BODYPART_PROPERTIES_LIST);
        List<Clinical> clinicals = inputInfo.getBeHospitalizedDoc().getPresentLabel().getClinicals();
        if(clinicals.size()>0){
            Clinical clinical = clinicals.get(0);
            if(clinicalList.contains(clinical.getName())){
                BodyPart bodyPart = clinical.getBodyPart();
                if(bodyPart == null){
                    status.set("-1");
                    info.set(clinical.getName());
                }
            }

        }
    }
}