From 17810b3b68347e838f1d5966de25d206c0e63a83 Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期一, 18 三月 2024 19:33:15 +0800
Subject: [PATCH] 优化出库数据同步

---
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java |  113 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 92 insertions(+), 21 deletions(-)

diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java
index 6144701..52d668d 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1202.java
@@ -1,15 +1,11 @@
 package com.fzzy.async.fzzy40.impl;
 
 import com.fzzy.api.Constant;
-import com.fzzy.api.entity.Api1105;
-import com.fzzy.api.entity.Api1202;
-import com.fzzy.api.entity.ApiLog;
+import com.fzzy.api.entity.*;
 import com.fzzy.api.service.ApiCommonService;
 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.ApiLogRep;
+import com.fzzy.api.view.repository.*;
 import com.fzzy.async.fzzy40.entity.Fz40InoutNoticeIn;
 import com.fzzy.async.fzzy40.entity.Fz40InoutRecord;
 import com.fzzy.async.fzzy40.entity.Fz40InoutRecordItem;
@@ -23,8 +19,6 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -48,7 +42,13 @@
     @Autowired
     private ApiTriggerService apiTriggerService;
     @Autowired
+    private Api1201Rep api1201Rep;
+    @Autowired
     private Api1202Rep api1202Rep;
+    @Autowired
+    private Api1204Rep api1204Rep;
+    @Autowired
+    private Api1404Rep api1404Rep;
     @Autowired
     private ApiCommonService commonService;
     @Autowired
@@ -86,6 +86,9 @@
             List<Fz40InoutNoticeIn> listInoutNotice;
             List<Api1202> api1202List;
             List<Fz40InoutRecordItem> listInoutRecordItem;
+            List<Api1201> api1201List;
+            List<Api1204> api1204List;
+            List<Api1404> api1404List;
             for (Fz40InoutRecord sysData : list) {
                 if (sysData.getRecordStatus().equals("DEL") || sysData.getRecordStatus().equals("ERROR")) {
                     continue;
@@ -115,16 +118,29 @@
                 //榛樿涓�涓殢渚垮��
                 apiData.setLxdh(StringUtils.isEmpty(sysData.getUserContact()) ? "13012345678" : sysData.getUserContact().trim());
 
-                apiData.setSfzh(null == sysData.getUserId() ? "410183200010100000" : sysData.getUserId().trim());
+                if (StringUtils.isEmpty(sysData.getUserId()) || sysData.getUserId().length() != 18) {
+                    sysData.setUserId("410183199003187055");
+                }
+                apiData.setSfzh(sysData.getUserId());
 
-                //鑾峰彇鍚堝悓鍙�
+                //鑾峰彇閫氱煡鍗曚俊鎭紝鏌ヨ鍚堝悓鍙峰拰璁″垝鏄庣粏鍙�
                 listInoutNotice = fzzySyncNoticeInRep.listInoutNoticeInById(sysData.getNoticeId());
                 if (null != listInoutNotice && listInoutNotice.size() > 0) {
+                    //鍚堝悓鍙�
                     if (StringUtils.isNotEmpty(listInoutNotice.get(0).getContractId())) {
-                        apiData.setHth(api1105.getHwdm().substring(0, 18) + listInoutNotice.get(0).getContractId());
+                        api1201List = api1201Rep.getDataByBizId(listInoutNotice.get(0).getContractId());
+                        if (null != api1201List && api1201List.size() > 0) {
+                            apiData.setHth(api1201List.get(0).getHth());
+                        }
                     }
                     if (StringUtils.isNotEmpty(listInoutNotice.get(0).getPlanId())) {
-                        apiData.setJhmxh(listInoutNotice.get(0).getPlanId());
+                        api1404List = api1404Rep.getDataByBizIdAndKqdm(listInoutNotice.get(0).getPlanId(), kqdm);
+                        if (null != api1404List && api1404List.size() > 0) {
+                            apiData.setJhmxh(api1404List.get(0).getJhmxdh());
+                            if (StringUtils.isEmpty(sysData.getFoodYear())) {
+                                sysData.setFoodYear(api1404List.get(0).getShnd());
+                            }
+                        }
                     }
                 }
 
@@ -146,7 +162,7 @@
                 mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, sysData.getFoodType());
                 apiData.setLsxzdm(mappingCode);
 
-                apiData.setShnd(StringUtils.isEmpty(sysData.getFoodYear()) ? DateFormatUtils.format(new Date(), "yyyy") : sysData.getFoodYear());
+                apiData.setShnd(StringUtils.isEmpty(sysData.getFoodYear()) ? DateFormatUtils.format(sysData.getRegisterTime(), "yyyy") : sysData.getFoodYear());
 
                 //浜у湴浠g爜
                 mappingCode = commonService.getFoodLocationIdFromCache(sysData.getFoodLocation());
@@ -160,6 +176,9 @@
 
                 //姣涢噸淇℃伅
                 apiData.setMz(sysData.getFullWeight());
+                if (null == sysData.getFullWeightTime()) {
+                    sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 25));
+                }
                 if (!sysData.getFullWeightTime().after(sysData.getRegisterTime())) {
                     sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 25));
                 }
@@ -167,10 +186,13 @@
                 apiData.setMzjby(sysData.getFullWeightUser());
                 apiData.setMzjly(sysData.getFullWeightUser());
 
-                apiData.setZcy(sysData.getHandleUser());
+                apiData.setZcy(null == sysData.getHandleUser() ? sysData.getFullWeightUser() : sysData.getHandleUser());
 
                 //鐨噸淇℃伅
                 apiData.setPz(sysData.getEmptyWeight());
+                if (null == sysData.getEmptyWeightTime()) {
+                    sysData.setEmptyWeightTime(DateUtils.addMinutes(sysData.getFullWeightTime(), 60));
+                }
                 if (!sysData.getEmptyWeightTime().after(sysData.getFullWeightTime())) {
                     sysData.setEmptyWeightTime(DateUtils.addMinutes(sysData.getFullWeightTime(), 60));
                 }
@@ -183,7 +205,22 @@
 
                 apiData.setBzwkl(0 - sysData.getDePackage());
                 apiData.setBzbjs(sysData.getBzbjs());
-
+                apiData.setCmsj(sysData.getCompleteTime());
+                //缁撶畻鍗曞彿
+                if(StringUtils.isNotEmpty(sysData.getSettleId())){
+                    apiData.setRkjsdh(kqdm + sysData.getSettleId());
+                }
+                if(StringUtils.isNotEmpty(apiData.getHth())){
+                    api1204List = api1204Rep.getDataByHthAndHwdm(apiData.getHth(), apiData.getHwdm());
+                    if(null == api1204List || api1204List.isEmpty()){
+                        api1204List = api1204Rep.getDataByHth(apiData.getHth());
+                        if(null != api1204List && api1204List.size() > 0){
+                            apiData.setRkjsdh(api1204List.get(0).getRkjsdh());
+                        }
+                    }else {
+                        apiData.setRkjsdh(api1204List.get(0).getRkjsdh());
+                    }
+                }
                 //鍏跺畠
                 apiData.setQtkl(0 - sysData.getDeOther());
                 //鍊间粨 鐜板満鎵i噸
@@ -202,12 +239,29 @@
                 apiData.setBizId(sysData.getId());
                 apiData.setKqdm(kqdm);
                 apiData.setSyncTime(new Date());
-                api1202List = api1202Rep.getDataById(apiData.getRkywdh());
-                if (null == api1202List || api1202List.isEmpty()) {
-                    apiData.setCzbz(Constant.CZBZ_I);
-                } else {
-                    apiData.setCzbz(api1202List.get(0).getCzbz());
+                apiData.setBz(null == sysData.getRemarks() ? "澶囨敞" : sysData.getRemarks());
+                apiData.setKlyy("鎵i噺鍘熷洜");
+
+                apiData.setCmqrmgryxm(StringUtils.isEmpty(sysData.getRegisterUser())?"鐧昏浜�":sysData.getRegisterUser());
+                apiData.setDjmgryxm(StringUtils.isEmpty(sysData.getRegisterUser())?"鐧昏浜�":sysData.getRegisterUser());
+                //01:琛ㄧず澶у瀷姹借溅鍙风墝,榛勫簳榛戝瓧锛� 02:琛ㄧず灏忓瀷姹借溅鍙风墝,钃濆簳鐧藉瓧锛� 03:琛ㄧず鏂拌兘婧愭苯杞﹀彿鐗�,缁垮簳榛� 瀛楋紱
+                //04:琛ㄧず鍐滅敤杞﹁溅鐗屽彿锛岀豢搴曠櫧瀛楋紱 LS:琛ㄧず涓存椂铏氭嫙鍙风墝锛屼粎闄愪簬鍞� 绮溅鏃犲浐瀹氬彿鐗屾椂浣跨敤
+                apiData.setCchlx("01");
+                apiData.setLdd("瑁呯伯鍦扮偣");
+                apiData.setQzbwslkl(0.0);
+                apiData.setQzzzzkl(0.0);
+                apiData.setQzgwcmkl(0.0);
+                apiData.setQzhhkl(0.0);
+                apiData.setQzbwslkl(0.0);
+                apiData.setQzhlmkl(0.0);
+                apiData.setQzsmlkl(0.0);
+                apiData.setQzzjmlkl(0.0);
+                apiData.setQzqtkl(0.0);
+                apiData.setZxzydw(api1105.getBgdw());
+                if (sysData.getCompanyId().equals("5329")) {
+                    apiData.setLqgsdwdm("91440604MA56D2AM1X");
                 }
+
                 //鍒ゆ柇鏄惁涓鸿埞杩�
                 if (StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")) {
                     listInoutRecordItem = fzzy40SyncInoutRecordItemRep.findDataByRecordId(sysData.getId());
@@ -218,6 +272,9 @@
 
                     int idNum = Integer.valueOf(sysData.getId().substring(12)) * 100 + 10001;
                     for (Fz40InoutRecordItem fz40InoutRecordItem : listInoutRecordItem) {
+                        if ("DEL".equals(fz40InoutRecordItem.getRecordStatus())) {
+                            continue;
+                        }
                         if (fz40InoutRecordItem.getSettleWeight() <= 0) {
                             continue;
                         }
@@ -225,11 +282,25 @@
                         apiData.setMz(fz40InoutRecordItem.getFullWeight());
                         apiData.setPz(fz40InoutRecordItem.getEmptyWeight());
                         apiData.setJz(fz40InoutRecordItem.getSettleWeight());
-
+                        apiData.setMzjlsj(fz40InoutRecordItem.getFullWeightTime());
+                        apiData.setPzjlsj(fz40InoutRecordItem.getEmptyWeightTime());
+                        apiData.setQtkl(0 - fz40InoutRecordItem.getDe());
+                        api1202List = api1202Rep.getDataById(apiData.getRkywdh());
+                        if (null == api1202List || api1202List.isEmpty()) {
+                            apiData.setCzbz(Constant.CZBZ_I);
+                        } else {
+                            apiData.setCzbz(api1202List.get(0).getCzbz());
+                        }
                         api1202Rep.save(apiData);
                         idNum++;
                     }
                 } else {
+                    api1202List = api1202Rep.getDataById(apiData.getRkywdh());
+                    if (null == api1202List || api1202List.isEmpty()) {
+                        apiData.setCzbz(Constant.CZBZ_I);
+                    } else {
+                        apiData.setCzbz(api1202List.get(0).getCzbz());
+                    }
                     //淇濆瓨鏁版嵁
                     api1202Rep.save(apiData);
                 }

--
Gitblit v1.9.3