package com.fzzy.push.gd2022; 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; import com.fzzy.api.entity.*; import com.fzzy.api.service.ApiCommonService; import com.fzzy.api.service.ApiRemoteService; import com.fzzy.api.utils.*; import com.fzzy.api.view.repository.ApiLogRep; import com.fzzy.push.gd2022.dto.*; import com.fzzy.push.gd2022.dto.Api1101; import com.fzzy.push.gd2022.dto.Api1109; import com.fzzy.push.gd2022.dto.Api1208; import com.fzzy.push.gd2022.dto.Api1307; import com.fzzy.push.gd2022.dto.Api1308; 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.util.*; /** * @author vince.xu * @Title: ApiService * @ProjectName igds-api * @Description: 上传数据服务类 * @date 2022-9-216:27 */ @Slf4j @Data @Service public class GD2022ApiRemoteService2022 implements ApiRemoteService { @Autowired private RedisUtil redisUtil; @Autowired private ApiCommonService apiCommonService; @Autowired private ApiLogRep apiLogRep; @Override public String getProtocol() { return PushProtocol.SB_GD_2022.getCode(); } @Override public ResponseDto pushData(ApiParam param, ApiConfs conf, Object data) { String inteId = param.getInteId(); String kqdm = param.getKqdm(); String bizId = param.getBizId(); try { if (null == conf) { conf = apiCommonService.getConf(kqdm); } //获取TOKEN GD2022AuthToken token = getGD2022AuthToken(conf); //添加LOGO ApiLog apiLog = new ApiLog(); apiLog.setId(ContextUtil.getUUID()); apiLog.setInteId(inteId); String jsonData = getJsonData(inteId, data, conf.getApiUrl(), token); log.info("报文信息=" + jsonData); inteId = getInteId(inteId); if(StringUtils.isEmpty(inteId)){ ResponseDto responseDto = new ResponseDto(99, "没有获取到接口", bizId); 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, "没有获取到上传配置", bizId); apiLog.setStatus(99); apiLog.setResult("没有获取到上传配置"); apiLogRep.save(apiLog); return responseDto; } if (null == token) { ResponseDto responseDto = new ResponseDto(99, "没有获取到TOKEN信息", bizId); apiLog.setStatus(99); apiLog.setResult("没有获取到TOKEN信息"); apiLogRep.save(apiLog); return responseDto; } Map map = new HashMap<>(); GD2022ResponseDto responseDto = GD2022HttpClientUtil.postPushData(conf.getApiUrl() + inteId,jsonData,conf, token); responseDto.setBizId(bizId); apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode()); apiLog.setResult(responseDto.getMsg()); apiLogRep.save(apiLog); ResponseDto resd= new ResponseDto(); resd.setSuccess(responseDto.getCode() == 200 ? 0 : responseDto.getCode()); resd.setMsg(responseDto.getMsg()); //updateGD2022AuthToken(responseDto,conf, token); return resd; } catch (Exception e) { log.error(e.getMessage(), e); return new ResponseDto(99, e.getMessage()); } } @Override public ResponseDto pushData(ApiParam param, Object data) { return pushData(param, null, data); } // /** // * @Desc: 国标自定义方法 // * @author: Andy // * @update-time: 2022/10/10 // */ // public GD2022ResponseDto pushData(String inteId, String kqdm, String bizId, Object data) { // ApiConfs conf = apiCommonService.getConf(kqdm); // // ApiParam param = new ApiParam(conf); // // param.setInteId(inteId); // param.setInteCategory(inteId.substring(0, 2)); // param.setBizId(bizId); // // return pushData(param, conf, data); // } // /** // * 单条上传数据 // * // * @param inteId // * @param data // * @return // */ // public ResponseDto pushData(String inteId, ApiParent data) { // try { // //获取配置 // ApiConfs conf = apiCommonService.getConf(data.getKqdm()); // //获取TOKEN // GD2022AuthToken token = getGD2022AuthToken(conf); // // //添加LOGO // ApiLog apiLog = new ApiLog(); // apiLog.setId(ContextUtil.getUUID()); // if (!Constant.API_CODE_1109.equals(inteId)) { // apiLog.setData(JSON.toJSONString(data)); // } // apiLog.setInteId(inteId); // apiLog.setKqdm(data.getKqdm()); // apiLog.setUploadTime(new Date()); // // if (conf == null) { // GD2022ResponseDto responseDto = new GD2022ResponseDto(99, "没有获取到上传配置", data.getBizId()); // apiLog.setStatus(99); // apiLog.setResult("没有获取到上传配置"); // apiLogRep.save(apiLog); // return responseDto; // } // if (null == token) { // GD2022ResponseDto responseDto = new GD2022ResponseDto(99, "没有获取到TOKEN信息", data.getBizId()); // apiLog.setStatus(99); // apiLog.setResult("没有获取到TOKEN信息"); // apiLogRep.save(apiLog); // return responseDto; // } // // Map map = new HashMap<>(); // GD2022ResponseDto responseDto = GD2022HttpClientUtil.postPushData(conf.getApiUrl() + inteId,JSON.toJSONString(data),conf, token); // responseDto.setBizId(data.getBizId()); // apiLog.setStatus(responseDto.getSuccess()); // apiLog.setResult(responseDto.getMsg()); // // apiLogRep.save(apiLog); // // updateGD2022AuthToken(responseDto, token); // // return responseDto; // } catch (Exception e) { // log.error(e.getMessage(), e); // return new ResponseDto(99, e.getMessage()); // } // } /** * 代码调整 * * @param conf * @return */ public GD2022AuthToken getGD2022AuthToken(ApiConfs conf) { try { String key = RedisConst.buildKey(RedisConst.KYE_TOKEN, conf.getKqdm()); GD2022AuthToken token = (GD2022AuthToken) redisUtil.get(key); if (null != token) return token; //从新获取TOKEN Map map = new HashMap<>(); map.put("appid", conf.getUserName()); // map.put("appkey", EncryptUtil.encryptHex(conf.getPassword(),conf.getPublicKey())); map.put("appkey", AESUtils.encrypt(conf.getPassword(),conf.getPublicKey())); GD2022ResponseDto responseDto = GD2022HttpClientUtil.postGetToken(conf.getApiUrl() + "sfrz",map); token = new GD2022AuthToken(); updateGD2022AuthToken(responseDto, conf,token); return token; } catch (Exception e) { log.error(e.getMessage(), e); return null; } } private void updateGD2022AuthToken(GD2022ResponseDto dto, ApiConfs conf, GD2022AuthToken token) { String key = RedisConst.buildKey(RedisConst.KYE_TOKEN, conf.getKqdm()); if (null == dto) { // redisUtil.set(key, token, 170); return; } if (dto.getCode() != 200) { return; } else { GD2022AuthToken token1 = dto.getData(); token.setAccess_token(token1.getAccess_token()); token.setAppid(token1.getAppid()); redisUtil.set(key, token, 60 * 119); } } private String getJsonData(String inteId , Object data, String url, GD2022AuthToken authToken) throws Exception { if(Constant.API_CODE_1101.equals(inteId)){ Api1101 api1101 = new Api1101(); BeanUtils.copyProperties(data,api1101); return JSON.toJSONString(api1101); }else if(Constant.API_CODE_1109.equals(inteId)){ //封装数据 Api1109 api1109 = new Api1109(); BeanUtils.copyProperties(data,api1109); if (null == authToken) { return JSON.toJSONString(api1109); } //先上传文件,获取文件id GD2022ResponseDto responseDto = GD2022HttpClientUtil.postUploadData(url, authToken, api1109.getWjdz()); //设置上传文件id api1109.setFileStorageId((String) responseDto.getData()); return JSON.toJSONString(api1109); }else if(Constant.API_CODE_1208.equals(inteId)){ Api1208 api1208 = new Api1208(); BeanUtils.copyProperties(data,api1208); return JSON.toJSONString(api1208); }else if(Constant.API_CODE_1307.equals(inteId)){ //封装数据 Api1307 api1307 = new Api1307(); BeanUtils.copyProperties(data,api1307); if (null == authToken) { return JSON.toJSONString(api1307); } //先上传文件,获取文件id GD2022ResponseDto responseDto = GD2022HttpClientUtil.postUploadData(url, authToken, api1307.getWjdz()); //设置上传文件id api1307.setFileStorageId((String) responseDto.getData()); return JSON.toJSONString(api1307); }else if(Constant.API_CODE_1308.equals(inteId)){ //封装数据 Api1308 api1308 = new Api1308(); BeanUtils.copyProperties(data,api1308); if (null == authToken) { return JSON.toJSONString(api1308); } //先上传文件,获取文件id GD2022ResponseDto responseDto = GD2022HttpClientUtil.postUploadData(url, authToken, api1308.getWjdz()); //设置上传文件id api1308.setFileStorageId((String) responseDto.getData()); return JSON.toJSONString(api1308); }else if(Constant.API_CODE_1501.equals(inteId)){ //封装数据 // List list = copyApi1501((Api1501) data); // return JSON.toJSONString(list); Api1501 api1501 = (Api1501) data; GDFinanceDto gdFinanceDto = new GDFinanceDto(); gdFinanceDto.setDwdm(api1501.getDwdm()); gdFinanceDto.setBbsj(DateFormatUtils.format(api1501.getBbsj(), "yyyyMMdd")); gdFinanceDto.setBbm("01"); gdFinanceDto.setCzbz(api1501.getCzbz()); gdFinanceDto.setZhgxsj(DateFormatUtils.format(api1501.getZhgxsj(), "yyyy-MM-dd HH:mm:ss")); gdFinanceDto.setZbxh(1); gdFinanceDto.setZbmc("资产//t"); gdFinanceDto.setZbz1("期末余额//t"); gdFinanceDto.setZbz2("年初余额//t"); return JSON.toJSONString(gdFinanceDto); }else if(Constant.API_CODE_1502.equals(inteId)){ //封装数据 List list = copyApi1502((Api1502) data); return JSON.toJSONString(list); }else if(Constant.API_CODE_1503.equals(inteId)){ //封装数据 List list = copyApi1503((Api1503) data); return JSON.toJSONString(list); }else{ return JSON.toJSONString(data); } } private List copyApi1503(Api1503 data) { Api1503 api1503 = data; List list = new ArrayList<>(); GDFinanceDto gdFinanceDto = new GDFinanceDto(); gdFinanceDto.setDwdm(api1503.getDwdm()); gdFinanceDto.setBbsj(DateFormatUtils.format(api1503.getBbsj(), "yyyyMMdd")); gdFinanceDto.setBbm("01"); gdFinanceDto.setCzbz(api1503.getCzbz()); gdFinanceDto.setZhgxsj(DateFormatUtils.format(api1503.getZhgxsj(), "yyyyMMdd")); paddingData(gdFinanceDto, list, "0", "项目//t","本期金额//t", "本年累计//t"); paddingData(gdFinanceDto, list, "1", "一、营业收入",api1503.getYyzsrbqye() + "", api1503.getYyzsrbnlj() + ""); paddingData(gdFinanceDto, list, "2", "减:营业成本",api1503.getYycbbqye() + "", api1503.getYycbbnlj() + ""); paddingData(gdFinanceDto, list, "3", "税金及附加",api1503.getSjjfjbqye() + "", api1503.getSjjfjbnlj() + ""); paddingData(gdFinanceDto, list, "4", "销售费用",api1503.getXsfybqye() + "", api1503.getXsfybnlj() + ""); paddingData(gdFinanceDto, list, "5", "管理费用",api1503.getGlfybqye() + "", api1503.getGlfybnlj() + ""); paddingData(gdFinanceDto, list, "6", "研发费用",api1503.getYffybqye() + "", api1503.getYffybnlj() + ""); paddingData(gdFinanceDto, list, "7", "财务费用",api1503.getCwfybqye() + "", api1503.getCwfybnlj() + ""); paddingData(gdFinanceDto, list, "8", "其中:利息费用",api1503.getLxfybqye() + "", api1503.getLxfybnlj() + ""); paddingData(gdFinanceDto, list, "9", "利息收入",api1503.getLxsrbqye() + "", api1503.getLxsrbnlj() + ""); paddingData(gdFinanceDto, list, "10", "加:其他收益",api1503.getQtsybqye() + "", api1503.getQtsybnlj() + ""); paddingData(gdFinanceDto, list, "11", "投资收益(损失以“-”号填列)",api1503.getTzsybqye() + "", api1503.getTzsybnlj() + ""); paddingData(gdFinanceDto, list, "12", "其中:对联营企业和合营企业的投资收益",api1503.getLyqytzsybqye() + "", api1503.getLyqytzsybnlj() + ""); paddingData(gdFinanceDto, list, "13", "公允价值变动收益(损失以“-”号填列)",api1503.getGyjzbdsybqye() + "", api1503.getGyjzbdsybnlj() + ""); paddingData(gdFinanceDto, list, "14", "资产减值损失(损失以“-”号填列)",api1503.getZcjzssbqye() + "", api1503.getZcjzssbnlj() + ""); paddingData(gdFinanceDto, list, "15", "资产处置收益(损失以“-”号填列)",api1503.getZcczsybqye() + "", api1503.getZcczsybnlj() + ""); paddingData(gdFinanceDto, list, "16", "二、营业利润(亏损以“-”号填列)",api1503.getYylrbqye() + "", api1503.getYylrbnlj() + ""); paddingData(gdFinanceDto, list, "17", "加:营业外收入",api1503.getYywsrbqye() + "", api1503.getYywsrbnlj() + ""); paddingData(gdFinanceDto, list, "18", "减:营业外支出",api1503.getYywzcbqye() + "", api1503.getYywzcbnlj() + ""); paddingData(gdFinanceDto, list, "19", "三、利润总额(亏损总额以“-”号填列)",api1503.getLrzebqye() + "", api1503.getLrzebnlj() + ""); paddingData(gdFinanceDto, list, "20", "减:所得税费用",api1503.getSdsfybqye() + "", api1503.getSdsfybnlj() + ""); paddingData(gdFinanceDto, list, "21", "四、净利润(净亏损以“-”号填列)",api1503.getJlrbqye() + "", api1503.getJlrbnlj() + ""); paddingData(gdFinanceDto, list, "22", "(一)持续经营净利润(净亏损以“-”号填列)",api1503.getCxjyjlrbqye() + "", api1503.getCxjyjlrbnlj() + ""); paddingData(gdFinanceDto, list, "23", "(二)终止经营净利润(净亏损以“-”号填列)",api1503.getZzjyjlrbqye() + "", api1503.getZzjyjlrbnlj() + ""); paddingData(gdFinanceDto, list, "24", "五、其他综合收益的税后净额",api1503.getQtzhsyjebqye() + "", api1503.getQtzhsyjebnlj() + ""); paddingData(gdFinanceDto, list, "25", "(一)不能重分类进损益的其他综合收益",api1503.getBnflzhsybqye() + "", api1503.getBnflzhsybnlj() + ""); paddingData(gdFinanceDto, list, "26", "1.重新计量设定受益计划变动额",api1503.getCxjlbdebqye() + "", api1503.getCxjlbdebnlj() + ""); paddingData(gdFinanceDto, list, "27", "2.权益法下不能转损益的其他综合收益",api1503.getQyfbnzsybqye() + "", api1503.getQyfbnzsybnlj() + ""); paddingData(gdFinanceDto, list, "28", "3.其他权益工具投资公允价值变动",api1503.getQtqygjjzbdbqye() + "", api1503.getQtqygjjzbdbnlj() + ""); paddingData(gdFinanceDto, list, "29", "4.企业自身信用风险公允价值变动",api1503.getQyxyfxbdbqye() + "", api1503.getQyxyfxbdbnlj() + ""); paddingData(gdFinanceDto, list, "30", "5.其他",api1503.getBnflzhsyqtbqye() + "", api1503.getBnflzhsyqtbnlj() + ""); paddingData(gdFinanceDto, list, "31", "(二)将重分类进损益的其他综合收益","0", "0"); paddingData(gdFinanceDto, list, "32", "1.权益法下可转损益的其他综合收益",api1503.getQyfkzsybqye() + "", api1503.getQyfkzsybnlj() + ""); paddingData(gdFinanceDto, list, "33", "2.其他债权投资公允价值变动",api1503.getQtzqtzjzbqye() + "", api1503.getQtzqtzjzbnlj() + ""); paddingData(gdFinanceDto, list, "34", "3.可供出售金融资产公允价值变动损益",api1503.getKgcszcbdsybqye() + "", api1503.getKgcszcbdsybnlj() + ""); paddingData(gdFinanceDto, list, "35", "4.金融资产重分类计入其他综合收益的金额",api1503.getJrzcflsyjebqye() + "", api1503.getJrzcflsyjebnlj() + ""); paddingData(gdFinanceDto, list, "36", "5.持有至到期投资重分类为可供出售金融资产损益",api1503.getCydqtzzcsybqye() + "", api1503.getKgcszcbdsybnlj() + ""); paddingData(gdFinanceDto, list, "37", "6.其他债权投资信用减值准备",api1503.getQtzqtzjzbqye() + "", api1503.getQtzqtzjzbnlj() + ""); paddingData(gdFinanceDto, list, "38", "7.现金流量套期损益的有效部分",api1503.getZjllsybqye() + "", api1503.getZjllsybnlj() + ""); paddingData(gdFinanceDto, list, "39", "8.外币财务报表折算差额",api1503.getWbcwbbcebqye() + "", api1503.getWbcwbbcebnlj() + ""); paddingData(gdFinanceDto, list, "40", "9.其他",api1503.getCflsybqye() + "", api1503.getCflsybnlj() + ""); paddingData(gdFinanceDto, list, "41", "六、综合收益总额",api1503.getZhsyzebqye() + "", api1503.getZhsyzebnlj() + ""); paddingData(gdFinanceDto, list, "42", "七、每股收益:",api1503.getMgsybqye() + "", api1503.getMgsybnlj() + ""); paddingData(gdFinanceDto, list, "43", "(一)基本每股收益",api1503.getJbmgsybqye() + "", api1503.getJbmgsybnlj() + ""); paddingData(gdFinanceDto, list, "44", "(二)稀释每股收益",api1503.getXsmgsybqye() + "", api1503.getXsmgsybnlj() + ""); return list; } private List copyApi1502(Api1502 data) { Api1502 api1502 = data; List list = new ArrayList<>(); GDFinanceDto gdFinanceDto = new GDFinanceDto(); gdFinanceDto.setDwdm(api1502.getDwdm()); gdFinanceDto.setBbsj(DateFormatUtils.format(api1502.getBbsj(), "yyyyMMdd")); gdFinanceDto.setBbm("01"); gdFinanceDto.setCzbz(api1502.getCzbz()); gdFinanceDto.setZhgxsj(DateFormatUtils.format(api1502.getZhgxsj(), "yyyyMMdd")); paddingData(gdFinanceDto, list, "0", "项目//t","本月数//t", "本年累计数//t"); paddingData(gdFinanceDto, list, "1", "一、经营活动产生的现金流量",api1502.getJyhdxjllbys() + "", api1502.getJyhdxjllbnljs() + ""); paddingData(gdFinanceDto, list, "2", "销售商品、提供劳务收到的现金",api1502.getXssplwxjbys() + "", api1502.getXssplwxjbnljs() + ""); paddingData(gdFinanceDto, list, "3", "收到的税费返还",api1502.getSffhbys() + "", api1502.getSffhbnljs() + ""); paddingData(gdFinanceDto, list, "4", "收到其他与经营活动有关的现金",api1502.getQtjyhdxjbys() + "", api1502.getQtjyhdxjbnljs() + ""); paddingData(gdFinanceDto, list, "5", "经营活动现金流入小计",api1502.getJyhdxjlrbys() + "", api1502.getJyhdxjlrbnljs() + ""); paddingData(gdFinanceDto, list, "6", "购买商品、接受劳务支付的现金",api1502.getGmsplwzfbys() + "", api1502.getGmsplwzfbnljs() + ""); paddingData(gdFinanceDto, list, "7", "支付给职工以及为职工支付的现金",api1502.getZfzgxjbys() + "", api1502.getZfzgxjbnljs() + ""); paddingData(gdFinanceDto, list, "8", "支付的各项税费",api1502.getZfxxsfbys() + "", api1502.getZfxxsfbnljs() + ""); paddingData(gdFinanceDto, list, "9", "支付其他与经营活动有关的现金",api1502.getZfqtjyhdxjbys() + "", api1502.getZfqtjyhdxjbnljs() + ""); paddingData(gdFinanceDto, list, "10", "经营活动现金流出小计",api1502.getJyhdxjlcbys() + "", api1502.getJyhdxjlcbnljs() + ""); paddingData(gdFinanceDto, list, "11", "经营活动产生的现金流量净额",api1502.getJyhdxjlljebys() + "", api1502.getJyhdxjlljebnljs() + ""); paddingData(gdFinanceDto, list, "12", "二、投资活动产生的现金流量",api1502.getTzhdxjllbys() + "", api1502.getTzhdxjllbnljs() + ""); paddingData(gdFinanceDto, list, "13", "收回投资收到的现金",api1502.getShtzxjbys() + "", api1502.getShtzxjbnljs() + ""); paddingData(gdFinanceDto, list, "14", "取得投资收益收到的现金",api1502.getQdtzsyxjbys() + "", api1502.getQdtzsyxjbnljs() + ""); paddingData(gdFinanceDto, list, "15", "处置固定资产、无形资产和其他长期资产收回的现金净额",api1502.getCzgdzcdxjjebys() + "", api1502.getCzgdzcdxjjebnljs() + ""); paddingData(gdFinanceDto, list, "16", "处置子公司及其他营业单位收到的现金净额",api1502.getCzqtdwxjjebys() + "", api1502.getCzqtdwxjjebnljs() + ""); paddingData(gdFinanceDto, list, "17", "收到其他与投资活动有关的现金",api1502.getSdqttzxjbys() + "", api1502.getSdqttzxjbnljs() + ""); paddingData(gdFinanceDto, list, "18", "投资活动现金流入小计",api1502.getTzhdxjlrbys() + "", api1502.getTzhdxjlrbnljs() + ""); paddingData(gdFinanceDto, list, "19", "购建固定资产、无形资产和其他长期资产支付的现金",api1502.getGjgdzcdxjbys() + "", api1502.getGjgdzcdxjbnljs() + ""); paddingData(gdFinanceDto, list, "20", "投资支付的现金",api1502.getTzzfxjbys() + "", api1502.getTzzfxjbnljs() + ""); paddingData(gdFinanceDto, list, "21", "取得子公司及其他营业单位支付的现金净额",api1502.getQdzgsdzfxjjebys() + "", api1502.getQdzgsdzfxjjebnljs() + ""); paddingData(gdFinanceDto, list, "22", "支付其他与投资活动有关的现金",api1502.getZfqttzxjbys() + "", api1502.getZfqttzxjbnljs() + ""); paddingData(gdFinanceDto, list, "23", "投资活动现金流出小计",api1502.getTzhdxjlcbys() + "", api1502.getTzhdxjlcbnljs() + ""); paddingData(gdFinanceDto, list, "24", "投资活动产生的现金流量净额",api1502.getTzhdcsxjlljebys() + "", api1502.getTzhdcsxjlljebnljs() + ""); paddingData(gdFinanceDto, list, "25", "三、筹资活动产生的现金流量",api1502.getCchdxjllbys() + "", api1502.getCchdxjllbnljs() + ""); paddingData(gdFinanceDto, list, "26", "吸收投资收到的现金",api1502.getXstzxjbys() + "", api1502.getXstzxjbnljs() + ""); paddingData(gdFinanceDto, list, "27", "取得借款收到的现金",api1502.getQdjkxjbys() + "", api1502.getQdjkxjbnljs() + ""); paddingData(gdFinanceDto, list, "28", "收到其他与筹资活动有关的现金",api1502.getSdqtczxjbys() + "", api1502.getSdqttzxjbnljs() + ""); paddingData(gdFinanceDto, list, "29", "筹资活动现金流入小计",api1502.getCzhdxjlrbys() + "", api1502.getCzhdxjlrbnljs() + ""); paddingData(gdFinanceDto, list, "30", "偿还债务支付的现金",api1502.getChzwzfxjbys() + "", api1502.getChzwzfxjbnljs() + ""); paddingData(gdFinanceDto, list, "31", "分配股利、利润或偿付利息支付的现金",api1502.getFpgldxjbys() + "", api1502.getFpgldxjbnljs() + ""); paddingData(gdFinanceDto, list, "32", "支付其他与筹资活动有关的现金",api1502.getZfqtdxjbys() + "", api1502.getZfqtdxjbnljs() + ""); paddingData(gdFinanceDto, list, "33", "筹资活动现金流出小计",api1502.getCzhdxjlcbys() + "", api1502.getCzhdxjlcbnljs() + ""); paddingData(gdFinanceDto, list, "34", "筹资活动产生的现金流量净额",api1502.getCchdxjlljebys() + "", api1502.getCchdxjlljebnljs() + ""); paddingData(gdFinanceDto, list, "35", "四、汇率变动对现金及现金等价物的影响",api1502.getHlbdxjyxbys() + "", api1502.getHlbdxjyxbnljs() + ""); paddingData(gdFinanceDto, list, "36", "五、现金及现金等价物净增加额",api1502.getXjdjwjzebys() + "", api1502.getXjdjwjzebnljs() + ""); paddingData(gdFinanceDto, list, "37", "加:期初现金及现金等价物余额",api1502.getQcxjdjwyebys() + "", api1502.getQcxjdjwyebnljs() + ""); paddingData(gdFinanceDto, list, "38", "六、期末现金及现金等价物余额",api1502.getQmxjdjwyebys() + "", api1502.getQmxjdjwyebnljs() + ""); return list; } private List copyApi1501(Api1501 api1501) { List list = new ArrayList<>(); GDFinanceDto gdFinanceDto = new GDFinanceDto(); gdFinanceDto.setDwdm(api1501.getDwdm()); gdFinanceDto.setBbsj(DateFormatUtils.format(api1501.getBbsj(), "yyyyMMdd")); gdFinanceDto.setBbm("01"); gdFinanceDto.setCzbz(api1501.getCzbz()); gdFinanceDto.setZhgxsj(DateFormatUtils.format(api1501.getZhgxsj(), "yyyy-MM-dd HH:mm:ss")); paddingData(gdFinanceDto, list, "1", "资产//t","期末余额//t", "年初余额//t"); paddingData(gdFinanceDto, list, "2", "流动资产",api1501.getLdzchjqmye() + "", api1501.getLdzchjncye() + ""); paddingData(gdFinanceDto, list, "3", "货币资金",api1501.getHbjjqmye() + "", api1501.getHbjjncye() + ""); paddingData(gdFinanceDto, list, "4", "交易性金融资产",api1501.getJyxjrzcqmye() + "", api1501.getJyxjrzcncye() + ""); paddingData(gdFinanceDto, list, "5", "衍生金融资产",api1501.getYsjrzcqmye() + "", api1501.getYsjrzcncye() + ""); paddingData(gdFinanceDto, list, "6", "应收票据",api1501.getYspjqmye() + "", api1501.getYspjncye() + ""); paddingData(gdFinanceDto, list, "7", "应收账款",api1501.getYszkqmye() + "", api1501.getYszkncye() + ""); paddingData(gdFinanceDto, list, "8", "预付款项",api1501.getYuskxqmye() + "", api1501.getYuskxncye() + ""); paddingData(gdFinanceDto, list, "9", "其他应收款",api1501.getQtyszkqmye() + "", api1501.getQtyszkncye() + ""); paddingData(gdFinanceDto, list, "10", "存货",api1501.getChqmye() + "", api1501.getChncye() + ""); paddingData(gdFinanceDto, list, "11", "合同资产",api1501.getHtzcqmye() + "", api1501.getHtzcncye() + ""); paddingData(gdFinanceDto, list, "12", "持有待售资产",api1501.getCydszcqmye() + "", api1501.getCydszcncye() + ""); paddingData(gdFinanceDto, list, "13", "一年内到期的非流动资产",api1501.getYnndqfldzcqmye() + "", api1501.getYnndqfldzcncye() + ""); paddingData(gdFinanceDto, list, "14", "其他流动资产",api1501.getQtldzcqmye() + "", api1501.getQtldzcncye() + ""); paddingData(gdFinanceDto, list, "15", "流动资产合计",api1501.getLdzchjqmye() + "", api1501.getLdzchjncye() + ""); paddingData(gdFinanceDto, list, "16", "非流动资产",api1501.getFldzcqmye() + "", api1501.getFldzcncye() + ""); paddingData(gdFinanceDto, list, "17", "债券投资",api1501.getZjtzqmye() + "", api1501.getZjtzncye() + ""); paddingData(gdFinanceDto, list, "18", "其他债券投资",api1501.getQtzqtzqmye() + "", api1501.getQtzqtzncye() + ""); paddingData(gdFinanceDto, list, "19", "长期应收款",api1501.getCqyskqmye() + "", api1501.getCqyskncye() + ""); paddingData(gdFinanceDto, list, "20", "长期股权投资",api1501.getCqgqtzqmye() + "", api1501.getCqgqtzncye() + ""); paddingData(gdFinanceDto, list, "21", "其他权益工具投资",api1501.getQtqygjtzqmye() + "", api1501.getQtqygjtzncye() + ""); paddingData(gdFinanceDto, list, "22", "其他非流动金融资产",api1501.getQtfldjrzcqmye() + "", api1501.getQtfldjrzcncye() + ""); paddingData(gdFinanceDto, list, "23", "投资性房地产",api1501.getTzxfdcqmye() + "", api1501.getTzxfdcncye() + ""); paddingData(gdFinanceDto, list, "24", "固定资产",api1501.getGdzcqmye() + "", api1501.getGdzcncye() + ""); paddingData(gdFinanceDto, list, "25", "在建工程",api1501.getZjgcqmye() + "", api1501.getZjgcncye() + ""); paddingData(gdFinanceDto, list, "26", "生产性生物资产",api1501.getScxswzcqmye() + "", api1501.getScxswzcncye() + ""); paddingData(gdFinanceDto, list, "27", "油气资产",api1501.getYqzcqmye() + "", api1501.getYqzcncye() + ""); paddingData(gdFinanceDto, list, "28", "无形资产",api1501.getWxzcqmye() + "", api1501.getWxzcncye() + ""); paddingData(gdFinanceDto, list, "29", "开发支出",api1501.getKfzcqmye() + "", api1501.getKfzcncye() + ""); paddingData(gdFinanceDto, list, "30", "商誉",api1501.getSyqmye() + "", api1501.getSyncye() + ""); paddingData(gdFinanceDto, list, "31", "长期待摊费用",api1501.getCqdtfyqmye() + "", api1501.getCqdtfyncye() + ""); paddingData(gdFinanceDto, list, "32", "递延所得税资产",api1501.getDysdszcqmye() + "", api1501.getDysdszcncye() + ""); paddingData(gdFinanceDto, list, "33", "其他非流动资产",api1501.getQtfldzcqmye() + "", api1501.getQtfldzcncye() + ""); paddingData(gdFinanceDto, list, "34", "非流动资产合计",api1501.getFldzcqmye() + "", api1501.getFldzcncye() + ""); paddingData(gdFinanceDto, list, "35", "资产总计",api1501.getZczjqmye() + "", api1501.getZczjncye() + ""); paddingData(gdFinanceDto, list, "36", "负债和所有者权益(或股东权益)//t","期末余额//t", "年初余额//t"); paddingData(gdFinanceDto, list, "37", "流动负债",api1501.getLdfzhjqmye() + "", api1501.getLdfzhjncye() + ""); paddingData(gdFinanceDto, list, "38", "短期借款",api1501.getDqjkqmye() + "", api1501.getLdzchjncye() + ""); paddingData(gdFinanceDto, list, "39", "交易性金融负债",api1501.getJyxjrfzqmye() + "", api1501.getJyxjrfzncye() + ""); paddingData(gdFinanceDto, list, "40", "衍生金融负债",api1501.getYsjrfzqmye() + "", api1501.getYsjrfzncye() + ""); paddingData(gdFinanceDto, list, "41", "应付票据",api1501.getLdfzyspjqmye() + "", api1501.getLdfzyspjncye() + ""); paddingData(gdFinanceDto, list, "42", "应付账款",api1501.getLdfzyszkqmye() + "", api1501.getLdfzyszkncye() + ""); paddingData(gdFinanceDto, list, "43", "预收款项",api1501.getLdfzyuskxqmye() + "", api1501.getLdfzyszkncye() + ""); paddingData(gdFinanceDto, list, "44", "合同负债",api1501.getHtfzqmye() + "", api1501.getHtfzncye() + ""); paddingData(gdFinanceDto, list, "45", "应付职工薪酬",api1501.getYfzgxcqmye() + "", api1501.getYfzgxcncye() + ""); paddingData(gdFinanceDto, list, "46", "应交税费",api1501.getYjsfqmye() + "", api1501.getYjsfncye() + ""); paddingData(gdFinanceDto, list, "47", "其他应付款",api1501.getQtyfkqmye() + "", api1501.getQtyfkncye() + ""); paddingData(gdFinanceDto, list, "48", "持有待售负债",api1501.getCydsfzqmye() + "", api1501.getCydsfzncye() + ""); paddingData(gdFinanceDto, list, "49", "一年内到期的非流动负债",api1501.getYnddqfldfzqmye() + "", api1501.getYnddqfldfzncye() + ""); paddingData(gdFinanceDto, list, "50", "其他流动负债",api1501.getQtldfzqmye() + "", api1501.getQtldfzncye() + ""); paddingData(gdFinanceDto, list, "51", "流动负债合计",api1501.getLdfzhjqmye() + "", api1501.getLdfzhjncye() + ""); paddingData(gdFinanceDto, list, "52", "非流动负债",api1501.getFldfzhjqmye() + "", api1501.getFldfzhjncye() + ""); paddingData(gdFinanceDto, list, "53", "长期借款",api1501.getCqjkqmye() + "", api1501.getCqjkncye() + ""); paddingData(gdFinanceDto, list, "54", "应付债券",api1501.getYfzqqmye() + "", api1501.getYfzqncye() + ""); paddingData(gdFinanceDto, list, "55", "其中:优先股",api1501.getYfzqyxgqmye() + "", api1501.getYfzqyxgncye() + ""); paddingData(gdFinanceDto, list, "56", " 永续债",api1501.getYfzqyxzqmye() + "", api1501.getYfzqyxzncye() + ""); paddingData(gdFinanceDto, list, "57", "长期应付款",api1501.getCqyfkqmye() + "", api1501.getCqyfkncye() + ""); paddingData(gdFinanceDto, list, "58", "预计负债",api1501.getYjsfqmye() + "", api1501.getYjsfncye() + ""); paddingData(gdFinanceDto, list, "59", "递延收益",api1501.getDysyqmye() + "", api1501.getDysyncye() + ""); paddingData(gdFinanceDto, list, "60", "递延所得税负债",api1501.getDysdsfzqmye() + "", api1501.getDysdsfzncye() + ""); paddingData(gdFinanceDto, list, "61", "其他非流动负债",api1501.getQtfldfzqmye() + "", api1501.getQtfldfzncye() + ""); paddingData(gdFinanceDto, list, "62", "非流动负债合计",api1501.getFldfzhjqmye() + "", api1501.getFldfzhjncye() + ""); paddingData(gdFinanceDto, list, "63", "负债合计",api1501.getFzhjqmye() + "", api1501.getFzhjncye() + ""); paddingData(gdFinanceDto, list, "64", "所有者权益(或股东权益)",api1501.getSyzqyqmye() + "", api1501.getSyzqyncye() + ""); paddingData(gdFinanceDto, list, "65", "实收资本(或股本)",api1501.getSszbqmye() + "", api1501.getSszbncye() + ""); paddingData(gdFinanceDto, list, "66", "其他权益工具",api1501.getQtqygjqmye() + "", api1501.getQtqygjncye() + ""); paddingData(gdFinanceDto, list, "67", "其中:优先股",api1501.getQtqygjyxgqmye() + "", api1501.getQtqygjyxgncye() + ""); paddingData(gdFinanceDto, list, "68", "永续债",api1501.getQtqygjyxzqmye() + "", api1501.getQtqygjyxzncye() + ""); paddingData(gdFinanceDto, list, "69", "资本公积",api1501.getZbgjqmye() + "", api1501.getZbgjncye() + ""); paddingData(gdFinanceDto, list, "70", "减:库存股",api1501.getJkcgqmye() + "", api1501.getJkcgncye() + ""); paddingData(gdFinanceDto, list, "71", "其他综合收益",api1501.getQtzhsyqmye() + "", api1501.getQtzhsyncye() + ""); paddingData(gdFinanceDto, list, "72", "专项储备",api1501.getZxcbqmye() + "", api1501.getZxcbncye() + ""); paddingData(gdFinanceDto, list, "73", "盈余公积",api1501.getYygjqmye() + "", api1501.getYygjncye() + ""); paddingData(gdFinanceDto, list, "74", "未分配利润",api1501.getWfplrqmye() + "", api1501.getWfplrncye() + ""); paddingData(gdFinanceDto, list, "75", "所有者权益(或股东权益) 合计",api1501.getSyzqyqmye() + "", api1501.getSyzqyncye() + ""); paddingData(gdFinanceDto, list, "76", "负债和所有者权益(或股东权益)总计",api1501.getFzhsyzqyqmye() + "", api1501.getFzhsyzqyncye() + ""); return list; } private void paddingData(GDFinanceDto common, List list, String zbxh, String zbmc, String zbz1, String zbz2) { GDFinanceDto gdFinanceDto = new GDFinanceDto(); BeanUtils.copyProperties(common,gdFinanceDto); gdFinanceDto.setZbxh(Integer.valueOf(zbxh)); gdFinanceDto.setZbmc(zbmc); gdFinanceDto.setZbz1(zbz1); gdFinanceDto.setZbz2(zbz2); list.add(gdFinanceDto); } private String getInteId(String inteId){ switch (inteId){ case "1101": return ApiCodeConstant.API_CODE_DWXX; case "1102": return ApiCodeConstant.API_CODE_KQXX; case "1103": return ApiCodeConstant.API_CODE_CFXX; case "1104": return ApiCodeConstant.API_CODE_AJXX; case "1105": return ApiCodeConstant.API_CODE_HWXX; case "1106": return ApiCodeConstant.API_CODE_YGXX; case "1107": return ApiCodeConstant.API_CODE_SBXX; case "1108": return ApiCodeConstant.API_CODE_YJXX; case "1109": return ApiCodeConstant.API_CODE_WJXX; case "1110": return ApiCodeConstant.API_CODE_KQTCFDWBZ; case "1111": return ApiCodeConstant.API_CODE_KQTSPJKSBDWBZ; case "1112": return ApiCodeConstant.API_CODE_RYXX; case "1113": return ""; case "1201": return ApiCodeConstant.API_CODE_HTXX; case "1202": return ApiCodeConstant.API_CODE_LSRKXX; case "1203": return ApiCodeConstant.API_CODE_RKJYXX; case "1204": return ApiCodeConstant.API_CODE_RKJSXX; case "1205": return ApiCodeConstant.API_CODE_LSCKXX; case "1206": return ApiCodeConstant.API_CODE_LSCKJS; case "1207": return ApiCodeConstant.API_CODE_DCXX; case "1208": return ApiCodeConstant.API_CODE_LSKC; case "1209": return ApiCodeConstant.API_CODE_SYD; case "1210": return ApiCodeConstant.API_CODE_XZZBD; case "1211": return ApiCodeConstant.API_CODE_ZMKCXX; case "1212": return ApiCodeConstant.API_CODE_KHXX; case "1301": return ApiCodeConstant.API_CODE_AQGL; case "1302": return ApiCodeConstant.API_CODE_WSDJC; case "1303": return ApiCodeConstant.API_CODE_HCJC; case "1304": return ApiCodeConstant.API_CODE_QTJC; case "1305": return ApiCodeConstant.API_CODE_TFZY; case "1306": return ApiCodeConstant.API_CODE_XZZY; case "1307": return ApiCodeConstant.API_CODE_CNSPTX; case "1308": return ApiCodeConstant.API_CODE_SPJKYCSJGJJBXX; case "1309": return ApiCodeConstant.API_CODE_WGYJXX; case "1310": return ApiCodeConstant.API_CODE_ZZSJ; case "1401": return ApiCodeConstant.API_CODE_CBGM; case "1402": return ApiCodeConstant.API_CODE_CBJHXX; case "1403": return ApiCodeConstant.API_CODE_LHJHXX; case "1404": return ApiCodeConstant.API_CODE_LHJHMXXX; case "1405": return ""; case "1501": return ApiCodeConstant.API_CODE_CWBBXX; case "1502": return ApiCodeConstant.API_CODE_CWBBXX; case "1503": return ApiCodeConstant.API_CODE_CWBBXX; default: return inteId; } } }