From 111f952ebe91c261fa418be96226e1fa01865e3b Mon Sep 17 00:00:00 2001 From: CZT <czt18638530771@163.com> Date: 星期六, 11 十一月 2023 20:37:52 +0800 Subject: [PATCH] 优化上海接口信息 --- src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java | 119 +++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 83 insertions(+), 36 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 bd94dbd..f2c482d 100644 --- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java +++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java @@ -1,18 +1,16 @@ package com.fzzy.async.fzzy40.impl; import com.fzzy.api.Constant; -import com.fzzy.api.entity.Api1105; -import com.fzzy.api.entity.Api1205; -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.Api1205Rep; -import com.fzzy.api.view.repository.ApiLogRep; +import com.fzzy.api.view.repository.*; 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; @@ -20,8 +18,6 @@ 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.*; /** @@ -38,11 +34,17 @@ @Autowired private Fzzy40Sync1202Rep fzzySync1202Rep; @Autowired + private Fzzy40SyncInoutRecordItemRep fzzy40SyncInoutRecordItemRep; + @Autowired private Fzzy40SyncNoticeOutRep fzzySyncNoticeOutRep; @Autowired private ApiTriggerService apiTriggerService; @Autowired + private Api1201Rep api1201Rep; + @Autowired private Api1205Rep api1205Rep; + @Autowired + private Api1404Rep api1404Rep; @Autowired private ApiCommonService commonService; @Autowired @@ -55,7 +57,7 @@ * @param start * @param end */ - public void syncData(String kqdm, String deptId, Date start, Date end) { + public void syncData(String kqdm, String deptId, Date start, Date end) { log.info("-------------1205鎺ュ彛鏁版嵁寮�濮嬪悓姝�------------------"); @@ -80,7 +82,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 +101,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(sysData.getCompleteTime(), 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 +109,25 @@ //閫氱煡鍗曞彿 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 (null != listInoutNotice && listInoutNotice.size() > 0) { + //鍚堝悓鍙� + if (StringUtils.isNotEmpty(listInoutNotice.get(0).getContractId())) { + List<Api1201> 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())) { + List<Api1404> api1404List = api1404Rep.getDataByBizId(listInoutNotice.get(0).getPlanId()); + if(null != api1404List && api1404List.size() > 0){ + apiData.setJhmxh(api1404List.get(0).getJhmxdh()); + } + } } - //杩愯緭宸ュ叿锛岃嫢涓虹┖锛屽垯榛樿缁�1-姹借溅 apiData.setYsgj(StringUtils.isEmpty(sysData.getTransType()) ? "1":sysData.getTransType()); @@ -131,7 +137,7 @@ apiData.setDjsj(sysData.getRegisterTime()); //绮鍝佺 - String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety()); + String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety().substring(0, 3)); apiData.setLspzdm(mappingCode); //绮绛夌骇 @@ -145,12 +151,18 @@ 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()); - if(sysData.getEmptyWeightTime().before(sysData.getRegisterTime())){ + if (null == sysData.getEmptyWeightTime()) { + sysData.setEmptyWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 25)); + } + if(!sysData.getEmptyWeightTime().after(sysData.getRegisterTime())){ sysData.setEmptyWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 25)); } apiData.setPzjlsj(sysData.getEmptyWeightTime()); @@ -159,7 +171,10 @@ //姣涢噸淇℃伅 apiData.setMz(sysData.getFullWeight()); - if(sysData.getFullWeightTime().before(sysData.getEmptyWeightTime())){ + if (null == sysData.getFullWeightTime()) { + sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getEmptyWeightTime(), 60)); + } + if(!sysData.getFullWeightTime().after(sysData.getEmptyWeightTime())){ sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getEmptyWeightTime(), 60)); } apiData.setMzjlsj(sysData.getFullWeightTime()); @@ -168,10 +183,13 @@ //鍑�閲� apiData.setJz(sysData.getRecordWeight()); - if(sysData.getCompleteTime().before(sysData.getFullWeightTime())){ + if(!sysData.getCompleteTime().after(sysData.getFullWeightTime())){ sysData.setCompleteTime(DateUtils.addMinutes(sysData.getFullWeightTime(), 10)); } apiData.setCmsj(sysData.getCompleteTime()); + if(StringUtils.isNotEmpty(sysData.getSettleId())){ + apiData.setCkjsdh(sysData.getSettleId()); + } //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂� apiData.setZhgxsj(sysData.getUpdateTime()); @@ -182,14 +200,43 @@ apiData.setSyncTime(new Date()); log.info("1201---鍚屾鏁版嵁锛歿}",apiData.toString()); - api1205List = api1205Rep.getDataById(apiData.getCkywdh()); - if(null == api1205List || api1205List.isEmpty()){ - apiData.setCzbz(Constant.CZBZ_I); + //鍒ゆ柇鏄惁涓鸿埞杩� + 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) { + if(fz40InoutRecordItem.getSettleWeight() <= 0){ + continue; + } + 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()); + + api1205List = api1205Rep.getDataById(apiData.getCkywdh()); + if(null == api1205List || api1205List.isEmpty()){ + apiData.setCzbz(Constant.CZBZ_I); + }else { + apiData.setCzbz(api1205List.get(0).getCzbz()); + } + api1205Rep.save(apiData); + idNum ++; + } }else { - apiData.setCzbz(api1205List.get(0).getCzbz()); + api1205List = api1205Rep.getDataById(apiData.getCkywdh()); + if(null == api1205List || api1205List.isEmpty()){ + apiData.setCzbz(Constant.CZBZ_I); + }else { + apiData.setCzbz(api1205List.get(0).getCzbz()); + } + //淇濆瓨鏁版嵁 + api1205Rep.save(apiData); } - //淇濆瓨鏁版嵁 - api1205Rep.save(apiData); } } catch (Exception e) { log.error("---鍚屾澶辫触----{}", e); -- Gitblit v1.9.3