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/Fzzy61Sync1205.java | 315 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 315 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1205.java b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1205.java new file mode 100644 index 0000000..24157c2 --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1205.java @@ -0,0 +1,315 @@ +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.Fz61InoutNoticeOut; +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.Fzzy61SyncNoticeOutRep; +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 Fzzy61Sync1205 { + + /** + * 鍑哄簱绫诲瀷 + */ + private final static String INOUT_TYPE_OUT = "OUT"; + @Autowired + private Fzzy61Sync1202Rep fzzySync1202Rep; + @Autowired + private Fzzy61SyncInoutRecordItemRep fzzy61SyncInoutRecordItemRep; + @Autowired + private Fzzy61SyncNoticeOutRep fzzySyncNoticeOutRep; + @Autowired + private ApiTriggerService apiTriggerService; + @Autowired + private Api1201Rep api1201Rep; + @Autowired + private Api1205Rep api1205Rep; + @Autowired + private Api1206Rep api1206Rep; + @Autowired + private Api1310Rep api1310Rep; + @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("-------------1205鍑哄簱淇℃伅鎺ュ彛鏁版嵁寮�濮嬪悓姝�------------------"); + + //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭� + ApiLog apiLog = new ApiLog(); + apiLog.setType(ApiLog.TYPE_SYNC); + apiLog.setKqdm(deptId); + apiLog.setUploadTime(new Date()); + apiLog.setInteId(Constant.API_CODE_1205); + apiLog.setStatus(99); + apiLog.setId(ContextUtil.getUUID()); + try { + //鑾峰彇绮鍑哄簱淇℃伅锛屾牴鎹祦绋嬪畬鎴愭椂闂磋幏鍙� + List<Fz61InoutRecord> list = fzzySync1202Rep.listInoutRecord(deptId, INOUT_TYPE_OUT, start, end); + + if (null == list || list.isEmpty()) { + log.info("-------------娌℃湁鑾峰彇鍒扮伯椋熷嚭搴撲俊鎭�------------------"); + return; + } + + Api1205 apiData; + Api1105 api1105; + List<Fz61InoutNoticeOut> listInoutNotice; + List<Api1205> api1205List; + List<Api1206> api1206List; + List<Fz61InoutRecordItem> listInoutRecordItem; + 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 Api1205(); + apiData.setCkywdh(Constant.INOUT_TYPE_15 + sysData.getId().substring(4)); + + //璐т綅浠g爜 + apiData.setHwdm(api1105.getHwdm()); + apiData.setYwlx(Constant.INOUT_TYPE_1); + apiData.setYwrq(DateUtils.parseDate(sysData.getId().substring(2, 10), new String[]{"yyyyMMdd"})); + + //榛樿涓�涓殢渚垮�� + 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()); + + //閫氱煡鍗曞彿 + apiData.setCktzdh(sysData.getNoticeId()); + //鑾峰彇鍚堝悓鍙� + listInoutNotice = fzzySyncNoticeOutRep.listInoutNoticeOutById(sysData.getNoticeId()); + 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.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()); + } + } + } + } + + //杩愯緭宸ュ叿锛岃嫢涓虹┖锛屽垯榛樿缁�1-姹借溅 + apiData.setYsgj(StringUtils.isEmpty(sysData.getTransType()) ? "1" : sysData.getTransType()); + + //杞﹁埞鍙� + apiData.setCch(sysData.getPlateNum()); + apiData.setDjsj(sysData.getRegisterTime()); + + //绮鍝佺 + String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety()); + apiData.setLspzdm(mappingCode); + + //绮绛夌骇 + mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, sysData.getFoodLevel()); + apiData.setLsdjdm(mappingCode); + + //璐ㄦ鎶ュ憡鍗曞彿 + List<Api1310> dataByHwdm = api1310Rep.getDataByHwdm(apiData.getHwdm(), "02"); + if (null != dataByHwdm && dataByHwdm.size() > 0) { + apiData.setZjbgdh(dataByHwdm.get(0).getZjbgdh()); + } + + //鐢熸垚鏂瑰紡 + apiData.setScfs(1); + if (StringUtils.isNotEmpty(sysData.getRecordStatus()) && sysData.getRecordStatus().equals("ADD")) { + apiData.setScfs(2); + apiData.setSdblyy("搴撳尯鍋滅數瀵艰嚧鏃犳硶鎸夋祦绋嬭繘琛屽嚭搴�"); + } + + //绮鎬ц川 + 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); + + //鐨噸淇℃伅 + apiData.setPz(sysData.getEmptyWeight()); + 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()); + apiData.setPzjby(StringUtils.isEmpty(sysData.getEmptyWeightUser()) ? "鐩戠鍛�" : sysData.getEmptyWeightUser()); + apiData.setPzjly(StringUtils.isEmpty(sysData.getEmptyWeightUser()) ? "璁¢噺鍛�" : sysData.getEmptyWeightUser()); + + //姣涢噸淇℃伅 + apiData.setMz(sysData.getFullWeight()); + apiData.setKzl(0 - sysData.getDeCheck() + sysData.getAddCheck() - sysData.getDeHandle() - sysData.getDePackage() - sysData.getDeOther()); + 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()); + apiData.setMzjby(StringUtils.isEmpty(sysData.getFullWeightUser()) ? "鐩戠鍛�" : sysData.getFullWeightUser()); + apiData.setMzjly(StringUtils.isEmpty(sysData.getFullWeightUser()) ? "璁¢噺鍛�" : sysData.getFullWeightUser()); + + //鍑�閲� + apiData.setJz(sysData.getRecordWeight()); + if (!sysData.getCompleteTime().after(sysData.getFullWeightTime())) { + sysData.setCompleteTime(DateUtils.addMinutes(sysData.getFullWeightTime(), 10)); + } + apiData.setCmsj(sysData.getCompleteTime()); + //缁撶畻鍗曞彿 + if (StringUtils.isNotEmpty(sysData.getSettleId())) { + apiData.setCkjsdh(kqdm + sysData.getSettleId()); + } + if (StringUtils.isNotEmpty(apiData.getHth())) { + api1206List = api1206Rep.getDataByHthAndHwdm(apiData.getHth(), apiData.getHwdm()); + if (null == api1206List || api1206List.isEmpty()) { + api1206List = api1206Rep.getDataByHth(apiData.getHth()); + if (null != api1206List && api1206List.size() > 0) { + apiData.setCkjsdh(api1206List.get(0).getCkjsdh()); + } + } else { + apiData.setCkjsdh(api1206List.get(0).getCkjsdh()); + } + } + + apiData.setCchlx("01"); + apiData.setXldd("搴撳唴"); + apiData.setBz(StringUtils.isEmpty(sysData.getRemarks()) ? "鏆傛棤澶囨敞淇℃伅" : sysData.getRemarks()); + apiData.setBzbdbz(sysData.getDbz() == null ? 25 : sysData.getDbz()); + apiData.setBzbjs(sysData.getBzbjs()); + apiData.setJjlx(sysData.getJjlx()); + apiData.setBzw(StringUtils.isEmpty(sysData.getBzw()) ? "9" : sysData.getBzw()); + apiData.setCmqrmgryxm(StringUtils.isEmpty(sysData.getRegisterUser()) ? "闂ㄥ矖浜�" : sysData.getRegisterUser()); + apiData.setDjmgryxm(StringUtils.isEmpty(sysData.getRegisterUser()) ? "鐧昏浜�" : sysData.getRegisterUser()); + apiData.setZcbgyxm(StringUtils.isEmpty(sysData.getHandleUser()) ? "鍊间粨鍛�" : sysData.getHandleUser()); + apiData.setZxzydw("澶栬仒鍗曚綅"); + apiData.setKzlyy("鎵o紙澧烇級閲忓師鍥�"); + + //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂� + apiData.setZhgxsj(sysData.getUpdateTime()); + + //鎵胯繍浜� 韬唤璇佸彿 鐢佃瘽 + apiData.setSfzh(sysData.getUserId()); + apiData.setCyr(sysData.getUserName().trim()); + apiData.setLxdh(sysData.getUserContact()); + + + //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂� + apiData.setBizId(sysData.getId()); + apiData.setKqdm(kqdm); + apiData.setSyncTime(new Date()); + log.info("1205鍑哄簱淇℃伅---鍚屾鏁版嵁锛歿}", apiData.toString()); + api1205List = api1205Rep.getDataById(apiData.getCkywdh()); + if (null == api1205List || api1205List.isEmpty()) { + apiData.setCzbz(Constant.CZBZ_I); + } else { + apiData.setCzbz(api1205List.get(0).getCzbz()); + } + //鍒ゆ柇鏄惁涓鸿埞杩� + if (StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")) { + listInoutRecordItem = fzzy61SyncInoutRecordItemRep.findDataByRecordId(sysData.getId()); + if (null == listInoutRecordItem || listInoutRecordItem.isEmpty()) { + api1205Rep.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.setCkywdh(Constant.INOUT_TYPE_15 + 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.setKzl(0 - fz61InoutRecordItem.getDe()); + 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 { + //淇濆瓨鏁版嵁 + api1205Rep.save(apiData); + } + } + } catch (Exception e) { + log.error("---1205鍑哄簱淇℃伅鍚屾澶辫触----{}", e.toString()); + apiLog.setResult("鍚屾澶辫触锛�" + e.getMessage()); + apiLogRep.save(apiLog); + } + } +} -- Gitblit v1.9.3