From 11430ae628f098654579811131abc522d679e870 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期一, 22 九月 2025 17:04:42 +0800
Subject: [PATCH] 上海对农接口调整-增加自动上传

---
 src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1208.java |  213 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 213 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1208.java b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1208.java
new file mode 100644
index 0000000..9a96021
--- /dev/null
+++ b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1208.java
@@ -0,0 +1,213 @@
+package com.fzzy.async.fzzy61.impl;
+
+import com.fzzy.api.Constant;
+import com.fzzy.api.entity.Api1102;
+import com.fzzy.api.entity.Api1105;
+import com.fzzy.api.entity.Api1208;
+import com.fzzy.api.entity.ApiLog;
+import com.fzzy.api.service.ApiCommonService;
+import com.fzzy.api.service.ApiTriggerService;
+import com.fzzy.api.utils.ContextUtil;
+import com.fzzy.api.view.repository.Api1102Rep;
+import com.fzzy.api.view.repository.Api1208Rep;
+import com.fzzy.api.view.repository.ApiLogRep;
+import com.fzzy.async.fzzy61.entity.Fz61DepotStore;
+import com.fzzy.async.fzzy61.repository.Fzzy61Sync1208Rep;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.time.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 绮搴撳瓨
+ */
+@Slf4j
+@Component
+public class Fzzy61Sync1208 {
+
+    @Autowired
+    private Fzzy61Sync1208Rep fzzySync1208Rep;
+    @Autowired
+    private ApiTriggerService apiTriggerService;
+    @Autowired
+    private Api1208Rep api1208Rep;
+    @Autowired
+    private ApiCommonService commonService;
+    @Autowired
+    private Api1102Rep api1102Rep;
+    @Autowired
+    private ApiLogRep apiLogRep;
+
+    /**
+     * 鍚屾绮搴撳瓨
+     *
+     * @param deptId
+     * @param start
+     * @param end
+     */
+    public void syncData(String kqdm, String deptId, Date start, Date end) {
+
+        log.info("-------------1208绮搴撳瓨淇℃伅鎺ュ彛鏁版嵁寮�濮嬪悓姝�------------------");
+
+        //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭�
+        ApiLog apiLog = new ApiLog();
+        apiLog.setType(ApiLog.TYPE_SYNC);
+        apiLog.setKqdm(deptId);
+        apiLog.setUploadTime(new Date());
+        apiLog.setInteId(Constant.API_CODE_1208);
+        apiLog.setStatus(99);
+        apiLog.setId(ContextUtil.getUUID());
+        try {
+            List<Fz61DepotStore> list = fzzySync1208Rep.listDepot(deptId, start, end);
+
+            if (null == list || list.isEmpty()) {
+
+                log.info("-------------娌℃湁鑾峰彇鍒扮伯椋熷簱瀛樹俊鎭�------------------");
+
+                return;
+            }
+
+            //鏍规嵁搴撳尯浠g爜鑾峰彇鍗曚綅浠g爜
+            Api1102 api1102 = api1102Rep.findById(kqdm).get();
+
+            Api1208 apiData;
+            Api1105 api1105;
+            List<Api1208> api1208List;
+            for (Fz61DepotStore fz61DepotStore : list) {
+
+                //鑾峰彇璐т綅淇℃伅
+                api1105 = commonService.getApi1105Cache(fz61DepotStore.getDepotId());
+                if (null == api1105) {
+                    continue;
+                }
+
+                apiData = new Api1208();
+                apiData.setId(fz61DepotStore.getId());
+                apiData.setHwdm(api1105.getHwdm());
+
+                //绮鍝佺
+                String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, fz61DepotStore.getFoodVariety());
+                apiData.setLspzdm(mappingCode);
+
+                //绮鎬ц川
+                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, fz61DepotStore.getFoodType());
+                apiData.setLsxzdm(mappingCode);
+
+                //绮绛夌骇
+                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, fz61DepotStore.getFoodLevel());
+                apiData.setLsdjdm(mappingCode);
+
+                apiData.setShnd(fz61DepotStore.getFoodYear());
+
+                //浜у湴浠g爜
+                mappingCode = commonService.getFoodLocationIdFromCache(fz61DepotStore.getFoodLocation());
+                if (StringUtils.isEmpty(mappingCode)) {
+                    mappingCode = apiData.getHwdm().substring(2, 8);
+                }
+                apiData.setCd(mappingCode);
+
+                apiData.setBgy(StringUtils.isEmpty(api1105.getBgy()) ? "淇濈鍛�" : api1105.getBgy());
+                apiData.setLqgsdwdm(fz61DepotStore.getLqgsdwdm());
+                apiData.setLqxzqhdm(api1102.getXzqhdm());
+                if (apiData.getLsxzdm().equals("121")) {
+                    //鐪佺骇鍌ㄥ绮�-绮潈琛屾斂鍖哄垝浠g爜涓虹渷绾�
+                    apiData.setLqxzqhdm(api1102.getXzqhdm().substring(0, 2) + "0000");
+                }
+                if (apiData.getLsxzdm().equals("122")) {
+                    //甯傜骇鍌ㄥ绮�-绮潈琛屾斂鍖哄垝浠g爜涓哄競绾�
+                    apiData.setLqxzqhdm(api1102.getXzqhdm().substring(0, 4) + "00");
+                }
+
+                //绮潈褰掑睘鍗曚綅
+                if (null == apiData.getLqgsdwdm()) {
+                    api1208List = api1208Rep.findDataByHwdm(api1105.getHwdm());
+                    if (null != api1208List && api1208List.size() > 0) {
+                        apiData.setLqgsdwdm(api1208List.get(0).getLqgsdwdm());
+                        apiData.setLqxzqhdm(api1208List.get(0).getLqxzqhdm());
+                        apiData.setLqgstydwbm(api1208List.get(0).getLqgstydwbm());
+                    } else {
+                        apiData.setLqgsdwdm(api1102.getDwdm());
+                        apiData.setLqxzqhdm(api1102.getXzqhdm());
+                    }
+                }
+
+
+                //鑻ヤ负鍟嗗搧绮紝鍒欑伯鏉冩�ц川鍖哄垝浠g爜涓簄ull
+                if ("200".equals(apiData.getLsxzdm())) {
+                    apiData.setLqxzqhdm(null);
+                }
+
+                //绠$悊鏂瑰紡-榛樿鐩村偍
+                if (StringUtils.isEmpty(fz61DepotStore.getManageType())) {
+                    apiData.setGlfs("01");
+                } else {
+                    apiData.setGlfs(fz61DepotStore.getManageType());
+                }
+
+                //鏀跺偍鍦扮偣-榛樿搴撳唴
+                apiData.setScdd("1");
+                //鍌ㄧ伯鏂瑰紡
+                apiData.setClfs(fz61DepotStore.getStoreType());
+                //鍖呰鍌ㄧ伯鏄紝鏍告煡鍖呭瓨绮寘鏁�
+                if ("2".equals(apiData.getClfs())) {
+                    apiData.setBclbs((int) (fz61DepotStore.getStorageReal() / 25));
+                }
+
+                //璐т綅鐘舵��
+                mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_HWZT, fz61DepotStore.getDepotStatus());
+                apiData.setHwzt(mappingCode);
+                if (null == fz61DepotStore.getStoreDate()) {
+                    fz61DepotStore.setStoreDate(new Date());
+                }
+                //鍏ヤ粨鏃堕棿
+                apiData.setRcsj(fz61DepotStore.getStoreDate());
+                //灏佷粨鏃ユ湡
+                if ("3".equals(apiData.getHwzt()) || "4".equals(apiData.getHwzt())) {
+                    if (null == fz61DepotStore.getFullDate()) {
+                        fz61DepotStore.setFullDate(DateUtils.addDays(fz61DepotStore.getStoreDate(), 30));
+                    }
+                    apiData.setFcrq(fz61DepotStore.getFullDate());
+                }
+
+                if ("1".equals(apiData.getHwzt())) {
+                    //鍑轰粨瀹屾垚鏃堕棿
+                    apiData.setCcwcsj(fz61DepotStore.getOutDate());
+                    //娓呬粨鏃堕棿
+                    apiData.setQcsj(DateUtils.addHours(apiData.getCcwcsj(), 60));
+                }
+                //鍥藉埆
+                apiData.setGb("156");
+                apiData.setSjsl(fz61DepotStore.getStorageReal());
+                apiData.setJjsl(fz61DepotStore.getStorageReal());
+                apiData.setSjzlxg(6);
+                apiData.setLdtj(10000);
+
+                apiData.setZhgxsj(fz61DepotStore.getUpdateDate());
+
+                //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
+                apiData.setBizId(fz61DepotStore.getId());
+                apiData.setKqdm(kqdm);
+                apiData.setSyncTime(new Date());
+
+                //搴撳瓨姣忔鏂板
+                api1208List = api1208Rep.getDataById(apiData.getId());
+                if (null == api1208List || api1208List.isEmpty()) {
+                    apiData.setCzbz(Constant.CZBZ_I);
+                } else {
+                    apiData.setCzbz(api1208List.get(0).getCzbz());
+                }
+
+                //淇濆瓨鏁版嵁
+                api1208Rep.save(apiData);
+            }
+        } catch (Exception e) {
+            log.error("---1208绮搴撳瓨淇℃伅鍚屾澶辫触----{}", e.toString());
+            apiLog.setResult("鍚屾澶辫触锛�" + e.getMessage());
+            apiLogRep.save(apiLog);
+        }
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3