czt
2025-04-15 b8bb7aac6f648cac32d14e44c9f410f383b53500
src/main/java/com/fzzy/push/nx2023/NX2023ApiRemoteService.java
@@ -1,6 +1,7 @@
package com.fzzy.push.nx2023;
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;
@@ -10,21 +11,21 @@
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.nx2023.dto.*;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.*;
/**
 * 宁夏省平台2023版-上传数据服务类
 *
 * @author czt
 * @date 2023/11/09
 */
@@ -55,6 +56,8 @@
    private Api1202Rep api1202Rep;
    @Autowired
    private Api1205Rep api1205Rep;
    @Autowired
    private Api1404Rep api1404Rep;
    @Override
    public String getProtocol() {
@@ -68,10 +71,8 @@
    @Override
    public ResponseDto pushData(ApiParam param, ApiConfs conf, Object data) {
        String inteId = param.getInteId();
        String kqdm = param.getKqdm();
        //查询库区信息行政区划码
        List<Api1102> api1102List = api1102Rep.findPushData(kqdm);
        try {
            if (null == conf) {
                conf = apiCommonService.getConf(kqdm);
@@ -80,23 +81,18 @@
            //添加日志
            ApiLog apiLog = new ApiLog();
            apiLog.setId(ContextUtil.getUUID());
            //若为财务1501、1502、1503接口,则接口编码填写1114
            if (NX2023Constant.NX_2023_API_CODE_1114_1501.equals(param.getInteId())
                    || NX2023Constant.NX_2023_API_CODE_1114_1502.equals(param.getInteId())
                    || NX2023Constant.NX_2023_API_CODE_1114_1503.equals(param.getInteId())) {
                inteId = NX2023Constant.NX_2023_API_CODE_1114;
            }
            apiLog.setInteId(inteId);
            if (StringUtils.isEmpty(inteId)) {
            if (StringUtils.isEmpty(param.getInteId())) {
                ResponseDto responseDto = new ResponseDto(99, "没有获取到接口");
                apiLog.setStatus(99);
                apiLog.setResult("没有获取到接口");
                apiLogRep.save(apiLog);
                return responseDto;
            }
            apiLog.setInteId(param.getInteId());
            //获取接口编码
            String inteId = this.getInteId(param.getInteId());
            //获取JSON报文
            String jsonData = getJsonData(param.getInteId(), data);
            log.info("接口数据信息=" + jsonData);
            apiLog.setData(jsonData);
@@ -118,10 +114,9 @@
            reqData.setUid(conf.getUserName());
            //指令id
            String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm());
            String orderId = reqData.getId();
            OrderData orderData = (OrderData) redisUtil.get(key);
            if (null != orderData && StringUtils.isNotEmpty(orderData.getOrderid())) {
                orderId = orderData.getOrderid();
            String orderId = (String) redisUtil.get(key);
            if (StringUtils.isEmpty(orderId)) {
                orderId = reqData.getId();
            }
            reqData.setOrderid(orderId);
@@ -134,7 +129,7 @@
            //摘要,数据主体的MD5值
            reqData.setDigst(MyMD5Util.encrypt(jsonData));
            log.info("上报数据信息=" + JSON.toJSONString(reqData));
            Nx2023RespDto responseDto = NX2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, JSON.toJSONString(reqData), conf);
            Nx2023RespDto responseDto = NX2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, JSON.toJSONString(reqData));
            apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
            apiLog.setResult(responseDto.getResult());
@@ -158,19 +153,16 @@
     * @return
     */
    private String getJsonData(String inteId, Object data) {
        //若为财务1501、1502、1503接口,则接口编码填写1114
        if (NX2023Constant.NX_2023_API_CODE_1114_1501.equals(inteId)
                || NX2023Constant.NX_2023_API_CODE_1114_1502.equals(inteId)
                || NX2023Constant.NX_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);
            list.add(object);
            return JSON.toJSONString(list);
        List<Object> list = new ArrayList<>();
        Object object = getJsonApiData(inteId, data);
        //除库存接口外,其他接口上传前更新最后更新时间
        if (!Constant.API_CODE_1208.equals(inteId)) {
            setZhgxsjValue(data);
        }
        list.add(object);
        return JSON.toJSONString(list);
    }
    /**
@@ -181,375 +173,692 @@
     * @return
     */
    private Object getJsonApiData(String inteId, Object data) {
        if (NX2023Constant.NX_2023_API_CODE_1101.equals(inteId)) {
        if (Constant.API_CODE_1101.equals(inteId)) {
            Nx2023Api1101 api1101 = new Nx2023Api1101();
            BeanUtils.copyProperties(data, api1101);
            //设置上级单位统一编码
            if (StringUtils.isEmpty(api1101.getSjdwtybm()) && StringUtils.isNotEmpty(api1101.getSjdwdm())) {
                String sjdwtybm = apiCommonService.getTydwbm(api1101.getDwdm());
                api1101.setSjdwtybm(sjdwtybm);
            }
            return api1101;
        }
        if (NX2023Constant.NX_2023_API_CODE_1102.equals(inteId)) {
        if (Constant.API_CODE_1102.equals(inteId)) {
            Nx2023Api1102 api1102 = new Nx2023Api1102();
            BeanUtils.copyProperties(data, api1102);
            api1102.setLkxz("1");
            //设置统一单位编码
            if (StringUtils.isEmpty(api1102.getTydwbm())) {
                String tydwbm = apiCommonService.getTydwbm(api1102.getDwdm());
                api1102.setTydwbm(tydwbm);
            }
            return api1102;
        }
        if (NX2023Constant.NX_2023_API_CODE_1108.equals(inteId)) {
        if (Constant.API_CODE_1103.equals(inteId)) {
            Nx2023Api1103 api1103 = new Nx2023Api1103();
            BeanUtils.copyProperties(data, api1103);
            //设置统一库区编码
            if (StringUtils.isEmpty(api1103.getTykqbm())) {
                String tykqbm = apiCommonService.getTykqbm(api1103.getKqdm());
                api1103.setTykqbm(tykqbm);
            }
            return api1103;
        }
        if (Constant.API_CODE_1104.equals(inteId)) {
            Nx2023Api1104 api1104 = new Nx2023Api1104();
            BeanUtils.copyProperties(data, api1104);
            //设置统一仓房编码
            if (StringUtils.isEmpty(api1104.getTycfbm())) {
                String tycfbm = apiCommonService.getTycfbm(api1104.getCfbh());
                api1104.setTycfbm(tycfbm);
            }
            return api1104;
        }
        if (Constant.API_CODE_1105.equals(inteId)) {
            Nx2023Api1105 api1105 = new Nx2023Api1105();
            BeanUtils.copyProperties(data, api1105);
            //设置统一廒间编码
            if (StringUtils.isEmpty(api1105.getTyajbm())) {
                String tyajbm = apiCommonService.getTyajbm(api1105.getAjdm());
                api1105.setTyajbm(tyajbm);
            }
            return api1105;
        }
        if (Constant.API_CODE_1106.equals(inteId)) {
            Nx2023Api1106 api1106 = new Nx2023Api1106();
            BeanUtils.copyProperties(data, api1106);
            //设置统一库区编码
            if (StringUtils.isEmpty(api1106.getTykqbm())) {
                String tykqbm = apiCommonService.getTykqbm(api1106.getKqdm());
                api1106.setTykqbm(tykqbm);
            }
            return api1106;
        }
        if (Constant.API_CODE_1107.equals(inteId)) {
            Nx2023Api1107 api1107 = new Nx2023Api1107();
            BeanUtils.copyProperties(data, api1107);
            //设置统一单位编码
            if (StringUtils.isEmpty(api1107.getTydwbm())) {
                String tydwbm = apiCommonService.getTydwbm(api1107.getDwdm());
                api1107.setTydwbm(tydwbm);
            }
            //设置统一库区编码
            if (StringUtils.isEmpty(api1107.getTykqbm())) {
                String tykqbm = apiCommonService.getTykqbm(api1107.getKqdm());
                api1107.setTykqbm(tykqbm);
            }
            return api1107;
        }
        if (Constant.API_CODE_1108.equals(inteId)) {
            Nx2023Api1108 api1108 = new Nx2023Api1108();
            BeanUtils.copyProperties(data, api1108);
            //设置统一单位编码
            if (StringUtils.isEmpty(api1108.getTydwbm())) {
                String tydwbm = apiCommonService.getTydwbm(api1108.getDwdm());
                api1108.setTydwbm(tydwbm);
            }
            //设置统一库区编码
            if (StringUtils.isEmpty(api1108.getTykqbm())) {
                String tykqbm = apiCommonService.getTykqbm(api1108.getKqdm());
                api1108.setTykqbm(tykqbm);
            }
            //设置统一药剂编码
            api1108.setTyyjbh(api1108.getYjbh().replace(api1108.getKqdm(), api1108.getTykqbm()));
            return api1108;
        }
        if (NX2023Constant.NX_2023_API_CODE_1109.equals(inteId)) {
        if (Constant.API_CODE_1109.equals(inteId)) {
            Nx2023Api1109 api1109 = new Nx2023Api1109();
            Api1109 apiData = (Api1109) data;
            BeanUtils.copyProperties(apiData, api1109);
            //设置统一库区编码
            if (StringUtils.isEmpty(api1109.getTykqbm())) {
                String tykqbm = apiCommonService.getTykqbm(api1109.getKqdm());
                api1109.setTykqbm(tykqbm);
            }
            //设置文件名称:统一库区编码_
            if (api1109.getWjmc().startsWith(api1109.getKqdm())) {
                api1109.setWjmc(api1109.getWjmc().replace(api1109.getKqdm(), api1109.getTykqbm()));
            }
            //设置文件路径
            api1109.setWjlj("V2024/2409/" + api1109.getTykqbm() + "/" + api1109.getWjlx() + "/" + api1109.getWjmc());
            Map<String, String> map = new HashMap<>();
            map.put(apiData.getWjmc(), FileUtils.fileToByteString(apiData.getWjdz()));
            map.put(api1109.getWjmc(), FileUtils.fileToByteString(apiData.getWjdz()));
            api1109.setWjl(JSON.toJSONString(map));
            return api1109;
        }
        if (NX2023Constant.NX_2023_API_CODE_1111.equals(inteId)) {
        if (Constant.API_CODE_1110.equals(inteId)) {
            Nx2023Api1110 api1110 = new Nx2023Api1110();
            BeanUtils.copyProperties(data, api1110);
            //设置统一单位编码
            if (StringUtils.isEmpty(api1110.getTydwbm())) {
                String tydwbm = apiCommonService.getTydwbm(api1110.getDwdm());
                api1110.setTydwbm(tydwbm);
            }
            //设置统一库区编码
            if (StringUtils.isEmpty(api1110.getTykqbm())) {
                String tykqbm = apiCommonService.getTykqbm(api1110.getKqdm());
                api1110.setTykqbm(tykqbm);
            }
            //设置统一货位编码
            if (StringUtils.isEmpty(api1110.getTyhwbm())) {
                String tyhwbm = apiCommonService.getTyhwbm(api1110.getHwdm());
                api1110.setTyhwbm(tyhwbm);
            }
            return api1110;
        }
        if (Constant.API_CODE_1111.equals(inteId)) {
            Nx2023Api1111 api1111 = new Nx2023Api1111();
            BeanUtils.copyProperties(data, api1111);
            //设置统一单位编码
            if (StringUtils.isEmpty(api1111.getTydwbm())) {
                String tydwbm = apiCommonService.getTydwbm(api1111.getDwdm());
                api1111.setTydwbm(tydwbm);
            }
            //设置统一库区编码
            if (StringUtils.isEmpty(api1111.getTykqbm())) {
                String tykqbm = apiCommonService.getTykqbm(api1111.getKqdm());
                api1111.setTykqbm(tykqbm);
            }
            return api1111;
        }
        if (NX2023Constant.NX_2023_API_CODE_1112.equals(inteId)) {
        if (Constant.API_CODE_1112.equals(inteId)) {
            Nx2023Api1112 api1112 = new Nx2023Api1112();
            BeanUtils.copyProperties(data, api1112);
            //设置统一单位编码
            if (StringUtils.isEmpty(api1112.getTydwbm())) {
                String tydwbm = apiCommonService.getTydwbm(api1112.getDwdm());
                api1112.setTydwbm(tydwbm);
            }
            //设置统一库区编码
            if (StringUtils.isEmpty(api1112.getTykqbm())) {
                String tykqbm = apiCommonService.getTykqbm(api1112.getKqdm());
                api1112.setTykqbm(tykqbm);
            }
            return api1112;
        }
        if (NX2023Constant.NX_2023_API_CODE_1113.equals(inteId)) {
            Nx2023Api1113 api1113 = new Nx2023Api1113();
            BeanUtils.copyProperties(data, api1113);
            return api1113;
        }
        if (NX2023Constant.NX_2023_API_CODE_1201.equals(inteId)) {
        if (Constant.API_CODE_1201.equals(inteId)) {
            Api1201 apiData = (Api1201) data;
            Nx2023Api1201 api1201 = new Nx2023Api1201();
            BeanUtils.copyProperties(data, api1201);
            BeanUtils.copyProperties(apiData, api1201);
            //设置統一单位编码
            if (StringUtils.isEmpty(api1201.getTydwbm())) {
                String tydwbm = apiCommonService.getTydwbm(api1201.getDwdm());
                api1201.setTydwbm(tydwbm);
            }
            if (StringUtils.isEmpty(api1201.getHtzl())) {
                api1201.setHtzl(api1201.getYwlx());
            }
            //设置合同号:统一库区编码加三维顺序号
            if (StringUtils.isEmpty(api1201.getTyhth())) {
                api1201.setTyhth(api1201.getHth().replace(api1201.getDwdm(), api1201.getTydwbm()));
            }
            if (StringUtils.isEmpty(api1201.getYsfs())) {
                api1201.setYsfs("根据到货数量进行验收");
            }
            if (StringUtils.isEmpty(api1201.getFkfs())) {
                api1201.setFkfs("4");
            }
            return api1201;
        }
        if (NX2023Constant.NX_2023_API_CODE_1203.equals(inteId)) {
        if (Constant.API_CODE_1202.equals(inteId)) {
            Nx2023Api1202 api1202 = new Nx2023Api1202();
            BeanUtils.copyProperties(data, api1202);
            //设置統一货位编码
            if (StringUtils.isEmpty(api1202.getTyhwbm())) {
                String tyhwbm = apiCommonService.getTyhwbm(api1202.getHwdm());
                api1202.setTyhwbm(tyhwbm);
            }
            //设置粮权单位統一编码
            if (StringUtils.isEmpty(api1202.getLqgsdwtybm())) {
                String tydwbm = apiCommonService.getTydwbm(api1202.getHwdm().substring(0, 18));
                api1202.setLqgsdwtybm(tydwbm);
            }
            //判断计划明细号,不为空
            if (StringUtils.isNotEmpty(api1202.getJhmxh())) {
                Api1404 api1404 = api1404Rep.getOneDataByJhmxdh(api1202.getJhmxh());
                //计划明细号:更换为轮换计划单号+统一库区编码+4为顺序号
                if (api1404.getJhmxdh().startsWith(api1404.getLhjhdh() + api1404.getKqdm())) {
                    api1202.setJhmxh(api1404.getJhmxdh().replace(api1404.getLhjhdh() + api1404.getKqdm(), api1404.getLhjhdh() + api1202.getTyhwbm().substring(0, 22)));
                }
            }
            //设置合同号:统一库区编码加三维顺序号
            if (api1202.getHth().startsWith(api1202.getHwdm().substring(0, 21))) {
                api1202.setHth(api1202.getHth().replace(api1202.getHwdm().substring(0, 21), api1202.getTyhwbm().substring(0, 22)));
            }
            //设置入库结算单号:统一库区编码+yyyyMMdd+三位顺序号
            if (StringUtils.isEmpty(api1202.getTyrkjsdh())) {
                api1202.setTyrkjsdh(api1202.getRkjsdh().replace(api1202.getHwdm().substring(0, 21), api1202.getTyhwbm().substring(0, 22)));
            }
            return api1202;
        }
        if (Constant.API_CODE_1203.equals(inteId)) {
            Nx2023Api1203 api1203 = new Nx2023Api1203();
            BeanUtils.copyProperties(data, api1203);
            //设置統一货位编码
            if (StringUtils.isEmpty(api1203.getTyhwbm())) {
                String tyhwbm = apiCommonService.getTyhwbm(api1203.getHwdm());
                api1203.setTyhwbm(tyhwbm);
            }
            return api1203;
        }
        if (NX2023Constant.NX_2023_API_CODE_1211.equals(inteId)) {
            Nx2023Api1211 api1211 = new Nx2023Api1211();
            BeanUtils.copyProperties(data, api1211);
            return api1211;
        if (Constant.API_CODE_1204.equals(inteId)) {
            Api1204 apiData = (Api1204) data;
            Nx2023Api1204 api1204 = new Nx2023Api1204();
            BeanUtils.copyProperties(apiData, api1204);
            //设置統一货位编码
            if (StringUtils.isEmpty(api1204.getTyhwbm())) {
                String tyhwbm = apiCommonService.getTyhwbm(api1204.getHwdm());
                api1204.setTyhwbm(tyhwbm);
            }
            //设置入库结算单号:统一库区编码+yyyyMMdd+三位顺序号
            if (StringUtils.isEmpty(api1204.getTyrkjsdh())) {
                api1204.setTyrkjsdh(api1204.getRkjsdh().replace(apiData.getKqdm(), api1204.getTyhwbm().substring(0, 22)));
            }
            //设置合同号:统一库区编码加三维顺序号
            if (api1204.getHth().startsWith(apiData.getKqdm().substring(0, 18))) {
                api1204.setHth(api1204.getHth().replace(apiData.getKqdm().substring(0, 18), api1204.getTyhwbm().substring(0, 20)));
            }
            return api1204;
        }
        if (NX2023Constant.NX_2023_API_CODE_1205.equals(inteId)) {
        if (Constant.API_CODE_1205.equals(inteId)) {
            Nx2023Api1205 api1205 = new Nx2023Api1205();
            BeanUtils.copyProperties(data, api1205);
            api1205.setSzlx("09");
            //设置統一货位编码
            if (StringUtils.isEmpty(api1205.getTyhwbm())) {
                String tyhwbm = apiCommonService.getTyhwbm(api1205.getHwdm());
                api1205.setTyhwbm(tyhwbm);
            }
            //判断计划明细号,不为空
            if (StringUtils.isNotEmpty(api1205.getJhmxh())) {
                Api1404 api1404 = api1404Rep.getOneDataByJhmxdh(api1205.getJhmxh());
                //计划明细号:更换为轮换计划单号+统一库区编码+4为顺序号
                if (api1404.getJhmxdh().startsWith(api1404.getLhjhdh() + api1404.getKqdm())) {
                    api1205.setJhmxh(api1404.getJhmxdh().replace(api1404.getLhjhdh() + api1404.getKqdm(), api1404.getLhjhdh() + api1205.getTyhwbm().substring(0, 22)));
                }
            }
            //设置合同号:统一库区编码加三维顺序号
            if (api1205.getHth().startsWith(api1205.getHwdm().substring(0, 21))) {
                api1205.setHth(api1205.getHth().replace(api1205.getHwdm().substring(0, 21), api1205.getTyhwbm().substring(0, 22)));
            }
            //设置出库结算单号:统一库区编码+yyyyMMdd+三位顺序号
            if (StringUtils.isEmpty(api1205.getTyckjsdh())) {
                String tykqbm = apiCommonService.getTykqbm(api1205.getHwdm().substring(0, 21));
                api1205.setTyckjsdh(api1205.getCkjsdh().replace(api1205.getHwdm().substring(0, 21), tykqbm));
            }
            return api1205;
        }
        if (NX2023Constant.NX_2023_API_CODE_1306.equals(inteId)) {
        if (Constant.API_CODE_1206.equals(inteId)) {
            Api1206 apiData = (Api1206) data;
            Nx2023Api1206 api1206 = new Nx2023Api1206();
            BeanUtils.copyProperties(apiData, api1206);
            //设置統一单位编码
            if (StringUtils.isEmpty(api1206.getTydwbm())) {
                String tydwbm = apiCommonService.getTydwbm(apiData.getKqdm().substring(0, 18));
                api1206.setTydwbm(tydwbm);
            }
            //设置出库结算单号:统一库区编码+yyyyMMdd+三位顺序号
            if (StringUtils.isEmpty(api1206.getTyckjsdh())) {
                String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm());
                api1206.setTyckjsdh(api1206.getCkjsdh().replace(apiData.getKqdm(), tykqbm));
            }
            api1206.setFpzt("1");
            return api1206;
        }
        if (Constant.API_CODE_1207.equals(inteId)) {
            Nx2023Api1207 api1207 = new Nx2023Api1207();
            BeanUtils.copyProperties(data, api1207);
            //设置倒出库区统一编码
            if (StringUtils.isEmpty(api1207.getDckqtybm())) {
                String dckqtybm = apiCommonService.getTykqbm(api1207.getDcdw());
                api1207.setDckqtybm(dckqtybm);
            }
            //设置倒入库区统一编码
            if (StringUtils.isEmpty(api1207.getDrkqtybm())) {
                String drkqtybm = apiCommonService.getTykqbm(api1207.getDrdw());
                api1207.setDrkqtybm(drkqtybm);
            }
            //设置倒出货位统一编码
            if (StringUtils.isEmpty(api1207.getDchwtybm())) {
                String dchwtybm = apiCommonService.getTyhwbm(api1207.getDchwdm());
                api1207.setDchwtybm(dchwtybm);
            }
            //设置倒入货位统一编码
            if (StringUtils.isEmpty(api1207.getDrhwtybm())) {
                String drhwtybm = apiCommonService.getTyhwbm(api1207.getDrhwdm());
                api1207.setDrhwtybm(drhwtybm);
            }
            //设置倒仓单号:统一库区编码+yyyyMMdd+4位顺序号
            if (StringUtils.isEmpty(api1207.getTydcdh())) {
                String tykqbm = apiCommonService.getTykqbm(api1207.getDchwdm().substring(0, 21));
                api1207.setTydcdh(api1207.getDcdh().replace(api1207.getDchwdm().substring(0, 21), tykqbm));
            }
            return api1207;
        }
        if (Constant.API_CODE_1208.equals(inteId)) {
            Nx2023Api1208 api1208 = new Nx2023Api1208();
            BeanUtils.copyProperties(data, api1208);
            //设置統一货位编码
            if (StringUtils.isEmpty(api1208.getTyhwbm())) {
                String tyhwbm = apiCommonService.getTyhwbm(api1208.getHwdm());
                api1208.setTyhwbm(tyhwbm);
            }
            //设置粮权单位統一编码
            if (StringUtils.isEmpty(api1208.getLqgstydwbm())) {
                String tydwbm = apiCommonService.getTydwbm(api1208.getLqgsdwdm());
                api1208.setLqgstydwbm(tydwbm);
            }
            return api1208;
        }
        if (Constant.API_CODE_1209.equals(inteId)) {
            Api1209 apiData = (Api1209) data;
            Nx2023Api1209 api1209 = new Nx2023Api1209();
            BeanUtils.copyProperties(apiData, api1209);
            //设置統一货位编码
            if (StringUtils.isEmpty(api1209.getTyhwbm())) {
                String tyhwbm = apiCommonService.getTyhwbm(api1209.getHwdm());
                api1209.setTyhwbm(tyhwbm);
            }
            //设置损益单号:统一货位编码+yyyyMMdd+3位顺序号
            if (StringUtils.isEmpty(api1209.getTysydh())) {
                api1209.setTysydh(api1209.getSydh().replace(api1209.getHwdm(), api1209.getTyhwbm()));
            }
            //实际损耗数量赋值
            api1209.setSjsysl(apiData.getJzsysl());
            return api1209;
        }
        if (Constant.API_CODE_1210.equals(inteId)) {
            Nx2023Api1210 api1210 = new Nx2023Api1210();
            BeanUtils.copyProperties(data, api1210);
            //设置統一货位编码
            if (StringUtils.isEmpty(api1210.getTyhwbm())) {
                String tyhwbm = apiCommonService.getTyhwbm(api1210.getHwdm());
                api1210.setTyhwbm(tyhwbm);
            }
            //设置性质变更单号:统一货位编码+yyyyMMdd+3位顺序号
            if (StringUtils.isEmpty(api1210.getTylsxzzbdh())) {
                api1210.setTylsxzzbdh(api1210.getLsxzzbdh().replace(api1210.getHwdm(), api1210.getTyhwbm()));
            }
            return api1210;
        }
        if (Constant.API_CODE_1211.equals(inteId)) {
            Nx2023Api1211 api1211 = new Nx2023Api1211();
            BeanUtils.copyProperties(data, api1211);
            //设置統一库区编码
            if (StringUtils.isEmpty(api1211.getTykqbm())) {
                String tykqbm = apiCommonService.getTykqbm(api1211.getKqdm());
                api1211.setTykqbm(tykqbm);
            }
            return api1211;
        }
        if (Constant.API_CODE_1212.equals(inteId)) {
            Nx2023Api1212 api1212 = new Nx2023Api1212();
            BeanUtils.copyProperties(data, api1212);
            //设置統一单位编码
            if (StringUtils.isEmpty(api1212.getTydwbm())) {
                String tydwbm = apiCommonService.getTydwbm(api1212.getDwdm());
                api1212.setTydwbm(tydwbm);
            }
            //设置統一库区编码
            if (StringUtils.isEmpty(api1212.getTykqbm())) {
                String tykqbm = apiCommonService.getTykqbm(api1212.getKqdm());
                api1212.setTykqbm(tykqbm);
            }
            return api1212;
        }
        if (Constant.API_CODE_1213.equals(inteId)) {
            Api1213 apiData = (Api1213)data;
            Nx2023Api1213 api1213 = new Nx2023Api1213();
            BeanUtils.copyProperties(data, api1213);
            //设置統一货位编码
            if (StringUtils.isEmpty(api1213.getTyhwbm())) {
                String tyhwbm = apiCommonService.getTyhwbm(apiData.getHwdm());
                api1213.setTyhwbm(tyhwbm);
            }
            return api1213;
        }
        if (Constant.API_CODE_1301.equals(inteId)) {
            Nx2023Api1301 api1301 = new Nx2023Api1301();
            BeanUtils.copyProperties(data, api1301);
            //设置統一单位编码
            if (StringUtils.isEmpty(api1301.getTydwbm())) {
                String tydwbm = apiCommonService.getTydwbm(api1301.getDwdm());
                api1301.setTydwbm(tydwbm);
            }
            //设置統一库区编码
            if (StringUtils.isEmpty(api1301.getTykqbm())) {
                String tykqbm = apiCommonService.getTykqbm(api1301.getKqdm());
                api1301.setTykqbm(tykqbm);
            }
            return api1301;
        }
        if (Constant.API_CODE_1302.equals(inteId)) {
            Nx2023Api1302 api1302 = new Nx2023Api1302();
            BeanUtils.copyProperties(data, api1302);
            //设置統一货位编码
            if (StringUtils.isEmpty(api1302.getTyhwbm())) {
                String tyhwbm = apiCommonService.getTyhwbm(api1302.getHwdm());
                api1302.setTyhwbm(tyhwbm);
            }
            //设置单号:统一货位编码+yyyyMMdd+4位顺序号
            if (StringUtils.isEmpty(api1302.getTywsdjcdh())) {
                api1302.setTywsdjcdh(api1302.getWsdjcdh().replace(api1302.getHwdm(), api1302.getTyhwbm()));
            }
            return api1302;
        }
        if (Constant.API_CODE_1303.equals(inteId)) {
            Nx2023Api1303 api1303 = new Nx2023Api1303();
            BeanUtils.copyProperties(data, api1303);
            //设置統一廒间编码
            if (StringUtils.isEmpty(api1303.getTyajbm())) {
                String tyajbm = apiCommonService.getTyajbm(api1303.getHwdm().substring(0, 28));
                api1303.setTyajbm(tyajbm);
            }
            //设置单号:统一廒间编码+yyyyMMdd+4位顺序号
            if (StringUtils.isEmpty(api1303.getTyhcjcdh())) {
                api1303.setTyhcjcdh(api1303.getHcjcdh().replace(api1303.getHwdm(), api1303.getTyajbm()));
            }
            return api1303;
        }
        if (Constant.API_CODE_1304.equals(inteId)) {
            Nx2023Api1304 api1304 = new Nx2023Api1304();
            BeanUtils.copyProperties(data, api1304);
            //设置統一廒间编码
            if (StringUtils.isEmpty(api1304.getTyajbm())) {
                String tyajbm = apiCommonService.getTyajbm(api1304.getHwdm().substring(0, 28));
                api1304.setTyajbm(tyajbm);
            }
            //设置单号:统一廒间编码+yyyyMMdd+4位顺序号
            if (StringUtils.isEmpty(api1304.getTyqtndjcdh())) {
                api1304.setTyqtndjcdh(api1304.getQtndjcdh().replace(api1304.getHwdm(), api1304.getTyajbm()));
            }
            return api1304;
        }
        if (Constant.API_CODE_1305.equals(inteId)) {
            Api1305 apiData = (Api1305)data;
            Nx2023Api1305 api1305 = new Nx2023Api1305();
            BeanUtils.copyProperties(apiData, api1305);
            //设置統一廒间编码
            if (StringUtils.isEmpty(api1305.getTyajbm())) {
                String tyajbm = apiCommonService.getTyajbm(apiData.getHwdm().substring(0, 28));
                api1305.setTyajbm(tyajbm);
            }
            //设置通风作业单号:统一廒间编码+yyyyMMdd+3位顺序号
            if (StringUtils.isEmpty(api1305.getTytfzydh())) {
                api1305.setTytfzydh(api1305.getTfzydh().replace(apiData.getHwdm(), api1305.getTyajbm()));
            }
            return api1305;
        }
        if (Constant.API_CODE_1306.equals(inteId)) {
            Api1306 apiData = (Api1306)data;
            Nx2023Api1306 api1306 = new Nx2023Api1306();
            BeanUtils.copyProperties(data, api1306);
            BeanUtils.copyProperties(apiData, api1306);
            //设置統一廒间编码
            if (StringUtils.isEmpty(api1306.getTyajbm())) {
                String tyajbm = apiCommonService.getTyajbm(apiData.getHwdm().substring(0, 28));
                api1306.setTyajbm(tyajbm);
            }
            //设置熏蒸作业单号:统一廒间编码+yyyyMMdd+3位顺序号
            if (StringUtils.isEmpty(api1306.getTyxzzydh())) {
                api1306.setTyxzzydh(api1306.getXzzydh().replace(api1306.getCfdm(), api1306.getTyajbm()));
            }
            return api1306;
        }
        if (NX2023Constant.NX_2023_API_CODE_1307.equals(inteId)) {
        if (Constant.API_CODE_1307.equals(inteId)) {
            Api1307 apiData = (Api1307) data;
            Nx2023Api1307 api1307 = new Nx2023Api1307();
            BeanUtils.copyProperties(apiData, api1307);
            api1307.setCntxwjl(FileUtils.fileToByteString(apiData.getWjdz()));
            //设置統一库区编码
            if (StringUtils.isEmpty(api1307.getTykqbm())) {
                String tykqbm = apiCommonService.getTykqbm(api1307.getKqdm());
                api1307.setTykqbm(tykqbm);
            }
            //设置統一仓房编码
            if (StringUtils.isEmpty(api1307.getTycfbm())) {
                String tycfbm = apiCommonService.getTykqbm(api1307.getCfdm());
                api1307.setTycfbm(tycfbm);
            }
            //设置統一货位编码
            if (StringUtils.isEmpty(api1307.getTyhwbm())) {
                String tyhwbm = apiCommonService.getTyhwbm(api1307.getHwdm());
                api1307.setTyhwbm(tyhwbm);
            }
            //设置预置位编码
            if (api1307.getYzwbh().startsWith(api1307.getHwdm())) {
                api1307.setYzwbh(api1307.getYzwbh().replace(api1307.getHwdm(), api1307.getTyhwbm()));
            }
            //设置文件路径
            String cntxwjlj = "V2024/2432/";
            cntxwjlj += api1307.getTykqbm() + "/";
            cntxwjlj += api1307.getYzwbh() + "/";
            cntxwjlj += api1307.getSpjksbid() + "/";
            cntxwjlj += api1307.getTyhwbm() + "_" + DateFormatUtils.format(api1307.getZpsj(),"yyyyMMdd HHmmss") + "." + api1307.getTxwjhzm();
            api1307.setCntxwjlj(cntxwjlj);
            Map<String, String> map = new HashMap<>();
            String wjmc = api1307.getTyhwbm() + "_" + DateFormatUtils.format(api1307.getZpsj(),"yyyyMMdd HHmmss") + "." + api1307.getTxwjhzm();
            map.put(wjmc, FileUtils.fileToByteString(apiData.getWjdz()));
            api1307.setCntxwjl(JSON.toJSONString(map));
            return api1307;
        }
        if (NX2023Constant.NX_2023_API_CODE_1308.equals(inteId)) {
        if (Constant.API_CODE_1308.equals(inteId)) {
            Api1308 apiData = (Api1308) data;
            Nx2023Api1308 api1308 = new Nx2023Api1308();
            BeanUtils.copyProperties(data, api1308);
            BeanUtils.copyProperties(apiData, api1308);
            //设置統一库区编码
            if (StringUtils.isEmpty(api1308.getTykqbm())) {
                String tykqbm = apiCommonService.getTykqbm(api1308.getKqdm());
                api1308.setTykqbm(tykqbm);
            }
            //设置文件路径
            String spwjlj = "V2024/2433/";
            spwjlj += api1308.getTykqbm() + "/";
            spwjlj += api1308.getSpjksbid() + "/";
            spwjlj += api1308.getSpjksbid() + "/";
            spwjlj += api1308.getTykqbm() + "_" + DateFormatUtils.format(api1308.getGjsj(),"yyyyMMdd HHmmss") + "." + api1308.getSpwjhzm();
            api1308.setSpwjlj(spwjlj);
            Map<String, String> map = new HashMap<>();
            String wjmc = api1308.getTykqbm() + "_" + DateFormatUtils.format(api1308.getGjsj(),"yyyyMMdd HHmmss") + "." + api1308.getSpwjhzm();
            map.put(wjmc, FileUtils.fileToByteString(apiData.getWjdz()));
            api1308.setSpwjl(JSON.toJSONString(map));
            return api1308;
        }
        if (NX2023Constant.NX_2023_API_CODE_1403.equals(inteId)) {
            Nx2023Api1403 api1403 = new Nx2023Api1403();
            BeanUtils.copyProperties(data, api1403);
            return api1403;
        if (Constant.API_CODE_1309.equals(inteId)) {
            Api1309 apiData = (Api1309)data;
            Nx2023Api1309 api1309 = new Nx2023Api1309();
            BeanUtils.copyProperties(data, api1309);
            //设置违规单位統一编码
            if (StringUtils.isEmpty(api1309.getWgdwtybm())) {
                String tydwbm = apiCommonService.getTydwbm(api1309.getQydm());
                api1309.setWgdwtybm(tydwbm);
            }
            //设置预警信息代码:统一库区编码+yyyyMMdd+3位顺序号
            if (StringUtils.isEmpty(api1309.getTyyjxxdm())) {
                String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm());
                api1309.setTyyjxxdm(api1309.getYjxxdm().replace(apiData.getKqdm(), tykqbm));
            }
            return api1309;
        }
        if (Constant.API_CODE_1310.equals(inteId)) {
            Nx2023Api1310 api1310 = new Nx2023Api1310();
            BeanUtils.copyProperties(data, api1310);
            //设置統一货位编码
            if (StringUtils.isEmpty(api1310.getTyhwbm())) {
                String tyhwbm = apiCommonService.getTyhwbm(api1310.getHwdm());
                api1310.setTyhwbm(tyhwbm);
            }
            return api1310;
        }
        if (Constant.API_CODE_1404.equals(inteId)) {
            Api1404 apiData = (Api1404)data;
            Nx2023Api1404 api1404 = new Nx2023Api1404();
            BeanUtils.copyProperties(apiData, api1404);
            //设置統一货位编码
            if (StringUtils.isEmpty(api1404.getLhhwtybm())) {
                String tyhwbm = apiCommonService.getTyhwbm(api1404.getLhhwdm());
                api1404.setLhhwtybm(tyhwbm);
            }
            //计划明细号:更换为轮换计划单号+统一库区编码+4为顺序号
            if (StringUtils.isEmpty(api1404.getTyjhmxdh())) {
                String tykqbm = apiCommonService.getTykqbm(apiData.getKqdm());
                api1404.setTyjhmxdh(api1404.getJhmxdh().replace(api1404.getLhjhdh() + apiData.getKqdm(), api1404.getLhjhdh() + tykqbm));
            }
            return api1404;
        }
        if (Constant.API_CODE_1504.equals(inteId)) {
            Api1504 api1504 = (Api1504)data;
            Nx2023Api1504 apiData = new Nx2023Api1504();
            BeanUtils.copyProperties(api1504, apiData);
            return apiData;
        }
        if (Constant.API_CODE_1505.equals(inteId)) {
            Nx2023Api1505 apiData = new Nx2023Api1505();
            BeanUtils.copyProperties(data, apiData);
            return data;
        }
        if (Constant.API_CODE_1506.equals(inteId)) {
            Nx2023Api1506 apiData = new Nx2023Api1506();
            BeanUtils.copyProperties(data, apiData);
            return apiData;
        }
        if (Constant.API_CODE_1507.equals(inteId)) {
            Nx2023Api1507 apiData = new Nx2023Api1507();
            BeanUtils.copyProperties(data, apiData);
            return apiData;
        }
        if (Constant.API_CODE_1508.equals(inteId)) {
            Nx2023Api1508 apiData = new Nx2023Api1508();
            BeanUtils.copyProperties(data, apiData);
            return apiData;
        }
        if (Constant.API_CODE_1509.equals(inteId)) {
            Nx2023Api1509 apiData = new Nx2023Api1509();
            BeanUtils.copyProperties(data, apiData);
            return apiData;
        }
        if (Constant.API_CODE_1510.equals(inteId)) {
            Nx2023Api1510 apiData = new Nx2023Api1510();
            BeanUtils.copyProperties(data, apiData);
            return apiData;
        }
        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
     */
    private Object getJsonFinanceData(String inteId, Object data) {
        //财务报表数据封装
        if (NX2023Constant.NX_2023_API_CODE_1114_1501.equals(inteId)) {
            return copyApi1501((Api1501) data);
        } else if (NX2023Constant.NX_2023_API_CODE_1114_1502.equals(inteId)) {
            return copyApi1502((Api1502) data);
        } else {
            return copyApi1503((Api1503) data);
    private String getInteId(String inteId) {
        //封仓确认单
        if (Constant.API_CODE_1213.equals(inteId)) {
            return NX2023Constant.NX_2023_API_CODE_2442;
        }
        if (Constant.API_CODE_1504.equals(inteId)) {
            return NX2023Constant.NX_2023_API_CODE_2443;
        }
        if (Constant.API_CODE_1505.equals(inteId)) {
            return NX2023Constant.NX_2023_API_CODE_2444;
        }
        if (Constant.API_CODE_1506.equals(inteId)) {
            return NX2023Constant.NX_2023_API_CODE_2445;
        }
        if (Constant.API_CODE_1507.equals(inteId)) {
            return NX2023Constant.NX_2023_API_CODE_2446;
        }
        if (Constant.API_CODE_1508.equals(inteId)) {
            return NX2023Constant.NX_2023_API_CODE_2447;
        }
        if (Constant.API_CODE_1509.equals(inteId)) {
            return NX2023Constant.NX_2023_API_CODE_2448;
        }
        if (Constant.API_CODE_1510.equals(inteId)) {
            return NX2023Constant.NX_2023_API_CODE_2449;
        }
        return inteId;
    }
    /**
     * Object类型转变为List
     * 赋值最后更新时间
     *
     * @param obj
     * @param clazz
     * @param <T>
     * @param object
     * @return
     */
    public static <T> List<T> castList(Object obj, Class<T> clazz) {
        List<T> result = new ArrayList<T>();
        if (obj instanceof List<?>) {
            for (Object o : (List<?>) obj) {
                result.add(clazz.cast(o));
            }
            return result;
        }
        return null;
    }
    private List<NxFinanceDto> copyApi1503(Api1503 data) {
        Api1503 api1503 = data;
        List<NxFinanceDto> list = new ArrayList<>();
        NxFinanceDto nxFinanceDto = new NxFinanceDto();
        nxFinanceDto.setDwdm(api1503.getDwdm());
        nxFinanceDto.setKqdm(api1503.getKqdm());
        nxFinanceDto.setBbsj(DateFormatUtils.format(api1503.getBbsj(), "yyyyMMdd"));
        nxFinanceDto.setBbm("03");
        nxFinanceDto.setCzbz(api1503.getCzbz());
        nxFinanceDto.setZhgxsj(DateFormatUtils.format(api1503.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
        paddingData(nxFinanceDto, list, "0","项目//t", "本期金额//t", "本年累计//t");
        paddingData(nxFinanceDto, list, "1","一、营业收入", api1503.getYyzsrbqye() + "", api1503.getYyzsrbnlj() + "");
        paddingData(nxFinanceDto, list, "2","减:营业成本", api1503.getYycbbqye() + "", api1503.getYycbbnlj() + "");
        paddingData(nxFinanceDto, list, "3","税金及附加", api1503.getSjjfjbqye() + "", api1503.getSjjfjbnlj() + "");
        paddingData(nxFinanceDto, list, "4","销售费用", api1503.getXsfybqye() + "", api1503.getXsfybnlj() + "");
        paddingData(nxFinanceDto, list, "5","管理费用", api1503.getGlfybqye() + "", api1503.getGlfybnlj() + "");
        paddingData(nxFinanceDto, list, "6","研发费用", api1503.getYffybqye() + "", api1503.getYffybnlj() + "");
        paddingData(nxFinanceDto, list, "7","财务费用", api1503.getCwfybqye() + "", api1503.getCwfybnlj() + "");
        paddingData(nxFinanceDto, list, "8","其中:利息费用", api1503.getLxfybqye() + "", api1503.getLxfybnlj() + "");
        paddingData(nxFinanceDto, list, "9","利息收入", api1503.getLxsrbqye() + "", api1503.getLxsrbnlj() + "");
        paddingData(nxFinanceDto, list, "10","加:其他收益", api1503.getQtsybqye() + "", api1503.getQtsybnlj() + "");
        paddingData(nxFinanceDto, list, "11","投资收益(损失以“-”号填列)", api1503.getTzsybqye() + "", api1503.getTzsybnlj() + "");
        paddingData(nxFinanceDto, list, "12","其中:对联营企业和合营企业的投资收益", api1503.getLyqytzsybqye() + "", api1503.getLyqytzsybnlj() + "");
        paddingData(nxFinanceDto, list, "13","公允价值变动收益(损失以“-”号填列)", api1503.getGyjzbdsybqye() + "", api1503.getGyjzbdsybnlj() + "");
        paddingData(nxFinanceDto, list, "14","资产减值损失(损失以“-”号填列)", api1503.getZcjzssbqye() + "", api1503.getZcjzssbnlj() + "");
        paddingData(nxFinanceDto, list, "15","资产处置收益(损失以“-”号填列)", api1503.getZcczsybqye() + "", api1503.getZcczsybnlj() + "");
        paddingData(nxFinanceDto, list, "16","二、营业利润(亏损以“-”号填列)", api1503.getYylrbqye() + "", api1503.getYylrbnlj() + "");
        paddingData(nxFinanceDto, list, "17","加:营业外收入", api1503.getYywsrbqye() + "", api1503.getYywsrbnlj() + "");
        paddingData(nxFinanceDto, list, "18","减:营业外支出", api1503.getYywzcbqye() + "", api1503.getYywzcbnlj() + "");
        paddingData(nxFinanceDto, list, "19","三、利润总额(亏损总额以“-”号填列)", api1503.getLrzebqye() + "", api1503.getLrzebnlj() + "");
        paddingData(nxFinanceDto, list, "20","减:所得税费用", api1503.getSdsfybqye() + "", api1503.getSdsfybnlj() + "");
        paddingData(nxFinanceDto, list, "21","四、净利润(净亏损以“-”号填列)", api1503.getJlrbqye() + "", api1503.getJlrbnlj() + "");
        paddingData(nxFinanceDto, list, "22","(一)持续经营净利润(净亏损以“-”号填列)", api1503.getCxjyjlrbqye() + "", api1503.getCxjyjlrbnlj() + "");
        paddingData(nxFinanceDto, list, "23","(二)终止经营净利润(净亏损以“-”号填列)", api1503.getZzjyjlrbqye() + "", api1503.getZzjyjlrbnlj() + "");
        paddingData(nxFinanceDto, list, "24","五、其他综合收益的税后净额", api1503.getQtzhsyjebqye() + "", api1503.getQtzhsyjebnlj() + "");
        paddingData(nxFinanceDto, list, "25","(一)不能重分类进损益的其他综合收益", api1503.getBnflzhsybqye() + "", api1503.getBnflzhsybnlj() + "");
        paddingData(nxFinanceDto, list, "26","1.重新计量设定受益计划变动额", api1503.getCxjlbdebqye() + "", api1503.getCxjlbdebnlj() + "");
        paddingData(nxFinanceDto, list, "27","(二)将重分类进损益的其他综合收益", "0", "0");
        paddingData(nxFinanceDto, list, "28","1.权益法下可转损益的其他综合收益", api1503.getQyfkzsybqye() + "", api1503.getQyfkzsybnlj() + "");
        paddingData(nxFinanceDto, list, "29","2.可供出售金融资产公允价值变动损益", api1503.getKgcszcbdsybqye() + "", api1503.getKgcszcbdsybnlj() + "");
        paddingData(nxFinanceDto, list, "30","3.持有至到期投资重分类为可供出售金融资产损益", api1503.getCydqtzzcsybqye() + "", api1503.getKgcszcbdsybnlj() + "");
        paddingData(nxFinanceDto, list, "31","4.现金流量套期损益的有效部分", api1503.getZjllsybqye() + "", api1503.getZjllsybnlj() + "");
        paddingData(nxFinanceDto, list, "32","5.外币财务报表折算差额", api1503.getWbcwbbcebqye() + "", api1503.getWbcwbbcebnlj() + "");
        paddingData(nxFinanceDto, list, "33","六、综合收益总额", api1503.getZhsyzebqye() + "", api1503.getZhsyzebnlj() + "");
        paddingData(nxFinanceDto, list, "34","七、每股收益:", api1503.getMgsybqye() + "", api1503.getMgsybnlj() + "");
        paddingData(nxFinanceDto, list, "35","(一)基本每股收益", api1503.getJbmgsybqye() + "", api1503.getJbmgsybnlj() + "");
        paddingData(nxFinanceDto, list, "36","(二)稀释每股收益", api1503.getXsmgsybqye() + "", api1503.getXsmgsybnlj() + "");
        return list;
    }
    private List<NxFinanceDto> copyApi1502(Api1502 data) {
        Api1502 api1502 = data;
        List<NxFinanceDto> list = new ArrayList<>();
        NxFinanceDto nxFinanceDto = new NxFinanceDto();
        nxFinanceDto.setDwdm(api1502.getDwdm());
        nxFinanceDto.setKqdm(api1502.getKqdm());
        nxFinanceDto.setBbsj(DateFormatUtils.format(api1502.getBbsj(), "yyyyMMdd"));
        nxFinanceDto.setBbm("02");
        nxFinanceDto.setCzbz(api1502.getCzbz());
        nxFinanceDto.setZhgxsj(DateFormatUtils.format(api1502.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
        paddingData(nxFinanceDto, list, "0","项目//t", "本月数//t", "本年累计数//t");
        paddingData(nxFinanceDto, list, "1","一、经营活动产生的现金流量:", api1502.getJyhdxjllbys() + "", api1502.getJyhdxjllbnljs() + "");
        paddingData(nxFinanceDto, list, "2","销售商品、提供劳务收到的现金", api1502.getXssplwxjbys() + "", api1502.getXssplwxjbnljs() + "");
        paddingData(nxFinanceDto, list, "3","收到的税费返还", api1502.getSffhbys() + "", api1502.getSffhbnljs() + "");
        paddingData(nxFinanceDto, list, "4","收到其他与经营活动有关的现金", api1502.getQtjyhdxjbys() + "", api1502.getQtjyhdxjbnljs() + "");
        paddingData(nxFinanceDto, list, "5","经营活动现金流入小计", api1502.getJyhdxjlrbys() + "", api1502.getJyhdxjlrbnljs() + "");
        paddingData(nxFinanceDto, list, "6","购买商品、接受劳务支付的现金", api1502.getGmsplwzfbys() + "", api1502.getGmsplwzfbnljs() + "");
        paddingData(nxFinanceDto, list, "7","支付给职工以及为职工支付的现金", api1502.getZfzgxjbys() + "", api1502.getZfzgxjbnljs() + "");
        paddingData(nxFinanceDto, list, "8","支付的各项税费", api1502.getZfxxsfbys() + "", api1502.getZfxxsfbnljs() + "");
        paddingData(nxFinanceDto, list, "9","支付其他与经营活动有关的现金", api1502.getZfqtjyhdxjbys() + "", api1502.getZfqtjyhdxjbnljs() + "");
        paddingData(nxFinanceDto, list, "10","经营活动现金流出小计", api1502.getJyhdxjlcbys() + "", api1502.getJyhdxjlcbnljs() + "");
        paddingData(nxFinanceDto, list, "11","经营活动产生的现金流量净额", api1502.getJyhdxjlljebys() + "", api1502.getJyhdxjlljebnljs() + "");
        paddingData(nxFinanceDto, list, "12","二、投资活动产生的现金流量:", api1502.getTzhdxjllbys() + "", api1502.getTzhdxjllbnljs() + "");
        paddingData(nxFinanceDto, list, "13","收回投资收到的现金", api1502.getShtzxjbys() + "", api1502.getShtzxjbnljs() + "");
        paddingData(nxFinanceDto, list, "14","取得投资收益收到的现金", api1502.getQdtzsyxjbys() + "", api1502.getQdtzsyxjbnljs() + "");
        paddingData(nxFinanceDto, list, "15","处置固定资产、无形资产和其他长期资产收回的现金净额", api1502.getCzgdzcdxjjebys() + "", api1502.getCzgdzcdxjjebnljs() + "");
        paddingData(nxFinanceDto, list, "16","处置子公司及其他营业单位收到的现金净额", api1502.getCzqtdwxjjebys() + "", api1502.getCzqtdwxjjebnljs() + "");
        paddingData(nxFinanceDto, list, "17","收到其他与投资活动有关的现金", api1502.getSdqttzxjbys() + "", api1502.getSdqttzxjbnljs() + "");
        paddingData(nxFinanceDto, list, "18","投资活动现金流入小计", api1502.getTzhdxjlrbys() + "", api1502.getTzhdxjlrbnljs() + "");
        paddingData(nxFinanceDto, list, "19","购建固定资产、无形资产和其他长期资产支付的现金", api1502.getGjgdzcdxjbys() + "", api1502.getGjgdzcdxjbnljs() + "");
        paddingData(nxFinanceDto, list, "20","投资支付的现金", api1502.getTzzfxjbys() + "", api1502.getTzzfxjbnljs() + "");
        paddingData(nxFinanceDto, list, "21","取得子公司及其他营业单位支付的现金净额", api1502.getQdzgsdzfxjjebys() + "", api1502.getQdzgsdzfxjjebnljs() + "");
        paddingData(nxFinanceDto, list, "22","支付其他与投资活动有关的现金", api1502.getZfqttzxjbys() + "", api1502.getZfqttzxjbnljs() + "");
        paddingData(nxFinanceDto, list, "23","投资活动现金流出小计", api1502.getTzhdxjlcbys() + "", api1502.getTzhdxjlcbnljs() + "");
        paddingData(nxFinanceDto, list, "24","投资活动产生的现金流量净额", api1502.getTzhdcsxjlljebys() + "", api1502.getTzhdcsxjlljebnljs() + "");
        paddingData(nxFinanceDto, list, "25","三、筹资活动产生的现金流量:", api1502.getCchdxjllbys() + "", api1502.getCchdxjllbnljs() + "");
        paddingData(nxFinanceDto, list, "26","吸收投资收到的现金", api1502.getXstzxjbys() + "", api1502.getXstzxjbnljs() + "");
        paddingData(nxFinanceDto, list, "27","取得借款收到的现金", api1502.getQdjkxjbys() + "", api1502.getQdjkxjbnljs() + "");
        paddingData(nxFinanceDto, list, "28","收到其他与筹资活动有关的现金", api1502.getSdqtczxjbys() + "", api1502.getSdqttzxjbnljs() + "");
        paddingData(nxFinanceDto, list, "29","筹资活动现金流入小计", api1502.getCzhdxjlrbys() + "", api1502.getCzhdxjlrbnljs() + "");
        paddingData(nxFinanceDto, list, "30","偿还债务支付的现金", api1502.getChzwzfxjbys() + "", api1502.getChzwzfxjbnljs() + "");
        paddingData(nxFinanceDto, list, "31","分配股利、利润或偿付利息支付的现金", api1502.getFpgldxjbys() + "", api1502.getFpgldxjbnljs() + "");
        paddingData(nxFinanceDto, list, "32","支付其他与筹资活动有关的现金", api1502.getZfqtdxjbys() + "", api1502.getZfqtdxjbnljs() + "");
        paddingData(nxFinanceDto, list, "33","筹资活动现金流出小计", api1502.getCzhdxjlcbys() + "", api1502.getCzhdxjlcbnljs() + "");
        paddingData(nxFinanceDto, list, "34","筹资活动产生的现金流量净额", api1502.getCchdxjlljebys() + "", api1502.getCchdxjlljebnljs() + "");
        paddingData(nxFinanceDto, list, "35","四、汇率变动对现金及现金等价物的影响", api1502.getHlbdxjyxbys() + "", api1502.getHlbdxjyxbnljs() + "");
        paddingData(nxFinanceDto, list, "36","五、现金及现金等价物净增加额", api1502.getXjdjwjzebys() + "", api1502.getXjdjwjzebnljs() + "");
        paddingData(nxFinanceDto, list, "37","加:期初现金及现金等价物余额", api1502.getQcxjdjwyebys() + "", api1502.getQcxjdjwyebnljs() + "");
        paddingData(nxFinanceDto, list, "38","六、期末现金及现金等价物余额", api1502.getQmxjdjwyebys() + "", api1502.getQmxjdjwyebnljs() + "");
        return list;
    }
    private List<NxFinanceDto> copyApi1501(Api1501 data) {
        Api1501 api1501 = data;
        List<NxFinanceDto> list = new ArrayList<>();
        NxFinanceDto nxFinanceDto = new NxFinanceDto();
        nxFinanceDto.setDwdm(api1501.getDwdm());
        nxFinanceDto.setKqdm(api1501.getKqdm());
        nxFinanceDto.setBbsj(DateFormatUtils.format(api1501.getBbsj(), "yyyyMMdd"));
        nxFinanceDto.setBbm("01");
        nxFinanceDto.setCzbz(api1501.getCzbz());
        nxFinanceDto.setZhgxsj(DateFormatUtils.format(api1501.getZhgxsj(), "yyyy-MM-dd HH:mm:ss"));
        paddingData(nxFinanceDto, list, "0", "资产//t", "期末余额//t", "年初余额//t");
        paddingData(nxFinanceDto, list, "1", "流动资产:", api1501.getLdzchjqmye() + "", api1501.getLdzchjncye() + "");
        paddingData(nxFinanceDto, list, "2", "货币资金", api1501.getHbjjqmye() + "", api1501.getHbjjncye() + "");
        paddingData(nxFinanceDto, list, "3", "交易性金融资产", api1501.getJyxjrzcqmye() + "", api1501.getJyxjrzcncye() + "");
        paddingData(nxFinanceDto, list, "4", "衍生金融资产", api1501.getYsjrzcqmye() + "", api1501.getYsjrzcncye() + "");
        paddingData(nxFinanceDto, list, "5", "应收票据", api1501.getYspjqmye() + "", api1501.getYspjncye() + "");
        paddingData(nxFinanceDto, list, "6", "应收账款", api1501.getYszkqmye() + "", api1501.getYszkncye() + "");
        paddingData(nxFinanceDto, list, "7", "预付款项", api1501.getYuskxqmye() + "", api1501.getYuskxncye() + "");
        paddingData(nxFinanceDto, list, "8", "其他应收款", api1501.getQtyszkqmye() + "", api1501.getQtyszkncye() + "");
        paddingData(nxFinanceDto, list, "9", "存货", api1501.getChqmye() + "", api1501.getChncye() + "");
        paddingData(nxFinanceDto, list, "10", "合同资产", api1501.getHtzcqmye() + "", api1501.getHtzcncye() + "");
        paddingData(nxFinanceDto, list, "11", "持有待售资产", api1501.getCydszcqmye() + "", api1501.getCydszcncye() + "");
        paddingData(nxFinanceDto, list, "12", "一年内到期的非流动资产", api1501.getYnndqfldzcqmye() + "", api1501.getYnndqfldzcncye() + "");
        paddingData(nxFinanceDto, list, "13", "其他流动资产", api1501.getQtldzcqmye() + "", api1501.getQtldzcncye() + "");
        paddingData(nxFinanceDto, list, "14", "流动资产合计", api1501.getLdzchjqmye() + "", api1501.getLdzchjncye() + "");
        paddingData(nxFinanceDto, list, "15", "非流动资产:", api1501.getFldzcqmye() + "", api1501.getFldzcncye() + "");
        paddingData(nxFinanceDto, list, "16", "债券投资", api1501.getZjtzqmye() + "", api1501.getZjtzncye() + "");
        paddingData(nxFinanceDto, list, "17", "其他债券投资", api1501.getQtzqtzqmye() + "", api1501.getQtzqtzncye() + "");
        paddingData(nxFinanceDto, list, "18", "长期应收款", api1501.getCqyskqmye() + "", api1501.getCqyskncye() + "");
        paddingData(nxFinanceDto, list, "19", "长期股权投资", api1501.getCqgqtzqmye() + "", api1501.getCqgqtzncye() + "");
        paddingData(nxFinanceDto, list, "20", "其他权益工具投资", api1501.getQtqygjtzqmye() + "", api1501.getQtqygjtzncye() + "");
        paddingData(nxFinanceDto, list, "21", "其他非流动金融资产", api1501.getQtfldjrzcqmye() + "", api1501.getQtfldjrzcncye() + "");
        paddingData(nxFinanceDto, list, "22", "投资性房地产", api1501.getTzxfdcqmye() + "", api1501.getTzxfdcncye() + "");
        paddingData(nxFinanceDto, list, "23", "固定资产", api1501.getGdzcqmye() + "", api1501.getGdzcncye() + "");
        paddingData(nxFinanceDto, list, "24", "在建工程", api1501.getZjgcqmye() + "", api1501.getZjgcncye() + "");
        paddingData(nxFinanceDto, list, "25", "生产性生物资产", api1501.getScxswzcqmye() + "", api1501.getScxswzcncye() + "");
        paddingData(nxFinanceDto, list, "26", "油气资产", api1501.getYqzcqmye() + "", api1501.getYqzcncye() + "");
        paddingData(nxFinanceDto, list, "27", "无形资产", api1501.getWxzcqmye() + "", api1501.getWxzcncye() + "");
        paddingData(nxFinanceDto, list, "28", "开发支出", api1501.getKfzcqmye() + "", api1501.getKfzcncye() + "");
        paddingData(nxFinanceDto, list, "29", "商誉", api1501.getSyqmye() + "", api1501.getSyncye() + "");
        paddingData(nxFinanceDto, list, "30", "长期待摊费用", api1501.getCqdtfyqmye() + "", api1501.getCqdtfyncye() + "");
        paddingData(nxFinanceDto, list, "31", "递延所得税资产", api1501.getDysdszcqmye() + "", api1501.getDysdszcncye() + "");
        paddingData(nxFinanceDto, list, "32", "其他非流动资产", api1501.getQtfldzcqmye() + "", api1501.getQtfldzcncye() + "");
        paddingData(nxFinanceDto, list, "33", "非流动资产合计", api1501.getFldzcqmye() + "", api1501.getFldzcncye() + "");
        paddingData(nxFinanceDto, list, "34", "资产总计", api1501.getZczjqmye() + "", api1501.getZczjncye() + "");
        paddingData(nxFinanceDto, list, "35", "负债和所有者权益(或股东权益)//t", "期末余额//t", "年初余额//t");
        paddingData(nxFinanceDto, list, "36", "流动负债:", api1501.getLdfzhjqmye() + "", api1501.getLdfzhjncye() + "");
        paddingData(nxFinanceDto, list, "37", "短期借款", api1501.getDqjkqmye() + "", api1501.getLdzchjncye() + "");
        paddingData(nxFinanceDto, list, "38", "交易性金融负债", api1501.getJyxjrfzqmye() + "", api1501.getJyxjrfzncye() + "");
        paddingData(nxFinanceDto, list, "39", "衍生金融负债", api1501.getYsjrfzqmye() + "", api1501.getYsjrfzncye() + "");
        paddingData(nxFinanceDto, list, "40", "应付票据", api1501.getLdfzyspjqmye() + "", api1501.getLdfzyspjncye() + "");
        paddingData(nxFinanceDto, list, "41", "应付账款", api1501.getLdfzyszkqmye() + "", api1501.getLdfzyszkncye() + "");
        paddingData(nxFinanceDto, list, "42", "预收款项", api1501.getLdfzyuskxqmye() + "", api1501.getLdfzyszkncye() + "");
        paddingData(nxFinanceDto, list, "43", "合同负债", api1501.getHtfzqmye() + "", api1501.getHtfzncye() + "");
        paddingData(nxFinanceDto, list, "44", "应付职工薪酬", api1501.getYfzgxcqmye() + "", api1501.getYfzgxcncye() + "");
        paddingData(nxFinanceDto, list, "45", "应交税费", api1501.getYjsfqmye() + "", api1501.getYjsfncye() + "");
        paddingData(nxFinanceDto, list, "46", "其他应付款", api1501.getQtyfkqmye() + "", api1501.getQtyfkncye() + "");
        paddingData(nxFinanceDto, list, "47", "持有待售负债", api1501.getCydsfzqmye() + "", api1501.getCydsfzncye() + "");
        paddingData(nxFinanceDto, list, "48", "一年内到期的非流动负债", api1501.getYnddqfldfzqmye() + "", api1501.getYnddqfldfzncye() + "");
        paddingData(nxFinanceDto, list, "49", "其他流动负债", api1501.getQtldfzqmye() + "", api1501.getQtldfzncye() + "");
        paddingData(nxFinanceDto, list, "50", "流动负债合计", api1501.getLdfzhjqmye() + "", api1501.getLdfzhjncye() + "");
        paddingData(nxFinanceDto, list, "51", "非流动负债:", api1501.getFldfzhjqmye() + "", api1501.getFldfzhjncye() + "");
        paddingData(nxFinanceDto, list, "52", "长期借款", api1501.getCqjkqmye() + "", api1501.getCqjkncye() + "");
        paddingData(nxFinanceDto, list, "53", "应付债券", api1501.getYfzqqmye() + "", api1501.getYfzqncye() + "");
        paddingData(nxFinanceDto, list, "54", "其中:优先股", api1501.getYfzqyxgqmye() + "", api1501.getYfzqyxgncye() + "");
        paddingData(nxFinanceDto, list, "55", "永续债", api1501.getYfzqyxzqmye() + "", api1501.getYfzqyxzncye() + "");
        paddingData(nxFinanceDto, list, "56", "长期应付款", api1501.getCqyfkqmye() + "", api1501.getCqyfkncye() + "");
        paddingData(nxFinanceDto, list, "57", "预计负债", api1501.getYjsfqmye() + "", api1501.getYjsfncye() + "");
        paddingData(nxFinanceDto, list, "58", "递延收益", api1501.getDysyqmye() + "", api1501.getDysyncye() + "");
        paddingData(nxFinanceDto, list, "59", "递延所得税负债", api1501.getDysdsfzqmye() + "", api1501.getDysdsfzncye() + "");
        paddingData(nxFinanceDto, list, "60", "其他非流动负债", api1501.getQtfldfzqmye() + "", api1501.getQtfldfzncye() + "");
        paddingData(nxFinanceDto, list, "61", "非流动负债合计", api1501.getFldfzhjqmye() + "", api1501.getFldfzhjncye() + "");
        paddingData(nxFinanceDto, list, "62", "负债合计", api1501.getFzhjqmye() + "", api1501.getFzhjncye() + "");
        paddingData(nxFinanceDto, list, "63", "所有者权益(或股东权益):", api1501.getSyzqyqmye() + "", api1501.getSyzqyncye() + "");
        paddingData(nxFinanceDto, list, "64", "实收资本(或股本)", api1501.getSszbqmye() + "", api1501.getSszbncye() + "");
        paddingData(nxFinanceDto, list, "65", "其他权益工具", api1501.getQtqygjqmye() + "", api1501.getQtqygjncye() + "");
        paddingData(nxFinanceDto, list, "66", "其中:优先股", api1501.getQtqygjyxgqmye() + "", api1501.getQtqygjyxgncye() + "");
        paddingData(nxFinanceDto, list, "67", "永续债", api1501.getQtqygjyxzqmye() + "", api1501.getQtqygjyxzncye() + "");
        paddingData(nxFinanceDto, list, "68", "资本公积", api1501.getZbgjqmye() + "", api1501.getZbgjncye() + "");
        paddingData(nxFinanceDto, list, "69", "减:库存股", api1501.getJkcgqmye() + "", api1501.getJkcgncye() + "");
        paddingData(nxFinanceDto, list, "70", "其他综合收益", api1501.getQtzhsyqmye() + "", api1501.getQtzhsyncye() + "");
        paddingData(nxFinanceDto, list, "71", "专项储备", api1501.getZxcbqmye() + "", api1501.getZxcbncye() + "");
        paddingData(nxFinanceDto, list, "72", "盈余公积", api1501.getYygjqmye() + "", api1501.getYygjncye() + "");
        paddingData(nxFinanceDto, list, "73", "未分配利润", api1501.getWfplrqmye() + "", api1501.getWfplrncye() + "");
        paddingData(nxFinanceDto, list, "74", "所有者权益(或股东权益)合计", api1501.getSyzqyqmye() + "", api1501.getSyzqyncye() + "");
        paddingData(nxFinanceDto, list, "75", "负债和所有者权益(或股东权益)总计", api1501.getFzhsyzqyqmye() + "", api1501.getFzhsyzqyncye() + "");
        return list;
    }
    private void paddingData(NxFinanceDto common, List<NxFinanceDto> list, String zbxh, String zbmc, String zbz1, String zbz2) {
        NxFinanceDto nxFinanceDto = new NxFinanceDto();
        BeanUtils.copyProperties(common, nxFinanceDto);
        nxFinanceDto.setZbxh(zbxh);
        nxFinanceDto.setZbmc(zbmc);
        nxFinanceDto.setZbz1(zbz1);
        nxFinanceDto.setZbz2(zbz2);
        list.add(nxFinanceDto);
    }
    private Object changeObject(Object object) {
    private Object setZhgxsjValue(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();
            }
        try {
            Field zhgxsj = object.getClass().getDeclaredField("zhgxsj");
            zhgxsj.setAccessible(true);
            zhgxsj.set(object, DateUtils.addSeconds(new Date(), -10));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return object;
    }
@@ -559,5 +868,4 @@
        //该协议无此实现
        return null;
    }
}