From cdad99fd8386cc3a44f6e66a85f4d0d0ac6fff03 Mon Sep 17 00:00:00 2001 From: czt <czt18638530771@163.com> Date: 星期六, 08 二月 2025 10:00:36 +0800 Subject: [PATCH] 优化库存同步 --- src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1208.java | 83 +++++++++++++++++++++++++++++++---------- 1 files changed, 63 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1208.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1208.java index a8aaf00..5f27584 100644 --- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1208.java +++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1208.java @@ -1,10 +1,7 @@ package com.fzzy.async.fzzy40.impl; import com.fzzy.api.Constant; -import com.fzzy.api.entity.Api1102; -import com.fzzy.api.entity.Api1105; -import com.fzzy.api.entity.Api1208; -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; @@ -14,6 +11,7 @@ import com.fzzy.async.fzzy40.entity.Fz40DepotStore; import com.fzzy.async.fzzy40.repository.Fzzy40Sync1208Rep; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.time.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -75,6 +73,7 @@ Api1208 apiData; Api1105 api1105; + List<Api1208> api1208List; for (Fz40DepotStore fz40DepotStore : list) { //鑾峰彇璐т綅淇℃伅 @@ -84,10 +83,11 @@ } apiData = new Api1208(); + apiData.setId(fz40DepotStore.getId()); apiData.setHwdm(api1105.getHwdm()); //绮鍝佺 - String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, fz40DepotStore.getFoodVariety()); + String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, fz40DepotStore.getFoodVariety().substring(0, 3)); apiData.setLspzdm(mappingCode); //绮鎬ц川 @@ -101,36 +101,74 @@ apiData.setShnd(fz40DepotStore.getFoodYear()); //浜у湴浠g爜 - String cd = commonService.getFoodLocationIdFromCache(fz40DepotStore.getFoodLocation()); - apiData.setCd(cd); + mappingCode = commonService.getFoodLocationIdFromCache(fz40DepotStore.getFoodLocation()); + if (StringUtils.isEmpty(mappingCode)) { + mappingCode = apiData.getHwdm().substring(2, 8); + } + apiData.setCd(mappingCode); - apiData.setBgy(api1105.getBgy()); + apiData.setBgy(StringUtils.isEmpty(api1105.getBgy()) ? "淇濈鍛�" : api1105.getBgy()); + + apiData.setLqxzqhdm(api1102.getXzqhdm()); + if (apiData.getLsxzdm().equals("121")) { + //鐪佺骇鍌ㄥ绮�-绮潈琛屾斂鍖哄垝浠g爜涓虹渷绾� + apiData.setLqxzqhdm(api1102.getXzqhdm().substring(0, 2) + "0000"); + } + if (apiData.getLsxzdm().equals("122")) { + //甯傜骇鍌ㄥ绮�-绮潈琛屾斂鍖哄垝浠g爜涓哄競绾� + apiData.setLqxzqhdm(api1102.getXzqhdm().substring(0, 4) + "00"); + } + //绮潈褰掑睘鍗曚綅 - apiData.setLqgsdwdm(api1102.getDwdm()); - //绮潈琛屾斂鍖哄垝浠g爜 - apiData.setLqxzqhdm(api1102.getDwdm().substring(2, 8)); + if (StringUtils.isEmpty(fz40DepotStore.getLqgsdwdm())) { + api1208List = api1208Rep.findDataByHwdm(api1105.getHwdm()); + if(null != api1208List && api1208List.size() > 0){ + apiData.setLqgsdwdm(api1208List.get(0).getLqgsdwdm()); + apiData.setLqxzqhdm(api1208List.get(0).getLqxzqhdm()); + apiData.setLqgstydwbm(api1208List.get(0).getLqgstydwbm()); + } + apiData.setLqgsdwdm(api1102.getDwdm()); + } else { + apiData.setLqgsdwdm(fz40DepotStore.getLqgsdwdm()); + } + //绠$悊鏂瑰紡-榛樿鐩村偍 - apiData.setGlfs("01"); + if (StringUtils.isEmpty(fz40DepotStore.getManageType())) { + apiData.setGlfs("01"); + } else { + apiData.setGlfs(fz40DepotStore.getManageType()); + } + //鏀跺偍鍦扮偣-榛樿搴撳唴 apiData.setScdd("1"); //鍌ㄧ伯鏂瑰紡 apiData.setClfs(fz40DepotStore.getStoreType()); + //鍖呰鍌ㄧ伯鏄紝鏍告煡鍖呭瓨绮寘鏁� + if ("2".equals(apiData.getClfs())) { + apiData.setBclbs((int) (fz40DepotStore.getStorageReal() / 25)); + } //璐т綅鐘舵�� mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_HWZT, fz40DepotStore.getDepotStatus()); apiData.setHwzt(mappingCode); - if(null == fz40DepotStore.getStoreDate()){ + if (null == fz40DepotStore.getStoreDate()) { fz40DepotStore.setStoreDate(new Date()); } //鍏ヤ粨鏃堕棿 apiData.setRcsj(fz40DepotStore.getStoreDate()); //灏佷粨鏃ユ湡 - if("3".equals(apiData.getHwzt())){ - apiData.setFcrq(DateUtils.addDays(fz40DepotStore.getStoreDate(), 10)); + if ("3".equals(apiData.getHwzt()) || "4".equals(apiData.getHwzt())) { + if (null == fz40DepotStore.getFullDate()) { + fz40DepotStore.setFullDate(DateUtils.addDays(fz40DepotStore.getStoreDate(), 30)); + } + apiData.setFcrq(fz40DepotStore.getFullDate()); } - //鍑轰粨瀹屾垚鏃堕棿 - if("1".equals(apiData.getHwzt())){ + + if ("1".equals(apiData.getHwzt())) { + //鍑轰粨瀹屾垚鏃堕棿 apiData.setCcwcsj(DateUtils.addDays(fz40DepotStore.getStoreDate(), 5)); + //娓呬粨鏃堕棿 + apiData.setQcsj(DateUtils.addDays(apiData.getCcwcsj(), 1)); } //鍥藉埆 apiData.setGb("156"); @@ -139,7 +177,7 @@ apiData.setSjzlxg(6); apiData.setLdtj(10000); - apiData.setZhgxsj(new Date()); + apiData.setZhgxsj(fz40DepotStore.getUpdateDate()); //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂� apiData.setBizId(fz40DepotStore.getId()); @@ -147,8 +185,13 @@ apiData.setSyncTime(new Date()); //搴撳瓨姣忔鏂板 - apiData.setCzbz(Constant.CZBZ_I); - apiData.setId(ContextUtil.getCurTimeMillis()); + api1208List = api1208Rep.getDataById(apiData.getId()); + if (null == api1208List || api1208List.isEmpty()) { + apiData.setCzbz(Constant.CZBZ_I); + } else { + apiData.setCzbz(api1208List.get(0).getCzbz()); + } + //淇濆瓨鏁版嵁 api1208Rep.save(apiData); } -- Gitblit v1.9.3