From caf2599a9869244ded811018811c37a2aabac3fc Mon Sep 17 00:00:00 2001
From: vince <757871790@qq.com>
Date: 星期三, 08 一月 2025 11:29:05 +0800
Subject: [PATCH] 优化测温协议

---
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java |   59 +++++++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 41 insertions(+), 18 deletions(-)

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 ea84896..1adbed9 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
@@ -12,7 +12,9 @@
 import com.fzzy.api.view.repository.ApiLogRep;
 import com.fzzy.async.fzzy40.entity.Fz40InoutNoticeOut;
 import com.fzzy.async.fzzy40.entity.Fz40InoutRecord;
+import com.fzzy.async.fzzy40.entity.Fz40InoutRecordItem;
 import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep;
+import com.fzzy.async.fzzy40.repository.Fzzy40SyncInoutRecordItemRep;
 import com.fzzy.async.fzzy40.repository.Fzzy40SyncNoticeOutRep;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
@@ -37,6 +39,8 @@
     private final static String INOUT_TYPE_OUT = "OUT";
     @Autowired
     private Fzzy40Sync1202Rep fzzySync1202Rep;
+    @Autowired
+    private Fzzy40SyncInoutRecordItemRep fzzy40SyncInoutRecordItemRep;
     @Autowired
     private Fzzy40SyncNoticeOutRep fzzySyncNoticeOutRep;
     @Autowired
@@ -80,7 +84,11 @@
         Api1105 api1105;
         List<Fz40InoutNoticeOut> listInoutNotice;
         List<Api1205> api1205List;
+        List<Fz40InoutRecordItem> listInoutRecordItem;
         for (Fz40InoutRecord sysData : list) {
+            if(sysData.getRecordStatus().equals("DEL") || sysData.getRecordStatus().equals("ERROR")){
+                continue;
+            }
             if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){
                 sysData.setRecordWeight(sysData.getSettleWeight());
             }
@@ -95,15 +103,6 @@
             }
             apiData = new Api1205();
             apiData.setCkywdh(Constant.INOUT_TYPE_15 + sysData.getId().substring(4));
-            //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿
-            SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
-            Date time = dateFormat.parse(sysData.getId().substring(2, 10));
-            int numDay = DateUtil.difDay(DateUtil.getCurZero(sysData.getCompleteTime()), DateUtil.getCurZero(time));
-            if(numDay != 0){
-                sysData.setFullWeightTime(DateUtils.addDays(sysData.getFullWeightTime(), numDay));
-                sysData.setEmptyWeightTime(DateUtils.addDays(sysData.getEmptyWeightTime(), numDay));
-                sysData.setCompleteTime(DateUtils.addDays(sysData.getCompleteTime(), numDay));
-            }
 
             //璐т綅浠g爜
             apiData.setHwdm(api1105.getHwdm());
@@ -112,16 +111,18 @@
             //閫氱煡鍗曞彿
             apiData.setCktzdh(sysData.getNoticeId());
 
-            apiData.setYwrq(sysData.getRegisterTime());
+            apiData.setYwrq(DateUtils.parseDate(sysData.getId().substring(2, 10), new String[] { "yyyyMMdd" }));
 
             //鑾峰彇鍚堝悓鍙�
             listInoutNotice = fzzySyncNoticeOutRep.listInoutNoticeOutById(sysData.getNoticeId());
             if(null != listInoutNotice && listInoutNotice.size() >0){
-                apiData.setHth(api1105.getHwdm().substring(0,18) + listInoutNotice.get(0).getContractId());
-            }else {
-                apiData.setHth(api1105.getHwdm().substring(0,18) + apiData.getCkywdh());
+                if(StringUtils.isNotEmpty(listInoutNotice.get(0).getContractId())){
+                    apiData.setHth(api1105.getHwdm().substring(0,18) + listInoutNotice.get(0).getContractId());
+                }
+                if(StringUtils.isNotEmpty(listInoutNotice.get(0).getPlanId())){
+                    apiData.setJhmxh(listInoutNotice.get(0).getPlanId());
+                }
             }
-
 
             //杩愯緭宸ュ叿锛岃嫢涓虹┖锛屽垯榛樿缁�1-姹借溅
             apiData.setYsgj(StringUtils.isEmpty(sysData.getTransType()) ? "1":sysData.getTransType());
@@ -145,8 +146,11 @@
             apiData.setShnd(StringUtils.isEmpty(sysData.getFoodYear())? DateFormatUtils.format(new Date(), "yyyy") :sysData.getFoodYear());
 
             //浜у湴浠g爜
-            String cddm = commonService.getFoodLocationIdFromCache(sysData.getFoodLocation());
-            apiData.setCddm(cddm);
+            mappingCode = commonService.getFoodLocationIdFromCache(sysData.getFoodLocation());
+            if(StringUtils.isEmpty(mappingCode)){
+                mappingCode = apiData.getHwdm().substring(2,8);
+            }
+            apiData.setCddm(mappingCode);
 
             //鐨噸淇℃伅
             apiData.setPz(sysData.getEmptyWeight());
@@ -188,8 +192,27 @@
             }else {
                 apiData.setCzbz(api1205List.get(0).getCzbz());
             }
-            //淇濆瓨鏁版嵁
-            api1205Rep.save(apiData);
+            //鍒ゆ柇鏄惁涓鸿埞杩�
+            if(StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")){
+                listInoutRecordItem = fzzy40SyncInoutRecordItemRep.findDataByRecordId(sysData.getId());
+                if(null == listInoutRecordItem || listInoutRecordItem.isEmpty()){
+                    api1205Rep.save(apiData);
+                    continue;
+                }
+
+                int idNum = Integer.valueOf(sysData.getId().substring(12))*100 + 10001;
+                for (Fz40InoutRecordItem fz40InoutRecordItem : listInoutRecordItem) {
+                    apiData.setCkywdh(Constant.INOUT_TYPE_15 + sysData.getId().substring(4,10) + String.valueOf(idNum).substring(1));
+                    apiData.setMz(fz40InoutRecordItem.getFullWeight());
+                    apiData.setPz(fz40InoutRecordItem.getEmptyWeight());
+                    apiData.setJz(fz40InoutRecordItem.getSettleWeight());
+                    api1205Rep.save(apiData);
+                    idNum ++;
+                }
+            }else {
+                //淇濆瓨鏁版嵁
+                api1205Rep.save(apiData);
+            }
         }
         } catch (Exception e) {
             log.error("---鍚屾澶辫触----{}", e);

--
Gitblit v1.9.3