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/Fzzy40Sync1203.java |   91 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 65 insertions(+), 26 deletions(-)

diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java
index c259b4b..2476043 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java
@@ -17,6 +17,7 @@
 import com.fzzy.async.fzzy40.repository.Fzzy40SyncInoutRecordItemRep;
 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;
@@ -95,22 +96,22 @@
             for (Fz40InoutRecord sysData : list) {
                 listIds = new ArrayList<>();
                 //鍒ゆ柇鏄惁涓鸿埞杩�
-                if(StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")){
+                if (StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")) {
                     listInoutRecordItem = fzzy40SyncInoutRecordItemRep.findDataByRecordId(sysData.getId());
-                    if(null != listInoutRecordItem && listInoutRecordItem.size() > 0){
-                        int idNum = Integer.valueOf(sysData.getId().substring(12))*100 + 10001;
+                    if (null != listInoutRecordItem && listInoutRecordItem.size() > 0) {
+                        int idNum = Integer.valueOf(sysData.getId().substring(12)) * 100 + 10001;
 
                         for (Fz40InoutRecordItem fz40InoutRecordItem : listInoutRecordItem) {
                             if ("DEL".equals(fz40InoutRecordItem.getRecordStatus())) {
                                 continue;
                             }
-                            listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4,10) + String.valueOf(idNum).substring(1));
-                            idNum ++;
+                            listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4, 10) + String.valueOf(idNum).substring(1));
+                            idNum++;
                         }
-                    }else {
+                    } else {
                         listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4));
                     }
-                }else {
+                } else {
                     listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4));
                 }
 
@@ -124,7 +125,7 @@
                 for (String listId : listIds) {
                     //鏌ヨ绮鍏ュ簱淇℃伅锛岃嫢涓虹┖鍒欎笉杩涜鍚屾涓婁紶
                     api1102List = api1202Rep.getDataById(listId);
-                    if(null == api1102List || api1102List.isEmpty()){
+                    if (null == api1102List || api1102List.isEmpty()) {
                         continue;
                     }
 
@@ -134,19 +135,25 @@
                     //璐т綅浠g爜
                     apiData.setHwdm(api1102List.get(0).getHwdm());
                     apiData.setRkywdh(api1102List.get(0).getRkywdh());
-                    if(null == sysData.getFullWeightTime()){
+                    if (null == sysData.getFullWeightTime()) {
                         sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 5));
                     }
 
                     //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿
-                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
-                    Date time = dateFormat.parse(apiData.getRkjydh().substring(2, 8));
-                    int numDay = DateUtil.difDay(DateUtil.getCurZero(sysData.getRegisterTime()), DateUtil.getCurZero(time));
-                    if(numDay != 0){
-                        sysData.setRegisterTime(DateUtils.addDays(sysData.getRegisterTime(), numDay));
+                    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());
+                            apiData.setRkjydh("14" + isCheckTime + String.format("%02d", difDay) + api1102List.get(0).getRkywdh().substring(10));
+                        }
                     }
 
-                    apiData.setQysj(sysData.getRegisterTime());
+                    //鑸硅繍浣跨敤鍏ュ簱鍗曟嵁鍙峰仛璐ㄦ鍗曞彿
+                    if (StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")) {
+                        apiData.setRkjydh(api1102List.get(0).getRkywdh());
+                    }
+
                     apiData.setQyrxm(sysData.getCheckUser());
                     //鎵︽牱鏂瑰紡 2-鏅鸿兘闅忔満
                     apiData.setQyfs("2");
@@ -165,26 +172,44 @@
                         if (StringUtils.isEmpty(fz40CheckItem.getValue())) {
                             continue;
                         }
-                        jyxm += gbCheckList.get(0).getCode() + ",";
-                        jyz += fz40CheckItem.getValue() + ",";
+                        jyxm += "," + gbCheckList.get(0).getCode();
+                        jyz += "," + fz40CheckItem.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.setZkj(StringUtils.isEmpty(zkj) ? "" : zkj.substring(1));
+                    apiData.setZkl(StringUtils.isEmpty(zkl) ? "" : zkl.substring(1));
+                    if ("UNPASS".equals(sysData.getCheckStatus())) {
                         apiData.setJyjg("0");
-                    }else {
+                    } else {
                         apiData.setJyjg("1");
                     }
                     apiData.setJyrxm(sysData.getCheckUser());
-                    apiData.setJysj(DateUtils.addMinutes(sysData.getRegisterTime(), 30));
+                    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().substring(0,3));
+                    String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety());
                     apiData.setLspzdm(mappingCode);
 
                     //淇濈鍛樺鏍�
@@ -204,9 +229,9 @@
                     apiData.setSyncTime(new Date());
 
                     api1203List = api1203Rep.getDataById(apiData.getRkjydh());
-                    if(null == api1203List || api1203List.isEmpty()){
+                    if (null == api1203List || api1203List.isEmpty()) {
                         apiData.setCzbz(Constant.CZBZ_I);
-                    }else {
+                    } else {
                         apiData.setCzbz(api1203List.get(0).getCzbz());
                     }
 
@@ -220,4 +245,18 @@
             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