From cd091408dcff794e3001e43b99a6d521cfff36dc Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期一, 13 十一月 2023 21:04:04 +0800
Subject: [PATCH] 优化上海接口批次号问题

---
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1206.java          |   23 ++
 src/main/java/com/fzzy/api/entity/Api1212.java                        |    8 
 src/main/java/com/fzzy/api/view/repository/Api1202Rep.java            |    3 
 src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutNoticeIn.java     |    4 
 src/main/java/com/fzzy/api/view/repository/Api1204Rep.java            |    3 
 src/main/java/com/fzzy/api/view/repository/Api1208Rep.java            |    8 +
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java          |    9 
 src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1204Rep.java |    5 
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java          |    2 
 src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutNoticeOut.java    |    4 
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java          |    2 
 src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java        |  103 ++++++++++----
 src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java           |   28 +--
 src/main/java/com/fzzy/api/view/repository/Api1205Rep.java            |    8 +
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1204.java          |   16 +
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2102.java          |  132 ++++++++++++++++++
 src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java          |   10 +
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1209.java          |    7 
 src/main/java/com/fzzy/api/view/repository/Api1206Rep.java            |    3 
 19 files changed, 293 insertions(+), 85 deletions(-)

diff --git a/src/main/java/com/fzzy/api/entity/Api1212.java b/src/main/java/com/fzzy/api/entity/Api1212.java
index ea6590c..52e0454 100644
--- a/src/main/java/com/fzzy/api/entity/Api1212.java
+++ b/src/main/java/com/fzzy/api/entity/Api1212.java
@@ -39,11 +39,11 @@
     @Column(name = "id")
     private String id;
 
-    @PropertyDef(label = "鍗曚綅浠g爜", required = true)
+    @PropertyDef(label = "鍗曚綅浠g爜")
     @Column(name = "dwdm", length = 18)
     private String dwdm;
 
-    @PropertyDef(label = "鍗曚綅鍚嶇О", required = true)
+    @PropertyDef(label = "鍗曚綅鍚嶇О")
     @Column(name = "dwmc", length = 256)
     private String dwmc;
 
@@ -55,7 +55,7 @@
     @Column(name = "kqmc", length = 256)
     private String kqmc;
 
-    @PropertyDef(label = "瀹㈡埛绫诲瀷", required = true)
+    @PropertyDef(label = "瀹㈡埛绫诲瀷")
     @Column(name = "khlx", length = 1)
     private String khlx;
 
@@ -63,7 +63,7 @@
     @Column(name = "khtyshxydmhsfzh", length = 18)
     private String khtyshxydmhsfzh;
 
-    @PropertyDef(label = "瀹㈡埛鍚嶇О", required = true)
+    @PropertyDef(label = "瀹㈡埛鍚嶇О")
     @Column(name = "khmc", length = 256)
     private String khmc;
 
diff --git a/src/main/java/com/fzzy/api/view/repository/Api1202Rep.java b/src/main/java/com/fzzy/api/view/repository/Api1202Rep.java
index f78f5bf..f64cdcc 100644
--- a/src/main/java/com/fzzy/api/view/repository/Api1202Rep.java
+++ b/src/main/java/com/fzzy/api/view/repository/Api1202Rep.java
@@ -41,4 +41,7 @@
      */
     @Query("from Api1202 where bizId =:bizId")
     List<Api1202> getDataByBizId(@Param("bizId") String bizId);
+
+    @Query("from Api1202 where rkjsdh=:rkjsdh ")
+    List<Api1202> getDataByRkjsdh(@Param("rkjsdh") String rkjsdh);
 }
diff --git a/src/main/java/com/fzzy/api/view/repository/Api1204Rep.java b/src/main/java/com/fzzy/api/view/repository/Api1204Rep.java
index f7eb291..4eebaeb 100644
--- a/src/main/java/com/fzzy/api/view/repository/Api1204Rep.java
+++ b/src/main/java/com/fzzy/api/view/repository/Api1204Rep.java
@@ -23,4 +23,7 @@
 
     @Query("from Api1204 where kqdm=:kqdm and zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
     List<Api1204> findPushDataByTime(@Param("kqdm") String kqdm, @Param("start") Date start, @Param("end") Date end);
+
+    @Query("from Api1204 where rkjsdh=:rkjsdh ")
+    List<Api1204> getDataById(@Param("rkjsdh") String rkjsdh);
 }
diff --git a/src/main/java/com/fzzy/api/view/repository/Api1205Rep.java b/src/main/java/com/fzzy/api/view/repository/Api1205Rep.java
index 0de6e06..48cdee4 100644
--- a/src/main/java/com/fzzy/api/view/repository/Api1205Rep.java
+++ b/src/main/java/com/fzzy/api/view/repository/Api1205Rep.java
@@ -34,4 +34,12 @@
      */
     @Query("from Api1205 where bizId =:bizId")
     List<Api1205> getDataByBizId(@Param("bizId") String bizId);
+
+    /**
+     * 鏍规嵁鍑哄簱缁撶畻鍗曞彿鏌ヨ鏁版嵁
+     * @param ckjsdh
+     * @return
+     */
+    @Query("from Api1205 where ckjsdh =:ckjsdh")
+    List<Api1205> getDataByCkjsdh(@Param("ckjsdh") String ckjsdh);
 }
diff --git a/src/main/java/com/fzzy/api/view/repository/Api1206Rep.java b/src/main/java/com/fzzy/api/view/repository/Api1206Rep.java
index 5f9b6b1..ff212bc 100644
--- a/src/main/java/com/fzzy/api/view/repository/Api1206Rep.java
+++ b/src/main/java/com/fzzy/api/view/repository/Api1206Rep.java
@@ -22,4 +22,7 @@
 
     @Query("from Api1206 where kqdm=:kqdm and zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
     List<Api1206> findPushDataByTime(@Param("kqdm") String kqdm, @Param("start") Date start, @Param("end") Date end);
+
+    @Query("from Api1206 where ckjsdh=:ckjsdh ")
+    List<Api1206> getDataById(@Param("ckjsdh") String ckjsdh);
 }
diff --git a/src/main/java/com/fzzy/api/view/repository/Api1208Rep.java b/src/main/java/com/fzzy/api/view/repository/Api1208Rep.java
index 9a4d156..788356c 100644
--- a/src/main/java/com/fzzy/api/view/repository/Api1208Rep.java
+++ b/src/main/java/com/fzzy/api/view/repository/Api1208Rep.java
@@ -28,4 +28,12 @@
 
     @Query("from Api1208 where kqdm=:kqdm and zhgxsj >=:start and zhgxsj <:end order by zhgxsj ")
     List<Api1208> findPushDataByTime(@Param("kqdm") String kqdm, @Param("start") Date start, @Param("end") Date end);
+
+    /**
+     * 鏍规嵁璐т綅浠g爜鑾峰彇搴撳瓨鏁版嵁
+     * @param hwdm
+     * @return
+     */
+    @Query("from Api1208 where hwdm=:hwdm order by zhgxsj desc")
+    List<Api1208> findDataByHwdm(@Param("hwdm") String hwdm);
 }
diff --git a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
index 126b510..abac48f 100644
--- a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
+++ b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
@@ -45,6 +45,8 @@
     @Autowired
     private Fzzy40Sync2101 fzzySync2101;
     @Autowired
+    private Fzzy40Sync2102 fzzySync2102;
+    @Autowired
     private Fzzy40Sync2104 fzzySync2104;
 
     @Override
@@ -94,13 +96,15 @@
         fzzySync1210.syncData(kqdm, deptId, start, end);
 
         /*-----鍚勭渷鐙湁鎺ュ彛淇℃伅鍚屾-----*/
-//        if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.getCode().equals(param.getPushProtocol())) {
-//            //涓婃捣甯傚钩鍙�2023鐗堬紝闇�瑕佸悓姝ュ競鍌ㄦ鏂ゅ崟锛屽悓姝ュ競鍌ㄩ┏杩愬崟
+        //涓婃捣甯傚钩鍙�2023鐗�
+        if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.getCode().equals(param.getPushProtocol())) {
+            //鍊掍粨鍊掑叆淇℃伅鍚屾
+            fzzySync2102.syncData(kqdm, deptId, start, end);
 //            //鍚屾甯傚偍妫�鏂ゅ崟
 //            fzzySync2101.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
 //            //鍚屾甯傚偍椹宠繍鍗�
 //            fzzySync2104.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
-//        }
+        }
         //璐﹂潰搴撳瓨淇℃伅鍚屾  TODO
 
     }
diff --git a/src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutNoticeIn.java b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutNoticeIn.java
index 544c14c..4a75b3a 100644
--- a/src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutNoticeIn.java
+++ b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutNoticeIn.java
@@ -73,11 +73,11 @@
 
     @Column(name = "TARGET_NUMBER_")
     @PropertyDef(label = "鐩爣鏁伴噺", description = "鍗曚綅锛氬惃锛屾墜鍔ㄥ~鎶�")
-    private double targetNumber = 0.0;
+    private Double targetNumber = 0.0;
 
     @Column(name = "COMPLETE_NUMBER_")
     @PropertyDef(label = "瀹屾垚鏁伴噺", description = "鍗曚綅锛氬惃锛岀郴缁熻嚜鍔ㄥ悎璁�")
-    private double completeNumber = 0.0;
+    private Double completeNumber = 0.0;
 
     @Column(name = "AUDIT_STATUS_", length = 10)
     @PropertyDef(label = "瀹℃牳鐘舵��", description = "涓哄鏍革紝瀹℃牳閫氳繃锛屾嫆鎺�")
diff --git a/src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutNoticeOut.java b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutNoticeOut.java
index a4c7e75..47d4f51 100644
--- a/src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutNoticeOut.java
+++ b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutNoticeOut.java
@@ -76,11 +76,11 @@
 
     @Column(name = "TARGET_NUMBER_")
     @PropertyDef(label = "鐩爣鏁伴噺", description = "鍗曚綅锛欿G锛屾墜鍔ㄥ~鎶�")
-    private double targetNumber = 0.0;
+    private Double targetNumber = 0.0;
 
     @Column(name = "COMPLETE_NUMBER_")
     @PropertyDef(label = "瀹屾垚鏁伴噺", description = "鍗曚綅锛欿G锛岀郴缁熻嚜鍔ㄥ悎璁�")
-    private double completeNumber = 0.0;
+    private Double completeNumber = 0.0;
 
     @Column(name = "AUDIT_STATUS_", length = 10)
     @PropertyDef(label = "瀹℃牳鐘舵��", description = "涓哄鏍革紝瀹℃牳閫氳繃锛屾嫆鎺�")
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java
index 03b7474..cf153a7 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java
@@ -5,7 +5,6 @@
 import com.fzzy.api.service.ApiCommonService;
 import com.fzzy.api.service.ApiTriggerService;
 import com.fzzy.api.utils.ContextUtil;
-import com.fzzy.api.utils.DateUtil;
 import com.fzzy.api.view.repository.Api1201Rep;
 import com.fzzy.api.view.repository.Api1202Rep;
 import com.fzzy.api.view.repository.Api1404Rep;
@@ -22,9 +21,6 @@
 import org.apache.commons.lang.time.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -202,7 +198,10 @@
 
                 apiData.setBzwkl(0 - sysData.getDePackage());
                 apiData.setBzbjs(sysData.getBzbjs());
-
+                apiData.setCmsj(sysData.getCompleteTime());
+                if(StringUtils.isNotEmpty(sysData.getSettleId())){
+                    apiData.setRkjsdh(kqdm + sysData.getSettleId());
+                }
                 //鍏跺畠
                 apiData.setQtkl(0 - sysData.getDeOther());
                 //鍊间粨 鐜板満鎵i噸
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1204.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1204.java
index c0c268d..a412655 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1204.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1204.java
@@ -62,7 +62,7 @@
         apiLog.setId(ContextUtil.getUUID());
         try {
             //鑾峰彇绮鍏ュ簱缁撶畻淇℃伅
-            List<Fz40InoutSettle> list = fzzy40Sync1204Rep.listInoutSettle(INOUT_TYPE_IN, start, end);
+            List<Fz40InoutSettle> list = fzzy40Sync1204Rep.listInoutSettle(deptId, INOUT_TYPE_IN, start, end);
 
             if (null == list || list.isEmpty()) {
                 log.info("-------------娌℃湁鑾峰彇鍒扮伯椋熷叆搴撶粨绠椾俊鎭�------------------");
@@ -71,11 +71,12 @@
 
             Api1204 apiData;
             Api1105 api1105;
+            List<Api1204> api1204List;
             for (Fz40InoutSettle sysData : list) {
 
                 apiData = new Api1204();
-                //鍏ュ簱缁撶畻鍗曞彿:搴撳尯浠g爜 + yyMMdd + 4涓洪『搴忓彿
-                apiData.setRkjsdh(kqdm + sysData.getId().substring(2));
+                //鍏ュ簱缁撶畻鍗曞彿:搴撳尯浠g爜 + yyyyMMdd + 4涓洪『搴忓彿
+                apiData.setRkjsdh(kqdm + sysData.getId());
 
                 if(StringUtils.isNotEmpty(sysData.getDepotId())){
                     api1105 = commonService.getApi1105Cache(sysData.getDepotId());
@@ -103,8 +104,7 @@
                 apiData.setFkdw(sysData.getPayUnit());
 
                 //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
-                apiData.setCzbz(Constant.CZBZ_I);
-                apiData.setZhgxsj(sysData.getUpdateTime());
+                apiData.setZhgxsj(new Date());
 
                 //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
                 apiData.setBizId(sysData.getId());
@@ -112,6 +112,12 @@
                 apiData.setSyncTime(new Date());
                 log.info("1204---鍚屾鏁版嵁锛歿}", apiData.toString());
                 //淇濆瓨鏁版嵁
+                api1204List = api1204Rep.getDataById(apiData.getRkjsdh());
+                if (null == api1204List || api1204List.isEmpty()) {
+                    apiData.setCzbz(Constant.CZBZ_I);
+                } else {
+                    apiData.setCzbz(api1204List.get(0).getCzbz());
+                }
                 api1204Rep.save(apiData);
             }
         } catch (Exception e) {
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
index f2c482d..7c917fe 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
@@ -188,7 +188,7 @@
             }
             apiData.setCmsj(sysData.getCompleteTime());
             if(StringUtils.isNotEmpty(sysData.getSettleId())){
-                apiData.setCkjsdh(sysData.getSettleId());
+                apiData.setCkjsdh(kqdm + sysData.getSettleId());
             }
 
             //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1206.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1206.java
index d5bda63..5a57bfc 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1206.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1206.java
@@ -11,6 +11,7 @@
 import com.fzzy.async.fzzy40.entity.Fz40InoutSettle;
 import com.fzzy.async.fzzy40.repository.Fzzy40Sync1204Rep;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -58,7 +59,7 @@
         apiLog.setId(ContextUtil.getUUID());
         try {
             //鑾峰彇绮鍏ュ簱缁撶畻淇℃伅
-            List<Fz40InoutSettle> list = fzzySync1204Rep.listInoutSettle(INOUT_TYPE_OUT, start, end);
+            List<Fz40InoutSettle> list = fzzySync1204Rep.listInoutSettle(deptId, INOUT_TYPE_OUT, start, end);
 
             if (null == list || list.isEmpty()) {
                 log.info("-------------娌℃湁鑾峰彇鍒扮伯椋熷叆搴撶粨绠椾俊鎭�------------------");
@@ -69,14 +70,17 @@
             Api1102 api1201 = api1102Rep.findById(kqdm).get();
 
             Api1206 apiData;
+            List<Api1206> api1206List;
             for (Fz40InoutSettle sysData : list) {
 
                 apiData = new Api1206();
-                //鍏ュ簱缁撶畻鍗曞彿:搴撳尯浠g爜 + yyMMdd + 4涓洪『搴忓彿
-                apiData.setCkjsdh(kqdm + sysData.getId().substring(2));
+                //鍏ュ簱缁撶畻鍗曞彿:搴撳尯浠g爜 + yyyyMMdd + 4涓洪『搴忓彿
+                apiData.setCkjsdh(kqdm + sysData.getId());
 
                 //鍚堝悓鍙�
-                apiData.setHth(api1201.getDwdm() + sysData.getId());
+                if(StringUtils.isNotEmpty(sysData.getContractId())){
+                    apiData.setHth(api1201.getDwdm() + sysData.getContractId());
+                }
 
                 //缁撶畻閲嶉噺銆佺粨绠楀崟浠枫�佺粨绠楅噾棰濄�佺粨绠楁椂闂�
                 apiData.setJssl(sysData.getSettleWeight());
@@ -90,18 +94,25 @@
                 apiData.setKhhh(sysData.getBankCode());
                 apiData.setKhhmc(sysData.getBank());
                 apiData.setYhzh(sysData.getBankNum());
+                apiData.setFkr(StringUtils.isEmpty(sysData.getPayUser())? "浠樻浜�":sysData.getPayUser());
                 apiData.setFphm("");
                 apiData.setFpzt("");
 
                 //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
-                apiData.setCzbz(Constant.CZBZ_I);
-                apiData.setZhgxsj(sysData.getUpdateTime());
+                apiData.setZhgxsj(new Date());
 
                 //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
                 apiData.setBizId(sysData.getId());
                 apiData.setKqdm(kqdm);
                 apiData.setSyncTime(new Date());
                 log.info("1206---鍚屾鏁版嵁锛歿}", apiData.toString());
+
+                api1206List = api1206Rep.getDataById(apiData.getCkjsdh());
+                if (null == api1206List || api1206List.isEmpty()) {
+                    apiData.setCzbz(Constant.CZBZ_I);
+                } else {
+                    apiData.setCzbz(api1206List.get(0).getCzbz());
+                }
                 //淇濆瓨鏁版嵁
                 api1206Rep.save(apiData);
             }
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1209.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1209.java
index b8e41b6..13c1b8f 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1209.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1209.java
@@ -89,14 +89,11 @@
                 //鍑�閲嶆崯婧㈡暟閲忥紝鎹熻�椾负姝o紝婧㈠嚭涓鸿礋
                 if (LOSS_OVER_LOSS.equals(sysData.getType())) {
                     apiData.setJzsysl(sysData.getAmount());
-                    apiData.setCkjz(sysData.getAmount());
-                    apiData.setRkjz(0);
                 } else {
                     apiData.setJzsysl(0 - sysData.getAmount());
-                    apiData.setRkjz(sysData.getAmount());
-                    apiData.setCkjz(0);
                 }
-
+                apiData.setRkjz(sysData.getRkjz());
+                apiData.setCkjz(sysData.getCkjz());
                 apiData.setRksj(sysData.getSubmitTime());
                 apiData.setCksj(sysData.getSubmitTime());
 
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java
index 8762f94..fb5929b 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java
@@ -147,6 +147,8 @@
                 api1310.setYpdj(StringUtils.isEmpty(fz40Quality.getYpdj()) ? "0" : fz40Quality.getYpdj());
                 api1310.setSfzcccnx(StringUtils.isEmpty(fz40Quality.getNormalYear()) ? "0" : fz40Quality.getNormalYear());
                 api1310.setBz(fz40Quality.getRemark());
+                api1310.setYpbh(fz40Quality.getYpbh());
+                api1310.setQydbh(fz40Quality.getQydbh());
                 api1310.setZhgxsj(new Date());
 
                 api1310List = api1310Rep.getDataByZjbgdh(api1310.getZjbgdh());
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2102.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2102.java
new file mode 100644
index 0000000..672429a
--- /dev/null
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2102.java
@@ -0,0 +1,132 @@
+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.utils.ContextUtil;
+import com.fzzy.api.view.repository.Api1102Rep;
+import com.fzzy.api.view.repository.ApiInfoDataRep;
+import com.fzzy.api.view.repository.ApiLogRep;
+import com.fzzy.async.fzzy40.entity.Fz40InoutStockChange;
+import com.fzzy.async.fzzy40.repository.Fzzy40Sync1207Rep;
+import com.fzzy.push.sh2023.SH2023Constant;
+import com.fzzy.push.sh2023.dto.SH2023Api2102;
+import com.fzzy.push.sh2023.dto.ShAreaBjw;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 鍊掍粨鍊掑叆
+ *
+ * @author czt
+ */
+@Slf4j
+@Component
+public class Fzzy40Sync2102 {
+
+    @Autowired
+    private Fzzy40Sync1207Rep fzzySync1207Rep;
+    @Autowired
+    private ApiCommonService commonService;
+    @Autowired
+    private Api1102Rep api1102Rep;
+    @Autowired
+    private ApiInfoDataRep apiInfoDataRep;
+    @Autowired
+    private ApiLogRep apiLogRep;
+
+    /**
+     * 鍊掍粨鍊掑叆淇℃伅鍚屾
+     *
+     * @param kqdm
+     * @param deptId
+     * @param start
+     * @param end
+     */
+    public void syncData(String kqdm, String deptId, Date start, Date end) {
+        log.info("-------------2101鎺ュ彛鏁版嵁寮�濮嬪悓姝�------------------");
+
+        //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭�
+        ApiLog apiLog = new ApiLog();
+        apiLog.setType(ApiLog.TYPE_SYNC);
+        apiLog.setKqdm(deptId);
+        apiLog.setUploadTime(new Date());
+        apiLog.setInteId(SH2023Constant.SH_2023_API_CODE_2101);
+        apiLog.setStatus(99);
+        apiLog.setId(ContextUtil.getUUID());
+        try {
+            List<Fz40InoutStockChange> list = fzzySync1207Rep.listStockChange(deptId, start, end);
+            if (null == list || list.isEmpty()) {
+                log.info("-------------娌℃湁鑾峰彇鍒板�掍粨鍊掑叆淇℃伅------------------");
+                return;
+            }
+
+            SH2023Api2102 apiData;
+            Api1105 api1105;
+            List<ApiInfoData> apiInfoDataList;
+            List<Api1102> api1102List = api1102Rep.findPushData(kqdm);
+            String bjw = "";
+            if (null != api1102List && api1102List.size() > 0) {
+                bjw = ShAreaBjw.getBjw(api1102List.get(0).getXzqhdm());
+            }
+            Api1105 api1105In;
+            Api1105 api1105Out;
+            for (Fz40InoutStockChange sysData : list) {
+                //鑾峰彇璐т綅淇℃伅
+                api1105Out = commonService.getApi1105Cache(sysData.getDepotIdOut());
+                if (null == api1105Out) {
+                    continue;
+                }
+                //鑾峰彇璐т綅淇℃伅
+                api1105In = commonService.getApi1105Cache(sysData.getDepotIdIn());
+                if (null == api1105In) {
+                    continue;
+                }
+                apiData = new SH2023Api2102();
+                apiData.setDrdh(kqdm + sysData.getId());
+                apiData.setDrdw(kqdm);
+                apiData.setDrhwdm(api1105In.getHwdm());
+                apiData.setDrhwsl(sysData.getNumber());
+                apiData.setDcrq(sysData.getChangeDate());
+                apiData.setZhgxsj(sysData.getUpdateTime());
+                apiData.setBjw(bjw);
+
+
+                //鎸佷箙鍖栦繚瀛橈紝鍗曠嫭瀛樺叆闈炲浗鏍囨帴鍙h〃
+                ApiInfoData infoData = new ApiInfoData();
+                infoData.setId(ContextUtil.getUUID());
+                infoData.setKqdm(kqdm);
+                infoData.setInteType(Constant.API_CATEGORY_12);
+                infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2102);
+                infoData.setUpdateTime(new Date());
+                infoData.setDataId(apiData.getDrdh());
+                infoData.setRemarks("鍊掍粨鍊掑叆");
+
+                //璁剧疆鎿嶄綔鏍囧織
+                apiInfoDataList = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_2101, infoData.getDataId(), kqdm);
+                if (null == apiInfoDataList || apiInfoDataList.isEmpty()) {
+                    infoData.setCzbz(Constant.CZBZ_I);
+                    apiData.setCzbz(Constant.CZBZ_I);
+                } else {
+                    infoData.setCzbz(apiInfoDataList.get(0).getCzbz());
+                    apiData.setCzbz(apiInfoDataList.get(0).getCzbz());
+                }
+
+                infoData.setData(JSON.toJSONString(apiData));
+                apiInfoDataRep.save(infoData);
+
+                log.info("2102---鍊掍粨鍊掑叆-鍚屾鏁版嵁锛歿}", apiData);
+
+            }
+
+        } catch (Exception e) {
+            log.error("---鍊掍粨鍊掑叆鍚屾鎵ц澶辫触----{}", e);
+            apiLog.setResult("鍊掍粨鍊掑叆澶辫触锛�" + e.getMessage());
+            apiLogRep.save(apiLog);
+        }
+    }
+}
diff --git a/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1204Rep.java b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1204Rep.java
index d533228..f985f68 100644
--- a/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1204Rep.java
+++ b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1204Rep.java
@@ -22,6 +22,7 @@
      * @param end
      * @return
      */
-    @Query("from Fz40InoutSettle where inoutType=:type and payTime >=:start and payTime <:end order by payTime ")
-    List<Fz40InoutSettle> listInoutSettle(@Param("type") String type, @Param("start") Date start, @Param("end") Date end);
+    @Query("from Fz40InoutSettle where deptId=:deptId and inoutType=:type and updateTime >=:start and updateTime <:end order by updateTime ")
+    List<Fz40InoutSettle> listInoutSettle(@Param("deptId") String deptId, @Param("type") String type, @Param("start") Date start, @Param("end") Date end);
+
 }
diff --git a/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java
index 6babe56..26e00e1 100644
--- a/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java
+++ b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi2102PR.java
@@ -151,7 +151,7 @@
 
     @Expose
     public String pushData(List<SH2023Api2102> items) {
-        ResponseDto responseDto;
+
         String result = "";
 
         String kqdm = items.get(0).getDrhwdm().substring(0, 21);
@@ -170,27 +170,21 @@
             return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触";
         }
 
-        //鎺ㄩ�侊紝鏁版嵁涓洪泦鍚堝舰寮�
-        responseDto = apiService.pushData(param, apiConf, items);
-        if (responseDto.getSuccess() == 0) {
-            //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵��
 
-            ApiInfoData infoData;
-            for (SH2023Api2102 data : items) {
+        ResponseDto responseDto;
+        ApiInfoData infoData;
+        for (SH2023Api2102 data : items) {
+            //鎺ㄩ�侊紝鏁版嵁涓洪泦鍚堝舰寮�
+            responseDto = apiService.pushData(param, apiConf, data);
+            if (responseDto.getSuccess() == 0) {
+                //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵��
                 if (Constant.CZBZ_I.equals(data.getCzbz())) {
-
-                    infoData = new ApiInfoData();
-                    infoData.setId(data.getDrdh());
-                    infoData.setKqdm(data.getDrhwdm().substring(0, 21));
-                    infoData.setInteType("21");
-                    infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2102);
-                    infoData.setUpdateTime(new Date());
-                    infoData.setDataId(data.getDrdh());
-
+                    List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_2102, data.getDrdh(), data.getDrdw());
                     data.setCzbz(Constant.CZBZ_U);
+                    infoData = apiInfoList.get(0);
+                    infoData.setUpdateTime(new Date());
                     infoData.setCzbz(Constant.CZBZ_U);
                     infoData.setData(JSON.toJSONString(data));
-
                     apiInfoDataRep.save(infoData);
                 }
             }
diff --git a/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java b/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
index 4b2c9dc..25bdc64 100644
--- a/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
+++ b/src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -346,12 +346,6 @@
             if (StringUtils.isEmpty(api1202.getCddm())) {
                 api1202.setCddm(api1202.getHwdm().substring(2, 8));
             }
-            if (StringUtils.isEmpty(api1202.getHth())) {
-                api1202.setHth("鏃�");
-            }
-            if (StringUtils.isEmpty(api1202.getJhmxh())) {
-                api1202.setJhmxh("璁″垝鏄庣粏鍙�");
-            }
             if (StringUtils.isEmpty(api1202.getRkjsdh())) {
                 api1202.setRkjsdh("0");
             }
@@ -363,7 +357,10 @@
             }
 
             //璁剧疆鎵规鍙�
-            api1202.setPch(apiData.getHwdm() + apiData.getShnd());
+            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1202.getHwdm());
+            if(null != api1208List && api1208List.size() > 0){
+                api1202.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
+            }
             //璁剧疆绌哄睘鎬т负榛樿鍊�
             changeObject(api1202);
             return api1202;
@@ -386,8 +383,10 @@
                 api1203.setZkl("0");
             }
             //璁剧疆鎵规鍙�
-            List<Api1202> api1202List = api1202Rep.getDataById(apiData.getRkywdh());
-            api1203.setPch(apiData.getHwdm() + api1202List.get(0).getShnd());
+            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1203.getHwdm());
+            if(null != api1208List && api1208List.size() > 0){
+                api1203.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
+            }
 
             //璁剧疆绌哄睘鎬т负榛樿鍊�
             changeObject(api1203);
@@ -399,9 +398,16 @@
             BeanUtils.copyProperties(apiData, api1204);
             api1204.setBjw(ShAreaBjw.getBjw(code));
 
-            //TODO 鏌ヨ鍚堝悓鑾峰彇鎵规鍙�
             //璁剧疆鎵规鍙�
-            api1204.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJssj(), "yyyy"));
+            if(StringUtils.isNotEmpty(api1204.getHth())){
+                List<Api1202> api1202List = api1202Rep.getDataByRkjsdh(api1204.getRkjsdh());
+                if(null != api1202List && api1202List.size() > 0){
+                    List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1202List.get(0).getHwdm());
+                    if(null != api1208List && api1208List.size() > 0){
+                        api1204.setPch(api1208List.get(0).getHwdm() + api1208List.get(0).getShnd());
+                    }
+                }
+            }
 
             //璁剧疆绌哄睘鎬т负榛樿鍊�
             changeObject(api1204);
@@ -418,12 +424,6 @@
             if (StringUtils.isEmpty(api1205.getCddm())) {
                 api1205.setCddm(api1205.getHwdm().substring(2, 8));
             }
-            if (StringUtils.isEmpty(api1205.getHth())) {
-                api1205.setHth("鏃�");
-            }
-            if (StringUtils.isEmpty(api1205.getJhmxh())) {
-                api1205.setJhmxh("璁″垝鏄庣粏鍙�");
-            }
             if (StringUtils.isEmpty(api1205.getCkjsdh())) {
                 api1205.setCkjsdh("0");
             }
@@ -435,7 +435,10 @@
             }
 
             //璁剧疆鎵规鍙�
-            api1205.setPch(apiData.getHwdm() + apiData.getShnd());
+            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1205.getHwdm());
+            if(null != api1208List && api1208List.size() > 0){
+                api1205.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
+            }
 
             //璁剧疆绌哄睘鎬т负榛樿鍊�
             changeObject(api1205);
@@ -446,15 +449,23 @@
             Api1206 apiData = (Api1206) data;
             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"));
+            //鎵规鍙�
+            if(StringUtils.isNotEmpty(api1206.getHth())){
+                List<Api1205> api1205List = api1205Rep.getDataByCkjsdh(api1206.getCkjsdh());
+                if(null != api1205List && api1205List.size() > 0){
+                    List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1205List.get(0).getHwdm());
+                    if(null != api1208List && api1208List.size() > 0){
+                        api1206.setPch(api1208List.get(0).getHwdm() + api1208List.get(0).getShnd());
+                    }
+                }
+            }
 
             //璁剧疆绌哄睘鎬т负榛樿鍊�
             changeObject(api1206);
             return api1206;
         }
         if (SH2023Constant.SH_2023_API_CODE_1207.equals(inteId)) {
+            //鍊掍粨鍊掑嚭
             SH2023Api1207 api1207 = new SH2023Api1207();
             Api1207 apiData = (Api1207) data;
             BeanUtils.copyProperties(apiData, api1207);
@@ -462,8 +473,10 @@
             api1207.setDcrq(apiData.getDcrq());
             api1207.setBjw(ShAreaBjw.getBjw(code));
 
-            api1207.setPch(apiData.getDchwdm() + DateFormatUtils.format(apiData.getDcrq(), "yyyy"));
-            api1207.setKddh(apiData.getDcdh().substring(21, 33));
+            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1207.getDchwdm());
+            if(null != api1208List && api1208List.size() > 0){
+                api1207.setPch(api1207.getDchwdm() + api1208List.get(0).getShnd());
+            }
 
             //璁剧疆绌哄睘鎬т负榛樿鍊�
             changeObject(api1207);
@@ -496,7 +509,10 @@
             api1209.setZrshde(apiData.getQzzrshde());
             api1209.setBjw(ShAreaBjw.getBjw(code));
             api1209.setJzrq(apiData.getYwrq());
-            api1209.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getYwrq(), "yyyy"));
+            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1209.getHwdm());
+            if(null != api1208List && api1208List.size() > 0){
+                api1209.setPch(api1209.getHwdm() + api1208List.get(0).getShnd());
+            }
 
             //璁剧疆绌哄睘鎬т负榛樿鍊�
             changeObject(api1209);
@@ -508,7 +524,10 @@
 
             BeanUtils.copyProperties(apiData, api1210);
             api1210.setBjw(ShAreaBjw.getBjw(code));
-            api1210.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getHzrq(), "yyyy"));
+            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1210.getHwdm());
+            if(null != api1208List && api1208List.size() > 0){
+                api1210.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
+            }
 
             //璁剧疆绌哄睘鎬т负榛樿鍊�
             changeObject(api1210);
@@ -522,7 +541,10 @@
             api1211.setZglkdm(api1211.getKqdm());
             api1211.setBjw(ShAreaBjw.getBjw(code));
             api1211.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getYwrq(), "yyyyMM"));
-            api1211.setZglkdm(apiData.getKqdm());
+            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1211.getHwdm());
+            if(null != api1208List && api1208List.size() > 0){
+                api1211.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
+            }
 
             //璁剧疆绌哄睘鎬т负榛樿鍊�
             changeObject(api1211);
@@ -551,12 +573,16 @@
             Api1302 apiData = (Api1302) data;
             BeanUtils.copyProperties(apiData, api1302);
             api1302.setBjw(ShAreaBjw.getBjw(code));
-            api1302.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJcsj(), "yyyy"));
             api1302.setCpjw(String.valueOf(apiData.getLspjw()));
             api1302.setCzgw(String.valueOf(apiData.getLspjw()));
             api1302.setCzdw(String.valueOf(apiData.getLspjw()));
             api1302.setGfwjw(String.valueOf(apiData.getLspjw()));
             api1302.setLwmx(apiData.getLswdzjh());
+
+            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1302.getHwdm());
+            if(null != api1208List && api1208List.size() > 0){
+                api1302.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
+            }
 
             //璁剧疆绌哄睘鎬т负榛樿鍊�
             changeObject(api1302);
@@ -567,8 +593,10 @@
             Api1303 apiData = (Api1303) data;
             BeanUtils.copyProperties(apiData, api1303);
             api1303.setBjw(ShAreaBjw.getBjw(code));
-            api1303.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJcsj(), "yyyy"));
-
+            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1303.getHwdm());
+            if(null != api1208List && api1208List.size() > 0){
+                api1303.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
+            }
             //璁剧疆绌哄睘鎬т负榛樿鍊�
             changeObject(api1303);
             return api1303;
@@ -578,7 +606,10 @@
             Api1304 apiData = (Api1304) data;
             BeanUtils.copyProperties(apiData, api1304);
             api1304.setBjw(ShAreaBjw.getBjw(code));
-            api1304.setPch(apiData.getHwdm() + DateFormatUtils.format(apiData.getJcsj(), "yyyy"));
+            List<Api1208> api1208List = api1208Rep.findDataByHwdm(api1304.getHwdm());
+            if(null != api1208List && api1208List.size() > 0){
+                api1304.setPch(apiData.getHwdm() + api1208List.get(0).getShnd());
+            }
 
             //璁剧疆绌哄睘鎬т负榛樿鍊�
             changeObject(api1304);
@@ -660,7 +691,7 @@
                 api1310.setJyxmz("0");
             }
             String lsxzdm = "122";
-            String pch = apiData.getHwdm() + DateFormatUtils.format(new Date(), "yyyy");
+            String pch = "";
             List<Api1208> api1208List = api1208Rep.getDataByHwdm(api1310.getHwdm());
             if(null != api1208List && api1208List.size() > 0){
                 if(StringUtils.isNotEmpty(api1208List.get(0).getLsxzdm())){
@@ -745,9 +776,15 @@
             return data;
         }
         if (SH2023Constant.SH_2023_API_CODE_2102.equals(inteId)) {
+            SH2023Api2102 apiData = new SH2023Api2102();
+            BeanUtils.copyProperties(data, apiData);
+            List<Api1208> api1208List = api1208Rep.findDataByHwdm(apiData.getDrhwdm());
+            if(null != api1208List && api1208List.size() > 0){
+                apiData.setPch(apiData.getDrhwdm() + api1208List.get(0).getShnd());
+            }
             //璁剧疆绌哄睘鎬т负榛樿鍊�
-            changeObject(data);
-            return data;
+            changeObject(apiData);
+            return apiData;
         }
         if (SH2023Constant.SH_2023_API_CODE_2103.equals(inteId)) {
             SH2023Api2103 apiData = new SH2023Api2103();

--
Gitblit v1.9.3