From ea9420519d4c3f825f53831208cd4b72c2eecea3 Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期一, 04 九月 2023 20:14:46 +0800
Subject: [PATCH] 上海同步数据---市储驳运单

---
 src/main/java/com/fzzy/api/service/ApiTriggerService.java             |   34 ++++----
 src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1202Rep.java |   16 ++++
 src/main/java/com/fzzy/api/view/pr/SyncServicePR.java                 |    1 
 src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java          |    8 -
 src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java           |   26 ++++++
 src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java          |   12 +++
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java          |  143 +++++++++++++++++++++++++++++++++++
 7 files changed, 218 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/fzzy/api/service/ApiTriggerService.java b/src/main/java/com/fzzy/api/service/ApiTriggerService.java
index 00f60f3..5e0b5c3 100644
--- a/src/main/java/com/fzzy/api/service/ApiTriggerService.java
+++ b/src/main/java/com/fzzy/api/service/ApiTriggerService.java
@@ -61,6 +61,7 @@
         }
 
     }
+
     public ApiTrigger findNameByCode(String code, String parentCode) {
 
         List<ApiTrigger> listParent = apiTriggerRep.findNameByCode(code, parentCode);
@@ -119,16 +120,16 @@
         String result = null;
         Map<String, String> parentMap = contextMap.get(parentCode);
         if (null == parentMap || parentMap.isEmpty()) {
-            if(StringUtils.isEmpty(bizCode)){
+            if (StringUtils.isEmpty(bizCode)) {
                 return bizCode;
             }
-            if(Constant.TRIGGER_P_LSPZ.equals(parentCode)){
-                result = Integer.valueOf(bizCode)*1000000 + "";
-                result = result.substring(0,7);
-            }else if(Constant.TRIGGER_P_LSXZ.equals(parentCode)){
-                result = Integer.valueOf(bizCode)*100 + "";
-                result = result.substring(0,3);
-            }else {
+            if (Constant.TRIGGER_P_LSPZ.equals(parentCode)) {
+                result = Integer.valueOf(bizCode) * 1000000 + "";
+                result = result.substring(0, 7);
+            } else if (Constant.TRIGGER_P_LSXZ.equals(parentCode)) {
+                result = Integer.valueOf(bizCode) * 100 + "";
+                result = result.substring(0, 3);
+            } else {
                 result = bizCode;
             }
             return result;
@@ -140,16 +141,16 @@
         }
 
         if (null == result) {
-            if(StringUtils.isEmpty(bizCode)){
+            if (StringUtils.isEmpty(bizCode)) {
                 return bizCode;
             }
-            if(Constant.TRIGGER_P_LSPZ.equals(parentCode)){
-                result = Integer.valueOf(bizCode)*1000000 + "";
-                result = result.substring(0,7);
-            }else if(Constant.TRIGGER_P_LSXZ.equals(parentCode)){
-                result = Integer.valueOf(bizCode)*100 + "";
-                result = result.substring(0,3);
-            }else {
+            if (Constant.TRIGGER_P_LSPZ.equals(parentCode)) {
+                result = Integer.valueOf(bizCode) * 1000000 + "";
+                result = result.substring(0, 7);
+            } else if (Constant.TRIGGER_P_LSXZ.equals(parentCode)) {
+                result = Integer.valueOf(bizCode) * 100 + "";
+                result = result.substring(0, 3);
+            } else {
                 result = bizCode;
             }
         }
@@ -188,6 +189,7 @@
         list.add(new ApiTrigger(PushProtocol.SB_WHJL_2023.getCode(), PushProtocol.SB_WHJL_2023.getName()));
         list.add(new ApiTrigger(PushProtocol.HB_FZZY_JG_2022.getCode(), PushProtocol.HB_FZZY_JG_2022.getName()));
         list.add(new ApiTrigger(PushProtocol.SB_SHJdJW_2023.getCode(), PushProtocol.SB_SHJdJW_2023.getName()));
+        list.add(new ApiTrigger(PushProtocol.SB_SH_2023.getCode(), PushProtocol.SB_SH_2023.getName()));
         return list;
     }
 
diff --git a/src/main/java/com/fzzy/api/view/pr/SyncServicePR.java b/src/main/java/com/fzzy/api/view/pr/SyncServicePR.java
index 78099b6..5cd1eab 100644
--- a/src/main/java/com/fzzy/api/view/pr/SyncServicePR.java
+++ b/src/main/java/com/fzzy/api/view/pr/SyncServicePR.java
@@ -45,6 +45,7 @@
         }
 
         //璋冩暣寮�濮嬫椂闂村拰鎴鏃堕棿
+        param.setPushProtocol(apiConfs.getPushProtocol());
         param.setSyncProtocol(apiConfs.getSyncProtocol());
         param.setDeptId(apiConfs.getDeptId());
         param.setStart(ContextUtil.getCurZero(param.getStart()));
diff --git a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
index 12a0ae0..ab22f00 100644
--- a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
+++ b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
@@ -1,11 +1,13 @@
 package com.fzzy.async.fzzy40;
 
 import com.fzzy.api.data.ApiParam;
+import com.fzzy.api.data.PushProtocol;
 import com.fzzy.api.data.SyncProtocol;
 import com.fzzy.api.service.SyncService12;
 import com.fzzy.async.fzzy35.impl.Fzzy35Sync1203;
 import com.fzzy.async.fzzy35.impl.Fzzy35Sync1208;
 import com.fzzy.async.fzzy40.impl.*;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -43,6 +45,8 @@
     private Fzzy40Sync1210 fzzySync1210;
     @Autowired
     private Fzzy40Sync1109 fzzySync1109;
+    @Autowired
+    private Fzzy40Sync2104 fzzySync2104;
 
     @Override
     public String getProtocol() {
@@ -57,6 +61,14 @@
         Date start = param.getStart();
         Date end = param.getEnd();
 
+        /*-----鍚勭渷鐙湁鎺ュ彛淇℃伅鍚屾-----*/
+        if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.getCode().equals(param.getPushProtocol())) {
+            //涓婃捣甯傚钩鍙�2023鐗堬紝闇�瑕佸悓姝ュ競鍌ㄩ┏杩愬崟
+
+            //鍚屾甯傚偍椹宠繍鍗�
+            fzzySync2104.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
+        }
+
         //瀹㈡埛鍚屾
         fzzySync1212.syncData(kqdm, deptId, start, end);
 
diff --git a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java
index f782feb..79f87bb 100644
--- a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java
+++ b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java
@@ -11,10 +11,8 @@
 
 /**
  * @Desc: 绮绠$悊淇℃伅鍚屾
- *
  * @author: czt
  * @update-time: 2023/08/14
- *
  */
 @Component
 public class Fzzy40SyncService13 implements SyncService13 {
@@ -46,19 +44,19 @@
 
 
         /*-----鍚勭渷鐙湁鎺ュ彛淇℃伅鍚屾-----*/
-        if(StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_GD_2022.equals(param.getPushProtocol())){
+        if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_GD_2022.getCode().equals(param.getPushProtocol())) {
             //骞夸笢鐪佸钩鍙�2022鐗堬紝闇�瑕佸悓姝ョ啅钂稿妗堜俊鎭�
             //鐔忚捀澶囨鏁版嵁鍚屾
             fzzySync1023.syncData(param.getDeptId(), param.getStart(), param.getEnd());
 
         }
-        if(StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.equals(param.getPushProtocol())){
+        if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.equals(param.getPushProtocol())) {
             //涓婃捣甯傚钩鍙�2023鐗堬紝闇�瑕佸悓姝ョ伯鎯呰澶囬厤缃俊鎭�
 
             //鍚屾绮儏璁惧閰嶇疆淇℃伅
             fzzy40Sync2103.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
         }
-        
+
         /*-----鍏叡鎺ュ彛-----*/
 
         //娓╂箍搴︽娴嬫暟鎹悓姝�
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java
new file mode 100644
index 0000000..e5988d4
--- /dev/null
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java
@@ -0,0 +1,143 @@
+package com.fzzy.async.fzzy40.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.fzzy.api.Constant;
+import com.fzzy.api.entity.*;
+import com.fzzy.api.service.ApiCommonService;
+import com.fzzy.api.service.ApiTriggerService;
+import com.fzzy.api.utils.ContextUtil;
+import com.fzzy.api.view.repository.*;
+import com.fzzy.async.fzzy40.entity.Fz40InoutCustomer;
+import com.fzzy.async.fzzy40.entity.Fz40InoutNoticeIn;
+import com.fzzy.async.fzzy40.entity.Fz40InoutRecord;
+import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep;
+import com.fzzy.async.fzzy40.repository.Fzzy40Sync1212Rep;
+import com.fzzy.async.fzzy40.repository.Fzzy40SyncNoticeInRep;
+import com.fzzy.push.sh2023.SH2023Constant;
+import com.fzzy.push.sh2023.dto.SH2023Api2104;
+import com.fzzy.push.sh2023.dto.ShAreaBjw;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.time.DateFormatUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 甯傚偍椹宠繍鍗�
+ *
+ * @Author:YAN
+ */
+@Slf4j
+@Component
+public class Fzzy40Sync2104 {
+
+    private final static String INOUT_TYPE_IN = "IN";
+
+    @Autowired
+    private Fzzy40Sync1202Rep fzzy40Sync1202Rep;
+    @Autowired
+    private Api1102Rep api1102Rep;
+    @Autowired
+    private ApiLogRep apiLogRep;
+    @Autowired
+    private ApiCommonService commonService;
+    @Autowired
+    private ApiInfoDataRep apiInfoDataRep;
+    @Autowired
+    private ApiTriggerService apiTriggerService;
+
+    /**
+     * 鍚屾甯傚偍椹宠繍鍗�
+     *
+     * @param deptId
+     * @param start
+     * @param end
+     */
+    public void syncData(String kqdm, String deptId, Date start, Date end) {
+
+        log.info("-------------2104鎺ュ彛鏁版嵁寮�濮嬪悓姝�------------------");
+
+        //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭�
+        ApiLog apiLog = new ApiLog();
+        apiLog.setType(ApiLog.TYPE_SYNC);
+        apiLog.setKqdm(deptId);
+        apiLog.setUploadTime(new Date());
+        apiLog.setInteId(SH2023Constant.SH_2023_API_CODE_2104);
+        apiLog.setStatus(99);
+        apiLog.setId(ContextUtil.getUUID());
+        try {
+            List<Fz40InoutRecord> list = fzzy40Sync1202Rep.listInoutRecord(deptId, start, end);
+            if (null == list || list.isEmpty()) {
+                log.debug("-------------娌℃湁鑾峰彇鍒板競鍌ㄩ┏杩愬崟------------------");
+                return;
+            }
+
+            SH2023Api2104 sh2023Api2104;
+            Api1105 api1105;
+            List<ApiInfoData> apiInfoDataList;
+            List<Api1102> api1102List = api1102Rep.findPushData(kqdm);
+            String bjw = "";
+            String mappingCode = "";
+            if (null != api1102List && api1102List.size() > 0) {
+                bjw = ShAreaBjw.getBjw(api1102List.get(0).getXzqhdm());
+            }
+            for (Fz40InoutRecord sysData : list) {
+
+                sh2023Api2104 = new SH2023Api2104();
+                sh2023Api2104.setBydh(sysData.getId().substring(2));
+                sh2023Api2104.setKqdm(kqdm);
+                sh2023Api2104.setJzrq(sysData.getCompleteTime());
+
+                sh2023Api2104.setCch(sysData.getPlateNum());
+                sh2023Api2104.setLspzdm(sysData.getFoodVariety());
+                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, sysData.getFoodType());
+                sh2023Api2104.setLsxzdm(mappingCode);
+
+                sh2023Api2104.setLldm(kqdm);
+
+                sh2023Api2104.setJz(sysData.getNetWeight());
+                sh2023Api2104.setZhgxsh(sysData.getUpdateTime());
+
+                //鑾峰彇璐т綅淇℃伅
+                api1105 = commonService.getApi1105Cache(sysData.getDepotId());
+                sh2023Api2104.setPch(api1105.getHwdm() + sysData.getFoodYear());
+                sh2023Api2104.setBjw(bjw);
+
+                //鎸佷箙鍖栦繚瀛橈紝鍗曠嫭瀛樺叆闈炲浗鏍囨帴鍙h〃
+                ApiInfoData infoData = new ApiInfoData();
+                infoData.setId(sh2023Api2104.getBydh());
+                infoData.setKqdm(kqdm);
+                infoData.setInteType(Constant.API_CATEGORY_12);
+                infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2104);
+                infoData.setUpdateTime(new Date());
+                infoData.setDataId(sh2023Api2104.getBydh());
+                infoData.setRemarks("甯傚偍椹宠繍鍗�");
+
+                //璁剧疆鎿嶄綔鏍囧織
+                apiInfoDataList = apiInfoDataRep.getDataByDataId(infoData.getDataId());
+                if (null == apiInfoDataList || apiInfoDataList.isEmpty()) {
+                    infoData.setCzbz(Constant.CZBZ_I);
+                    sh2023Api2104.setCzbz(Constant.CZBZ_I);
+                } else {
+                    infoData.setCzbz(apiInfoDataList.get(0).getCzbz());
+                    sh2023Api2104.setCzbz(apiInfoDataList.get(0).getCzbz());
+                }
+
+                infoData.setData(JSON.toJSONString(sh2023Api2104));
+                apiInfoDataRep.save(infoData);
+
+                log.info("2103---甯傚偍椹宠繍鍗�-鍚屾鏁版嵁锛歿}", sh2023Api2104.toString());
+
+            }
+
+        } catch (Exception e) {
+            log.error("---甯傚偍椹宠繍鍗曞悓姝ユ墽琛屽け璐�----{}", e);
+            apiLog.setResult("鍚屾甯傚偍椹宠繍鍗曞け璐ワ細" + e.getMessage());
+            apiLogRep.save(apiLog);
+        }
+    }
+}
diff --git a/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1202Rep.java b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1202Rep.java
index f2bebaf..fb2fc99 100644
--- a/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1202Rep.java
+++ b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1202Rep.java
@@ -4,6 +4,7 @@
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.Query;
 import org.springframework.data.repository.query.Param;
+
 import java.util.Date;
 import java.util.List;
 
@@ -17,6 +18,7 @@
 
     /**
      * 鏍规嵁淇℃伅鑾峰彇鍑哄叆搴撲俊鎭�
+     *
      * @param deptId
      * @param type
      * @param start
@@ -28,10 +30,24 @@
 
     /**
      * 鏍规嵁id鑾峰彇绮鍑哄叆搴撲俊鎭�
+     *
      * @param id
      * @return
      */
     @Query("from Fz40InoutRecord where id=:id order by updateTime ")
     List<Fz40InoutRecord> listInoutRecordById(@Param("id") String id);
 
+
+    /**
+     * 鏍规嵁淇℃伅鑾峰彇鍑哄叆搴撲俊鎭�
+     *
+     * @param deptId
+     * @param start
+     * @param end
+     * @return
+     */
+    @Query("from Fz40InoutRecord where deptId=:deptId and updateTime >=:start and updateTime <:end order by id ")
+    List<Fz40InoutRecord> listInoutRecord(@Param("deptId") String deptId, @Param("start") Date start, @Param("end") Date end);
+
+
 }
diff --git a/src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java b/src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java
index 52f9f89..509e83d 100644
--- a/src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java
+++ b/src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java
@@ -10,6 +10,7 @@
 import com.fzzy.api.service.PushService11;
 import com.fzzy.api.view.repository.*;
 import com.fzzy.push.sh2023.dto.SH2023Api2101;
+import com.fzzy.push.sh2023.dto.SH2023Api2104;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -450,7 +451,30 @@
      * 2104  甯傚偍椹宠繍鍗�
      */
     public void pushData2104(ApiRemoteService apiRemoteService, ApiParam param) {
-        //TODO
 
+        //鑾峰彇 妫�鏂ゅ崟淇℃伅
+        List<ApiInfoData> items = apiInfoDataRep.getDataByInteId(SH2023Constant.SH_2023_API_CODE_2104);
+
+        SH2023Api2104 shApi2104;
+        List<SH2023Api2104> list = new ArrayList<>();
+
+        param.setInteId(SH2023Constant.SH_2023_API_CODE_2104);
+        for (ApiInfoData infoData : items) {
+            shApi2104 = JSONObject.parseObject(infoData.getData(), SH2023Api2104.class);
+            shApi2104.setCzbz(infoData.getCzbz());
+            shApi2104.setZhgxsh(infoData.getUpdateTime());
+            list.add(shApi2104);
+        }
+        ResponseDto responseDto = apiRemoteService.pushData(param, list);
+        if (responseDto.getSuccess() == 0) {
+            //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵��
+            for (ApiInfoData data : items) {
+                if (Constant.CZBZ_I.equals(data.getCzbz())) {
+
+                    data.setCzbz(Constant.CZBZ_U);
+                    apiInfoDataRep.save(data);
+                }
+            }
+        }
     }
 }

--
Gitblit v1.9.3