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/Fzzy35Sync1203.java |   83 ++++++++++++++++++++++++++++-------------
 1 files changed, 57 insertions(+), 26 deletions(-)

diff --git a/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1203.java b/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1203.java
index 2277270..37544c8 100644
--- a/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1203.java
+++ b/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1203.java
@@ -1,13 +1,12 @@
 package com.fzzy.async.fzzy35.impl;
 
 import com.fzzy.api.Constant;
-import com.fzzy.api.entity.Api1105;
-import com.fzzy.api.entity.Api1203;
-import com.fzzy.api.entity.ApiLog;
-import com.fzzy.api.entity.GbCheckItem;
+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.Api1203Rep;
 import com.fzzy.api.view.repository.ApiLogRep;
 import com.fzzy.api.view.repository.GbCheckItemRep;
@@ -16,9 +15,13 @@
 import com.fzzy.async.fzzy35.repository.Fzzy35Sync1202Rep;
 import com.fzzy.async.fzzy35.repository.Fzzy35Sync1203Rep;
 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.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 
@@ -38,9 +41,10 @@
     private Fzzy35Sync1202Rep fzzySync1202Rep;
     @Autowired
     private Fzzy35Sync1203Rep fzzySync1203Rep;
-
     @Autowired
     private ApiTriggerService apiTriggerService;
+    @Autowired
+    private Api1202Rep api1202Rep;
     @Autowired
     private Api1203Rep api1203Rep;
     @Autowired
@@ -86,30 +90,41 @@
             String jyz;
             String zkj;
             String zkl;
+            List<Api1203> api1203List;
+            List<Api1202> api1102List;
             for (Fz35InoutRecord sysData : list) {
+                //鏌ヨ绮鍏ュ簱淇℃伅锛岃嫢涓虹┖鍒欎笉杩涜鍚屾涓婁紶
+                api1102List = api1202Rep.getDataByBizId(sysData.getId());
+                if(null == api1102List || api1102List.isEmpty()){
+                    continue;
+                }
 
                 //鑾峰彇鍏ュ簱璐ㄦ淇℃伅
-                fz35CheckItems = fzzySync1203Rep.listInoutCheckItem(sysData.getCheckId());
+                fz35CheckItems = fzzySync1203Rep.listInoutCheckItem(sysData.getCheckId(), deptId.substring(0, 4));
                 if (null == fz35CheckItems || fz35CheckItems.isEmpty()) {
                     log.info("-------------娌℃湁鑾峰彇鍒板綋鍓嶅叆搴撹川妫�淇℃伅--------------");
                     continue;
                 }
 
-                //鑾峰彇璐т綅淇℃伅
-                api1105 = commonService.getApi1105Cache(sysData.getDepotId());
-                if (null == api1105) {
-                    continue;
+                apiData = new Api1203();
+
+                apiData.setRkjydh(api1102List.get(0).getRkywdh());
+                //璐т綅浠g爜
+                apiData.setHwdm(api1102List.get(0).getHwdm());
+                apiData.setRkywdh(api1102List.get(0).getRkywdh());
+                if(null == sysData.getFullWeightTime()){
+                    sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 5));
                 }
 
-                apiData = new Api1203();
-                apiData.setId(sysData.getId());
+                //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿
+                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));
+                }
 
-                apiData.setRkjydh(Constant.INOUT_TYPE_14 + sysData.getId().substring(4));
-
-                //璐т綅浠g爜
-                apiData.setHwdm(api1105.getHwdm());
-                apiData.setRkywdh(apiData.getRkjydh());
-                apiData.setQysj(sysData.getFullWeightTime());
+                apiData.setQysj(sysData.getRegisterTime());
                 apiData.setQyrxm(sysData.getCheckUser());
                 //鎵︽牱鏂瑰紡 2-鏅鸿兘闅忔満
                 apiData.setQyfs("2");
@@ -125,31 +140,40 @@
                     if (gbCheckList == null || gbCheckList.isEmpty()) {
                         continue;
                     }
+                    if (StringUtils.isEmpty(fz35CheckItem.getValue())) {
+                        continue;
+                    }
                     jyxm += gbCheckList.get(0).getCode() + ",";
                     jyz += fz35CheckItem.getValue() + ",";
-                    zkj += "0,";
-                    zkl += "0,";
+                    zkj += ",0.0";
+                    zkl += ",0.0";
                 }
 
                 apiData.setJyxm(jyxm);
                 apiData.setJyz(jyz);
-                apiData.setZkj(zkj);
-                apiData.setZkl(zkl);
-                apiData.setJyjg("0");
+                apiData.setZkj(zkj.substring(1));
+                apiData.setZkl(zkl.substring(1));
+                if("UNPASS".equals(sysData.getCheckStatus())){
+                    apiData.setJyjg("0");
+                }
+                if("PASS".equals(sysData.getCheckStatus())){
+                    apiData.setJyjg("1");
+                }
                 apiData.setJyrxm(sysData.getCheckUser());
-                apiData.setJysj(sysData.getFullWeightTime());
-                //apiData.setJyjg("");
+                apiData.setJysj(DateUtils.addMinutes(sysData.getRegisterTime(), 90));
 
                 //绮鍝佺
                 String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety());
                 apiData.setLspzdm(mappingCode);
+
+                //淇濈鍛樺鏍�
+                apiData.setBgyfh(apiData.getJyjg());
 
                 //绮绛夌骇
                 mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, sysData.getFoodLevel());
                 apiData.setLsdd(mappingCode);
 
                 //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
-                apiData.setCzbz(Constant.CZBZ_I);
                 apiData.setZhgxsj(sysData.getCompleteTime());
 
                 //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
@@ -157,6 +181,13 @@
                 apiData.setKqdm(kqdm);
                 apiData.setSyncTime(new Date());
 
+                api1203List = api1203Rep.getDataById(apiData.getRkjydh());
+                if(null == api1203List || api1203List.isEmpty()){
+                    apiData.setCzbz(Constant.CZBZ_I);
+                }else {
+                    apiData.setCzbz(api1203List.get(0).getCzbz());
+                }
+
                 //淇濆瓨鏁版嵁
                 api1203Rep.save(apiData);
                 log.info("1203---鍚屾鏁版嵁锛歿}", apiData.toString());

--
Gitblit v1.9.3