# RunCardExecServiceImpl.java

    package com.mycim.server.rc.exec.service;

    import com.alipay.sofa.runtime.api.annotation.SofaService;
    import com.alipay.sofa.runtime.api.annotation.SofaServiceBinding;
    import com.mycim.server.rc.exec.manager.RunCardJobDispatchManager;
    import com.mycim.server.rc.exec.manager.RunCardWorkFlowManager;
    import com.mycim.valueobject.ems.Equipment;
    import com.mycim.valueobject.wip.Lot;
    import com.mycim.valueobject.wip.dto.LotInfoDto;
    import com.mycim.valueobject.wip.dto.ParameterSetDto;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Service;

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

    /**
     * impl RunCardExecService
     *
     * @author pinyan.song
     * @version 6.0.0
     * @date 2020-1-9
     **/
    @Service
    @SofaService(interfaceType = RunCardExecService.class, bindings = {@SofaServiceBinding(bindingType = "bolt")})
    public class RunCardExecServiceImpl implements RunCardExecService {
        @Autowired
        RunCardWorkFlowManager runCardWorkFlowManager;

        @Autowired
        RunCardJobDispatchManager runCardJobDispatchManager;

        @Override
        public Map<String, Object> buildSRCProcess() {
            return runCardWorkFlowManager.buildRuncardWorkflow();
        }

        @Override
        public void dispatchLot(List<Lot> lotInfos, Equipment equipment, List<LotInfoDto> lotInfoDtos) {
            runCardJobDispatchManager.dispatchLot(lotInfos, equipment, lotInfoDtos);
        }

        @Override
        public String checkRunCardLotEdcInfo(Lot lot, ParameterSetDto parameterSetDto) {
            return runCardJobDispatchManager.checkRunCardLotEdcInfo(lot, parameterSetDto);
        }

    }