package org.jeecg.modules.itdmTestPlan.service.impl;


import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.itdmDevice.entity.ItdmDevice;
import org.jeecg.modules.itdmDevice.mapper.ItdmDeviceMapper;
import org.jeecg.modules.itdmDevice.service.IItdmDeviceService;
import org.jeecg.modules.itdmTestPlan.mapper.ItdmJCXMSHJHMapper;
import org.jeecg.modules.itdmTestPlan.service.IItdmJCXMSHJHService;
import org.jeecg.modules.itdmTestPlan.vo.ItdmJCXMAndSYJHVO;
import org.jeecg.modules.itdmTestPlan.vo.ItdmJHYQueryListVO;
import org.jeecg.modules.weituo.entity.ItdmWeituoInfo;
import org.jeecg.modules.weituo.entity.ItdmWeituoYangpin;
import org.jeecg.modules.weituo.mapper.ItdmWeituoInfoMapper;
import org.jeecg.modules.weituo.mapper.ItdmWeituoYangpinMapper;
import org.jeecg.modules.weituo.service.IItdmWeituoInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.stream.Collectors;

@Service
public class ItdmJCXMSHJHServiceImpl implements IItdmJCXMSHJHService {

    @Autowired
    @SuppressWarnings("all")
    private ItdmJCXMSHJHMapper itdmJCXMSHJHMapper;
    @Autowired
    @SuppressWarnings("all")
    private ItdmDeviceMapper itdmDeviceMapper;
    @Autowired
    @SuppressWarnings("all")
    private ItdmWeituoInfoMapper itdmWeituoInfoMapper;
    @Autowired
    @SuppressWarnings("all")
    private ItdmWeituoYangpinMapper itdmWeituoYangpinMapper;



    public List<ItdmJHYQueryListVO> getAll(String weituoNo){
        String weituoId = itdmWeituoInfoMapper.selectByWeituoNo(weituoNo);
        List<ItdmJCXMAndSYJHVO> list = itdmJCXMSHJHMapper.getAll(weituoId);
        List<ItdmJHYQueryListVO> list1 = list.stream().map(i->
                ItdmJHYQueryListVO.toItdmJHYQueryListVO(i,itdmWeituoInfoMapper.selectById(i.getWeituoId()).getWeituoNo(),
                        itdmWeituoYangpinMapper.selectById(i.getYangpinId()).getSampleName(),
                        itdmDeviceMapper.selectById(i.getShebeiId()).getDeviceName())
        ).collect(Collectors.toList());
        return list1;
    }


//    public List<ItdmJHYQueryListVO> getAll2(@Param("weituoNo") String weituoNo){
//        String weituoId = itdmWeituoInfoMapper.selectByWeituoNo(weituoNo);
//        List<ItdmJHYQueryListVO> list = itdmJCXMSHJHMapper.getAll2(weituoId);
//        List<ItdmJHYQueryListVO> list1 = list.stream().map(i->
//                ItdmJHYQueryListVO.toItdmJHYQueryListVO2(i)).collect(Collectors.toList());
//        return list1;
//    }

    public List<ItdmJHYQueryListVO> getAll3(String weituoNo){
        String weituoId = itdmWeituoInfoMapper.selectByWeituoNo(weituoNo);
        List<ItdmJHYQueryListVO> list = itdmJCXMSHJHMapper.getAll3(weituoId);
        List<ItdmJHYQueryListVO> list1 = list.stream().map(i->
                ItdmJHYQueryListVO.toItdmJHYQueryListVO3(i,weituoNo)).collect(Collectors.toList());
        return list1;
    }

}
