From ea9420519d4c3f825f53831208cd4b72c2eecea3 Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期一, 04 九月 2023 20:14:46 +0800 Subject: [PATCH] 上海同步数据---市储驳运单 --- src/main/java/com/fzzy/api/service/ApiTriggerService.java | 34 ++++---- src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1202Rep.java | 16 ++++ src/main/java/com/fzzy/api/view/pr/SyncServicePR.java | 1 src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java | 8 - src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java | 26 ++++++ src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java | 12 +++ src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java | 143 +++++++++++++++++++++++++++++++++++ 7 files changed, 218 insertions(+), 22 deletions(-) diff --git a/src/main/java/com/fzzy/api/service/ApiTriggerService.java b/src/main/java/com/fzzy/api/service/ApiTriggerService.java index 00f60f3..5e0b5c3 100644 --- a/src/main/java/com/fzzy/api/service/ApiTriggerService.java +++ b/src/main/java/com/fzzy/api/service/ApiTriggerService.java @@ -61,6 +61,7 @@ } } + public ApiTrigger findNameByCode(String code, String parentCode) { List<ApiTrigger> listParent = apiTriggerRep.findNameByCode(code, parentCode); @@ -119,16 +120,16 @@ String result = null; Map<String, String> parentMap = contextMap.get(parentCode); if (null == parentMap || parentMap.isEmpty()) { - if(StringUtils.isEmpty(bizCode)){ + if (StringUtils.isEmpty(bizCode)) { return bizCode; } - if(Constant.TRIGGER_P_LSPZ.equals(parentCode)){ - result = Integer.valueOf(bizCode)*1000000 + ""; - result = result.substring(0,7); - }else if(Constant.TRIGGER_P_LSXZ.equals(parentCode)){ - result = Integer.valueOf(bizCode)*100 + ""; - result = result.substring(0,3); - }else { + if (Constant.TRIGGER_P_LSPZ.equals(parentCode)) { + result = Integer.valueOf(bizCode) * 1000000 + ""; + result = result.substring(0, 7); + } else if (Constant.TRIGGER_P_LSXZ.equals(parentCode)) { + result = Integer.valueOf(bizCode) * 100 + ""; + result = result.substring(0, 3); + } else { result = bizCode; } return result; @@ -140,16 +141,16 @@ } if (null == result) { - if(StringUtils.isEmpty(bizCode)){ + if (StringUtils.isEmpty(bizCode)) { return bizCode; } - if(Constant.TRIGGER_P_LSPZ.equals(parentCode)){ - result = Integer.valueOf(bizCode)*1000000 + ""; - result = result.substring(0,7); - }else if(Constant.TRIGGER_P_LSXZ.equals(parentCode)){ - result = Integer.valueOf(bizCode)*100 + ""; - result = result.substring(0,3); - }else { + if (Constant.TRIGGER_P_LSPZ.equals(parentCode)) { + result = Integer.valueOf(bizCode) * 1000000 + ""; + result = result.substring(0, 7); + } else if (Constant.TRIGGER_P_LSXZ.equals(parentCode)) { + result = Integer.valueOf(bizCode) * 100 + ""; + result = result.substring(0, 3); + } else { result = bizCode; } } @@ -188,6 +189,7 @@ list.add(new ApiTrigger(PushProtocol.SB_WHJL_2023.getCode(), PushProtocol.SB_WHJL_2023.getName())); list.add(new ApiTrigger(PushProtocol.HB_FZZY_JG_2022.getCode(), PushProtocol.HB_FZZY_JG_2022.getName())); list.add(new ApiTrigger(PushProtocol.SB_SHJdJW_2023.getCode(), PushProtocol.SB_SHJdJW_2023.getName())); + list.add(new ApiTrigger(PushProtocol.SB_SH_2023.getCode(), PushProtocol.SB_SH_2023.getName())); return list; } diff --git a/src/main/java/com/fzzy/api/view/pr/SyncServicePR.java b/src/main/java/com/fzzy/api/view/pr/SyncServicePR.java index 78099b6..5cd1eab 100644 --- a/src/main/java/com/fzzy/api/view/pr/SyncServicePR.java +++ b/src/main/java/com/fzzy/api/view/pr/SyncServicePR.java @@ -45,6 +45,7 @@ } //璋冩暣寮�濮嬫椂闂村拰鎴鏃堕棿 + param.setPushProtocol(apiConfs.getPushProtocol()); param.setSyncProtocol(apiConfs.getSyncProtocol()); param.setDeptId(apiConfs.getDeptId()); param.setStart(ContextUtil.getCurZero(param.getStart())); diff --git a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java index 12a0ae0..ab22f00 100644 --- a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java +++ b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java @@ -1,11 +1,13 @@ package com.fzzy.async.fzzy40; import com.fzzy.api.data.ApiParam; +import com.fzzy.api.data.PushProtocol; import com.fzzy.api.data.SyncProtocol; import com.fzzy.api.service.SyncService12; import com.fzzy.async.fzzy35.impl.Fzzy35Sync1203; import com.fzzy.async.fzzy35.impl.Fzzy35Sync1208; import com.fzzy.async.fzzy40.impl.*; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -43,6 +45,8 @@ private Fzzy40Sync1210 fzzySync1210; @Autowired private Fzzy40Sync1109 fzzySync1109; + @Autowired + private Fzzy40Sync2104 fzzySync2104; @Override public String getProtocol() { @@ -57,6 +61,14 @@ Date start = param.getStart(); Date end = param.getEnd(); + /*-----鍚勭渷鐙湁鎺ュ彛淇℃伅鍚屾-----*/ + if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.getCode().equals(param.getPushProtocol())) { + //涓婃捣甯傚钩鍙�2023鐗堬紝闇�瑕佸悓姝ュ競鍌ㄩ┏杩愬崟 + + //鍚屾甯傚偍椹宠繍鍗� + fzzySync2104.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd()); + } + //瀹㈡埛鍚屾 fzzySync1212.syncData(kqdm, deptId, start, end); diff --git a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java index f782feb..79f87bb 100644 --- a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java +++ b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java @@ -11,10 +11,8 @@ /** * @Desc: 绮绠$悊淇℃伅鍚屾 - * * @author: czt * @update-time: 2023/08/14 - * */ @Component public class Fzzy40SyncService13 implements SyncService13 { @@ -46,19 +44,19 @@ /*-----鍚勭渷鐙湁鎺ュ彛淇℃伅鍚屾-----*/ - if(StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_GD_2022.equals(param.getPushProtocol())){ + if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_GD_2022.getCode().equals(param.getPushProtocol())) { //骞夸笢鐪佸钩鍙�2022鐗堬紝闇�瑕佸悓姝ョ啅钂稿妗堜俊鎭� //鐔忚捀澶囨鏁版嵁鍚屾 fzzySync1023.syncData(param.getDeptId(), param.getStart(), param.getEnd()); } - if(StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.equals(param.getPushProtocol())){ + if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.equals(param.getPushProtocol())) { //涓婃捣甯傚钩鍙�2023鐗堬紝闇�瑕佸悓姝ョ伯鎯呰澶囬厤缃俊鎭� //鍚屾绮儏璁惧閰嶇疆淇℃伅 fzzy40Sync2103.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd()); } - + /*-----鍏叡鎺ュ彛-----*/ //娓╂箍搴︽娴嬫暟鎹悓姝� diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java new file mode 100644 index 0000000..e5988d4 --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java @@ -0,0 +1,143 @@ +package com.fzzy.async.fzzy40.impl; + +import com.alibaba.fastjson.JSON; +import com.fzzy.api.Constant; +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.view.repository.*; +import com.fzzy.async.fzzy40.entity.Fz40InoutCustomer; +import com.fzzy.async.fzzy40.entity.Fz40InoutNoticeIn; +import com.fzzy.async.fzzy40.entity.Fz40InoutRecord; +import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep; +import com.fzzy.async.fzzy40.repository.Fzzy40Sync1212Rep; +import com.fzzy.async.fzzy40.repository.Fzzy40SyncNoticeInRep; +import com.fzzy.push.sh2023.SH2023Constant; +import com.fzzy.push.sh2023.dto.SH2023Api2104; +import com.fzzy.push.sh2023.dto.ShAreaBjw; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.time.DateFormatUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 甯傚偍椹宠繍鍗� + * + * @Author:YAN + */ +@Slf4j +@Component +public class Fzzy40Sync2104 { + + private final static String INOUT_TYPE_IN = "IN"; + + @Autowired + private Fzzy40Sync1202Rep fzzy40Sync1202Rep; + @Autowired + private Api1102Rep api1102Rep; + @Autowired + private ApiLogRep apiLogRep; + @Autowired + private ApiCommonService commonService; + @Autowired + private ApiInfoDataRep apiInfoDataRep; + @Autowired + private ApiTriggerService apiTriggerService; + + /** + * 鍚屾甯傚偍椹宠繍鍗� + * + * @param deptId + * @param start + * @param end + */ + public void syncData(String kqdm, String deptId, Date start, Date end) { + + log.info("-------------2104鎺ュ彛鏁版嵁寮�濮嬪悓姝�------------------"); + + //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭� + ApiLog apiLog = new ApiLog(); + apiLog.setType(ApiLog.TYPE_SYNC); + apiLog.setKqdm(deptId); + apiLog.setUploadTime(new Date()); + apiLog.setInteId(SH2023Constant.SH_2023_API_CODE_2104); + apiLog.setStatus(99); + apiLog.setId(ContextUtil.getUUID()); + try { + List<Fz40InoutRecord> list = fzzy40Sync1202Rep.listInoutRecord(deptId, start, end); + if (null == list || list.isEmpty()) { + log.debug("-------------娌℃湁鑾峰彇鍒板競鍌ㄩ┏杩愬崟------------------"); + return; + } + + SH2023Api2104 sh2023Api2104; + Api1105 api1105; + List<ApiInfoData> apiInfoDataList; + List<Api1102> api1102List = api1102Rep.findPushData(kqdm); + String bjw = ""; + String mappingCode = ""; + if (null != api1102List && api1102List.size() > 0) { + bjw = ShAreaBjw.getBjw(api1102List.get(0).getXzqhdm()); + } + for (Fz40InoutRecord sysData : list) { + + sh2023Api2104 = new SH2023Api2104(); + sh2023Api2104.setBydh(sysData.getId().substring(2)); + sh2023Api2104.setKqdm(kqdm); + sh2023Api2104.setJzrq(sysData.getCompleteTime()); + + sh2023Api2104.setCch(sysData.getPlateNum()); + sh2023Api2104.setLspzdm(sysData.getFoodVariety()); + mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, sysData.getFoodType()); + sh2023Api2104.setLsxzdm(mappingCode); + + sh2023Api2104.setLldm(kqdm); + + sh2023Api2104.setJz(sysData.getNetWeight()); + sh2023Api2104.setZhgxsh(sysData.getUpdateTime()); + + //鑾峰彇璐т綅淇℃伅 + api1105 = commonService.getApi1105Cache(sysData.getDepotId()); + sh2023Api2104.setPch(api1105.getHwdm() + sysData.getFoodYear()); + sh2023Api2104.setBjw(bjw); + + //鎸佷箙鍖栦繚瀛橈紝鍗曠嫭瀛樺叆闈炲浗鏍囨帴鍙h〃 + ApiInfoData infoData = new ApiInfoData(); + infoData.setId(sh2023Api2104.getBydh()); + infoData.setKqdm(kqdm); + infoData.setInteType(Constant.API_CATEGORY_12); + infoData.setInteId(SH2023Constant.SH_2023_API_CODE_2104); + infoData.setUpdateTime(new Date()); + infoData.setDataId(sh2023Api2104.getBydh()); + infoData.setRemarks("甯傚偍椹宠繍鍗�"); + + //璁剧疆鎿嶄綔鏍囧織 + apiInfoDataList = apiInfoDataRep.getDataByDataId(infoData.getDataId()); + if (null == apiInfoDataList || apiInfoDataList.isEmpty()) { + infoData.setCzbz(Constant.CZBZ_I); + sh2023Api2104.setCzbz(Constant.CZBZ_I); + } else { + infoData.setCzbz(apiInfoDataList.get(0).getCzbz()); + sh2023Api2104.setCzbz(apiInfoDataList.get(0).getCzbz()); + } + + infoData.setData(JSON.toJSONString(sh2023Api2104)); + apiInfoDataRep.save(infoData); + + log.info("2103---甯傚偍椹宠繍鍗�-鍚屾鏁版嵁锛歿}", sh2023Api2104.toString()); + + } + + } catch (Exception e) { + log.error("---甯傚偍椹宠繍鍗曞悓姝ユ墽琛屽け璐�----{}", e); + apiLog.setResult("鍚屾甯傚偍椹宠繍鍗曞け璐ワ細" + e.getMessage()); + apiLogRep.save(apiLog); + } + } +} diff --git a/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1202Rep.java b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1202Rep.java index f2bebaf..fb2fc99 100644 --- a/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1202Rep.java +++ b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1202Rep.java @@ -4,6 +4,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; + import java.util.Date; import java.util.List; @@ -17,6 +18,7 @@ /** * 鏍规嵁淇℃伅鑾峰彇鍑哄叆搴撲俊鎭� + * * @param deptId * @param type * @param start @@ -28,10 +30,24 @@ /** * 鏍规嵁id鑾峰彇绮鍑哄叆搴撲俊鎭� + * * @param id * @return */ @Query("from Fz40InoutRecord where id=:id order by updateTime ") List<Fz40InoutRecord> listInoutRecordById(@Param("id") String id); + + /** + * 鏍规嵁淇℃伅鑾峰彇鍑哄叆搴撲俊鎭� + * + * @param deptId + * @param start + * @param end + * @return + */ + @Query("from Fz40InoutRecord where deptId=:deptId and updateTime >=:start and updateTime <:end order by id ") + List<Fz40InoutRecord> listInoutRecord(@Param("deptId") String deptId, @Param("start") Date start, @Param("end") Date end); + + } diff --git a/src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java b/src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java index 52f9f89..509e83d 100644 --- a/src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java +++ b/src/main/java/com/fzzy/push/sh2023/SH2023PushService12.java @@ -10,6 +10,7 @@ import com.fzzy.api.service.PushService11; import com.fzzy.api.view.repository.*; import com.fzzy.push.sh2023.dto.SH2023Api2101; +import com.fzzy.push.sh2023.dto.SH2023Api2104; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @@ -450,7 +451,30 @@ * 2104 甯傚偍椹宠繍鍗� */ public void pushData2104(ApiRemoteService apiRemoteService, ApiParam param) { - //TODO + //鑾峰彇 妫�鏂ゅ崟淇℃伅 + List<ApiInfoData> items = apiInfoDataRep.getDataByInteId(SH2023Constant.SH_2023_API_CODE_2104); + + SH2023Api2104 shApi2104; + List<SH2023Api2104> list = new ArrayList<>(); + + param.setInteId(SH2023Constant.SH_2023_API_CODE_2104); + for (ApiInfoData infoData : items) { + shApi2104 = JSONObject.parseObject(infoData.getData(), SH2023Api2104.class); + shApi2104.setCzbz(infoData.getCzbz()); + shApi2104.setZhgxsh(infoData.getUpdateTime()); + list.add(shApi2104); + } + ResponseDto responseDto = apiRemoteService.pushData(param, list); + if (responseDto.getSuccess() == 0) { + //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵�� + for (ApiInfoData data : items) { + if (Constant.CZBZ_I.equals(data.getCzbz())) { + + data.setCzbz(Constant.CZBZ_U); + apiInfoDataRep.save(data); + } + } + } } } -- Gitblit v1.9.3