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/Fzzy61Sync1203.java | 270 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 270 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1203.java b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1203.java new file mode 100644 index 0000000..8d012bf --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1203.java @@ -0,0 +1,270 @@ +package com.fzzy.async.fzzy61.impl; + +import com.fzzy.api.Constant; +import com.fzzy.api.entity.Api1202; +import com.fzzy.api.entity.Api1203; +import com.fzzy.api.entity.ApiLog; +import com.fzzy.api.entity.GbCheckItem; +import com.fzzy.api.service.ApiTriggerService; +import com.fzzy.api.utils.ContextUtil; +import com.fzzy.api.utils.DateUtil; +import com.fzzy.api.view.repository.Api1202Rep; +import com.fzzy.api.view.repository.Api1203Rep; +import com.fzzy.api.view.repository.ApiLogRep; +import com.fzzy.api.view.repository.GbCheckItemRep; +import com.fzzy.async.fzzy61.entity.Fz61CheckItem; +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.Fzzy61Sync1203Rep; +import com.fzzy.async.fzzy61.repository.Fzzy61SyncInoutRecordItemRep; +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.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 绮鍏ュ簱妫�楠屼俊鎭� + */ +@Slf4j +@Component +public class Fzzy61Sync1203 { + + /** + * 鍏ュ簱绫诲瀷 + */ + private final static String INOUT_TYPE_IN = "IN"; + + @Autowired + private Fzzy61Sync1202Rep fzzySync1202Rep; + @Autowired + private Fzzy61SyncInoutRecordItemRep fzzy61SyncInoutRecordItemRep; + @Autowired + private Fzzy61Sync1203Rep fzzySync1203Rep; + @Autowired + private ApiTriggerService apiTriggerService; + @Autowired + private Api1202Rep api1202Rep; + @Autowired + private Api1203Rep api1203Rep; + @Autowired + private GbCheckItemRep gbCheckItemRep; + @Autowired + private ApiLogRep apiLogRep; + + /** + * 绮鍏ュ簱妫�楠屼俊鎭� + * + * @param deptId + * @param start + * @param end + */ + public void syncData(String kqdm, String deptId, Date start, Date end) { + + log.info("-------------1203鍏ュ簱妫�楠屾帴鍙f暟鎹紑濮嬪悓姝�------------------"); + + //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭� + ApiLog apiLog = new ApiLog(); + apiLog.setType(ApiLog.TYPE_SYNC); + apiLog.setKqdm(deptId); + apiLog.setUploadTime(new Date()); + apiLog.setInteId(Constant.API_CODE_1203); + 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; + } + + Api1203 apiData; + List<Fz61CheckItem> fz61CheckItems; + List<GbCheckItem> gbCheckList; + String jyxm; + String jyz; + String zkj; + String zkl; + List<Api1203> api1203List; + List<Api1202> api1102List; + List<Fz61InoutRecordItem> listInoutRecordItem; + List<String> listIds; + for (Fz61InoutRecord sysData : list) { + listIds = new ArrayList<>(); + //鍒ゆ柇鏄惁涓鸿埞杩� + if (StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")) { + listInoutRecordItem = fzzy61SyncInoutRecordItemRep.findDataByRecordId(sysData.getId()); + if (null != listInoutRecordItem && listInoutRecordItem.size() > 0) { + int idNum = Integer.valueOf(sysData.getId().substring(12)) * 100 + 10001; + + for (Fz61InoutRecordItem fz61InoutRecordItem : listInoutRecordItem) { + if ("DEL".equals(fz61InoutRecordItem.getRecordStatus())) { + continue; + } + listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4, 10) + String.valueOf(idNum).substring(1)); + idNum++; + } + } else { + listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4)); + } + } else { + listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4)); + } + + //鑾峰彇鍏ュ簱璐ㄦ淇℃伅 + fz61CheckItems = fzzySync1203Rep.listInoutCheckItem(sysData.getCheckId(), deptId.substring(0, 4)); + if (null == fz61CheckItems || fz61CheckItems.isEmpty()) { + log.info("-------------娌℃湁鑾峰彇鍒板綋鍓嶅叆搴撹川妫�淇℃伅--------------"); + continue; + } + + for (String listId : listIds) { + //鏌ヨ绮鍏ュ簱淇℃伅锛岃嫢涓虹┖鍒欎笉杩涜鍚屾涓婁紶 + api1102List = api1202Rep.getDataById(listId); + if (null == api1102List || api1102List.isEmpty()) { + continue; + } + + apiData = new Api1203(); + + apiData.setRkjydh(api1102List.get(0).getRkywdh()); + //璐т綅浠g爜 + apiData.setHwdm(api1102List.get(0).getHwdm()); + apiData.setRkywdh(api1102List.get(0).getRkywdh()); + if (null == sysData.getFullWeightTime()) { + sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 5)); + } + + //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿 + String time = apiData.getRkjydh().substring(2, 8); + if (sysData.getCheckTime() != null) { + String isCheckTime = DateFormatUtils.format(sysData.getCheckTime(), "yyMMdd"); + if (!isCheckTime.equals(time)) { + int difDay = DateUtil.difDay1(sysData.getRegisterTime(), sysData.getCheckTime()); + if (difDay == 0) { + apiData.setRkjydh("14" + isCheckTime + "01" + api1102List.get(0).getRkywdh().substring(10)); + } else { + apiData.setRkjydh("14" + isCheckTime + String.format("%02d", difDay) + api1102List.get(0).getRkywdh().substring(10)); + } + } + } + + //鑸硅繍浣跨敤鍏ュ簱鍗曟嵁鍙峰仛璐ㄦ鍗曞彿 + if (StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")) { + apiData.setRkjydh(api1102List.get(0).getRkywdh()); + } + + apiData.setQyrxm(sysData.getCheckUser()); + //鎵︽牱鏂瑰紡 2-鏅鸿兘闅忔満 + apiData.setQyfs("2"); + + //妫�娴嬮」锛屾娴嬪�硷紝澧炴墸浠峰強澧炴墸閲� + jyxm = ""; + jyz = ""; + zkj = ""; + zkl = ""; + for (Fz61CheckItem fz61CheckItem : fz61CheckItems) { + gbCheckList = gbCheckItemRep.findByBizCode(fz61CheckItem.getStandardId()); + + if (gbCheckList == null || gbCheckList.isEmpty()) { + continue; + } + if (StringUtils.isEmpty(fz61CheckItem.getValue())) { + continue; + } + jyxm += "," + gbCheckList.get(0).getCode(); + jyz += "," + fz61CheckItem.getValue(); + zkj += ",0.0"; + zkl += ",0.0"; + } + if (jyxm.length() > 0) { + jyxm = jyxm.substring(1); + } + if (jyz.length() > 0) { + jyz = jyz.substring(1); + } + apiData.setJyxm(jyxm); + apiData.setJyz(jyz); + apiData.setZkj(StringUtils.isEmpty(zkj) ? "" : zkj.substring(1)); + apiData.setZkl(StringUtils.isEmpty(zkl) ? "" : zkl.substring(1)); + if ("UNPASS".equals(sysData.getCheckStatus())) { + apiData.setJyjg("0"); + } else { + apiData.setJyjg("1"); + } + apiData.setJyrxm(sysData.getCheckUser()); + if (null == sysData.getCheckTime()) { + sysData.setCheckTime(DateUtils.addMinutes(sysData.getFullWeightTime(), -5)); + } + if (sysData.getCheckTime().after(sysData.getEmptyWeightTime())) { + sysData.setCheckTime(DateUtils.addMinutes(sysData.getFullWeightTime(), -5)); + } + apiData.setJysj(sysData.getCheckTime()); + if (null == sysData.getSampleTime()) { + sysData.setSampleTime(DateUtils.addMinutes(sysData.getCheckTime(), -1)); + } + if (sysData.getSampleTime().after(sysData.getCheckTime())) { + sysData.setSampleTime(DateUtils.addMinutes(sysData.getCheckTime(), -1)); + } + apiData.setQysj(sysData.getSampleTime()); + + //绮鍝佺 + String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety()); + apiData.setLspzdm(mappingCode); + + //淇濈鍛樺鏍� + apiData.setBgyfh(apiData.getJyjg()); + apiData.setSpaqzbsfhg("1"); + + //绮绛夌骇 + mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, sysData.getFoodLevel()); + apiData.setLsdd(mappingCode); + + //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂� + apiData.setZhgxsj(sysData.getCompleteTime()); + + //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂� + apiData.setBizId(sysData.getId()); + apiData.setKqdm(kqdm); + apiData.setSyncTime(new Date()); + + api1203List = api1203Rep.getDataById(apiData.getRkjydh()); + if (null == api1203List || api1203List.isEmpty()) { + apiData.setCzbz(Constant.CZBZ_I); + } else { + apiData.setCzbz(api1203List.get(0).getCzbz()); + } + + api1203Rep.save(apiData); + log.info("1203鍏ュ簱妫�楠�---鍚屾鏁版嵁锛歿}", apiData.toString()); + } + } + } catch (Exception e) { + log.error("---1203鍏ュ簱妫�楠屾暟鎹悓姝ュけ璐�----{}", e.toString()); + apiLog.setResult("鍚屾澶辫触锛�" + e.getMessage()); + apiLogRep.save(apiLog); + } + } + + public static void main(String[] args) { + //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿 + String id = "142508200001"; + String time = id.substring(2, 8); + + String isCheckTime = "250821"; + if (!isCheckTime.equals(time)) { + int difDay = 2; + String idd = "14" + isCheckTime + difDay + id.substring(9); + System.out.println(idd); + } + + } +} -- Gitblit v1.9.3