From a1f0690d10288f9aa82b7fe96a9c4e33d9ad7661 Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期六, 23 九月 2023 18:45:47 +0800
Subject: [PATCH] 优化出入库检验数据的时间顺序

---
 src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1202.java |   70 +++++++++++++++++++++++------------
 1 files changed, 46 insertions(+), 24 deletions(-)

diff --git a/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1202.java b/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1202.java
index d369ba9..198a7ea 100644
--- a/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1202.java
+++ b/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1202.java
@@ -7,6 +7,7 @@
 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.async.fzzy35.entity.Fz35InoutNoticeIn;
@@ -16,12 +17,11 @@
 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.Calendar;
-import java.util.Date;
-import java.util.List;
+import java.text.SimpleDateFormat;
+import java.util.*;
 
 /**
  * 绮鍏ュ簱淇℃伅
@@ -78,8 +78,15 @@
             Api1202 apiData;
             Api1105 api1105;
             List<Fz35InoutNoticeIn> listInoutNotice;
-            Calendar c = Calendar.getInstance();
+            List<Api1202> api1202List;
             for (Fz35InoutRecord sysData : list) {
+                if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){
+                    sysData.setRecordWeight(sysData.getSettleWeight());
+                }
+                //鍒ゆ柇鍑�閲嶆槸鍚﹀ぇ浜�0锛岀瓑浜�0琛ㄧず涓嶅悎鏍硷紝涓嶈繘琛屽悓姝ヤ笂浼�
+                if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){
+                    continue;
+                }
                 //鑾峰彇璐т綅淇℃伅
                 api1105 = commonService.getApi1105Cache(sysData.getDepotId());
                 if (null == api1105) {
@@ -87,9 +94,17 @@
                 }
                 apiData = new Api1202();
 
-                apiData.setId(sysData.getId());
-
                 apiData.setRkywdh(Constant.INOUT_TYPE_14 + 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());
@@ -100,7 +115,7 @@
                 //榛樿涓�涓殢渚垮��
                 apiData.setLxdh(StringUtils.isEmpty(sysData.getUserContact()) ? "13012345678" : sysData.getUserContact());
 
-                apiData.setSfzh(null == sysData.getUserId() ? "410183200010100000" : sysData.getUserId());
+                apiData.setSfzh(null == sysData.getUserId() ? "410183200010100000" : sysData.getUserId().trim());
 
                 //鑾峰彇鍚堝悓鍙�
                 listInoutNotice = fzzy35SyncNoticeInRep.listInoutNoticeInById(sysData.getNoticeId());
@@ -112,14 +127,12 @@
 
                 apiData.setXxdz(sysData.getUserAddress());
 
-                //杩愯緭宸ュ叿锛岄粯璁ゆ苯杞︼紝TODO>> 寰呰皟鏁翠负鏍规嵁鏁版嵁搴撹幏鍙�
-                apiData.setYsgj("1");
+                //杩愯緭宸ュ叿锛岃嫢涓虹┖锛屽垯榛樿缁�1-姹借溅
+                apiData.setYsgj(StringUtils.isEmpty(sysData.getTransType()) ? "1":sysData.getTransType());
 
                 //杞﹁埞鍙�
                 apiData.setCch(sysData.getPlateNum());
-                c.setTime(sysData.getRegisterTime());
-                c.add(Calendar.MINUTE,-3);
-                apiData.setDjsj(c.getTime());
+                apiData.setDjsj(sysData.getRegisterTime());
 
                 //绮鍝佺
                 String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety());
@@ -140,6 +153,9 @@
 
                 //姣涢噸淇℃伅
                 apiData.setMz(sysData.getFullWeight());
+                if(!sysData.getFullWeightTime().after(sysData.getRegisterTime())){
+                    sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 25));
+                }
                 apiData.setMzjlsj(sysData.getFullWeightTime());
                 apiData.setMzjby(sysData.getFullWeightUser());
                 apiData.setMzjly(sysData.getFullWeightUser());
@@ -148,6 +164,9 @@
 
                 //鐨噸淇℃伅
                 apiData.setPz(sysData.getEmptyWeight());
+                if(!sysData.getEmptyWeightTime().after(sysData.getFullWeightTime())){
+                    sysData.setEmptyWeightTime(DateUtils.addMinutes(sysData.getFullWeightTime(), 60));
+                }
                 apiData.setPzjlsj(sysData.getEmptyWeightTime());
                 apiData.setPzjby(sysData.getEmptyWeightUser());
                 apiData.setPzjly(sysData.getEmptyWeightUser());
@@ -164,25 +183,28 @@
                 //鍊间粨 鐜板満鎵i噸
                 apiData.setXckl( 0 - sysData.getDeHandle());
 
+                apiData.setJz(sysData.getRecordWeight());
+                if(!sysData.getCompleteTime().after(sysData.getEmptyWeightTime())){
+                    sysData.setCompleteTime(DateUtils.addMinutes(sysData.getEmptyWeightTime(), 10));
+                }
+                apiData.setCmsj(sysData.getCompleteTime());
 
-                apiData.setJz(sysData.getSettleWeight());
-                c.setTime(sysData.getCompleteTime());
-                c.add(Calendar.MINUTE,3);
-                apiData.setCmsj(c.getTime());
-
-
-                //鍏ュ簱缁撶畻鍗曞彿
-                apiData.setRkjsdh(kqdm + sysData.getId().substring(2));
+                //鍏ュ簱缁撶畻鍗曞彿,榛樿缁熶竴缁撶畻锛屼笉璁剧疆缁撶畻鍗曞彿
+                //apiData.setRkjsdh(kqdm + sysData.getId().substring(2));
 
                 //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
-                apiData.setCzbz(Constant.CZBZ_I);
-                apiData.setZhgxsj(c.getTime());
+                apiData.setZhgxsj(sysData.getCompleteTime());
 
                 //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
                 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());
+                }
                 //淇濆瓨鏁版嵁
                 api1202Rep.save(apiData);
                 log.info("1202---鍚屾鏁版嵁锛歿}", apiData.toString());

--
Gitblit v1.9.3