package com.lightinit.hsdatashow.impl.ms;

import com.lightinit.hsdatashow.dictionary.DicShfazs;
import com.lightinit.hsdatashow.dictionary.Dicmsfw;
import com.lightinit.hsdatashow.dictionary.Dicsthj;
import com.lightinit.hsdatashow.entity.Cockpit;
import com.lightinit.hsdatashow.mapper.CockpitMapper;
import com.lightinit.hsdatashow.model.ResultState;
import com.lightinit.hsdatashow.service.ms.IMsExcelIntService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.math.BigDecimal;
import java.util.Calendar;
import java.util.List;

@Service
public class MsExcelIntServiceImpl implements IMsExcelIntService {

    @Autowired
    private CockpitMapper cockpitMapper ;

    @Override
    public ResultState addShfz(List<List<String>> lists) {
        ResultState resultState = new ResultState() ;
        BigDecimal fwzc = new BigDecimal(0);
        BigDecimal zccz = new BigDecimal(0);
        BigDecimal ggfw = new BigDecimal(0);
        BigDecimal qxxt = new BigDecimal(0);
        BigDecimal jjfz =new BigDecimal(0);
        BigDecimal whjy = new BigDecimal(0);
        BigDecimal dqfz = new BigDecimal(0);
        BigDecimal pjjy = new BigDecimal(0);
        BigDecimal pjqx = new BigDecimal(0);
        BigDecimal wsjk = new BigDecimal(0);
        BigDecimal swl = new BigDecimal(0);
        BigDecimal shbz = new BigDecimal(0);
        BigDecimal jbsh = new BigDecimal(0);
        BigDecimal zdbz = new BigDecimal(0);
        BigDecimal bzbl = new BigDecimal(0);
        BigDecimal shaq =new BigDecimal(0);
        BigDecimal aqzs = new BigDecimal(0);

        BigDecimal xs1 = new BigDecimal(0);
        BigDecimal xs2 = new BigDecimal(0);
        BigDecimal xs3 = new BigDecimal(0);
        BigDecimal xs4 = new BigDecimal(0);
        BigDecimal xs5 = new BigDecimal(0);
        BigDecimal xs6 = new BigDecimal(0);
        BigDecimal xs7 = new BigDecimal(0);
        BigDecimal xs8 = new BigDecimal(0);
        for (int i=0;i<lists.size();i++){
            if (lists.get(i).get(0).equals(DicShfazs.FWZC)){
                fwzc = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.ZCCZ)){
                zccz = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.GGFW)){
                ggfw = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.QXXT)){
                qxxt = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.JJFZ)){
                jjfz = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.WHJY)){
                whjy = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.DQFZ)){
                dqfz = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.PJJY)){
                pjjy = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.PJQX)){
                pjqx = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.WSJK)){
                wsjk = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.SWL)){
                swl = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.SHBZ)){
                shbz = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.JBSH)){
                jbsh = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.ZDBZ)){
                zdbz = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.BZBL)){
                bzbl = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.SHAQ)){
                shaq = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.AQZS)){
                aqzs = new BigDecimal(lists.get(i).get(1)) ;
            }

            if (lists.get(i).get(0).equals(DicShfazs.XS1)){
                xs1 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.XS2)){
                xs2 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.XS3)){
                xs3 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.XS4)){
                xs4 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.XS5)){
                xs5 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.XS6)){
                xs6 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.XS7)){
                xs7 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(DicShfazs.XS8)){
                xs8 = new BigDecimal(lists.get(i).get(1)) ;
            }
        }
        // 社会发展指数=0.125×公共服务支出+0.125×区域协调+0.125×文化教育+0.125×平均受教育年限+0.125×卫生健康+0.125*社会保障+0.125*农村、城镇居民享受最低生活保障人口比例+0.125*社会安全
        BigDecimal ggfwzc = ggfw.multiply(fwzc.multiply(new BigDecimal(0.5)).add(zccz.multiply(new BigDecimal(0.5)))) ;
        BigDecimal qyxt = qxxt.multiply(jjfz) ;
        BigDecimal whjycount = whjy.multiply(dqfz) ;
        BigDecimal pjsjyqx = pjjy.multiply(pjqx) ;
        BigDecimal wsjkcount =  wsjk.multiply(swl) ;
        BigDecimal shbzcount = shbz.multiply(jbsh) ;
        BigDecimal bzrkbl = zdbz.multiply(bzbl) ;
        BigDecimal shanq = shaq.multiply(aqzs) ;

        BigDecimal lastCount = xs1.multiply(ggfwzc)
                .add(xs2.multiply(qyxt))
                .add(xs3.multiply(whjycount))
                .add(xs4.multiply(pjsjyqx))
                .add(xs5.multiply(wsjkcount))
                .add(xs6.multiply(shbzcount))
                .add(xs7.multiply(bzrkbl))
                .add(xs8.multiply(shanq)) ;
        Cockpit cockpit = new Cockpit() ;
        cockpit.setCategory(DicShfazs.TITLE);
        cockpit.setQuantity(lastCount.doubleValue());
        Calendar c = Calendar.getInstance();
        cockpit.setDataYear(c.get(Calendar.YEAR));
        cockpit.setCreatedAt(c.getTime());
        int result = cockpitMapper.insert(cockpit);
        if (!(result>0)){
            resultState.setStateCode(400);
            resultState.setMsg("社会安全指数插入失败！");
        }
        return resultState ;
    }

    @Override
    public ResultState addmsfw(List<List<String>> lists) {
        ResultState resultState = new ResultState() ;
        BigDecimal srfpgy = new BigDecimal(0);
        BigDecimal cxjmsrgdp = new BigDecimal(0);
        BigDecimal jnxsgy = new BigDecimal(0);
        BigDecimal cxjmsrgy = new BigDecimal(0);
        BigDecimal shzlgy =new BigDecimal(0);
        BigDecimal czjmrj = new BigDecimal(0);
        BigDecimal ncjmrj = new BigDecimal(0);
        BigDecimal cxjmjtegrgy = new BigDecimal(0);
        BigDecimal rjzfgy = new BigDecimal(0);
        BigDecimal czbzgy = new BigDecimal(0);
        BigDecimal hlwgy = new BigDecimal(0);
        BigDecimal mwrgy = new BigDecimal(0);
        BigDecimal pjyqgy = new BigDecimal(0);
        BigDecimal jnxs = new BigDecimal(0);
        BigDecimal cxjmsr = new BigDecimal(0);
        BigDecimal cxjmjtegr = new BigDecimal(0);
        BigDecimal rjzf = new BigDecimal(0);
        BigDecimal czbz = new BigDecimal(0);
        BigDecimal hlw = new BigDecimal(0);
        BigDecimal mwr = new BigDecimal(0);
        BigDecimal pjyq = new BigDecimal(0);
        BigDecimal ldjygy = new BigDecimal(0);
        BigDecimal czdj = new BigDecimal(0);

        BigDecimal xs1 = new BigDecimal(0);
        BigDecimal xs2 = new BigDecimal(0);
        BigDecimal xs3 = new BigDecimal(0);
        BigDecimal xs4 = new BigDecimal(0);
        BigDecimal xs5 = new BigDecimal(0);
        BigDecimal xs6 = new BigDecimal(0);
        BigDecimal xs7 = new BigDecimal(0);
        BigDecimal xs8 = new BigDecimal(0);
        BigDecimal xs9 = new BigDecimal(0);
        BigDecimal xs10 = new BigDecimal(0);
        BigDecimal xs11 = new BigDecimal(0);
        for (int i=0;i<lists.size();i++){
            if (lists.get(i).get(0).equals(Dicmsfw.CXJMJTEGRGY)){
                srfpgy = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.CXJMSRGDP)){
                cxjmsrgdp = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.CXJMSRGY)){
                jnxsgy = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.CZBZGY)){
                cxjmsrgy = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.CZJMRJ)){
                shzlgy = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.HLWGY)){
                czjmrj = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.JNXSGY)){
                ncjmrj = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.MWRGY)){
                mwrgy = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.NCJMRJ)){
                ncjmrj = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.PJYQGY)){
                pjyqgy = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.RJZFGY)){
                rjzfgy = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.SHZLGY)){
                shzlgy = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.SRFPGY)){
                srfpgy = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.JNXS)){
                jnxs = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicmsfw.RJZF)){
                rjzf = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicmsfw.PJYQ)){
                pjyq = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicmsfw.MWR)){
                mwr = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicmsfw.HLW)){
                hlw = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicmsfw.CZBZ)){
                czbz =  new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicmsfw.CXJMJTEGR)){
                cxjmjtegr = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicmsfw.CZJMRJ)){
                czjmrj = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.LDJYGY)){
                ldjygy = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.CZDJ)){
                czdj = new BigDecimal(lists.get(i).get(1)) ;
            }










            if (lists.get(i).get(0).equals(Dicmsfw.XS1)){
                xs1 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.XS2)){
                xs2 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.XS3)){
                xs3 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.XS4)){
                xs4 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.XS5)){
                xs5 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.XS6)){
                xs6 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.XS7)){
                xs7 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.XS8)){
                xs8 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.XS9)){
                xs9 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.XS10)){
                xs10 = new BigDecimal(lists.get(i).get(1)) ;
            }
            if (lists.get(i).get(0).equals(Dicmsfw.XS11)){
                xs11 = new BigDecimal(lists.get(i).get(1)) ;
            }
        }
        // 2、	民生服务指数 =0.1*收入分配+0.1*基尼系数+0.1*城乡居民收入+0.1*生活质量+0.1*城乡居民家庭恩格尔系数+0.1*人均住房使用面积+0.1*城镇保障性住房新开工面积占住宅开发面积比重+0.1*互联网普及率+0.1*每万人拥有公共汽（电）车辆+0.05*平均预期寿命+0.05*劳动就业
        BigDecimal srfp = srfpgy.multiply(cxjmsrgdp) ;//收入分配
        BigDecimal jnxs1 = jnxsgy.multiply(jnxs) ;//基尼系数
        BigDecimal cxjmsr1 = cxjmsrgy.multiply(cxjmsr) ;//城乡居民收入比
        BigDecimal shzl1 = shzlgy.multiply(czjmrj.multiply(new BigDecimal(0.5)).add(ncjmrj.multiply(new BigDecimal(0.5)))) ;//生活质量
        BigDecimal cxjmjtegr1 =  cxjmjtegrgy.multiply(cxjmjtegr) ;//城乡居民家庭恩格尔系数
        BigDecimal rjzf1 = rjzfgy.multiply(rjzf) ;//人均住房使用面积
        BigDecimal czbz1 = czbzgy.multiply(czbz) ;//城镇保障性住房新开工面积占住宅开发面积比重
        BigDecimal hlw1 = hlwgy.multiply(hlw) ;//互联网普及率
        BigDecimal mwr1 = mwrgy.multiply(mwr) ;//每万人拥有公共汽（电）车辆
        BigDecimal pjyq1 = pjyqgy.multiply(pjyq) ;//平均预期寿命
        BigDecimal ldjy = ldjygy.multiply(czdj) ;//劳动就业

        BigDecimal lastCount = xs1.multiply(srfp)
                .add(xs2.multiply(jnxs1))
                .add(xs3.multiply(cxjmsr1))
                .add(xs4.multiply(shzl1))
                .add(xs5.multiply(cxjmjtegr1))
                .add(xs6.multiply(rjzf1))
                .add(xs7.multiply(czbz1))
                .add(xs8.multiply(hlw1))
                .add(xs9.multiply(mwr1))
                .add(xs10.multiply(pjyq1))
                .add(xs11.multiply(ldjy)) ;
        Cockpit cockpit = new Cockpit() ;
        cockpit.setCategory(Dicmsfw.TITLE);
        cockpit.setQuantity(lastCount.doubleValue());
        Calendar c = Calendar.getInstance();
        cockpit.setDataYear(c.get(Calendar.YEAR));
        cockpit.setCreatedAt(c.getTime());
        int result = cockpitMapper.insert(cockpit);
        if (!(result>0)){
            resultState.setStateCode(400);
            resultState.setMsg("民生服务指数插入失败！");
        }
        return resultState ;
    }

    @Override
    public ResultState addsthj(List<List<String>> lists) {
        ResultState resultState = new ResultState() ;
        BigDecimal Abio = new BigDecimal(0);
        BigDecimal SLMJXS = new BigDecimal(0);
        BigDecimal SLMJ = new BigDecimal(0);
        BigDecimal SYMJXS = new BigDecimal(0);
        BigDecimal SYMJ =new BigDecimal(0);
        BigDecimal CDMJXS_1 = new BigDecimal(0);
        BigDecimal CDMJ_1 = new BigDecimal(0);
        BigDecimal QTMHJXS = new BigDecimal(0);
        BigDecimal QTMHJ = new BigDecimal(0);
        BigDecimal SWFDQVMJ_1 = new BigDecimal(0);

        BigDecimal Aveg = new BigDecimal(0);
        BigDecimal LDMJXS = new BigDecimal(0);
        BigDecimal LDMJ = new BigDecimal(0);
        BigDecimal CDMJXS_2 = new BigDecimal(0);
        BigDecimal CDMJ_2 = new BigDecimal(0);
        BigDecimal NTMJXS = new BigDecimal(0);
        BigDecimal NTMJ = new BigDecimal(0);
        BigDecimal ZBFGQVMJ_2 = new BigDecimal(0);

        BigDecimal Ariv = new BigDecimal(0);
        BigDecimal HLCD = new BigDecimal(0);
        BigDecimal Alak = new BigDecimal(0);
        BigDecimal HKMJ = new BigDecimal(0);
        BigDecimal Ares = new BigDecimal(0);
        BigDecimal SZYL = new BigDecimal(0);
        BigDecimal SWQYMJ_3 = new BigDecimal(0);

        BigDecimal Aero = new BigDecimal(0);
        BigDecimal QDQSMJXS = new BigDecimal(0);
        BigDecimal QDQSMJ = new BigDecimal(0);
        BigDecimal ZDQSMJXS = new BigDecimal(0);
        BigDecimal ZDQSMJ = new BigDecimal(0);
        BigDecimal ZHDQSMJXS  = new BigDecimal(0);
        BigDecimal ZHDQSMJ = new BigDecimal(0);
        BigDecimal TDTHQVMJ_4 = new BigDecimal(0);

        BigDecimal ASO2 = new BigDecimal(0);
        BigDecimal SO2PFLXS = new BigDecimal(0);
        BigDecimal SO2PFL = new BigDecimal(0);
        BigDecimal Asol = new BigDecimal(0);
        BigDecimal GFPFLXS = new BigDecimal(0);
        BigDecimal GFPFL = new BigDecimal(0);
        BigDecimal WRQVMJ_5 = new BigDecimal(0);
        BigDecimal ACOD = new BigDecimal(0);
        BigDecimal CODXS = new BigDecimal(0);
        BigDecimal COD = new BigDecimal(0);


        BigDecimal SWFDZSXS = new BigDecimal(0);
        BigDecimal ZBFGZSXS = new BigDecimal(0);
        BigDecimal SWMDZSXS = new BigDecimal(0);
        BigDecimal TDTHZSXS = new BigDecimal(0);
        BigDecimal HJZLZSXS = new BigDecimal(0);

        for (int i=0;i<lists.size();i++){
            if (lists.get(i).get(0).equals(Dicsthj.Abio)){
                Abio = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.SLMJXS)){
                SLMJXS = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.SLMJ)){
                SLMJ = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.SYMJXS)){
                SYMJXS = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.SYMJ)){
                SYMJ = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.CDMJXS_1)){
                CDMJXS_1 = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.CDMJ_1)){
                CDMJ_1 = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.QTMHJXS)){
                QTMHJXS = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.QTMHJ)){
                QTMHJ = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.SWFDQVMJ_1)){
                SWFDQVMJ_1 = new BigDecimal(lists.get(i).get(1)) ;
            }


            if (lists.get(i).get(0).equals(Dicsthj.Aveg)){
                Aveg = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.LDMJXS)){
                LDMJXS = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.LDMJ)){
                LDMJ = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.CDMJXS_2)){
                CDMJXS_2 = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.CDMJ_2)){
                CDMJ_2 = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.NTMJXS)){
                NTMJXS = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.NTMJ)){
                NTMJ = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.ZBFGQVMJ_2)){
                ZBFGQVMJ_2 = new BigDecimal(lists.get(i).get(1)) ;
            }


            if (lists.get(i).get(0).equals(Dicsthj.Ariv)){
                Ariv = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.HLCD)){
                HLCD = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.Alak)){
                Alak = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.HKMJ)){
                HKMJ = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.Ares)){
                Ares = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.SZYL)){
                SZYL = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.SWQYMJ_3)){
                SWQYMJ_3 = new BigDecimal(lists.get(i).get(1)) ;
            }


            if (lists.get(i).get(0).equals(Dicsthj.Aero)){
                Aero = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.QDQSMJXS)){
                QDQSMJXS = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.QDQSMJ)){
                QDQSMJ = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.ZDQSMJXS)){
                ZDQSMJXS = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.ZDQSMJ)){
                ZDQSMJ = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.ZHDQSMJXS)){
                ZHDQSMJXS = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.ZHDQSMJ)){
                ZHDQSMJ = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.TDTHQVMJ_4)){
                TDTHQVMJ_4 = new BigDecimal(lists.get(i).get(1)) ;
            }


            if (lists.get(i).get(0).equals(Dicsthj.ASO2)){
                ASO2 = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.SO2PFLXS)){
                SO2PFLXS = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.SO2PFL)){
                SO2PFL = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.Asol)){
                Asol = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.GFPFLXS)){
                GFPFLXS = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.GFPFL)){
                GFPFL = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.WRQVMJ_5)){
                WRQVMJ_5 = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.ACOD)){
                ACOD = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.CODXS)){
                CODXS = new BigDecimal(lists.get(i).get(1)) ;
            }if (lists.get(i).get(0).equals(Dicsthj.COD)){
                COD = new BigDecimal(lists.get(i).get(1)) ;
            }


            if (lists.get(i).get(0).equals(Dicsthj.SWFDZSXS)){
                SWFDZSXS = new BigDecimal(lists.get(i).get(1)) ;
            } if (lists.get(i).get(0).equals(Dicsthj.ZBFGZSXS)){
                ZBFGZSXS = new BigDecimal(lists.get(i).get(1)) ;
            } if (lists.get(i).get(0).equals(Dicsthj.SWMDZSXS)){
                SWMDZSXS = new BigDecimal(lists.get(i).get(1)) ;
            } if (lists.get(i).get(0).equals(Dicsthj.TDTHZSXS)){
                TDTHZSXS = new BigDecimal(lists.get(i).get(1)) ;
            } if (lists.get(i).get(0).equals(Dicsthj.HJZLZSXS)){
                HJZLZSXS = new BigDecimal(lists.get(i).get(1)) ;
            }
        }

        //生物丰度指数=Abio×(0.5×森林面积+0.3×水域面积+0.15×草地面积+0.05×其它面积)/区域面积*/
        BigDecimal SWFDZS=Abio.multiply((SLMJXS.multiply(SLMJ).add(SYMJXS.multiply(SYMJ)).add(CDMJXS_1.multiply(CDMJ_1).add(QTMHJXS.multiply(QTMHJ))))).divide(SWFDQVMJ_1);

        //植被覆盖指数=Aveg×(0.5×林地面积+0.3×草地面积+0.2×农田面积)/区域面积
        BigDecimal ZBFGZS=Aveg.multiply(LDMJXS.multiply(LDMJ).add(CDMJXS_2.multiply(CDMJ_2)).add(NTMJXS.multiply(NTMJ))).divide(ZBFGQVMJ_2);

        //水网密度指数=Ariv×河流长度/区域面积+Alak×湖库( 近海) 面积/区域面积+Ares×水资源量/区域面积
        BigDecimal SWMDZS=(Ariv.multiply(HLCD).add(Alak.multiply(HKMJ)).add(Ares.multiply(SZYL))).divide(SWQYMJ_3);

        //土地退化指数=Aero×(0.05×轻度侵蚀面积+0.25×中度侵蚀面积+0.7×重度侵蚀面积)/区域面积
        BigDecimal TDTHZS=Aero.multiply(QDQSMJXS.multiply(QDQSMJ).add(ZDQSMJXS.multiply(ZDQSMJ)).add(ZHDQSMJXS.multiply(ZHDQSMJ))).divide(TDTHQVMJ_4);
        ////污染负荷指数=(ASO2×0.4×SO2 排放量+Asol×0.2×固废排放量)/区域面积+ACOD×0.4×COD
        BigDecimal HJZLZS=(ASO2.multiply(SO2PFLXS.multiply(SO2PFL)).add(Asol.multiply(GFPFLXS.multiply(GFPFL)))).divide(WRQVMJ_5).add(ACOD.multiply(CODXS).multiply(COD));
        //生态环境状况指数=0.25×生物丰度指数+0.2×植被覆盖指数+0.2×水网密度指数+0.2×土地退化指数+0.15×环境质量指数
        BigDecimal STHJZTZS = SWFDZSXS.multiply(SWFDZS)
                .add(ZBFGZSXS.multiply(ZBFGZS))
                .add(SWMDZSXS.multiply(SWMDZS))
                .add(TDTHZSXS.multiply(TDTHZS))
                .add(HJZLZSXS.multiply(HJZLZS));
        Cockpit cockpit = new Cockpit() ;
        cockpit.setCategory(Dicsthj.TITLE);
        cockpit.setQuantity(STHJZTZS.doubleValue());
        Calendar c = Calendar.getInstance();
        cockpit.setDataYear(c.get(Calendar.YEAR));
        cockpit.setCreatedAt(c.getTime());
        int result = cockpitMapper.insert(cockpit);
        if (!(result>0)){
            resultState.setStateCode(400);
            resultState.setMsg("生态环境状况指数插入失败！");
        }
        return resultState ;
    }
}
