From 4676c3c00f3e56ed65c149f4dd2c2697e0f1890c Mon Sep 17 00:00:00 2001 From: CZT <czt18638530771@163.com> Date: 星期六, 07 十月 2023 09:58:23 +0800 Subject: [PATCH] 优化温湿度数据同步 --- src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1203.java | 63 +++++++++++++++++++++---------- 1 files changed, 42 insertions(+), 21 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 43d445f..37544c8 100644 --- a/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1203.java +++ b/src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1203.java @@ -5,6 +5,8 @@ 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; @@ -13,10 +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; @@ -36,9 +41,10 @@ private Fzzy35Sync1202Rep fzzySync1202Rep; @Autowired private Fzzy35Sync1203Rep fzzySync1203Rep; - @Autowired private ApiTriggerService apiTriggerService; + @Autowired + private Api1202Rep api1202Rep; @Autowired private Api1203Rep api1203Rep; @Autowired @@ -85,33 +91,40 @@ String zkj; String zkl; List<Api1203> api1203List; + List<Api1202> api1102List; for (Fz35InoutRecord sysData : list) { - //鍒ゆ柇鍑�閲嶆槸鍚﹀ぇ浜�0锛岀瓑浜�0琛ㄧず涓嶅悎鏍硷紝涓嶈繘琛屽悓姝ヤ笂浼� - if(sysData.getRecordWeight() == 0){ + //鏌ヨ绮鍏ュ簱淇℃伅锛岃嫢涓虹┖鍒欎笉杩涜鍚屾涓婁紶 + api1102List = api1202Rep.getDataByBizId(sysData.getId()); + if(null == api1102List || api1102List.isEmpty()){ continue; } - fz35CheckItems = null; + //鑾峰彇鍏ュ簱璐ㄦ淇℃伅 - 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(Constant.INOUT_TYPE_14 + sysData.getId().substring(4)); - + apiData.setRkjydh(api1102List.get(0).getRkywdh()); //璐т綅浠g爜 - apiData.setHwdm(api1105.getHwdm()); - apiData.setRkywdh(apiData.getRkjydh()); - apiData.setQysj(sysData.getFullWeightTime()); + apiData.setHwdm(api1102List.get(0).getHwdm()); + apiData.setRkywdh(api1102List.get(0).getRkywdh()); + 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)); + } + + apiData.setQysj(sysData.getRegisterTime()); apiData.setQyrxm(sysData.getCheckUser()); //鎵︽牱鏂瑰紡 2-鏅鸿兘闅忔満 apiData.setQyfs("2"); @@ -127,16 +140,19 @@ if (gbCheckList == null || gbCheckList.isEmpty()) { continue; } + if (StringUtils.isEmpty(fz35CheckItem.getValue())) { + continue; + } jyxm += gbCheckList.get(0).getCode() + ","; jyz += fz35CheckItem.getValue() + ","; - zkj += "0.0,"; - zkl += "0.0,"; + zkj += ",0.0"; + zkl += ",0.0"; } apiData.setJyxm(jyxm); apiData.setJyz(jyz); - apiData.setZkj(zkj); - apiData.setZkl(zkl); + apiData.setZkj(zkj.substring(1)); + apiData.setZkl(zkl.substring(1)); if("UNPASS".equals(sysData.getCheckStatus())){ apiData.setJyjg("0"); } @@ -144,11 +160,14 @@ apiData.setJyjg("1"); } apiData.setJyrxm(sysData.getCheckUser()); - apiData.setJysj(DateUtils.addMinutes(sysData.getFullWeightTime(), 5)); + 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()); @@ -165,6 +184,8 @@ api1203List = api1203Rep.getDataById(apiData.getRkjydh()); if(null == api1203List || api1203List.isEmpty()){ apiData.setCzbz(Constant.CZBZ_I); + }else { + apiData.setCzbz(api1203List.get(0).getCzbz()); } //淇濆瓨鏁版嵁 -- Gitblit v1.9.3