package com.fzzy.push.sh2023; import com.alibaba.fastjson.JSON; 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.*; import com.fzzy.order.data.OrderData; import com.fzzy.push.sh2023.dto.*; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.time.DateFormatUtils; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.*; /** * 上海市平台2023版-上传数据服务类 * * @author czt * @date 2023/08/17 */ @Slf4j @Data @Service public class SH2023ApiRemoteService implements ApiRemoteService { @Autowired private RedisUtil redisUtil; @Autowired private ApiCommonService apiCommonService; @Autowired private ApiTriggerService apiTriggerService; @Autowired private ApiLogRep apiLogRep; @Autowired private Api1102Rep api1102Rep; @Autowired private Api1104Rep api1104Rep; @Autowired private Api1109Rep api1109Rep; @Autowired private Api1202Rep api1202Rep; @Autowired private Api1205Rep api1205Rep; @Override public String getProtocol() { return PushProtocol.SB_SH_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(); //查询库区信息行政区划码 List api1102List = api1102Rep.findPushData(kqdm); try { if (null == conf) { conf = apiCommonService.getConf(kqdm); } //添加日志 ApiLog apiLog = new ApiLog(); apiLog.setId(ContextUtil.getUUID()); //若为财务1501、1502、1503接口,则接口编码填写1114 if (SH2023Constant.SH_2023_API_CODE_1114_1501.equals(param.getInteId()) || SH2023Constant.SH_2023_API_CODE_1114_1502.equals(param.getInteId()) || SH2023Constant.SH_2023_API_CODE_1114_1503.equals(param.getInteId())) { inteId = SH2023Constant.SH_2023_API_CODE_1114; } apiLog.setInteId(inteId); if (StringUtils.isEmpty(inteId)) { ResponseDto responseDto = new ResponseDto(99, "没有获取到接口"); apiLog.setStatus(99); apiLog.setResult("没有获取到接口"); apiLogRep.save(apiLog); return responseDto; } String jsonData = getJsonData(param.getInteId(), data, api1102List.get(0).getXzqhdm()); log.info("接口数据信息=" + jsonData); apiLog.setData(jsonData); apiLog.setKqdm(kqdm); apiLog.setUploadTime(new Date()); if (conf == null) { ResponseDto responseDto = new ResponseDto(99, "没有获取到上传配置"); apiLog.setStatus(99); apiLog.setResult("没有获取到上传配置"); apiLogRep.save(apiLog); return responseDto; } //获取指令id String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm()); OrderData orderData = (OrderData) redisUtil.get(key); if (StringUtils.isEmpty(orderData.getOrderid())) { log.error("指令id失效=" + jsonData); ResponseDto responseDto = new ResponseDto(99, "指令id失效"); apiLog.setStatus(99); apiLog.setResult("指令id失效"); apiLogRep.save(apiLog); return responseDto; } //封装推送数据 SH2023ReqDto reqData = new SH2023ReqDto(); reqData.setId(ContextUtil.getUUID()); //获取身份ID,即行政区划码 reqData.setUid(conf.getUserName()); //指令id reqData.setOrderid(orderData.getOrderid()); //身份签名,使用自有RSA私钥进行加密(地区行政区划代码_当天日期) reqData.setAccess_token(ShRSAUtils.sign(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword())); //数据总条数 if (SH2023Constant.SH_2023_API_CODE_1114_1501.equals(param.getInteId()) || SH2023Constant.SH_2023_API_CODE_1114_1502.equals(param.getInteId()) || SH2023Constant.SH_2023_API_CODE_1114_1503.equals(param.getInteId())) { reqData.setDatalength(1); }else { List list = (List) data; reqData.setDatalength(list.size()); } //使用区级平台公钥对数据进行RSA加密 reqData.setData(ShRSAUtils.encryptByPubKey(jsonData, conf.getPublicKey())); //摘要,数据主体的MD5值 reqData.setDigst(MyMD5Util.encrypt(jsonData)); SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, JSON.toJSONString(reqData), conf); apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode()); apiLog.setResult(responseDto.getResult()); apiLogRep.save(apiLog); ResponseDto resd = new ResponseDto(); resd.setSuccess(responseDto.getCode() == 200 ? 0 : responseDto.getCode()); resd.setMsg(responseDto.getResult()); return resd; } catch (Exception e) { log.error(e.getMessage(), e); return new ResponseDto(99, e.getMessage()); } } /** * 推送财务数据接口 * * @param param * @param conf * @param data * @return */ private ResponseDto pushFinanceData(ApiParam param, ApiConfs conf, Object data) { String inteId = param.getInteId(); String kqdm = param.getKqdm(); //查询库区信息行政区划码 List api1102List = api1102Rep.findPushData(conf.getKqdm()); try { if (null == conf) { conf = apiCommonService.getConf(kqdm); } //添加日志 ApiLog apiLog = new ApiLog(); apiLog.setId(ContextUtil.getUUID()); apiLog.setInteId("1114"); String jsonData = getJsonData(inteId, data, api1102List.get(0).getXzqhdm()); log.info("接口数据信息=" + jsonData); if (StringUtils.isEmpty(inteId)) { ResponseDto responseDto = new ResponseDto(99, "没有获取到接口"); apiLog.setStatus(99); apiLog.setResult("没有获取到接口"); apiLogRep.save(apiLog); return responseDto; } apiLog.setData(jsonData); apiLog.setKqdm(kqdm); apiLog.setUploadTime(new Date()); if (conf == null) { ResponseDto responseDto = new ResponseDto(99, "没有获取到上传配置"); apiLog.setStatus(99); apiLog.setResult("没有获取到上传配置"); apiLogRep.save(apiLog); return responseDto; } //获取指令id String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm()); OrderData orderData = (OrderData) redisUtil.get(key); if (StringUtils.isEmpty(orderData.getOrderid())) { ResponseDto responseDto = new ResponseDto(99, "指令id失效"); apiLog.setStatus(99); apiLog.setResult("指令id失效"); apiLogRep.save(apiLog); return responseDto; } //封装推送数据 SH2023ReqDto reqData = new SH2023ReqDto(); reqData.setId(ContextUtil.getUUID()); //获取身份ID,即行政区划码 reqData.setUid(conf.getUserName()); //指令id reqData.setOrderid(orderData.getOrderid()); //身份签名,使用自有RSA私钥进行加密(地区行政区划代码_当天日期) reqData.setAccess_token(ShRSAUtils.sign(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword())); //数据总条数 List list = (List) data; reqData.setDatalength(list.size()); //使用区级平台公钥对数据进行RSA加密 reqData.setData(ShRSAUtils.encryptByPubKey(jsonData, conf.getPublicKey())); //摘要,数据主体的MD5值 reqData.setDigst(MyMD5Util.encrypt(jsonData)); SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, JSON.toJSONString(reqData), conf); apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode()); apiLog.setResult(responseDto.getResult()); apiLogRep.save(apiLog); ResponseDto resd = new ResponseDto(); resd.setSuccess(responseDto.getCode() == 200 ? 0 : responseDto.getCode()); resd.setMsg(responseDto.getResult()); return resd; } catch (Exception e) { log.error(e.getMessage(), e); return new ResponseDto(99, e.getMessage()); } } /** * 调整数据封装,获取json数据 * * @param inteId * @param data * @return * @throws Exception */ private String getJsonData(String inteId, Object data, String code) { //具体根据接口进行封装 if (SH2023Constant.SH_2023_API_CODE_1101.equals(inteId)) { SH2023Api1101 api1101; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1101List = castList(data, Api1101.class); //查询廒间数 List api1104List = api1104Rep.findPushData(api1101List.get(0).getKqdm()); for (Api1101 apiData : api1101List) { api1101 = new SH2023Api1101(); BeanUtils.copyProperties(apiData, api1101); api1101.setAjs(api1104List.size()); api1101.setBjw(ShAreaBjw.getBjw(code)); list.add(api1101); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1102.equals(inteId)) { SH2023Api1102 api1102; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1101List = castList(data, Api1102.class); //查询廒间数 List api1104List = api1104Rep.findPushData(api1101List.get(0).getKqdm()); //计算储备仓容 Double count = 0.0; for (Api1104 api1104 : api1104List) { count = count + api1104.getAjsjcrong(); } for (Api1102 apiData : api1101List) { api1102 = new SH2023Api1102(); BeanUtils.copyProperties(apiData, api1102); api1102.setAjs(api1104List.size()); api1102.setBjw(ShAreaBjw.getBjw(code)); api1102.setKqsx("2"); api1102.setCbcr(count); //TODO 库区状态 api1102.setKqzt("1"); list.add(api1102); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1103.equals(inteId)) { SH2023Api1103 api1103; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1103List = castList(data, Api1103.class); //查询廒间数 List api1104List = api1104Rep.findPushData(api1103List.get(0).getKqdm()); for (Api1103 apiData : api1103List) { api1103 = new SH2023Api1103(); BeanUtils.copyProperties(apiData, api1103); api1103.setAjs(api1104List.size()); api1103.setBjw(ShAreaBjw.getBjw(code)); list.add(api1103); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1104.equals(inteId)) { SH2023Api1104 api1104; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1104List = castList(data, Api1104.class); for (Api1104 apiData : api1104List) { api1104 = new SH2023Api1104(); BeanUtils.copyProperties(apiData, api1104); api1104.setAjdm(apiData.getAjdh()); api1104.setCfdm(apiData.getCfbh()); api1104.setSykqdm(apiData.getKqdm()); api1104.setBjw(ShAreaBjw.getBjw(code)); list.add(api1104); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1105.equals(inteId)) { SH2023Api1105 api1105; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1105List = castList(data, Api1105.class); for (Api1105 apiData : api1105List) { api1105 = new SH2023Api1105(); BeanUtils.copyProperties(apiData, api1105); api1105.setBjw(ShAreaBjw.getBjw(code)); list.add(api1105); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1106.equals(inteId)) { SH2023Api1106 api1106; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1106List = castList(data, Api1106.class); for (Api1106 apiData : api1106List) { api1106 = new SH2023Api1106(); BeanUtils.copyProperties(apiData, api1106); api1106.setBjw(ShAreaBjw.getBjw(code)); list.add(api1106); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1107.equals(inteId)) { SH2023Api1107 api1107; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1107List = castList(data, Api1107.class); for (Api1107 apiData : api1107List) { api1107 = new SH2023Api1107(); BeanUtils.copyProperties(apiData, api1107); api1107.setBjw(ShAreaBjw.getBjw(code)); list.add(api1107); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1108.equals(inteId)) { SH2023Api1108 api1108; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1108List = castList(data, Api1108.class); for (Api1108 apiData : api1108List) { api1108 = new SH2023Api1108(); BeanUtils.copyProperties(apiData, api1108); api1108.setBjw(ShAreaBjw.getBjw(code)); list.add(api1108); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1109.equals(inteId)) { SH2023Api1109 api1109; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1109List = castList(data, Api1109.class); Map map; for (Api1109 apiData : api1109List) { api1109 = new SH2023Api1109(); BeanUtils.copyProperties(apiData, api1109); api1109.setBjw(ShAreaBjw.getBjw(code)); if ("1".equals(api1109.getWjlx())) { api1109.setYwdh("无"); } map = new HashMap<>(); map.put(apiData.getWjmc(), FileUtils.fileToByteString(apiData.getWjdz())); api1109.setWjl(JSON.toJSONString(map)); list.add(api1109); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1110.equals(inteId)) { SH2023Api1110 api1110; //最后转换为json List list = new ArrayList<>(); HashSet set = new HashSet<>(); //把data转化成list集合 List api1110List = castList(data, Api1110.class); for (Api1110 apiData : api1110List) { // 因为廒间是根据货位截取,所以要判断廒间是否重复 if (!set.add(apiData.getHwdm().substring(0, 28))) { continue; } api1110 = new SH2023Api1110(); BeanUtils.copyProperties(apiData, api1110); api1110.setBjw(ShAreaBjw.getBjw(code)); api1110.setAjdm(apiData.getHwdm().substring(0, 28)); api1110.setAjxdwz(apiData.getHwxdwz()); api1110.setAjwzys(apiData.getHwwzys()); list.add(api1110); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1111.equals(inteId)) { SH2023Api1111 api1111; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1111List = castList(data, Api1111.class); for (Api1111 apiData : api1111List) { api1111 = new SH2023Api1111(); BeanUtils.copyProperties(apiData, api1111); api1111.setBjw(ShAreaBjw.getBjw(code)); if (StringUtils.isEmpty(api1111.getBz())) { api1111.setBz("无"); } list.add(api1111); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1112.equals(inteId)) { SH2023Api1112 api1112; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1112List = castList(data, Api1112.class); for (Api1112 apiData : api1112List) { api1112 = new SH2023Api1112(); BeanUtils.copyProperties(apiData, api1112); api1112.setHdrychsj(api1112.getQdzgzchzyzgsj()); api1112.setBjw(ShAreaBjw.getBjw(code)); list.add(api1112); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1113.equals(inteId)) { SH2023Api1113 api1113; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1113List = castList(data, Api1113.class); for (Api1113 apiData : api1113List) { api1113 = new SH2023Api1113(); BeanUtils.copyProperties(apiData, api1113); api1113.setBjw(ShAreaBjw.getBjw(code)); list.add(api1113); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1201.equals(inteId)) { SH2023Api1201 api1201; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1201List = castList(data, Api1201.class); for (Api1201 apiData : api1201List) { api1201 = new SH2023Api1201(); BeanUtils.copyProperties(apiData, api1201); api1201.setBjw(ShAreaBjw.getBjw(code)); api1201.setHtsfzz("0"); list.add(api1201); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1202.equals(inteId)) { SH2023Api1202 api1202; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1202List = castList(data, Api1202.class); for (Api1202 apiData : api1202List) { api1202 = new SH2023Api1202(); BeanUtils.copyProperties(apiData, api1202); api1202.setBjw(ShAreaBjw.getBjw(code)); api1202.setPch(apiData.getHwdm() + apiData.getShnd()); //todo 驳运单号(2104) 检斤单号(2101) 均为非必填 api1202.setJzrq(apiData.getCmsj()); list.add(api1202); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1203.equals(inteId)) { SH2023Api1203 api1203; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1203List = castList(data, Api1203.class); for (Api1203 apiData : api1203List) { api1203 = new SH2023Api1203(); BeanUtils.copyProperties(apiData, api1203); api1203.setBjw(ShAreaBjw.getBjw(code)); //查询收获年份 List api1202List = api1202Rep.getDataById(apiData.getRkywdh()); api1203.setPch(apiData.getHwdm() + api1202List.get(0).getShnd()); list.add(api1203); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1204.equals(inteId)) { SH2023Api1204 api1204; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1204List = castList(data, Api1204.class); for (Api1204 apiData : api1204List) { api1204 = new SH2023Api1204(); BeanUtils.copyProperties(apiData, api1204); api1204.setBjw(ShAreaBjw.getBjw(code)); api1204.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJssj(), "yyyy")); list.add(api1204); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1205.equals(inteId)) { SH2023Api1205 api1205; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1205List = castList(data, Api1205.class); for (Api1205 apiData : api1205List) { api1205 = new SH2023Api1205(); BeanUtils.copyProperties(apiData, api1205); api1205.setBjw(ShAreaBjw.getBjw(code)); api1205.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getCmsj(), "yyyy")); api1205.setJzrq(apiData.getCmsj()); api1205.setJhmxh("无"); api1205.setJjlx("无"); list.add(api1205); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1206.equals(inteId)) { SH2023Api1206 api1206; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1206List = castList(data, Api1206.class); for (Api1206 apiData : api1206List) { api1206 = new SH2023Api1206(); BeanUtils.copyProperties(apiData, api1206); api1206.setBjw(ShAreaBjw.getBjw(code)); List api1205List = api1205Rep.getDataById(apiData.getCkjsdh()); api1206.setPch(api1205List.get(0).getHwdm() + DateFormatUtils.format(api1205List.get(0).getCmsj(), "yyyy")); list.add(api1206); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1207.equals(inteId)) { SH2023Api1207 api1207; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1207List = castList(data, Api1207.class); for (Api1207 apiData : api1207List) { api1207 = new SH2023Api1207(); BeanUtils.copyProperties(apiData, api1207); api1207.setDcrq(apiData.getDcrq()); api1207.setBjw(ShAreaBjw.getBjw(code)); //TODO 库调单号 api1207.setPch(apiData.getDchwdm() + DateFormatUtils.format(apiData.getDcrq(), "yyyy")); api1207.setKddh(apiData.getDcdh().substring(21,33)); list.add(api1207); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1208.equals(inteId)) { SH2023Api1208 api1208; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1208List = castList(data, Api1208.class); for (Api1208 apiData : api1208List) { api1208 = new SH2023Api1208(); BeanUtils.copyProperties(apiData, api1208); api1208.setZglkdm(api1208.getHwdm().substring(0, 21)); //TODO 来粮代码 api1208.setBjw(ShAreaBjw.getBjw(code)); api1208.setPch(apiData.getHwdm() + apiData.getShnd()); list.add(api1208); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1209.equals(inteId)) { SH2023Api1209 api1209; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1209List = castList(data, Api1209.class); for (Api1209 apiData : api1209List) { api1209 = new SH2023Api1209(); BeanUtils.copyProperties(apiData, api1209); api1209.setDjlx("2"); api1209.setSzjl(apiData.getQzszkl()); api1209.setZrshde(apiData.getQzzrshde()); api1209.setBjw(ShAreaBjw.getBjw(code)); api1209.setJzrq(apiData.getYwrq()); api1209.setBz("无"); api1209.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getYwrq(), "yyyy")); list.add(api1209); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1210.equals(inteId)) { SH2023Api1210 api1210; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1210List = castList(data, Api1210.class); for (Api1210 apiData : api1210List) { api1210 = new SH2023Api1210(); BeanUtils.copyProperties(apiData, api1210); api1210.setBjw(ShAreaBjw.getBjw(code)); api1210.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getHzrq(), "yyyy")); list.add(api1210); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1211.equals(inteId)) { SH2023Api1211 api1211; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1211List = castList(data, Api1211.class); for (Api1211 apiData : api1211List) { api1211 = new SH2023Api1211(); BeanUtils.copyProperties(apiData, api1211); api1211.setZglkdm(api1211.getKqdm()); //TODO 货位代码 粮食性质代码 来粮代码 // api1211.setHwdm("91310114703439394M001000100101"); // api1211.setLsxzdm("001"); // api1211.setLldm("91310114703439394M001000100101"); api1211.setBjw(ShAreaBjw.getBjw(code)); api1211.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getYwrq(), "yyyyMM")); if(StringUtils.isEmpty(api1211.getLldm())){ api1211.setLldm("无"); } list.add(api1211); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1212.equals(inteId)) { SH2023Api1212 api1212; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1212List = castList(data, Api1212.class); for (Api1212 apiData : api1212List) { api1212 = new SH2023Api1212(); BeanUtils.copyProperties(apiData, api1212); api1212.setBjw(ShAreaBjw.getBjw(code)); list.add(api1212); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1301.equals(inteId)) { SH2023Api1301 api1301; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1301List = castList(data, Api1301.class); for (Api1301 apiData : api1301List) { api1301 = new SH2023Api1301(); BeanUtils.copyProperties(apiData, api1301); api1301.setBjw(ShAreaBjw.getBjw(code)); list.add(api1301); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1302.equals(inteId)) { SH2023Api1302 api1302; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1302List = castList(data, Api1302.class); for (Api1302 apiData : api1302List) { api1302 = new SH2023Api1302(); BeanUtils.copyProperties(apiData, api1302); api1302.setBjw(ShAreaBjw.getBjw(code)); api1302.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJcsj(), "yyyy")); api1302.setCpjw(String.valueOf(apiData.getLspjw())); api1302.setCzgw(String.valueOf(apiData.getLspjw())); api1302.setCzdw(String.valueOf(apiData.getLspjw())); api1302.setGfwjw(String.valueOf(apiData.getLspjw())); api1302.setLwmx(apiData.getLswdzjh()); list.add(api1302); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1303.equals(inteId)) { SH2023Api1303 api1303; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1303List = castList(data, Api1303.class); for (Api1303 apiData : api1303List) { api1303 = new SH2023Api1303(); BeanUtils.copyProperties(apiData, api1303); api1303.setBjw(ShAreaBjw.getBjw(code)); api1303.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJcsj(), "yyyy")); list.add(api1303); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1304.equals(inteId)) { SH2023Api1304 api1304; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1304List = castList(data, Api1304.class); for (Api1304 apiData : api1304List) { api1304 = new SH2023Api1304(); BeanUtils.copyProperties(apiData, api1304); api1304.setBjw(ShAreaBjw.getBjw(code)); api1304.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJcsj(), "yyyy")); list.add(api1304); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1305.equals(inteId)) { SH2023Api1305 api1305; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1305List = castList(data, Api1305.class); for (Api1305 apiData : api1305List) { api1305 = new SH2023Api1305(); BeanUtils.copyProperties(apiData, api1305); api1305.setBjw(ShAreaBjw.getBjw(code)); api1305.setAjdm(apiData.getTfzydh().substring(0, 28)); list.add(api1305); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1306.equals(inteId)) { SH2023Api1306 api1306; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1306List = castList(data, Api1306.class); for (Api1306 apiData : api1306List) { api1306 = new SH2023Api1306(); BeanUtils.copyProperties(apiData, api1306); api1306.setBjw(ShAreaBjw.getBjw(code)); api1306.setPch(apiData.getXzzydh().substring(0, 30) + DateFormatUtils.format(apiData.getXzkssj(), "yyyy")); api1306.setAjdm(apiData.getXzzydh().substring(0, 28)); list.add(api1306); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1307.equals(inteId)) { SH2023Api1307 api1307; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1307List = castList(data, Api1307.class); for (Api1307 apiData : api1307List) { api1307 = new SH2023Api1307(); BeanUtils.copyProperties(apiData, api1307); api1307.setBjw(ShAreaBjw.getBjw(code)); api1307.setAjdm(apiData.getHwdm().substring(0, 28)); List api1109List = api1109Rep.getDataByFileId(apiData.getFileStorageId()); api1307.setTxbh(api1109List.get(0).getWjmc()); list.add(api1307); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1308.equals(inteId)) { SH2023Api1308 api1308; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1308List = castList(data, Api1308.class); for (Api1308 apiData : api1308List) { api1308 = new SH2023Api1308(); BeanUtils.copyProperties(apiData, api1308); //TODO 货位代码 图像编号 视频编号 api1308.setHwdm("无"); api1308.setBjw(ShAreaBjw.getBjw(code)); List api1109List = api1109Rep.getDataByFileId(apiData.getFileStorageId()); api1308.setTxbh(api1109List.get(0).getWjmc()); api1308.setSpbh(api1109List.get(0).getWjmc()); list.add(api1308); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1309.equals(inteId)) { SH2023Api1309 api1309; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1308List = castList(data, Api1309.class); for (Api1309 apiData : api1308List) { api1309 = new SH2023Api1309(); BeanUtils.copyProperties(apiData, api1309); api1309.setBjw(ShAreaBjw.getBjw(code)); list.add(api1309); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1310.equals(inteId)) { SH2023Api1310 api1310; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1310List = castList(data, Api1310.class); for (Api1310 apiData : api1310List) { api1310 = new SH2023Api1310(); BeanUtils.copyProperties(apiData, api1310); api1310.setBjw(ShAreaBjw.getBjw(code)); api1310.setJyrq(apiData.getJysj()); api1310.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJysj(), "yyyy")); List api1202List = api1202Rep.getDataByHwdm(apiData.getHwdm()); api1310.setLspzdm(api1202List.get(0).getLspzdm()); api1310.setLsxzdm("002"); list.add(api1310); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1401.equals(inteId)) { SH2023Api1401 api1401; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1401List = castList(data, Api1401.class); for (Api1401 apiData : api1401List) { api1401 = new SH2023Api1401(); BeanUtils.copyProperties(apiData, api1401); api1401.setBjw(ShAreaBjw.getBjw(code)); list.add(api1401); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1402.equals(inteId)) { SH2023Api1402 api1402; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1402List = castList(data, Api1402.class); for (Api1402 apiData : api1402List) { api1402 = new SH2023Api1402(); BeanUtils.copyProperties(apiData, api1402); api1402.setBjw(ShAreaBjw.getBjw(code)); list.add(api1402); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1403.equals(inteId)) { SH2023Api1403 api1403; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1403List = castList(data, Api1403.class); for (Api1403 apiData : api1403List) { api1403 = new SH2023Api1403(); BeanUtils.copyProperties(apiData, api1403); api1403.setJhzxdw(apiData.getJhxddw()); api1403.setJhzxdwmc(apiData.getJhxddwmc()); api1403.setBjw(ShAreaBjw.getBjw(code)); list.add(api1403); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1404.equals(inteId)) { SH2023Api1404 api1404; //最后转换为json List list = new ArrayList<>(); //把data转化成list集合 List api1404List = castList(data, Api1404.class); for (Api1404 apiData : api1404List) { api1404 = new SH2023Api1404(); BeanUtils.copyProperties(apiData, api1404); //TODO 明细状态 api1404.setMxzt("1"); api1404.setBjw(ShAreaBjw.getBjw(code)); list.add(api1404); } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_2101.equals(inteId)) { SH2023Api2101 api2101; //最后转换为json //把data转化成list集合 List list = castList(data, SH2023Api2101.class); return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_2102.equals(inteId)) { // SH2023Api2102 api2102; // //最后转换为json // List list = new ArrayList<>(); // //把data转化成list集合 // List api1207List = castList(data, Api1207.class); // for (Api1207 apiData : api1207List) { // api2102 = new SH2023Api2102(); // BeanUtils.copyProperties(apiData, api2102); // api2102.setDrdh(apiData.getDcdh()); // api2102.setDcrq(apiData.getDcrq()); // api2102.setPch(api2102.getDrhwdm() + DateFormatUtils.format(apiData.getDcrq(), "yyyy")); // api2102.setBjw(ShAreaBjw.getBjw(code)); // //TODO 库调单号 // // list.add(api2102); // } List list = castList(data, SH2023Api2102.class); return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_2103.equals(inteId)) { SH2023Api2103 api2103; //最后转换为json //把data转化成list集合 List list = castList(data, SH2023Api2103.class); List listItems = castList(list.get(0).getDlqplxq(), SH2023Api2103Item.class); list.get(0).setCzbz("i"); list.get(0).setSh2023Api2103Items(listItems); return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_2104.equals(inteId)) { SH2023Api2104 api2104; //最后转换为json //把data转化成list集合 List list = castList(data, SH2023Api2104.class); return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_2203.equals(inteId)) { SH2023Api2203 api2203; //最后转换为json // List list = new ArrayList<>(); //把data转化成list集合 List list = castList(data, SH2023Api2203.class); // for (Api1201 apiData : api1201List) { // api2203 = new SH2023Api2203(); // BeanUtils.copyProperties(apiData, api2203); // api2203.setHtbh(apiData.getHth()); // //// api2203.setBdh(); // api2203.setCjrq(apiData.getQdrq()); //// api2203.setJyzt(); //// api2203.setLsxz(); //// api2203.setLspzmx(); //// api2203.setScnf(); //// api2203.setKd(); // // // list.add(api2203); // } return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_2204.equals(inteId)) { SH2023Api2204 api2204; //最后转换为json // List list = new ArrayList<>(); //把data转化成list集合 List list = castList(data, SH2023Api2204.class); // for (Api1310 apiData : api1310List) { // api2204 = new SH2023Api2204(); // BeanUtils.copyProperties(apiData, api2204); //// api2204.setSf(); //// api2204.setRksf(); //// api2204.setlldm(); // api2204.setBjw(ShAreaBjw.getBjw(code)); // api2204.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJysj(), "yyyy")); // list.add(api2204); // } return JSON.toJSONString(list); } //财务报表数据封装 if (SH2023Constant.SH_2023_API_CODE_1114_1501.equals(inteId)){ List list = copyApi1501((Api1501) data); return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1114_1502.equals(inteId)){ List list = copyApi1502((Api1502) data); return JSON.toJSONString(list); } if (SH2023Constant.SH_2023_API_CODE_1114_1503.equals(inteId)){ List list = copyApi1503((Api1503) data); return JSON.toJSONString(list); } return JSON.toJSONString(data); } /** * Object类型转变为List * * @param obj * @param clazz * @param * @return */ public static List castList(Object obj, Class clazz) { List result = new ArrayList(); if (obj instanceof List) { for (Object o : (List) obj) { result.add(clazz.cast(o)); } return result; } return null; } private List copyApi1503(Api1503 data) { Api1503 api1503 = data; List list = new ArrayList<>(); SHFinanceDto shFinanceDto = new SHFinanceDto(); shFinanceDto.setDwdm(api1503.getDwdm()); shFinanceDto.setBbsj(DateFormatUtils.format(api1503.getBbsj(), "yyyyMMdd")); shFinanceDto.setBbm("03"); shFinanceDto.setCzbz(api1503.getCzbz()); shFinanceDto.setZhgxsj(DateFormatUtils.format(api1503.getZhgxsj(), "yyyy-MM-dd HH:mm:ss")); paddingData(shFinanceDto, list, "项目//t", "本期金额//t", "本年累计//t"); paddingData(shFinanceDto, list, "一、营业收入", api1503.getYyzsrbqye() + "", api1503.getYyzsrbnlj() + ""); paddingData(shFinanceDto, list, "减:营业成本", api1503.getYycbbqye() + "", api1503.getYycbbnlj() + ""); paddingData(shFinanceDto, list, "税金及附加", api1503.getSjjfjbqye() + "", api1503.getSjjfjbnlj() + ""); paddingData(shFinanceDto, list, "销售费用", api1503.getXsfybqye() + "", api1503.getXsfybnlj() + ""); paddingData(shFinanceDto, list, "管理费用", api1503.getGlfybqye() + "", api1503.getGlfybnlj() + ""); paddingData(shFinanceDto, list, "研发费用", api1503.getYffybqye() + "", api1503.getYffybnlj() + ""); paddingData(shFinanceDto, list, "财务费用", api1503.getCwfybqye() + "", api1503.getCwfybnlj() + ""); paddingData(shFinanceDto, list, "其中:利息费用", api1503.getLxfybqye() + "", api1503.getLxfybnlj() + ""); paddingData(shFinanceDto, list, "利息收入", api1503.getLxsrbqye() + "", api1503.getLxsrbnlj() + ""); paddingData(shFinanceDto, list, "加:其他收益", api1503.getQtsybqye() + "", api1503.getQtsybnlj() + ""); paddingData(shFinanceDto, list, "投资收益(损失以“-”号填列)", api1503.getTzsybqye() + "", api1503.getTzsybnlj() + ""); paddingData(shFinanceDto, list, "其中:对联营企业和合营企业的投资收益", api1503.getLyqytzsybqye() + "", api1503.getLyqytzsybnlj() + ""); paddingData(shFinanceDto, list, "公允价值变动收益(损失以“-”号填列)", api1503.getGyjzbdsybqye() + "", api1503.getGyjzbdsybnlj() + ""); paddingData(shFinanceDto, list, "资产减值损失(损失以“-”号填列)", api1503.getZcjzssbqye() + "", api1503.getZcjzssbnlj() + ""); paddingData(shFinanceDto, list, "资产处置收益(损失以“-”号填列)", api1503.getZcczsybqye() + "", api1503.getZcczsybnlj() + ""); paddingData(shFinanceDto, list, "二、营业利润(亏损以“-”号填列)", api1503.getYylrbqye() + "", api1503.getYylrbnlj() + ""); paddingData(shFinanceDto, list, "加:营业外收入", api1503.getYywsrbqye() + "", api1503.getYywsrbnlj() + ""); paddingData(shFinanceDto, list, "减:营业外支出", api1503.getYywzcbqye() + "", api1503.getYywzcbnlj() + ""); paddingData(shFinanceDto, list, "三、利润总额(亏损总额以“-”号填列)", api1503.getLrzebqye() + "", api1503.getLrzebnlj() + ""); paddingData(shFinanceDto, list, "减:所得税费用", api1503.getSdsfybqye() + "", api1503.getSdsfybnlj() + ""); paddingData(shFinanceDto, list, "四、净利润(净亏损以“-”号填列)", api1503.getJlrbqye() + "", api1503.getJlrbnlj() + ""); paddingData(shFinanceDto, list, "(一)持续经营净利润(净亏损以“-”号填列)", api1503.getCxjyjlrbqye() + "", api1503.getCxjyjlrbnlj() + ""); paddingData(shFinanceDto, list, "(二)终止经营净利润(净亏损以“-”号填列)", api1503.getZzjyjlrbqye() + "", api1503.getZzjyjlrbnlj() + ""); paddingData(shFinanceDto, list, "五、其他综合收益的税后净额", api1503.getQtzhsyjebqye() + "", api1503.getQtzhsyjebnlj() + ""); paddingData(shFinanceDto, list, "(一)不能重分类进损益的其他综合收益", api1503.getBnflzhsybqye() + "", api1503.getBnflzhsybnlj() + ""); paddingData(shFinanceDto, list, "1.重新计量设定受益计划变动额", api1503.getCxjlbdebqye() + "", api1503.getCxjlbdebnlj() + ""); paddingData(shFinanceDto, list, "(二)将重分类进损益的其他综合收益", "0", "0"); paddingData(shFinanceDto, list, "1.权益法下可转损益的其他综合收益", api1503.getQyfkzsybqye() + "", api1503.getQyfkzsybnlj() + ""); paddingData(shFinanceDto, list, "2.可供出售金融资产公允价值变动损益", api1503.getKgcszcbdsybqye() + "", api1503.getKgcszcbdsybnlj() + ""); paddingData(shFinanceDto, list, "3.持有至到期投资重分类为可供出售金融资产损益", api1503.getCydqtzzcsybqye() + "", api1503.getKgcszcbdsybnlj() + ""); paddingData(shFinanceDto, list, "4.现金流量套期损益的有效部分", api1503.getZjllsybqye() + "", api1503.getZjllsybnlj() + ""); paddingData(shFinanceDto, list, "5.外币财务报表折算差额", api1503.getWbcwbbcebqye() + "", api1503.getWbcwbbcebnlj() + ""); paddingData(shFinanceDto, list, "六、综合收益总额", api1503.getZhsyzebqye() + "", api1503.getZhsyzebnlj() + ""); paddingData(shFinanceDto, list, "七、每股收益:", api1503.getMgsybqye() + "", api1503.getMgsybnlj() + ""); paddingData(shFinanceDto, list, "(一)基本每股收益", api1503.getJbmgsybqye() + "", api1503.getJbmgsybnlj() + ""); paddingData(shFinanceDto, list, "(二)稀释每股收益", api1503.getXsmgsybqye() + "", api1503.getXsmgsybnlj() + ""); return list; } private List copyApi1502(Api1502 data) { Api1502 api1502 = data; List list = new ArrayList<>(); SHFinanceDto shFinanceDto = new SHFinanceDto(); shFinanceDto.setDwdm(api1502.getDwdm()); shFinanceDto.setBbsj(DateFormatUtils.format(api1502.getBbsj(), "yyyyMMdd")); shFinanceDto.setBbm("02"); shFinanceDto.setCzbz(api1502.getCzbz()); shFinanceDto.setZhgxsj(DateFormatUtils.format(api1502.getZhgxsj(), "yyyy-MM-dd HH:mm:ss")); paddingData(shFinanceDto, list, "项目//t", "本月数//t", "本年累计数//t"); paddingData(shFinanceDto, list, "一、经营活动产生的现金流量:", api1502.getJyhdxjllbys() + "", api1502.getJyhdxjllbnljs() + ""); paddingData(shFinanceDto, list, "销售商品、提供劳务收到的现金", api1502.getXssplwxjbys() + "", api1502.getXssplwxjbnljs() + ""); paddingData(shFinanceDto, list, "收到的税费返还", api1502.getSffhbys() + "", api1502.getSffhbnljs() + ""); paddingData(shFinanceDto, list, "收到其他与经营活动有关的现金", api1502.getQtjyhdxjbys() + "", api1502.getQtjyhdxjbnljs() + ""); paddingData(shFinanceDto, list, "经营活动现金流入小计", api1502.getJyhdxjlrbys() + "", api1502.getJyhdxjlrbnljs() + ""); paddingData(shFinanceDto, list, "购买商品、接受劳务支付的现金", api1502.getGmsplwzfbys() + "", api1502.getGmsplwzfbnljs() + ""); paddingData(shFinanceDto, list, "支付给职工以及为职工支付的现金", api1502.getZfzgxjbys() + "", api1502.getZfzgxjbnljs() + ""); paddingData(shFinanceDto, list, "支付的各项税费", api1502.getZfxxsfbys() + "", api1502.getZfxxsfbnljs() + ""); paddingData(shFinanceDto, list, "支付其他与经营活动有关的现金", api1502.getZfqtjyhdxjbys() + "", api1502.getZfqtjyhdxjbnljs() + ""); paddingData(shFinanceDto, list, "经营活动现金流出小计", api1502.getJyhdxjlcbys() + "", api1502.getJyhdxjlcbnljs() + ""); paddingData(shFinanceDto, list, "经营活动产生的现金流量净额", api1502.getJyhdxjlljebys() + "", api1502.getJyhdxjlljebnljs() + ""); paddingData(shFinanceDto, list, "二、投资活动产生的现金流量:", api1502.getTzhdxjllbys() + "", api1502.getTzhdxjllbnljs() + ""); paddingData(shFinanceDto, list, "收回投资收到的现金", api1502.getShtzxjbys() + "", api1502.getShtzxjbnljs() + ""); paddingData(shFinanceDto, list, "取得投资收益收到的现金", api1502.getQdtzsyxjbys() + "", api1502.getQdtzsyxjbnljs() + ""); paddingData(shFinanceDto, list, "处置固定资产、无形资产和其他长期资产收回的现金净额", api1502.getCzgdzcdxjjebys() + "", api1502.getCzgdzcdxjjebnljs() + ""); paddingData(shFinanceDto, list, "处置子公司及其他营业单位收到的现金净额", api1502.getCzqtdwxjjebys() + "", api1502.getCzqtdwxjjebnljs() + ""); paddingData(shFinanceDto, list, "收到其他与投资活动有关的现金", api1502.getSdqttzxjbys() + "", api1502.getSdqttzxjbnljs() + ""); paddingData(shFinanceDto, list, "投资活动现金流入小计", api1502.getTzhdxjlrbys() + "", api1502.getTzhdxjlrbnljs() + ""); paddingData(shFinanceDto, list, "购建固定资产、无形资产和其他长期资产支付的现金", api1502.getGjgdzcdxjbys() + "", api1502.getGjgdzcdxjbnljs() + ""); paddingData(shFinanceDto, list, "投资支付的现金", api1502.getTzzfxjbys() + "", api1502.getTzzfxjbnljs() + ""); paddingData(shFinanceDto, list, "取得子公司及其他营业单位支付的现金净额", api1502.getQdzgsdzfxjjebys() + "", api1502.getQdzgsdzfxjjebnljs() + ""); paddingData(shFinanceDto, list, "支付其他与投资活动有关的现金", api1502.getZfqttzxjbys() + "", api1502.getZfqttzxjbnljs() + ""); paddingData(shFinanceDto, list, "投资活动现金流出小计", api1502.getTzhdxjlcbys() + "", api1502.getTzhdxjlcbnljs() + ""); paddingData(shFinanceDto, list, "投资活动产生的现金流量净额", api1502.getTzhdcsxjlljebys() + "", api1502.getTzhdcsxjlljebnljs() + ""); paddingData(shFinanceDto, list, "三、筹资活动产生的现金流量:", api1502.getCchdxjllbys() + "", api1502.getCchdxjllbnljs() + ""); paddingData(shFinanceDto, list, "吸收投资收到的现金", api1502.getXstzxjbys() + "", api1502.getXstzxjbnljs() + ""); paddingData(shFinanceDto, list, "取得借款收到的现金", api1502.getQdjkxjbys() + "", api1502.getQdjkxjbnljs() + ""); paddingData(shFinanceDto, list, "收到其他与筹资活动有关的现金", api1502.getSdqtczxjbys() + "", api1502.getSdqttzxjbnljs() + ""); paddingData(shFinanceDto, list, "筹资活动现金流入小计", api1502.getCzhdxjlrbys() + "", api1502.getCzhdxjlrbnljs() + ""); paddingData(shFinanceDto, list, "偿还债务支付的现金", api1502.getChzwzfxjbys() + "", api1502.getChzwzfxjbnljs() + ""); paddingData(shFinanceDto, list, "分配股利、利润或偿付利息支付的现金", api1502.getFpgldxjbys() + "", api1502.getFpgldxjbnljs() + ""); paddingData(shFinanceDto, list, "支付其他与筹资活动有关的现金", api1502.getZfqtdxjbys() + "", api1502.getZfqtdxjbnljs() + ""); paddingData(shFinanceDto, list, "筹资活动现金流出小计", api1502.getCzhdxjlcbys() + "", api1502.getCzhdxjlcbnljs() + ""); paddingData(shFinanceDto, list, "筹资活动产生的现金流量净额", api1502.getCchdxjlljebys() + "", api1502.getCchdxjlljebnljs() + ""); paddingData(shFinanceDto, list, "四、汇率变动对现金及现金等价物的影响", api1502.getHlbdxjyxbys() + "", api1502.getHlbdxjyxbnljs() + ""); paddingData(shFinanceDto, list, "五、现金及现金等价物净增加额", api1502.getXjdjwjzebys() + "", api1502.getXjdjwjzebnljs() + ""); paddingData(shFinanceDto, list, "加:期初现金及现金等价物余额", api1502.getQcxjdjwyebys() + "", api1502.getQcxjdjwyebnljs() + ""); paddingData(shFinanceDto, list, "六、期末现金及现金等价物余额", api1502.getQmxjdjwyebys() + "", api1502.getQmxjdjwyebnljs() + ""); return list; } private List copyApi1501(Api1501 data) { Api1501 api1501 = data; List list = new ArrayList<>(); SHFinanceDto shFinanceDto = new SHFinanceDto(); shFinanceDto.setDwdm(api1501.getDwdm()); shFinanceDto.setBbsj(DateFormatUtils.format(api1501.getBbsj(), "yyyyMMdd")); shFinanceDto.setBbm("01"); shFinanceDto.setCzbz(api1501.getCzbz()); shFinanceDto.setZhgxsj(DateFormatUtils.format(api1501.getZhgxsj(), "yyyy-MM-dd HH:mm:ss")); paddingData(shFinanceDto, list, "资产//t", "期末余额//t", "年初余额//t"); paddingData(shFinanceDto, list, "流动资产:", api1501.getLdzchjqmye() + "", api1501.getLdzchjncye() + ""); paddingData(shFinanceDto, list, "货币资金", api1501.getHbjjqmye() + "", api1501.getHbjjncye() + ""); paddingData(shFinanceDto, list, "交易性金融资产", api1501.getJyxjrzcqmye() + "", api1501.getJyxjrzcncye() + ""); paddingData(shFinanceDto, list, "衍生金融资产", api1501.getYsjrzcqmye() + "", api1501.getYsjrzcncye() + ""); paddingData(shFinanceDto, list, "应收票据", api1501.getYspjqmye() + "", api1501.getYspjncye() + ""); paddingData(shFinanceDto, list, "应收账款", api1501.getYszkqmye() + "", api1501.getYszkncye() + ""); paddingData(shFinanceDto, list, "预付款项", api1501.getYuskxqmye() + "", api1501.getYuskxncye() + ""); paddingData(shFinanceDto, list, "其他应收款", api1501.getQtyszkqmye() + "", api1501.getQtyszkncye() + ""); paddingData(shFinanceDto, list, "存货", api1501.getChqmye() + "", api1501.getChncye() + ""); paddingData(shFinanceDto, list, "合同资产", api1501.getHtzcqmye() + "", api1501.getHtzcncye() + ""); paddingData(shFinanceDto, list, "持有待售资产", api1501.getCydszcqmye() + "", api1501.getCydszcncye() + ""); paddingData(shFinanceDto, list, "一年内到期的非流动资产", api1501.getYnndqfldzcqmye() + "", api1501.getYnndqfldzcncye() + ""); paddingData(shFinanceDto, list, "其他流动资产", api1501.getQtldzcqmye() + "", api1501.getQtldzcncye() + ""); paddingData(shFinanceDto, list, "流动资产合计", api1501.getLdzchjqmye() + "", api1501.getLdzchjncye() + ""); paddingData(shFinanceDto, list, "非流动资产:", api1501.getFldzcqmye() + "", api1501.getFldzcncye() + ""); paddingData(shFinanceDto, list, "债券投资", api1501.getZjtzqmye() + "", api1501.getZjtzncye() + ""); paddingData(shFinanceDto, list, "其他债券投资", api1501.getQtzqtzqmye() + "", api1501.getQtzqtzncye() + ""); paddingData(shFinanceDto, list, "长期应收款", api1501.getCqyskqmye() + "", api1501.getCqyskncye() + ""); paddingData(shFinanceDto, list, "长期股权投资", api1501.getCqgqtzqmye() + "", api1501.getCqgqtzncye() + ""); paddingData(shFinanceDto, list, "其他权益工具投资", api1501.getQtqygjtzqmye() + "", api1501.getQtqygjtzncye() + ""); paddingData(shFinanceDto, list, "其他非流动金融资产", api1501.getQtfldjrzcqmye() + "", api1501.getQtfldjrzcncye() + ""); paddingData(shFinanceDto, list, "投资性房地产", api1501.getTzxfdcqmye() + "", api1501.getTzxfdcncye() + ""); paddingData(shFinanceDto, list, "固定资产", api1501.getGdzcqmye() + "", api1501.getGdzcncye() + ""); paddingData(shFinanceDto, list, "在建工程", api1501.getZjgcqmye() + "", api1501.getZjgcncye() + ""); paddingData(shFinanceDto, list, "生产性生物资产", api1501.getScxswzcqmye() + "", api1501.getScxswzcncye() + ""); paddingData(shFinanceDto, list, "油气资产", api1501.getYqzcqmye() + "", api1501.getYqzcncye() + ""); paddingData(shFinanceDto, list, "无形资产", api1501.getWxzcqmye() + "", api1501.getWxzcncye() + ""); paddingData(shFinanceDto, list, "开发支出", api1501.getKfzcqmye() + "", api1501.getKfzcncye() + ""); paddingData(shFinanceDto, list, "商誉", api1501.getSyqmye() + "", api1501.getSyncye() + ""); paddingData(shFinanceDto, list, "长期待摊费用", api1501.getCqdtfyqmye() + "", api1501.getCqdtfyncye() + ""); paddingData(shFinanceDto, list, "递延所得税资产", api1501.getDysdszcqmye() + "", api1501.getDysdszcncye() + ""); paddingData(shFinanceDto, list, "其他非流动资产", api1501.getQtfldzcqmye() + "", api1501.getQtfldzcncye() + ""); paddingData(shFinanceDto, list, "非流动资产合计", api1501.getFldzcqmye() + "", api1501.getFldzcncye() + ""); paddingData(shFinanceDto, list, "资产总计", api1501.getZczjqmye() + "", api1501.getZczjncye() + ""); paddingData(shFinanceDto, list, "负债和所有者权益(或股东权益)//t", "期末余额//t", "年初余额//t"); paddingData(shFinanceDto, list, "流动负债:", api1501.getLdfzhjqmye() + "", api1501.getLdfzhjncye() + ""); paddingData(shFinanceDto, list, "短期借款", api1501.getDqjkqmye() + "", api1501.getLdzchjncye() + ""); paddingData(shFinanceDto, list, "交易性金融负债", api1501.getJyxjrfzqmye() + "", api1501.getJyxjrfzncye() + ""); paddingData(shFinanceDto, list, "衍生金融负债", api1501.getYsjrfzqmye() + "", api1501.getYsjrfzncye() + ""); paddingData(shFinanceDto, list, "应付票据", api1501.getLdfzyspjqmye() + "", api1501.getLdfzyspjncye() + ""); paddingData(shFinanceDto, list, "应付账款", api1501.getLdfzyszkqmye() + "", api1501.getLdfzyszkncye() + ""); paddingData(shFinanceDto, list, "预收款项", api1501.getLdfzyuskxqmye() + "", api1501.getLdfzyszkncye() + ""); paddingData(shFinanceDto, list, "合同负债", api1501.getHtfzqmye() + "", api1501.getHtfzncye() + ""); paddingData(shFinanceDto, list, "应付职工薪酬", api1501.getYfzgxcqmye() + "", api1501.getYfzgxcncye() + ""); paddingData(shFinanceDto, list, "应交税费", api1501.getYjsfqmye() + "", api1501.getYjsfncye() + ""); paddingData(shFinanceDto, list, "其他应付款", api1501.getQtyfkqmye() + "", api1501.getQtyfkncye() + ""); paddingData(shFinanceDto, list, "持有待售负债", api1501.getCydsfzqmye() + "", api1501.getCydsfzncye() + ""); paddingData(shFinanceDto, list, "一年内到期的非流动负债", api1501.getYnddqfldfzqmye() + "", api1501.getYnddqfldfzncye() + ""); paddingData(shFinanceDto, list, "其他流动负债", api1501.getQtldfzqmye() + "", api1501.getQtldfzncye() + ""); paddingData(shFinanceDto, list, "流动负债合计", api1501.getLdfzhjqmye() + "", api1501.getLdfzhjncye() + ""); paddingData(shFinanceDto, list, "非流动负债:", api1501.getFldfzhjqmye() + "", api1501.getFldfzhjncye() + ""); paddingData(shFinanceDto, list, "长期借款", api1501.getCqjkqmye() + "", api1501.getCqjkncye() + ""); paddingData(shFinanceDto, list, "应付债券", api1501.getYfzqqmye() + "", api1501.getYfzqncye() + ""); paddingData(shFinanceDto, list, "其中:优先股", api1501.getYfzqyxgqmye() + "", api1501.getYfzqyxgncye() + ""); paddingData(shFinanceDto, list, "永续债", api1501.getYfzqyxzqmye() + "", api1501.getYfzqyxzncye() + ""); paddingData(shFinanceDto, list, "长期应付款", api1501.getCqyfkqmye() + "", api1501.getCqyfkncye() + ""); paddingData(shFinanceDto, list, "预计负债", api1501.getYjsfqmye() + "", api1501.getYjsfncye() + ""); paddingData(shFinanceDto, list, "递延收益", api1501.getDysyqmye() + "", api1501.getDysyncye() + ""); paddingData(shFinanceDto, list, "递延所得税负债", api1501.getDysdsfzqmye() + "", api1501.getDysdsfzncye() + ""); paddingData(shFinanceDto, list, "其他非流动负债", api1501.getQtfldfzqmye() + "", api1501.getQtfldfzncye() + ""); paddingData(shFinanceDto, list, "非流动负债合计", api1501.getFldfzhjqmye() + "", api1501.getFldfzhjncye() + ""); paddingData(shFinanceDto, list, "负债合计", api1501.getFzhjqmye() + "", api1501.getFzhjncye() + ""); paddingData(shFinanceDto, list, "所有者权益(或股东权益):", api1501.getSyzqyqmye() + "", api1501.getSyzqyncye() + ""); paddingData(shFinanceDto, list, "实收资本(或股本)", api1501.getSszbqmye() + "", api1501.getSszbncye() + ""); paddingData(shFinanceDto, list, "其他权益工具", api1501.getQtqygjqmye() + "", api1501.getQtqygjncye() + ""); paddingData(shFinanceDto, list, "其中:优先股", api1501.getQtqygjyxgqmye() + "", api1501.getQtqygjyxgncye() + ""); paddingData(shFinanceDto, list, "永续债", api1501.getQtqygjyxzqmye() + "", api1501.getQtqygjyxzncye() + ""); paddingData(shFinanceDto, list, "资本公积", api1501.getZbgjqmye() + "", api1501.getZbgjncye() + ""); paddingData(shFinanceDto, list, "减:库存股", api1501.getJkcgqmye() + "", api1501.getJkcgncye() + ""); paddingData(shFinanceDto, list, "其他综合收益", api1501.getQtzhsyqmye() + "", api1501.getQtzhsyncye() + ""); paddingData(shFinanceDto, list, "专项储备", api1501.getZxcbqmye() + "", api1501.getZxcbncye() + ""); paddingData(shFinanceDto, list, "盈余公积", api1501.getYygjqmye() + "", api1501.getYygjncye() + ""); paddingData(shFinanceDto, list, "未分配利润", api1501.getWfplrqmye() + "", api1501.getWfplrncye() + ""); paddingData(shFinanceDto, list, "所有者权益(或股东权益)合计", api1501.getSyzqyqmye() + "", api1501.getSyzqyncye() + ""); paddingData(shFinanceDto, list, "负债和所有者权益(或股东权益)总计", api1501.getFzhsyzqyqmye() + "", api1501.getFzhsyzqyncye() + ""); return list; } private void paddingData(SHFinanceDto common, List list, String zbmc, String zbz1, String zbz2) { SHFinanceDto shFinanceDto = new SHFinanceDto(); BeanUtils.copyProperties(common, shFinanceDto); shFinanceDto.setZbmc(zbmc); shFinanceDto.setZbz1(zbz1); shFinanceDto.setZbz2(zbz2); list.add(shFinanceDto); } }