From bb553634dfca6d5df3311f89c69eacced5e01e74 Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期四, 14 十二月 2023 19:33:31 +0800
Subject: [PATCH] 更新上海粮情数据封装接口

---
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java |  113 +++++++++++++++++++++++++++++++-------------------------
 1 files changed, 63 insertions(+), 50 deletions(-)

diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java
index 1df9693..085b853 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java
@@ -22,7 +22,6 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.text.DateFormat;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -56,7 +55,7 @@
      * @param start
      * @param end
      */
-    public void syncData(String deptId, Date start, Date end) {
+    public void syncData(String kqdm, String deptId, Date start, Date end) {
         log.info("-------------1023鎺ュ彛璁惧淇℃伅寮�濮嬪悓姝�------------------");
 
         //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭�
@@ -64,76 +63,90 @@
         apiLog.setType(ApiLog.TYPE_SYNC);
         apiLog.setKqdm(deptId);
         apiLog.setUploadTime(new Date());
-        apiLog.setInteId(Constant.API_CODE_1107);
+        apiLog.setInteId(ApiCodeConstant.API_1023);
         apiLog.setStatus(99);
         apiLog.setId(ContextUtil.getUUID());
         try {
-            List<Fz4DrugLogApply> list = fzzy40Sync1023Rep.listDrugLogApply(deptId);
+            List<Fz40DrugLogApply> list = fzzy40Sync1023Rep.listDrugLogApply(deptId);
 
             if (null == list || list.isEmpty()) {
                 log.info("-------------娌℃湁鑾峰彇鍒扮啅钂稿妗堜俊鎭�------------------");
                 return;
             }
+            List<GdApi1023Dtl> dtlList;
+            List<GdApi1023Way> wayList;
+            List<GdApi1023People> peopleList;
 
-            List<GdApi1023Dtl> dtlList = new ArrayList<>();
-            List<GdApi1023Way> wayList = new ArrayList<>();
-            List<GdApi1023People> peopleList = new ArrayList<>();
-            for (Fz4DrugLogApply data : list) {
-                //鍌ㄧ伯绮儏鏄庣粏琛�
-                String tbrq = "";
-                if(null != data.getTbrq()){
-                    tbrq = DateFormatUtils.format(data.getTbrq(), "yyyyMMdd");
-                }
-                List<Fz40DrugLogDtl> dtls = drugLogDtlRep.listDrugLogDtl(data.getXzbm()+data.getDeptId()+tbrq);
-                for (Fz40DrugLogDtl dtl : dtls) {
-                    GdApi1023Dtl gdApi1023Dtl = new GdApi1023Dtl();
-                    BeanUtils.copyProperties(dtl, gdApi1023Dtl);
-                    gdApi1023Dtl.setCfdm(dtl.getDepotId());
-                    gdApi1023Dtl.setLspzdm(dtl.getFoodVariety());
-                    gdApi1023Dtl.setLsxzdm(dtl.getFoodType());
-                    gdApi1023Dtl.setLsdjdm(dtl.getFoodLevel());
-                    gdApi1023Dtl.setLssl(dtl.getNumber());
-                    gdApi1023Dtl.setSf(dtl.getPerWet());
-                    gdApi1023Dtl.setZz(dtl.getPerImpurity());
-                    dtlList.add(gdApi1023Dtl);
-                }
-                List<Fz40DrugLogWay> ways = drugLogWayRep.listDrugLogWay(data.getXzbm()+data.getDeptId()+tbrq);
-                for (Fz40DrugLogWay way : ways) {
-                    GdApi1023Way gdApi1023Way = new GdApi1023Way();
-                    BeanUtils.copyProperties(way, gdApi1023Way);
-                    wayList.add(gdApi1023Way);
-                }
-                List<Fz40DrugLogPeople> peoples = drugLogPeopleRep.listDrugLogPeople(data.getXzbm()+data.getDeptId()+tbrq);
-                for (Fz40DrugLogPeople people : peoples) {
-                    GdApi1023People gdApi1023People = new GdApi1023People();
-                    BeanUtils.copyProperties(people, gdApi1023People);
-                    peopleList.add(gdApi1023People);
 
-                }
+            GdApi1023 gdApi1023;
+            GdApi1023Dtl gdApi1023Dtl;
+            GdApi1023Way gdApi1023Way;
+            GdApi1023People gdApi1023People;
 
-                GdApi1023 gdApi1023 = new GdApi1023();
-                BeanUtils.copyProperties(data , gdApi1023);
-                gdApi1023.setXzbm(data.getXzbm());
-                gdApi1023.setKqdm(data.getDeptId());
+            List<ApiInfoData> apiInfoList;
+            ApiInfoData infoData;
+            for (Fz40DrugLogApply data : list) {
+
+                gdApi1023 = new GdApi1023();
+                BeanUtils.copyProperties(data, gdApi1023);
+                gdApi1023.setXzbm(data.getXzbm().substring(8));
+                gdApi1023.setKqdm(kqdm);
+                gdApi1023.setDwdm(kqdm.substring(0, 18));
                 gdApi1023.setYjmc(data.getDrugName());
                 gdApi1023.setYjlx(data.getDrugType());
                 gdApi1023.setZhgxsj(data.getUpdateTime());
 
-                gdApi1023.setDtls(dtlList);
-                gdApi1023.setWays(wayList);
-                gdApi1023.setPeoples(peopleList);
+                //鍌ㄧ伯绮儏鏄庣粏琛�
+                List<Fz40DrugLogDtl> dtls = drugLogDtlRep.listDrugLogDtl(data.getXzbm());
+                if (null != dtls && dtls.size() > 0) {
+                    dtlList = new ArrayList<>();
+                    for (Fz40DrugLogDtl dtl : dtls) {
+                        gdApi1023Dtl = new GdApi1023Dtl();
+                        BeanUtils.copyProperties(dtl, gdApi1023Dtl);
+                        gdApi1023Dtl.setCfdm(dtl.getDepotId());
+                        gdApi1023Dtl.setLspzdm(dtl.getFoodVariety());
+                        gdApi1023Dtl.setLsxzdm(dtl.getFoodType());
+                        gdApi1023Dtl.setLsdjdm(dtl.getFoodLevel());
+                        gdApi1023Dtl.setLssl(dtl.getNumber());
+                        gdApi1023Dtl.setSf(dtl.getPerWet());
+                        gdApi1023Dtl.setZz(dtl.getPerImpurity());
+                        dtlList.add(gdApi1023Dtl);
+                    }
+                    gdApi1023.setDtls(dtlList);
+                }
 
+                List<Fz40DrugLogWay> ways = drugLogWayRep.listDrugLogWay(data.getXzbm());
+                if (null != ways && ways.size() > 0) {
+                    wayList = new ArrayList<>();
+                    for (Fz40DrugLogWay way : ways) {
+                        gdApi1023Way = new GdApi1023Way();
+                        BeanUtils.copyProperties(way, gdApi1023Way);
+                        wayList.add(gdApi1023Way);
+                    }
+                    gdApi1023.setWays(wayList);
+                }
+
+                List<Fz40DrugLogPeople> peoples = drugLogPeopleRep.listDrugLogPeople(data.getXzbm());
+                if (null != peoples && peoples.size() > 0) {
+                    peopleList = new ArrayList<>();
+                    for (Fz40DrugLogPeople people : peoples) {
+                        gdApi1023People = new GdApi1023People();
+                        BeanUtils.copyProperties(people, gdApi1023People);
+                        peopleList.add(gdApi1023People);
+                    }
+                    gdApi1023.setPeoples(peopleList);
+                }
                 //鎸佷箙鍖栦繚瀛橈紝鍗曠嫭瀛樺叆闈炲浗鏍囨帴鍙h〃
-                ApiInfoData infoData = new ApiInfoData();
+                infoData = new ApiInfoData();
                 infoData.setId(ContextUtil.getUUID());
-                infoData.setKqdm(data.getDeptId());
+                infoData.setKqdm(kqdm);
                 infoData.setInteType(Constant.API_CATEGORY_13);
                 infoData.setInteId(ApiCodeConstant.API_1023);
                 infoData.setBizType(PushProtocol.SB_GD_2022.getCode());
-                infoData.setUpdateTime(data.getUpdateTime());
-                infoData.setDataId(data.getXzbm() + data.getDeptId() + DateFormatUtils.format(data.getTbrq(), "yyMMdd"));
+                infoData.setUpdateTime(new Date());
+                infoData.setDataId(data.getXzbm());
+                apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, data.getXzbm(), kqdm);
 
-                List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByDataId(data.getXzbm() + data.getDeptId() + DateFormatUtils.format(data.getTbrq(), "yyMMdd"));
                 if (null == apiInfoList || apiInfoList.isEmpty()) {
                     gdApi1023.setCzbz(Constant.CZBZ_I);
                     infoData.setCzbz(Constant.CZBZ_I);

--
Gitblit v1.9.3