package com.fzzy.push.sx2023;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONObject;
|
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.service.ApiTriggerService;
|
import com.fzzy.api.utils.*;
|
import com.fzzy.api.view.repository.ApiLogRep;
|
import com.fzzy.push.sx2023.data.*;
|
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.*;
|
|
/**
|
* @Description 陕西省平台2023版-上传数据服务类
|
* @Author CZT
|
* @Date 2024/4/23 12:07
|
*/
|
@Slf4j
|
@Data
|
@Service
|
public class SX2023ApiRemoteService implements ApiRemoteService {
|
|
@Autowired
|
private RedisUtil redisUtil;
|
@Autowired
|
private ApiCommonService apiCommonService;
|
@Autowired
|
private ApiTriggerService apiTriggerService;
|
@Autowired
|
private ApiLogRep apiLogRep;
|
|
@Override
|
public String getProtocol() {
|
return PushProtocol.SB_SX_2023.getCode();
|
}
|
|
@Override
|
public ResponseDto pushData(ApiParam param, Object data) {
|
return pushData(param, null, data);
|
}
|
|
@Override
|
public ResponseDto pushData(ApiParam param, ApiConfs conf, Object data) {
|
String inteId = param.getInteId();
|
String kqdm = param.getKqdm();
|
|
try {
|
if (null == conf) {
|
conf = apiCommonService.getConf(kqdm);
|
}
|
|
//添加日志
|
ApiLog apiLog = new ApiLog();
|
apiLog.setId(ContextUtil.getUUID());
|
apiLog.setInteId(inteId);
|
if (StringUtils.isEmpty(inteId)) {
|
ResponseDto responseDto = new ResponseDto(99, "没有获取到接口");
|
apiLog.setStatus(99);
|
apiLog.setResult("没有获取到接口");
|
apiLogRep.save(apiLog);
|
return responseDto;
|
}
|
|
if (conf == null) {
|
ResponseDto responseDto = new ResponseDto(99, "没有获取到上传配置");
|
apiLog.setStatus(99);
|
apiLog.setResult("没有获取到上传配置");
|
apiLogRep.save(apiLog);
|
return responseDto;
|
}
|
|
List<Map<String, Object>> listData = getListData(param.getInteId(), data, conf);
|
log.info("接口数据信息=" + listData);
|
apiLog.setData(listData.toString());
|
apiLog.setKqdm(kqdm);
|
apiLog.setUploadTime(new Date());
|
|
//获取指令id
|
String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm());
|
String orderId = (String) redisUtil.get(key);
|
if (StringUtils.isEmpty(orderId)) {
|
log.error("指令id失效");
|
ResponseDto responseDto = new ResponseDto(99, "指令id失效");
|
apiLog.setStatus(99);
|
apiLog.setResult("指令id失效");
|
apiLogRep.save(apiLog);
|
return responseDto;
|
}
|
|
//封装推送数据
|
SX2023ReqDto reqData = new SX2023ReqDto();
|
//报文标识
|
reqData.setID(orderId);
|
//版本号
|
reqData.setVER("1.0");
|
//单位编码:11位
|
reqData.setOrgNo(conf.getUserName());
|
//单位名称
|
reqData.setOrgName(conf.getKqmc());
|
//发起时间
|
reqData.setSendTime(new Date());
|
//18位单位代码
|
reqData.setDwdm(conf.getKqdm().substring(0, 18));
|
//加密数据主体
|
reqData.setBody(SXAESUtils.encryptByAES(conf.getPublicKey(), JSON.toJSONString(listData)));
|
log.debug("上报数据信息=" + JSON.toJSONString(reqData));
|
String resp = SX2023HttpClientUtil.postPushData(conf.getApiUrl(), JSON.toJSONString(reqData));
|
if (StringUtils.isEmpty(resp)) {
|
log.error("数据上传陕西省平台失败,数据={}", reqData);
|
ResponseDto responseDto = new ResponseDto(99, "数据上传陕西省平台失败");
|
apiLog.setStatus(99);
|
apiLog.setResult("数据上传陕西省平台失败");
|
apiLogRep.save(apiLog);
|
return responseDto;
|
}
|
resp = SXAESUtils.decryptByAES(conf.getPassword(), resp);
|
SX2023RespDto sx2023RespDto = JSONObject.parseObject(JSONObject.toJSONString(resp), SX2023RespDto.class);
|
|
if (null == sx2023RespDto || null == sx2023RespDto.getMsgBody()) {
|
log.error("数据上传陕西省平台失败,数据={}", reqData);
|
ResponseDto responseDto = new ResponseDto(99, "数据上传陕西省平台失败");
|
apiLog.setStatus(99);
|
apiLog.setResult("数据上传陕西省平台失败");
|
apiLogRep.save(apiLog);
|
return responseDto;
|
}
|
|
SX2023Dto result = JSONObject.parseObject(JSONObject.toJSONString(sx2023RespDto.getMsgBody()), SX2023Dto.class);
|
apiLog.setStatus(result.getCode().equals("200") ? 0 : Integer.valueOf(result.getCode()));
|
apiLog.setResult(result.getVER());
|
apiLogRep.save(apiLog);
|
ResponseDto resd = new ResponseDto();
|
resd.setSuccess(result.getCode().equals("200") ? 0 : Integer.valueOf(result.getCode()));
|
resd.setMsg(result.getVER());
|
|
return resd;
|
} catch (Exception e) {
|
log.error(e.getMessage(), e);
|
return new ResponseDto(99, e.getMessage());
|
}
|
}
|
|
/**
|
* 拉取数据接口-当前协议暂无实现
|
* @param param 参数
|
* @param conf 配置,可以为空
|
* @return
|
*/
|
@Override
|
public ResponseDto pullData(ApiParam param, ApiConfs conf) {
|
log.error("陕西省平台暂无数据共享接口,无法拉取数据!");
|
return null;
|
}
|
|
/**
|
* 接口数据封装
|
* @param inteId
|
* @param data
|
* @param conf
|
* @return
|
*/
|
private List<Map<String, Object>> getListData(String inteId, Object data, ApiConfs conf) {
|
List<Map<String, Object>> result = new ArrayList<>();
|
Map<String, Object> map = new HashMap<>();
|
String inteIdUrl = getInteId(inteId);
|
//若为财务1501、1502、1503接口,则接口编码填写1114
|
if (Constant.API_CODE_1114_1501.equals(inteId)
|
|| Constant.API_CODE_1114_1502.equals(inteId)
|
|| Constant.API_CODE_1114_1503.equals(inteId)) {
|
List<SXFinanceDto> list = getFinanceData(inteId, data);
|
map.put(inteIdUrl, list);
|
} else {
|
List<Object> list = new ArrayList<>();
|
Object object = getApiData(inteId, data, conf);
|
//除库存接口外,其他接口上传前更新最后更新时间
|
if (!Constant.API_CODE_1208.equals(inteId)) {
|
setZhgxsjValue(data);
|
}
|
list.add(object);
|
map.put(inteIdUrl, list);
|
}
|
result.add(map);
|
return result;
|
}
|
|
/**
|
* 常规接口数据封装
|
* @param inteId
|
* @param data
|
* @return
|
*/
|
private Object getApiData(String inteId, Object data, ApiConfs conf) {
|
if (Constant.API_CODE_1101.equals(inteId)) {
|
SX2023Api1101 apiData = new SX2023Api1101();
|
BeanUtils.copyProperties(data, apiData);
|
//设置单位编码,11位(从配置信息获取)
|
apiData.setDWBM(conf.getUserName());
|
return apiData;
|
}
|
if (Constant.API_CODE_1102.equals(inteId)) {
|
|
return null;
|
}
|
if (Constant.API_CODE_1103.equals(inteId)) {
|
|
return null;
|
}
|
if (Constant.API_CODE_1104.equals(inteId)) {
|
|
return null;
|
}
|
if (Constant.API_CODE_1105.equals(inteId)) {
|
|
return null;
|
}
|
if (Constant.API_CODE_1106.equals(inteId)) {
|
|
return null;
|
}
|
if (Constant.API_CODE_1107.equals(inteId)) {
|
|
return null;
|
}
|
if (Constant.API_CODE_1108.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1109.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1110.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1111.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1112.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1113.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1201.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1202.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1203.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1204.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1205.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1206.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1207.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1208.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1209.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1210.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1211.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1212.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1301.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1302.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1303.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1304.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1305.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1306.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1307.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1308.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1309.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1310.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1401.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1403.equals(inteId)) {
|
return null;
|
}
|
if (Constant.API_CODE_1404.equals(inteId)) {
|
return null;
|
}
|
return data;
|
}
|
|
/**
|
* 最后更新时间,赋值为当前时间
|
* @param object
|
* @return
|
*/
|
private Object setZhgxsjValue(Object object) {
|
// 使用反射获取属性列表 vo为实体对象名
|
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;
|
}
|
|
/**
|
* 获取财务封装数据
|
* @param inteId
|
* @param data
|
* @return
|
*/
|
private List<SXFinanceDto> getFinanceData(String inteId, Object data) {
|
//财务报表数据封装
|
if (Constant.API_CODE_1114_1501.equals(inteId)) {
|
return copyApi1501((Api1501) data);
|
} else if (Constant.API_CODE_1114_1502.equals(inteId)) {
|
return copyApi1502((Api1502) data);
|
} else {
|
return copyApi1503((Api1503) data);
|
}
|
}
|
|
/**
|
* 封装1501-资产负债数据
|
* @param api1503
|
* @return
|
*/
|
private List<SXFinanceDto> copyApi1503(Api1503 api1503) {
|
List<SXFinanceDto> list = new ArrayList<>();
|
SXFinanceDto SXFinanceDto = new SXFinanceDto();
|
SXFinanceDto.setDWDM(api1503.getDwdm());
|
SXFinanceDto.setKQDM(api1503.getKqdm());
|
SXFinanceDto.setBBSJ(DateFormatUtils.format(api1503.getBbsj(), "yyyyMMdd"));
|
SXFinanceDto.setBBM("03");
|
SXFinanceDto.setCZBZ(api1503.getCzbz());
|
SXFinanceDto.setZHGXSJ(DateFormatUtils.format(DateUtils.addSeconds(new Date(), -10), "yyyy-MM-dd HH:mm:ss"));
|
|
paddingData(SXFinanceDto, list, "0", "项目//t", "本期金额//t", "本年累计//t");
|
paddingData(SXFinanceDto, list, "1", "一、营业收入", api1503.getYyzsrbqye() + "", api1503.getYyzsrbnlj() + "");
|
paddingData(SXFinanceDto, list, "2", "减:营业成本", api1503.getYycbbqye() + "", api1503.getYycbbnlj() + "");
|
paddingData(SXFinanceDto, list, "3", "税金及附加", api1503.getSjjfjbqye() + "", api1503.getSjjfjbnlj() + "");
|
paddingData(SXFinanceDto, list, "4", "销售费用", api1503.getXsfybqye() + "", api1503.getXsfybnlj() + "");
|
paddingData(SXFinanceDto, list, "5", "管理费用", api1503.getGlfybqye() + "", api1503.getGlfybnlj() + "");
|
paddingData(SXFinanceDto, list, "6", "研发费用", api1503.getYffybqye() + "", api1503.getYffybnlj() + "");
|
paddingData(SXFinanceDto, list, "7", "财务费用", api1503.getCwfybqye() + "", api1503.getCwfybnlj() + "");
|
paddingData(SXFinanceDto, list, "8", "其中:利息费用", api1503.getLxfybqye() + "", api1503.getLxfybnlj() + "");
|
paddingData(SXFinanceDto, list, "9", "利息收入", api1503.getLxsrbqye() + "", api1503.getLxsrbnlj() + "");
|
paddingData(SXFinanceDto, list, "10", "加:其他收益", api1503.getQtsybqye() + "", api1503.getQtsybnlj() + "");
|
paddingData(SXFinanceDto, list, "11", "投资收益(损失以“-”号填列)", api1503.getTzsybqye() + "", api1503.getTzsybnlj() + "");
|
paddingData(SXFinanceDto, list, "12", "其中:对联营企业和合营企业的投资收益", api1503.getLyqytzsybqye() + "", api1503.getLyqytzsybnlj() + "");
|
paddingData(SXFinanceDto, list, "13", "公允价值变动收益(损失以“-”号填列)", api1503.getGyjzbdsybqye() + "", api1503.getGyjzbdsybnlj() + "");
|
paddingData(SXFinanceDto, list, "14", "资产减值损失(损失以“-”号填列)", api1503.getZcjzssbqye() + "", api1503.getZcjzssbnlj() + "");
|
paddingData(SXFinanceDto, list, "15", "资产处置收益(损失以“-”号填列)", api1503.getZcczsybqye() + "", api1503.getZcczsybnlj() + "");
|
paddingData(SXFinanceDto, list, "16", "二、营业利润(亏损以“-”号填列)", api1503.getYylrbqye() + "", api1503.getYylrbnlj() + "");
|
paddingData(SXFinanceDto, list, "17", "加:营业外收入", api1503.getYywsrbqye() + "", api1503.getYywsrbnlj() + "");
|
paddingData(SXFinanceDto, list, "18", "减:营业外支出", api1503.getYywzcbqye() + "", api1503.getYywzcbnlj() + "");
|
paddingData(SXFinanceDto, list, "19", "三、利润总额(亏损总额以“-”号填列)", api1503.getLrzebqye() + "", api1503.getLrzebnlj() + "");
|
paddingData(SXFinanceDto, list, "20", "减:所得税费用", api1503.getSdsfybqye() + "", api1503.getSdsfybnlj() + "");
|
paddingData(SXFinanceDto, list, "21", "四、净利润(净亏损以“-”号填列)", api1503.getJlrbqye() + "", api1503.getJlrbnlj() + "");
|
paddingData(SXFinanceDto, list, "22", "(一)持续经营净利润(净亏损以“-”号填列)", api1503.getCxjyjlrbqye() + "", api1503.getCxjyjlrbnlj() + "");
|
paddingData(SXFinanceDto, list, "23", "(二)终止经营净利润(净亏损以“-”号填列)", api1503.getZzjyjlrbqye() + "", api1503.getZzjyjlrbnlj() + "");
|
paddingData(SXFinanceDto, list, "24", "五、其他综合收益的税后净额", api1503.getQtzhsyjebqye() + "", api1503.getQtzhsyjebnlj() + "");
|
paddingData(SXFinanceDto, list, "25", "(一)不能重分类进损益的其他综合收益", api1503.getBnflzhsybqye() + "", api1503.getBnflzhsybnlj() + "");
|
paddingData(SXFinanceDto, list, "26", "1.重新计量设定受益计划变动额", api1503.getCxjlbdebqye() + "", api1503.getCxjlbdebnlj() + "");
|
paddingData(SXFinanceDto, list, "27", "(二)将重分类进损益的其他综合收益", "0", "0");
|
paddingData(SXFinanceDto, list, "28", "1.权益法下可转损益的其他综合收益", api1503.getQyfkzsybqye() + "", api1503.getQyfkzsybnlj() + "");
|
paddingData(SXFinanceDto, list, "29", "2.可供出售金融资产公允价值变动损益", api1503.getKgcszcbdsybqye() + "", api1503.getKgcszcbdsybnlj() + "");
|
paddingData(SXFinanceDto, list, "30", "3.持有至到期投资重分类为可供出售金融资产损益", api1503.getCydqtzzcsybqye() + "", api1503.getKgcszcbdsybnlj() + "");
|
paddingData(SXFinanceDto, list, "31", "4.现金流量套期损益的有效部分", api1503.getZjllsybqye() + "", api1503.getZjllsybnlj() + "");
|
paddingData(SXFinanceDto, list, "32", "5.外币财务报表折算差额", api1503.getWbcwbbcebqye() + "", api1503.getWbcwbbcebnlj() + "");
|
paddingData(SXFinanceDto, list, "33", "六、综合收益总额", api1503.getZhsyzebqye() + "", api1503.getZhsyzebnlj() + "");
|
paddingData(SXFinanceDto, list, "34", "七、每股收益:", api1503.getMgsybqye() + "", api1503.getMgsybnlj() + "");
|
paddingData(SXFinanceDto, list, "35", "(一)基本每股收益", api1503.getJbmgsybqye() + "", api1503.getJbmgsybnlj() + "");
|
paddingData(SXFinanceDto, list, "36", "(二)稀释每股收益", api1503.getXsmgsybqye() + "", api1503.getXsmgsybnlj() + "");
|
|
return list;
|
}
|
|
/**
|
* 封装1502-现金流数据
|
* @param api1502
|
* @return
|
*/
|
private List<SXFinanceDto> copyApi1502(Api1502 api1502) {
|
List<SXFinanceDto> list = new ArrayList<>();
|
SXFinanceDto SXFinanceDto = new SXFinanceDto();
|
SXFinanceDto.setDWDM(api1502.getDwdm());
|
SXFinanceDto.setKQDM(api1502.getKqdm());
|
SXFinanceDto.setBBSJ(DateFormatUtils.format(api1502.getBbsj(), "yyyyMMdd"));
|
SXFinanceDto.setBBM("02");
|
SXFinanceDto.setCZBZ(api1502.getCzbz());
|
SXFinanceDto.setZHGXSJ(DateFormatUtils.format(DateUtils.addSeconds(new Date(), -10), "yyyy-MM-dd HH:mm:ss"));
|
|
paddingData(SXFinanceDto, list, "0", "项目//t", "本月数//t", "本年累计数//t");
|
paddingData(SXFinanceDto, list, "1", "一、经营活动产生的现金流量:", api1502.getJyhdxjllbys() + "", api1502.getJyhdxjllbnljs() + "");
|
paddingData(SXFinanceDto, list, "2", "销售商品、提供劳务收到的现金", api1502.getXssplwxjbys() + "", api1502.getXssplwxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "3", "收到的税费返还", api1502.getSffhbys() + "", api1502.getSffhbnljs() + "");
|
paddingData(SXFinanceDto, list, "4", "收到其他与经营活动有关的现金", api1502.getQtjyhdxjbys() + "", api1502.getQtjyhdxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "5", "经营活动现金流入小计", api1502.getJyhdxjlrbys() + "", api1502.getJyhdxjlrbnljs() + "");
|
paddingData(SXFinanceDto, list, "6", "购买商品、接受劳务支付的现金", api1502.getGmsplwzfbys() + "", api1502.getGmsplwzfbnljs() + "");
|
paddingData(SXFinanceDto, list, "7", "支付给职工以及为职工支付的现金", api1502.getZfzgxjbys() + "", api1502.getZfzgxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "8", "支付的各项税费", api1502.getZfxxsfbys() + "", api1502.getZfxxsfbnljs() + "");
|
paddingData(SXFinanceDto, list, "9", "支付其他与经营活动有关的现金", api1502.getZfqtjyhdxjbys() + "", api1502.getZfqtjyhdxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "10", "经营活动现金流出小计", api1502.getJyhdxjlcbys() + "", api1502.getJyhdxjlcbnljs() + "");
|
paddingData(SXFinanceDto, list, "11", "经营活动产生的现金流量净额", api1502.getJyhdxjlljebys() + "", api1502.getJyhdxjlljebnljs() + "");
|
paddingData(SXFinanceDto, list, "12", "二、投资活动产生的现金流量:", api1502.getTzhdxjllbys() + "", api1502.getTzhdxjllbnljs() + "");
|
paddingData(SXFinanceDto, list, "13", "收回投资收到的现金", api1502.getShtzxjbys() + "", api1502.getShtzxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "14", "取得投资收益收到的现金", api1502.getQdtzsyxjbys() + "", api1502.getQdtzsyxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "15", "处置固定资产、无形资产和其他长期资产收回的现金净额", api1502.getCzgdzcdxjjebys() + "", api1502.getCzgdzcdxjjebnljs() + "");
|
paddingData(SXFinanceDto, list, "16", "处置子公司及其他营业单位收到的现金净额", api1502.getCzqtdwxjjebys() + "", api1502.getCzqtdwxjjebnljs() + "");
|
paddingData(SXFinanceDto, list, "17", "收到其他与投资活动有关的现金", api1502.getSdqttzxjbys() + "", api1502.getSdqttzxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "18", "投资活动现金流入小计", api1502.getTzhdxjlrbys() + "", api1502.getTzhdxjlrbnljs() + "");
|
paddingData(SXFinanceDto, list, "19", "购建固定资产、无形资产和其他长期资产支付的现金", api1502.getGjgdzcdxjbys() + "", api1502.getGjgdzcdxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "20", "投资支付的现金", api1502.getTzzfxjbys() + "", api1502.getTzzfxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "21", "取得子公司及其他营业单位支付的现金净额", api1502.getQdzgsdzfxjjebys() + "", api1502.getQdzgsdzfxjjebnljs() + "");
|
paddingData(SXFinanceDto, list, "22", "支付其他与投资活动有关的现金", api1502.getZfqttzxjbys() + "", api1502.getZfqttzxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "23", "投资活动现金流出小计", api1502.getTzhdxjlcbys() + "", api1502.getTzhdxjlcbnljs() + "");
|
paddingData(SXFinanceDto, list, "24", "投资活动产生的现金流量净额", api1502.getTzhdcsxjlljebys() + "", api1502.getTzhdcsxjlljebnljs() + "");
|
paddingData(SXFinanceDto, list, "25", "三、筹资活动产生的现金流量:", api1502.getCchdxjllbys() + "", api1502.getCchdxjllbnljs() + "");
|
paddingData(SXFinanceDto, list, "26", "吸收投资收到的现金", api1502.getXstzxjbys() + "", api1502.getXstzxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "27", "取得借款收到的现金", api1502.getQdjkxjbys() + "", api1502.getQdjkxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "28", "收到其他与筹资活动有关的现金", api1502.getSdqtczxjbys() + "", api1502.getSdqttzxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "29", "筹资活动现金流入小计", api1502.getCzhdxjlrbys() + "", api1502.getCzhdxjlrbnljs() + "");
|
paddingData(SXFinanceDto, list, "30", "偿还债务支付的现金", api1502.getChzwzfxjbys() + "", api1502.getChzwzfxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "31", "分配股利、利润或偿付利息支付的现金", api1502.getFpgldxjbys() + "", api1502.getFpgldxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "32", "支付其他与筹资活动有关的现金", api1502.getZfqtdxjbys() + "", api1502.getZfqtdxjbnljs() + "");
|
paddingData(SXFinanceDto, list, "33", "筹资活动现金流出小计", api1502.getCzhdxjlcbys() + "", api1502.getCzhdxjlcbnljs() + "");
|
paddingData(SXFinanceDto, list, "34", "筹资活动产生的现金流量净额", api1502.getCchdxjlljebys() + "", api1502.getCchdxjlljebnljs() + "");
|
paddingData(SXFinanceDto, list, "35", "四、汇率变动对现金及现金等价物的影响", api1502.getHlbdxjyxbys() + "", api1502.getHlbdxjyxbnljs() + "");
|
paddingData(SXFinanceDto, list, "36", "五、现金及现金等价物净增加额", api1502.getXjdjwjzebys() + "", api1502.getXjdjwjzebnljs() + "");
|
paddingData(SXFinanceDto, list, "37", "加:期初现金及现金等价物余额", api1502.getQcxjdjwyebys() + "", api1502.getQcxjdjwyebnljs() + "");
|
paddingData(SXFinanceDto, list, "38", "六、期末现金及现金等价物余额", api1502.getQmxjdjwyebys() + "", api1502.getQmxjdjwyebnljs() + "");
|
|
return list;
|
}
|
|
/**
|
* 封装1503-利润表数据
|
* @param api1501
|
* @return
|
*/
|
private List<SXFinanceDto> copyApi1501(Api1501 api1501) {
|
List<SXFinanceDto> list = new ArrayList<>();
|
SXFinanceDto SXFinanceDto = new SXFinanceDto();
|
SXFinanceDto.setDWDM(api1501.getDwdm());
|
SXFinanceDto.setKQDM(api1501.getKqdm());
|
SXFinanceDto.setBBSJ(DateFormatUtils.format(api1501.getBbsj(), "yyyyMMdd"));
|
SXFinanceDto.setBBM("01");
|
SXFinanceDto.setCZBZ(api1501.getCzbz());
|
SXFinanceDto.setZHGXSJ(DateFormatUtils.format(DateUtils.addSeconds(new Date(), -10), "yyyy-MM-dd HH:mm:ss"));
|
|
paddingData(SXFinanceDto, list, "0", "资产//t", "期末余额//t", "年初余额//t");
|
paddingData(SXFinanceDto, list, "1", "流动资产:", api1501.getLdzchjqmye() + "", api1501.getLdzchjncye() + "");
|
paddingData(SXFinanceDto, list, "2", "货币资金", api1501.getHbjjqmye() + "", api1501.getHbjjncye() + "");
|
paddingData(SXFinanceDto, list, "3", "交易性金融资产", api1501.getJyxjrzcqmye() + "", api1501.getJyxjrzcncye() + "");
|
paddingData(SXFinanceDto, list, "4", "衍生金融资产", api1501.getYsjrzcqmye() + "", api1501.getYsjrzcncye() + "");
|
paddingData(SXFinanceDto, list, "5", "应收票据", api1501.getYspjqmye() + "", api1501.getYspjncye() + "");
|
paddingData(SXFinanceDto, list, "6", "应收账款", api1501.getYszkqmye() + "", api1501.getYszkncye() + "");
|
paddingData(SXFinanceDto, list, "7", "预付款项", api1501.getYuskxqmye() + "", api1501.getYuskxncye() + "");
|
paddingData(SXFinanceDto, list, "8", "其他应收款", api1501.getQtyszkqmye() + "", api1501.getQtyszkncye() + "");
|
paddingData(SXFinanceDto, list, "9", "存货", api1501.getChqmye() + "", api1501.getChncye() + "");
|
paddingData(SXFinanceDto, list, "10", "合同资产", api1501.getHtzcqmye() + "", api1501.getHtzcncye() + "");
|
paddingData(SXFinanceDto, list, "11", "持有待售资产", api1501.getCydszcqmye() + "", api1501.getCydszcncye() + "");
|
paddingData(SXFinanceDto, list, "12", "一年内到期的非流动资产", api1501.getYnndqfldzcqmye() + "", api1501.getYnndqfldzcncye() + "");
|
paddingData(SXFinanceDto, list, "13", "其他流动资产", api1501.getQtldzcqmye() + "", api1501.getQtldzcncye() + "");
|
paddingData(SXFinanceDto, list, "14", "流动资产合计", api1501.getLdzchjqmye() + "", api1501.getLdzchjncye() + "");
|
paddingData(SXFinanceDto, list, "15", "非流动资产:", api1501.getFldzcqmye() + "", api1501.getFldzcncye() + "");
|
paddingData(SXFinanceDto, list, "16", "债券投资", api1501.getZjtzqmye() + "", api1501.getZjtzncye() + "");
|
paddingData(SXFinanceDto, list, "17", "其他债券投资", api1501.getQtzqtzqmye() + "", api1501.getQtzqtzncye() + "");
|
paddingData(SXFinanceDto, list, "18", "长期应收款", api1501.getCqyskqmye() + "", api1501.getCqyskncye() + "");
|
paddingData(SXFinanceDto, list, "19", "长期股权投资", api1501.getCqgqtzqmye() + "", api1501.getCqgqtzncye() + "");
|
paddingData(SXFinanceDto, list, "20", "其他权益工具投资", api1501.getQtqygjtzqmye() + "", api1501.getQtqygjtzncye() + "");
|
paddingData(SXFinanceDto, list, "21", "其他非流动金融资产", api1501.getQtfldjrzcqmye() + "", api1501.getQtfldjrzcncye() + "");
|
paddingData(SXFinanceDto, list, "22", "投资性房地产", api1501.getTzxfdcqmye() + "", api1501.getTzxfdcncye() + "");
|
paddingData(SXFinanceDto, list, "23", "固定资产", api1501.getGdzcqmye() + "", api1501.getGdzcncye() + "");
|
paddingData(SXFinanceDto, list, "24", "在建工程", api1501.getZjgcqmye() + "", api1501.getZjgcncye() + "");
|
paddingData(SXFinanceDto, list, "25", "生产性生物资产", api1501.getScxswzcqmye() + "", api1501.getScxswzcncye() + "");
|
paddingData(SXFinanceDto, list, "26", "油气资产", api1501.getYqzcqmye() + "", api1501.getYqzcncye() + "");
|
paddingData(SXFinanceDto, list, "27", "无形资产", api1501.getWxzcqmye() + "", api1501.getWxzcncye() + "");
|
paddingData(SXFinanceDto, list, "28", "开发支出", api1501.getKfzcqmye() + "", api1501.getKfzcncye() + "");
|
paddingData(SXFinanceDto, list, "29", "商誉", api1501.getSyqmye() + "", api1501.getSyncye() + "");
|
paddingData(SXFinanceDto, list, "30", "长期待摊费用", api1501.getCqdtfyqmye() + "", api1501.getCqdtfyncye() + "");
|
paddingData(SXFinanceDto, list, "31", "递延所得税资产", api1501.getDysdszcqmye() + "", api1501.getDysdszcncye() + "");
|
paddingData(SXFinanceDto, list, "32", "其他非流动资产", api1501.getQtfldzcqmye() + "", api1501.getQtfldzcncye() + "");
|
paddingData(SXFinanceDto, list, "33", "非流动资产合计", api1501.getFldzcqmye() + "", api1501.getFldzcncye() + "");
|
paddingData(SXFinanceDto, list, "34", "资产总计", api1501.getZczjqmye() + "", api1501.getZczjncye() + "");
|
paddingData(SXFinanceDto, list, "35", "负债和所有者权益(或股东权益)//t", "期末余额//t", "年初余额//t");
|
paddingData(SXFinanceDto, list, "36", "流动负债:", api1501.getLdfzhjqmye() + "", api1501.getLdfzhjncye() + "");
|
paddingData(SXFinanceDto, list, "37", "短期借款", api1501.getDqjkqmye() + "", api1501.getLdzchjncye() + "");
|
paddingData(SXFinanceDto, list, "38", "交易性金融负债", api1501.getJyxjrfzqmye() + "", api1501.getJyxjrfzncye() + "");
|
paddingData(SXFinanceDto, list, "39", "衍生金融负债", api1501.getYsjrfzqmye() + "", api1501.getYsjrfzncye() + "");
|
paddingData(SXFinanceDto, list, "40", "应付票据", api1501.getLdfzyspjqmye() + "", api1501.getLdfzyspjncye() + "");
|
paddingData(SXFinanceDto, list, "41", "应付账款", api1501.getLdfzyszkqmye() + "", api1501.getLdfzyszkncye() + "");
|
paddingData(SXFinanceDto, list, "42", "预收款项", api1501.getLdfzyuskxqmye() + "", api1501.getLdfzyszkncye() + "");
|
paddingData(SXFinanceDto, list, "43", "合同负债", api1501.getHtfzqmye() + "", api1501.getHtfzncye() + "");
|
paddingData(SXFinanceDto, list, "44", "应付职工薪酬", api1501.getYfzgxcqmye() + "", api1501.getYfzgxcncye() + "");
|
paddingData(SXFinanceDto, list, "45", "应交税费", api1501.getYjsfqmye() + "", api1501.getYjsfncye() + "");
|
paddingData(SXFinanceDto, list, "46", "其他应付款", api1501.getQtyfkqmye() + "", api1501.getQtyfkncye() + "");
|
paddingData(SXFinanceDto, list, "47", "持有待售负债", api1501.getCydsfzqmye() + "", api1501.getCydsfzncye() + "");
|
paddingData(SXFinanceDto, list, "48", "一年内到期的非流动负债", api1501.getYnddqfldfzqmye() + "", api1501.getYnddqfldfzncye() + "");
|
paddingData(SXFinanceDto, list, "49", "其他流动负债", api1501.getQtldfzqmye() + "", api1501.getQtldfzncye() + "");
|
paddingData(SXFinanceDto, list, "50", "流动负债合计", api1501.getLdfzhjqmye() + "", api1501.getLdfzhjncye() + "");
|
paddingData(SXFinanceDto, list, "51", "非流动负债:", api1501.getFldfzhjqmye() + "", api1501.getFldfzhjncye() + "");
|
paddingData(SXFinanceDto, list, "52", "长期借款", api1501.getCqjkqmye() + "", api1501.getCqjkncye() + "");
|
paddingData(SXFinanceDto, list, "53", "应付债券", api1501.getYfzqqmye() + "", api1501.getYfzqncye() + "");
|
paddingData(SXFinanceDto, list, "54", "其中:优先股", api1501.getYfzqyxgqmye() + "", api1501.getYfzqyxgncye() + "");
|
paddingData(SXFinanceDto, list, "55", "永续债", api1501.getYfzqyxzqmye() + "", api1501.getYfzqyxzncye() + "");
|
paddingData(SXFinanceDto, list, "56", "长期应付款", api1501.getCqyfkqmye() + "", api1501.getCqyfkncye() + "");
|
paddingData(SXFinanceDto, list, "57", "预计负债", api1501.getYjsfqmye() + "", api1501.getYjsfncye() + "");
|
paddingData(SXFinanceDto, list, "58", "递延收益", api1501.getDysyqmye() + "", api1501.getDysyncye() + "");
|
paddingData(SXFinanceDto, list, "59", "递延所得税负债", api1501.getDysdsfzqmye() + "", api1501.getDysdsfzncye() + "");
|
paddingData(SXFinanceDto, list, "60", "其他非流动负债", api1501.getQtfldfzqmye() + "", api1501.getQtfldfzncye() + "");
|
paddingData(SXFinanceDto, list, "61", "非流动负债合计", api1501.getFldfzhjqmye() + "", api1501.getFldfzhjncye() + "");
|
paddingData(SXFinanceDto, list, "62", "负债合计", api1501.getFzhjqmye() + "", api1501.getFzhjncye() + "");
|
paddingData(SXFinanceDto, list, "63", "所有者权益(或股东权益):", api1501.getSyzqyqmye() + "", api1501.getSyzqyncye() + "");
|
paddingData(SXFinanceDto, list, "64", "实收资本(或股本)", api1501.getSszbqmye() + "", api1501.getSszbncye() + "");
|
paddingData(SXFinanceDto, list, "65", "其他权益工具", api1501.getQtqygjqmye() + "", api1501.getQtqygjncye() + "");
|
paddingData(SXFinanceDto, list, "66", "其中:优先股", api1501.getQtqygjyxgqmye() + "", api1501.getQtqygjyxgncye() + "");
|
paddingData(SXFinanceDto, list, "67", "永续债", api1501.getQtqygjyxzqmye() + "", api1501.getQtqygjyxzncye() + "");
|
paddingData(SXFinanceDto, list, "68", "资本公积", api1501.getZbgjqmye() + "", api1501.getZbgjncye() + "");
|
paddingData(SXFinanceDto, list, "69", "减:库存股", api1501.getJkcgqmye() + "", api1501.getJkcgncye() + "");
|
paddingData(SXFinanceDto, list, "70", "其他综合收益", api1501.getQtzhsyqmye() + "", api1501.getQtzhsyncye() + "");
|
paddingData(SXFinanceDto, list, "71", "专项储备", api1501.getZxcbqmye() + "", api1501.getZxcbncye() + "");
|
paddingData(SXFinanceDto, list, "72", "盈余公积", api1501.getYygjqmye() + "", api1501.getYygjncye() + "");
|
paddingData(SXFinanceDto, list, "73", "未分配利润", api1501.getWfplrqmye() + "", api1501.getWfplrncye() + "");
|
paddingData(SXFinanceDto, list, "74", "所有者权益(或股东权益)合计", api1501.getSyzqyqmye() + "", api1501.getSyzqyncye() + "");
|
paddingData(SXFinanceDto, list, "75", "负债和所有者权益(或股东权益)总计", api1501.getFzhsyzqyqmye() + "", api1501.getFzhsyzqyncye() + "");
|
return list;
|
}
|
|
/**
|
* 财务数据封装
|
* @param common
|
* @param list
|
* @param zbxh
|
* @param zbmc
|
* @param zbz1
|
* @param zbz2
|
*/
|
private void paddingData(SXFinanceDto common, List<SXFinanceDto> list, String zbxh, String zbmc, String zbz1, String zbz2) {
|
SXFinanceDto SXFinanceDto = new SXFinanceDto();
|
BeanUtils.copyProperties(common, SXFinanceDto);
|
SXFinanceDto.setZBXH(zbxh);
|
SXFinanceDto.setZBMC(zbmc);
|
SXFinanceDto.setZBZ1(zbz1);
|
SXFinanceDto.setZBZ2(zbz2);
|
list.add(SXFinanceDto);
|
}
|
|
/**
|
* 根据接口编码获取对应的接口数据库表名
|
* @param inteId
|
* @return
|
*/
|
private String getInteId(String inteId) {
|
switch (inteId) {
|
case "1101":
|
return SX2023Constant.SX_2023_API_ODS_UP_DWXXJK;
|
case "1102":
|
return SX2023Constant.SX_2023_API_ODS_UP_KQXXJK;
|
case "1103":
|
return SX2023Constant.SX_2023_API_ODS_UP_CFXXJK;
|
case "1104":
|
return SX2023Constant.SX_2023_API_ODS_UP_AJXXJK;
|
case "1105":
|
return SX2023Constant.SX_2023_API_ODS_UP_HWXXJK;
|
case "1106":
|
return SX2023Constant.SX_2023_API_ODS_UP_YGXXJK;
|
case "1107":
|
return SX2023Constant.SX_2023_API_ODS_UP_SBXXJK;
|
case "1108":
|
return SX2023Constant.SX_2023_API_ODS_UP_YJXXJK;
|
case "1109":
|
return SX2023Constant.SX_2023_API_ODS_UP_WJXXJK;
|
case "1110":
|
return SX2023Constant.SX_2023_API_ODS_UP_KQTCFDWBZSJXXJK;
|
case "1111":
|
return SX2023Constant.SX_2023_API_ODS_UP_KQTSPJKSBDWBZSJXXJK;
|
case "1112":
|
return SX2023Constant.SX_2023_API_ODS_UP_RYXXJK;
|
case "1201":
|
return SX2023Constant.SX_2023_API_ODS_UP_HTXXJK;
|
case "1202":
|
return SX2023Constant.SX_2023_API_ODS_UP_LSRKXXJK;
|
case "1203":
|
return SX2023Constant.SX_2023_API_ODS_UP_LSRKJYXXJK;
|
case "1204":
|
return SX2023Constant.SX_2023_API_ODS_UP_LSRKJSXXJK;
|
case "1205":
|
return SX2023Constant.SX_2023_API_ODS_UP_LSCKXXJK;
|
case "1206":
|
return SX2023Constant.SX_2023_API_ODS_UP_LSCKJSXXJK;
|
case "1207":
|
return SX2023Constant.SX_2023_API_ODS_UP_DCXXJK;
|
case "1208":
|
return SX2023Constant.SX_2023_API_ODS_UP_LSKCXXJK;
|
case "1209":
|
return SX2023Constant.SX_2023_API_ODS_UP_SYDXXJK;
|
case "1210":
|
return SX2023Constant.SX_2023_API_ODS_UP_LSXZZBDXXJK;
|
case "1211":
|
return SX2023Constant.SX_2023_API_ODS_UP_ZMKCXXJK;
|
case "1212":
|
return SX2023Constant.SX_2023_API_ODS_UP_KHXXJK;
|
case "1301":
|
return SX2023Constant.SX_2023_API_ODS_UP_AQGLXXJK;
|
case "1302":
|
return SX2023Constant.SX_2023_API_ODS_UP_WSDJCXXJK;
|
case "1303":
|
return SX2023Constant.SX_2023_API_ODS_UP_CHJCXXJK;
|
case "1304":
|
return SX2023Constant.SX_2023_API_ODS_UP_QTJCXXJK;
|
case "1305":
|
return SX2023Constant.SX_2023_API_ODS_UP_TFZYXXJK;
|
case "1306":
|
return SX2023Constant.SX_2023_API_ODS_UP_XZZYXXJK;
|
case "1307":
|
return SX2023Constant.SX_2023_API_ODS_UP_CNSPTXXXJK;
|
case "1308":
|
return SX2023Constant.SX_2023_API_ODS_UP_SPJKYCSJGJJBXXJK;
|
case "1309":
|
return SX2023Constant.SX_2023_API_ODS_UP_WGYJXXJK;
|
case "1310":
|
return SX2023Constant.SX_2023_API_ODS_UP_ZJXXJK;
|
case "1401":
|
return SX2023Constant.SX_2023_API_ODS_UP_CBGMXXJK;
|
case "1403":
|
return SX2023Constant.SX_2023_API_ODS_UP_LHJHXXJK;
|
case "1404":
|
return SX2023Constant.SX_2023_API_ODS_UP_LHJHMXXXJK;
|
case "1501":
|
return SX2023Constant.SX_2023_API_ODS_UP_CWBBXXJK;
|
case "1502":
|
return SX2023Constant.SX_2023_API_ODS_UP_CWBBXXJK;
|
case "1503":
|
return SX2023Constant.SX_2023_API_ODS_UP_CWBBXXJK;
|
default:
|
return inteId;
|
}
|
}
|
|
}
|