YYC
2023-09-07 7af11da07988e252a0e6d8aefef1c575aab3764a
src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -4,24 +4,25 @@
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.dto.ResponseDto;
import com.fzzy.api.entity.Api1102;
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.api.entity.ApiLog;
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.Api1102Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.push.sh2023.dto.SH2023ReqDto;
import com.fzzy.push.sh2023.dto.SH2023RespDto;
import com.fzzy.api.view.repository.*;
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.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
/**
@@ -45,6 +46,14 @@
    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() {
@@ -60,7 +69,8 @@
    public ResponseDto pushData(ApiParam param, ApiConfs conf, Object data) {
        String inteId = param.getInteId();
        String kqdm = param.getKqdm();
        //查询库区信息行政区划码
        List<Api1102> api1102List = api1102Rep.findPushData(conf.getKqdm());
        try {
            if (null == conf) {
                conf = apiCommonService.getConf(kqdm);
@@ -70,7 +80,7 @@
            ApiLog apiLog = new ApiLog();
            apiLog.setId(ContextUtil.getUUID());
            apiLog.setInteId(inteId);
            String jsonData = getJsonData(inteId, data);
            String jsonData = getJsonData(inteId, data, api1102List.get(0).getXzqhdm());
            log.info("接口数据信息=" + jsonData);
            if (StringUtils.isEmpty(inteId)) {
@@ -96,8 +106,7 @@
            SH2023ReqDto reqData = new SH2023ReqDto();
            reqData.setId(ContextUtil.getUUID());
            //获取身份ID,即行政区划码
            List<Api1102> api1102List = api1102Rep.findPushData(conf.getKqdm());
            if(null == api1102List || api1102List.isEmpty()){
            if (null == api1102List || api1102List.isEmpty()) {
                ResponseDto responseDto = new ResponseDto(99, "没有获取到身份ID");
                apiLog.setStatus(99);
                apiLog.setResult("没有获取到身份ID");
@@ -108,9 +117,9 @@
            //指令id
            reqData.setOrderid(param.getOrderid());
            //身份签名,对地区行政区划代码_当天日期进行MD5算法签名
            reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"),conf.getPublicKey()));
            reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPublicKey()));
            //数据总条数
            List<Object> list  = (List<Object>)data;
            List<Object> list = (List<Object>) data;
            reqData.setDatalength(list.size());
            //数据进行SM4加密
            reqData.setData(jsonData);
@@ -140,13 +149,660 @@
     * @return
     * @throws Exception
     */
    private String getJsonData(String inteId, Object data) {
    private String getJsonData(String inteId, Object data, String code) {
        //具体根据接口进行封装
        if (SH2023Constant.SH_2023_API_CODE_1101.equals(inteId)) {
            return JSON.toJSONString(data);
            SH2023Api1101 api1101;
            //最后转换为json
            List<SH2023Api1101> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1101> api1101List = castList(data, Api1101.class);
            //查询廒间数
            List<Api1104> api1104List = api1104Rep.findPushData(api1101List.get(0).getKqdm());
            for (Api1101 apiData : api1101List) {
                api1101 = new SH2023Api1101();
                BeanUtils.copyProperties(apiData, api1101);
                api1101.setAjs(api1104List.size());
                api1101.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1101);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1102.equals(inteId)) {
            SH2023Api1102 api1102;
            //最后转换为json
            List<SH2023Api1102> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1102> api1101List = castList(data, Api1102.class);
            //查询廒间数
            List<Api1104> api1104List = api1104Rep.findPushData(api1101List.get(0).getKqdm());
            //计算储备仓容
            Double count = 0.0;
            for (Api1104 api1104 : api1104List) {
                count = count + api1104.getAjsjcrong();
            }
            for (Api1102 apiData : api1101List) {
                api1102 = new SH2023Api1102();
                BeanUtils.copyProperties(apiData, api1102);
                api1102.setAjs(api1104List.size());
                api1102.setBjw(ShAreaBjw.getBjw(code));
                api1102.setCbcr(count);
                list.add(api1102);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1103.equals(inteId)) {
            SH2023Api1103 api1103;
            //最后转换为json
            List<SH2023Api1103> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1103> api1103List = castList(data, Api1103.class);
            //查询廒间数
            List<Api1104> api1104List = api1104Rep.findPushData(api1103List.get(0).getKqdm());
            for (Api1103 apiData : api1103List) {
                api1103 = new SH2023Api1103();
                BeanUtils.copyProperties(apiData, api1103);
                api1103.setAjs(api1104List.size());
                api1103.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1103);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1104.equals(inteId)) {
            SH2023Api1104 api1104;
            //最后转换为json
            List<SH2023Api1104> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1104> api1104List = castList(data, Api1104.class);
            for (Api1104 apiData : api1104List) {
                api1104 = new SH2023Api1104();
                BeanUtils.copyProperties(apiData, api1104);
                api1104.setAjdm(apiData.getAjdh());
                api1104.setCfdm(apiData.getCfbh());
                api1104.setSykqdm(apiData.getKqdm());
                api1104.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1104);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1105.equals(inteId)) {
            SH2023Api1105 api1105;
            //最后转换为json
            List<SH2023Api1105> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1105> api1105List = castList(data, Api1105.class);
            for (Api1105 apiData : api1105List) {
                api1105 = new SH2023Api1105();
                BeanUtils.copyProperties(apiData, api1105);
                api1105.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1105);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1106.equals(inteId)) {
            SH2023Api1106 api1106;
            //最后转换为json
            List<SH2023Api1106> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1106> api1106List = castList(data, Api1106.class);
            for (Api1106 apiData : api1106List) {
                api1106 = new SH2023Api1106();
                BeanUtils.copyProperties(apiData, api1106);
                api1106.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1106);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1107.equals(inteId)) {
            SH2023Api1107 api1107;
            //最后转换为json
            List<SH2023Api1107> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1107> api1107List = castList(data, Api1107.class);
            for (Api1107 apiData : api1107List) {
                api1107 = new SH2023Api1107();
                BeanUtils.copyProperties(apiData, api1107);
                api1107.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1107);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1108.equals(inteId)) {
            SH2023Api1108 api1108;
            //最后转换为json
            List<SH2023Api1108> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1108> api1108List = castList(data, Api1108.class);
            for (Api1108 apiData : api1108List) {
                api1108 = new SH2023Api1108();
                BeanUtils.copyProperties(apiData, api1108);
                api1108.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1108);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1109.equals(inteId)) {
            SH2023Api1109 api1109;
            //最后转换为json
            List<SH2023Api1109> list = new ArrayList<>();
            FileUtil file = new FileUtil();
            //把data转化成list集合
            List<Api1109> api1109List = castList(data, Api1109.class);
            for (Api1109 apiData : api1109List) {
                api1109 = new SH2023Api1109();
                BeanUtils.copyProperties(apiData, api1109);
                api1109.setBjw(ShAreaBjw.getBjw(code));
                api1109.setWjl(file.imgToIo(apiData.getWjdz() + apiData.getWjmc()));
                list.add(api1109);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1110.equals(inteId)) {
            SH2023Api1110 api1110;
            //最后转换为json
            List<SH2023Api1110> list = new ArrayList<>();
            HashSet<String> set = new HashSet<>();
            //把data转化成list集合
            List<Api1110> api1110List = castList(data, Api1110.class);
            for (Api1110 apiData : api1110List) {
                // 因为廒间是根据货位截取,所以要判断廒间是否重复
                if (!set.add(apiData.getHwdm().substring(0, 28))) {
                    continue;
                }
                api1110 = new SH2023Api1110();
                BeanUtils.copyProperties(apiData, api1110);
                api1110.setBjw(ShAreaBjw.getBjw(code));
                api1110.setAjdm(apiData.getHwdm().substring(0, 28));
                api1110.setAjxdwz(apiData.getHwxdwz());
                api1110.setAjwzys(apiData.getHwwzys());
                list.add(api1110);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1111.equals(inteId)) {
            SH2023Api1111 api1111;
            //最后转换为json
            List<SH2023Api1111> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1111> api1111List = castList(data, Api1111.class);
            for (Api1111 apiData : api1111List) {
                api1111 = new SH2023Api1111();
                BeanUtils.copyProperties(apiData, api1111);
                api1111.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1111);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1112.equals(inteId)) {
            SH2023Api1112 api1112;
            //最后转换为json
            List<SH2023Api1112> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1112> api1112List = castList(data, Api1112.class);
            for (Api1112 apiData : api1112List) {
                api1112 = new SH2023Api1112();
                BeanUtils.copyProperties(apiData, api1112);
                api1112.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1112);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1113.equals(inteId)) {
            SH2023Api1113 api1113;
            //最后转换为json
            List<SH2023Api1113> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1113> api1113List = castList(data, Api1113.class);
            for (Api1113 apiData : api1113List) {
                api1113 = new SH2023Api1113();
                BeanUtils.copyProperties(apiData, api1113);
                api1113.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1113);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1201.equals(inteId)) {
            SH2023Api1201 api1201;
            //最后转换为json
            List<SH2023Api1201> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1201> api1201List = castList(data, Api1201.class);
            for (Api1201 apiData : api1201List) {
                api1201 = new SH2023Api1201();
                BeanUtils.copyProperties(apiData, api1201);
                api1201.setBjw(ShAreaBjw.getBjw(code));
                api1201.setHtsfzz("0");
                list.add(api1201);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1202.equals(inteId)) {
            SH2023Api1202 api1202;
            //最后转换为json
            List<SH2023Api1202> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1202> api1202List = castList(data, Api1202.class);
            for (Api1202 apiData : api1202List) {
                api1202 = new SH2023Api1202();
                BeanUtils.copyProperties(apiData, api1202);
                api1202.setBjw(ShAreaBjw.getBjw(code));
                api1202.setPch(apiData.getHwdm() + apiData.getShnd());
                //todo 驳运单号(2104)  检斤单号(2101)   均为非必填
                api1202.setJzrq(apiData.getCmsj());
                list.add(api1202);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1203.equals(inteId)) {
            SH2023Api1203 api1203;
            //最后转换为json
            List<SH2023Api1203> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1203> api1203List = castList(data, Api1203.class);
            for (Api1203 apiData : api1203List) {
                api1203 = new SH2023Api1203();
                BeanUtils.copyProperties(apiData, api1203);
                api1203.setBjw(ShAreaBjw.getBjw(code));
                //查询收获年份
                List<Api1202> api1202List = api1202Rep.getDataById(apiData.getRkywdh());
                api1203.setPch(apiData.getHwdm() + api1202List.get(0).getShnd());
                list.add(api1203);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1204.equals(inteId)) {
            SH2023Api1204 api1204;
            //最后转换为json
            List<SH2023Api1204> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1204> api1204List = castList(data, Api1204.class);
            for (Api1204 apiData : api1204List) {
                api1204 = new SH2023Api1204();
                BeanUtils.copyProperties(apiData, api1204);
                api1204.setBjw(ShAreaBjw.getBjw(code));
                api1204.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJssj(), "yyyy"));
                list.add(api1204);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1205.equals(inteId)) {
            SH2023Api1205 api1205;
            //最后转换为json
            List<SH2023Api1205> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1205> api1205List = castList(data, Api1205.class);
            for (Api1205 apiData : api1205List) {
                api1205 = new SH2023Api1205();
                BeanUtils.copyProperties(apiData, api1205);
                api1205.setBjw(ShAreaBjw.getBjw(code));
                api1205.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getCmsj(), "yyyy"));
                api1205.setJzrq(apiData.getCmsj());
                list.add(api1205);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1206.equals(inteId)) {
            SH2023Api1206 api1206;
            //最后转换为json
            List<SH2023Api1206> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1206> api1206List = castList(data, Api1206.class);
            for (Api1206 apiData : api1206List) {
                api1206 = new SH2023Api1206();
                BeanUtils.copyProperties(apiData, api1206);
                api1206.setBjw(ShAreaBjw.getBjw(code));
                List<Api1205> api1205List = api1205Rep.getDataById(apiData.getCkjsdh());
                api1206.setPch(api1205List.get(0).getHwdm() + DateFormatUtils.format(api1205List.get(0).getCmsj(), "yyyy"));
                list.add(api1206);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1207.equals(inteId)) {
            SH2023Api1207 api1207;
            //最后转换为json
            List<SH2023Api1207> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1207> api1207List = castList(data, Api1207.class);
            for (Api1207 apiData : api1207List) {
                api1207 = new SH2023Api1207();
                BeanUtils.copyProperties(apiData, api1207);
                api1207.setDcrq(apiData.getDcrq());
                api1207.setBjw(ShAreaBjw.getBjw(code));
                //TODO 库调单号
                list.add(api1207);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1208.equals(inteId)) {
            SH2023Api1208 api1208;
            //最后转换为json
            List<SH2023Api1208> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1208> api1208List = castList(data, Api1208.class);
            for (Api1208 apiData : api1208List) {
                api1208 = new SH2023Api1208();
                BeanUtils.copyProperties(apiData, api1208);
                api1208.setZglkdm(api1208.getHwdm().substring(0, 21));
                //TODO 来粮代码
                api1208.setBjw(ShAreaBjw.getBjw(code));
                api1208.setPch(apiData.getHwdm() + apiData.getShnd());
                list.add(api1208);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1209.equals(inteId)) {
            SH2023Api1209 api1209;
            //最后转换为json
            List<SH2023Api1209> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1209> api1209List = castList(data, Api1209.class);
            for (Api1209 apiData : api1209List) {
                api1209 = new SH2023Api1209();
                BeanUtils.copyProperties(apiData, api1209);
                // TODO 记账日期  单据类型
                api1209.setSzjl(apiData.getQzszkl());
                api1209.setZrshde(apiData.getQzzrshde());
                api1209.setBjw(ShAreaBjw.getBjw(code));
                api1209.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getYwrq(), "yyyy"));
                list.add(api1209);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1210.equals(inteId)) {
            SH2023Api1210 api1210;
            //最后转换为json
            List<SH2023Api1210> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1210> api1210List = castList(data, Api1210.class);
            for (Api1210 apiData : api1210List) {
                api1210 = new SH2023Api1210();
                BeanUtils.copyProperties(apiData, api1210);
                api1210.setBjw(ShAreaBjw.getBjw(code));
                api1210.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getHzrq(), "yyyy"));
                list.add(api1210);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1211.equals(inteId)) {
            SH2023Api1211 api1211;
            //最后转换为json
            List<SH2023Api1211> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1211> api1211List = castList(data, Api1211.class);
            for (Api1211 apiData : api1211List) {
                api1211 = new SH2023Api1211();
                BeanUtils.copyProperties(apiData, api1211);
                //TODO 货位代码 粮食性质代码 来粮代码
                api1211.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1211);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1212.equals(inteId)) {
            SH2023Api1212 api1212;
            //最后转换为json
            List<SH2023Api1212> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1212> api1212List = castList(data, Api1212.class);
            for (Api1212 apiData : api1212List) {
                api1212 = new SH2023Api1212();
                BeanUtils.copyProperties(apiData, api1212);
                api1212.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1212);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1301.equals(inteId)) {
            SH2023Api1301 api1301;
            //最后转换为json
            List<SH2023Api1301> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1301> api1301List = castList(data, Api1301.class);
            for (Api1301 apiData : api1301List) {
                api1301 = new SH2023Api1301();
                BeanUtils.copyProperties(apiData, api1301);
                api1301.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1301);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1302.equals(inteId)) {
            SH2023Api1302 api1302;
            //最后转换为json
            List<SH2023Api1302> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1302> api1302List = castList(data, Api1302.class);
            for (Api1302 apiData : api1302List) {
                api1302 = new SH2023Api1302();
                BeanUtils.copyProperties(apiData, api1302);
                api1302.setBjw(ShAreaBjw.getBjw(code));
                api1302.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJcsj(), "yyyy"));
                //todo 温湿度检测数据不全
                list.add(api1302);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1303.equals(inteId)) {
            SH2023Api1303 api1303;
            //最后转换为json
            List<SH2023Api1303> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1303> api1303List = castList(data, Api1303.class);
            for (Api1303 apiData : api1303List) {
                api1303 = new SH2023Api1303();
                BeanUtils.copyProperties(apiData, api1303);
                api1303.setBjw(ShAreaBjw.getBjw(code));
                api1303.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJcsj(), "yyyy"));
                list.add(api1303);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1304.equals(inteId)) {
            SH2023Api1304 api1304;
            //最后转换为json
            List<SH2023Api1304> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1304> api1304List = castList(data, Api1304.class);
            for (Api1304 apiData : api1304List) {
                api1304 = new SH2023Api1304();
                BeanUtils.copyProperties(apiData, api1304);
                api1304.setBjw(ShAreaBjw.getBjw(code));
                api1304.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJcsj(), "yyyy"));
                list.add(api1304);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1305.equals(inteId)) {
            SH2023Api1305 api1305;
            //最后转换为json
            List<SH2023Api1305> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1305> api1305List = castList(data, Api1305.class);
            for (Api1305 apiData : api1305List) {
                api1305 = new SH2023Api1305();
                BeanUtils.copyProperties(apiData, api1305);
                api1305.setBjw(ShAreaBjw.getBjw(code));
                api1305.setAjdm(apiData.getTfzydh().substring(0, 28));
                list.add(api1305);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1306.equals(inteId)) {
            SH2023Api1306 api1306;
            //最后转换为json
            List<SH2023Api1306> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1306> api1306List = castList(data, Api1306.class);
            for (Api1306 apiData : api1306List) {
                api1306 = new SH2023Api1306();
                BeanUtils.copyProperties(apiData, api1306);
                api1306.setBjw(ShAreaBjw.getBjw(code));
                api1306.setPch(apiData.getXzzydh().substring(0, 30) + DateFormatUtils.format(apiData.getXzkssj(), "yyyy"));
                api1306.setAjdm(apiData.getXzzydh().substring(0, 28));
                list.add(api1306);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1307.equals(inteId)) {
            SH2023Api1307 api1307;
            //最后转换为json
            List<SH2023Api1307> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1307> api1307List = castList(data, Api1307.class);
            for (Api1307 apiData : api1307List) {
                api1307 = new SH2023Api1307();
                BeanUtils.copyProperties(apiData, api1307);
                api1307.setBjw(ShAreaBjw.getBjw(code));
                api1307.setAjdm(apiData.getHwdm().substring(0, 28));
                List<Api1109> api1109List = api1109Rep.getDataByFileId(apiData.getFileStorageId());
                api1307.setTxbh(api1109List.get(0).getWjmc());
                list.add(api1307);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1310.equals(inteId)) {
            SH2023Api1310 api1310;
            //最后转换为json
            List<SH2023Api1310> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1310> api1310List = castList(data, Api1310.class);
            for (Api1310 apiData : api1310List) {
                api1310 = new SH2023Api1310();
                BeanUtils.copyProperties(apiData, api1310);
                api1310.setBjw(ShAreaBjw.getBjw(code));
                api1310.setJyrq(apiData.getJysj());
                api1310.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJysj(), "yyyy"));
                List<Api1202> api1202List = api1202Rep.getDataByHwdm(apiData.getHwdm());
                api1310.setLspzdm(api1202List.get(0).getLspzdm());
                list.add(api1310);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1401.equals(inteId)) {
            SH2023Api1401 api1401;
            //最后转换为json
            List<SH2023Api1401> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1401> api1401List = castList(data, Api1401.class);
            for (Api1401 apiData : api1401List) {
                api1401 = new SH2023Api1401();
                BeanUtils.copyProperties(apiData, api1401);
                api1401.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1401);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1402.equals(inteId)) {
            SH2023Api1402 api1402;
            //最后转换为json
            List<SH2023Api1402> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1402> api1402List = castList(data, Api1402.class);
            for (Api1402 apiData : api1402List) {
                api1402 = new SH2023Api1402();
                BeanUtils.copyProperties(apiData, api1402);
                api1402.setBjw(ShAreaBjw.getBjw(code));
                list.add(api1402);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1403.equals(inteId)) {
            SH2023Api1403 api1403;
            //最后转换为json
            List<SH2023Api1403> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1403> api1403List = castList(data, Api1403.class);
            for (Api1403 apiData : api1403List) {
                api1403 = new SH2023Api1403();
                BeanUtils.copyProperties(apiData, api1403);
                api1403.setJhzxdw(apiData.getJhxddw());
                api1403.setJhzxdwmc(apiData.getJhxddwmc());
                list.add(api1403);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1404.equals(inteId)) {
            SH2023Api1404 api1404;
            //最后转换为json
            List<SH2023Api1404> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1404> api1404List = castList(data, Api1404.class);
            for (Api1404 apiData : api1404List) {
                api1404 = new SH2023Api1404();
                BeanUtils.copyProperties(apiData, api1404);
                //TODO 明细状态
                list.add(api1404);
            }
            return JSON.toJSONString(list);
        }
//        TODO 项目信息
//        else if (SH2023Constant.SH_2023_API_CODE_1405.equals(inteId)) {
//            SH2023Api1405 api1405;
//            //最后转换为json
//            List<SH2023Api1405> list = new ArrayList<>();
//            //把data转化成list集合
//            List<Api1405> api1405List = castList(data, Api1405.class);
//            for (Api1405 apiData : api1405List) {
//                api1405 = new SH2023Api1405();
//                BeanUtils.copyProperties(apiData, api1405);
//
//                list.add(api1405);
//            }
//            return JSON.toJSONString(list);
//        }
        else if (SH2023Constant.SH_2023_API_CODE_2102.equals(inteId)) {
            SH2023Api2102 api2102;
            //最后转换为json
            List<SH2023Api2102> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1207> api1207List = castList(data, Api1207.class);
            for (Api1207 apiData : api1207List) {
                api2102 = new SH2023Api2102();
                BeanUtils.copyProperties(apiData, api2102);
                api2102.setDrdh(apiData.getDcdh());
                api2102.setDcrq(apiData.getDcrq());
                api2102.setPch(api2102.getDrhwdm() + DateFormatUtils.format(apiData.getDcrq(), "yyyy"));
                api2102.setBjw(ShAreaBjw.getBjw(code));
                //TODO 库调单号
                list.add(api2102);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_2203.equals(inteId)) {
            SH2023Api2203 api2203;
            //最后转换为json
            List<SH2023Api2203> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1201> api1201List = castList(data, Api1201.class);
            for (Api1201 apiData : api1201List) {
                api2203 = new SH2023Api2203();
                BeanUtils.copyProperties(apiData, api2203);
                api2203.setHtbh(apiData.getHth());
//                api2203.setBdh();
                api2203.setCjrq(apiData.getQdrq());
//                api2203.setJyzt();
//                api2203.setLsxz();
//                api2203.setLspzmx();
//                api2203.setScnf();
//                api2203.setKd();
                //
                list.add(api2203);
            }
            return JSON.toJSONString(list);
        }else if (SH2023Constant.SH_2023_API_CODE_2204.equals(inteId)) {
            SH2023Api2204 api2204;
            //最后转换为json
            List<SH2023Api2204> list = new ArrayList<>();
            //把data转化成list集合
            List<Api1310> api1310List = castList(data, Api1310.class);
            for (Api1310 apiData : api1310List) {
                api2204 = new SH2023Api2204();
                BeanUtils.copyProperties(apiData, api2204);
//                api2204.setSf();
//                api2204.setRksf();
//                api2204.setlldm();
                api2204.setBjw(ShAreaBjw.getBjw(code));
                api2204.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJysj(), "yyyy"));
                list.add(api2204);
            }
            return JSON.toJSONString(list);
        } else {
            return JSON.toJSONString(data);
        }
    }
    /**
     * Object类型转变为List
     *
     * @param obj
     * @param clazz
     * @param <T>
     * @return
     */
    public static <T> List<T> castList(Object obj, Class<T> clazz) {
        List<T> result = new ArrayList<T>();
        if (obj instanceof List<?>) {
            for (Object o : (List<?>) obj) {
                result.add(clazz.cast(o));
            }
            return result;
        }
        return null;
    }
}