package com.yeejoin.amos.api.householdapi.face.service.business;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.hygf.JpStation;
import com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine.HYGFJPDayPower;
import com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine.TdHYGFInverterMonthGenerate;
import com.yeejoin.amos.api.householdapi.face.orm.houseapi.entity.tdeingine.TdHYGFStationMonthGenerate;
import com.yeejoin.amos.api.householdapi.face.orm.mapper.hygf.JpStationMapper;
import com.yeejoin.amos.api.householdapi.face.orm.mapper.tdengine.TdHYGFStationMonthGenerateMapper;
import com.yeejoin.amos.api.householdapi.face.service.AscriptionService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

/**
 * @description:
 * @author: tw
 * @createDate: 2024/4/9
 */
@Service
public class TdHYGFStationMonthGenerateImpl  implements AscriptionService {
    @Autowired
    private JpStationMapper jpStationMapper;
    @Autowired
    private TdHYGFStationMonthGenerateMapper TdHYGFStationMonthGenerateMapper;
    @Override
    public void updateAscription(String timeNum) {
        try {
//            DateFormat dft = new SimpleDateFormat("yyyy-MM-dd");
//            DateFormat dfty = new SimpleDateFormat("yyyy-MM");
//
//            Date star = dft.parse(timeNum);//开始时间
//            String yearMonth=   dfty.format(star);
            List<TdHYGFStationMonthGenerate> hygfjpDayPower = TdHYGFStationMonthGenerateMapper.selectList(
                    new QueryWrapper<TdHYGFStationMonthGenerate>().
                            eq("day_time", timeNum).and(wrapper -> {
                        wrapper.isNull("regional_companies_code")
                                .or()
                                .isNull("amos_company_code")
                                .or()
                                .isNull("station_name")
                                .or()
                                .isNull("station_state");
                    })
            );

            if(hygfjpDayPower!=null&&!hygfjpDayPower.isEmpty()){
                for (TdHYGFStationMonthGenerate dayPower : hygfjpDayPower) {
                    JpStation jpStation = jpStationMapper.selectOne(new QueryWrapper<JpStation>().
                            eq("third_station_id", dayPower.getThirdStationId()));
                    if(jpStation!=null){
                    dayPower.setAmosCompanyCode(jpStation.getAmosCompanyCode());
                    dayPower.setRegionalCompaniesCode(jpStation.getRegionalCompaniesCode());
                    dayPower.setStationName(jpStation.getName());
                    dayPower.setStationState(jpStation.getState());
                    TdHYGFStationMonthGenerateMapper.insert(dayPower);
                    }
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
