From 4b7eb0c1ff7bed6cdfdf19b19b992efa943aee6e Mon Sep 17 00:00:00 2001
From: WS <1143478319@qq.com>
Date: 星期三, 23 八月 2023 17:59:49 +0800
Subject: [PATCH] 上海接口接数据上报

---
 src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java |  688 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 672 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java b/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
index b98350f..03999ed 100644
--- a/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
+++ b/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, "娌℃湁鑾峰彇鍒拌韩浠絀D");
                 apiLog.setStatus(99);
                 apiLog.setResult("娌℃湁鑾峰彇鍒拌韩浠絀D");
@@ -108,9 +117,9 @@
             //鎸囦护id
             reqData.setOrderid(param.getOrderid());
             //韬唤绛惧悕锛屽鍦板尯琛屾斂鍖哄垝浠g爜_褰撳ぉ鏃ユ湡杩涜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 ("1101".equals(inteId)) {
-            return JSON.toJSONString(data);
+        if (SH2023Constant.SH_2023_API_CODE_1101.equals(inteId)) {
+            SH2023Api1101 api1101;
+            //鏈�鍚庤浆鎹负json
+            List<SH2023Api1101> list = new ArrayList<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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 鏉ョ伯浠g爜
+
+                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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            List<Api1211> api1211List = castList(data, Api1211.class);
+            for (Api1211 apiData : api1211List) {
+                api1211 = new SH2023Api1211();
+                BeanUtils.copyProperties(apiData, api1211);
+
+                //TODO 璐т綅浠g爜 绮鎬ц川浠g爜 鏉ョ伯浠g爜
+
+                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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+//            //鎶奷ata杞寲鎴恖ist闆嗗悎
+//            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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<>();
+            //鎶奷ata杞寲鎴恖ist闆嗗悎
+            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绫诲瀷杞彉涓篖ist
+     *
+     * @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;
+    }
+
+
 }
\ No newline at end of file

--
Gitblit v1.9.3