From 2b63170e6ec11246a5029ea74340adb1b7d2f1a9 Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期一, 21 八月 2023 20:10:17 +0800
Subject: [PATCH] 上海数据上报2

---
 src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java |  375 +++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 359 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..4942ca3 100644
--- a/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
+++ b/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -4,23 +4,23 @@
 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.List;
 
@@ -45,6 +45,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 +68,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 +79,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 +105,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 +116,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 +148,348 @@
      * @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_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_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 {
             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