From db74943b46ffb5245477894f394c368cc04f93e7 Mon Sep 17 00:00:00 2001
From: czt <czt18638530771@163.com>
Date: 星期二, 16 九月 2025 14:48:31 +0800
Subject: [PATCH] 调整品种获取

---
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1109.java |  342 +++++++++++++++++++++++++++-----------------------------
 1 files changed, 167 insertions(+), 175 deletions(-)

diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1109.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1109.java
index 8dfe38f..d6d0ff8 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1109.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1109.java
@@ -12,13 +12,19 @@
 import com.fzzy.api.view.repository.Api1205Rep;
 import com.fzzy.api.view.repository.ApiLogRep;
 import com.fzzy.async.fzzy40.entity.Fz40FileInfo;
+import com.fzzy.async.fzzy40.entity.Fz40InoutRecord;
 import com.fzzy.async.fzzy40.repository.Fzzy40Sync1109Rep;
+import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep;
 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.text.ParseException;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 鏂囦欢淇℃伅
@@ -45,10 +51,17 @@
     private final static String BIZ_TAG_WEIGHT_FULL = "WEIGHT_FULL";
     private final static String BIZ_TAG_WEIGHT_EMPTY = "WEIGHT_EMPTY";
     private final static String BIZ_TAG_REGISTER = "REGISTER";
-    private final static String BIZ_TAG_HANDLE = "HANDLE";
+    private final static String BIZ_TAG_CARD_BACK = "CARD_BACK";
+    /**
+     * 鍑哄叆搴撶被鍨�
+     */
+    private final static String INOUT_TYPE_IN = "IN";
+    private final static String INOUT_TYPE_OUT = "OUT";
 
     @Autowired
     private Fzzy40Sync1109Rep fzzySync1109Rep;
+    @Autowired
+    private Fzzy40Sync1202Rep fzzySync1202Rep;
     @Autowired
     private Api1109Rep api1109Rep;
     @Autowired
@@ -80,7 +93,8 @@
         apiLog.setStatus(99);
         apiLog.setId(ContextUtil.getUUID());
         try {
-            List<Fz40FileInfo> list = fzzySync1109Rep.listFileInfo(start, end);
+            //鑾峰彇鍑哄叆搴撴暟鎹�
+            List<Fz40InoutRecord> list = fzzySync1202Rep.listInAndOutRecord(deptId, INOUT_TYPE_IN, INOUT_TYPE_OUT, start, end);
 
             if (null == list || list.isEmpty()) {
                 log.info("-------------娌℃湁鑾峰彇鍒版枃浠朵俊鎭�------------------");
@@ -94,61 +108,111 @@
             List<Api1109> api1109List;
             List<Api1202> api1202List;
             List<Api1205> api1205List;
-            String str = "";
-            for (Fz40FileInfo sysData : list) {
-                if (StringUtils.isEmpty(sysData.getBizId())) {
+            String str = "";  //鍑哄叆搴撲笟鍔″崟鍙�
+            List<Fz40FileInfo> fileList; //鏂囦欢淇℃伅
+            List<String> ids;
+            for (Fz40InoutRecord inoutData : list) {
+                if (inoutData.getRecordStatus().equals("DEL") || inoutData.getRecordStatus().equals("ERROR")) {
                     continue;
                 }
-                //鏍规嵁鍥剧墖id鏌ヨ瀵瑰簲鍑哄叆搴撲俊鎭�
-                if(sysData.getBizId().startsWith(IMG_START_R)){
-                    api1202List = api1202Rep.getDataByBizId(sysData.getBizId());
+                if (!inoutData.getProgress().equals("RECORD")){
+                    continue;
+                }
+                ids = new ArrayList<>();
+                wjlx = "";
+                //鑾峰彇鍑哄叆搴撲笟鍔″崟鍙蜂俊鎭�
+                if (inoutData.getType().equals(INOUT_TYPE_IN)) {
+                    wjlx = IMG_TYPE_2;
+                    api1202List = api1202Rep.getDataByBizId(inoutData.getId());
                     if (null == api1202List || api1202List.isEmpty()) {
                         continue;
                     }
-                    str = api1202List.get(0).getRkywdh();
+                    ids = api1202List.stream().map(Api1202::getRkywdh).collect(Collectors.toList());
                 }
-                if(sysData.getBizId().startsWith(IMG_START_C)){
-                    api1205List = api1205Rep.getDataByBizId(sysData.getBizId());
+                if (inoutData.getType().equals(INOUT_TYPE_OUT)) {
+                    wjlx = IMG_TYPE_3;
+                    api1205List = api1205Rep.getDataByBizId(inoutData.getId());
                     if (null == api1205List || api1205List.isEmpty()) {
                         continue;
                     }
-                    str = api1205List.get(0).getCkywdh();
+                    ids = api1205List.stream().map(Api1205::getCkywdh).collect(Collectors.toList());
+
                 }
 
-                //鍙悓姝ョО閲�
-                if (BIZ_TAG_WEIGHT_FULL.equals(sysData.getBizTag()) || BIZ_TAG_WEIGHT_EMPTY.equals(sysData.getBizTag())) {
-                    wjlx = "";
-                    wjmc = kqdm;
-                    //鍏ュ簱鎶撴媿鍥�
-                    if (sysData.getBizId().startsWith(IMG_START_R)) {
-                        wjlx = IMG_TYPE_2;
-                        wjmc += "_" + Constant.INOUT_TYPE_14 + sysData.getBizId().substring(4);
-                    }
-                    //鍑哄簱鎶撴媿鍥�
-                    if (sysData.getBizId().startsWith(IMG_START_C)) {
-                        wjlx = IMG_TYPE_3;
-                        wjmc += "_" + Constant.INOUT_TYPE_15 + sysData.getBizId().substring(4);
-                    }
-                    //鑻ユ枃浠剁被鍨嬩负绌猴紝鍒欒烦杩�
-                    if (StringUtils.isEmpty(wjlx)) {
-                        continue;
-                    }
+                //鑻ユ枃浠剁被鍨嬩负绌猴紝鍒欒烦杩�
+                if (StringUtils.isEmpty(wjlx)) {
+                    continue;
+                }
 
+                //鏍规嵁鍑哄叆搴撳崟鍙疯幏鍙栧搴旀枃浠朵俊鎭�
+                fileList = fzzySync1109Rep.listFileInfoByBizId(inoutData.getId());
+                if (null == fileList || fileList.isEmpty()) {
+                    continue;
+                }
+                int num = 1;
+                int idsNum = 0;
+                String bizTag = null;
+                for (Fz40FileInfo sysData : fileList) {
                     apiData = new Api1109();
 
                     //涓婚敭id
-                    apiData.setId(UUID.randomUUID().toString());
+                    apiData.setId(sysData.getFileId());
                     //鏂囦欢璺緞
                     apiData.setWjdz(fileUtil.getInoutFilePath(sysData.getCreateTime()) + sysData.getFileName());
+                    //鐧昏
+                    if (BIZ_TAG_REGISTER.equals(sysData.getBizTag()) || BIZ_TAG_CARD_BACK.equals(sysData.getBizTag())) {
+                        str = ids.get(0);
+                        wjmc = kqdm + "_" + str;
+                        //鏂囦欢鍚嶇О
+                        wjmc = getImgNameType(wjmc, sysData.getBizTag(), str, sysData.getFileName(), map);
+                        apiData.setWjmc(wjmc);
+                        //鏂囦欢绫诲瀷
+                        apiData.setWjlx(wjlx);
+                    }
+                    //绉伴噸
+                    if (BIZ_TAG_WEIGHT_FULL.equals(sysData.getBizTag()) || BIZ_TAG_WEIGHT_EMPTY.equals(sysData.getBizTag())) {
+                        bizTag = sysData.getBizTag();
+                        if(StringUtils.isNotEmpty(inoutData.getTransType()) && inoutData.getTransType().equals("3")){
+                            if(num > 6){
+                                num = 1;
+                                idsNum ++;
+                            }
+                        }else {
+                            if(num > 8){
+                                num = 1;
+                                idsNum ++;
+                            }
+                        }
+                        //2024-05-23 姝ゅ鏆傛椂璁剧疆鍚嶇О闀垮害闄愬埗锛屽悗鏈熻皟鏁村悗鍙垹闄�
+                        if(sysData.getCreateTime().after(DateUtils.parseDate("2024-04-18",new String[]{"yyyy-MM-dd"}))){
+                            if(StringUtils.isNotEmpty(inoutData.getTransType()) && inoutData.getTransType().equals("3")){
+                                bizTag = sysData.getBizTag();
+                            }else {
+                                bizTag = null;
+                            }
+                        }
+                        if(idsNum == ids.size()){
+                            break;
+                        }
+                        str = ids.get(idsNum);
 
-                    //鏂囦欢鍚嶇О
-                    wjmc = getImgNameType(wjmc, sysData.getBizTag(), str, sysData.getFileName(), map);
-                    apiData.setWjmc(wjmc);
-                    //鏂囦欢绫诲瀷
-                    apiData.setWjlx(wjlx);
+                        wjmc = kqdm + "_" + str;
+
+                        //鏂囦欢鍚嶇О
+                        wjmc = getImgNameType(wjmc, bizTag, str, sysData.getFileName(), map);
+                        apiData.setWjmc(wjmc);
+                        apiData.setWjlx(wjlx);
+                        if (wjmc.indexOf(Constant.IMG_NAME_TYPE_IVG) >= 0 || wjmc.indexOf(Constant.IMG_NAME_TYPE_IVT) >= 0) {
+                            apiData.setWjlx(IMG_TYPE_4);
+                        }
+                        if (wjmc.indexOf(Constant.IMG_NAME_TYPE_OVG) >= 0 || wjmc.indexOf(Constant.IMG_NAME_TYPE_OVT) >= 0) {
+                            apiData.setWjlx(IMG_TYPE_5);
+                        }
+                        num ++;
+                    }
 
                     //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
-                    apiData.setZhgxsj(sysData.getCreateTime());
+                    apiData.setZhgxsj(new Date());
 
                     //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
                     apiData.setBizId(sysData.getFileId());
@@ -174,121 +238,6 @@
         }
     }
 
-
-//    /**
-//     * 鍚屾鏂囦欢鎺ュ彛
-//     *
-//     * @param deptId
-//     * @param start
-//     * @param end
-//     */
-//    public void syncData(String kqdm, String deptId, Date start, Date end) {
-//
-//        log.info("-------------1109鎺ュ彛鏁版嵁寮�濮嬪悓姝�------------------");
-//
-//        //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭�
-//        ApiLog apiLog = new ApiLog();
-//        apiLog.setType(ApiLog.TYPE_SYNC);
-//        apiLog.setKqdm(deptId);
-//        apiLog.setUploadTime(new Date());
-//        apiLog.setInteId(Constant.API_CODE_1109);
-//        apiLog.setStatus(99);
-//        apiLog.setId(ContextUtil.getUUID());
-//        try {
-//            List<Fz40FileInfo> list = fzzySync1109Rep.listFileInfo(start, end);
-//
-//            if (null == list || list.isEmpty()) {
-//                log.info("-------------娌℃湁鑾峰彇鍒版枃浠朵俊鎭�------------------");
-//                return;
-//            }
-//
-//            Map<String, Integer> map = new HashMap<>();
-//            Api1109 apiData;
-//            String wjlx;
-//            String wjmc;
-//            List<Api1109> api1109List;
-//            List<Api1202> api1202List;
-//            List<Api1205> api1205List;
-//            String str = "";
-//            for (Fz40FileInfo sysData : list) {
-//                if (StringUtils.isEmpty(sysData.getBizId())) {
-//                    continue;
-//                }
-//                //鏍规嵁鍥剧墖id鏌ヨ瀵瑰簲鍑哄叆搴撲俊鎭�
-//                if(sysData.getBizId().startsWith(IMG_START_R)){
-//                    api1202List = api1202Rep.getDataByBizId(sysData.getBizId());
-//                    if (null == api1202List || api1202List.isEmpty()) {
-//                        continue;
-//                    }
-//                    str = api1202List.get(0).getRkywdh();
-//                }
-//                if(sysData.getBizId().startsWith(IMG_START_C)){
-//                    api1205List = api1205Rep.getDataByBizId(sysData.getBizId());
-//                    if (null == api1205List || api1205List.isEmpty()) {
-//                        continue;
-//                    }
-//                    str = api1205List.get(0).getCkywdh();
-//                }
-//
-//                //鍙悓姝ョО閲�
-//                if (BIZ_TAG_WEIGHT_FULL.equals(sysData.getBizTag()) || BIZ_TAG_WEIGHT_EMPTY.equals(sysData.getBizTag())) {
-//                    wjlx = "";
-//                    wjmc = kqdm;
-//                    //鍏ュ簱鎶撴媿鍥�
-//                    if (sysData.getBizId().startsWith(IMG_START_R)) {
-//                        wjlx = IMG_TYPE_2;
-//                        wjmc += "_" + Constant.INOUT_TYPE_14 + sysData.getBizId().substring(4);
-//                    }
-//                    //鍑哄簱鎶撴媿鍥�
-//                    if (sysData.getBizId().startsWith(IMG_START_C)) {
-//                        wjlx = IMG_TYPE_3;
-//                        wjmc += "_" + Constant.INOUT_TYPE_15 + sysData.getBizId().substring(4);
-//                    }
-//                    //鑻ユ枃浠剁被鍨嬩负绌猴紝鍒欒烦杩�
-//                    if (StringUtils.isEmpty(wjlx)) {
-//                        continue;
-//                    }
-//
-//                    apiData = new Api1109();
-//
-//                    //涓婚敭id
-//                    apiData.setId(UUID.randomUUID().toString());
-//                    //鏂囦欢璺緞
-//                    apiData.setWjdz(fileUtil.getInoutFilePath(sysData.getCreateTime()) + sysData.getFileName());
-//
-//                    //鏂囦欢鍚嶇О
-//                    wjmc = getImgNameType(wjmc, sysData.getBizTag(), str, sysData.getFileName(), map);
-//                    apiData.setWjmc(wjmc);
-//                    //鏂囦欢绫诲瀷
-//                    apiData.setWjlx(wjlx);
-//
-//                    //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
-//                    apiData.setZhgxsj(sysData.getCreateTime());
-//
-//                    //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
-//                    apiData.setBizId(sysData.getFileId());
-//                    apiData.setKqdm(kqdm);
-//                    apiData.setSyncTime(new Date());
-//
-//                    api1109List = api1109Rep.getDataByBizId(apiData.getBizId());
-//                    if (null == api1109List || api1109List.isEmpty()) {
-//                        apiData.setCzbz(Constant.CZBZ_I);
-//                    } else {
-//                        apiData.setCzbz(api1109List.get(0).getCzbz());
-//                    }
-//
-//                    //淇濆瓨鏁版嵁
-//                    api1109Rep.save(apiData);
-//                    log.info("1109---鍚屾鏁版嵁锛歿}", apiData.toString());
-//                }
-//            }
-//        } catch (Exception e) {
-//            log.error("---鏂囦欢鍚屾鎵ц澶辫触----{}", e);
-//            apiLog.setResult("鍚屾鏂囦欢淇℃伅澶辫触锛�" + e.getMessage());
-//            apiLogRep.save(apiLog);
-//        }
-//    }
-
     /**
      * 鑾峰彇鍥剧墖鍛藉悕绫诲瀷
      *
@@ -300,30 +249,54 @@
      * @return
      */
     private String getImgNameType(String wjmc, String bizTag, String bizId, String fileName, Map<String, Integer> map) {
-        if (fileName.indexOf(Constant.IMG_NAME_TYPE_GL) >= 0) {
-            return wjmc + "_" + Constant.IMG_NAME_TYPE_GL + ".jpg";
+        if(null == bizTag){
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_DJ) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_DJ + ".jpg";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_RK) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_RK + ".jpg";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_CK) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_CK + ".jpg";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_GL) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_GL + ".jpg";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_GR) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_GR + ".jpg";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_GT) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_GT + ".jpg";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_TL) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_TL + ".jpg";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_TR) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_TR + ".jpg";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_TT) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_TT + ".jpg";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_SL) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_SL + ".jpg";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_SF) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_SF + ".jpg";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_IVG) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_IVG + ".mp4";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_IVT) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_IVT + ".mp4";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_OVG) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_OVG + ".mp4";
+            }
+            if (fileName.indexOf(Constant.IMG_NAME_TYPE_OVT) >= 0) {
+                return wjmc + "_" + Constant.IMG_NAME_TYPE_OVT + ".mp4";
+            }
         }
-        if (fileName.indexOf(Constant.IMG_NAME_TYPE_GR) >= 0) {
-            return wjmc + "_" + Constant.IMG_NAME_TYPE_GR + ".jpg";
-        }
-        if (fileName.indexOf(Constant.IMG_NAME_TYPE_GT) >= 0) {
-            return wjmc + "_" + Constant.IMG_NAME_TYPE_GT + ".jpg";
-        }
-        if (fileName.indexOf(Constant.IMG_NAME_TYPE_TL) >= 0) {
-            return wjmc + "_" + Constant.IMG_NAME_TYPE_TL + ".jpg";
-        }
-        if (fileName.indexOf(Constant.IMG_NAME_TYPE_TR) >= 0) {
-            return wjmc + "_" + Constant.IMG_NAME_TYPE_TR + ".jpg";
-        }
-        if (fileName.indexOf(Constant.IMG_NAME_TYPE_TT) >= 0) {
-            return wjmc + "_" + Constant.IMG_NAME_TYPE_TT + ".jpg";
-        }
-        if (fileName.indexOf(Constant.IMG_NAME_TYPE_SL) >= 0) {
-            return wjmc + "_" + Constant.IMG_NAME_TYPE_SL + ".jpg";
-        }
-        if (fileName.indexOf(Constant.IMG_NAME_TYPE_SF) >= 0) {
-            return wjmc + "_" + Constant.IMG_NAME_TYPE_SF + ".jpg";
-        }
+
         Integer num = 0;
         //姣涢噸
         if (BIZ_TAG_WEIGHT_FULL.equals(bizTag)) {
@@ -363,6 +336,25 @@
                 map.remove(bizId + "_" + bizTag);
             }
         }
+        //鍏ュ簱鐧昏
+        if (BIZ_TAG_REGISTER.equals(bizTag)) {
+            if (null == map.get(bizId + "_" + bizTag)) {
+                map.put(bizId + "_" + bizTag, 1);
+            }
+            num = map.get(bizId + "_" + bizTag);
+            if (num == 1) {
+                wjmc += "_" + Constant.IMG_NAME_TYPE_DJ;
+                map.put(bizId + "_" + bizTag, 2);
+            }
+            if (num == 2) {
+                wjmc += "_" + Constant.IMG_NAME_TYPE_RK;
+                map.remove(bizId + "_" + bizTag);
+            }
+        }
+        //鍑哄簱鐓х墖
+        if (BIZ_TAG_CARD_BACK.equals(bizTag)) {
+            wjmc += "_" + Constant.IMG_NAME_TYPE_CK;
+        }
         return wjmc + ".jpg";
     }
 }

--
Gitblit v1.9.3