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/Fzzy61Sync1203.java |  270 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 270 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1203.java b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1203.java
new file mode 100644
index 0000000..8d012bf
--- /dev/null
+++ b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1203.java
@@ -0,0 +1,270 @@
+package com.fzzy.async.fzzy61.impl;
+
+import com.fzzy.api.Constant;
+import com.fzzy.api.entity.Api1202;
+import com.fzzy.api.entity.Api1203;
+import com.fzzy.api.entity.ApiLog;
+import com.fzzy.api.entity.GbCheckItem;
+import com.fzzy.api.service.ApiTriggerService;
+import com.fzzy.api.utils.ContextUtil;
+import com.fzzy.api.utils.DateUtil;
+import com.fzzy.api.view.repository.Api1202Rep;
+import com.fzzy.api.view.repository.Api1203Rep;
+import com.fzzy.api.view.repository.ApiLogRep;
+import com.fzzy.api.view.repository.GbCheckItemRep;
+import com.fzzy.async.fzzy61.entity.Fz61CheckItem;
+import com.fzzy.async.fzzy61.entity.Fz61InoutRecord;
+import com.fzzy.async.fzzy61.entity.Fz61InoutRecordItem;
+import com.fzzy.async.fzzy61.repository.Fzzy61Sync1202Rep;
+import com.fzzy.async.fzzy61.repository.Fzzy61Sync1203Rep;
+import com.fzzy.async.fzzy61.repository.Fzzy61SyncInoutRecordItemRep;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.time.DateFormatUtils;
+import org.apache.commons.lang.time.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 绮鍏ュ簱妫�楠屼俊鎭�
+ */
+@Slf4j
+@Component
+public class Fzzy61Sync1203 {
+
+    /**
+     * 鍏ュ簱绫诲瀷
+     */
+    private final static String INOUT_TYPE_IN = "IN";
+
+    @Autowired
+    private Fzzy61Sync1202Rep fzzySync1202Rep;
+    @Autowired
+    private Fzzy61SyncInoutRecordItemRep fzzy61SyncInoutRecordItemRep;
+    @Autowired
+    private Fzzy61Sync1203Rep fzzySync1203Rep;
+    @Autowired
+    private ApiTriggerService apiTriggerService;
+    @Autowired
+    private Api1202Rep api1202Rep;
+    @Autowired
+    private Api1203Rep api1203Rep;
+    @Autowired
+    private GbCheckItemRep gbCheckItemRep;
+    @Autowired
+    private ApiLogRep apiLogRep;
+
+    /**
+     * 绮鍏ュ簱妫�楠屼俊鎭�
+     *
+     * @param deptId
+     * @param start
+     * @param end
+     */
+    public void syncData(String kqdm, String deptId, Date start, Date end) {
+
+        log.info("-------------1203鍏ュ簱妫�楠屾帴鍙f暟鎹紑濮嬪悓姝�------------------");
+
+        //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭�
+        ApiLog apiLog = new ApiLog();
+        apiLog.setType(ApiLog.TYPE_SYNC);
+        apiLog.setKqdm(deptId);
+        apiLog.setUploadTime(new Date());
+        apiLog.setInteId(Constant.API_CODE_1203);
+        apiLog.setStatus(99);
+        apiLog.setId(ContextUtil.getUUID());
+        try {
+            //鑾峰彇绮鍏ュ簱璁板綍淇℃伅
+            List<Fz61InoutRecord> list = fzzySync1202Rep.listInoutRecord(deptId, INOUT_TYPE_IN, start, end);
+
+            if (null == list || list.isEmpty()) {
+                log.info("-------------娌℃湁鑾峰彇鍒扮伯椋熷叆搴撲俊鎭�------------------");
+                return;
+            }
+
+            Api1203 apiData;
+            List<Fz61CheckItem> fz61CheckItems;
+            List<GbCheckItem> gbCheckList;
+            String jyxm;
+            String jyz;
+            String zkj;
+            String zkl;
+            List<Api1203> api1203List;
+            List<Api1202> api1102List;
+            List<Fz61InoutRecordItem> listInoutRecordItem;
+            List<String> listIds;
+            for (Fz61InoutRecord sysData : list) {
+                listIds = new ArrayList<>();
+                //鍒ゆ柇鏄惁涓鸿埞杩�
+                if (StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")) {
+                    listInoutRecordItem = fzzy61SyncInoutRecordItemRep.findDataByRecordId(sysData.getId());
+                    if (null != listInoutRecordItem && listInoutRecordItem.size() > 0) {
+                        int idNum = Integer.valueOf(sysData.getId().substring(12)) * 100 + 10001;
+
+                        for (Fz61InoutRecordItem fz61InoutRecordItem : listInoutRecordItem) {
+                            if ("DEL".equals(fz61InoutRecordItem.getRecordStatus())) {
+                                continue;
+                            }
+                            listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4, 10) + String.valueOf(idNum).substring(1));
+                            idNum++;
+                        }
+                    } else {
+                        listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4));
+                    }
+                } else {
+                    listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4));
+                }
+
+                //鑾峰彇鍏ュ簱璐ㄦ淇℃伅
+                fz61CheckItems = fzzySync1203Rep.listInoutCheckItem(sysData.getCheckId(), deptId.substring(0, 4));
+                if (null == fz61CheckItems || fz61CheckItems.isEmpty()) {
+                    log.info("-------------娌℃湁鑾峰彇鍒板綋鍓嶅叆搴撹川妫�淇℃伅--------------");
+                    continue;
+                }
+
+                for (String listId : listIds) {
+                    //鏌ヨ绮鍏ュ簱淇℃伅锛岃嫢涓虹┖鍒欎笉杩涜鍚屾涓婁紶
+                    api1102List = api1202Rep.getDataById(listId);
+                    if (null == api1102List || api1102List.isEmpty()) {
+                        continue;
+                    }
+
+                    apiData = new Api1203();
+
+                    apiData.setRkjydh(api1102List.get(0).getRkywdh());
+                    //璐т綅浠g爜
+                    apiData.setHwdm(api1102List.get(0).getHwdm());
+                    apiData.setRkywdh(api1102List.get(0).getRkywdh());
+                    if (null == sysData.getFullWeightTime()) {
+                        sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 5));
+                    }
+
+                    //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿
+                    String time = apiData.getRkjydh().substring(2, 8);
+                    if (sysData.getCheckTime() != null) {
+                        String isCheckTime = DateFormatUtils.format(sysData.getCheckTime(), "yyMMdd");
+                        if (!isCheckTime.equals(time)) {
+                            int difDay = DateUtil.difDay1(sysData.getRegisterTime(), sysData.getCheckTime());
+                            if (difDay == 0) {
+                                apiData.setRkjydh("14" + isCheckTime + "01" + api1102List.get(0).getRkywdh().substring(10));
+                            } else {
+                                apiData.setRkjydh("14" + isCheckTime + String.format("%02d", difDay) + api1102List.get(0).getRkywdh().substring(10));
+                            }
+                        }
+                    }
+
+                    //鑸硅繍浣跨敤鍏ュ簱鍗曟嵁鍙峰仛璐ㄦ鍗曞彿
+                    if (StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")) {
+                        apiData.setRkjydh(api1102List.get(0).getRkywdh());
+                    }
+
+                    apiData.setQyrxm(sysData.getCheckUser());
+                    //鎵︽牱鏂瑰紡 2-鏅鸿兘闅忔満
+                    apiData.setQyfs("2");
+
+                    //妫�娴嬮」锛屾娴嬪�硷紝澧炴墸浠峰強澧炴墸閲�
+                    jyxm = "";
+                    jyz = "";
+                    zkj = "";
+                    zkl = "";
+                    for (Fz61CheckItem fz61CheckItem : fz61CheckItems) {
+                        gbCheckList = gbCheckItemRep.findByBizCode(fz61CheckItem.getStandardId());
+
+                        if (gbCheckList == null || gbCheckList.isEmpty()) {
+                            continue;
+                        }
+                        if (StringUtils.isEmpty(fz61CheckItem.getValue())) {
+                            continue;
+                        }
+                        jyxm += "," + gbCheckList.get(0).getCode();
+                        jyz += "," + fz61CheckItem.getValue();
+                        zkj += ",0.0";
+                        zkl += ",0.0";
+                    }
+                    if (jyxm.length() > 0) {
+                        jyxm = jyxm.substring(1);
+                    }
+                    if (jyz.length() > 0) {
+                        jyz = jyz.substring(1);
+                    }
+                    apiData.setJyxm(jyxm);
+                    apiData.setJyz(jyz);
+                    apiData.setZkj(StringUtils.isEmpty(zkj) ? "" : zkj.substring(1));
+                    apiData.setZkl(StringUtils.isEmpty(zkl) ? "" : zkl.substring(1));
+                    if ("UNPASS".equals(sysData.getCheckStatus())) {
+                        apiData.setJyjg("0");
+                    } else {
+                        apiData.setJyjg("1");
+                    }
+                    apiData.setJyrxm(sysData.getCheckUser());
+                    if (null == sysData.getCheckTime()) {
+                        sysData.setCheckTime(DateUtils.addMinutes(sysData.getFullWeightTime(), -5));
+                    }
+                    if (sysData.getCheckTime().after(sysData.getEmptyWeightTime())) {
+                        sysData.setCheckTime(DateUtils.addMinutes(sysData.getFullWeightTime(), -5));
+                    }
+                    apiData.setJysj(sysData.getCheckTime());
+                    if (null == sysData.getSampleTime()) {
+                        sysData.setSampleTime(DateUtils.addMinutes(sysData.getCheckTime(), -1));
+                    }
+                    if (sysData.getSampleTime().after(sysData.getCheckTime())) {
+                        sysData.setSampleTime(DateUtils.addMinutes(sysData.getCheckTime(), -1));
+                    }
+                    apiData.setQysj(sysData.getSampleTime());
+
+                    //绮鍝佺
+                    String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety());
+                    apiData.setLspzdm(mappingCode);
+
+                    //淇濈鍛樺鏍�
+                    apiData.setBgyfh(apiData.getJyjg());
+                    apiData.setSpaqzbsfhg("1");
+
+                    //绮绛夌骇
+                    mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, sysData.getFoodLevel());
+                    apiData.setLsdd(mappingCode);
+
+                    //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
+                    apiData.setZhgxsj(sysData.getCompleteTime());
+
+                    //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
+                    apiData.setBizId(sysData.getId());
+                    apiData.setKqdm(kqdm);
+                    apiData.setSyncTime(new Date());
+
+                    api1203List = api1203Rep.getDataById(apiData.getRkjydh());
+                    if (null == api1203List || api1203List.isEmpty()) {
+                        apiData.setCzbz(Constant.CZBZ_I);
+                    } else {
+                        apiData.setCzbz(api1203List.get(0).getCzbz());
+                    }
+
+                    api1203Rep.save(apiData);
+                    log.info("1203鍏ュ簱妫�楠�---鍚屾鏁版嵁锛歿}", apiData.toString());
+                }
+            }
+        } catch (Exception e) {
+            log.error("---1203鍏ュ簱妫�楠屾暟鎹悓姝ュけ璐�----{}", e.toString());
+            apiLog.setResult("鍚屾澶辫触锛�" + e.getMessage());
+            apiLogRep.save(apiLog);
+        }
+    }
+
+    public static void main(String[] args) {
+        //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿
+        String id = "142508200001";
+        String time = id.substring(2, 8);
+
+        String isCheckTime = "250821";
+        if (!isCheckTime.equals(time)) {
+            int difDay = 2;
+            String idd = "14" + isCheckTime + difDay + id.substring(9);
+            System.out.println(idd);
+        }
+
+    }
+}

--
Gitblit v1.9.3