From 9cec6b5c40e716cba4ab687f1e8a61c9cd95b2d7 Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期五, 25 四月 2025 09:26:12 +0800 Subject: [PATCH] 熏蒸备案自动上传,出库信息同步 --- src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java | 216 ++++++++++++++++++++++++++++++++--------------------- 1 files changed, 131 insertions(+), 85 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java index eb161ac..eb80be6 100644 --- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java +++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java @@ -11,8 +11,10 @@ import com.fzzy.api.view.repository.GbCheckItemRep; import com.fzzy.async.fzzy40.entity.Fz40CheckItem; import com.fzzy.async.fzzy40.entity.Fz40InoutRecord; +import com.fzzy.async.fzzy40.entity.Fz40InoutRecordItem; import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep; import com.fzzy.async.fzzy40.repository.Fzzy40Sync1203Rep; +import com.fzzy.async.fzzy40.repository.Fzzy40SyncInoutRecordItemRep; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.time.DateUtils; @@ -36,6 +38,8 @@ @Autowired private Fzzy40Sync1202Rep fzzySync1202Rep; + @Autowired + private Fzzy40SyncInoutRecordItemRep fzzy40SyncInoutRecordItemRep; @Autowired private Fzzy40Sync1203Rep fzzySync1203Rep; @Autowired @@ -86,11 +90,28 @@ String zkl; List<Api1203> api1203List; List<Api1202> api1102List; + List<Fz40InoutRecordItem> listInoutRecordItem; + List<String> listIds; for (Fz40InoutRecord sysData : list) { - //鏌ヨ绮鍏ュ簱淇℃伅锛岃嫢涓虹┖鍒欎笉杩涜鍚屾涓婁紶 - api1102List = api1202Rep.getDataByBizId(sysData.getId()); - if(null == api1102List || api1102List.isEmpty()){ - continue; + listIds = new ArrayList<>(); + //鍒ゆ柇鏄惁涓鸿埞杩� + if(StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")){ + listInoutRecordItem = fzzy40SyncInoutRecordItemRep.findDataByRecordId(sysData.getId()); + if(null != listInoutRecordItem && listInoutRecordItem.size() > 0){ + int idNum = Integer.valueOf(sysData.getId().substring(12))*100 + 10001; + + for (Fz40InoutRecordItem fz40InoutRecordItem : listInoutRecordItem) { + if ("DEL".equals(fz40InoutRecordItem.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)); } //鑾峰彇鍏ュ簱璐ㄦ淇℃伅 @@ -100,91 +121,116 @@ 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)); - } - - //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿 - SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); - Date time = dateFormat.parse(apiData.getRkjydh().substring(2, 8)); - int numDay = DateUtil.difDay(DateUtil.getCurZero(sysData.getRegisterTime()), DateUtil.getCurZero(time)); - if(numDay != 0){ - sysData.setRegisterTime(DateUtils.addDays(sysData.getRegisterTime(), numDay)); - } - - apiData.setQysj(sysData.getRegisterTime()); - apiData.setQyrxm(sysData.getCheckUser()); - //鎵︽牱鏂瑰紡 2-鏅鸿兘闅忔満 - apiData.setQyfs("2"); - - //妫�娴嬮」锛屾娴嬪�硷紝澧炴墸浠峰強澧炴墸閲� - jyxm = ""; - jyz = ""; - zkj = ""; - zkl = ""; - for (Fz40CheckItem fz40CheckItem : fz40CheckItems) { - gbCheckList = gbCheckItemRep.findByBizCode(fz40CheckItem.getStandardId()); - - if (gbCheckList == null || gbCheckList.isEmpty()) { + for (String listId : listIds) { + //鏌ヨ绮鍏ュ簱淇℃伅锛岃嫢涓虹┖鍒欎笉杩涜鍚屾涓婁紶 + api1102List = api1202Rep.getDataById(listId); + if(null == api1102List || api1102List.isEmpty()){ continue; } - if (StringUtils.isEmpty(fz40CheckItem.getValue())) { - 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)); } - jyxm += gbCheckList.get(0).getCode() + ","; - jyz += fz40CheckItem.getValue() + ","; - zkj += ",0.0"; - zkl += ",0.0"; + + //鍒ゆ柇涓氬姟鏃堕棿涓庡崟鎹彿鏄惁鍖归厤锛岃嫢涓嶅尮閰嶏紝鍒欐洿鏀逛笟鍔℃椂闂翠负鍗曟嵁鍙锋墍鍦ㄧ殑鏃堕棿 + SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); + Date time = dateFormat.parse(apiData.getRkjydh().substring(2, 8)); + int numDay = DateUtil.difDay(DateUtil.getCurZero(sysData.getRegisterTime()), DateUtil.getCurZero(time)); + if(numDay != 0){ + sysData.setRegisterTime(DateUtils.addDays(sysData.getRegisterTime(), numDay)); + } + + + apiData.setQyrxm(sysData.getCheckUser()); + //鎵︽牱鏂瑰紡 2-鏅鸿兘闅忔満 + apiData.setQyfs("2"); + + //妫�娴嬮」锛屾娴嬪�硷紝澧炴墸浠峰強澧炴墸閲� + jyxm = ""; + jyz = ""; + zkj = ""; + zkl = ""; + for (Fz40CheckItem fz40CheckItem : fz40CheckItems) { + gbCheckList = gbCheckItemRep.findByBizCode(fz40CheckItem.getStandardId()); + + if (gbCheckList == null || gbCheckList.isEmpty()) { + continue; + } + if (StringUtils.isEmpty(fz40CheckItem.getValue())) { + continue; + } + jyxm += "," + gbCheckList.get(0).getCode(); + jyz += "," + fz40CheckItem.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().substring(0,3)); + 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()); } - - apiData.setJyxm(jyxm); - apiData.setJyz(jyz); - apiData.setZkj(zkj.substring(1)); - apiData.setZkl(zkl.substring(1)); - if("UNPASS".equals(sysData.getCheckStatus())){ - apiData.setJyjg("0"); - } - if("PASS".equals(sysData.getCheckStatus())){ - apiData.setJyjg("1"); - } - apiData.setJyrxm(sysData.getCheckUser()); - apiData.setJysj(DateUtils.addMinutes(sysData.getRegisterTime(), 30)); - - //绮鍝佺 - String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety().substring(0,3)); - apiData.setLspzdm(mappingCode); - - //淇濈鍛樺鏍� - apiData.setBgyfh(apiData.getJyjg()); - - //绮绛夌骇 - 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("---鍚屾澶辫触----{}", e); -- Gitblit v1.9.3