From 11430ae628f098654579811131abc522d679e870 Mon Sep 17 00:00:00 2001 From: czt <czt18638530771@163.com> Date: 星期一, 22 九月 2025 17:04:42 +0800 Subject: [PATCH] 上海对农接口调整-增加自动上传 --- src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1202.java | 344 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 344 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1202.java b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1202.java new file mode 100644 index 0000000..d2539d9 --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1202.java @@ -0,0 +1,344 @@ +package com.fzzy.async.fzzy61.impl; + +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.fzzy61.entity.Fz61InoutNoticeIn; +import com.fzzy.async.fzzy61.entity.Fz61InoutRecord; +import com.fzzy.async.fzzy61.entity.Fz61InoutRecordItem; +import com.fzzy.async.fzzy61.repository.Fzzy61Sync1202Rep; +import com.fzzy.async.fzzy61.repository.Fzzy61SyncInoutRecordItemRep; +import com.fzzy.async.fzzy61.repository.Fzzy61SyncNoticeInRep; +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.util.Date; +import java.util.List; + +/** + * 绮鍏ュ簱淇℃伅 + */ +@Slf4j +@Component +public class Fzzy61Sync1202 { + + /** + * 鍏ュ簱绫诲瀷 + */ + private final static String INOUT_TYPE_IN = "IN"; + + @Autowired + private Fzzy61Sync1202Rep fzzySync1202Rep; + @Autowired + private Fzzy61SyncInoutRecordItemRep fzzy61SyncInoutRecordItemRep; + @Autowired + private Fzzy61SyncNoticeInRep fzzySyncNoticeInRep; + @Autowired + private ApiTriggerService apiTriggerService; + @Autowired + private Api1201Rep api1201Rep; + @Autowired + private Api1202Rep api1202Rep; + @Autowired + private Api1204Rep api1204Rep; + @Autowired + private Api1208Rep api1208Rep; + @Autowired + private Api1404Rep api1404Rep; + @Autowired + private ApiCommonService commonService; + @Autowired + private ApiLogRep apiLogRep; + + /** + * 绮鍏ュ簱淇℃伅 + * + * @param deptId + * @param start + * @param end + */ + public void syncData(String kqdm, String deptId, Date start, Date end) { + log.info("-------------1202鎺ュ彛鏁版嵁寮�濮嬪悓姝�------------------"); + + //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭� + ApiLog apiLog = new ApiLog(); + apiLog.setType(ApiLog.TYPE_SYNC); + apiLog.setKqdm(deptId); + apiLog.setUploadTime(new Date()); + apiLog.setInteId(Constant.API_CODE_1202); + apiLog.setStatus(99); + apiLog.setId(ContextUtil.getUUID()); + try { + //鑾峰彇绮鍏ュ簱璁板綍淇℃伅锛屾牴鎹祦绋嬪畬鎴愭椂闂磋幏鍙� + List<Fz61InoutRecord> list = fzzySync1202Rep.listInoutRecord(deptId, INOUT_TYPE_IN, start, end); + + if (null == list || list.isEmpty()) { + log.info("-------------娌℃湁鑾峰彇鍒扮伯椋熷叆搴撲俊鎭�------------------"); + return; + } + + Api1202 apiData; + Api1105 api1105; + List<Fz61InoutNoticeIn> listInoutNotice; + List<Api1202> api1202List; + List<Fz61InoutRecordItem> listInoutRecordItem; + List<Api1201> api1201List; + List<Api1204> api1204List; + List<Api1404> api1404List; + for (Fz61InoutRecord sysData : list) { + if (sysData.getRecordStatus().equals("DEL") || sysData.getRecordStatus().equals("ERROR")) { + continue; + } + if (!sysData.getProgress().equals("RECORD")) { + continue; + } + if (null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0) { + sysData.setRecordWeight(sysData.getSettleWeight()); + } + //鍒ゆ柇鍑�閲嶆槸鍚﹀ぇ浜�0锛岀瓑浜�0琛ㄧず涓嶅悎鏍硷紝涓嶈繘琛屽悓姝ヤ笂浼� + if (null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0) { + continue; + } + //鑾峰彇璐т綅淇℃伅 + api1105 = commonService.getApi1105Cache(sysData.getDepotId()); + if (null == api1105) { + continue; + } + apiData = new Api1202(); + + apiData.setRkywdh(Constant.INOUT_TYPE_14 + sysData.getId().substring(4)); + + //璐т綅浠g爜 + apiData.setHwdm(api1105.getHwdm()); + apiData.setYwlx(Constant.INOUT_TYPE_2); + apiData.setYwrq(DateUtils.parseDate(sysData.getId().substring(2, 10), new String[]{"yyyyMMdd"})); + apiData.setCyr(sysData.getUserName().trim()); + + //榛樿涓�涓殢渚垮�� + apiData.setLxdh(StringUtils.isEmpty(sysData.getUserContact()) ? "13012345678" : sysData.getUserContact().trim()); + + if (StringUtils.isEmpty(sysData.getUserId()) || sysData.getUserId().length() != 18) { + sysData.setUserId("410183199003187055"); + } + apiData.setSfzh(sysData.getUserId()); + + //鑾峰彇閫氱煡鍗曚俊鎭紝鏌ヨ鍚堝悓鍙峰拰璁″垝鏄庣粏鍙� + listInoutNotice = fzzySyncNoticeInRep.listInoutNoticeInById(sysData.getNoticeId()); + if (null != listInoutNotice && listInoutNotice.size() > 0) { + //鍚堝悓鍙� + if (StringUtils.isNotEmpty(listInoutNotice.get(0).getContractId())) { + 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())) { + api1404List = api1404Rep.getDataByBizIdAndKqdm(listInoutNotice.get(0).getPlanId(), kqdm); + if (null != api1404List && api1404List.size() > 0) { + apiData.setJhmxh(api1404List.get(0).getJhmxdh()); + if (StringUtils.isEmpty(sysData.getFoodYear())) { + sysData.setFoodYear(api1404List.get(0).getShnd()); + } + } + } + } + + //绮潈鍗曚綅褰掑睘浠g爜 + List<Api1208> dataByHwdm = api1208Rep.findDataByHwdm(apiData.getHwdm()); + if (null != dataByHwdm && dataByHwdm.size() > 0) { + apiData.setLqgsdwdm(StringUtils.isEmpty(dataByHwdm.get(0).getLqgsdwdm()) ? kqdm.substring(0, 18) : dataByHwdm.get(0).getLqgsdwdm()); + } else { + apiData.setLqgsdwdm(kqdm.substring(0, 18)); + } + apiData.setSlr("鍞伯浜�"); + apiData.setSlrdz("鍞伯浜哄湴鍧�"); + apiData.setBz(StringUtils.isEmpty(sysData.getRemarks()) ? "澶囨敞" : sysData.getRemarks()); + + apiData.setXxdz(StringUtils.isEmpty(sysData.getUserAddress()) ? "璇︾粏鍦板潃" : sysData.getUserAddress()); + + //杩愯緭宸ュ叿锛岃嫢涓虹┖锛屽垯榛樿缁�1-姹借溅 + apiData.setYsgj(StringUtils.isEmpty(sysData.getTransType()) ? "1" : sysData.getTransType()); + + //杞﹁埞鍙� + apiData.setCch(sysData.getPlateNum().trim()); + + apiData.setDjsj(sysData.getRegisterTime()); + + //鐢熸垚鏂瑰紡 + apiData.setScfs(1); + if (StringUtils.isNotEmpty(sysData.getRecordStatus()) && sysData.getRecordStatus().equals("ADD")) { + apiData.setScfs(2); + apiData.setSdblyy("搴撳尯鍋滅數瀵艰嚧鏃犳硶鎸夋祦绋嬭繘琛屽嚭搴�"); + } + + //绮鍝佺 + String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety()); + apiData.setLspzdm(mappingCode); + + //绮鎬ц川 + mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSXZ, sysData.getFoodType()); + apiData.setLsxzdm(mappingCode); + + apiData.setShnd(StringUtils.isEmpty(sysData.getFoodYear()) ? DateFormatUtils.format(sysData.getRegisterTime(), "yyyy") : sysData.getFoodYear()); + + //浜у湴浠g爜 + mappingCode = commonService.getFoodLocationIdFromCache(sysData.getFoodLocation()); + if (StringUtils.isEmpty(mappingCode)) { + mappingCode = apiData.getHwdm().substring(2, 8); + } + apiData.setCddm(mappingCode); + + //妫�鏂ょ被鍨嬶紝榛樿0-绉伴噸鍏ュ簱 + apiData.setJjlx(sysData.getJjlx()); + apiData.setBzbdbz(sysData.getDbz() == null ? 25 : sysData.getDbz()); + + //姣涢噸淇℃伅 + apiData.setMz(sysData.getFullWeight()); + if (null == sysData.getFullWeightTime()) { + sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 25)); + } + if (!sysData.getFullWeightTime().after(sysData.getRegisterTime())) { + sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 25)); + } + apiData.setMzjlsj(sysData.getFullWeightTime()); + apiData.setMzjby(sysData.getFullWeightUser()); + apiData.setMzjly(sysData.getFullWeightUser()); + + apiData.setZcy(null == sysData.getHandleUser() ? sysData.getFullWeightUser() : sysData.getHandleUser()); + + //鐨噸淇℃伅 + apiData.setPz(sysData.getEmptyWeight()); + if (null == sysData.getEmptyWeightTime()) { + sysData.setEmptyWeightTime(DateUtils.addMinutes(sysData.getFullWeightTime(), 60)); + } + if (!sysData.getEmptyWeightTime().after(sysData.getFullWeightTime())) { + sysData.setEmptyWeightTime(DateUtils.addMinutes(sysData.getFullWeightTime(), 60)); + } + + apiData.setPzjlsj(sysData.getEmptyWeightTime()); + apiData.setPzjby(sysData.getEmptyWeightUser()); + apiData.setPzjly(sysData.getEmptyWeightUser()); + + //鎵i噸 鍖栭獙鎬绘墸閲� + apiData.setZjklxj(sysData.getDeCheck()); + apiData.setBzw(StringUtils.isEmpty(sysData.getBzw()) ? "9" : sysData.getBzw()); + apiData.setBzwkl(0 - sysData.getDePackage()); + apiData.setBzbjs(sysData.getBzbjs()); + apiData.setCmsj(sysData.getCompleteTime()); + //缁撶畻鍗曞彿 + if (StringUtils.isNotEmpty(sysData.getSettleId())) { + apiData.setRkjsdh(kqdm + sysData.getSettleId()); + } + if (StringUtils.isNotEmpty(apiData.getHth())) { + api1204List = api1204Rep.getDataByHthAndHwdm(apiData.getHth(), apiData.getHwdm()); + if (null == api1204List || api1204List.isEmpty()) { + api1204List = api1204Rep.getDataByHth(apiData.getHth()); + if (null != api1204List && api1204List.size() > 0) { + apiData.setRkjsdh(api1204List.get(0).getRkjsdh()); + } + } else { + apiData.setRkjsdh(api1204List.get(0).getRkjsdh()); + } + } + //鍏跺畠 + apiData.setQtkl(0 - sysData.getDeOther()); + //鍊间粨 鐜板満鎵i噸 + apiData.setXckl(0 - sysData.getDeHandle()); + + apiData.setJz(sysData.getRecordWeight()); + if (!sysData.getCompleteTime().after(sysData.getEmptyWeightTime())) { + sysData.setCompleteTime(DateUtils.addMinutes(sysData.getEmptyWeightTime(), 10)); + } + apiData.setCmsj(sysData.getCompleteTime()); + + //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂� + apiData.setZhgxsj(sysData.getUpdateTime()); + + //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂� + apiData.setBizId(sysData.getId()); + apiData.setKqdm(kqdm); + apiData.setSyncTime(new Date()); + apiData.setKlyy("鎵i噺鍘熷洜"); + + apiData.setCmqrmgryxm(StringUtils.isEmpty(sysData.getRegisterUser()) ? "鐧昏浜�" : sysData.getRegisterUser()); + apiData.setDjmgryxm(StringUtils.isEmpty(sysData.getRegisterUser()) ? "鐧昏浜�" : sysData.getRegisterUser()); + //01:琛ㄧず澶у瀷姹借溅鍙风墝,榛勫簳榛戝瓧锛� 02:琛ㄧず灏忓瀷姹借溅鍙风墝,钃濆簳鐧藉瓧锛� 03:琛ㄧず鏂拌兘婧愭苯杞﹀彿鐗�,缁垮簳榛� 瀛楋紱 + //04:琛ㄧず鍐滅敤杞﹁溅鐗屽彿锛岀豢搴曠櫧瀛楋紱 LS:琛ㄧず涓存椂铏氭嫙鍙风墝锛屼粎闄愪簬鍞� 绮溅鏃犲浐瀹氬彿鐗屾椂浣跨敤 + apiData.setCchlx("01"); + apiData.setLdd("瑁呯伯鍦扮偣"); + apiData.setZkj(0.0); + apiData.setZlfyzkl(0.0); + apiData.setQzsfzkl(0.0); + apiData.setQzzzzkl(0.0); + apiData.setQzgwcmkl(0.0); + apiData.setQzhhkl(0.0); + apiData.setQzbwslkl(0.0); + apiData.setQzhlmkl(0.0); + apiData.setQzsmlkl(0.0); + apiData.setQzzjmlkl(0.0); + apiData.setQzqtkl(0.0); + apiData.setZkhyy("澧炴墸浠峰師鍥�"); + apiData.setZxzydw(api1105.getBgdw()); + if (sysData.getCompanyId().equals("5329")) { + apiData.setLqgsdwdm("91461604MA56D2AM1X"); + } + api1202List = api1202Rep.getDataById(apiData.getRkywdh()); + if (null == api1202List || api1202List.isEmpty()) { + apiData.setCzbz(Constant.CZBZ_I); + } else { + apiData.setCzbz(api1202List.get(0).getCzbz()); + } + //鍒ゆ柇鏄惁涓鸿埞杩� + if (StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")) { + listInoutRecordItem = fzzy61SyncInoutRecordItemRep.findDataByRecordId(sysData.getId()); + if (null == listInoutRecordItem || listInoutRecordItem.isEmpty()) { + api1202Rep.save(apiData); + continue; + } + + int idNum = Integer.valueOf(sysData.getId().substring(12)) * 100 + 10001; + for (Fz61InoutRecordItem fz61InoutRecordItem : listInoutRecordItem) { + if ("DEL".equals(fz61InoutRecordItem.getRecordStatus())) { + continue; + } + if (fz61InoutRecordItem.getSettleWeight() <= 0) { + continue; + } + apiData.setRkywdh(Constant.INOUT_TYPE_14 + sysData.getId().substring(4, 10) + String.valueOf(idNum).substring(1)); + apiData.setMz(fz61InoutRecordItem.getFullWeight()); + apiData.setPz(fz61InoutRecordItem.getEmptyWeight()); + apiData.setJz(fz61InoutRecordItem.getSettleWeight()); + apiData.setMzjlsj(fz61InoutRecordItem.getFullWeightTime()); + apiData.setPzjlsj(fz61InoutRecordItem.getEmptyWeightTime()); + apiData.setQtkl(0 - fz61InoutRecordItem.getDe()); + api1202List = api1202Rep.getDataById(apiData.getRkywdh()); + if (null == api1202List || api1202List.isEmpty()) { + apiData.setCzbz(Constant.CZBZ_I); + } else { + apiData.setCzbz(api1202List.get(0).getCzbz()); + } + api1202Rep.save(apiData); + idNum++; + } + } else { + //淇濆瓨鏁版嵁 + api1202Rep.save(apiData); + } + + log.info("1202---鍚屾鏁版嵁锛歿}", apiData.toString()); + } + } catch (Exception e) { + + log.error("---1202鏁版嵁鍚屾澶辫触----{}", e.toString()); + apiLog.setResult("鍚屾澶辫触锛�" + e.getMessage()); + apiLogRep.save(apiLog); + } + } +} -- Gitblit v1.9.3