/*
 * Copyright [2022] [https://www.xiaonuo.vip]
 *
 * Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：
 *
 * 1.请不要删除和修改根目录下的LICENSE文件。
 * 2.请不要删除和修改Snowy源码头部的版权声明。
 * 3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文件的项目出处，作者声明等。
 * 4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip
 * 5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。
 * 6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package com.unis.emergencySupport.modular.es.service.impl;

import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollStreamUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.unis.biz.modular.dict.entity.BizDict;
import com.unis.emergencySupport.modular.es.entity.*;
import com.unis.emergencySupport.modular.es.entity.EsProcessEnterpriseGrain;
import com.unis.emergencySupport.modular.es.entity.vo.EsProcessEnterpriseCountVo;
import com.unis.emergencySupport.modular.es.entity.vo.EsProcessEnterprisePrCaCountVo;
import com.unis.emergencySupport.modular.es.param.*;
import com.unis.emergencySupport.modular.es.service.EsProcessEnterpriseGrainService;
import com.unis.emergencySupport.modular.esstorageenterprise.util.FileImport;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.unis.common.exception.CommonException;
import com.unis.emergencySupport.modular.es.entity.EsProcessEnterprise;
import com.unis.emergencySupport.modular.es.mapper.EsProcessEnterpriseMapper;
import com.unis.emergencySupport.modular.es.service.EsProcessEnterpriseService;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 应急保障-应急加工企业管理表Service接口实现类
 *
 * @author ZeroLiYi
 * @date  2024/05/30 16:39
 **/
@Service
public class EsProcessEnterpriseServiceImpl extends ServiceImpl<EsProcessEnterpriseMapper, EsProcessEnterprise> implements EsProcessEnterpriseService {

    @Resource
    private com.unis.biz.modular.dict.service.impl.BizDictServiceImpl BizDictServiceImpl;

    @Resource
    private EsProcessEnterpriseMapper esProcessEnterpriseMapper;


    @Resource
    private EsProcessEnterpriseGrainService esProcessEnterpriseGrainService;
    /**
     * 应急加工企业列表
     * @param esProcessEnterprisePageParam
     * @return
     */
    @Override
    public Page<EsProcessEnterprise> page(EsProcessEnterprisePageParam esProcessEnterprisePageParam) {
        //条形查询器
        QueryWrapper<EsProcessEnterprise> queryWrapper = new QueryWrapper<>();
        //分页相关
        if(StringUtils.isNotBlank(esProcessEnterprisePageParam.getEnterpriseName())){
            queryWrapper.like("enterprise_name",esProcessEnterprisePageParam.getEnterpriseName());
        }
        if(StringUtils.isNotBlank(esProcessEnterprisePageParam.getEmergencyCategory())){
            queryWrapper.like("emergency_category",esProcessEnterprisePageParam.getEmergencyCategory());
        }
        if(StringUtils.isNotBlank(esProcessEnterprisePageParam.getCityState())){
            queryWrapper.like("city_state",esProcessEnterprisePageParam.getCityState());
        }

        Page<EsProcessEnterprise> p =new Page<>(esProcessEnterprisePageParam.getCurrent(),esProcessEnterprisePageParam.getSize());

        return this.page(p,queryWrapper);
    }

    @Transactional(rollbackFor = Exception.class)
    @Override
    public void add(EsProcessEnterpriseAddParam esProcessEnterpriseAddParam) {
        EsProcessEnterprise esProcessEnterprise = BeanUtil.toBean(esProcessEnterpriseAddParam, EsProcessEnterprise.class);
        List<EsProcessEnterpriseGrainAddParam> esProcessEnterpriseGrainAddParamList= esProcessEnterpriseAddParam.getEsProcessEnterpriseGrainAddParamList();
     if(esProcessEnterpriseAddParam.getId()==null){//添加

                this.save(esProcessEnterprise);
                if(esProcessEnterpriseGrainAddParamList!=null){ //有数据

                    for (EsProcessEnterpriseGrainAddParam addparam:esProcessEnterpriseGrainAddParamList) {
                        addparam.setEsProcessEnterpriseId(esProcessEnterprise.getId());
                        esProcessEnterpriseGrainService.add(addparam);
                    }

                }
            }else{//修改
                //修改主表数据
                this.updateById(esProcessEnterprise);
                if(esProcessEnterpriseGrainAddParamList!=null){ //有数据

                    for (EsProcessEnterpriseGrainAddParam addparam:esProcessEnterpriseGrainAddParamList) {
                        if(addparam.getId()!=null){
                            esProcessEnterpriseGrainService.removeById(addparam.getId());
                        }
                        addparam.setEsProcessEnterpriseId(esProcessEnterprise.getId());
                        esProcessEnterpriseGrainService.add(addparam);
                    }

                }

            }


   
    }

    @Transactional(rollbackFor = Exception.class)
    @Override
    public void edit(EsProcessEnterpriseEditParam esProcessEnterpriseEditParam) {
        EsProcessEnterprise esProcessEnterprise = this.queryEntity(esProcessEnterpriseEditParam.getId());
        BeanUtil.copyProperties(esProcessEnterpriseEditParam, esProcessEnterprise);
        this.updateById(esProcessEnterprise);
    }

    @Transactional(rollbackFor = Exception.class)
    @Override
    public void delete(List<EsProcessEnterpriseIdParam> esProcessEnterpriseIdParamList) {

        for (EsProcessEnterpriseIdParam enid:esProcessEnterpriseIdParamList
        ) {
            QueryWrapper<EsProcessEnterpriseGrain> queryWrapper = new QueryWrapper<>();
            queryWrapper.eq("es_process_enterprise_id",enid.getId());
            esProcessEnterpriseGrainService.remove(queryWrapper);
        }
        // 执行删除
        this.removeByIds(CollStreamUtil.toList(esProcessEnterpriseIdParamList, EsProcessEnterpriseIdParam::getId));
    }

    @Override
    public EsProcessEnterprise detail(EsProcessEnterpriseIdParam esProcessEnterpriseIdParam) {

        EsProcessEnterprise EsProcessEnterprise =this.queryEntity(esProcessEnterpriseIdParam.getId());

        QueryWrapper<EsProcessEnterpriseGrain> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("es_process_enterprise_id",esProcessEnterpriseIdParam.getId());
        List<EsProcessEnterpriseGrain> EsProcessEnterpriseGrains = esProcessEnterpriseGrainService.list(queryWrapper);
        if(EsProcessEnterpriseGrains!=null){
            EsProcessEnterprise.setEsProcessEnterpriseGrainList(EsProcessEnterpriseGrains);
        }

        return EsProcessEnterprise;
    }

    @Override
    public EsProcessEnterprise queryEntity(String id) {
        EsProcessEnterprise esProcessEnterprise = this.getById(id);
        if(ObjectUtil.isEmpty(esProcessEnterprise)) {
            throw new CommonException("应急保障-应急加工企业管理表不存在，id值为：{}", id);
        }
        return esProcessEnterprise;
    }

    @Override
    public List<EsProcessEnterpriseCountVo> selectCount(EsNetworkEnterpriseCountParam esNetworkEnterpriseCountParam) {
        List<EsProcessEnterpriseCountVo> EsProcessEnterpriseCountVOList=new ArrayList<>();
        if(esNetworkEnterpriseCountParam.getManagementAreaCity()!=null &&!esNetworkEnterpriseCountParam.getManagementAreaCity().isEmpty()){//市
            EsProcessEnterpriseCountVOList.addAll(esProcessEnterpriseMapper.selectCityCount(esNetworkEnterpriseCountParam));
            EsProcessEnterpriseCountVOList.addAll(esProcessEnterpriseMapper.selectCountyCount(esNetworkEnterpriseCountParam));
        }
      else{

            EsProcessEnterpriseCountVOList.addAll(esProcessEnterpriseMapper.selectProvinceCount(esNetworkEnterpriseCountParam));
            EsProcessEnterpriseCountVOList.addAll(esProcessEnterpriseMapper.selectCityCount(esNetworkEnterpriseCountParam));
        }


        return EsProcessEnterpriseCountVOList;
    }

    @Override
    public List<EsProcessEnterprisePrCaCountVo> prCacount(EsProcessEnterpriseCountParam esProcessEnterpriseCountParam) {
        List<EsProcessEnterprisePrCaCountVo> EsProcessEnterpriseCountVOList=new ArrayList<>();
        EsProcessEnterpriseCountVOList.addAll(esProcessEnterpriseMapper.selecTprCacount(esProcessEnterpriseCountParam));
        return EsProcessEnterpriseCountVOList;
    }
    @Transactional
    @Override
    public Map<String, Object> importByEntityResult(MultipartFile file, Map<String, Object> map) throws IOException {
        // TODO Auto-generated method stub
        Integer index = 6;
        BigDecimal quantity=new BigDecimal(0.00);
        List<String[]> list = FileImport.importByFile(file, index);
        if (list.size() > 0) {
            int res = 0;
            int insertNum = 0;
            int updateNum = 0;
            int skipNum = 0;
            int failNum = 0;
            int size = list.size();
            for (String[] strings : list) {

                /*
                 * 判断是否为整数
                 * 判断第一列是否是 数字 不是跳过
                 */
                String str = strings[0].toString();
                if (!str.matches("^[-\\+]?[\\d]*$")){
                    continue;
                }

                if (strings[13] != null && strings[13] != "" && strings[12] != null && strings[12] != "") {

                    /**
                     * 查询是否存在此条数据
                     * 根据企业名称和社会信用代码
                     */
                    QueryWrapper<EsProcessEnterprise> queryWrapper = new QueryWrapper<>();
                    queryWrapper.eq("enterprise_name", strings[12]);
                    queryWrapper.eq("credit_code", strings[13]);
                    List<EsProcessEnterprise> mainList = this.list(queryWrapper);

                    if (mainList.size() > 0) {
                        //修改
                        this.importUpdate(strings,mainList,updateNum,res,failNum);
                    } else if(mainList.size() ==0){
                        EsProcessEnterprise EsProcessEnterprise = new EsProcessEnterprise();
                        //新增

                        QueryWrapper<BizDict> queryWrapper1 = new QueryWrapper<>();
                        queryWrapper1.eq("DICT_LABEL",strings[1]);
                        List<BizDict> list1 = BizDictServiceImpl.list(queryWrapper1);
                        EsProcessEnterprise.setManagementAreaProvince(list1.get(0).getId());//归口管理地区-省

                        QueryWrapper<BizDict> queryWrapper2 = new QueryWrapper<>();
                        queryWrapper2.eq("DICT_LABEL",strings[2]);
                        List<BizDict> list2 = BizDictServiceImpl.list(queryWrapper2);
                        EsProcessEnterprise.setManagementAreaCity(list2.get(0).getId());//归口管理地区-市

                        QueryWrapper<BizDict> queryWrapper3 = new QueryWrapper<>();
                        queryWrapper3.eq("DICT_LABEL",strings[3]);
                        List<BizDict> list3 = BizDictServiceImpl.list(queryWrapper3);
                        EsProcessEnterprise.setManagementAreaCounty(list3.get(0).getId());//归口管理地区-县


                        QueryWrapper<BizDict> queryWrapper4 = new QueryWrapper<>();
                        queryWrapper4.eq("DICT_LABEL",strings[4]);
                        List<BizDict> list4 = BizDictServiceImpl.list(queryWrapper4);
                        EsProcessEnterprise.setActualAddressProvince(list4.get(0).getId());//实际经营地址-省

                        QueryWrapper<BizDict> queryWrapper5 = new QueryWrapper<>();
                        queryWrapper5.eq("DICT_LABEL",strings[5]);
                        List<BizDict> list5 = BizDictServiceImpl.list(queryWrapper5);
                        EsProcessEnterprise.setActualAddressCity(list5.get(0).getId());//实际经营地址-市

                        QueryWrapper<BizDict> queryWrapper6 = new QueryWrapper<>();
                        queryWrapper6.eq("DICT_LABEL",strings[6]);
                        List<BizDict> list6 = BizDictServiceImpl.list(queryWrapper6);
                        EsProcessEnterprise.setActualAddressCounty(list6.get(0).getId());//实际经营地址-县


                        if(strings[7] != null && strings[7] != ""){
                            EsProcessEnterprise.setIsNational(1);//供应应急级别-是否国家级，0：否；1：是
                        }else{
                            EsProcessEnterprise.setIsNational(0);//供应应急级别-是否国家级，0：否；1：是
                        }
                        if(strings[8] != null && strings[8] != ""){
                            EsProcessEnterprise.setIsProvincial(1);//供应应急级别-是否省级，0：否；1：是
                        }else{
                            EsProcessEnterprise.setIsProvincial(0);//供应应急级别-是否省级，0：否；1：是
                        }

                        if(strings[9] != null && strings[9] != ""){
                            EsProcessEnterprise.setIsCity(1);//供应应急级别-是否市级，0：否；1：是
                        }else{
                            EsProcessEnterprise.setIsCity(0);//供应应急级别-是否市级，0：否；1：是
                        }

                        if(strings[10] != null && strings[10] != ""){
                            EsProcessEnterprise.setIsCounty(1);//供应应急级别-是否县级，0：否；1：是
                        }else{
                            EsProcessEnterprise.setIsCounty(0);//供应应急级别-是否县级，0：否；1：是
                        }


                        EsProcessEnterprise.setHeadquarterCreditCode(strings[11]);//所属总公司企业信用代码
                        EsProcessEnterprise.setEnterpriseName(strings[12]);//企业名称
                        if (strings[13] != null && strings[13].length() > 18) {
                            throw new IllegalArgumentException(strings[13]+"统一社会信用代码长度不能超过18位");
                        } else {
                            EsProcessEnterprise.setCreditCode(strings[13]);//统一社会信用代码
                        }
                        EsProcessEnterprise.setActualBusinessAddress(strings[14]);//实际经营地址（省、市、县、乡镇街道门牌号）

                        QueryWrapper<BizDict> queryWrapper7 = new QueryWrapper<>();
                        queryWrapper7.eq("DICT_LABEL",strings[15].trim());
                        List<BizDict> list7 = BizDictServiceImpl.list(queryWrapper7);
                        EsProcessEnterprise.setEnterpriseNature(strings[15]);//企业性质
                        QueryWrapper<BizDict> queryWrapper8 = new QueryWrapper<>();
                        queryWrapper8.eq("DICT_LABEL",strings[16]);
                        List<BizDict> list8 = BizDictServiceImpl.list(queryWrapper8);
                        EsProcessEnterprise.setEnterpriseType(strings[16]);//企业类型

//                        EsProcessEnterprise.setLongitude(new BigDecimal(strings[17]));//经度
//
//                        EsProcessEnterprise.setLatitude(new BigDecimal(strings[18]));//纬度

                        // 假设 strings 是字符串数组，其中包含经度和纬度的数据
                        if (strings[17] != null) {
                            try {
                                BigDecimal longitude = new BigDecimal(strings[17]);
                                // 进行后续的处理
                                EsProcessEnterprise.setLongitude(longitude);
                            } catch (NumberFormatException e) {
                                throw new NumberFormatException(strings[17] + " 经度格式不正确");
                            }
                        }


                        if (strings[18] != null) {
                            try {
                                BigDecimal latitude = new BigDecimal(strings[18]);
                                // 进行后续的处理
                                EsProcessEnterprise.setLatitude(latitude);
                            } catch (NumberFormatException e) {
                                throw new NumberFormatException(strings[18] + " 纬度格式不正确");
                            }
                        }


                        EsProcessEnterprise.setLegalRepresentative(strings[19]);//法人姓名
                        EsProcessEnterprise.setLegalContact(strings[20]);//法人联系方式
                        EsProcessEnterprise.setEnterpriseContact(strings[21]);//企业联系人
                        EsProcessEnterprise.setContactNumber(strings[22]);//联系电话


                        if(strings[66] != null && strings[66] != ""){
                            if(strings[66].equals("生产")){
                                EsProcessEnterprise.setProductionStatus(1);//生产状态，0：停产；1：生产
                            }else{
                                EsProcessEnterprise.setProductionStatus(0);//生产状态，0：停产；1：生产
                            }
                        }
                        if(strings[56] != null && strings[56] != ""){ //实际日配送量
                            if(strings[56]!=null&&!strings[56].isEmpty()){
                                quantity=new BigDecimal(strings[56]);
                            }
                                EsProcessEnterprise.setDailyDeliveryCapacity(quantity);

                        }
                        Integer in =0;
                        if(strings[63] != null && strings[63] != ""){//自有运输车辆数
                            if(strings[63]!=null&&!strings[63].isEmpty()){
                                in=Integer.parseInt(strings[63]);
                            }
                            EsProcessEnterprise.setOwnTransportVehicles(in);
                        }
                        if(strings[64] != null && strings[64] != ""){//自有车辆日配送能力
                            if(strings[64]!=null&&!strings[64].isEmpty()){
                                quantity=new BigDecimal(strings[64]);
                            }
                            EsProcessEnterprise.setOwnVehiclesDailyDeliveryCapacity(quantity);
                        }
                        EsProcessEnterprise.setCityState(strings[5].trim());
                        if(strings[65] != null && strings[65] != ""){//自有运输能力
                            if(strings[65]!=null&&!strings[65].isEmpty()){
                                quantity=new BigDecimal(strings[65]);
                            }
                            EsProcessEnterprise.setOwnTransportCapacity(quantity);
                        }
                        EsProcessEnterprise.setCityState(strings[5].trim());
                        this.save(EsProcessEnterprise);
                        /**
                         * 小麦原粮
                         */
                        if((strings[23] != null && strings[23] != "") || (strings[32] != null && strings[32] != "") || (strings[41] != null && strings[41] != "") || (strings[50] != null && strings[50] != "")|| (strings[57] != null && strings[57] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(1);//粮食品种 1：小麦原粮
                            if(strings[23] != null && strings[23] != ""){
                                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                                if(strings[23]!=null&&!strings[23].isEmpty()){
                                    quantity=new BigDecimal(strings[23]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[32] != null && strings[32] != ""){
                                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                                if(strings[32]!=null&&!strings[32].isEmpty()){
                                    quantity=new BigDecimal(strings[32]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[41] != null && strings[41] != ""){
                                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存
                                EsProcessEnterpriseGrain.setQuantity(new BigDecimal(strings[41]));
                            }
                           esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }
                        /**
                         * 稻谷
                         */
                        if((strings[24] != null && strings[24] != "") || (strings[33] != null && strings[33] != "") || (strings[42] != null && strings[42] != "") || (strings[51] != null && strings[51] != "")|| (strings[58] != null && strings[58] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(2);//粮食品种 1：稻谷
                            if(strings[24] != null && strings[24] != ""){
                                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                                if(strings[24]!=null&&!strings[24].isEmpty()){
                                    quantity=new BigDecimal(strings[24]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[33] != null && strings[33] != ""){
                                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                                if(strings[33]!=null&&!strings[33].isEmpty()){
                                    quantity=new BigDecimal(strings[33]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }else if(strings[42] != null && strings[42] != ""){
                                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                                if(strings[42]!=null&&!strings[42].isEmpty()){
                                    quantity=new BigDecimal(strings[42]);
                                }

                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                           }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }

                        /**
                         * 大豆
                         */
                        if((strings[25] != null && strings[25] != "") || (strings[34] != null && strings[34] != "") || (strings[43] != null && strings[43] != "") || (strings[52] != null && strings[52] != "")|| (strings[59] != null && strings[59] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(3);//粮食品种 1：大豆
                            if(strings[25] != null && strings[25] != ""){
                                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                                if(strings[25]!=null&&!strings[25].isEmpty()){
                                    quantity=new BigDecimal(strings[25]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[34] != null && strings[34] != ""){
                                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                                if(strings[34]!=null&&!strings[34].isEmpty()){
                                    quantity=new BigDecimal(strings[34]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }else if(strings[43] != null && strings[43] != ""){
                                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                                if(strings[43]!=null&&!strings[43].isEmpty()){
                                    quantity=new BigDecimal(strings[43]);
                                }

                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }
                        /**
                         * 玉米
                         */
                        if((strings[26] != null && strings[26] != "") || (strings[35] != null && strings[35] != "") || (strings[44] != null && strings[44] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(4);//粮食品种 1：玉米
                            if(strings[26] != null && strings[26] != ""){
                                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                                if(strings[26]!=null&&!strings[26].isEmpty()){
                                    quantity=new BigDecimal(strings[26]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[35] != null && strings[35] != ""){
                                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                                if(strings[35]!=null&&!strings[35].isEmpty()){
                                    quantity=new BigDecimal(strings[35]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }else if(strings[44] != null && strings[44] != ""){
                                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                                if(strings[44]!=null&&!strings[44].isEmpty()){
                                    quantity=new BigDecimal(strings[44]);
                                }

                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }
                        /**
                         * 其他原粮
                         */
                        if((strings[27] != null && strings[27] != "") || (strings[36] != null && strings[36] != "") || (strings[45] != null && strings[45] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(5);//粮食品种 1：其他原粮
                            if(strings[27] != null && strings[27] != ""){
                                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                                if(strings[27]!=null&&!strings[27].isEmpty()){
                                    quantity=new BigDecimal(strings[27]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[36] != null && strings[36] != ""){
                                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                                if(strings[36]!=null&&!strings[36].isEmpty()){
                                    quantity=new BigDecimal(strings[36]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }else if(strings[45] != null && strings[45] != ""){
                                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                                if(strings[45]!=null&&!strings[45].isEmpty()){
                                    quantity=new BigDecimal(strings[45]);
                                }

                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }
                        /**
                         * 小麦粉成品粮
                         */
                        if((strings[28] != null && strings[28] != "") || (strings[37] != null && strings[37] != "") || (strings[46] != null && strings[46] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(6);//粮食品种 1：小麦粉成品粮
                            if(strings[28] != null && strings[28] != ""){
                                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                                if(strings[28]!=null&&!strings[28].isEmpty()){
                                    quantity=new BigDecimal(strings[28]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[37] != null && strings[37] != ""){
                                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                                if(strings[37]!=null&&!strings[37].isEmpty()){
                                    quantity=new BigDecimal(strings[37]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }else if(strings[46] != null && strings[46] != ""){
                                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                                if(strings[46]!=null&&!strings[46].isEmpty()){
                                    quantity=new BigDecimal(strings[46]);
                                }

                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }
                        /**
                         * 大米成品粮
                         */
                        if((strings[29] != null && strings[29] != "") || (strings[38] != null && strings[38] != "") || (strings[47] != null && strings[47] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(7);//粮食品种 1：大米成品粮
                            if(strings[29] != null && strings[29] != ""){
                                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                                if(strings[29]!=null&&!strings[29].isEmpty()){
                                    quantity=new BigDecimal(strings[29]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[38] != null && strings[38] != ""){
                                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                                if(strings[38]!=null&&!strings[38].isEmpty()){
                                    quantity=new BigDecimal(strings[38]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }else if(strings[47] != null && strings[47] != ""){
                                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                                if(strings[47]!=null&&!strings[47].isEmpty()){
                                    quantity=new BigDecimal(strings[47]);
                                }

                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }
                        /**
                         * 食用油成品粮
                         */
                        if((strings[30] != null && strings[30] != "") || (strings[39] != null && strings[39] != "") || (strings[48] != null && strings[48] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(8);//粮食品种 1：食用油成品粮
                            if(strings[30] != null && strings[30] != ""){
                                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                                if(strings[30]!=null&&!strings[30].isEmpty()){
                                    quantity=new BigDecimal(strings[30]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[39] != null && strings[39] != ""){
                                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                                if(strings[39]!=null&&!strings[39].isEmpty()){
                                    quantity=new BigDecimal(strings[39]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }else if(strings[48] != null && strings[48] != ""){
                                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                                if(strings[48]!=null&&!strings[48].isEmpty()){
                                    quantity=new BigDecimal(strings[48]);
                                }

                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }
                        /**
                         * 其他成品粮
                         */
                        if((strings[31] != null && strings[31] != "") || (strings[40] != null && strings[40] != "") || (strings[49] != null && strings[49] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(9);//粮食品种 9：其他成品粮
                            if(strings[31] != null && strings[31] != ""){
                                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                                if(strings[31]!=null&&!strings[31].isEmpty()){
                                    quantity=new BigDecimal(strings[31]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[40] != null && strings[40] != ""){
                                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                                if(strings[40]!=null&&!strings[40].isEmpty()){
                                    quantity=new BigDecimal(strings[40]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }else if(strings[49] != null && strings[49] != ""){
                                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                                if(strings[49]!=null&&!strings[49].isEmpty()){
                                    quantity=new BigDecimal(strings[49]);
                                }

                                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
                            }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }
                        /**
                         * 日加工-小麦
                         */
                        if((strings[50] != null && strings[50] != "")||(strings[57] != null && strings[57] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(10);//粮食品种 10：日加工-小麦
                            if(strings[50] != null && strings[50] != ""){
                                EsProcessEnterpriseGrain.setType(4);//类型 ：日加工量；
                                if(strings[50]!=null&&!strings[50].isEmpty()){
                                    quantity=new BigDecimal(strings[50]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[57] != null && strings[57] != ""){
                                EsProcessEnterpriseGrain.setType(5);//类型 ：日加工量；
                                if(strings[57]!=null&&!strings[57].isEmpty()){
                                    quantity=new BigDecimal(strings[57]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);

                            }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }
                        /**
                         * 日加工-稻谷日加工量
                         */
                        if((strings[51] != null && strings[51] != "")||(strings[58] != null && strings[58] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(11);//粮食品种 10：日加工-稻谷日加工量
                            if(strings[51] != null && strings[51] != ""){
                                EsProcessEnterpriseGrain.setType(4);//类型 ：日加工量；
                                if(strings[51]!=null&&!strings[51].isEmpty()){
                                    quantity=new BigDecimal(strings[51]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[58] != null && strings[58] != ""){
                                EsProcessEnterpriseGrain.setType(5);//类型 ：日加工量；
                                if(strings[58]!=null&&!strings[58].isEmpty()){
                                    quantity=new BigDecimal(strings[58]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);

                            }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }
                        /**
                         * 日加工-油料处理日产量
                         */
                        if((strings[52] != null && strings[52] != "")||(strings[59] != null && strings[59] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(12);//粮食品种 12：日加工-油料处理日产量
                            if(strings[52] != null && strings[52] != ""){
                                EsProcessEnterpriseGrain.setType(4);//类型 ：日加工量；
                                if(strings[52]!=null&&!strings[52].isEmpty()){
                                    quantity=new BigDecimal(strings[52]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[59] != null && strings[59] != ""){
                                EsProcessEnterpriseGrain.setType(5);//类型 ：日加工量；
                                if(strings[59]!=null&&!strings[59].isEmpty()){
                                    quantity=new BigDecimal(strings[59]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);

                            }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }
                        /**
                         * 日加工-油料精炼日产量
                         */
                        if((strings[53] != null && strings[53] != "")||(strings[60] != null && strings[60] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(13);//粮食品种 13：日加工-油料精炼日产量
                            if(strings[53] != null && strings[53] != ""){
                                EsProcessEnterpriseGrain.setType(4);//类型 ：日加工量；
                                if(strings[53]!=null&&!strings[53].isEmpty()){
                                    quantity=new BigDecimal(strings[53]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[60] != null && strings[60] != ""){
                                EsProcessEnterpriseGrain.setType(5);//类型 ：日加工量；
                                if(strings[60]!=null&&!strings[60].isEmpty()){
                                    quantity=new BigDecimal(strings[60]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);

                            }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }
                        /**
                         * 日加工-油脂分装日产量
                         */
                        if((strings[54] != null && strings[54] != "")||(strings[61] != null && strings[61] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(14);//粮食品种 日加工-油脂分装日产量
                            if(strings[54] != null && strings[54] != ""){
                                EsProcessEnterpriseGrain.setType(4);//类型 ：日加工量；
                                if(strings[54]!=null&&!strings[54].isEmpty()){
                                    quantity=new BigDecimal(strings[54]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[61] != null && strings[61] != ""){
                                EsProcessEnterpriseGrain.setType(5);//类型 ：日加工量；
                                if(strings[61]!=null&&!strings[61].isEmpty()){
                                    quantity=new BigDecimal(strings[61]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);

                            }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }
                        /**
                         * 日加工-其它日加工量
                         */
                        if((strings[55] != null && strings[55] != "")||(strings[62] != null && strings[62] != "")){
                            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
                            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

                            EsProcessEnterpriseGrain.setGrainVariety(15);//粮食品种 日加工-其它日加工量
                            if(strings[55] != null && strings[55] != ""){
                                EsProcessEnterpriseGrain.setType(4);//类型 ：日加工量；
                                if(strings[55]!=null&&!strings[55].isEmpty()){
                                    quantity=new BigDecimal(strings[55]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);
                            }else if(strings[62] != null && strings[62] != ""){
                                EsProcessEnterpriseGrain.setType(5);//类型 ：日加工量；
                                if(strings[62]!=null&&!strings[62].isEmpty()){
                                    quantity=new BigDecimal(strings[62]);
                                }
                                EsProcessEnterpriseGrain.setQuantity(quantity);

                            }
                            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
                        }







                        res = 1;
                        if(res>0){
                            insertNum+= 1;
                        } else{
                            failNum+= 1;
                        }
                    }else{
                        skipNum+= 1;
                    }

                }

            }
            map.put("status", 200);
            map.put("massage", "共" + size + ",跳过" + skipNum + ",失败" + failNum + ",成功新增" + insertNum + ",成功更新" + updateNum);
            return map;

        } else {
            map.put("status", 500);
            map.put("massage", "未读取到有效数据或存在无法解析的属性");
            return map;
        }

    }

    @Transactional
    public void importUpdate (String[] strings,  List<EsProcessEnterprise> list, Integer updateNum, Integer res, Integer failNum){
        BigDecimal quantity=new BigDecimal(0.00);
        EsProcessEnterprise EsProcessEnterprise = list.get(0);
        EsProcessEnterprise.setId(EsProcessEnterprise.getId());
        //修改

        QueryWrapper<BizDict> queryWrapper1 = new QueryWrapper<>();
        queryWrapper1.eq("DICT_LABEL",strings[1]);
        List<BizDict> list1 = BizDictServiceImpl.list(queryWrapper1);
        EsProcessEnterprise.setManagementAreaProvince(list1.get(0).getId());//归口管理地区-省

        QueryWrapper<BizDict> queryWrapper2 = new QueryWrapper<>();
        queryWrapper2.eq("DICT_LABEL",strings[2]);
        List<BizDict> list2 = BizDictServiceImpl.list(queryWrapper2);
        EsProcessEnterprise.setManagementAreaCity(list2.get(0).getId());//归口管理地区-市

        QueryWrapper<BizDict> queryWrapper3 = new QueryWrapper<>();
        queryWrapper3.eq("DICT_LABEL",strings[3]);
        List<BizDict> list3 = BizDictServiceImpl.list(queryWrapper3);
        EsProcessEnterprise.setManagementAreaCounty(list3.get(0).getId());//归口管理地区-县


        QueryWrapper<BizDict> queryWrapper4 = new QueryWrapper<>();
        queryWrapper4.eq("DICT_LABEL",strings[4]);
        List<BizDict> list4 = BizDictServiceImpl.list(queryWrapper4);
        EsProcessEnterprise.setActualAddressProvince(list4.get(0).getId());//实际经营地址-省

        QueryWrapper<BizDict> queryWrapper5 = new QueryWrapper<>();
        queryWrapper5.eq("DICT_LABEL",strings[5]);
        List<BizDict> list5 = BizDictServiceImpl.list(queryWrapper5);
        EsProcessEnterprise.setActualAddressCity(list5.get(0).getId());//实际经营地址-市

        QueryWrapper<BizDict> queryWrapper6 = new QueryWrapper<>();
        queryWrapper6.eq("DICT_LABEL",strings[6]);
        List<BizDict> list6 = BizDictServiceImpl.list(queryWrapper6);
        EsProcessEnterprise.setActualAddressCounty(list6.get(0).getId());//实际经营地址-县


        if(strings[7] != null && strings[7] != ""){
            EsProcessEnterprise.setIsNational(1);//供应应急级别-是否国家级，0：否；1：是
        }else{
            EsProcessEnterprise.setIsNational(0);//供应应急级别-是否国家级，0：否；1：是
        }
        if(strings[8] != null && strings[8] != ""){
            EsProcessEnterprise.setIsProvincial(1);//供应应急级别-是否省级，0：否；1：是
        }else{
            EsProcessEnterprise.setIsProvincial(0);//供应应急级别-是否省级，0：否；1：是
        }

        if(strings[9] != null && strings[9] != ""){
            EsProcessEnterprise.setIsCity(1);//供应应急级别-是否市级，0：否；1：是
        }else{
            EsProcessEnterprise.setIsCity(0);//供应应急级别-是否市级，0：否；1：是
        }

        if(strings[10] != null && strings[10] != ""){
            EsProcessEnterprise.setIsCounty(1);//供应应急级别-是否县级，0：否；1：是
        }else{
            EsProcessEnterprise.setIsCounty(0);//供应应急级别-是否县级，0：否；1：是
        }


        EsProcessEnterprise.setHeadquarterCreditCode(strings[11]);//所属总公司企业信用代码
        EsProcessEnterprise.setEnterpriseName(strings[12]);//企业名称
        EsProcessEnterprise.setCreditCode(strings[13]);//统一社会信用代码
        EsProcessEnterprise.setActualBusinessAddress(strings[14]);//实际经营地址（省、市、县、乡镇街道门牌号）

        QueryWrapper<BizDict> queryWrapper7 = new QueryWrapper<>();
        queryWrapper7.eq("DICT_LABEL",strings[15].trim());
        List<BizDict> list7 = BizDictServiceImpl.list(queryWrapper7);
        EsProcessEnterprise.setEnterpriseNature(strings[15]);//企业性质
        QueryWrapper<BizDict> queryWrapper8 = new QueryWrapper<>();
        queryWrapper8.eq("DICT_LABEL",strings[16]);
        List<BizDict> list8 = BizDictServiceImpl.list(queryWrapper8);
        EsProcessEnterprise.setEnterpriseType(strings[16]);//企业类型

        EsProcessEnterprise.setLongitude(new BigDecimal(strings[17]));//经度

        EsProcessEnterprise.setLatitude(new BigDecimal(strings[18]));//纬度


        EsProcessEnterprise.setLegalRepresentative(strings[19]);//法人姓名
        EsProcessEnterprise.setLegalContact(strings[20]);//法人联系方式
        EsProcessEnterprise.setEnterpriseContact(strings[21]);//企业联系人
        EsProcessEnterprise.setContactNumber(strings[22]);//联系电话


        if(strings[66] != null && strings[66] != ""){
            if(strings[66].equals("生产")){
                EsProcessEnterprise.setProductionStatus(1);//生产状态，0：停产；1：生产
            }else{
                EsProcessEnterprise.setProductionStatus(0);//生产状态，0：停产；1：生产
            }
        }
        if(strings[56] != null && strings[56] != ""){ //实际日配送量
            if(strings[56]!=null&&!strings[56].isEmpty()){
                quantity=new BigDecimal(strings[56]);
            }
            EsProcessEnterprise.setDailyDeliveryCapacity(quantity);

        }
        Integer in =0;
        if(strings[63] != null && strings[63] != ""){//自有运输车辆数
            if(strings[63]!=null&&!strings[63].isEmpty()){
                in=Integer.parseInt(strings[63]);
            }
            EsProcessEnterprise.setOwnTransportVehicles(in);
        }

        if(strings[64] != null && strings[64] != ""){//自有车辆日配送能力
            if(strings[64]!=null&&!strings[64].isEmpty()){
                quantity=new BigDecimal(strings[64]);
            }
            EsProcessEnterprise.setOwnVehiclesDailyDeliveryCapacity(quantity);
        }
        EsProcessEnterprise.setCityState(strings[5].trim());
        if(strings[65] != null && strings[65] != ""){//自有运输能力
            if(strings[65]!=null&&!strings[65].isEmpty()){
                quantity=new BigDecimal(strings[65]);
            }
            EsProcessEnterprise.setOwnVehiclesDailyDeliveryCapacity(quantity);
        }
        EsProcessEnterprise.setCityState(strings[5].trim());

        this.updateById(EsProcessEnterprise);

        QueryWrapper<EsProcessEnterpriseGrain> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("es_process_enterprise_id", EsProcessEnterprise.getId());
        List<EsProcessEnterpriseGrain> zList = esProcessEnterpriseGrainService.list(queryWrapper);
        esProcessEnterpriseGrainService.removeByIds(zList);
        /**
         * 小麦原粮
         */
        if((strings[23] != null && strings[23] != "") || (strings[32] != null && strings[32] != "") || (strings[41] != null && strings[41] != "") || (strings[50] != null && strings[50] != "")|| (strings[57] != null && strings[57] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(1);//粮食品种 1：小麦原粮
            if(strings[23] != null && strings[23] != ""){
                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                if(strings[23]!=null&&!strings[23].isEmpty()){
                    quantity=new BigDecimal(strings[23]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[32] != null && strings[32] != ""){
                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                if(strings[32]!=null&&!strings[32].isEmpty()){
                    quantity=new BigDecimal(strings[32]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[41] != null && strings[41] != ""){
                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存
                EsProcessEnterpriseGrain.setQuantity(new BigDecimal(strings[41]));
            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }
        /**
         * 稻谷
         */
        if((strings[24] != null && strings[24] != "") || (strings[33] != null && strings[33] != "") || (strings[42] != null && strings[42] != "") || (strings[51] != null && strings[51] != "")|| (strings[58] != null && strings[58] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(2);//粮食品种 1：稻谷
            if(strings[24] != null && strings[24] != ""){
                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                if(strings[24]!=null&&!strings[24].isEmpty()){
                    quantity=new BigDecimal(strings[24]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[33] != null && strings[33] != ""){
                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                if(strings[33]!=null&&!strings[33].isEmpty()){
                    quantity=new BigDecimal(strings[33]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }else if(strings[42] != null && strings[42] != ""){
                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                if(strings[42]!=null&&!strings[42].isEmpty()){
                    quantity=new BigDecimal(strings[42]);
                }

                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }

        /**
         * 大豆
         */
        if((strings[25] != null && strings[25] != "") || (strings[34] != null && strings[34] != "") || (strings[43] != null && strings[43] != "") || (strings[52] != null && strings[52] != "")|| (strings[59] != null && strings[59] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(3);//粮食品种 1：大豆
            if(strings[25] != null && strings[25] != ""){
                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                if(strings[25]!=null&&!strings[25].isEmpty()){
                    quantity=new BigDecimal(strings[25]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[34] != null && strings[34] != ""){
                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                if(strings[34]!=null&&!strings[34].isEmpty()){
                    quantity=new BigDecimal(strings[34]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }else if(strings[43] != null && strings[43] != ""){
                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                if(strings[43]!=null&&!strings[43].isEmpty()){
                    quantity=new BigDecimal(strings[43]);
                }

                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }
        /**
         * 玉米
         */
        if((strings[26] != null && strings[26] != "") || (strings[35] != null && strings[35] != "") || (strings[44] != null && strings[44] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(4);//粮食品种 1：玉米
            if(strings[26] != null && strings[26] != ""){
                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                if(strings[26]!=null&&!strings[26].isEmpty()){
                    quantity=new BigDecimal(strings[26]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[35] != null && strings[35] != ""){
                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                if(strings[35]!=null&&!strings[35].isEmpty()){
                    quantity=new BigDecimal(strings[35]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }else if(strings[44] != null && strings[44] != ""){
                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                if(strings[44]!=null&&!strings[44].isEmpty()){
                    quantity=new BigDecimal(strings[44]);
                }

                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }
        /**
         * 其他原粮
         */
        if((strings[27] != null && strings[27] != "") || (strings[36] != null && strings[36] != "") || (strings[45] != null && strings[45] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(5);//粮食品种 1：其他原粮
            if(strings[27] != null && strings[27] != ""){
                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                if(strings[27]!=null&&!strings[27].isEmpty()){
                    quantity=new BigDecimal(strings[27]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[36] != null && strings[36] != ""){
                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                if(strings[36]!=null&&!strings[36].isEmpty()){
                    quantity=new BigDecimal(strings[36]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }else if(strings[45] != null && strings[45] != ""){
                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                if(strings[45]!=null&&!strings[45].isEmpty()){
                    quantity=new BigDecimal(strings[45]);
                }

                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }
        /**
         * 小麦粉成品粮
         */
        if((strings[28] != null && strings[28] != "") || (strings[37] != null && strings[37] != "") || (strings[46] != null && strings[46] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(6);//粮食品种 1：小麦粉成品粮
            if(strings[28] != null && strings[28] != ""){
                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                if(strings[28]!=null&&!strings[28].isEmpty()){
                    quantity=new BigDecimal(strings[28]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[37] != null && strings[37] != ""){
                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                if(strings[37]!=null&&!strings[37].isEmpty()){
                    quantity=new BigDecimal(strings[37]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }else if(strings[46] != null && strings[46] != ""){
                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                if(strings[46]!=null&&!strings[46].isEmpty()){
                    quantity=new BigDecimal(strings[46]);
                }

                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }
        /**
         * 大米成品粮
         */
        if((strings[29] != null && strings[29] != "") || (strings[38] != null && strings[38] != "") || (strings[47] != null && strings[47] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(7);//粮食品种 1：大米成品粮
            if(strings[29] != null && strings[29] != ""){
                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                if(strings[29]!=null&&!strings[29].isEmpty()){
                    quantity=new BigDecimal(strings[29]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[38] != null && strings[38] != ""){
                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                if(strings[38]!=null&&!strings[38].isEmpty()){
                    quantity=new BigDecimal(strings[38]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }else if(strings[47] != null && strings[47] != ""){
                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                if(strings[47]!=null&&!strings[47].isEmpty()){
                    quantity=new BigDecimal(strings[47]);
                }

                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }
        /**
         * 食用油成品粮
         */
        if((strings[30] != null && strings[30] != "") || (strings[39] != null && strings[39] != "") || (strings[48] != null && strings[48] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(8);//粮食品种 1：食用油成品粮
            if(strings[30] != null && strings[30] != ""){
                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                if(strings[30]!=null&&!strings[30].isEmpty()){
                    quantity=new BigDecimal(strings[30]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[39] != null && strings[39] != ""){
                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                if(strings[39]!=null&&!strings[39].isEmpty()){
                    quantity=new BigDecimal(strings[39]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }else if(strings[48] != null && strings[48] != ""){
                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                if(strings[48]!=null&&!strings[48].isEmpty()){
                    quantity=new BigDecimal(strings[48]);
                }

                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }
        /**
         * 其他成品粮
         */
        if((strings[31] != null && strings[31] != "") || (strings[40] != null && strings[40] != "") || (strings[49] != null && strings[49] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(9);//粮食品种 9：其他成品粮
            if(strings[31] != null && strings[31] != ""){
                EsProcessEnterpriseGrain.setType(1);//类型 1：日入库量；
                if(strings[31]!=null&&!strings[31].isEmpty()){
                    quantity=new BigDecimal(strings[31]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[40] != null && strings[40] != ""){
                EsProcessEnterpriseGrain.setType(2);//类型 2：日销量；
                if(strings[40]!=null&&!strings[40].isEmpty()){
                    quantity=new BigDecimal(strings[40]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }else if(strings[49] != null && strings[49] != ""){
                EsProcessEnterpriseGrain.setType(3);//类型 3：日库存

                if(strings[49]!=null&&!strings[49].isEmpty()){
                    quantity=new BigDecimal(strings[49]);
                }

                EsProcessEnterpriseGrain.setQuantity(quantity);//数量
            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }
        /**
         * 日加工-小麦
         */
        if((strings[50] != null && strings[50] != "")||(strings[57] != null && strings[57] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(10);//粮食品种 10：日加工-小麦
            if(strings[50] != null && strings[50] != ""){
                EsProcessEnterpriseGrain.setType(4);//类型 ：日加工量；
                if(strings[50]!=null&&!strings[50].isEmpty()){
                    quantity=new BigDecimal(strings[50]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[57] != null && strings[57] != ""){
                EsProcessEnterpriseGrain.setType(5);//类型 ：日加工量；
                if(strings[57]!=null&&!strings[57].isEmpty()){
                    quantity=new BigDecimal(strings[57]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);

            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }
        /**
         * 日加工-稻谷日加工量
         */
        if((strings[51] != null && strings[51] != "")||(strings[58] != null && strings[58] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(11);//粮食品种 10：日加工-稻谷日加工量
            if(strings[51] != null && strings[51] != ""){
                EsProcessEnterpriseGrain.setType(4);//类型 ：日加工量；
                if(strings[51]!=null&&!strings[51].isEmpty()){
                    quantity=new BigDecimal(strings[51]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[58] != null && strings[58] != ""){
                EsProcessEnterpriseGrain.setType(5);//类型 ：日加工量；
                if(strings[58]!=null&&!strings[58].isEmpty()){
                    quantity=new BigDecimal(strings[58]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);

            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }
        /**
         * 日加工-油料处理日产量
         */
        if((strings[52] != null && strings[52] != "")||(strings[59] != null && strings[59] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(12);//粮食品种 12：日加工-油料处理日产量
            if(strings[52] != null && strings[52] != ""){
                EsProcessEnterpriseGrain.setType(4);//类型 ：日加工量；
                if(strings[52]!=null&&!strings[52].isEmpty()){
                    quantity=new BigDecimal(strings[52]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[59] != null && strings[59] != ""){
                EsProcessEnterpriseGrain.setType(5);//类型 ：日加工量；
                if(strings[59]!=null&&!strings[59].isEmpty()){
                    quantity=new BigDecimal(strings[59]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);

            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }
        /**
         * 日加工-油料精炼日产量
         */
        if((strings[53] != null && strings[53] != "")||(strings[60] != null && strings[60] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(13);//粮食品种 13：日加工-油料精炼日产量
            if(strings[53] != null && strings[53] != ""){
                EsProcessEnterpriseGrain.setType(4);//类型 ：日加工量；
                if(strings[53]!=null&&!strings[53].isEmpty()){
                    quantity=new BigDecimal(strings[53]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[60] != null && strings[60] != ""){
                EsProcessEnterpriseGrain.setType(5);//类型 ：日加工量；
                if(strings[60]!=null&&!strings[60].isEmpty()){
                    quantity=new BigDecimal(strings[60]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);

            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }
        /**
         * 日加工-油脂分装日产量
         */
        if((strings[54] != null && strings[54] != "")||(strings[61] != null && strings[61] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(14);//粮食品种 日加工-油脂分装日产量
            if(strings[54] != null && strings[54] != ""){
                EsProcessEnterpriseGrain.setType(4);//类型 ：日加工量；
                if(strings[54]!=null&&!strings[54].isEmpty()){
                    quantity=new BigDecimal(strings[54]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[61] != null && strings[61] != ""){
                EsProcessEnterpriseGrain.setType(5);//类型 ：日加工量；
                if(strings[61]!=null&&!strings[61].isEmpty()){
                    quantity=new BigDecimal(strings[61]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);

            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }
        /**
         * 日加工-其它日加工量
         */
        if((strings[55] != null && strings[55] != "")||(strings[62] != null && strings[62] != "")){
            EsProcessEnterpriseGrain EsProcessEnterpriseGrain = new EsProcessEnterpriseGrain();
            EsProcessEnterpriseGrain.setEsProcessEnterpriseId(EsProcessEnterprise.getId());//biz_es_storage_enterprise的id

            EsProcessEnterpriseGrain.setGrainVariety(15);//粮食品种 日加工-其它日加工量
            if(strings[55] != null && strings[55] != ""){
                EsProcessEnterpriseGrain.setType(4);//类型 ：日加工量；
                if(strings[55]!=null&&!strings[55].isEmpty()){
                    quantity=new BigDecimal(strings[55]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);
            }else if(strings[62] != null && strings[62] != ""){
                EsProcessEnterpriseGrain.setType(5);//类型 ：日加工量；
                if(strings[62]!=null&&!strings[62].isEmpty()){
                    quantity=new BigDecimal(strings[62]);
                }
                EsProcessEnterpriseGrain.setQuantity(quantity);

            }
            esProcessEnterpriseGrainService.save(EsProcessEnterpriseGrain);
        }


        res = 1;
        if(res>0){
            updateNum+= 1;
        } else{
            failNum+= 1;
        }

    }
}
