From bf055224492ed78cf937bc94cfe7c33885f86989 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期一, 05 六月 2023 22:38:03 +0800
Subject: [PATCH] 优化嘉定纪委接口5

---
 src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java |  161 ++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 122 insertions(+), 39 deletions(-)

diff --git a/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java b/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java
index d1c2d98..d482ec5 100644
--- a/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java
+++ b/src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java
@@ -1,6 +1,7 @@
 package com.fzzy.push.shjdjw2023;
 
 import com.alibaba.fastjson.JSON;
+import com.bstek.dorado.util.DateUtils;
 import com.fzzy.api.Constant;
 import com.fzzy.api.data.ApiParam;
 import com.fzzy.api.data.PushProtocol;
@@ -16,10 +17,13 @@
 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.text.DateFormat;
+import java.text.DecimalFormat;
 import java.util.*;
 
 /**
@@ -48,11 +52,16 @@
     @Autowired
     private Api1103Rep api1103Rep;
     @Autowired
+    private Api1105Rep api1105Rep;
+    @Autowired
     private Api1202Rep api1202Rep;
     @Autowired
     private Api1104Rep api1104Rep;
     @Autowired
     private Api1208Rep api1208Rep;
+    @Autowired
+    private Api1404Rep api1404Rep;
+
 
     @Override
     public String getProtocol() {
@@ -113,6 +122,29 @@
             resd.setSuccess(responseDto.getCode() == 1 ? 0 : responseDto.getCode());
             resd.setMsg(responseDto.getDescription());
 
+            if (Constant.API_CODE_1403.equals(inteId)) {
+                //杞崲璁″垝瀹屾垚鎯呭喌鏁版嵁灏佽
+                Shjdjw1502 shjdjw1502 = copy1502((Api1403) data);
+                ShjdjwReqDto<Object> dto = new ShjdjwReqDto<>();
+                dto.setId(getDataId(ShjdjwApiCodeConstant.API_CODE_LS1502));
+                List<Object> list = new ArrayList<>();
+                list.add(shjdjw1502);
+                dto.setData(list);
+                String json = JSON.toJSONString(dto);
+
+                //杞崲璁″垝瀹屾垚鎯呭喌鏁版嵁涓婁紶
+                apiLog.setData(json);
+                apiLog.setKqdm(kqdm);
+                apiLog.setUploadTime(new Date());
+                ShjdjwRespDto shjdjwresponseDto = Shjdjw2023HttpClientUtil.postPushData(conf.getApiUrl(), json, conf);
+                responseDto.setBizId(bizId);
+                apiLog.setStatus(shjdjwresponseDto.getCode() == 1 ? 0 : shjdjwresponseDto.getCode());
+                apiLog.setResult(shjdjwresponseDto.getDescription());
+                apiLogRep.save(apiLog);
+                ResponseDto response = new ResponseDto();
+                response.setSuccess(shjdjwresponseDto.getCode() == 1 ? 0 : shjdjwresponseDto.getCode());
+                response.setMsg(shjdjwresponseDto.getDescription());
+            }
             return resd;
         } catch (Exception e) {
             log.error(e.getMessage(), e);
@@ -193,19 +225,9 @@
             list.add(shjdjwApi1310);
         } else if (Constant.API_CODE_1403.equals(inteId)) {
             //杞崲璁″垝鏁版嵁灏佽
-            ShjdjwApi1403 shjdjwApi1403 = new ShjdjwApi1403();
-            Api1403 api1403 = (Api1403) data;
-            BeanUtils.copyProperties(api1403, shjdjwApi1403);
-
-            shjdjwApi1403.setJhbm(api1403.getLhjhdh());
-            shjdjwApi1403.setPch("0");
+            ShjdjwApi1403 shjdjwApi1403 = copyApi1403((Api1403) data);
 
             list.add(shjdjwApi1403);
-        } else if (Constant.API_CODE_1404.equals(inteId)) {
-            //杞崲璁″垝瀹屾垚鎯呭喌鏁版嵁灏佽
-            ShjdjwApi1404 shjdjwApi1404 = copyApi1404((Api1404) data);
-
-            list.add(shjdjwApi1404);
         } else {
 
             list.add(data);
@@ -214,25 +236,73 @@
         return JSON.toJSONString(dto);
     }
 
-    private ShjdjwApi1404 copyApi1404(Api1404 api1404) {
-        ShjdjwApi1404 shjdjwApi1404 = new ShjdjwApi1404();
+    private ShjdjwApi1403 copyApi1403(Api1403 api1403) {
+        ShjdjwApi1403 shjdjwApi1403 = new ShjdjwApi1403();
+        BeanUtils.copyProperties(api1403, shjdjwApi1403);
 
-        BeanUtils.copyProperties(api1404, shjdjwApi1404);
-
-        //鏌ヨ鍗曚綅淇℃伅
-        List<Api1101> listApi1101 = api1101Rep.findPushData(api1404.getKqdm());
-        if (null != listApi1101 && listApi1101.size() > 0) {
-            shjdjwApi1404.setDwmc(listApi1101.get(0).getDwmc());
+        List<Double> lhsl = getLhsl(api1403);
+        if (null != lhsl && lhsl.size() > 0) {
+            shjdjwApi1403.setLrsl(lhsl.get(1));
+            shjdjwApi1403.setLrsl(lhsl.get(0));
         }
 
-        //TODO 璁″垝骞村害 璁″垝鏁伴噺 宸叉墽琛屾暟閲� 鎵ц姣斾緥 鎷涙爣/绔炰环姣斾緥
-        shjdjwApi1404.setJhnd("0");
-        shjdjwApi1404.setJhsl("0");
-        shjdjwApi1404.setYzxsl("0");
-        shjdjwApi1404.setZxbl("0");
-        shjdjwApi1404.setZbjjbl("0");
+        shjdjwApi1403.setJhbm(api1403.getLhjhdh());
+        shjdjwApi1403.setPch("0");
+        return shjdjwApi1403;
+    }
 
-        return shjdjwApi1404;
+    /**
+     * 鑾峰彇杞叆鍜岃疆鍑洪噸閲�
+     *
+     * @param api1403
+     * @return
+     */
+    private List<Double> getLhsl(Api1403 api1403) {
+        List<Api1404> api1404List = api1404Rep.getDataByLhjhdh(api1403.getLhjhdh());
+        List<Double> lhsl = new ArrayList<>();
+        if (null != api1404List && api1404List.size() > 0) {
+//            double sum = api1404List.stream().mapToDouble(Api1404::getLhsl).summaryStatistics().getSum();
+            double lcSum = api1404List.stream()
+                    .filter(x -> x.getLhlx().equals("1"))
+                    .mapToDouble(Api1404::getLhsl)
+                    .summaryStatistics().getSum();
+            double lrSum = api1404List.stream()
+                    .filter(x -> x.getLhlx().equals("2"))
+                    .mapToDouble(Api1404::getLhsl)
+                    .summaryStatistics().getSum();
+            lhsl.add(lcSum);
+            lhsl.add(lrSum);
+        }
+        return lhsl;
+    }
+
+    private Shjdjw1502 copy1502(Api1403 api1403) {
+        Shjdjw1502 shjdjw1502 = new Shjdjw1502();
+        shjdjw1502.setDwmc(api1403.getLhjhdh());
+        shjdjw1502.setJhnd(api1403.getJhnd());
+
+        // 璁″垝鏁伴噺
+        List<Double> lhsl = getLhsl(api1403);
+        Double sum = 0.0;
+        if (null != lhsl && lhsl.size() > 0) {
+            sum = lhsl.stream().reduce(0d, Double::sum);
+        }
+        // 宸叉墽琛屾暟閲�
+        List<Api1202> api1202List = api1202Rep.getDataByTime(api1403.getKszxrq(), api1403.getJzzxrq());
+
+        Double yzxsl = api1202List.stream()
+                .mapToDouble(Api1202::getJz)
+                .summaryStatistics().getSum();
+        shjdjw1502.setJhsl(new DecimalFormat("0.00").format(sum));
+        shjdjw1502.setYzxsl(new DecimalFormat("0.00").format(yzxsl));
+        //鎵ц姣斾緥
+        shjdjw1502.setZxbl(String.valueOf((yzxsl / sum * 100)));
+
+        // 鎷涙爣/绔炰环姣斾緥
+        shjdjw1502.setZbjjbl("100");
+        shjdjw1502.setCzbz(api1403.getCzbz());
+
+        return shjdjw1502;
     }
 
     private ShjdjwApi1203 copyApi1203(Api1203 api1203) {
@@ -242,6 +312,10 @@
 
         shjdjwApi1203.setQydbh(api1203.getRkjydh());
         shjdjwApi1203.setHwbm(api1203.getHwdm());
+        List<Api1105> list = api1105Rep.findPushDataByHwdm(api1203.getHwdm());
+        if(null != list && list.size() > 0){
+            shjdjwApi1203.setHwbm(list.get(0).getHwmc());
+        }
         shjdjwApi1203.setYpbm(api1203.getRkywdh());
         shjdjwApi1203.setJyjg(api1203.getJyz());
         shjdjwApi1203.setJyjl(api1203.getJyjg());
@@ -260,15 +334,16 @@
         shjdjwApi1310.setPznm(api1310.getLspzdm());
         shjdjwApi1310.setSkdjbm(api1310.getLsdjdm());
         shjdjwApi1310.setJylbbm(api1310.getJylb());
-        if(StringUtils.isNotEmpty(shjdjwApi1310.getJyxm())){
-            String[] split = shjdjwApi1310.getJyxm().split(",");
-            StringBuilder jyjl = new StringBuilder();
-            for (String s : split) {
-                jyjl.append(",鍚堟牸");
-            }
-            shjdjwApi1310.setJyjl(jyjl.toString().substring(1));
-        }
-
+//        if (StringUtils.isNotEmpty(shjdjwApi1310.getJyxm())) {
+//            String[] split = shjdjwApi1310.getJyxm().split(",");
+//            StringBuilder jyjl = new StringBuilder();
+//            for (String s : split) {
+//                jyjl.append(",鍚堟牸");
+//            }
+//            shjdjwApi1310.setJyjl(jyjl.toString().substring(1));
+//        }
+        //璋冩暣涓轰紶閫掓楠屽��
+        shjdjwApi1310.setJyjl(api1310.getJyxmz());
         shjdjwApi1310.setZlzbjgpd(api1310.getZbjgpd());
         //鏌ヨ鍗曚綅淇℃伅
         List<Api1101> listApi1101 = api1101Rep.findPushData(api1310.getKqdm());
@@ -308,7 +383,7 @@
         BeanUtils.copyProperties(api1209, shjdjwApi1209);
 
         shjdjwApi1209.setSydbh(api1209.getSydh());
-        shjdjwApi1209.setHwbm(api1209.getHwdm());
+
         shjdjwApi1209.setRksl(api1209.getRkjz());
         shjdjwApi1209.setCksl(api1209.getCkjz());
         shjdjwApi1209.setSysl(api1209.getJzsysl());
@@ -321,6 +396,12 @@
         List<Api1102> listApi1102 = api1102Rep.findPushData(api1209.getKqdm());
         if (null != listApi1102 && listApi1102.size() > 0) {
             shjdjwApi1209.setKdmc(listApi1102.get(0).getKqmc());
+        }
+        //璐т綅淇℃伅
+        shjdjwApi1209.setHwbm(api1209.getHwdm());
+        List<Api1105> list = api1105Rep.findPushDataByHwdm(api1209.getHwdm());
+        if(null != list && list.size() > 0){
+            shjdjwApi1209.setHwbm(list.get(0).getHwmc());
         }
 
         shjdjwApi1209.setNx(api1209.getYwrq());
@@ -400,6 +481,7 @@
 
         shjdjwApi1205.setDksj(api1205.getDjsj());
         shjdjwApi1205.setLksj(api1205.getCmsj());
+        shjdjwApi1205.setLhnd(DateFormatUtils.format(api1205.getCmsj(), "yyyy"));
         shjdjwApi1205.setPch("0");
         return shjdjwApi1205;
     }
@@ -437,9 +519,6 @@
             case "1403":
                 //杞崲璁″垝鎺ュ彛缂栫爜
                 return ShjdjwApiCodeConstant.API_CODE_LS1501;
-            case "1404":
-                //杞崲璁″垝瀹屾垚鎯呭喌鎺ュ彛缂栫爜
-                return ShjdjwApiCodeConstant.API_CODE_LS1502;
             default:
                 return inteId;
         }
@@ -452,6 +531,10 @@
         String ywdh = api1202.getRkywdh();
         shjdjwApi1202.setYwdh(ywdh);
         shjdjwApi1202.setHwbm(api1202.getHwdm());
+        List<Api1105> list = api1105Rep.findPushDataByHwdm(api1202.getHwdm());
+        if(null != list && list.size() > 0){
+            shjdjwApi1202.setHwbm(list.get(0).getHwmc());
+        }
         shjdjwApi1202.setPzbm(api1202.getLspzdm());
         shjdjwApi1202.setLqxzbm(api1202.getLsxzdm());
         shjdjwApi1202.setZjkl(api1202.getZjklxj());

--
Gitblit v1.9.3