CZT
2023-11-14 13391e649a65a374e390066a35b52c61a6feaa3f
src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -1,7 +1,6 @@
package com.fzzy.push.sh2023;
import com.alibaba.fastjson.JSON;
import com.fzzy.api.Constant;
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.dto.ResponseDto;
@@ -11,6 +10,7 @@
import com.fzzy.api.service.ApiTriggerService;
import com.fzzy.api.utils.*;
import com.fzzy.api.view.repository.*;
import com.fzzy.order.data.OrderData;
import com.fzzy.push.sh2023.dto.*;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@@ -19,10 +19,9 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.lang.reflect.Field;
import java.util.*;
/**
 * 上海市平台2023版-上传数据服务类
@@ -44,15 +43,23 @@
    @Autowired
    private ApiLogRep apiLogRep;
    @Autowired
    private Api1101Rep api1101Rep;
    @Autowired
    private Api1102Rep api1102Rep;
    @Autowired
    private Api1103Rep api1103Rep;
    @Autowired
    private Api1104Rep api1104Rep;
    @Autowired
    private Api1208Rep api1208Rep;
    @Autowired
    private Api1109Rep api1109Rep;
    @Autowired
    private Api1202Rep api1202Rep;
    @Autowired
    private Api1205Rep api1205Rep;
    @Autowired
    private Api1404Rep api1404Rep;
    @Override
    public String getProtocol() {
@@ -66,15 +73,10 @@
    @Override
    public ResponseDto pushData(ApiParam param, ApiConfs conf, Object data) {
        if (Constant.API_CODE_1501.equals(param.getInteId())
                || Constant.API_CODE_1502.equals(param.getInteId())
                || Constant.API_CODE_1503.equals(param.getInteId())) {
            return pushFinanceData(param, conf, data);
        }
        String inteId = param.getInteId();
        String kqdm = param.getKqdm();
        //查询库区信息行政区划码
        List<Api1102> api1102List = api1102Rep.findPushData(conf.getKqdm());
        List<Api1102> api1102List = api1102Rep.findPushData(kqdm);
        try {
            if (null == conf) {
                conf = apiCommonService.getConf(kqdm);
@@ -83,9 +85,14 @@
            //添加日志
            ApiLog apiLog = new ApiLog();
            apiLog.setId(ContextUtil.getUUID());
            //若为财务1501、1502、1503接口,则接口编码填写1114
            if (SH2023Constant.SH_2023_API_CODE_1114_1501.equals(param.getInteId())
                    || SH2023Constant.SH_2023_API_CODE_1114_1502.equals(param.getInteId())
                    || SH2023Constant.SH_2023_API_CODE_1114_1503.equals(param.getInteId())) {
                inteId = SH2023Constant.SH_2023_API_CODE_1114;
            }
            apiLog.setInteId(inteId);
            String jsonData = getJsonData(inteId, data, api1102List.get(0).getXzqhdm());
            log.info("接口数据信息=" + jsonData);
            if (StringUtils.isEmpty(inteId)) {
                ResponseDto responseDto = new ResponseDto(99, "没有获取到接口");
@@ -94,6 +101,9 @@
                apiLogRep.save(apiLog);
                return responseDto;
            }
            String jsonData = getJsonData(param.getInteId(), data, api1102List.get(0).getXzqhdm());
            log.info("接口数据信息=" + jsonData);
            apiLog.setData(jsonData);
            apiLog.setKqdm(kqdm);
            apiLog.setUploadTime(new Date());
@@ -102,6 +112,18 @@
                ResponseDto responseDto = new ResponseDto(99, "没有获取到上传配置");
                apiLog.setStatus(99);
                apiLog.setResult("没有获取到上传配置");
                apiLogRep.save(apiLog);
                return responseDto;
            }
            //获取指令id
            String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm());
            OrderData orderData = (OrderData) redisUtil.get(key);
            if (null == orderData || StringUtils.isEmpty(orderData.getOrderid())) {
                log.error("指令id失效=" + jsonData);
                ResponseDto responseDto = new ResponseDto(99, "指令id失效");
                apiLog.setStatus(99);
                apiLog.setResult("指令id失效");
                apiLogRep.save(apiLog);
                return responseDto;
            }
@@ -112,18 +134,19 @@
            //获取身份ID,即行政区划码
            reqData.setUid(conf.getUserName());
            //指令id
            reqData.setOrderid(param.getOrderid());
            reqData.setOrderid(orderData.getOrderid());
            //身份签名,使用自有RSA私钥进行加密(地区行政区划代码_当天日期)
            reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword()));
            //数据总条数
            List<Object> list = (List<Object>) data;
            reqData.setDatalength(list.size());
            reqData.setAccess_token(ShRSAUtils.sign(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword()));
            reqData.setDatalength(1);
            //使用区级平台公钥对数据进行RSA加密
            reqData.setData(RSAUtils.encrypt(jsonData, conf.getPublicKey()));
            reqData.setData(ShRSAUtils.encryptByPubKey(jsonData, conf.getPublicKey()));
            //摘要,数据主体的MD5值
            reqData.setDigst(MyMD5Util.encrypt(jsonData));
            log.info("上报数据信息=" + JSON.toJSONString(reqData));
            SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, JSON.toJSONString(reqData), conf);
            SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, reqData, conf);
            apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
            apiLog.setResult(responseDto.getResult());
            apiLogRep.save(apiLog);
@@ -139,729 +162,707 @@
    }
    /**
     * 推送财务数据接口
     * @param param
     * @param conf
     * 转为JSON
     *
     * @param inteId
     * @param data
     * @param code
     * @return
     */
    private ResponseDto pushFinanceData(ApiParam param, ApiConfs conf, Object data) {
        String inteId = param.getInteId();
        String kqdm = param.getKqdm();
        //查询库区信息行政区划码
        List<Api1102> api1102List = api1102Rep.findPushData(conf.getKqdm());
        try {
            if (null == conf) {
                conf = apiCommonService.getConf(kqdm);
            }
            //添加日志
            ApiLog apiLog = new ApiLog();
            apiLog.setId(ContextUtil.getUUID());
            apiLog.setInteId(inteId);
            String jsonData = getJsonData(inteId, data, api1102List.get(0).getXzqhdm());
            log.info("接口数据信息=" + jsonData);
            if (StringUtils.isEmpty(inteId)) {
                ResponseDto responseDto = new ResponseDto(99, "没有获取到接口");
                apiLog.setStatus(99);
                apiLog.setResult("没有获取到接口");
                apiLogRep.save(apiLog);
                return responseDto;
            }
            apiLog.setData(jsonData);
            apiLog.setKqdm(kqdm);
            apiLog.setUploadTime(new Date());
            if (conf == null) {
                ResponseDto responseDto = new ResponseDto(99, "没有获取到上传配置");
                apiLog.setStatus(99);
                apiLog.setResult("没有获取到上传配置");
                apiLogRep.save(apiLog);
                return responseDto;
            }
            //封装推送数据
            SH2023ReqDto reqData = new SH2023ReqDto();
            reqData.setId(ContextUtil.getUUID());
            //获取身份ID,即行政区划码
            if (null == api1102List || api1102List.isEmpty()) {
                ResponseDto responseDto = new ResponseDto(99, "没有获取到身份ID");
                apiLog.setStatus(99);
                apiLog.setResult("没有获取到身份ID");
                apiLogRep.save(apiLog);
                return responseDto;
            }
            reqData.setUid(api1102List.get(0).getXzqhdm());
            //指令id
            reqData.setOrderid(param.getOrderid());
            //身份签名,对地区行政区划代码_当天日期进行MD5算法签名
            reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPublicKey()));
            //数据总条数
            List<Object> list = (List<Object>) data;
            reqData.setDatalength(list.size());
            //数据进行SM4加密
            reqData.setData(jsonData);
            //摘要,数据主体的MD5值
            reqData.setDigst(MyMD5Util.encrypt(jsonData));
            SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, reqData, conf);
            apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
            apiLog.setResult(responseDto.getResult());
            apiLogRep.save(apiLog);
            ResponseDto resd = new ResponseDto();
            resd.setSuccess(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
            resd.setMsg(responseDto.getResult());
            return resd;
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            return new ResponseDto(99, e.getMessage());
    private String getJsonData(String inteId, Object data, String code) {
        //若为财务1501、1502、1503接口,则接口编码填写1114
        if (SH2023Constant.SH_2023_API_CODE_1114_1501.equals(inteId)
                || SH2023Constant.SH_2023_API_CODE_1114_1502.equals(inteId)
                || SH2023Constant.SH_2023_API_CODE_1114_1503.equals(inteId)) {
            Object object = getJsonFinanceData(inteId, data);
            return JSON.toJSONString(object);
        } else {
            List<Object> list = new ArrayList<>();
            Object object = getJsonApiData(inteId, data, code);
            list.add(object);
            return JSON.toJSONString(list);
        }
    }
    /**
     * 调整数据封装,获取json数据
     * 常规接口封装
     *
     * @param inteId
     * @param data
     * @param code
     * @return
     */
    private Object getJsonApiData(String inteId, Object data, String code) {
        List<Object> list = new ArrayList<>();
        //具体根据接口进行封装
        if (SH2023Constant.SH_2023_API_CODE_1101.equals(inteId)) {
            SH2023Api1101 api1101 = new SH2023Api1101();
            BeanUtils.copyProperties(data, api1101);
            //设置空属性为默认值
            changeObject(api1101);
            return api1101;
        }
        if (SH2023Constant.SH_2023_API_CODE_1102.equals(inteId)) {
            SH2023Api1102 api1102 = new SH2023Api1102();
            BeanUtils.copyProperties(data, api1102);
            //设置空属性为默认值
            changeObject(api1102);
            return api1102;
        }
        if (SH2023Constant.SH_2023_API_CODE_1103.equals(inteId)) {
            SH2023Api1103 api1103 = new SH2023Api1103();
            BeanUtils.copyProperties(data, api1103);
            //设置空属性为默认值
            changeObject(api1103);
            return api1103;
        }
        if (SH2023Constant.SH_2023_API_CODE_1104.equals(inteId)) {
            SH2023Api1104 api1104 = new SH2023Api1104();
            Api1104 apiData = (Api1104) data;
            //查询仓房信息
            List<Api1103> api1103List = api1103Rep.findPushDataByCfdm(apiData.getCfbh());
            List<Api1104> api1104List = api1104Rep.findDataByCfbh(apiData.getCfbh());
            int num = 2;
            if (null != api1104List && api1104List.size() > 0) {
                num = api1104List.size();
            }
            if (null != api1103List && api1103List.size() > 0) {
                Api1103 api1103 = api1103List.get(0);
                BeanUtils.copyProperties(api1103, api1104);
                api1104.setCwc(api1103.getCwc() / num);
                api1104.setCnc(api1103.getCnc() / num);
                api1104.setSjcr(api1103.getSjcr() / num);
            }
            BeanUtils.copyProperties(apiData, api1104);
            api1104.setAjdm(apiData.getAjdh());
            api1104.setCfdm(apiData.getCfbh());
            //设置空属性为默认值
            changeObject(api1104);
            return api1104;
        }
        if (SH2023Constant.SH_2023_API_CODE_1105.equals(inteId)) {
            SH2023Api1105 api1105 = new SH2023Api1105();
            BeanUtils.copyProperties(data, api1105);
            //设置空属性为默认值
            changeObject(api1105);
            return api1105;
        }
        if (SH2023Constant.SH_2023_API_CODE_1106.equals(inteId)) {
            SH2023Api1106 api1106 = new SH2023Api1106();
            BeanUtils.copyProperties(data, api1106);
            api1106.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1106);
            return api1106;
        }
        if (SH2023Constant.SH_2023_API_CODE_1107.equals(inteId)) {
            SH2023Api1107 api1107 = new SH2023Api1107();
            BeanUtils.copyProperties(data, api1107);
            api1107.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1107);
            return api1107;
        }
        if (SH2023Constant.SH_2023_API_CODE_1108.equals(inteId)) {
            SH2023Api1108 api1108 = new SH2023Api1108();
            BeanUtils.copyProperties(data, api1108);
            api1108.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1108);
            return api1108;
        }
        if (SH2023Constant.SH_2023_API_CODE_1109.equals(inteId)) {
            SH2023Api1109 api1109 = new SH2023Api1109();
            Api1109 apiData = (Api1109) data;
            BeanUtils.copyProperties(apiData, api1109);
            api1109.setBjw(ShAreaBjw.getBjw(code));
            Map<String, String> map = new HashMap<>();
            map.put(apiData.getWjmc(), FileUtils.fileToByteString(apiData.getWjdz()));
            api1109.setWjl(JSON.toJSONString(map));
            //上海市平台文件名称规则:库区编码_业务流水号_分类码_顺序码.jpg,例如:91310114703439394M001_142211080101_GL_00.jpg
            api1109.setWjmc(getWjmc(api1109.getWjlx(), api1109.getWjmc()));
            //设置空属性为默认值
            changeObject(api1109);
            return api1109;
        }
        if (SH2023Constant.SH_2023_API_CODE_1110.equals(inteId)) {
            SH2023Api1110 api1110 = new SH2023Api1110();
            Api1110 apiData = (Api1110) data;
            BeanUtils.copyProperties(apiData, api1110);
            api1110.setBjw(ShAreaBjw.getBjw(code));
            api1110.setAjdm(apiData.getHwdm().substring(0, 28));
            api1110.setAjxdwz(apiData.getHwxdwz());
            api1110.setAjwzys(apiData.getHwwzys());
            //设置空属性为默认值
            changeObject(api1110);
            return api1110;
        }
        if (SH2023Constant.SH_2023_API_CODE_1111.equals(inteId)) {
            SH2023Api1111 api1111 = new SH2023Api1111();
            BeanUtils.copyProperties(data, api1111);
            api1111.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1111);
            return api1111;
        }
        if (SH2023Constant.SH_2023_API_CODE_1112.equals(inteId)) {
            SH2023Api1112 api1112 = new SH2023Api1112();
            BeanUtils.copyProperties(data, api1112);
            api1112.setHdrychsj(api1112.getQdzgzchzyzgsj());
            api1112.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1112);
            return api1112;
        }
        if (SH2023Constant.SH_2023_API_CODE_1113.equals(inteId)) {
            SH2023Api1113 api1113 = new SH2023Api1113();
            BeanUtils.copyProperties(data, api1113);
            api1113.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1113);
            return api1113;
        }
        if (SH2023Constant.SH_2023_API_CODE_1201.equals(inteId)) {
            SH2023Api1201 api1201 = new SH2023Api1201();
            BeanUtils.copyProperties(data, api1201);
            api1201.setBjw(ShAreaBjw.getBjw(code));
            api1201.setHtsfzz("0");
            //合同签订地点不能为空或填无
            if (StringUtils.isEmpty(api1201.getQddd())) {
                api1201.setQddd("签订地点");
            }
            //合同审核人不能为空或填无
            if (StringUtils.isEmpty(api1201.getShr())) {
                api1201.setShr("审批人");
            }
            //设置空属性为默认值
            changeObject(api1201);
            return api1201;
        }
        if (SH2023Constant.SH_2023_API_CODE_1202.equals(inteId)) {
            SH2023Api1202 api1202 = new SH2023Api1202();
            Api1202 apiData = (Api1202) data;
            BeanUtils.copyProperties(apiData, api1202);
            api1202.setBjw(ShAreaBjw.getBjw(code));
            api1202.setJzrq(apiData.getCmsj());
            if (StringUtils.isEmpty(api1202.getCddm())) {
                api1202.setCddm(api1202.getHwdm().substring(2, 8));
            }
            if (StringUtils.isEmpty(api1202.getRkjsdh())) {
                api1202.setRkjsdh("0");
            }
            //设置粮食轮换年度
            List<Api1404> api1404List = api1404Rep.getDataByJhmxdh(apiData.getJhmxh());
            if (null != api1404List && api1404List.size() > 0) {
                api1202.setLhnd(api1404List.get(0).getShnd());
            }
            //设置批次号
            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1202.getHwdm());
            if (null != api1208List && api1208List.size() > 0) {
                api1202.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
            }
            //设置空属性为默认值
            changeObject(api1202);
            return api1202;
        }
        if (SH2023Constant.SH_2023_API_CODE_1203.equals(inteId)) {
            SH2023Api1203 api1203 = new SH2023Api1203();
            Api1203 apiData = (Api1203) data;
            BeanUtils.copyProperties(apiData, api1203);
            api1203.setBjw(ShAreaBjw.getBjw(code));
            if (StringUtils.isEmpty(api1203.getJyxm())) {
                api1203.setJyxm("0");
            }
            if (StringUtils.isEmpty(api1203.getJyz())) {
                api1203.setJyz("0");
            }
            if (StringUtils.isEmpty(api1203.getZkj())) {
                api1203.setZkj("0");
            }
            if (StringUtils.isEmpty(api1203.getZkl())) {
                api1203.setZkl("0");
            }
            //设置批次号
            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1203.getHwdm());
            if (null != api1208List && api1208List.size() > 0) {
                api1203.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
            }
            //设置空属性为默认值
            changeObject(api1203);
            return api1203;
        }
        if (SH2023Constant.SH_2023_API_CODE_1204.equals(inteId)) {
            SH2023Api1204 api1204 = new SH2023Api1204();
            Api1204 apiData = (Api1204) data;
            BeanUtils.copyProperties(apiData, api1204);
            api1204.setBjw(ShAreaBjw.getBjw(code));
            //设置批次号
            if (StringUtils.isNotEmpty(api1204.getHth())) {
                List<Api1202> api1202List = api1202Rep.getDataByRkjsdh(api1204.getRkjsdh());
                if (null != api1202List && api1202List.size() > 0) {
                    List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1202List.get(0).getHwdm());
                    if (null != api1208List && api1208List.size() > 0) {
                        api1204.setPch(api1208List.get(0).getHwdm() + api1208List.get(0).getShnd());
                    }
                }
            }
            if (StringUtils.isNotEmpty(api1204.getHwdm())) {
                List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1204.getHwdm());
                if (null != api1208List && api1208List.size() > 0) {
                    api1204.setPch(api1208List.get(0).getHwdm() + api1208List.get(0).getShnd());
                }
            }
            //设置空属性为默认值
            changeObject(api1204);
            return api1204;
        }
        if (SH2023Constant.SH_2023_API_CODE_1205.equals(inteId)) {
            SH2023Api1205 api1205 = new SH2023Api1205();
            Api1205 apiData = (Api1205) data;
            BeanUtils.copyProperties(apiData, api1205);
            api1205.setBjw(ShAreaBjw.getBjw(code));
            api1205.setJzrq(apiData.getCmsj());
            if (StringUtils.isEmpty(api1205.getCddm())) {
                api1205.setCddm(api1205.getHwdm().substring(2, 8));
            }
            if (StringUtils.isEmpty(api1205.getCkjsdh())) {
                api1205.setCkjsdh("0");
            }
            //设置粮食轮换年度
            List<Api1404> api1404List = api1404Rep.getDataByJhmxdh(apiData.getJhmxh());
            if (null != api1404List && api1404List.size() > 0) {
                api1205.setLhnd(api1404List.get(0).getShnd());
            }
            //设置批次号
            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1205.getHwdm());
            if (null != api1208List && api1208List.size() > 0) {
                api1205.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
            }
            //设置空属性为默认值
            changeObject(api1205);
            return api1205;
        }
        if (SH2023Constant.SH_2023_API_CODE_1206.equals(inteId)) {
            SH2023Api1206 api1206 = new SH2023Api1206();
            Api1206 apiData = (Api1206) data;
            BeanUtils.copyProperties(apiData, api1206);
            api1206.setBjw(ShAreaBjw.getBjw(code));
            //批次号
            if (StringUtils.isNotEmpty(api1206.getHth())) {
                List<Api1205> api1205List = api1205Rep.getDataByCkjsdh(api1206.getCkjsdh());
                if (null != api1205List && api1205List.size() > 0) {
                    List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1205List.get(0).getHwdm());
                    if (null != api1208List && api1208List.size() > 0) {
                        api1206.setPch(api1208List.get(0).getHwdm() + api1208List.get(0).getShnd());
                    }
                }
            }
            //设置空属性为默认值
            changeObject(api1206);
            return api1206;
        }
        if (SH2023Constant.SH_2023_API_CODE_1207.equals(inteId)) {
            //倒仓倒出
            SH2023Api1207 api1207 = new SH2023Api1207();
            Api1207 apiData = (Api1207) data;
            BeanUtils.copyProperties(apiData, api1207);
            api1207.setDcrq(apiData.getDcrq());
            api1207.setBjw(ShAreaBjw.getBjw(code));
            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1207.getDchwdm());
            if (null != api1208List && api1208List.size() > 0) {
                api1207.setPch(api1207.getDchwdm() + api1208List.get(0).getShnd());
            }
            //设置空属性为默认值
            changeObject(api1207);
            return api1207;
        }
        if (SH2023Constant.SH_2023_API_CODE_1208.equals(inteId)) {
            SH2023Api1208 api1208 = new SH2023Api1208();
            Api1208 apiData = (Api1208) data;
            BeanUtils.copyProperties(apiData, api1208);
            api1208.setZglkdm(api1208.getHwdm().substring(0, 21));
            api1208.setBjw(ShAreaBjw.getBjw(code));
            //设置批次号
            api1208.setPch(apiData.getHwdm() + apiData.getShnd());
            if (StringUtils.isEmpty(api1208.getCd())) {
                api1208.setCd(api1208.getHwdm().substring(2, 8));
            }
            //设置空属性为默认值
            changeObject(api1208);
            return api1208;
        }
        if (SH2023Constant.SH_2023_API_CODE_1209.equals(inteId)) {
            SH2023Api1209 api1209 = new SH2023Api1209();
            Api1209 apiData = (Api1209) data;
            BeanUtils.copyProperties(apiData, api1209);
            api1209.setDjlx("2");
            api1209.setSzjl(apiData.getQzszkl());
            api1209.setZrshde(apiData.getQzzrshde());
            api1209.setBjw(ShAreaBjw.getBjw(code));
            api1209.setJzrq(apiData.getYwrq());
            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1209.getHwdm());
            if (null != api1208List && api1208List.size() > 0) {
                api1209.setPch(api1209.getHwdm() + api1208List.get(0).getShnd());
            }
            //设置空属性为默认值
            changeObject(api1209);
            return api1209;
        }
        if (SH2023Constant.SH_2023_API_CODE_1210.equals(inteId)) {
            SH2023Api1210 api1210 = new SH2023Api1210();
            Api1210 apiData = (Api1210) data;
            BeanUtils.copyProperties(apiData, api1210);
            api1210.setBjw(ShAreaBjw.getBjw(code));
            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1210.getHwdm());
            if (null != api1208List && api1208List.size() > 0) {
                api1210.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
            }
            //设置空属性为默认值
            changeObject(api1210);
            return api1210;
        }
        if (SH2023Constant.SH_2023_API_CODE_1211.equals(inteId)) {
            SH2023Api1211 api1211 = new SH2023Api1211();
            Api1211 apiData = (Api1211) data;
            BeanUtils.copyProperties(apiData, api1211);
            api1211.setZglkdm(api1211.getKqdm());
            api1211.setBjw(ShAreaBjw.getBjw(code));
            api1211.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getYwrq(), "yyyyMM"));
            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1211.getHwdm());
            if (null != api1208List && api1208List.size() > 0) {
                api1211.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
            }
            //设置空属性为默认值
            changeObject(api1211);
            return api1211;
        }
        if (SH2023Constant.SH_2023_API_CODE_1212.equals(inteId)) {
            SH2023Api1212 api1212 = new SH2023Api1212();
            BeanUtils.copyProperties(data, api1212);
            api1212.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1212);
            return api1212;
        }
        if (SH2023Constant.SH_2023_API_CODE_1301.equals(inteId)) {
            SH2023Api1301 api1301 = new SH2023Api1301();
            BeanUtils.copyProperties(data, api1301);
            api1301.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1301);
            return api1301;
        }
        if (SH2023Constant.SH_2023_API_CODE_1302.equals(inteId)) {
            SH2023Api1302 api1302 = new SH2023Api1302();
            Api1302 apiData = (Api1302) data;
            BeanUtils.copyProperties(apiData, api1302);
            api1302.setBjw(ShAreaBjw.getBjw(code));
            api1302.setCpjw(String.valueOf(apiData.getLspjw()));
            api1302.setCzgw(String.valueOf(apiData.getLspjw()));
            api1302.setCzdw(String.valueOf(apiData.getLspjw()));
            api1302.setGfwjw(String.valueOf(apiData.getLspjw()));
            api1302.setLwmx(apiData.getLswdzjh());
            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1302.getHwdm());
            if (null != api1208List && api1208List.size() > 0) {
                api1302.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
            }
            //设置空属性为默认值
            changeObject(api1302);
            return api1302;
        }
        if (SH2023Constant.SH_2023_API_CODE_1303.equals(inteId)) {
            SH2023Api1303 api1303 = new SH2023Api1303();
            Api1303 apiData = (Api1303) data;
            BeanUtils.copyProperties(apiData, api1303);
            api1303.setBjw(ShAreaBjw.getBjw(code));
            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1303.getHwdm());
            if (null != api1208List && api1208List.size() > 0) {
                api1303.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
            }
            //设置空属性为默认值
            changeObject(api1303);
            return api1303;
        }
        if (SH2023Constant.SH_2023_API_CODE_1304.equals(inteId)) {
            SH2023Api1304 api1304 = new SH2023Api1304();
            Api1304 apiData = (Api1304) data;
            BeanUtils.copyProperties(apiData, api1304);
            api1304.setBjw(ShAreaBjw.getBjw(code));
            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1304.getHwdm());
            if (null != api1208List && api1208List.size() > 0) {
                api1304.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
            }
            //设置空属性为默认值
            changeObject(api1304);
            return api1304;
        }
        if (SH2023Constant.SH_2023_API_CODE_1305.equals(inteId)) {
            SH2023Api1305 api1305 = new SH2023Api1305();
            Api1305 apiData = (Api1305) data;
            BeanUtils.copyProperties(apiData, api1305);
            api1305.setBjw(ShAreaBjw.getBjw(code));
            api1305.setAjdm(apiData.getTfzydh().substring(0, 28));
            //上海通风作业单号:廒间代码+yyyyMMdd+3位顺序号
            api1305.setAjdm(apiData.getTfzydh().substring(0, 28));
            api1305.setTfzydh(apiData.getTfzydh().substring(0, 28) + apiData.getTfzydh().substring(30));
            if (StringUtils.isEmpty(api1305.getTfmd())) {
                api1305.setTfmd("1"); //降温通风
            }
            //设置空属性为默认值
            changeObject(api1305);
            return api1305;
        }
        if (SH2023Constant.SH_2023_API_CODE_1306.equals(inteId)) {
            SH2023Api1306 api1306 = new SH2023Api1306();
            Api1306 apiData = (Api1306) data;
            BeanUtils.copyProperties(apiData, api1306);
            api1306.setBjw(ShAreaBjw.getBjw(code));
            api1306.setPch(apiData.getXzzydh().substring(0, 30) + DateFormatUtils.format(apiData.getXzkssj(), "yyyy"));
            api1306.setAjdm(apiData.getHwdm().substring(0, 28));
            //上海熏蒸作业单号:货位代码+yyyyMMdd + 3位顺序号
            api1306.setXzzydh(apiData.getHwdm() + apiData.getBizId());
            if (StringUtils.isEmpty(api1306.getSyff())) {
                api1306.setSyff("0"); //潮解法
            }
            //设置空属性为默认值
            changeObject(api1306);
            return api1306;
        }
        if (SH2023Constant.SH_2023_API_CODE_1307.equals(inteId)) {
            SH2023Api1307 api1307 = new SH2023Api1307();
            Api1307 apiData = (Api1307) data;
            BeanUtils.copyProperties(apiData, api1307);
            api1307.setBjw(ShAreaBjw.getBjw(code));
            api1307.setAjdm(apiData.getHwdm().substring(0, 28));
            //设置空属性为默认值
            changeObject(api1307);
            return api1307;
        }
        if (SH2023Constant.SH_2023_API_CODE_1308.equals(inteId)) {
            SH2023Api1308 api1308 = new SH2023Api1308();
            Api1308 apiData = (Api1308) data;
            BeanUtils.copyProperties(apiData, api1308);
            api1308.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1308);
            return api1308;
        }
        if (SH2023Constant.SH_2023_API_CODE_1309.equals(inteId)) {
            SH2023Api1309 api1309 = new SH2023Api1309();
            BeanUtils.copyProperties(data, api1309);
            api1309.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1309);
            return api1309;
        }
        if (SH2023Constant.SH_2023_API_CODE_1310.equals(inteId)) {
            SH2023Api1310 api1310 = new SH2023Api1310();
            Api1310 apiData = (Api1310) data;
            BeanUtils.copyProperties(apiData, api1310);
            api1310.setBjw(ShAreaBjw.getBjw(code));
            api1310.setJyrq(apiData.getJysj());
            if (StringUtils.isEmpty(api1310.getJyxm())) {
                api1310.setJyxm("0");
            }
            if (StringUtils.isEmpty(api1310.getJyxmz())) {
                api1310.setJyxmz("0");
            }
            String lsxzdm = "122";
            String pch = "";
            List<Api1208> api1208List = api1208Rep.getDataByHwdm(api1310.getHwdm());
            if (null != api1208List && api1208List.size() > 0) {
                if (StringUtils.isNotEmpty(api1208List.get(0).getLsxzdm())) {
                    lsxzdm = api1208List.get(0).getLsxzdm();
                    pch = apiData.getHwdm() + api1208List.get(0).getShnd();
                }
            }
            //设置批次号
            api1310.setPch(pch);
            api1310.setLsxzdm(lsxzdm);
            if (api1310.getYpsl() == 0.0) {
                api1310.setYpsl(5.0);
            }
            if (StringUtils.isEmpty(api1310.getQyrxm())) {
                api1310.setQyrxm("扦样人");
            }
            if (StringUtils.isEmpty(api1310.getJdrxm())) {
                api1310.setJdrxm("监督人");
            }
            if (StringUtils.isEmpty(api1310.getShrxm())) {
                api1310.setShrxm("审核人");
            }
            //设置空属性为默认值
            changeObject(api1310);
            return api1310;
        }
        if (SH2023Constant.SH_2023_API_CODE_1311.equals(inteId)) {
            SH2023Api1311 api1311 = new SH2023Api1311();
            BeanUtils.copyProperties(data, api1311);
            api1311.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1311);
            return api1311;
        }
        if (SH2023Constant.SH_2023_API_CODE_1401.equals(inteId)) {
            SH2023Api1401 api1401 = new SH2023Api1401();
            BeanUtils.copyProperties(data, api1401);
            api1401.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1401);
            return api1401;
        }
        if (SH2023Constant.SH_2023_API_CODE_1402.equals(inteId)) {
            SH2023Api1402 api1402 = new SH2023Api1402();
            BeanUtils.copyProperties(data, api1402);
            api1402.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1402);
            return api1402;
        }
        if (SH2023Constant.SH_2023_API_CODE_1403.equals(inteId)) {
            SH2023Api1403 api1403 = new SH2023Api1403();
            Api1403 apiData = (Api1403) data;
            BeanUtils.copyProperties(apiData, api1403);
            List<Api1101> api1101List = api1101Rep.findDataByDwdm(apiData.getLhjhdh().substring(0, 18));
            api1403.setJhzxdw(api1101List.get(0).getDwdm());
            api1403.setJhzxdwmc(api1101List.get(0).getDwmc());
            api1403.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1403);
            return api1403;
        }
        if (SH2023Constant.SH_2023_API_CODE_1404.equals(inteId)) {
            SH2023Api1404 api1404 = new SH2023Api1404();
            BeanUtils.copyProperties(data, api1404);
            api1404.setMxzt("1");
            api1404.setBjw(ShAreaBjw.getBjw(code));
            //设置空属性为默认值
            changeObject(api1404);
            return api1404;
        }
        if (SH2023Constant.SH_2023_API_CODE_2101.equals(inteId)) {
            //设置空属性为默认值
            changeObject(data);
            return data;
        }
        if (SH2023Constant.SH_2023_API_CODE_2102.equals(inteId)) {
            SH2023Api2102 apiData = new SH2023Api2102();
            BeanUtils.copyProperties(data, apiData);
            List<Api1208> api1208List = api1208Rep.findDataByHwdm(apiData.getDrhwdm());
            if (null != api1208List && api1208List.size() > 0) {
                apiData.setPch(apiData.getDrhwdm() + api1208List.get(0).getShnd());
            }
            //设置空属性为默认值
            changeObject(apiData);
            return apiData;
        }
        if (SH2023Constant.SH_2023_API_CODE_2103.equals(inteId)) {
            SH2023Api2103 apiData = new SH2023Api2103();
            BeanUtils.copyProperties(data, apiData);
            //设置空属性为默认值
            changeObject(apiData);
            return apiData;
        }
        if (SH2023Constant.SH_2023_API_CODE_2104.equals(inteId)) {
            //设置空属性为默认值
            changeObject(data);
            return data;
        }
        if (SH2023Constant.SH_2023_API_CODE_2203.equals(inteId)) {
            //设置空属性为默认值
            changeObject(data);
            return data;
        }
        if (SH2023Constant.SH_2023_API_CODE_2204.equals(inteId)) {
            //设置空属性为默认值
            changeObject(data);
            return data;
        }
        //设置空属性为默认值
        changeObject(data);
        return data;
    }
    private String getWjmc(String wjlx, String wjmc) {
        if ("2".equals(wjlx) || "3".equals(wjlx) || "4".equals(wjlx) || "5".equals(wjlx)) {
            if (wjmc.endsWith(".jpg")) {
                wjmc = wjmc.replaceAll(".jpg", "_00.jpg");
            }
            if (wjmc.endsWith(".png")) {
                wjmc = wjmc.replaceAll(".png", "_00.png");
            }
        }
        return wjmc;
    }
    /**
     * 获取财务数据json
     *
     * @param inteId
     * @param data
     * @return
     * @throws Exception
     */
    private String getJsonData(String inteId, Object data, String code) {
        //具体根据接口进行封装
        if (SH2023Constant.SH_2023_API_CODE_1101.equals(inteId)) {
            SH2023Api1101 api1101;
            //最后转换为json
            List<SH2023Api1101> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1101> api1101List = castList(data, Api1101.class);
            //查询廒间数
            List<Api1104> api1104List = api1104Rep.findPushData(api1101List.get(0).getKqdm());
            for (Api1101 apiData : api1101List) {
                api1101 = new SH2023Api1101();
                BeanUtils.copyProperties(apiData, api1101);
                api1101.setAjs(api1104List.size());
                api1101.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1101);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1102.equals(inteId)) {
            SH2023Api1102 api1102;
            //最后转换为json
            List<SH2023Api1102> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1102> api1101List = castList(data, Api1102.class);
            //查询廒间数
            List<Api1104> api1104List = api1104Rep.findPushData(api1101List.get(0).getKqdm());
            //计算储备仓容
            Double count = 0.0;
            for (Api1104 api1104 : api1104List) {
                count = count + api1104.getAjsjcrong();
            }
            for (Api1102 apiData : api1101List) {
                api1102 = new SH2023Api1102();
                BeanUtils.copyProperties(apiData, api1102);
                api1102.setAjs(api1104List.size());
                api1102.setBjw(ShAreaBjw.getBjw(code));
                api1102.setCbcr(count);
                list.add(api1102);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1103.equals(inteId)) {
            SH2023Api1103 api1103;
            //最后转换为json
            List<SH2023Api1103> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1103> api1103List = castList(data, Api1103.class);
            //查询廒间数
            List<Api1104> api1104List = api1104Rep.findPushData(api1103List.get(0).getKqdm());
            for (Api1103 apiData : api1103List) {
                api1103 = new SH2023Api1103();
                BeanUtils.copyProperties(apiData, api1103);
                api1103.setAjs(api1104List.size());
                api1103.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1103);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1104.equals(inteId)) {
            SH2023Api1104 api1104;
            //最后转换为json
            List<SH2023Api1104> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1104> api1104List = castList(data, Api1104.class);
            for (Api1104 apiData : api1104List) {
                api1104 = new SH2023Api1104();
                BeanUtils.copyProperties(apiData, api1104);
                api1104.setAjdm(apiData.getAjdh());
                api1104.setCfdm(apiData.getCfbh());
                api1104.setSykqdm(apiData.getKqdm());
                api1104.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1104);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1105.equals(inteId)) {
            SH2023Api1105 api1105;
            //最后转换为json
            List<SH2023Api1105> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1105> api1105List = castList(data, Api1105.class);
            for (Api1105 apiData : api1105List) {
                api1105 = new SH2023Api1105();
                BeanUtils.copyProperties(apiData, api1105);
                api1105.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1105);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1106.equals(inteId)) {
            SH2023Api1106 api1106;
            //最后转换为json
            List<SH2023Api1106> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1106> api1106List = castList(data, Api1106.class);
            for (Api1106 apiData : api1106List) {
                api1106 = new SH2023Api1106();
                BeanUtils.copyProperties(apiData, api1106);
                api1106.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1106);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1107.equals(inteId)) {
            SH2023Api1107 api1107;
            //最后转换为json
            List<SH2023Api1107> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1107> api1107List = castList(data, Api1107.class);
            for (Api1107 apiData : api1107List) {
                api1107 = new SH2023Api1107();
                BeanUtils.copyProperties(apiData, api1107);
                api1107.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1107);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1108.equals(inteId)) {
            SH2023Api1108 api1108;
            //最后转换为json
            List<SH2023Api1108> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1108> api1108List = castList(data, Api1108.class);
            for (Api1108 apiData : api1108List) {
                api1108 = new SH2023Api1108();
                BeanUtils.copyProperties(apiData, api1108);
                api1108.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1108);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1109.equals(inteId)) {
            SH2023Api1109 api1109;
            //最后转换为json
            List<SH2023Api1109> list = new ArrayList<>();
            FileUtil file = new FileUtil();
            //把data转化成list集合
            List<Api1109> api1109List = castList(data, Api1109.class);
            for (Api1109 apiData : api1109List) {
                api1109 = new SH2023Api1109();
                BeanUtils.copyProperties(apiData, api1109);
                api1109.setBjw(ShAreaBjw.getBjw(code));
                api1109.setWjl(file.imgToIo(apiData.getWjdz() + apiData.getWjmc()));
                list.add(api1109);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1110.equals(inteId)) {
            SH2023Api1110 api1110;
            //最后转换为json
            List<SH2023Api1110> list = new ArrayList<>();
            HashSet<String> set = new HashSet<>();
            //把data转化成list集合
            List<Api1110> api1110List = castList(data, Api1110.class);
            for (Api1110 apiData : api1110List) {
                // 因为廒间是根据货位截取,所以要判断廒间是否重复
                if (!set.add(apiData.getHwdm().substring(0, 28))) {
                    continue;
                }
                api1110 = new SH2023Api1110();
                BeanUtils.copyProperties(apiData, api1110);
                api1110.setBjw(ShAreaBjw.getBjw(code));
                api1110.setAjdm(apiData.getHwdm().substring(0, 28));
                api1110.setAjxdwz(apiData.getHwxdwz());
                api1110.setAjwzys(apiData.getHwwzys());
                list.add(api1110);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1111.equals(inteId)) {
            SH2023Api1111 api1111;
            //最后转换为json
            List<SH2023Api1111> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1111> api1111List = castList(data, Api1111.class);
            for (Api1111 apiData : api1111List) {
                api1111 = new SH2023Api1111();
                BeanUtils.copyProperties(apiData, api1111);
                api1111.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1111);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1112.equals(inteId)) {
            SH2023Api1112 api1112;
            //最后转换为json
            List<SH2023Api1112> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1112> api1112List = castList(data, Api1112.class);
            for (Api1112 apiData : api1112List) {
                api1112 = new SH2023Api1112();
                BeanUtils.copyProperties(apiData, api1112);
                api1112.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1112);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1113.equals(inteId)) {
            SH2023Api1113 api1113;
            //最后转换为json
            List<SH2023Api1113> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1113> api1113List = castList(data, Api1113.class);
            for (Api1113 apiData : api1113List) {
                api1113 = new SH2023Api1113();
                BeanUtils.copyProperties(apiData, api1113);
                api1113.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1113);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1201.equals(inteId)) {
            SH2023Api1201 api1201;
            //最后转换为json
            List<SH2023Api1201> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1201> api1201List = castList(data, Api1201.class);
            for (Api1201 apiData : api1201List) {
                api1201 = new SH2023Api1201();
                BeanUtils.copyProperties(apiData, api1201);
                api1201.setBjw(ShAreaBjw.getBjw(code));
                api1201.setHtsfzz("0");
                list.add(api1201);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1202.equals(inteId)) {
            SH2023Api1202 api1202;
            //最后转换为json
            List<SH2023Api1202> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1202> api1202List = castList(data, Api1202.class);
            for (Api1202 apiData : api1202List) {
                api1202 = new SH2023Api1202();
                BeanUtils.copyProperties(apiData, api1202);
                api1202.setBjw(ShAreaBjw.getBjw(code));
                api1202.setPch(apiData.getHwdm() + apiData.getShnd());
                //todo 驳运单号(2104)  检斤单号(2101)   均为非必填
                api1202.setJzrq(apiData.getCmsj());
                list.add(api1202);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1203.equals(inteId)) {
            SH2023Api1203 api1203;
            //最后转换为json
            List<SH2023Api1203> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1203> api1203List = castList(data, Api1203.class);
            for (Api1203 apiData : api1203List) {
                api1203 = new SH2023Api1203();
                BeanUtils.copyProperties(apiData, api1203);
                api1203.setBjw(ShAreaBjw.getBjw(code));
                //查询收获年份
                List<Api1202> api1202List = api1202Rep.getDataById(apiData.getRkywdh());
                api1203.setPch(apiData.getHwdm() + api1202List.get(0).getShnd());
                list.add(api1203);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1204.equals(inteId)) {
            SH2023Api1204 api1204;
            //最后转换为json
            List<SH2023Api1204> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1204> api1204List = castList(data, Api1204.class);
            for (Api1204 apiData : api1204List) {
                api1204 = new SH2023Api1204();
                BeanUtils.copyProperties(apiData, api1204);
                api1204.setBjw(ShAreaBjw.getBjw(code));
                api1204.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJssj(), "yyyy"));
                list.add(api1204);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1205.equals(inteId)) {
            SH2023Api1205 api1205;
            //最后转换为json
            List<SH2023Api1205> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1205> api1205List = castList(data, Api1205.class);
            for (Api1205 apiData : api1205List) {
                api1205 = new SH2023Api1205();
                BeanUtils.copyProperties(apiData, api1205);
                api1205.setBjw(ShAreaBjw.getBjw(code));
                api1205.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getCmsj(), "yyyy"));
                api1205.setJzrq(apiData.getCmsj());
                list.add(api1205);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1206.equals(inteId)) {
            SH2023Api1206 api1206;
            //最后转换为json
            List<SH2023Api1206> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1206> api1206List = castList(data, Api1206.class);
            for (Api1206 apiData : api1206List) {
                api1206 = new SH2023Api1206();
                BeanUtils.copyProperties(apiData, api1206);
                api1206.setBjw(ShAreaBjw.getBjw(code));
                List<Api1205> api1205List = api1205Rep.getDataById(apiData.getCkjsdh());
                api1206.setPch(api1205List.get(0).getHwdm() + DateFormatUtils.format(api1205List.get(0).getCmsj(), "yyyy"));
                list.add(api1206);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1207.equals(inteId)) {
            SH2023Api1207 api1207;
            //最后转换为json
            List<SH2023Api1207> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1207> api1207List = castList(data, Api1207.class);
            for (Api1207 apiData : api1207List) {
                api1207 = new SH2023Api1207();
                BeanUtils.copyProperties(apiData, api1207);
                api1207.setDcrq(apiData.getDcrq());
                api1207.setBjw(ShAreaBjw.getBjw(code));
                //TODO 库调单号
                list.add(api1207);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1208.equals(inteId)) {
            SH2023Api1208 api1208;
            //最后转换为json
            List<SH2023Api1208> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1208> api1208List = castList(data, Api1208.class);
            for (Api1208 apiData : api1208List) {
                api1208 = new SH2023Api1208();
                BeanUtils.copyProperties(apiData, api1208);
                api1208.setZglkdm(api1208.getHwdm().substring(0, 21));
                //TODO 来粮代码
                api1208.setBjw(ShAreaBjw.getBjw(code));
                api1208.setPch(apiData.getHwdm() + apiData.getShnd());
                list.add(api1208);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1209.equals(inteId)) {
            SH2023Api1209 api1209;
            //最后转换为json
            List<SH2023Api1209> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1209> api1209List = castList(data, Api1209.class);
            for (Api1209 apiData : api1209List) {
                api1209 = new SH2023Api1209();
                BeanUtils.copyProperties(apiData, api1209);
                // TODO 记账日期  单据类型
                api1209.setSzjl(apiData.getQzszkl());
                api1209.setZrshde(apiData.getQzzrshde());
                api1209.setBjw(ShAreaBjw.getBjw(code));
                api1209.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getYwrq(), "yyyy"));
                list.add(api1209);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1210.equals(inteId)) {
            SH2023Api1210 api1210;
            //最后转换为json
            List<SH2023Api1210> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1210> api1210List = castList(data, Api1210.class);
            for (Api1210 apiData : api1210List) {
                api1210 = new SH2023Api1210();
                BeanUtils.copyProperties(apiData, api1210);
                api1210.setBjw(ShAreaBjw.getBjw(code));
                api1210.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getHzrq(), "yyyy"));
                list.add(api1210);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1211.equals(inteId)) {
            SH2023Api1211 api1211;
            //最后转换为json
            List<SH2023Api1211> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1211> api1211List = castList(data, Api1211.class);
            for (Api1211 apiData : api1211List) {
                api1211 = new SH2023Api1211();
                BeanUtils.copyProperties(apiData, api1211);
                //TODO 货位代码 粮食性质代码 来粮代码
                api1211.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1211);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1212.equals(inteId)) {
            SH2023Api1212 api1212;
            //最后转换为json
            List<SH2023Api1212> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1212> api1212List = castList(data, Api1212.class);
            for (Api1212 apiData : api1212List) {
                api1212 = new SH2023Api1212();
                BeanUtils.copyProperties(apiData, api1212);
                api1212.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1212);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1301.equals(inteId)) {
            SH2023Api1301 api1301;
            //最后转换为json
            List<SH2023Api1301> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1301> api1301List = castList(data, Api1301.class);
            for (Api1301 apiData : api1301List) {
                api1301 = new SH2023Api1301();
                BeanUtils.copyProperties(apiData, api1301);
                api1301.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1301);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1302.equals(inteId)) {
            SH2023Api1302 api1302;
            //最后转换为json
            List<SH2023Api1302> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1302> api1302List = castList(data, Api1302.class);
            for (Api1302 apiData : api1302List) {
                api1302 = new SH2023Api1302();
                BeanUtils.copyProperties(apiData, api1302);
                api1302.setBjw(ShAreaBjw.getBjw(code));
                api1302.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJcsj(), "yyyy"));
                //todo 温湿度检测数据不全
                list.add(api1302);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1303.equals(inteId)) {
            SH2023Api1303 api1303;
            //最后转换为json
            List<SH2023Api1303> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1303> api1303List = castList(data, Api1303.class);
            for (Api1303 apiData : api1303List) {
                api1303 = new SH2023Api1303();
                BeanUtils.copyProperties(apiData, api1303);
                api1303.setBjw(ShAreaBjw.getBjw(code));
                api1303.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJcsj(), "yyyy"));
                list.add(api1303);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1304.equals(inteId)) {
            SH2023Api1304 api1304;
            //最后转换为json
            List<SH2023Api1304> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1304> api1304List = castList(data, Api1304.class);
            for (Api1304 apiData : api1304List) {
                api1304 = new SH2023Api1304();
                BeanUtils.copyProperties(apiData, api1304);
                api1304.setBjw(ShAreaBjw.getBjw(code));
                api1304.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJcsj(), "yyyy"));
                list.add(api1304);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1305.equals(inteId)) {
            SH2023Api1305 api1305;
            //最后转换为json
            List<SH2023Api1305> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1305> api1305List = castList(data, Api1305.class);
            for (Api1305 apiData : api1305List) {
                api1305 = new SH2023Api1305();
                BeanUtils.copyProperties(apiData, api1305);
                api1305.setBjw(ShAreaBjw.getBjw(code));
                api1305.setAjdm(apiData.getTfzydh().substring(0, 28));
                list.add(api1305);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1306.equals(inteId)) {
            SH2023Api1306 api1306;
            //最后转换为json
            List<SH2023Api1306> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1306> api1306List = castList(data, Api1306.class);
            for (Api1306 apiData : api1306List) {
                api1306 = new SH2023Api1306();
                BeanUtils.copyProperties(apiData, api1306);
                api1306.setBjw(ShAreaBjw.getBjw(code));
                api1306.setPch(apiData.getXzzydh().substring(0, 30) + DateFormatUtils.format(apiData.getXzkssj(), "yyyy"));
                api1306.setAjdm(apiData.getXzzydh().substring(0, 28));
                list.add(api1306);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1307.equals(inteId)) {
            SH2023Api1307 api1307;
            //最后转换为json
            List<SH2023Api1307> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1307> api1307List = castList(data, Api1307.class);
            for (Api1307 apiData : api1307List) {
                api1307 = new SH2023Api1307();
                BeanUtils.copyProperties(apiData, api1307);
                api1307.setBjw(ShAreaBjw.getBjw(code));
                api1307.setAjdm(apiData.getHwdm().substring(0, 28));
                List<Api1109> api1109List = api1109Rep.getDataByFileId(apiData.getFileStorageId());
                api1307.setTxbh(api1109List.get(0).getWjmc());
                list.add(api1307);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1310.equals(inteId)) {
            SH2023Api1310 api1310;
            //最后转换为json
            List<SH2023Api1310> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1310> api1310List = castList(data, Api1310.class);
            for (Api1310 apiData : api1310List) {
                api1310 = new SH2023Api1310();
                BeanUtils.copyProperties(apiData, api1310);
                api1310.setBjw(ShAreaBjw.getBjw(code));
                api1310.setJyrq(apiData.getJysj());
                api1310.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJysj(), "yyyy"));
                List<Api1202> api1202List = api1202Rep.getDataByHwdm(apiData.getHwdm());
                api1310.setLspzdm(api1202List.get(0).getLspzdm());
                list.add(api1310);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1401.equals(inteId)) {
            SH2023Api1401 api1401;
            //最后转换为json
            List<SH2023Api1401> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1401> api1401List = castList(data, Api1401.class);
            for (Api1401 apiData : api1401List) {
                api1401 = new SH2023Api1401();
                BeanUtils.copyProperties(apiData, api1401);
                api1401.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1401);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1402.equals(inteId)) {
            SH2023Api1402 api1402;
            //最后转换为json
            List<SH2023Api1402> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1402> api1402List = castList(data, Api1402.class);
            for (Api1402 apiData : api1402List) {
                api1402 = new SH2023Api1402();
                BeanUtils.copyProperties(apiData, api1402);
                api1402.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1402);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1403.equals(inteId)) {
            SH2023Api1403 api1403;
            //最后转换为json
            List<SH2023Api1403> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1403> api1403List = castList(data, Api1403.class);
            for (Api1403 apiData : api1403List) {
                api1403 = new SH2023Api1403();
                BeanUtils.copyProperties(apiData, api1403);
                api1403.setJhzxdw(apiData.getJhxddw());
                api1403.setJhzxdwmc(apiData.getJhxddwmc());
                list.add(api1403);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1404.equals(inteId)) {
            SH2023Api1404 api1404;
            //最后转换为json
            List<SH2023Api1404> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1404> api1404List = castList(data, Api1404.class);
            for (Api1404 apiData : api1404List) {
                api1404 = new SH2023Api1404();
                BeanUtils.copyProperties(apiData, api1404);
                //TODO 明细状态
                list.add(api1404);
            }
            return JSON.toJSONString(list);
        }
//        TODO 项目信息
//        else if (SH2023Constant.SH_2023_API_CODE_1405.equals(inteId)) {
//            SH2023Api1405 api1405;
//            //最后转换为json
//            List<SH2023Api1405> list = new ArrayList<>();
//            //把data转化成list集合
//            List<Api1405> api1405List = castList(data, Api1405.class);
//            for (Api1405 apiData : api1405List) {
//                api1405 = new SH2023Api1405();
//                BeanUtils.copyProperties(apiData, api1405);
//
//                list.add(api1405);
//            }
//            return JSON.toJSONString(list);
//        }
        else if (SH2023Constant.SH_2023_API_CODE_2102.equals(inteId)) {
            SH2023Api2102 api2102;
            //最后转换为json
            List<SH2023Api2102> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1207> api1207List = castList(data, Api1207.class);
            for (Api1207 apiData : api1207List) {
                api2102 = new SH2023Api2102();
                BeanUtils.copyProperties(apiData, api2102);
                api2102.setDrdh(apiData.getDcdh());
                api2102.setDcrq(apiData.getDcrq());
                api2102.setPch(api2102.getDrhwdm() + DateFormatUtils.format(apiData.getDcrq(), "yyyy"));
                api2102.setBjw(ShAreaBjw.getBjw(code));
                //TODO 库调单号
                list.add(api2102);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_2203.equals(inteId)) {
            SH2023Api2203 api2203;
            //最后转换为json
            List<SH2023Api2203> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1201> api1201List = castList(data, Api1201.class);
            for (Api1201 apiData : api1201List) {
                api2203 = new SH2023Api2203();
                BeanUtils.copyProperties(apiData, api2203);
                api2203.setHtbh(apiData.getHth());
//                api2203.setBdh();
                api2203.setCjrq(apiData.getQdrq());
//                api2203.setJyzt();
//                api2203.setLsxz();
//                api2203.setLspzmx();
//                api2203.setScnf();
//                api2203.setKd();
                //
                list.add(api2203);
            }
            return JSON.toJSONString(list);
        }else if (SH2023Constant.SH_2023_API_CODE_2204.equals(inteId)) {
            SH2023Api2204 api2204;
            //最后转换为json
            List<SH2023Api2204> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1310> api1310List = castList(data, Api1310.class);
            for (Api1310 apiData : api1310List) {
                api2204 = new SH2023Api2204();
                BeanUtils.copyProperties(apiData, api2204);
//                api2204.setSf();
//                api2204.setRksf();
//                api2204.setlldm();
                api2204.setBjw(ShAreaBjw.getBjw(code));
                api2204.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJysj(), "yyyy"));
                list.add(api2204);
            }
            return JSON.toJSONString(list);
    private Object getJsonFinanceData(String inteId, Object data) {
        //财务报表数据封装
        if (SH2023Constant.SH_2023_API_CODE_1114_1501.equals(inteId)) {
            return copyApi1501((Api1501) data);
        } else if (SH2023Constant.SH_2023_API_CODE_1114_1502.equals(inteId)) {
            return copyApi1502((Api1502) data);
        } else {
            return JSON.toJSONString(data);
            return copyApi1503((Api1503) data);
        }
    }
@@ -895,43 +896,43 @@
        shFinanceDto.setCzbz(api1503.getCzbz());
        shFinanceDto.setZhgxsj(DateFormatUtils.format(api1503.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
        paddingData(shFinanceDto, list, 1, "项目//t", "本期金额//t", "本年累计//t");
        paddingData(shFinanceDto, list, 2, "一、营业收入", api1503.getYyzsrbqye() + "", api1503.getYyzsrbnlj() + "");
        paddingData(shFinanceDto, list, 3, "减:营业成本", api1503.getYycbbqye() + "", api1503.getYycbbnlj() + "");
        paddingData(shFinanceDto, list, 4, "税金及附加", api1503.getSjjfjbqye() + "", api1503.getSjjfjbnlj() + "");
        paddingData(shFinanceDto, list, 5, "销售费用", api1503.getXsfybqye() + "", api1503.getXsfybnlj() + "");
        paddingData(shFinanceDto, list, 6, "管理费用", api1503.getGlfybqye() + "", api1503.getGlfybnlj() + "");
        paddingData(shFinanceDto, list, 7, "研发费用", api1503.getYffybqye() + "", api1503.getYffybnlj() + "");
        paddingData(shFinanceDto, list, 8, "财务费用", api1503.getCwfybqye() + "", api1503.getCwfybnlj() + "");
        paddingData(shFinanceDto, list, 9, "其中:利息费用", api1503.getLxfybqye() + "", api1503.getLxfybnlj() + "");
        paddingData(shFinanceDto, list, 10, "利息收入", api1503.getLxsrbqye() + "", api1503.getLxsrbnlj() + "");
        paddingData(shFinanceDto, list, 11, "加:其他收益", api1503.getQtsybqye() + "", api1503.getQtsybnlj() + "");
        paddingData(shFinanceDto, list, 12, "投资收益(损失以“-”号填列)", api1503.getTzsybqye() + "", api1503.getTzsybnlj() + "");
        paddingData(shFinanceDto, list, 13, "其中:对联营企业和合营企业的投资收益", api1503.getLyqytzsybqye() + "", api1503.getLyqytzsybnlj() + "");
        paddingData(shFinanceDto, list, 14, "公允价值变动收益(损失以“-”号填列)", api1503.getGyjzbdsybqye() + "", api1503.getGyjzbdsybnlj() + "");
        paddingData(shFinanceDto, list, 15, "资产减值损失(损失以“-”号填列)", api1503.getZcjzssbqye() + "", api1503.getZcjzssbnlj() + "");
        paddingData(shFinanceDto, list, 16, "资产处置收益(损失以“-”号填列)", api1503.getZcczsybqye() + "", api1503.getZcczsybnlj() + "");
        paddingData(shFinanceDto, list, 17, "二、营业利润(亏损以“-”号填列)", api1503.getYylrbqye() + "", api1503.getYylrbnlj() + "");
        paddingData(shFinanceDto, list, 18, "加:营业外收入", api1503.getYywsrbqye() + "", api1503.getYywsrbnlj() + "");
        paddingData(shFinanceDto, list, 19, "减:营业外支出", api1503.getYywzcbqye() + "", api1503.getYywzcbnlj() + "");
        paddingData(shFinanceDto, list, 20, "三、利润总额(亏损总额以“-”号填列)", api1503.getLrzebqye() + "", api1503.getLrzebnlj() + "");
        paddingData(shFinanceDto, list, 21, "减:所得税费用", api1503.getSdsfybqye() + "", api1503.getSdsfybnlj() + "");
        paddingData(shFinanceDto, list, 22, "四、净利润(净亏损以“-”号填列)", api1503.getJlrbqye() + "", api1503.getJlrbnlj() + "");
        paddingData(shFinanceDto, list, 23, "(一)持续经营净利润(净亏损以“-”号填列)", api1503.getCxjyjlrbqye() + "", api1503.getCxjyjlrbnlj() + "");
        paddingData(shFinanceDto, list, 24, "(二)终止经营净利润(净亏损以“-”号填列)", api1503.getZzjyjlrbqye() + "", api1503.getZzjyjlrbnlj() + "");
        paddingData(shFinanceDto, list, 25, "五、其他综合收益的税后净额", api1503.getQtzhsyjebqye() + "", api1503.getQtzhsyjebnlj() + "");
        paddingData(shFinanceDto, list, 26, "(一)不能重分类进损益的其他综合收益", api1503.getBnflzhsybqye() + "", api1503.getBnflzhsybnlj() + "");
        paddingData(shFinanceDto, list, 27, "1.重新计量设定受益计划变动额", api1503.getCxjlbdebqye() + "", api1503.getCxjlbdebnlj() + "");
        paddingData(shFinanceDto, list, 28, "(二)将重分类进损益的其他综合收益", "0", "0");
        paddingData(shFinanceDto, list, 29, "1.权益法下可转损益的其他综合收益", api1503.getQyfkzsybqye() + "", api1503.getQyfkzsybnlj() + "");
        paddingData(shFinanceDto, list, 30, "2.可供出售金融资产公允价值变动损益", api1503.getKgcszcbdsybqye() + "", api1503.getKgcszcbdsybnlj() + "");
        paddingData(shFinanceDto, list, 31, "3.持有至到期投资重分类为可供出售金融资产损益", api1503.getCydqtzzcsybqye() + "", api1503.getKgcszcbdsybnlj() + "");
        paddingData(shFinanceDto, list, 32, "4.现金流量套期损益的有效部分", api1503.getZjllsybqye() + "", api1503.getZjllsybnlj() + "");
        paddingData(shFinanceDto, list, 33, "5.外币财务报表折算差额", api1503.getWbcwbbcebqye() + "", api1503.getWbcwbbcebnlj() + "");
        paddingData(shFinanceDto, list, 34, "六、综合收益总额", api1503.getZhsyzebqye() + "", api1503.getZhsyzebnlj() + "");
        paddingData(shFinanceDto, list, 35, "七、每股收益:", api1503.getMgsybqye() + "", api1503.getMgsybnlj() + "");
        paddingData(shFinanceDto, list, 36, "(一)基本每股收益", api1503.getJbmgsybqye() + "", api1503.getJbmgsybnlj() + "");
        paddingData(shFinanceDto, list, 37, "(二)稀释每股收益", api1503.getXsmgsybqye() + "", api1503.getXsmgsybnlj() + "");
        paddingData(shFinanceDto, list, "项目//t", "本期金额//t", "本年累计//t");
        paddingData(shFinanceDto, list, "一、营业收入", api1503.getYyzsrbqye() + "", api1503.getYyzsrbnlj() + "");
        paddingData(shFinanceDto, list, "减:营业成本", api1503.getYycbbqye() + "", api1503.getYycbbnlj() + "");
        paddingData(shFinanceDto, list, "税金及附加", api1503.getSjjfjbqye() + "", api1503.getSjjfjbnlj() + "");
        paddingData(shFinanceDto, list, "销售费用", api1503.getXsfybqye() + "", api1503.getXsfybnlj() + "");
        paddingData(shFinanceDto, list, "管理费用", api1503.getGlfybqye() + "", api1503.getGlfybnlj() + "");
        paddingData(shFinanceDto, list, "研发费用", api1503.getYffybqye() + "", api1503.getYffybnlj() + "");
        paddingData(shFinanceDto, list, "财务费用", api1503.getCwfybqye() + "", api1503.getCwfybnlj() + "");
        paddingData(shFinanceDto, list, "其中:利息费用", api1503.getLxfybqye() + "", api1503.getLxfybnlj() + "");
        paddingData(shFinanceDto, list, "利息收入", api1503.getLxsrbqye() + "", api1503.getLxsrbnlj() + "");
        paddingData(shFinanceDto, list, "加:其他收益", api1503.getQtsybqye() + "", api1503.getQtsybnlj() + "");
        paddingData(shFinanceDto, list, "投资收益(损失以“-”号填列)", api1503.getTzsybqye() + "", api1503.getTzsybnlj() + "");
        paddingData(shFinanceDto, list, "其中:对联营企业和合营企业的投资收益", api1503.getLyqytzsybqye() + "", api1503.getLyqytzsybnlj() + "");
        paddingData(shFinanceDto, list, "公允价值变动收益(损失以“-”号填列)", api1503.getGyjzbdsybqye() + "", api1503.getGyjzbdsybnlj() + "");
        paddingData(shFinanceDto, list, "资产减值损失(损失以“-”号填列)", api1503.getZcjzssbqye() + "", api1503.getZcjzssbnlj() + "");
        paddingData(shFinanceDto, list, "资产处置收益(损失以“-”号填列)", api1503.getZcczsybqye() + "", api1503.getZcczsybnlj() + "");
        paddingData(shFinanceDto, list, "二、营业利润(亏损以“-”号填列)", api1503.getYylrbqye() + "", api1503.getYylrbnlj() + "");
        paddingData(shFinanceDto, list, "加:营业外收入", api1503.getYywsrbqye() + "", api1503.getYywsrbnlj() + "");
        paddingData(shFinanceDto, list, "减:营业外支出", api1503.getYywzcbqye() + "", api1503.getYywzcbnlj() + "");
        paddingData(shFinanceDto, list, "三、利润总额(亏损总额以“-”号填列)", api1503.getLrzebqye() + "", api1503.getLrzebnlj() + "");
        paddingData(shFinanceDto, list, "减:所得税费用", api1503.getSdsfybqye() + "", api1503.getSdsfybnlj() + "");
        paddingData(shFinanceDto, list, "四、净利润(净亏损以“-”号填列)", api1503.getJlrbqye() + "", api1503.getJlrbnlj() + "");
        paddingData(shFinanceDto, list, "(一)持续经营净利润(净亏损以“-”号填列)", api1503.getCxjyjlrbqye() + "", api1503.getCxjyjlrbnlj() + "");
        paddingData(shFinanceDto, list, "(二)终止经营净利润(净亏损以“-”号填列)", api1503.getZzjyjlrbqye() + "", api1503.getZzjyjlrbnlj() + "");
        paddingData(shFinanceDto, list, "五、其他综合收益的税后净额", api1503.getQtzhsyjebqye() + "", api1503.getQtzhsyjebnlj() + "");
        paddingData(shFinanceDto, list, "(一)不能重分类进损益的其他综合收益", api1503.getBnflzhsybqye() + "", api1503.getBnflzhsybnlj() + "");
        paddingData(shFinanceDto, list, "1.重新计量设定受益计划变动额", api1503.getCxjlbdebqye() + "", api1503.getCxjlbdebnlj() + "");
        paddingData(shFinanceDto, list, "(二)将重分类进损益的其他综合收益", "0", "0");
        paddingData(shFinanceDto, list, "1.权益法下可转损益的其他综合收益", api1503.getQyfkzsybqye() + "", api1503.getQyfkzsybnlj() + "");
        paddingData(shFinanceDto, list, "2.可供出售金融资产公允价值变动损益", api1503.getKgcszcbdsybqye() + "", api1503.getKgcszcbdsybnlj() + "");
        paddingData(shFinanceDto, list, "3.持有至到期投资重分类为可供出售金融资产损益", api1503.getCydqtzzcsybqye() + "", api1503.getKgcszcbdsybnlj() + "");
        paddingData(shFinanceDto, list, "4.现金流量套期损益的有效部分", api1503.getZjllsybqye() + "", api1503.getZjllsybnlj() + "");
        paddingData(shFinanceDto, list, "5.外币财务报表折算差额", api1503.getWbcwbbcebqye() + "", api1503.getWbcwbbcebnlj() + "");
        paddingData(shFinanceDto, list, "六、综合收益总额", api1503.getZhsyzebqye() + "", api1503.getZhsyzebnlj() + "");
        paddingData(shFinanceDto, list, "七、每股收益:", api1503.getMgsybqye() + "", api1503.getMgsybnlj() + "");
        paddingData(shFinanceDto, list, "(一)基本每股收益", api1503.getJbmgsybqye() + "", api1503.getJbmgsybnlj() + "");
        paddingData(shFinanceDto, list, "(二)稀释每股收益", api1503.getXsmgsybqye() + "", api1503.getXsmgsybnlj() + "");
        return list;
    }
@@ -946,45 +947,45 @@
        shFinanceDto.setCzbz(api1502.getCzbz());
        shFinanceDto.setZhgxsj(DateFormatUtils.format(api1502.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
        paddingData(shFinanceDto, list, 1, "项目//t", "本月数//t", "本年累计数//t");
        paddingData(shFinanceDto, list, 2, "一、经营活动产生的现金流量:", api1502.getJyhdxjllbys() + "", api1502.getJyhdxjllbnljs() + "");
        paddingData(shFinanceDto, list, 3, "销售商品、提供劳务收到的现金", api1502.getXssplwxjbys() + "", api1502.getXssplwxjbnljs() + "");
        paddingData(shFinanceDto, list, 4, "收到的税费返还", api1502.getSffhbys() + "", api1502.getSffhbnljs() + "");
        paddingData(shFinanceDto, list, 5, "收到其他与经营活动有关的现金", api1502.getQtjyhdxjbys() + "", api1502.getQtjyhdxjbnljs() + "");
        paddingData(shFinanceDto, list, 6, "经营活动现金流入小计", api1502.getJyhdxjlrbys() + "", api1502.getJyhdxjlrbnljs() + "");
        paddingData(shFinanceDto, list, 7, "购买商品、接受劳务支付的现金", api1502.getGmsplwzfbys() + "", api1502.getGmsplwzfbnljs() + "");
        paddingData(shFinanceDto, list, 8, "支付给职工以及为职工支付的现金", api1502.getZfzgxjbys() + "", api1502.getZfzgxjbnljs() + "");
        paddingData(shFinanceDto, list, 9, "支付的各项税费", api1502.getZfxxsfbys() + "", api1502.getZfxxsfbnljs() + "");
        paddingData(shFinanceDto, list, 10, "支付其他与经营活动有关的现金", api1502.getZfqtjyhdxjbys() + "", api1502.getZfqtjyhdxjbnljs() + "");
        paddingData(shFinanceDto, list, 11, "经营活动现金流出小计", api1502.getJyhdxjlcbys() + "", api1502.getJyhdxjlcbnljs() + "");
        paddingData(shFinanceDto, list, 12, "经营活动产生的现金流量净额", api1502.getJyhdxjlljebys() + "", api1502.getJyhdxjlljebnljs() + "");
        paddingData(shFinanceDto, list, 13, "二、投资活动产生的现金流量:", api1502.getTzhdxjllbys() + "", api1502.getTzhdxjllbnljs() + "");
        paddingData(shFinanceDto, list, 14, "收回投资收到的现金", api1502.getShtzxjbys() + "", api1502.getShtzxjbnljs() + "");
        paddingData(shFinanceDto, list, 15, "取得投资收益收到的现金", api1502.getQdtzsyxjbys() + "", api1502.getQdtzsyxjbnljs() + "");
        paddingData(shFinanceDto, list, 16, "处置固定资产、无形资产和其他长期资产收回的现金净额", api1502.getCzgdzcdxjjebys() + "", api1502.getCzgdzcdxjjebnljs() + "");
        paddingData(shFinanceDto, list, 17, "处置子公司及其他营业单位收到的现金净额", api1502.getCzqtdwxjjebys() + "", api1502.getCzqtdwxjjebnljs() + "");
        paddingData(shFinanceDto, list, 18, "收到其他与投资活动有关的现金", api1502.getSdqttzxjbys() + "", api1502.getSdqttzxjbnljs() + "");
        paddingData(shFinanceDto, list, 19, "投资活动现金流入小计", api1502.getTzhdxjlrbys() + "", api1502.getTzhdxjlrbnljs() + "");
        paddingData(shFinanceDto, list, 20, "购建固定资产、无形资产和其他长期资产支付的现金", api1502.getGjgdzcdxjbys() + "", api1502.getGjgdzcdxjbnljs() + "");
        paddingData(shFinanceDto, list, 21, "投资支付的现金", api1502.getTzzfxjbys() + "", api1502.getTzzfxjbnljs() + "");
        paddingData(shFinanceDto, list, 22, "取得子公司及其他营业单位支付的现金净额", api1502.getQdzgsdzfxjjebys() + "", api1502.getQdzgsdzfxjjebnljs() + "");
        paddingData(shFinanceDto, list, 23, "支付其他与投资活动有关的现金", api1502.getZfqttzxjbys() + "", api1502.getZfqttzxjbnljs() + "");
        paddingData(shFinanceDto, list, 24, "投资活动现金流出小计", api1502.getTzhdxjlcbys() + "", api1502.getTzhdxjlcbnljs() + "");
        paddingData(shFinanceDto, list, 25, "投资活动产生的现金流量净额", api1502.getTzhdcsxjlljebys() + "", api1502.getTzhdcsxjlljebnljs() + "");
        paddingData(shFinanceDto, list, 26, "三、筹资活动产生的现金流量:", api1502.getCchdxjllbys() + "", api1502.getCchdxjllbnljs() + "");
        paddingData(shFinanceDto, list, 27, "吸收投资收到的现金", api1502.getXstzxjbys() + "", api1502.getXstzxjbnljs() + "");
        paddingData(shFinanceDto, list, 28, "取得借款收到的现金", api1502.getQdjkxjbys() + "", api1502.getQdjkxjbnljs() + "");
        paddingData(shFinanceDto, list, 29, "收到其他与筹资活动有关的现金", api1502.getSdqtczxjbys() + "", api1502.getSdqttzxjbnljs() + "");
        paddingData(shFinanceDto, list, 30, "筹资活动现金流入小计", api1502.getCzhdxjlrbys() + "", api1502.getCzhdxjlrbnljs() + "");
        paddingData(shFinanceDto, list, 31, "偿还债务支付的现金", api1502.getChzwzfxjbys() + "", api1502.getChzwzfxjbnljs() + "");
        paddingData(shFinanceDto, list, 32, "分配股利、利润或偿付利息支付的现金", api1502.getFpgldxjbys() + "", api1502.getFpgldxjbnljs() + "");
        paddingData(shFinanceDto, list, 33, "支付其他与筹资活动有关的现金", api1502.getZfqtdxjbys() + "", api1502.getZfqtdxjbnljs() + "");
        paddingData(shFinanceDto, list, 34, "筹资活动现金流出小计", api1502.getCzhdxjlcbys() + "", api1502.getCzhdxjlcbnljs() + "");
        paddingData(shFinanceDto, list, 35, "筹资活动产生的现金流量净额", api1502.getCchdxjlljebys() + "", api1502.getCchdxjlljebnljs() + "");
        paddingData(shFinanceDto, list, 36, "四、汇率变动对现金及现金等价物的影响", api1502.getHlbdxjyxbys() + "", api1502.getHlbdxjyxbnljs() + "");
        paddingData(shFinanceDto, list, 37, "五、现金及现金等价物净增加额", api1502.getXjdjwjzebys() + "", api1502.getXjdjwjzebnljs() + "");
        paddingData(shFinanceDto, list, 38, "加:期初现金及现金等价物余额", api1502.getQcxjdjwyebys() + "", api1502.getQcxjdjwyebnljs() + "");
        paddingData(shFinanceDto, list, 39, "六、期末现金及现金等价物余额", api1502.getQmxjdjwyebys() + "", api1502.getQmxjdjwyebnljs() + "");
        paddingData(shFinanceDto, list, "项目//t", "本月数//t", "本年累计数//t");
        paddingData(shFinanceDto, list, "一、经营活动产生的现金流量:", api1502.getJyhdxjllbys() + "", api1502.getJyhdxjllbnljs() + "");
        paddingData(shFinanceDto, list, "销售商品、提供劳务收到的现金", api1502.getXssplwxjbys() + "", api1502.getXssplwxjbnljs() + "");
        paddingData(shFinanceDto, list, "收到的税费返还", api1502.getSffhbys() + "", api1502.getSffhbnljs() + "");
        paddingData(shFinanceDto, list, "收到其他与经营活动有关的现金", api1502.getQtjyhdxjbys() + "", api1502.getQtjyhdxjbnljs() + "");
        paddingData(shFinanceDto, list, "经营活动现金流入小计", api1502.getJyhdxjlrbys() + "", api1502.getJyhdxjlrbnljs() + "");
        paddingData(shFinanceDto, list, "购买商品、接受劳务支付的现金", api1502.getGmsplwzfbys() + "", api1502.getGmsplwzfbnljs() + "");
        paddingData(shFinanceDto, list, "支付给职工以及为职工支付的现金", api1502.getZfzgxjbys() + "", api1502.getZfzgxjbnljs() + "");
        paddingData(shFinanceDto, list, "支付的各项税费", api1502.getZfxxsfbys() + "", api1502.getZfxxsfbnljs() + "");
        paddingData(shFinanceDto, list, "支付其他与经营活动有关的现金", api1502.getZfqtjyhdxjbys() + "", api1502.getZfqtjyhdxjbnljs() + "");
        paddingData(shFinanceDto, list, "经营活动现金流出小计", api1502.getJyhdxjlcbys() + "", api1502.getJyhdxjlcbnljs() + "");
        paddingData(shFinanceDto, list, "经营活动产生的现金流量净额", api1502.getJyhdxjlljebys() + "", api1502.getJyhdxjlljebnljs() + "");
        paddingData(shFinanceDto, list, "二、投资活动产生的现金流量:", api1502.getTzhdxjllbys() + "", api1502.getTzhdxjllbnljs() + "");
        paddingData(shFinanceDto, list, "收回投资收到的现金", api1502.getShtzxjbys() + "", api1502.getShtzxjbnljs() + "");
        paddingData(shFinanceDto, list, "取得投资收益收到的现金", api1502.getQdtzsyxjbys() + "", api1502.getQdtzsyxjbnljs() + "");
        paddingData(shFinanceDto, list, "处置固定资产、无形资产和其他长期资产收回的现金净额", api1502.getCzgdzcdxjjebys() + "", api1502.getCzgdzcdxjjebnljs() + "");
        paddingData(shFinanceDto, list, "处置子公司及其他营业单位收到的现金净额", api1502.getCzqtdwxjjebys() + "", api1502.getCzqtdwxjjebnljs() + "");
        paddingData(shFinanceDto, list, "收到其他与投资活动有关的现金", api1502.getSdqttzxjbys() + "", api1502.getSdqttzxjbnljs() + "");
        paddingData(shFinanceDto, list, "投资活动现金流入小计", api1502.getTzhdxjlrbys() + "", api1502.getTzhdxjlrbnljs() + "");
        paddingData(shFinanceDto, list, "购建固定资产、无形资产和其他长期资产支付的现金", api1502.getGjgdzcdxjbys() + "", api1502.getGjgdzcdxjbnljs() + "");
        paddingData(shFinanceDto, list, "投资支付的现金", api1502.getTzzfxjbys() + "", api1502.getTzzfxjbnljs() + "");
        paddingData(shFinanceDto, list, "取得子公司及其他营业单位支付的现金净额", api1502.getQdzgsdzfxjjebys() + "", api1502.getQdzgsdzfxjjebnljs() + "");
        paddingData(shFinanceDto, list, "支付其他与投资活动有关的现金", api1502.getZfqttzxjbys() + "", api1502.getZfqttzxjbnljs() + "");
        paddingData(shFinanceDto, list, "投资活动现金流出小计", api1502.getTzhdxjlcbys() + "", api1502.getTzhdxjlcbnljs() + "");
        paddingData(shFinanceDto, list, "投资活动产生的现金流量净额", api1502.getTzhdcsxjlljebys() + "", api1502.getTzhdcsxjlljebnljs() + "");
        paddingData(shFinanceDto, list, "三、筹资活动产生的现金流量:", api1502.getCchdxjllbys() + "", api1502.getCchdxjllbnljs() + "");
        paddingData(shFinanceDto, list, "吸收投资收到的现金", api1502.getXstzxjbys() + "", api1502.getXstzxjbnljs() + "");
        paddingData(shFinanceDto, list, "取得借款收到的现金", api1502.getQdjkxjbys() + "", api1502.getQdjkxjbnljs() + "");
        paddingData(shFinanceDto, list, "收到其他与筹资活动有关的现金", api1502.getSdqtczxjbys() + "", api1502.getSdqttzxjbnljs() + "");
        paddingData(shFinanceDto, list, "筹资活动现金流入小计", api1502.getCzhdxjlrbys() + "", api1502.getCzhdxjlrbnljs() + "");
        paddingData(shFinanceDto, list, "偿还债务支付的现金", api1502.getChzwzfxjbys() + "", api1502.getChzwzfxjbnljs() + "");
        paddingData(shFinanceDto, list, "分配股利、利润或偿付利息支付的现金", api1502.getFpgldxjbys() + "", api1502.getFpgldxjbnljs() + "");
        paddingData(shFinanceDto, list, "支付其他与筹资活动有关的现金", api1502.getZfqtdxjbys() + "", api1502.getZfqtdxjbnljs() + "");
        paddingData(shFinanceDto, list, "筹资活动现金流出小计", api1502.getCzhdxjlcbys() + "", api1502.getCzhdxjlcbnljs() + "");
        paddingData(shFinanceDto, list, "筹资活动产生的现金流量净额", api1502.getCchdxjlljebys() + "", api1502.getCchdxjlljebnljs() + "");
        paddingData(shFinanceDto, list, "四、汇率变动对现金及现金等价物的影响", api1502.getHlbdxjyxbys() + "", api1502.getHlbdxjyxbnljs() + "");
        paddingData(shFinanceDto, list, "五、现金及现金等价物净增加额", api1502.getXjdjwjzebys() + "", api1502.getXjdjwjzebnljs() + "");
        paddingData(shFinanceDto, list, "加:期初现金及现金等价物余额", api1502.getQcxjdjwyebys() + "", api1502.getQcxjdjwyebnljs() + "");
        paddingData(shFinanceDto, list, "六、期末现金及现金等价物余额", api1502.getQmxjdjwyebys() + "", api1502.getQmxjdjwyebnljs() + "");
        return list;
    }
@@ -999,97 +1000,120 @@
        shFinanceDto.setCzbz(api1501.getCzbz());
        shFinanceDto.setZhgxsj(DateFormatUtils.format(api1501.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
        paddingData(shFinanceDto, list, 1, "资产//t", "期末余额//t", "年初余额//t");
        paddingData(shFinanceDto, list, 2, "流动资产:", api1501.getLdzchjqmye() + "", api1501.getLdzchjncye() + "");
        paddingData(shFinanceDto, list, 3, "货币资金", api1501.getHbjjqmye() + "", api1501.getHbjjncye() + "");
        paddingData(shFinanceDto, list, 4, "交易性金融资产", api1501.getJyxjrzcqmye() + "", api1501.getJyxjrzcncye() + "");
        paddingData(shFinanceDto, list, 5, "衍生金融资产", api1501.getYsjrzcqmye() + "", api1501.getYsjrzcncye() + "");
        paddingData(shFinanceDto, list, 6, "应收票据", api1501.getYspjqmye() + "", api1501.getYspjncye() + "");
        paddingData(shFinanceDto, list, 7, "应收账款", api1501.getYszkqmye() + "", api1501.getYszkncye() + "");
        paddingData(shFinanceDto, list, 8, "预付款项", api1501.getYuskxqmye() + "", api1501.getYuskxncye() + "");
        paddingData(shFinanceDto, list, 9, "其他应收款", api1501.getQtyszkqmye() + "", api1501.getQtyszkncye() + "");
        paddingData(shFinanceDto, list, 10, "存货", api1501.getChqmye() + "", api1501.getChncye() + "");
        paddingData(shFinanceDto, list, 11, "合同资产", api1501.getHtzcqmye() + "", api1501.getHtzcncye() + "");
        paddingData(shFinanceDto, list, 12, "持有待售资产", api1501.getCydszcqmye() + "", api1501.getCydszcncye() + "");
        paddingData(shFinanceDto, list, 13, "一年内到期的非流动资产", api1501.getYnndqfldzcqmye() + "", api1501.getYnndqfldzcncye() + "");
        paddingData(shFinanceDto, list, 14, "其他流动资产", api1501.getQtldzcqmye() + "", api1501.getQtldzcncye() + "");
        paddingData(shFinanceDto, list, 15, "流动资产合计", api1501.getLdzchjqmye() + "", api1501.getLdzchjncye() + "");
        paddingData(shFinanceDto, list, 16, "非流动资产:", api1501.getFldzcqmye() + "", api1501.getFldzcncye() + "");
        paddingData(shFinanceDto, list, 17, "债券投资", api1501.getZjtzqmye() + "", api1501.getZjtzncye() + "");
        paddingData(shFinanceDto, list, 18, "其他债券投资", api1501.getQtzqtzqmye() + "", api1501.getQtzqtzncye() + "");
        paddingData(shFinanceDto, list, 19, "长期应收款", api1501.getCqyskqmye() + "", api1501.getCqyskncye() + "");
        paddingData(shFinanceDto, list, 20, "长期股权投资", api1501.getCqgqtzqmye() + "", api1501.getCqgqtzncye() + "");
        paddingData(shFinanceDto, list, 21, "其他权益工具投资", api1501.getQtqygjtzqmye() + "", api1501.getQtqygjtzncye() + "");
        paddingData(shFinanceDto, list, 22, "其他非流动金融资产", api1501.getQtfldjrzcqmye() + "", api1501.getQtfldjrzcncye() + "");
        paddingData(shFinanceDto, list, 23, "投资性房地产", api1501.getTzxfdcqmye() + "", api1501.getTzxfdcncye() + "");
        paddingData(shFinanceDto, list, 24, "固定资产", api1501.getGdzcqmye() + "", api1501.getGdzcncye() + "");
        paddingData(shFinanceDto, list, 25, "在建工程", api1501.getZjgcqmye() + "", api1501.getZjgcncye() + "");
        paddingData(shFinanceDto, list, 26, "生产性生物资产", api1501.getScxswzcqmye() + "", api1501.getScxswzcncye() + "");
        paddingData(shFinanceDto, list, 27, "油气资产", api1501.getYqzcqmye() + "", api1501.getYqzcncye() + "");
        paddingData(shFinanceDto, list, 28, "无形资产", api1501.getWxzcqmye() + "", api1501.getWxzcncye() + "");
        paddingData(shFinanceDto, list, 29, "开发支出", api1501.getKfzcqmye() + "", api1501.getKfzcncye() + "");
        paddingData(shFinanceDto, list, 30, "商誉", api1501.getSyqmye() + "", api1501.getSyncye() + "");
        paddingData(shFinanceDto, list, 31, "长期待摊费用", api1501.getCqdtfyqmye() + "", api1501.getCqdtfyncye() + "");
        paddingData(shFinanceDto, list, 32, "递延所得税资产", api1501.getDysdszcqmye() + "", api1501.getDysdszcncye() + "");
        paddingData(shFinanceDto, list, 33, "其他非流动资产", api1501.getQtfldzcqmye() + "", api1501.getQtfldzcncye() + "");
        paddingData(shFinanceDto, list, 34, "非流动资产合计", api1501.getFldzcqmye() + "", api1501.getFldzcncye() + "");
        paddingData(shFinanceDto, list, 35, "资产总计", api1501.getZczjqmye() + "", api1501.getZczjncye() + "");
        paddingData(shFinanceDto, list, 36, "负债和所有者权益(或股东权益)//t", "期末余额//t", "年初余额//t");
        paddingData(shFinanceDto, list, 37, "流动负债:", api1501.getLdfzhjqmye() + "", api1501.getLdfzhjncye() + "");
        paddingData(shFinanceDto, list, 38, "短期借款", api1501.getDqjkqmye() + "", api1501.getLdzchjncye() + "");
        paddingData(shFinanceDto, list, 39, "交易性金融负债", api1501.getJyxjrfzqmye() + "", api1501.getJyxjrfzncye() + "");
        paddingData(shFinanceDto, list, 40, "衍生金融负债", api1501.getYsjrfzqmye() + "", api1501.getYsjrfzncye() + "");
        paddingData(shFinanceDto, list, 41, "应付票据", api1501.getLdfzyspjqmye() + "", api1501.getLdfzyspjncye() + "");
        paddingData(shFinanceDto, list, 42, "应付账款", api1501.getLdfzyszkqmye() + "", api1501.getLdfzyszkncye() + "");
        paddingData(shFinanceDto, list, 43, "预收款项", api1501.getLdfzyuskxqmye() + "", api1501.getLdfzyszkncye() + "");
        paddingData(shFinanceDto, list, 44, "合同负债", api1501.getHtfzqmye() + "", api1501.getHtfzncye() + "");
        paddingData(shFinanceDto, list, 45, "应付职工薪酬", api1501.getYfzgxcqmye() + "", api1501.getYfzgxcncye() + "");
        paddingData(shFinanceDto, list, 46, "应交税费", api1501.getYjsfqmye() + "", api1501.getYjsfncye() + "");
        paddingData(shFinanceDto, list, 47, "其他应付款", api1501.getQtyfkqmye() + "", api1501.getQtyfkncye() + "");
        paddingData(shFinanceDto, list, 48, "持有待售负债", api1501.getCydsfzqmye() + "", api1501.getCydsfzncye() + "");
        paddingData(shFinanceDto, list, 49, "一年内到期的非流动负债", api1501.getYnddqfldfzqmye() + "", api1501.getYnddqfldfzncye() + "");
        paddingData(shFinanceDto, list, 50, "其他流动负债", api1501.getQtldfzqmye() + "", api1501.getQtldfzncye() + "");
        paddingData(shFinanceDto, list, 51, "流动负债合计", api1501.getLdfzhjqmye() + "", api1501.getLdfzhjncye() + "");
        paddingData(shFinanceDto, list, 52, "非流动负债:", api1501.getFldfzhjqmye() + "", api1501.getFldfzhjncye() + "");
        paddingData(shFinanceDto, list, 53, "长期借款", api1501.getCqjkqmye() + "", api1501.getCqjkncye() + "");
        paddingData(shFinanceDto, list, 54, "应付债券", api1501.getYfzqqmye() + "", api1501.getYfzqncye() + "");
        paddingData(shFinanceDto, list, 55, "其中:优先股", api1501.getYfzqyxgqmye() + "", api1501.getYfzqyxgncye() + "");
        paddingData(shFinanceDto, list, 56, "永续债", api1501.getYfzqyxzqmye() + "", api1501.getYfzqyxzncye() + "");
        paddingData(shFinanceDto, list, 57, "长期应付款", api1501.getCqyfkqmye() + "", api1501.getCqyfkncye() + "");
        paddingData(shFinanceDto, list, 58, "预计负债", api1501.getYjsfqmye() + "", api1501.getYjsfncye() + "");
        paddingData(shFinanceDto, list, 59, "递延收益", api1501.getDysyqmye() + "", api1501.getDysyncye() + "");
        paddingData(shFinanceDto, list, 60, "递延所得税负债", api1501.getDysdsfzqmye() + "", api1501.getDysdsfzncye() + "");
        paddingData(shFinanceDto, list, 61, "其他非流动负债", api1501.getQtfldfzqmye() + "", api1501.getQtfldfzncye() + "");
        paddingData(shFinanceDto, list, 62, "非流动负债合计", api1501.getFldfzhjqmye() + "", api1501.getFldfzhjncye() + "");
        paddingData(shFinanceDto, list, 63, "负债合计", api1501.getFzhjqmye() + "", api1501.getFzhjncye() + "");
        paddingData(shFinanceDto, list, 64, "所有者权益(或股东权益):", api1501.getSyzqyqmye() + "", api1501.getSyzqyncye() + "");
        paddingData(shFinanceDto, list, 65, "实收资本(或股本)", api1501.getSszbqmye() + "", api1501.getSszbncye() + "");
        paddingData(shFinanceDto, list, 66, "其他权益工具", api1501.getQtqygjqmye() + "", api1501.getQtqygjncye() + "");
        paddingData(shFinanceDto, list, 67, "其中:优先股", api1501.getQtqygjyxgqmye() + "", api1501.getQtqygjyxgncye() + "");
        paddingData(shFinanceDto, list, 68, "永续债", api1501.getQtqygjyxzqmye() + "", api1501.getQtqygjyxzncye() + "");
        paddingData(shFinanceDto, list, 69, "资本公积", api1501.getZbgjqmye() + "", api1501.getZbgjncye() + "");
        paddingData(shFinanceDto, list, 70, "减:库存股", api1501.getJkcgqmye() + "", api1501.getJkcgncye() + "");
        paddingData(shFinanceDto, list, 71, "其他综合收益", api1501.getQtzhsyqmye() + "", api1501.getQtzhsyncye() + "");
        paddingData(shFinanceDto, list, 72, "专项储备", api1501.getZxcbqmye() + "", api1501.getZxcbncye() + "");
        paddingData(shFinanceDto, list, 73, "盈余公积", api1501.getYygjqmye() + "", api1501.getYygjncye() + "");
        paddingData(shFinanceDto, list, 74, "未分配利润", api1501.getWfplrqmye() + "", api1501.getWfplrncye() + "");
        paddingData(shFinanceDto, list, 75, "所有者权益(或股东权益)合计", api1501.getSyzqyqmye() + "", api1501.getSyzqyncye() + "");
        paddingData(shFinanceDto, list, 76, "负债和所有者权益(或股东权益)总计", api1501.getFzhsyzqyqmye() + "", api1501.getFzhsyzqyncye() + "");
        paddingData(shFinanceDto, list, "资产//t", "期末余额//t", "年初余额//t");
        paddingData(shFinanceDto, list, "流动资产:", api1501.getLdzchjqmye() + "", api1501.getLdzchjncye() + "");
        paddingData(shFinanceDto, list, "货币资金", api1501.getHbjjqmye() + "", api1501.getHbjjncye() + "");
        paddingData(shFinanceDto, list, "交易性金融资产", api1501.getJyxjrzcqmye() + "", api1501.getJyxjrzcncye() + "");
        paddingData(shFinanceDto, list, "衍生金融资产", api1501.getYsjrzcqmye() + "", api1501.getYsjrzcncye() + "");
        paddingData(shFinanceDto, list, "应收票据", api1501.getYspjqmye() + "", api1501.getYspjncye() + "");
        paddingData(shFinanceDto, list, "应收账款", api1501.getYszkqmye() + "", api1501.getYszkncye() + "");
        paddingData(shFinanceDto, list, "预付款项", api1501.getYuskxqmye() + "", api1501.getYuskxncye() + "");
        paddingData(shFinanceDto, list, "其他应收款", api1501.getQtyszkqmye() + "", api1501.getQtyszkncye() + "");
        paddingData(shFinanceDto, list, "存货", api1501.getChqmye() + "", api1501.getChncye() + "");
        paddingData(shFinanceDto, list, "合同资产", api1501.getHtzcqmye() + "", api1501.getHtzcncye() + "");
        paddingData(shFinanceDto, list, "持有待售资产", api1501.getCydszcqmye() + "", api1501.getCydszcncye() + "");
        paddingData(shFinanceDto, list, "一年内到期的非流动资产", api1501.getYnndqfldzcqmye() + "", api1501.getYnndqfldzcncye() + "");
        paddingData(shFinanceDto, list, "其他流动资产", api1501.getQtldzcqmye() + "", api1501.getQtldzcncye() + "");
        paddingData(shFinanceDto, list, "流动资产合计", api1501.getLdzchjqmye() + "", api1501.getLdzchjncye() + "");
        paddingData(shFinanceDto, list, "非流动资产:", api1501.getFldzcqmye() + "", api1501.getFldzcncye() + "");
        paddingData(shFinanceDto, list, "债券投资", api1501.getZjtzqmye() + "", api1501.getZjtzncye() + "");
        paddingData(shFinanceDto, list, "其他债券投资", api1501.getQtzqtzqmye() + "", api1501.getQtzqtzncye() + "");
        paddingData(shFinanceDto, list, "长期应收款", api1501.getCqyskqmye() + "", api1501.getCqyskncye() + "");
        paddingData(shFinanceDto, list, "长期股权投资", api1501.getCqgqtzqmye() + "", api1501.getCqgqtzncye() + "");
        paddingData(shFinanceDto, list, "其他权益工具投资", api1501.getQtqygjtzqmye() + "", api1501.getQtqygjtzncye() + "");
        paddingData(shFinanceDto, list, "其他非流动金融资产", api1501.getQtfldjrzcqmye() + "", api1501.getQtfldjrzcncye() + "");
        paddingData(shFinanceDto, list, "投资性房地产", api1501.getTzxfdcqmye() + "", api1501.getTzxfdcncye() + "");
        paddingData(shFinanceDto, list, "固定资产", api1501.getGdzcqmye() + "", api1501.getGdzcncye() + "");
        paddingData(shFinanceDto, list, "在建工程", api1501.getZjgcqmye() + "", api1501.getZjgcncye() + "");
        paddingData(shFinanceDto, list, "生产性生物资产", api1501.getScxswzcqmye() + "", api1501.getScxswzcncye() + "");
        paddingData(shFinanceDto, list, "油气资产", api1501.getYqzcqmye() + "", api1501.getYqzcncye() + "");
        paddingData(shFinanceDto, list, "无形资产", api1501.getWxzcqmye() + "", api1501.getWxzcncye() + "");
        paddingData(shFinanceDto, list, "开发支出", api1501.getKfzcqmye() + "", api1501.getKfzcncye() + "");
        paddingData(shFinanceDto, list, "商誉", api1501.getSyqmye() + "", api1501.getSyncye() + "");
        paddingData(shFinanceDto, list, "长期待摊费用", api1501.getCqdtfyqmye() + "", api1501.getCqdtfyncye() + "");
        paddingData(shFinanceDto, list, "递延所得税资产", api1501.getDysdszcqmye() + "", api1501.getDysdszcncye() + "");
        paddingData(shFinanceDto, list, "其他非流动资产", api1501.getQtfldzcqmye() + "", api1501.getQtfldzcncye() + "");
        paddingData(shFinanceDto, list, "非流动资产合计", api1501.getFldzcqmye() + "", api1501.getFldzcncye() + "");
        paddingData(shFinanceDto, list, "资产总计", api1501.getZczjqmye() + "", api1501.getZczjncye() + "");
        paddingData(shFinanceDto, list, "负债和所有者权益(或股东权益)//t", "期末余额//t", "年初余额//t");
        paddingData(shFinanceDto, list, "流动负债:", api1501.getLdfzhjqmye() + "", api1501.getLdfzhjncye() + "");
        paddingData(shFinanceDto, list, "短期借款", api1501.getDqjkqmye() + "", api1501.getLdzchjncye() + "");
        paddingData(shFinanceDto, list, "交易性金融负债", api1501.getJyxjrfzqmye() + "", api1501.getJyxjrfzncye() + "");
        paddingData(shFinanceDto, list, "衍生金融负债", api1501.getYsjrfzqmye() + "", api1501.getYsjrfzncye() + "");
        paddingData(shFinanceDto, list, "应付票据", api1501.getLdfzyspjqmye() + "", api1501.getLdfzyspjncye() + "");
        paddingData(shFinanceDto, list, "应付账款", api1501.getLdfzyszkqmye() + "", api1501.getLdfzyszkncye() + "");
        paddingData(shFinanceDto, list, "预收款项", api1501.getLdfzyuskxqmye() + "", api1501.getLdfzyszkncye() + "");
        paddingData(shFinanceDto, list, "合同负债", api1501.getHtfzqmye() + "", api1501.getHtfzncye() + "");
        paddingData(shFinanceDto, list, "应付职工薪酬", api1501.getYfzgxcqmye() + "", api1501.getYfzgxcncye() + "");
        paddingData(shFinanceDto, list, "应交税费", api1501.getYjsfqmye() + "", api1501.getYjsfncye() + "");
        paddingData(shFinanceDto, list, "其他应付款", api1501.getQtyfkqmye() + "", api1501.getQtyfkncye() + "");
        paddingData(shFinanceDto, list, "持有待售负债", api1501.getCydsfzqmye() + "", api1501.getCydsfzncye() + "");
        paddingData(shFinanceDto, list, "一年内到期的非流动负债", api1501.getYnddqfldfzqmye() + "", api1501.getYnddqfldfzncye() + "");
        paddingData(shFinanceDto, list, "其他流动负债", api1501.getQtldfzqmye() + "", api1501.getQtldfzncye() + "");
        paddingData(shFinanceDto, list, "流动负债合计", api1501.getLdfzhjqmye() + "", api1501.getLdfzhjncye() + "");
        paddingData(shFinanceDto, list, "非流动负债:", api1501.getFldfzhjqmye() + "", api1501.getFldfzhjncye() + "");
        paddingData(shFinanceDto, list, "长期借款", api1501.getCqjkqmye() + "", api1501.getCqjkncye() + "");
        paddingData(shFinanceDto, list, "应付债券", api1501.getYfzqqmye() + "", api1501.getYfzqncye() + "");
        paddingData(shFinanceDto, list, "其中:优先股", api1501.getYfzqyxgqmye() + "", api1501.getYfzqyxgncye() + "");
        paddingData(shFinanceDto, list, "永续债", api1501.getYfzqyxzqmye() + "", api1501.getYfzqyxzncye() + "");
        paddingData(shFinanceDto, list, "长期应付款", api1501.getCqyfkqmye() + "", api1501.getCqyfkncye() + "");
        paddingData(shFinanceDto, list, "预计负债", api1501.getYjsfqmye() + "", api1501.getYjsfncye() + "");
        paddingData(shFinanceDto, list, "递延收益", api1501.getDysyqmye() + "", api1501.getDysyncye() + "");
        paddingData(shFinanceDto, list, "递延所得税负债", api1501.getDysdsfzqmye() + "", api1501.getDysdsfzncye() + "");
        paddingData(shFinanceDto, list, "其他非流动负债", api1501.getQtfldfzqmye() + "", api1501.getQtfldfzncye() + "");
        paddingData(shFinanceDto, list, "非流动负债合计", api1501.getFldfzhjqmye() + "", api1501.getFldfzhjncye() + "");
        paddingData(shFinanceDto, list, "负债合计", api1501.getFzhjqmye() + "", api1501.getFzhjncye() + "");
        paddingData(shFinanceDto, list, "所有者权益(或股东权益):", api1501.getSyzqyqmye() + "", api1501.getSyzqyncye() + "");
        paddingData(shFinanceDto, list, "实收资本(或股本)", api1501.getSszbqmye() + "", api1501.getSszbncye() + "");
        paddingData(shFinanceDto, list, "其他权益工具", api1501.getQtqygjqmye() + "", api1501.getQtqygjncye() + "");
        paddingData(shFinanceDto, list, "其中:优先股", api1501.getQtqygjyxgqmye() + "", api1501.getQtqygjyxgncye() + "");
        paddingData(shFinanceDto, list, "永续债", api1501.getQtqygjyxzqmye() + "", api1501.getQtqygjyxzncye() + "");
        paddingData(shFinanceDto, list, "资本公积", api1501.getZbgjqmye() + "", api1501.getZbgjncye() + "");
        paddingData(shFinanceDto, list, "减:库存股", api1501.getJkcgqmye() + "", api1501.getJkcgncye() + "");
        paddingData(shFinanceDto, list, "其他综合收益", api1501.getQtzhsyqmye() + "", api1501.getQtzhsyncye() + "");
        paddingData(shFinanceDto, list, "专项储备", api1501.getZxcbqmye() + "", api1501.getZxcbncye() + "");
        paddingData(shFinanceDto, list, "盈余公积", api1501.getYygjqmye() + "", api1501.getYygjncye() + "");
        paddingData(shFinanceDto, list, "未分配利润", api1501.getWfplrqmye() + "", api1501.getWfplrncye() + "");
        paddingData(shFinanceDto, list, "所有者权益(或股东权益)合计", api1501.getSyzqyqmye() + "", api1501.getSyzqyncye() + "");
        paddingData(shFinanceDto, list, "负债和所有者权益(或股东权益)总计", api1501.getFzhsyzqyqmye() + "", api1501.getFzhsyzqyncye() + "");
        return list;
    }
    private void paddingData(SHFinanceDto common,
                             List<SHFinanceDto> list,
                             Integer zbxh,
                             String zbmc,
                             String zbz1,
                             String zbz2) {
    private void paddingData(SHFinanceDto common, List<SHFinanceDto> list, String zbmc, String zbz1, String zbz2) {
        SHFinanceDto shFinanceDto = new SHFinanceDto();
        BeanUtils.copyProperties(common, shFinanceDto);
        shFinanceDto.setZbxh(zbxh);
        shFinanceDto.setZbmc(zbmc);
        shFinanceDto.setZbz1(zbz1);
        shFinanceDto.setZbz2(zbz2);
        list.add(shFinanceDto);
    }
    private Object changeObject(Object object) {
        // 使用反射获取属性列表 vo为实体对象名
        Field[] fields = object.getClass().getDeclaredFields();
        for (Field field : fields) {
            field.setAccessible(true);
            try {
                // 判断属性值是否为null
                if (field.get(object) == null || field.get(object) == "") {
                    //根据类型设置默认值
                    if (field.getType() == String.class) {
                        field.set(object, "无");
                    }
                    if (field.getType() == Integer.class) {
                        field.set(object, 0);
                    }
                    if (field.getType() == Double.class) {
                        field.set(object, 0.0);
                    }
                    if (field.getType() == Date.class) {
                        field.set(object, new Date());
                    }
                }
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }
        return object;
    }
}